:root{--bg:oklch(0.99 0.002 95);--bg-elev:oklch(0.985 0.003 95);--bg-sunken:oklch(0.96 0.003 95);--fg:oklch(0.18 0.006 260);--fg-muted:oklch(0.48 0.008 260);--fg-subtle:oklch(0.62 0.008 260);--border:oklch(0.91 0.005 260);--border-strong:oklch(0.83 0.006 260);--accent:oklch(0.56 0.17 255);--accent-fg:oklch(0.99 0.002 95);--accent-tint:oklch(0.95 0.03 255);--grid:oklch(0.94 0.004 260);--shadow:0 1px 2px oklch(0.18 0.01 260/0.05),0 4px 12px oklch(0.18 0.01 260/0.04);--mono:"Geist Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif}html[data-theme=dark]{--bg:oklch(0.14 0.006 260);--bg-elev:oklch(0.17 0.007 260);--bg-sunken:oklch(0.11 0.005 260);--fg:oklch(0.96 0.003 260);--fg-muted:oklch(0.68 0.008 260);--fg-subtle:oklch(0.52 0.008 260);--border:oklch(0.24 0.008 260);--border-strong:oklch(0.34 0.01 260);--accent:oklch(0.72 0.17 255);--accent-fg:oklch(0.14 0.006 260);--accent-tint:oklch(0.24 0.06 255);--grid:oklch(0.20 0.007 260);--shadow:0 1px 2px oklch(0 0 0/0.4),0 8px 24px oklch(0 0 0/0.3)}*{box-sizing:border-box}body,html{margin:0;padding:0}html{scroll-behavior:smooth}body{font-feature-settings:"ss01","ss02","cv11";-webkit-font-smoothing:antialiased;background:oklch(.99 .002 95);background:var(--bg);color:oklch(.18 .006 260);color:var(--fg);font-family:Geist,ui-sans-serif,system-ui,-apple-system,Helvetica Neue,Arial,sans-serif;font-family:var(--sans);line-height:1.5;text-rendering:optimizeLegibility;transition:background-color .22s ease,color .22s ease}a{color:inherit;text-decoration:none}::selection{background:oklch(.56 .17 255);background:var(--accent);color:oklch(.99 .002 95);color:var(--accent-fg)}.reveal{opacity:0;transform:translateY(8px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.reveal.in{opacity:1;transform:none}.stagger>*{opacity:0;transform:translateY(8px);transition:opacity .6s cubic-bezier(.2,.7,.2,1),transform .6s cubic-bezier(.2,.7,.2,1)}.stagger.in>*{opacity:1;transform:none}.stagger.in>:first-child{transition-delay:0ms}.stagger.in>:nth-child(2){transition-delay:60ms}.stagger.in>:nth-child(3){transition-delay:.12s}.stagger.in>:nth-child(4){transition-delay:.18s}.stagger.in>:nth-child(5){transition-delay:.24s}.stagger.in>:nth-child(6){transition-delay:.3s}.stagger.in>:nth-child(7){transition-delay:.36s}.stagger.in>:nth-child(8){transition-delay:.42s}@media (prefers-reduced-motion:reduce){.reveal,.stagger>*{opacity:1!important;transform:none!important;transition:none!important}}@media (max-width:980px){.topnav-links{display:none}.hero-grid{grid-template-columns:1fr!important}.work-grid{grid-template-columns:repeat(6,1fr)!important}.work-card.span-4,.work-card.span-6,.work-card.span-8{grid-column:span 6/span 6!important}.models-grid{grid-template-columns:1fr!important}.stack-grid{grid-template-columns:repeat(2,1fr)!important}.stack-grid>div:nth-child(2n){border-right:none!important}.stack-grid>div:nth-child(odd){border-right:1px solid oklch(.91 .005 260)!important;border-right:1px solid var(--border)!important}.stack-grid>div{border-bottom:1px solid oklch(.91 .005 260)!important;border-bottom:1px solid var(--border)!important}.about-grid{gap:32px!important;grid-template-columns:1fr!important}.exp-row{grid-template-columns:1fr auto!important}.exp-row>span:first-child{grid-column:1/-1}.stat-row{grid-template-columns:repeat(2,1fr)!important}.stat-row>div:nth-child(odd){border-left:none!important}.stat-row>div:nth-child(3),.stat-row>div:nth-child(4){border-top:1px solid oklch(.91 .005 260);border-top:1px solid var(--border)}}@media (max-width:640px){header,section{padding-left:20px!important;padding-right:20px!important}.work-grid{gap:18px!important;grid-template-columns:1fr!important}.work-card.span-4,.work-card.span-6,.work-card.span-8{grid-column:1/-1!important}.stack-grid{grid-template-columns:1fr!important}.stack-grid>div{border-right:none!important}.about-facts,.footer-row{grid-template-columns:1fr!important}}@keyframes ping{0%{opacity:.5;transform:scale(1)}80%,to{opacity:0;transform:scale(2.4)}}@keyframes blink{50%{opacity:0}}@keyframes thinking-dot{0%,60%,to{opacity:.3}30%{opacity:1}}
/*# sourceMappingURL=main.c42e1d7d.css.map*/