:root{--paper:#e8e6df;--window:#fff;--ink:#111;--ink-soft:#4a4a48;--amber:#e2a83a;--charcoal:#424444;--legend:#d3d3d3;--led:#35f05a;--brick:#b5483a;--screen:#000;--font-chrome:var(--font-silkscreen), "Courier New", monospace;--font-mono:var(--font-plex-mono), ui-monospace, Menlo, monospace;--font-sans:var(--font-plex-sans), system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.5rem;--text-2xl:2rem;--text-3xl:clamp(2.25rem, 6vw, 3.5rem);--tracking-label:.08em;--s1:.25rem;--s2:.5rem;--s3:.75rem;--s4:1rem;--s5:1.5rem;--s6:2rem;--s7:3rem;--s8:4rem;--border:1px solid var(--ink);--border-hair:1px solid #1111112e;--radius:0;--radius-button:6px;--shadow:4px 4px 0 var(--ink);--shadow-sm:2px 2px 0 var(--ink);--pinstripe:repeating-linear-gradient(to bottom, var(--ink) 0 1px, transparent 1px 3px);--dither:repeating-conic-gradient(var(--ink) 0% 25%, transparent 0% 50%) 0 0 / 2px 2px;--page-max:72rem;--prose-max:42rem;--gutter:clamp(1rem, 4vw, 2rem);--menubar-h:2.25rem}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--menubar-h) + var(--s4))}body{background:var(--paper);min-height:100vh;color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);flex-direction:column;margin:0;line-height:1.6;display:flex}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--amber);text-decoration-color:var(--amber);text-underline-offset:3px;text-decoration-thickness:2px}a:hover{background:var(--amber);color:var(--ink)}:focus-visible{outline:3px solid var(--ink);outline-offset:2px;box-shadow:0 0 0 2px var(--window), 0 0 0 7px var(--amber)}.skip-link{left:var(--s2);z-index:100;padding:var(--s2) var(--s4);background:var(--amber);border:var(--border);font-family:var(--font-mono);font-size:var(--text-sm);position:absolute;top:-10rem}.skip-link:focus{top:var(--s2)}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page{width:100%;max-width:var(--page-max);padding:var(--s6) var(--gutter) var(--s8);gap:var(--s6);flex:1;align-content:start;margin:0 auto;display:grid}.page-narrow{max-width:calc(var(--prose-max) + 2 * var(--gutter) + 4rem)}.cols-2{gap:var(--s6);align-items:start;display:grid}.cols-3{gap:var(--s5);display:grid}@media (min-width:768px){.cols-2{grid-template-columns:1fr 1fr}.cols-3{grid-template-columns:repeat(3,1fr)}}.stack{gap:var(--s4);justify-items:start;display:grid}.row{align-items:center;gap:var(--s3) var(--s4);flex-wrap:wrap;display:flex}.label{font-family:var(--font-mono);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-soft);font-weight:500}.display{font-family:var(--font-chrome);font-size:var(--text-3xl);letter-spacing:-.02em;font-weight:700;line-height:1}.heading{font-family:var(--font-chrome);font-size:var(--text-lg);font-weight:400;line-height:1.3}.lede{font-size:var(--text-lg);max-width:var(--prose-max)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.small{font-size:var(--text-sm);color:var(--ink-soft)}.button{justify-content:center;align-items:center;gap:var(--s2);min-height:2.75rem;padding:var(--s2) var(--s5);border:var(--border);border-radius:var(--radius-button);background:var(--window);color:var(--ink);box-shadow:var(--shadow-sm);font-family:var(--font-chrome);font-size:var(--text-sm);cursor:pointer;line-height:1.2;text-decoration:none;display:inline-flex}.button:hover{background:var(--ink);color:var(--window)}.button:active{box-shadow:none;transform:translate(2px,2px)}.button-primary{background:var(--amber);box-shadow:0 0 0 2px var(--window), 0 0 0 4px var(--ink), var(--shadow);margin:4px}.button-primary:active{box-shadow:0 0 0 2px var(--window), 0 0 0 4px var(--ink)}.button-placeholder{background:var(--window);box-shadow:none;cursor:default;border-style:dashed}.button-placeholder:hover{background:var(--window);color:var(--ink)}.tbd{padding:0 var(--s2);background:var(--brick);color:#fff;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;font-weight:500;line-height:1.7;display:inline-block}.tbd-block{gap:var(--s2);padding:var(--s5);border:1px dashed var(--ink);background:var(--dither);background-color:var(--window);justify-items:start;display:grid}.tbd-block>*{background:var(--window);padding:0 var(--s1)}.tbd-block>.tbd{background:var(--brick);padding:0 var(--s2)}.spec{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:var(--text-sm)}.spec th,.spec td{padding:var(--s2) 0;border-bottom:var(--border-hair);text-align:left;vertical-align:top}.spec tr:last-child th,.spec tr:last-child td{border-bottom:0}.spec th{width:9rem;padding-right:var(--s4);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-label);color:var(--ink-soft);font-weight:500;line-height:1.9}@media (max-width:479px){.spec th,.spec td{width:auto;display:block}.spec th{border-bottom:0;padding-bottom:0}.spec td{padding-top:0}}.features{gap:var(--s3);padding:0;list-style:none;display:grid}.features li{gap:var(--s1);padding-top:var(--s3);border-top:var(--border-hair);display:grid}.features li:first-child{border-top:var(--border)}.features .label{color:var(--ink)}.prose{max-width:var(--prose-max);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.65}.prose>*+*{margin-top:var(--s4)}.prose h2,.prose h3{font-family:var(--font-chrome);font-weight:400;line-height:1.3}.prose h2{font-size:var(--text-lg);margin-top:var(--s7);padding-top:var(--s4);border-top:var(--border)}.prose h3{font-size:var(--text-base);margin-top:var(--s6)}.prose>:first-child{border-top:0;margin-top:0;padding-top:0}.prose ul,.prose ol{padding-left:var(--s5)}.prose li+li{margin-top:var(--s2)}.prose code{font-family:var(--font-mono);font-size:.9em}.prose blockquote{margin:var(--s4) 0 0;padding-left:var(--s4);border-left:3px solid var(--amber)}.verbatim{max-height:70vh;padding:var(--s4);border:var(--border);background:var(--paper);font-family:var(--font-mono);font-size:var(--text-sm);white-space:pre;tab-size:4;margin:0;line-height:1.5;overflow:auto}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.rule{height:0;margin:var(--s5) 0;border:0;border-top:var(--border-hair)}.big-number{font-size:var(--text-3xl);font-weight:500;line-height:1}.big-number .label{font-size:var(--text-xs)}
