.Lightbox-module__ZljiKq__overlay{z-index:999;-webkit-backdrop-filter:blur(var(--backdrop-blur)) saturate(140%);backdrop-filter:blur(var(--backdrop-blur)) saturate(140%);grid-template-rows:1fr auto;display:grid;position:fixed;inset:0;overflow:hidden}.Lightbox-module__ZljiKq__stage{cursor:zoom-out;place-items:center;width:100%;height:100%;display:grid;position:relative}.Lightbox-module__ZljiKq__figure{block-size:100%;max-block-size:min(85vh,850px);inline-size:100%;max-inline-size:min(95vw,1100px);position:relative}.Lightbox-module__ZljiKq__image{block-size:100%;inline-size:100%;padding:var(--space-3);object-fit:contain;cursor:inherit;position:relative}.Lightbox-module__ZljiKq__video{object-fit:contain;border-radius:var(--radius-lg);width:100%;max-width:100%;height:100%;max-height:100%;padding:var(--space-3);cursor:default;display:block}.Lightbox-module__ZljiKq__controlButton{z-index:1000;border-radius:var(--radius-full);border:1px solid color-mix(in srgb, var(--foreground) 22%, transparent);background:color-mix(in srgb, var(--background) 70%, transparent);width:40px;height:40px;-webkit-backdrop-filter:blur(var(--backdrop-blur)) saturate(140%);backdrop-filter:blur(var(--backdrop-blur)) saturate(140%);color:var(--foreground);box-shadow:0 6px 24px color-mix(in srgb, var(--foreground) 16%, transparent);place-items:center;display:grid;position:fixed;top:50%;translate:0 -50%}.Lightbox-module__ZljiKq__previousButton{left:var(--space-3)}.Lightbox-module__ZljiKq__nextButton{right:var(--space-3)}.Lightbox-module__ZljiKq__closeButton{top:var(--space-3);right:var(--space-3);translate:none}.Lightbox-module__ZljiKq__toolbar{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3) var(--space-4);color:var(--foreground);display:flex}.Lightbox-module__ZljiKq__caption{opacity:.9}.Lightbox-module__ZljiKq__counter{opacity:.7;font-variant-numeric:tabular-nums}.Lightbox-module__ZljiKq__openOriginal{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb, var(--foreground) 18%, transparent);background:color-mix(in srgb, var(--background) 70%, transparent);-webkit-backdrop-filter:blur(var(--backdrop-blur));backdrop-filter:blur(var(--backdrop-blur));color:var(--foreground);margin-left:auto;text-decoration:none}@media (max-width:520px){.Lightbox-module__ZljiKq__figure{max-block-size:64vh;max-inline-size:94vw}.Lightbox-module__ZljiKq__controlButton{width:36px;height:36px}}
.Project-module__qIwFUG__section{gap:var(--space-3);flex-direction:column;justify-content:space-between;height:100%;display:flex}.Project-module__qIwFUG__header{justify-content:flex-start;align-self:flex-start;display:flex}.Project-module__qIwFUG__backButtonWrapper{align-self:flex-start}.Project-module__qIwFUG__backLink{align-items:center;gap:var(--element-gap);padding:var(--space-4) var(--space-4);font-size:var(--text-base);color:var(--foreground);transition:transform var(--transition-fast), background var(--transition-normal), border-color var(--transition-normal);text-decoration:none;display:inline-flex}.Project-module__qIwFUG__cardsGrid{gap:var(--space-3);flex-direction:column;display:flex}@media (min-width:980px){.Project-module__qIwFUG__cardsGrid{gap:var(--space-3);grid-template-columns:1fr 1.2fr 1.1fr;grid-auto-rows:auto;align-items:stretch;display:grid}.Project-module__qIwFUG__overviewCard{grid-area:1/1}.Project-module__qIwFUG__stackCard{grid-area:2/1}.Project-module__qIwFUG__linksCard{grid-area:3/1}.Project-module__qIwFUG__imageCard{grid-area:1/2/span 3}.Project-module__qIwFUG__descriptionCard{grid-area:1/3/span 3}.Project-module__qIwFUG__screensCard{grid-area:4/1/auto/-1}}.Project-module__qIwFUG__cardTitle{font-size:var(--text-sm);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in srgb, var(--foreground) 60%, transparent);margin-bottom:var(--space-2)}.Project-module__qIwFUG__overviewCard,.Project-module__qIwFUG__stackCard,.Project-module__qIwFUG__linksCard,.Project-module__qIwFUG__descriptionCard{padding:var(--space-3)}.Project-module__qIwFUG__imageCard{padding:0;overflow:clip}.Project-module__qIwFUG__descriptionCard{flex-direction:column;display:flex}.Project-module__qIwFUG__mutedText{color:color-mix(in srgb, var(--foreground) 60%, transparent)}.Project-module__qIwFUG__screensCard{grid-column:1/-1}.Project-module__qIwFUG__screensGrid{--min:220px;grid-template-columns:repeat(auto-fit, minmax(var(--min), 1fr));gap:var(--space-3);display:grid}.Project-module__qIwFUG__screenItem{list-style:none}.Project-module__qIwFUG__screenLink{border-radius:var(--radius);outline:none;text-decoration:none;display:block}.Project-module__qIwFUG__screenThumbnail{aspect-ratio:16/10;border-radius:var(--radius);width:100%;box-shadow:0 1px 4px color-mix(in srgb, var(--foreground) 10%, transparent);transition:transform var(--transition-fast), box-shadow var(--transition-normal);position:relative;overflow:clip}.Project-module__qIwFUG__screenImage{object-fit:cover}.Project-module__qIwFUG__screenGradient{pointer-events:none;background:linear-gradient(to bottom, color-mix(in srgb, var(--foreground) 6%, transparent) 0%, transparent 30%, color-mix(in srgb, var(--foreground) 10%, transparent) 100%);opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:0}.Project-module__qIwFUG__screenLink:hover .Project-module__qIwFUG__screenThumbnail,.Project-module__qIwFUG__screenLink:focus-visible .Project-module__qIwFUG__screenThumbnail{box-shadow:0 4px 20px color-mix(in srgb, var(--foreground) 12%, transparent);transform:translateY(-1px)scale(1.01)}.Project-module__qIwFUG__screenLink:hover .Project-module__qIwFUG__screenGradient,.Project-module__qIwFUG__screenLink:focus-visible .Project-module__qIwFUG__screenGradient{opacity:1}@media (min-width:1280px){.Project-module__qIwFUG__screensGrid{--min:280px}}@media (max-width:720px){.Project-module__qIwFUG__section{gap:var(--space-2)}.Project-module__qIwFUG__screensGrid{--min:180px;gap:var(--space-2)}}@media (max-width:420px){.Project-module__qIwFUG__screensGrid{--min:150px}}@media (prefers-reduced-motion:reduce){.Project-module__qIwFUG__screenThumbnail,.Project-module__qIwFUG__backLink{transition:none!important;transform:none!important}}
.OverviewCard-module__Jxo9ta__projectTitle{color:var(--foreground);letter-spacing:-.02em;margin:2px 0 var(--space-3);font-size:clamp(22px,2.2vw,34px);line-height:1.15}.OverviewCard-module__Jxo9ta__metaList{gap:var(--element-gap);display:grid}.OverviewCard-module__Jxo9ta__metaItem{gap:var(--element-gap);grid-template-columns:110px 1fr;align-items:baseline;display:grid}.OverviewCard-module__Jxo9ta__metaLabel{color:color-mix(in srgb, var(--foreground) 60%, transparent);font-size:var(--text-xs)}.OverviewCard-module__Jxo9ta__metaValue{color:var(--foreground);font-weight:500}
.StackCard-module__KPG5hG__technologyList{gap:var(--element-gap);flex-wrap:wrap;display:flex}.StackCard-module__KPG5hG__technologyChip{--chip-fg:var(--accent);--chip-bg:color-mix(in srgb, var(--chip-fg) 12%, transparent);--chip-border:color-mix(in srgb, var(--chip-fg) 42%, transparent);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);border:1px solid var(--chip-border);background:var(--chip-bg);color:var(--chip-fg);font-weight:600;font-size:var(--text-xs);letter-spacing:.01em;align-items:center;display:inline-flex}.StackCard-module__KPG5hG__technologyDot{border-radius:var(--radius-full);width:8px;height:8px}.StackCard-module__KPG5hG__emptyState{color:color-mix(in srgb, var(--foreground) 60%, transparent)}
.LinksCard-module__tL22JW__links{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.LinksCard-module__tL22JW__link{--link-border:color-mix(in srgb, var(--foreground) 16%, transparent);--link-hover-background:color-mix(in srgb, var(--foreground) 6%, transparent);justify-content:center;align-items:center;gap:var(--element-gap);height:36px;padding:0 var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--link-border);color:var(--foreground);transition:transform var(--transition-fast), background var(--transition-normal), border-color var(--transition-normal);background:0 0;font-weight:600;text-decoration:none;display:inline-flex}.LinksCard-module__tL22JW__link:active{transform:translateY(1px)}.LinksCard-module__tL22JW__linkGhost{background:0 0}.LinksCard-module__tL22JW__linkGhost:hover{background:var(--link-hover-background)}.LinksCard-module__tL22JW__githubIcon{flex-shrink:0}.LinksCard-module__tL22JW__emptyState{color:color-mix(in srgb, var(--foreground) 60%, transparent)}@media (max-width:720px){.LinksCard-module__tL22JW__links{gap:var(--element-gap);margin-top:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.LinksCard-module__tL22JW__link{height:44px;font-size:var(--text-sm);width:100%}}@media (max-width:420px){.LinksCard-module__tL22JW__links{gap:var(--element-gap);grid-template-columns:1fr}}
