:root{--plum: #103a20;--magenta: #2d7a45;--orange: #f0b53f;--gold: #a5ecb1;--ink: #070b07;--ink-deep: #050905;--font-body: "Inter Tight", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem;--space-5: 4rem;--space-6: 6rem;--space-7: 9rem;--step-0: clamp(.95rem, .9rem + .2vw, 1.05rem);--step-1: clamp(1.1rem, 1rem + .5vw, 1.35rem);--step-2: clamp(1.4rem, 1.2rem + 1vw, 1.9rem);--step-3: clamp(2rem, 1.6rem + 2vw, 3rem);--step-display: clamp(4rem, 2rem + 12vw, 14rem);color-scheme:dark}:root,.always-dark{--bg: var(--ink);--fg: #dcedd9;--fg-dim: rgba(220, 237, 217, .7);--fg-mute: rgba(220, 237, 217, .45);--rule: rgba(220, 237, 217, .12);--accent: var(--gold);--accent-hot: var(--orange);--shader-bg: var(--ink);--shader-c1: #101810;--shader-c2: #162116;--shader-c3: #1c2a1c;--shader-c4: #223322;--shader-is-light: 0;--portrait-blend: lighten;--win-bg: #0c120c;--win-chrome: #111a11;--win-border: rgba(220, 237, 217, .12);--syn-kw: #3fd76a;--syn-str: var(--gold);--syn-num: var(--orange);--syn-com: #5f8266}*,*:before,*:after{box-sizing:border-box}html{scroll-padding-top:4.5rem}html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font-body);font-size:var(--step-0);line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{min-height:100dvh;overflow-x:hidden}::selection{background:var(--orange);color:var(--ink)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}img,svg,canvas{display:block;max-width:100%}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.25rem,2vw,2rem);font-family:var(--font-mono);font-size:.8rem;letter-spacing:.02em;color:var(--fg-dim);background:transparent;border-bottom:1px solid transparent;transition:background .32s ease,backdrop-filter .32s ease,border-color .32s ease,padding .32s ease,color .32s ease}.site-header.is-scrolled{padding:.7rem clamp(1.25rem,2vw,2rem);background:color-mix(in srgb,var(--bg) 60%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--rule)}.site-header .mark{color:var(--fg);font-weight:500;padding:.6rem 0;margin:-.6rem 0}.site-header .mark span{color:var(--fg-mute)}.site-header nav{display:flex;gap:clamp(.75rem,2vw,1.5rem)}.site-header nav a{position:relative;padding:.7rem .25rem;margin:-.7rem -.25rem;transition:color .2s ease}.site-header nav a:hover{color:var(--accent)}.site-header nav a:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:right;transition:transform .28s cubic-bezier(.6,0,.2,1)}.site-header nav a:hover:after{transform:scaleX(1);transform-origin:left}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.section{background:var(--bg);color:var(--fg);padding:clamp(5rem,14vh,10rem) clamp(1.25rem,2vw,2rem);border-top:1px solid var(--rule)}.container{max-width:800px;margin:0 auto}.s-eyebrow{margin:0 0 var(--space-4);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--fg-mute);display:inline-flex;align-items:center;gap:.75rem}.s-eyebrow:before{content:"";width:1.5rem;height:1px;background:currentColor;opacity:.6}.accent{color:var(--accent)}.reveal-ready [data-reveal]{opacity:0;transform:translate3d(0,1.5rem,0);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}[data-reveal].is-visible{opacity:1;transform:translateZ(0)}@media(prefers-reduced-motion:reduce){.reveal-ready [data-reveal]{opacity:1;transform:none;transition:none}}canvas[data-astro-cid-lrab3g2m][data-hero-canvas]{position:absolute;inset:0;width:100%;height:100%;z-index:-2}
