:root{--bg:#0b0c0e;--bg-elev:#101114;--surface:#131418;--surface-2:#1b1c21;--border:#24262c;--border-strong:#363940;--text:#ecebe6;--text-muted:#a3a6ad;--text-faint:#80838b;--accent:#c6f36b;--accent-text:#c6f36b;--accent-mark:#c6f36b;--on-accent:#0b0c0e;--accent-soft:#c6f36b1a;--accent-line:#c6f36b59;--glow:#c6f36b17;--grid-line:#ffffff0a;--shadow-lg:0 40px 100px -30px #000000bf;--header-bg:#0b0c0eb8;--term-bg:#0d0e11;--term-bar:#121317;--term-border:#24262c;--term-text:#d6d8dd;--term-muted:#70757e;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, "SF Mono", "Cascadia Code", Consolas, monospace;--font-serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--radius-sm:10px;--radius:14px;--radius-lg:22px;--container:1180px;--gutter:clamp(16px, 4vw, 40px);--header-h:68px;--ease:cubic-bezier(.2, .7, .2, 1);color-scheme:dark}:root[data-theme=light]{--bg:#f6f5f1;--bg-elev:#fbfbf9;--surface:#fff;--surface-2:#efeee8;--border:#e2e0d8;--border-strong:#cdcbc2;--text:#121316;--text-muted:#53565c;--text-faint:#6c6f75;--accent:#c6f36b;--accent-text:#4a6b0c;--accent-mark:#86b82a;--on-accent:#121316;--accent-soft:#6a96141a;--accent-line:#6a961459;--glow:#8cbe2824;--grid-line:#0000000b;--shadow-lg:0 40px 90px -40px #1e1e1459;--header-bg:#f6f5f1bf;color-scheme:light}@media (prefers-color-scheme:light){:root:not([data-theme]){--bg:#f6f5f1;--bg-elev:#fbfbf9;--surface:#fff;--surface-2:#efeee8;--border:#e2e0d8;--border-strong:#cdcbc2;--text:#121316;--text-muted:#53565c;--text-faint:#6c6f75;--accent-text:#4a6b0c;--accent-mark:#86b82a;--on-accent:#121316;--accent-soft:#6a96141a;--accent-line:#6a961459;--glow:#8cbe2824;--grid-line:#0000000b;--shadow-lg:0 40px 90px -40px #1e1e1459;--header-bg:#f6f5f1bf;color-scheme:light}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-h) + 24px)}html:has(dialog[open]){overflow:hidden}body{background:var(--bg);min-height:100vh;color:var(--text);font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6;overflow-x:clip}img,svg{max-width:100%;display:block}svg.icon{flex-shrink:0}h1,h2,h3,h4{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:600;line-height:1.1}p{text-wrap:pretty;margin:0}a{color:inherit}button{font:inherit;color:inherit}::selection{background:var(--accent);color:#0b0c0e}:focus-visible{outline:2px solid var(--accent-text);outline-offset:3px;border-radius:6px}kbd{border:1px solid var(--border-strong);background:var(--surface);min-width:1.5em;color:var(--text-muted);font:500 .7rem/1 var(--font-mono);border-bottom-width:2px;border-radius:6px;place-items:center;padding:.18rem .35rem;display:inline-grid}.container{width:100%;max-width:calc(var(--container) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}.section{padding-block:clamp(88px,12vw,150px);position:relative}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:200;background:var(--accent);color:var(--on-accent);transition:transform .2s var(--ease);border-radius:999px;padding:.6rem 1rem;font-weight:600;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:none}main:focus{outline:none}.eyebrow{color:var(--text-muted);font:500 .8rem/1 var(--font-mono);letter-spacing:.02em;text-transform:lowercase;align-items:center;gap:.65rem;display:inline-flex}.eyebrow .idx{color:var(--accent-text)}.eyebrow:after{content:"";background:var(--border-strong);width:48px;height:1px}.section-title{letter-spacing:-.04em;margin-top:1.1rem;font-size:clamp(2.1rem,4.8vw,3.6rem);line-height:1.04}.section-intro{max-width:60ch;color:var(--text-muted);margin-top:1.25rem;font-size:1.075rem}.serif,.section-title em{font-family:var(--font-serif);letter-spacing:-.01em;font-style:italic;font-weight:400}.section-title em{color:var(--accent-text)}.btn{height:48px;font:500 .95rem/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:transform .25s var(--ease), background-color .25s, border-color .25s, color .25s, box-shadow .25s;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:0 1.35rem;text-decoration:none;display:inline-flex}.btn svg{width:16px;height:16px;transition:transform .25s var(--ease)}.btn:active{transform:translateY(1px)scale(.99)}.btn-primary{background:var(--accent);color:#0b0c0e}.btn-primary:hover{box-shadow:0 0 0 5px var(--accent-soft), 0 14px 30px -12px var(--accent-line);transform:translateY(-1px)}.btn-primary:hover svg{transform:translate(2px)}.btn-ghost{border-color:var(--border-strong);background:color-mix(in srgb, var(--surface) 55%, transparent);color:var(--text)}.btn-ghost:hover{border-color:var(--text-faint);background:var(--surface)}.btn-sm{height:36px;padding:0 1rem;font-size:.875rem}.icon-btn{border:1px solid var(--border);min-width:36px;height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:.35rem;padding:0 .6rem;transition:color .2s,border-color .2s,background-color .2s;display:inline-flex}.icon-btn:hover{border-color:var(--border-strong);background:var(--surface);color:var(--text)}.icon-btn svg{width:16px;height:16px}.chip-list{flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--border);background:var(--bg-elev);color:var(--text-muted);font:500 .75rem/1.2 var(--font-mono);white-space:nowrap;border-radius:999px;align-items:center;padding:.32rem .7rem;display:inline-flex}.card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);transition:border-color .3s, transform .4s var(--ease), box-shadow .4s var(--ease);position:relative}[data-spotlight]:before{content:"";border-radius:inherit;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%), var(--glow), transparent 45%);opacity:0;pointer-events:none;transition:opacity .35s;position:absolute;inset:0}@media (hover:hover){[data-spotlight]:hover:before{opacity:1}}.js [data-reveal]{opacity:0;transition:opacity .8s var(--ease), transform .8s var(--ease);transition-delay:calc(var(--d,0) * 70ms);transform:translateY(22px)}.js [data-reveal].is-visible{opacity:1;transform:none}@keyframes blink{50%{opacity:0}}@keyframes pulse-ring{0%{box-shadow:0 0 0 0 var(--accent-line)}70%,to{box-shadow:0 0 0 8px #0000}}.scroll-progress{z-index:60;background:var(--accent);transform-origin:0;pointer-events:none;height:2px;position:fixed;inset:0 0 auto;transform:scaleX(0)}@supports (animation-timeline:scroll()){.scroll-progress{animation:linear both scroll-progress scroll(root)}}@keyframes scroll-progress{to{transform:scaleX(1)}}::view-transition-old(root),::view-transition-new(root){mix-blend-mode:normal;animation:none}.toast{z-index:300;border:1px solid var(--border-strong);background:var(--bg-elev);box-shadow:var(--shadow-lg);color:var(--text);opacity:0;transition:opacity .3s var(--ease), transform .3s var(--ease);pointer-events:none;border-radius:999px;align-items:center;gap:.5rem;padding:.7rem 1.1rem;font-size:.9rem;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,16px)}.toast:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.toast.is-visible{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.js [data-reveal]{opacity:1;transform:none}.scroll-progress{display:none}}
