@font-face{font-family:Courier Prime;font-style:normal;font-weight:400;font-display:swap;src:local("Courier Prime")}:root{--bg: #04070a;--bg-raise: #080d11;--bg-card: #0a1116;--bg-inset: #060b0e;--g: #2bff77;--g-bright: #b6ffd4;--g-text: rgba(198, 255, 221, .82);--g-mute: rgba(120, 224, 165, .62);--g-faint: rgba(43, 255, 119, .34);--g-line: rgba(43, 255, 119, .18);--g-ghost: rgba(43, 255, 119, .07);--amber: #ffcf6b;--glow: 0 0 6px rgba(43, 255, 119, .45);--maxw: 1120px;--gutter: clamp(18px, 4vw, 40px);--step--1: .78rem;--step-0: .94rem;--step-1: 1.15rem;--step-2: 1.5rem;--step-3: 2.1rem;--step-4: clamp(2.4rem, 6vw, 4rem);--mono: "Courier Prime", "SFMono-Regular", ui-monospace, "Menlo", "Consolas", monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--bg);-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--g-text);font-family:var(--mono);font-size:var(--step-0);line-height:1.62;letter-spacing:.01em;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{max-width:100%;display:block}::selection{background:var(--g);color:#04070a;text-shadow:none}a{color:var(--g-bright);text-decoration:none}h1,h2,h3,h4{color:var(--g);font-weight:700;line-height:1.25;margin:0;letter-spacing:.02em}p{margin:0 0 1rem}code{font-family:var(--mono);color:var(--g-bright);background:var(--g-ghost);border:1px solid var(--g-line);padding:.05em .4em;border-radius:3px;font-size:.9em}hr{border:0;border-top:1px solid var(--g-line);margin:3.5rem 0}.scanlines{position:fixed;inset:0;z-index:9999;pointer-events:none;background:repeating-linear-gradient(to bottom,#0000 0 2px,#00000024 3px 3px);mix-blend-mode:multiply;opacity:.5}.grain{position:fixed;inset:0;z-index:9998;pointer-events:none;opacity:.4;background:radial-gradient(120% 120% at 50% 0%,transparent 55%,rgba(0,0,0,.55) 100%)}.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}.container-narrow{max-width:820px;margin:0 auto;padding-inline:var(--gutter)}.section{padding-block:clamp(3rem,8vw,6rem)}.section+.section{border-top:1px solid var(--g-line)}.eyebrow{font-size:var(--step--1);letter-spacing:.22em;text-transform:uppercase;color:var(--g-mute);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}.eyebrow:before{content:"";width:22px;height:1px;background:var(--g-faint)}.h-sec{font-size:var(--step-3);margin-bottom:1.2rem}.h-sub{font-size:var(--step-2);margin:2.4rem 0 .8rem}.lead{font-size:var(--step-1);color:var(--g-text);max-width:62ch}.muted{color:var(--g-mute)}.term{color:var(--g-bright);font-weight:700}a.term{text-decoration:underline;text-underline-offset:3px}a.term:hover{text-shadow:var(--glow)}.doc-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:clamp(1.5rem,5vw,3.5rem);align-items:start}.doc-grid>.prose{max-width:72ch}.doc-aside{display:flex;flex-direction:column;gap:1.2rem;position:sticky;top:76px}.doc-aside .callout,.doc-aside .aside-meta{font-size:.76rem}.aside-meta{border:1px solid var(--g-line);border-left:2px solid var(--g-faint);border-radius:4px;padding:.9rem 1rem;background:var(--bg-card);line-height:1.6}.aside-meta h4{font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--g-mute);margin-bottom:.5rem}.aside-meta p{margin:0;color:var(--g-text)}@media(max-width:940px){.doc-grid{grid-template-columns:1fr;gap:1.8rem}.doc-aside{position:static;flex-direction:row;flex-wrap:wrap}.doc-aside>*{flex:1 1 240px}}.diagram{margin:0}.diagram>svg{width:100%;height:auto;display:block;font-family:var(--mono);border:1px solid var(--g-line);border-radius:6px;background:var(--bg-inset)}.diagram figcaption{margin-top:.55rem;font-size:.72rem;color:var(--g-mute);line-height:1.5}.diagram .dg-box{fill:var(--bg-card);stroke:var(--g-line);stroke-width:1}.diagram .dg-accent{fill:var(--g-ghost);stroke:var(--g-faint);stroke-width:1}.diagram .dg-line{stroke:var(--g);fill:none;stroke-width:1.5}.diagram .dg-faint{stroke:var(--g-faint);fill:none;stroke-width:1.5}.diagram .dg-grid{stroke:var(--g-line);stroke-width:1;fill:none}.diagram .dg-fill{fill:var(--g)}.diagram .dg-fill-soft{fill:#2bff771f}.diagram .dg-t{fill:var(--g);font-weight:700;letter-spacing:1px}.diagram .dg-s{fill:var(--g-mute)}.diagram .dg-em{fill:var(--g-bright)}.fig{margin:0}.fig img{border:1px solid var(--g-line);border-radius:6px;width:100%}.fig-ph{display:grid;place-items:center;border:1px dashed var(--g-faint);border-radius:6px;background:repeating-linear-gradient(45deg,transparent 0 9px,var(--g-ghost) 9px 10px);color:var(--g-mute);text-align:center;padding:1rem}.fig-ph span{font-size:.64rem;letter-spacing:.22em;text-transform:uppercase}.fig figcaption{margin-top:.55rem;font-size:.72rem;color:var(--g-mute);line-height:1.5}.prose{max-width:72ch}.prose p{color:var(--g-text)}.prose h3{font-size:var(--step-1);margin:2.2rem 0 .7rem;letter-spacing:.06em}.prose h4{font-size:var(--step-0);letter-spacing:.16em;text-transform:uppercase;color:var(--g-mute);margin:1.8rem 0 .6rem}.prose ul,.prose ol{margin:0 0 1.3rem;padding-left:1.3rem}.prose li{margin-bottom:.55rem}.prose li::marker{color:var(--g-faint)}.prose strong,.prose b{color:var(--g-bright)}.grid{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.card{display:flex;flex-direction:column;gap:.7rem;padding:1.4rem;background:var(--bg-card);border:1px solid var(--g-line);border-radius:6px;transition:border-color .15s,transform .15s,box-shadow .15s}a.card:hover{border-color:var(--g-faint);transform:translateY(-2px);box-shadow:0 0 0 1px var(--g-line),0 10px 30px -18px #2bff7780}.card h3{font-size:var(--step-1);letter-spacing:.04em}.card p{margin:0;color:var(--g-mute);font-size:var(--step--1);line-height:1.6}.card .tag{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g);border:1px solid var(--g-line);padding:.15em .55em;border-radius:3px;align-self:flex-start}.formula{display:block;margin:1rem 0;padding:.9rem 1.1rem;background:var(--bg-inset);border:1px solid var(--g-line);border-left:2px solid var(--g-faint);border-radius:4px;color:var(--g-bright);font-family:var(--mono);font-size:var(--step--1);line-height:1.85;white-space:pre-wrap;overflow-x:auto}.formula .cmt{color:var(--g-mute)}.tw{overflow-x:auto;margin:1.6rem 0;border:1px solid var(--g-line);border-radius:6px}table{border-collapse:collapse;width:100%;font-size:var(--step--1);min-width:520px}th,td{text-align:left;vertical-align:top;padding:.7rem .9rem;border-bottom:1px solid var(--g-line)}tr:last-child td{border-bottom:0}th{color:var(--g);letter-spacing:.08em;text-transform:uppercase;font-size:.72rem;background:var(--g-ghost)}td b{color:var(--g-bright)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:var(--step--1);letter-spacing:.12em;text-transform:uppercase;border:1px solid var(--g);border-radius:4px;color:var(--g);transition:all .14s}.btn:hover{background:var(--g-ghost);box-shadow:var(--glow)}.btn-fill{background:var(--g);color:#04070a;box-shadow:0 0 18px -4px #2bff7799}.btn-fill:hover{background:var(--g-bright);border-color:var(--g-bright)}.quote{margin:0;padding-left:1rem;border-left:2px solid var(--g-faint);font-style:italic;color:var(--g-text)}.fineprint{font-size:.7rem;line-height:1.6;color:var(--g-mute);max-width:60ch}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--g-line);border-radius:3px;outline:none;accent-color:var(--g)}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;border-radius:50%;background:var(--g);box-shadow:var(--glow);cursor:pointer}input[type=range]::-moz-range-thumb{width:13px;height:13px;border:0;border-radius:50%;background:var(--g);cursor:pointer}.ve-slider{display:flex;flex-direction:column;gap:.2rem;font-size:.72rem;color:var(--g-mute)}.ve-slider b{color:var(--g)}.ve-label{display:block;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--g-mute)}.ve-big{font-size:var(--step-2);color:var(--g);font-weight:700}.callout{padding:1rem 1.2rem;border:1px solid var(--g-line);border-left:2px solid var(--amber);border-radius:4px;background:#ffcf6b0a;font-size:var(--step--1)}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.scanlines{display:none}}.site-head[data-astro-cid-3ef6ksr2]{position:sticky;top:0;z-index:100;backdrop-filter:blur(10px);background:color-mix(in srgb,var(--bg) 82%,transparent);border-bottom:1px solid var(--g-line)}.head-inner[data-astro-cid-3ef6ksr2]{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:58px}.brand[data-astro-cid-3ef6ksr2]{display:inline-flex;align-items:center;gap:.6rem;font-weight:700;letter-spacing:.16em;font-size:.92rem;color:var(--g)}.brand-mark[data-astro-cid-3ef6ksr2]{width:13px;height:13px;background:var(--g);box-shadow:var(--glow);clip-path:polygon(50% 0,100% 100%,0 100%)}.brand-sep[data-astro-cid-3ef6ksr2]{color:var(--g-faint);margin:0 .1em}.site-nav[data-astro-cid-3ef6ksr2]{display:flex;gap:1.6rem}.nav-link[data-astro-cid-3ef6ksr2]{font-size:var(--step--1);letter-spacing:.14em;text-transform:uppercase;color:var(--g-mute);padding:.3rem 0;border-bottom:1px solid transparent;transition:color .14s,border-color .14s}.nav-link[data-astro-cid-3ef6ksr2]:hover{color:var(--g-bright)}.nav-link[data-astro-cid-3ef6ksr2].active{color:var(--g);border-color:var(--g-faint)}.nav-toggle[data-astro-cid-3ef6ksr2]{display:none;flex-direction:column;gap:4px;background:none;border:0;cursor:pointer;padding:6px}.nav-toggle[data-astro-cid-3ef6ksr2] span[data-astro-cid-3ef6ksr2]{width:22px;height:2px;background:var(--g);display:block}@media(max-width:720px){.nav-toggle[data-astro-cid-3ef6ksr2]{display:flex}.site-nav[data-astro-cid-3ef6ksr2]{position:absolute;top:58px;left:0;right:0;flex-direction:column;gap:0;background:var(--bg-raise);border-bottom:1px solid var(--g-line);padding:.5rem var(--gutter) 1rem;display:none}.site-head[data-astro-cid-3ef6ksr2].open .site-nav[data-astro-cid-3ef6ksr2]{display:flex}.nav-link[data-astro-cid-3ef6ksr2]{padding:.7rem 0;border-bottom:1px solid var(--g-line)}}.site-foot[data-astro-cid-sz7xmlte]{border-top:1px solid var(--g-line);background:var(--bg-raise);padding-block:3rem 2rem}.foot-inner[data-astro-cid-sz7xmlte]{display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.foot-mark[data-astro-cid-sz7xmlte]{font-weight:700;letter-spacing:.16em;color:var(--g)}.foot-col[data-astro-cid-sz7xmlte] p[data-astro-cid-sz7xmlte]{margin-top:.7rem;font-size:var(--step--1)}.foot-nav[data-astro-cid-sz7xmlte]{display:grid;grid-template-columns:1fr 1fr;gap:.4rem 2rem}.foot-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]{font-size:var(--step--1);letter-spacing:.1em;text-transform:uppercase;color:var(--g-mute)}.foot-nav[data-astro-cid-sz7xmlte] a[data-astro-cid-sz7xmlte]:hover{color:var(--g-bright)}.foot-fine[data-astro-cid-sz7xmlte]{margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid var(--g-line);display:flex;flex-direction:column;gap:.5rem}.ambient{position:fixed;inset:0;z-index:9996;pointer-events:none;overflow:hidden;contain:strict}.amb-roll{position:absolute;left:0;right:0;height:42%;top:-50%;opacity:0;background:linear-gradient(to bottom,transparent,rgba(43,255,119,.05) 44%,rgba(182,255,212,.11) 50%,rgba(43,255,119,.05) 56%,transparent)}.amb-roll.on{animation:amb-roll .72s linear}@keyframes amb-roll{0%{opacity:0;top:-50%}12%{opacity:1}88%{opacity:1}to{opacity:0;top:100%}}.amb-tear{position:absolute;left:0;right:0;height:2px;top:40%;opacity:0;background:#b6ffd480;box-shadow:0 0 8px #2bff7799}.amb-tear.on{animation:amb-tear .38s steps(5)}@keyframes amb-tear{0%{opacity:0;transform:translateY(-60px) scaleX(.6)}20%{opacity:.9;transform:translateY(-20px) translate(-4px)}50%{opacity:.7;transform:translateY(10px) translate(3px)}80%{opacity:.5;transform:translateY(40px) translate(-2px)}to{opacity:0;transform:translateY(70px)}}.amb-spawn{position:absolute;inset:0}.amb-dot,.amb-glyph{position:absolute;color:var(--g-bright, #b6ffd4);will-change:transform,opacity}.amb-dot{width:5px;height:5px;border-radius:50%;background:currentColor;box-shadow:0 0 6px 1px #2bff77b3;animation:amb-pop var(--life, 1.6s) ease-out forwards}.amb-glyph{font-family:var(--mono, monospace);font-size:11px;letter-spacing:1px;color:var(--g, #2bff77);text-shadow:0 0 6px rgba(43,255,119,.5);animation:amb-flick var(--life, 1.6s) steps(1) forwards}@keyframes amb-pop{0%{opacity:0;transform:scale(.2)}18%{opacity:1;transform:scale(1)}70%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(.4)}}@keyframes amb-flick{0%,to{opacity:0}10%,24%,46%,62%,84%{opacity:.85}16%,34%,54%,74%{opacity:.1}}.amb-fly{position:absolute;width:52px;height:2px;margin-top:-1px;margin-left:-52px;border-radius:2px;transform-origin:right center;background:linear-gradient(90deg,transparent,rgba(43,255,119,.12) 55%,var(--g-bright, #b6ffd4));filter:drop-shadow(0 0 5px rgba(43,255,119,.85));will-change:transform,opacity}.amb-fly:after{content:"";position:absolute;right:-2px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--g-bright, #b6ffd4);box-shadow:0 0 9px 2px #2bff77f2}.amb-code,.amb-scramble{position:absolute;font-family:var(--mono, monospace);font-size:11px;letter-spacing:.5px;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;max-height:86vh;color:var(--g-mute, rgba(120, 224, 165, .62));text-shadow:0 0 5px rgba(43,255,119,.32);opacity:0;transition:opacity .26s}.amb-code.on,.amb-scramble.on{opacity:.8}.amb-code .cur{display:inline-block;width:7px;height:3px;margin-top:2px;background:var(--g, #2bff77);animation:amb-caret .62s steps(1) infinite}@keyframes amb-caret{50%{opacity:0}}.amb-scramble{color:var(--g-bright, #b6ffd4);letter-spacing:1.5px}.amb-rain{position:absolute;display:flex;flex-direction:column;font-family:var(--mono, monospace);font-size:12px;line-height:1.15}.amb-rain span{opacity:0;color:var(--g, #2bff77);text-shadow:0 0 6px rgba(43,255,119,.5);animation:amb-rain .9s ease-out forwards}@keyframes amb-rain{0%{opacity:0;transform:translateY(-3px)}15%{opacity:.95;color:var(--g-bright, #b6ffd4)}45%{opacity:.5}to{opacity:0;transform:translateY(5px)}}.amb-blip{position:absolute;left:14px;bottom:12px;font-family:var(--mono, monospace);font-size:10px;letter-spacing:2px;color:var(--g-faint, rgba(43,255,119,.34));opacity:0;transition:opacity .3s}.amb-blip.on{opacity:1}.amb-flash{position:absolute;inset:0;opacity:0;background:repeating-linear-gradient(0deg,rgba(43,255,119,.6) 0 1px,transparent 1px 3px);mix-blend-mode:color-dodge}.amb-flash.on{animation:amb-flash .2s steps(2)}@keyframes amb-flash{0%,to{opacity:0}25%{opacity:.1}55%{opacity:.03}80%{opacity:.07}}@media(prefers-reduced-motion:reduce){.ambient{display:none}}
