@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap");:root{--font-sans:"IBM Plex Sans",system-ui,-apple-system,sans-serif;--font-mono:"IBM Plex Mono","JetBrains Mono","Fira Code",ui-monospace,monospace;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.25rem;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--space-12:3rem;--space-16:4rem}:root,[data-theme=light]{--bg:#ffffff;--bg-muted:#f4f4f5;--bg-elevated:#fafafa;--text:#0a0a0a;--text-muted:#52525b;--border:#e4e4e7;--border-strong:#a1a1aa}[data-theme=dark]{--bg:#0a0a0a;--bg-muted:#18181b;--bg-elevated:#27272a;--text:#fafafa;--text-muted:#a1a1aa;--border:#3f3f46;--border-strong:#71717a}[data-accent=phosphor]{--accent:#00ff41;--accent-muted:#00c732;--accent-on:#0a0a0a}[data-accent=warning]{--accent:#eab308;--accent-muted:#ca8a04;--accent-on:#0a0a0a}[data-accent=error]{--accent:#ef4444;--accent-muted:#dc2626;--accent-on:#ffffff}[data-accent=amber]{--accent:#ffb000;--accent-muted:#cc8c00;--accent-on:#0a0a0a}[data-accent=cyan]{--accent:#22d3ee;--accent-muted:#06b6d4;--accent-on:#0a0a0a}[data-accent=electric]{--accent:#3b82f6;--accent-muted:#2563eb;--accent-on:#ffffff}[data-accent=magenta]{--accent:#d946ef;--accent-muted:#c026d3;--accent-on:#0a0a0a}[data-accent=orange]{--accent:#f97316;--accent-muted:#ea580c;--accent-on:#0a0a0a}[data-accent=karpathy]{--accent:#009900;--accent-muted:#007700;--accent-on:#ffffff}[data-accent=github]{--accent:#58a6ff;--accent-muted:#3f84e4;--accent-on:#0a0a0a}[data-accent=neon-lime]{--accent:#ccff00;--accent-muted:#a3cc00;--accent-on:#0a0a0a}[data-accent=neon-pink]{--accent:#ff006e;--accent-muted:#cc0058;--accent-on:#ffffff}[data-accent=neon-violet]{--accent:#bf00ff;--accent-muted:#9600cc;--accent-on:#ffffff}[data-accent=neon-sky]{--accent:#00fff5;--accent-muted:#00ccc4;--accent-on:#0a0a0a}[data-accent=neon-coral]{--accent:#ff3366;--accent-muted:#e62e5c;--accent-on:#ffffff}[data-accent=neon-red]{--accent:#ff073a;--accent-muted:#cc062e;--accent-on:#ffffff}[data-accent=neon-gold]{--accent:#ffd700;--accent-muted:#ccac00;--accent-on:#0a0a0a}[data-accent=neon-mint]{--accent:#98ff98;--accent-muted:#6bcc6b;--accent-on:#0a0a0a}[data-accent=neon-blue]{--accent:#00b4ff;--accent-muted:#0090cc;--accent-on:#0a0a0a}[data-accent=neon-peach]{--accent:#ff6b6b;--accent-muted:#e05555;--accent-on:#ffffff}[data-theme=light][data-accent=amber],[data-theme=light][data-accent=cyan],[data-theme=light][data-accent=github],[data-theme=light][data-accent=magenta],[data-theme=light][data-accent=neon-blue],[data-theme=light][data-accent=neon-gold],[data-theme=light][data-accent=neon-lime],[data-theme=light][data-accent=neon-mint],[data-theme=light][data-accent=neon-sky],[data-theme=light][data-accent=orange],[data-theme=light][data-accent=phosphor],[data-theme=light][data-accent=warning]{--accent-on:#0a0a0a}[data-theme=light][data-accent=electric],[data-theme=light][data-accent=error],[data-theme=light][data-accent=karpathy],[data-theme=light][data-accent=neon-coral],[data-theme=light][data-accent=neon-peach],[data-theme=light][data-accent=neon-pink],[data-theme=light][data-accent=neon-red],[data-theme=light][data-accent=neon-violet]{--accent-on:#ffffff}[data-theme=dark][data-accent=amber],[data-theme=dark][data-accent=cyan],[data-theme=dark][data-accent=error],[data-theme=dark][data-accent=karpathy],[data-theme=dark][data-accent=magenta],[data-theme=dark][data-accent=neon-blue],[data-theme=dark][data-accent=neon-gold],[data-theme=dark][data-accent=neon-lime],[data-theme=dark][data-accent=neon-mint],[data-theme=dark][data-accent=neon-sky],[data-theme=dark][data-accent=orange],[data-theme=dark][data-accent=phosphor],[data-theme=dark][data-accent=warning]{--accent-on:#0a0a0a}[data-theme=dark][data-accent=electric],[data-theme=dark][data-accent=github],[data-theme=dark][data-accent=neon-coral],[data-theme=dark][data-accent=neon-peach],[data-theme=dark][data-accent=neon-pink],[data-theme=dark][data-accent=neon-red],[data-theme=dark][data-accent=neon-violet]{--accent-on:#ffffff}*,:after,:before{box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background-color:var(--bg)}body,h1,h2,h3,h4,h5,h6{font-family:var(--font-sans)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);margin:0 0 var(--space-2) 0}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}.mono,code,kbd{font-family:var(--font-mono);font-size:.9em}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.btn-accent{font-family:var(--font-sans);font-weight:500;background:var(--accent);color:var(--accent-on);border:none;padding:var(--space-2) var(--space-4);cursor:pointer}.btn-accent:hover{filter:brightness(1.1)}:root{--col:minmax(0,1fr);--gap:var(--space-8);--page:min(92vw,72rem);--hero-left-extra:28px}.page{width:var(--page);margin:0 auto;padding:0 var(--space-6)}.grid-2{grid-template-columns:repeat(2,var(--col));grid-gap:var(--gap)}.grid-2,.grid-3{display:grid;gap:var(--gap)}.grid-3{grid-template-columns:repeat(3,var(--col));grid-gap:var(--gap)}@media (max-width:900px){.grid-2,.grid-3{grid-template-columns:1fr}}.spine{position:fixed;left:0;top:0;bottom:0;width:4px;background:var(--accent);z-index:1;transform:scaleY(0);transform-origin:top;transition:transform .6s ease-out}body.anim-ready .spine{transform:scaleY(1)}.hero{min-height:clamp(46rem,90vh,58rem);display:grid;grid-template-columns:1.2fr 1fr;grid-template-rows:auto 1fr auto;grid-gap:var(--space-4);gap:var(--space-4);align-content:center;padding:var(--space-8) var(--space-6) var(--space-10) calc(var(--space-6) + var(--hero-left-extra));max-width:var(--page);margin:var(--space-6) auto 0}@media (max-width:700px){.hero{grid-template-columns:1fr;grid-template-rows:auto}}.hero-bento-cell{border:1px solid var(--border);padding:var(--space-5);background:var(--bg);display:flex;flex-direction:column;justify-content:center}.hero-bento-cell--name{grid-column:1;grid-row:1;flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-4)}.hero-portrait{width:clamp(4.2rem,12vw,7.5rem);height:clamp(4.2rem,12vw,7.5rem);min-width:clamp(4.2rem,12vw,7.5rem);border-radius:50%;object-fit:cover;border:2px solid var(--border)}.hero-name-block{display:flex;flex-direction:column;gap:0}.hero-bento-cell--claim{grid-column:1;grid-row:2/4;padding:var(--space-6)}.hero-bento-cell--meta{grid-row:1;padding:var(--space-4) var(--space-5)}.hero-bento-cell--meta,.hero-bento-cell--tags{grid-column:2;--bento-inner-x:clamp(var(--space-2),1.6vw,var(--space-4))}.hero-bento-cell--tags{grid-row:2/4;min-height:12rem;display:flex;flex-direction:column;gap:var(--space-3)}.hero-bento-cell--cta{display:none}@media (max-width:700px){.hero-bento-cell--name{flex-direction:column;align-items:flex-start}.hero-bento-cell--claim,.hero-bento-cell--meta,.hero-bento-cell--name,.hero-bento-cell--tags{grid-column:1;grid-row:auto}.hero-bento-cell--tags{min-height:12rem}.hero-bento-cell--meta,.hero-bento-cell--tags{--bento-inner-x:var(--space-3)}}.hero-name{font-size:clamp(2.15rem,6.5vw,4.2rem);font-weight:700;line-height:.95;letter-spacing:-.04em;margin:0}.hero-name .accent{color:var(--accent);display:block}.hero-name .hero-kinetic{display:inline-block}.hero-bento-cell{opacity:0;transform:translateY(10px);transition:opacity .5s ease-out,transform .5s ease-out}body.anim-ready .hero-bento-cell--name{opacity:1;transform:translateY(0);transition-delay:0s}body.anim-ready .hero-bento-cell--meta{opacity:1;transform:translateY(0);transition-delay:.08s}body.anim-ready .hero-bento-cell--tags{opacity:1;transform:translateY(0);transition-delay:.16s}body.anim-ready .hero-bento-cell--claim{opacity:1;transform:translateY(0);transition-delay:.24s}body.anim-ready .hero-bento-cell--cta{opacity:1;transform:translateY(0);transition-delay:.32s}@keyframes hero-kinetic{0%{transform:rotate(-2deg)}to{transform:rotate(0)}}body.anim-ready .hero-kinetic{animation:hero-kinetic .4s ease-out .5s forwards}.hero-meta{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;margin:0 0 var(--space-3) 0;margin-inline:0;width:100%;text-align:center}.hero-meta,.hero-tags{font-family:var(--font-mono);color:var(--text-muted)}.hero-tags{font-size:var(--text-sm);margin:0}.hero-cta-link,.hero-tags .hero-tags-accent{color:var(--accent)}.hero-cta-link{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);transition:gap .2s,color .2s;background:none;border:none;padding:0;cursor:pointer}.hero-cta-link:hover{gap:var(--space-3)}.hero-cta-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-3) var(--space-6);background:var(--accent);color:var(--accent-on);border:none;text-decoration:none;cursor:pointer;transition:opacity .2s,transform .15s,box-shadow .2s;box-shadow:0 2px 12px rgba(0,0,0,.12)}.hero-cta-btn:hover{opacity:.95;transform:translateY(-2px);box-shadow:0 4px 20px rgba(0,0,0,.18)}.hero-cta-btn--ghost{background:transparent;color:var(--accent);border:2px solid var(--accent);box-shadow:none}.hero-cta-btn--ghost:hover{box-shadow:none}.hero-bento-cell--cta .hero-cta-link{display:inline-block}.hero-cta-btn--small{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.hero-bento-cell--meta .hero-cta-link{margin-top:var(--space-4);margin-inline:var(--bento-inner-x);display:inline-block}.hero-claim{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.7;color:color-mix(in srgb,var(--text-muted) 88%,var(--text) 12%);margin:0 0 var(--space-6) 0;padding:var(--space-5) var(--space-4);position:relative;border-left:4px solid var(--accent);padding-left:calc(var(--space-4) + .75rem);font-style:italic}.hero-claim:before{content:"“";position:absolute;left:.85rem;top:.15rem}.hero-claim:after,.hero-claim:before{font-size:2rem;line-height:1;color:color-mix(in srgb,var(--accent) 85%,var(--text-muted));opacity:.9;font-style:normal;pointer-events:none}.hero-claim:after{content:"”";position:static;display:inline-block;margin-left:.12em;vertical-align:-.2em}.hero-claim-cta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}.hero-claim-cta .hero-cta-link{margin-top:0}.hero-particle-wrap{flex:1 1 auto;min-height:9.5rem;display:flex;align-items:center;justify-content:center;position:relative;background:var(--bg);overflow:hidden}.hero-particle-wrap canvas{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;cursor:pointer}.hero-bento-cell--tags .particle-controls{display:flex;justify-content:center;margin-top:0;flex-shrink:0}.hero-bento-cell--tags .question-btn{padding:.5rem 1rem;font-size:.85rem;font-family:var(--font-sans);color:var(--accent-on);background:var(--accent);border:none;border-radius:4px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.2)}.hero-bento-cell--tags .question-btn:hover{filter:brightness(1.08)}.hero-bento-cell--tags .hero-tags{flex-shrink:0;margin-top:0;margin-inline:var(--bento-inner-x)}.sec-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-4)}.cell{border:1px solid var(--border);padding:var(--space-6);background:var(--bg)}.cell-title{font-size:var(--text-sm);font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-3)}.cell p{line-height:1.65;margin:0}.cell p,.cell ul{font-size:var(--text-sm);color:var(--text)}.cell ul{margin:var(--space-2) 0 0 0;padding-left:var(--space-5);line-height:1.6}.cell li{margin-bottom:var(--space-1)}.work-grid{display:grid;grid-template-columns:repeat(2,var(--col));grid-gap:var(--gap);gap:var(--gap)}@media (max-width:640px){.work-grid{grid-template-columns:1fr}}.work-card{position:relative;border:1px solid var(--border);padding:var(--space-8);background:var(--bg);transition:border-color .25s ease,box-shadow .25s ease,opacity .5s ease-out,transform .5s ease-out;display:flex;flex-direction:column;min-height:18rem;opacity:0;transform:translateY(24px)}.work-card:nth-child(2){transition-delay:.08s}.work-card:nth-child(3){transition-delay:.16s}.work-card:nth-child(4){transition-delay:.24s}.work-card.in-view{opacity:1;transform:translateY(0)}.work-card:hover{border-color:var(--border-strong);box-shadow:0 4px 16px rgba(0,0,0,.12);transform:translateY(-1px)}.work-card.featured{position:relative}.work-card.featured:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.work-card.featured:hover:before{background:var(--accent-muted)}.work-card-label{position:absolute;top:var(--space-4);right:var(--space-4);font-size:.65rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase}.work-card-label,.work-card-metric-block{font-family:var(--font-mono);color:var(--accent)}.work-card-metric-block{font-size:clamp(2rem,5vw,3rem);font-weight:600;line-height:1;margin-bottom:var(--space-4);letter-spacing:-.02em}.work-card-metric-block .unit{font-size:.4em;font-weight:500;color:var(--text-muted);vertical-align:super}.work-card-title{font-size:clamp(1.15rem,2.5vw,1.4rem);font-weight:600;letter-spacing:-.03em;line-height:1.2;margin-bottom:var(--space-3);color:var(--text)}.work-card-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.work-card-stack span{font-family:var(--font-mono);font-size:.7rem;padding:var(--space-1) var(--space-2);background:var(--bg-muted);border:1px solid var(--border);color:var(--text-muted);letter-spacing:.03em}.work-card-punch{font-size:var(--text-sm);line-height:1.55;color:var(--text-muted);margin-bottom:var(--space-4);flex-grow:1}.work-card-punch .metric{font-weight:600}.work-card-link,.work-card-punch .metric{font-family:var(--font-mono);color:var(--accent)}.work-card-link{position:relative;font-size:var(--text-xs);font-weight:500;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;display:inline-flex;align-items:center;gap:var(--space-2);margin-top:auto;transition:gap .2s ease}.work-card-link:hover{gap:var(--space-3);text-decoration:none}.work-card-link .arrow{transition:transform .2s ease}.work-card-link:hover .arrow{transform:translateX(3px)}.work-card-link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.work-card-link:hover:after{transform:scaleX(1)}.github-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));grid-gap:var(--gap);gap:var(--gap);justify-content:center}.github-card{border:1px solid var(--border);padding:var(--space-6);background:var(--bg);display:flex;flex-direction:column;min-height:12rem;opacity:0;transform:translateY(16px);transition:opacity .4s ease-out,transform .4s ease-out,border-color .2s,box-shadow .2s}.github-card.in-view{opacity:1;transform:translateY(0)}.github-card:hover{border-color:var(--border-strong);box-shadow:0 2px 12px rgba(0,0,0,.08);transform:translateY(-1px)}.github-card-title{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-2) 0}.github-card-title a{color:var(--text);text-decoration:none}.github-card-title a:hover{color:var(--accent)}.github-card-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.5;margin:0 0 var(--space-3) 0;flex:1 1}.github-card-meta{color:var(--text-muted)}.github-card-link,.github-card-meta{font-family:var(--font-mono);font-size:var(--text-xs)}.github-card-link{font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);text-decoration:none;margin-top:var(--space-3);display:inline-flex;align-items:center;gap:var(--space-2)}.github-card-link:hover{text-decoration:underline}.github-error,.github-loading{font-size:var(--text-sm);color:var(--text-muted)}.fab-chat{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:10}.fab-chat-button{width:3.5rem;height:3.5rem;border-radius:50%;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--border));background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 78%,white 10%) 0,color-mix(in srgb,var(--bg) 66%,transparent) 100%);backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);color:var(--accent);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.06em;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.18),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent);transition:transform .2s,box-shadow .2s;display:flex;align-items:center;justify-content:center}.fab-chat-button:hover{transform:scale(1.05);box-shadow:0 6px 24px rgba(0,0,0,.2)}.fab-chat--over-footer .fab-chat-button{background:linear-gradient(to bottom,color-mix(in srgb,var(--accent-on) 85%,white 8%) 0,color-mix(in srgb,var(--accent-on) 72%,transparent) 100%);color:var(--accent);border-color:color-mix(in srgb,var(--accent-on) 55%,var(--border))}.fab-chat-panel{position:absolute;bottom:calc(100% + var(--space-3));right:0;width:min(22rem,calc(100vw - var(--space-8)));height:70vh;min-height:28rem;max-height:90vh;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 82%,white 8%) 0,color-mix(in srgb,var(--bg) 76%,transparent) 100%);backdrop-filter:blur(22px) saturate(150%);-webkit-backdrop-filter:blur(22px) saturate(150%);border:1px solid var(--border);box-shadow:0 10px 32px rgba(0,0,0,.24),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent);border-radius:4px;display:none;flex-direction:column;overflow:hidden}.fab-chat.is-open .fab-chat-panel{display:flex}.fab-chat--terminal-in-view .fab-chat-button,.fab-chat.is-open .fab-chat-button{display:none}.fab-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:linear-gradient(to bottom,color-mix(in srgb,var(--bg-muted) 78%,transparent) 0,color-mix(in srgb,var(--bg-muted) 64%,transparent) 100%);backdrop-filter:blur(10px) saturate(125%);-webkit-backdrop-filter:blur(10px) saturate(125%)}.fab-chat-header h2{font-size:var(--text-sm);font-weight:600;margin:0;color:var(--text)}.fab-chat-close{width:2rem;height:2rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;font-size:1.25rem;line-height:1;padding:0;border-radius:2px;transition:color .2s,background .2s}.fab-chat-close:hover{color:var(--text);background:var(--bg)}.fab-chat .ask-wrap{padding:var(--space-4);max-width:none;border-left:4px solid var(--accent);background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.fab-chat .ask-chat-body,.fab-chat .ask-wrap{flex:1 1;min-height:0;display:flex;flex-direction:column}.fab-chat .ask-chat-body{overflow-y:auto}.fab-chat .ask-head{margin-bottom:var(--space-2)}.fab-chat .ask-head h2{font-size:var(--text-sm)}.fab-chat .ask-chips{margin-bottom:var(--space-3)}.fab-chat-banner{margin:var(--space-3) 0 0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);white-space:pre-wrap}.fab-chat .ask-answer-wrap{flex-shrink:0;min-height:2.5rem;width:100%;margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border);background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;max-height:42%;overflow-y:auto}.ask-wrap{border:1px solid var(--border);border-left:4px solid var(--accent);padding:var(--space-8);background-color:rgba(16,16,16,.46);background-image:linear-gradient(180deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.02));backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);max-width:42rem}.ask-head{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-4)}.ask-head h2{font-size:var(--text-lg);font-weight:600;margin:0;color:var(--text)}.ask-badge{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);padding:var(--space-1) var(--space-2);border:1px solid var(--accent)}.ask-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.ask-chip{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);background-color:rgba(30,30,30,.46);background-image:linear-gradient(180deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.02));backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.ask-chip.active,.ask-chip:hover{border-color:var(--accent);color:var(--accent);background-color:rgba(18,18,18,.58)}.ask-answer-wrap{min-height:3.5rem;padding:var(--space-4);background-color:rgba(24,24,24,.52);background-image:linear-gradient(180deg,rgba(255,255,255,.08) 0,rgba(255,255,255,.02));backdrop-filter:blur(12px) saturate(130%);-webkit-backdrop-filter:blur(12px) saturate(130%);border-left:3px solid var(--border);transition:border-color .25s}.fab-chat-panel button[type=submit],.fab-chat-panel input{background:linear-gradient(180deg,rgba(28,28,28,.62) 0,rgba(20,20,20,.48))!important;backdrop-filter:blur(12px) saturate(130%)!important;-webkit-backdrop-filter:blur(12px) saturate(130%)!important;border-color:color-mix(in srgb,var(--border) 86%,white 14%)!important}.fab-chat-panel button[type=submit]{color:var(--text)!important;background:linear-gradient(180deg,rgba(34,34,34,.72) 0,rgba(24,24,24,.56))!important}.ask-answer-wrap.has-answer{border-left-color:var(--accent)}.ask-answer-input-row{display:flex;align-items:center;gap:var(--space-3);width:100%;margin-top:var(--space-2);padding:0;border-top:none}.ask-answer-input{flex:1 1;min-width:0;font-family:inherit;font-size:inherit;line-height:inherit;margin:0;padding:var(--space-2) var(--space-3);background:color-mix(in srgb,var(--bg-muted) 72%,transparent);border:1px solid var(--border);border-radius:4px;color:var(--text);caret-color:var(--accent);outline:none}.ask-answer-input:focus{border-color:var(--accent)}.ask-answer-input::placeholder{color:var(--text-muted)}.ask-answer-input:disabled{opacity:1;color:var(--text-muted);background:color-mix(in srgb,var(--bg-muted) 60%,transparent)}.ask-answer-send{font-family:var(--font-mono);font-size:var(--text-xs);padding:var(--space-2) var(--space-4);background:color-mix(in srgb,var(--bg) 82%,transparent);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;min-width:4.2rem;white-space:nowrap;transition:border-color .2s,color .2s,background .2s}.ask-answer-send:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.ask-answer-send:disabled{cursor:not-allowed;opacity:.65}.ask-answer-wrap.is-thinking .ask-answer{color:var(--text-muted)}.ask-answer-wrap.is-thinking .ask-thinking-dots{display:inline}.ask-thinking-dots{display:none}@keyframes ask-pulse{0%,to{opacity:.5}50%{opacity:1}}.ask-answer-wrap.is-thinking .ask-thinking-dots{animation:ask-pulse .6s ease-in-out infinite}.ask-answer{font-size:var(--text-sm);line-height:1.65;color:var(--text);margin:0;white-space:pre-wrap}.ask-answer .cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:blink .8s step-end infinite}.ask-answer-wrap.has-answer .cursor{display:none}@keyframes blink{50%{opacity:0}}.hero-terminal{font-family:var(--font-mono);font-size:.8rem;line-height:1.5;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-top:0;margin-inline:var(--bento-inner-x);flex-shrink:0}.hero-terminal-output{padding:var(--space-2) var(--space-3);height:9rem;min-height:9rem;overflow-y:auto;color:var(--text)}.hero-terminal-output::-webkit-scrollbar{width:6px}.hero-terminal-output::-webkit-scrollbar-track{background:var(--border);border-radius:3px}.hero-terminal-output::-webkit-scrollbar-thumb{background:var(--accent);opacity:.5;border-radius:3px}.hero-terminal-line{margin-bottom:2px;word-break:break-word}.hero-terminal-prefix{color:var(--accent);margin-right:.35em}.hero-terminal-line--out{color:var(--text-muted)}.hero-terminal-prompt{display:flex;align-items:center;padding:var(--space-1) var(--space-3);border-top:1px solid var(--border);background:var(--bg-muted)}.hero-terminal-prompt-prefix{color:var(--accent);margin-right:.35em;flex-shrink:0}.hero-terminal-input-wrap{position:relative;flex:1 1;min-width:0;line-height:1.5}.hero-terminal-measure{position:absolute;visibility:hidden;pointer-events:none;white-space:pre;font-family:var(--font-mono);font-size:.8rem}.hero-terminal-input{width:100%;font-family:inherit;font-size:inherit;color:var(--text);background:transparent;border:none;outline:none;caret-color:transparent}.hero-terminal-input::placeholder{color:var(--text-muted)}.hero-terminal-cursor{position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:1em;background:var(--accent);animation:blink .8s step-end infinite;pointer-events:none}.social-proof{margin-bottom:var(--space-12)}.social-proof .sec-label{margin-bottom:var(--space-4)}.proof-quote{position:relative;padding:var(--space-6);background:var(--bg-muted);border:1px solid var(--border)}.proof-quote:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--accent)}.proof-quote p{font-size:var(--text-sm);line-height:1.65;color:var(--text);margin:0 0 var(--space-3) 0}.proof-quote cite{font-size:var(--text-xs);font-style:normal;font-family:var(--font-mono);color:var(--text-muted)}.connect-strip{margin-bottom:var(--space-12);padding:var(--space-6) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.connect-strip-inner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6)}.connect-strip span{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.connect-links{display:flex;flex-wrap:wrap;gap:var(--space-6)}.connect-links a{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);text-decoration:none;transition:color .2s,opacity .2s}.connect-links a:hover{opacity:.85;text-decoration:underline}.cta-band{background:var(--accent);color:var(--accent-on);padding:var(--space-16) var(--space-6);margin:var(--space-16) calc(-50vw + 50%) 0;padding-left:max(var(--space-6),calc(50vw - var(--page) / 2 + var(--space-6)));padding-right:max(var(--space-6),calc(50vw - var(--page) / 2 + var(--space-6)))}.cta-inner{max-width:var(--page);margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-8)}.cta-band h2{font-size:clamp(1.4rem,3.5vw,1.9rem);font-weight:600;letter-spacing:-.02em;margin:0;color:var(--accent-on)}.cta-band p{font-size:var(--text-sm);color:var(--accent-on);opacity:.9;margin:var(--space-2) 0 0 0}.cta-band .btn{display:inline-block;font-family:var(--font-sans);font-weight:500;font-size:var(--text-sm);padding:var(--space-3) var(--space-6);background:var(--accent-on);color:var(--accent);border:none;text-decoration:none;transition:opacity .2s,transform .15s}.cta-band .btn:hover{opacity:.95;transform:translateY(-1px)}.cta-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.cta-band .btn-ghost{background:transparent;color:var(--accent-on);border:2px solid var(--accent-on)}.cta-band .btn-ghost:hover{opacity:.9}.nav-host{position:-webkit-sticky;position:sticky;top:0;z-index:12;width:100%;padding-top:var(--space-4);pointer-events:none}.nav,.nav-host{display:flex;justify-content:center}.nav{position:relative;z-index:1;align-items:center;flex-wrap:nowrap;gap:0;width:min(calc(var(--page) + 1rem),calc(100vw - var(--space-8)));max-width:calc(100vw - var(--space-8));margin:var(--space-2) auto 0;padding:var(--space-3) clamp(var(--space-4),2.2vw,var(--space-8));border:1px solid var(--border);border-radius:0;background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 82%,white 8%) 0,color-mix(in srgb,var(--bg) 76%,transparent) 100%);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);box-shadow:0 10px 28px rgba(0,0,0,.14),inset 0 1px 0 color-mix(in srgb,var(--text) 12%,transparent);font-family:var(--font-mono);font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;transition:padding .2s ease,margin .2s ease,box-shadow .2s ease,background .2s ease,border-color .2s ease}.nav--compact{padding:var(--space-2) clamp(var(--space-3),1.8vw,var(--space-6));box-shadow:0 6px 18px rgba(0,0,0,.12)}.nav{pointer-events:auto}.nav>*+*{margin-left:var(--space-2);padding-left:0;position:static}.nav a{color:var(--text-muted);text-decoration:none;transition:color .2s;position:relative;display:inline-flex;align-items:center;padding:.2rem var(--space-2);white-space:nowrap}.nav a.active,.nav a:hover{color:var(--accent)}.nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-.15rem;height:1px;background:var(--accent);transform-origin:left;animation:nav-underline-in .18s ease-out both}@keyframes nav-underline-in{0%{transform:scaleX(.2);opacity:.7}to{transform:scaleX(1);opacity:1}}.nav-cv-trigger{font-family:var(--font-mono);font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text-muted);background:none;border:none;padding:.2rem var(--space-2);cursor:pointer;transition:color .2s;white-space:nowrap}.nav-cv-trigger:hover{color:var(--accent)}.nav-theme-toggle{font-family:var(--font-mono);font-size:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:.2rem var(--space-2);white-space:nowrap}.nav-theme-toggle:hover{color:var(--accent)}:where(section[id],footer[id],div[id]){scroll-margin-top:calc(var(--space-16) + var(--space-2))}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nav{background:color-mix(in srgb,var(--bg) 92%,white 4%)}}[data-theme=light] .nav{background:linear-gradient(180deg,color-mix(in srgb,white 72%,transparent) 0,color-mix(in srgb,white 60%,transparent));box-shadow:0 12px 30px rgba(20,20,30,.16),inset 0 1px 0 rgba(255,255,255,.86)}[data-theme=light] .fab-chat-button,[data-theme=light] .nav{backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-color:color-mix(in srgb,var(--border) 70%,#c7c7cf)}[data-theme=light] .fab-chat-button{background:linear-gradient(180deg,color-mix(in srgb,white 70%,transparent) 0,color-mix(in srgb,white 60%,transparent));box-shadow:0 12px 26px rgba(20,20,30,.18),inset 0 1px 0 rgba(255,255,255,.88)}[data-theme=light] .fab-chat-panel{background:linear-gradient(180deg,color-mix(in srgb,white 72%,transparent) 0,color-mix(in srgb,white 60%,transparent));backdrop-filter:blur(22px) saturate(170%);-webkit-backdrop-filter:blur(22px) saturate(170%);border-color:color-mix(in srgb,var(--border) 70%,#c7c7cf);box-shadow:0 16px 40px rgba(20,20,30,.2),inset 0 1px 0 rgba(255,255,255,.88)}[data-theme=light] .fab-chat-header{background:color-mix(in srgb,white 74%,var(--bg-muted) 26%);border-bottom-color:color-mix(in srgb,var(--border) 88%,#c7c7cf)}[data-theme=light] .fab-chat .ask-answer-wrap,[data-theme=light] .fab-chat .ask-wrap{background:transparent!important}[data-theme=light] .ask-wrap{background-color:rgba(255,255,255,.6);background-image:linear-gradient(180deg,rgba(255,255,255,.84) 0,rgba(255,255,255,.54));backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%)}[data-theme=light] .ask-answer-wrap{background-color:rgba(255,255,255,.54);background-image:linear-gradient(180deg,rgba(255,255,255,.78) 0,rgba(255,255,255,.44));backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}[data-theme=light] .fab-chat-panel button[type=submit],[data-theme=light] .fab-chat-panel input{background:linear-gradient(180deg,rgba(255,255,255,.8) 0,rgba(255,255,255,.56))!important;backdrop-filter:blur(12px) saturate(140%)!important;-webkit-backdrop-filter:blur(12px) saturate(140%)!important}@media (max-width:700px){.nav{margin-top:0;margin-bottom:0;flex-wrap:wrap;width:calc(100vw - var(--space-6));gap:var(--space-2) var(--space-3);font-size:.72rem}.nav,.nav--compact{padding:var(--space-2) var(--space-3)}.nav>*+*{margin-left:0;padding-left:0}.nav-cv-trigger,.nav-theme-toggle{font-size:inherit}}.cv-modal-backdrop{position:fixed;inset:0;background:linear-gradient(180deg,color-mix(in srgb,black 56%,transparent) 0,color-mix(in srgb,black 64%,transparent));backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);z-index:20}.cv-modal{width:min(28rem,calc(100vw - var(--space-8)));background:linear-gradient(to bottom,color-mix(in srgb,var(--bg) 86%,white 8%) 0,color-mix(in srgb,var(--bg) 78%,transparent) 100%);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);border:1px solid var(--border);border-left:4px solid var(--accent);box-shadow:0 14px 44px rgba(0,0,0,.38),inset 0 1px 0 color-mix(in srgb,var(--text) 10%,transparent);padding:var(--space-6)}.cv-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3)}.cv-modal-header h3{margin:0;font-size:var(--text-base);font-weight:600;letter-spacing:.01em}.cv-modal-copy{margin:0 0 var(--space-4) 0;color:var(--text-muted);font-size:var(--text-sm);line-height:1.6}.cv-modal-close{border:1px solid var(--border);background:var(--bg-muted);color:var(--text-muted);width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.2rem;line-height:1;cursor:pointer}.cv-modal-close:hover{color:var(--accent);border-color:var(--accent)}.cv-modal-actions{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--space-3);gap:var(--space-3)}.cv-modal-link{font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none;border:1px solid var(--accent);padding:var(--space-3) var(--space-4);text-align:center;transition:background .15s,color .15s,opacity .15s}.cv-modal-link:hover{background:var(--accent);color:var(--accent-on);opacity:.95;text-decoration:none}[data-theme=light] .cv-modal-backdrop{background:linear-gradient(180deg,rgba(255,255,255,.62) 0,rgba(255,255,255,.48));backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}[data-theme=light] .cv-modal{background:linear-gradient(180deg,rgba(255,255,255,.8) 0,rgba(255,255,255,.54));backdrop-filter:blur(18px) saturate(170%);-webkit-backdrop-filter:blur(18px) saturate(170%);border-color:color-mix(in srgb,var(--border) 70%,#c7c7cf);box-shadow:0 18px 50px rgba(20,20,30,.22),inset 0 1px 0 rgba(255,255,255,.9)}[data-theme=light] .cv-modal-close{background:rgba(255,255,255,.55)}.connect-links-summary{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--accent);text-decoration:none;transition:color .2s,opacity .2s;padding:0;background:none;border:none;cursor:pointer;list-style:none;display:inline-flex;align-items:center;gap:var(--space-2)}.connect-links-summary:hover{opacity:.85;text-decoration:underline}@media (prefers-reduced-motion:reduce){.spine{transform:scaleY(1);transition:none}.hero-bento-cell{transform:none}body.anim-ready .hero-bento-cell{opacity:1}.hero-kinetic{animation:none}.work-card{transform:none;transition-delay:0s}.work-card.in-view{opacity:1}.work-card-link:after{transition:none}.ask-answer-wrap.is-thinking .ask-thinking-dots{animation:none}.hero-particle-wrap canvas{cursor:default}}