@layer reset{*,:before,:after{box-sizing:border-box}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0}ul[role=list],ol[role=list]{padding:0;list-style:none}img,svg,video{max-width:100%;display:block}input,button,textarea,select{font:inherit;color:inherit}button{cursor:pointer}}@layer tokens{:root{--signal:#ffc400;--ink:#111;--paper:#fafafa;--bg:var(--paper);--surface:#fff;--text:#1c1c1c;--muted:#5c5c5c;--strong:var(--ink);--line:#d9d9d9;--field:#8a8a8a;--accent-text:var(--ink);--focus:var(--ink);--error:#b3261e;--font:var(--font-archivo), ui-sans-serif, system-ui, sans-serif;--mono:var(--font-plex-mono), ui-monospace, SFMono-Regular, Menlo, monospace;--step--1:.875rem;--step-0:1.0625rem;--step-1:clamp(1.1875rem, 1.05rem + .5vw, 1.375rem);--step-2:clamp(1.5rem, 1.2rem + 1.2vw, 2rem);--step-3:clamp(2rem, 1.4rem + 2.6vw, 3.25rem);--step-4:clamp(2.75rem, 1.6rem + 5vw, 5.5rem);--gutter:clamp(1.25rem, .6rem + 3vw, 3rem);--section:clamp(4rem, 2.5rem + 6vw, 8rem);--max:78rem;--measure:66ch;--header-h:4.5rem;--status-h:calc(1.875rem + 1px);--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141414;--surface:#1d1d1d;--text:#ececec;--muted:#a3a3a3;--strong:#fafafa;--line:#2e2e2e;--field:#7a7a7a;--accent-text:var(--signal);--focus:var(--signal);--error:#ff8a80}}[data-tone=ink]{--bg:#111;--surface:#1a1a1a;--text:#d6d6d6;--muted:#9b9b9b;--strong:#fafafa;--line:#2a2a2a;--field:#6f6f6f;--accent-text:var(--signal);--focus:var(--signal)}[data-tone=signal]{--bg:var(--signal);--surface:#ffd23d;--text:#111;--muted:#3d3000;--strong:#111;--line:#11111140;--field:#111;--accent-text:#111;--focus:#111}@media (prefers-color-scheme:dark){[data-tone=ink]{--bg:#0a0a0a}}html[data-crt=on]{--signal:#6dff95;--bg:#041208;--surface:#08200f;--text:#41e070;--muted:#3cc164;--strong:#9dffb8;--line:#14401f;--field:#2b8f47;--accent-text:var(--signal);--focus:var(--signal);--error:#ff8a80;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-crt=on] [data-tone=ink]{--bg:#020a05;--surface:#061a0c;--text:#41e070;--muted:#3cc164;--strong:#9dffb8;--line:#113619;--field:#2b8f47;--accent-text:var(--signal);--focus:var(--signal)}html[data-crt=on] [data-tone=signal]{--bg:var(--signal);--surface:#8affab;--text:#041208;--muted:#0e4420;--strong:#041208;--line:#0412084d;--field:#041208;--accent-text:#041208;--focus:#041208}:root,[data-tone]{--rule-top:linear-gradient(var(--line) 0 0) 0 0 / 100% 1px no-repeat border-box;--rule-bottom:linear-gradient(var(--line) 0 0) 0 100% / 100% 1px no-repeat border-box;--rule-strong-top:linear-gradient(var(--strong) 0 0) 0 0 / 100% 1px no-repeat border-box, linear-gradient(var(--strong) 0 0) 0 2px / 100% 1px no-repeat border-box;--rule-strong-bottom:linear-gradient(var(--strong) 0 0) 0 100% / 100% 1px no-repeat border-box, linear-gradient(var(--strong) 0 0) left 0 bottom 2px / 100% 1px no-repeat border-box;--rule-signal-top:repeating-linear-gradient(90deg, var(--signal) 0 7px, transparent 0 8px) 0 0 / 100% 4px no-repeat border-box;--band:conic-gradient(from 90deg at 2px 2px, transparent 75%, var(--signal) 0) 0 0px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, transparent 75%, var(--signal) 0) left 0 bottom 0px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, transparent 75%, var(--signal) 0) 0 4px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, transparent 75%, var(--signal) 0) left 0 bottom 4px / 4px 4px repeat-x, repeating-conic-gradient(var(--signal) 0 25%, transparent 0 50%) 0 8px / 4px 4px repeat-x, repeating-conic-gradient(var(--signal) 0 25%, transparent 0 50%) left 0 bottom 8px / 4px 4px repeat-x, repeating-conic-gradient(var(--signal) 0 25%, transparent 0 50%) 0 12px / 4px 4px repeat-x, repeating-conic-gradient(var(--signal) 0 25%, transparent 0 50%) left 0 bottom 12px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, var(--signal) 75%, transparent 0) 0 16px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, var(--signal) 75%, transparent 0) left 0 bottom 16px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, var(--signal) 75%, transparent 0) 0 20px / 4px 4px repeat-x, conic-gradient(from 90deg at 2px 2px, var(--signal) 75%, transparent 0) left 0 bottom 20px / 4px 4px repeat-x, linear-gradient(var(--signal) 0 0) 0 24px / 100% calc(100% - 48px) no-repeat;--tile:linear-gradient(var(--muted) 0 0) 0 0 / .625rem 1px no-repeat, linear-gradient(var(--muted) 0 0) 0 0 / 1px .625rem no-repeat, linear-gradient(var(--muted) 0 0) 100% 0 / .625rem 1px no-repeat, linear-gradient(var(--muted) 0 0) 100% 0 / 1px .625rem no-repeat, linear-gradient(var(--muted) 0 0) 0 100% / .625rem 1px no-repeat, linear-gradient(var(--muted) 0 0) 0 100% / 1px .625rem no-repeat, linear-gradient(var(--muted) 0 0) 100% 100% / .625rem 1px no-repeat, linear-gradient(var(--muted) 0 0) 100% 100% / 1px .625rem no-repeat;--tile-hover:none}:root{--fill:repeating-linear-gradient(90deg, currentColor 0 7px, transparent 0 8px);--fill-light:repeating-conic-gradient(currentColor 0 25%, transparent 0 50%) 0 0 / 2px 2px;--track:conic-gradient(from 90deg at 1px 1px, transparent 75%, currentColor 0) 0 0 / 2px 2px;--plate:none;--screen:none;--glow:none;--focus-style:solid;--list-mark:"* ";--flag:linear-gradient(to bottom left, #000 50%, transparent 0)}:root[data-portrait=halftone],[data-portrait=halftone] [data-tone]{--rule-dot:color-mix(in oklab, var(--line), var(--strong) 30%);--rule-top:repeating-linear-gradient(90deg, var(--rule-dot) 0 1px, transparent 0 3px) 0 0 / 100% 1px no-repeat border-box;--rule-bottom:repeating-linear-gradient(90deg, var(--rule-dot) 0 1px, transparent 0 3px) 0 100% / 100% 1px no-repeat border-box;--rule-strong-top:repeating-linear-gradient(90deg, var(--strong) 0 .6px, transparent 0 3px) left 0% top .7px / 4% .6px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1px, transparent 0 3px) left 4.211% top .5px / 5% 1px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1.5px, transparent 0 3px) left 9.574% top .25px / 6% 1.5px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 2px, transparent 0 3px) left 50% top 0px / 70% 2px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1.5px, transparent 0 3px) left 90.426% top .25px / 6% 1.5px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1px, transparent 0 3px) left 95.789% top .5px / 5% 1px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 .6px, transparent 0 3px) left 100% top .7px / 4% .6px no-repeat border-box;--rule-strong-bottom:repeating-linear-gradient(90deg, var(--strong) 0 .6px, transparent 0 3px) left 0% bottom .7px / 4% .6px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1px, transparent 0 3px) left 4.211% bottom .5px / 5% 1px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1.5px, transparent 0 3px) left 9.574% bottom .25px / 6% 1.5px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 2px, transparent 0 3px) left 50% bottom 0px / 70% 2px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1.5px, transparent 0 3px) left 90.426% bottom .25px / 6% 1.5px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 1px, transparent 0 3px) left 95.789% bottom .5px / 5% 1px no-repeat border-box, repeating-linear-gradient(90deg, var(--strong) 0 .6px, transparent 0 3px) left 100% bottom .7px / 4% .6px no-repeat border-box;--rule-signal-top:repeating-linear-gradient(90deg, var(--signal) 0 .9px, transparent 0 5px) left 0% top 1.55px / 3% .9px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 1.6px, transparent 0 5px) left 3.125% top 1.2px / 4% 1.6px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 2.4px, transparent 0 5px) left 7.368% top .8px / 5% 2.4px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 3.2px, transparent 0 5px) left 12.766% top .4px / 6% 3.2px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 4px, transparent 0 5px) left 50% top 0px / 64% 4px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 3.2px, transparent 0 5px) left 87.234% top .4px / 6% 3.2px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 2.4px, transparent 0 5px) left 92.632% top .8px / 5% 2.4px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 1.6px, transparent 0 5px) left 96.875% top 1.2px / 4% 1.6px no-repeat border-box, repeating-linear-gradient(90deg, var(--signal) 0 .9px, transparent 0 5px) left 100% top 1.55px / 3% .9px no-repeat border-box;--band:radial-gradient(circle, var(--signal) .8px, transparent 1.5px) 0px 0px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) .8px, transparent 1.5px) left 0px bottom 0px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 1.4px, transparent 2.1px) 4px 8px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 1.4px, transparent 2.1px) left 4px bottom 8px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 2px, transparent 2.7px) 0px 16px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 2px, transparent 2.7px) left 0px bottom 16px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 2.6px, transparent 3.3px) 4px 24px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 2.6px, transparent 3.3px) left 4px bottom 24px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 3.2px, transparent 3.9px) 0px 32px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 3.2px, transparent 3.9px) left 0px bottom 32px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 3.8px, transparent 4.5px) 4px 40px / 8px 8px repeat-x, radial-gradient(circle, var(--signal) 3.8px, transparent 4.5px) left 4px bottom 40px / 8px 8px repeat-x, linear-gradient(var(--signal) 0 0) 0 48px / 100% calc(100% - 96px) no-repeat;--tile:none;--tile-hover:radial-gradient(circle, var(--line) 1px, transparent 1.6px) 0 0 / 5px 5px}:root[data-portrait=halftone]{--fill:radial-gradient(circle, currentColor .95px, transparent 1.55px) 2px calc(50% - 12px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.45px, transparent 2.05px) 0px calc(50% - 8px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.9px, transparent 2.5px) 2px calc(50% - 4px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 2.2px, transparent 2.8px) 0px 50% / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.9px, transparent 2.5px) 2px calc(50% + 4px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.45px, transparent 2.05px) 0px calc(50% + 8px) / 4px 4px repeat-x, radial-gradient(circle, currentColor .95px, transparent 1.55px) 2px calc(50% + 12px) / 4px 4px repeat-x;--fill-light:radial-gradient(circle, currentColor .6px, transparent 1.2px) 2px calc(50% - 12px) / 4px 4px repeat-x, radial-gradient(circle, currentColor .85px, transparent 1.45px) 0px calc(50% - 8px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.1px, transparent 1.7px) 2px calc(50% - 4px) / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.3px, transparent 1.9px) 0px 50% / 4px 4px repeat-x, radial-gradient(circle, currentColor 1.1px, transparent 1.7px) 2px calc(50% + 4px) / 4px 4px repeat-x, radial-gradient(circle, currentColor .85px, transparent 1.45px) 0px calc(50% + 8px) / 4px 4px repeat-x, radial-gradient(circle, currentColor .6px, transparent 1.2px) 2px calc(50% + 12px) / 4px 4px repeat-x;--track:none;--plate:radial-gradient(circle, color-mix(in oklab, currentColor 14%, transparent) .8px, transparent 1.4px) 0 0 / 4px 4px;--screen:radial-gradient(circle closest-side, #000 96%, transparent) 0 0 / var(--screen-cell) var(--screen-cell) intersect, radial-gradient(closest-side, #000 55%, transparent 56%) add, radial-gradient(circle closest-side, #000 72%, transparent) 0 0 / var(--screen-cell) var(--screen-cell) intersect, radial-gradient(closest-side, #000 85%, transparent 86%) add, radial-gradient(circle closest-side, #000 46%, transparent) 0 0 / var(--screen-cell) var(--screen-cell);--focus-style:dotted;--list-mark:"• ";--flag:radial-gradient(circle closest-side, #000 80%, transparent) 0 0 / 3px 3px intersect, linear-gradient(to bottom left, #000 50%, transparent 0)}:root[data-portrait=led],[data-portrait=led] [data-tone]{--rule-dot:color-mix(in oklab, var(--line), var(--strong) 35%);--rule-top:repeating-linear-gradient(90deg, var(--rule-dot) 0 1px, transparent 0 4px) 0 0 / 100% 1px no-repeat border-box;--rule-bottom:repeating-linear-gradient(90deg, var(--rule-dot) 0 1px, transparent 0 4px) 0 100% / 100% 1px no-repeat border-box;--rule-strong-top:repeating-linear-gradient(90deg, var(--strong) 0 2px, transparent 0 4px) 0 0 / 100% 2px no-repeat border-box;--rule-strong-bottom:repeating-linear-gradient(90deg, var(--strong) 0 2px, transparent 0 4px) 0 100% / 100% 2px no-repeat border-box;--rule-signal-top:radial-gradient(circle, var(--signal) 1.6px, transparent 2.2px) 0 0 / 6px 4px repeat-x border-box;--band:radial-gradient(circle, color-mix(in srgb, var(--signal) 25%, transparent) 2.2px, transparent 2.8px) 0 0px / 6px 6px repeat-x, radial-gradient(circle, color-mix(in srgb, var(--signal) 25%, transparent) 2.2px, transparent 2.8px) left 0 bottom 0px / 6px 6px repeat-x, radial-gradient(circle, color-mix(in srgb, var(--signal) 50%, transparent) 2.2px, transparent 2.8px) 0 6px / 6px 6px repeat-x, radial-gradient(circle, color-mix(in srgb, var(--signal) 50%, transparent) 2.2px, transparent 2.8px) left 0 bottom 6px / 6px 6px repeat-x, radial-gradient(circle, color-mix(in srgb, var(--signal) 75%, transparent) 2.2px, transparent 2.8px) 0 12px / 6px 6px repeat-x, radial-gradient(circle, color-mix(in srgb, var(--signal) 75%, transparent) 2.2px, transparent 2.8px) left 0 bottom 12px / 6px 6px repeat-x, radial-gradient(circle, var(--signal) 2.2px, transparent 2.8px) 0 18px / 6px 6px repeat-x, radial-gradient(circle, var(--signal) 2.2px, transparent 2.8px) left 0 bottom 18px / 6px 6px repeat-x, linear-gradient(var(--signal) 0 0) 0 24px / 100% calc(100% - 48px) no-repeat;--tile:radial-gradient(circle, var(--line) 1.5px, transparent 2.1px) .5rem .5rem / 6px 6px no-repeat, radial-gradient(circle, var(--line) 1.5px, transparent 2.1px) right .5rem top .5rem / 6px 6px no-repeat, radial-gradient(circle, var(--line) 1.5px, transparent 2.1px) left .5rem bottom .5rem / 6px 6px no-repeat, radial-gradient(circle, var(--line) 1.5px, transparent 2.1px) right .5rem bottom .5rem / 6px 6px no-repeat;--tile-hover:radial-gradient(circle, var(--line) 1.2px, transparent 1.8px) 0 0 / 6px 6px}:root[data-portrait=led]{--fill:radial-gradient(circle closest-side, currentColor 72%, transparent 92%) 0 50% / 5px 5px;--fill-light:radial-gradient(circle closest-side, currentColor 42%, transparent 62%) 0 50% / 5px 5px;--track:radial-gradient(circle closest-side, currentColor 60%, transparent 85%) 0 50% / 5px 5px;--plate:radial-gradient(circle closest-side, transparent 70%, color-mix(in oklab, currentColor 16%, transparent) 95%) 0 0 / 3px 3px;--screen:radial-gradient(circle closest-side, #000 78%, transparent 96%) 0 0 / var(--screen-cell) var(--screen-cell);--glow:drop-shadow(0 0 .2em color-mix(in srgb, currentColor 70%, transparent));--focus-style:dashed;--list-mark:"● ";--flag:radial-gradient(circle at 72% 28%, #000 .22rem, transparent calc(.22rem + .75px))}:root{--screen-cell:max(3px, .09em)}}@layer base{html{scroll-padding-top:calc(var(--header-h) + 1rem);scroll-padding-bottom:calc(var(--status-h) + 1rem);background:var(--bg)}body{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);font-size:var(--step-0);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;flex-direction:column;line-height:1.65;display:flex}main{flex:1}h1,h2,h3,h4{color:var(--strong);text-wrap:balance;font-weight:700;line-height:1.08}h2{font-size:var(--step-3);letter-spacing:-.025em;font-stretch:100%}h3{font-size:var(--step-1);letter-spacing:-.01em;font-weight:650;line-height:1.25}p,li{text-wrap:pretty}p{max-width:var(--measure)}a{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--signal);text-decoration-color:var(--signal);text-underline-offset:.18em;text-decoration-thickness:.14em;transition:text-decoration-thickness .15s,color .15s}a:hover{text-decoration-thickness:.32em}:focus-visible{outline:3px var(--focus-style) var(--focus);outline-offset:3px;border-radius:2px}::selection{background:var(--signal);color:#111}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.skip-link{z-index:1000;background:var(--signal);color:#111;padding:.75rem 1rem;font-weight:700;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus-visible{transform:none}main:focus{outline:none}::view-transition-old(.page-out){animation:.16s ease-in both page-leave}::view-transition-new(.page-in){animation:.42s cubic-bezier(.16,1,.3,1) .12s both page-arrive}::view-transition-group(.plate){animation-duration:.42s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@keyframes page-leave{to{opacity:0;transform:translateY(-.75rem)}}@keyframes page-arrive{0%{opacity:0;transform:translateY(1.25rem)}}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}html[data-crt=on] body{text-shadow:0 0 .35em color-mix(in srgb, currentColor 45%, transparent)}html[data-crt=on] body:after,html[data-crt=on] dialog[open]:after{content:"";z-index:2147483647;pointer-events:none;background:repeating-linear-gradient(#0000001f 0 1px,#0000 1px 3px);position:fixed;inset:0}@media (prefers-reduced-motion:no-preference){html[data-crt=on] body:after,html[data-crt=on] dialog[open]:after{animation:7s step-end infinite crt-flicker}}@keyframes crt-flicker{0%,to{opacity:1}31%{opacity:.55}32%{opacity:1}67%{opacity:.7}67.8%{opacity:1}68.6%{opacity:.6}69.4%{opacity:1}}html[data-crt=on] :is(img,video,svg[role=img]){filter:grayscale()sepia()hue-rotate(70deg)saturate(2.2)brightness(.95)}html:active-view-transition-type(portrait)::view-transition-old(root){animation:none}html:active-view-transition-type(portrait)::view-transition-new(root){animation:.56s steps(14,end) both reprint}html[data-portrait=halftone]:active-view-transition-type(portrait)::view-transition-new(root){animation:reprint .62s var(--ease-out) both}html[data-portrait=led]:active-view-transition-type(portrait)::view-transition-new(root){animation:.52s steps(8,end) both reprint}@keyframes reprint{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}}@layer utilities{.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}}
