@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Archivo;src:url(/fonts/archivo-latin-600-normal.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono-latin-500-normal.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}:root{color-scheme:dark;--void:#050505;--carbon:#101010;--graphite:#1a1a1a;--hairline:#2a2a2a;--edge:#6b6b6b;--steel:#8c8c8c;--paper:#f0efeb;--silver:#b4bac2;--on-silver:#050505;--pass:#78afc2;--warn:#d0a24e;--fail:#dc6f5c;--on-status:#050505;--dev-under-3:#24507c;--dev-under-2:#4a7cab;--dev-under-1:#94b5d3;--dev-nominal:#d6d6d2;--dev-over-1:#e2a483;--dev-over-2:#c56a47;--dev-over-3:#8a3a1b;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:48px;--radius-sm:2px;--font-sans:"Archivo", "Helvetica Neue", Arial, sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Menlo, Consolas, monospace;--gutter:48px;--max:1280px}@media (width<=760px){:root{--gutter:20px}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--void);color:var(--paper);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:24px}[hidden]{display:none!important}img,svg{display:block}.fg-icon{vertical-align:middle;flex:none;display:inline-block}a{color:var(--paper);text-decoration:none}a:hover{color:var(--silver)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--silver);outline-offset:2px}h1,h2,h3,p,figure,dl,dd,ol,ul{margin:0}ol,ul{padding:0;list-style:none}.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{left:var(--space-2);z-index:100;background:var(--silver);color:var(--on-silver);padding:8px 16px;font-weight:500;position:absolute;top:-60px}.skip-link:focus{top:var(--space-2);color:var(--on-silver)}.display{letter-spacing:-.03em;text-wrap:balance;font-size:clamp(48px,6vw,88px);font-weight:600;line-height:.96}.h1{letter-spacing:-.02em;text-wrap:balance;font-size:40px;font-weight:600;line-height:44px}.h2{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:32px}.body{font-size:16px;font-weight:400;line-height:24px}.lead{font-size:18px;line-height:28px}.small{font-size:14px;font-weight:400;line-height:20px}.label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500;line-height:16px}.data{font-family:var(--font-mono);font-variant-numeric:tabular-nums slashed-zero;font-size:14px;font-weight:400;line-height:20px}.muted{color:var(--steel)}.nocase{text-transform:none}@media (width<=760px){.h1{font-size:32px;line-height:36px}}.wrap{padding-left:var(--gutter);padding-right:var(--gutter)}.container{max-width:var(--max);margin:0 auto}.section{padding-top:96px;padding-bottom:96px}.section-raised{background:var(--carbon)}@media (width<=760px){.section{padding-top:64px;padding-bottom:64px}}.section-head{flex-direction:column;gap:12px;max-width:640px;display:flex}.stack{flex-direction:column;display:flex}.btn{font-family:var(--font-sans);height:44px;padding:0 var(--space-3);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-1);white-space:nowrap;border:1px solid #0000;border-radius:0;font-size:14px;font-weight:500;line-height:20px;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s;display:inline-flex}.btn-sm{height:36px;padding:0 var(--space-2)}.btn-primary{background:var(--silver);color:var(--on-silver)}.btn-primary:hover{background:var(--paper);color:var(--on-silver)}.btn-secondary{border-color:var(--edge);color:var(--paper);background:0 0}.btn-secondary:hover{background:var(--graphite);border-color:var(--steel);color:var(--paper)}.btn-ghost{color:var(--paper);background:0 0}.btn-ghost:hover{background:var(--graphite);color:var(--paper)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:progress}.btn .fg-icon{transition:transform .15s}.btn:hover .icon-nudge{transform:translate(3px)}.field{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.field-label,.field-hint{color:var(--steel)}.field-error{color:var(--paper)}.field-error:before{content:"";width:8px;height:8px;margin-right:var(--space-1);background:var(--fail);vertical-align:1px;display:inline-block}.field-error[hidden]{display:none}.input,.select,.textarea{width:100%;font-family:var(--font-sans);height:44px;padding:0 var(--space-2);background:var(--graphite);color:var(--paper);border:1px solid var(--edge);border-radius:var(--radius-sm);font-size:16px;line-height:24px}.textarea{height:auto;min-height:96px;padding:10px var(--space-2);resize:vertical}.input::placeholder,.textarea::placeholder{color:var(--steel)}.input:hover,.select:hover,.textarea:hover{border-color:var(--steel)}.input[type=number],.input-unit{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.input[type=date]{color-scheme:dark}.input-wrap{display:flex;position:relative}.input-unit{padding-right:var(--space-4)}.unit{right:var(--space-2);color:var(--steel);pointer-events:none;position:absolute;top:12px}.field.invalid .input,.field.invalid .select,.field.invalid .textarea{border:2px solid var(--fail);padding-left:15px}.select-wrap{display:flex;position:relative}.select{-webkit-appearance:none;appearance:none;padding-right:var(--space-4);cursor:pointer}.select-wrap:after{content:"";right:var(--space-2);background:var(--steel);pointer-events:none;width:12px;height:8px;position:absolute;top:18px;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5l5 5 5-5' fill='none' stroke='black' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat}.select option{background:var(--carbon);color:var(--paper)}.check{align-items:flex-start;gap:var(--space-1);cursor:pointer;color:var(--paper);min-height:24px;display:inline-flex}.check input{-webkit-appearance:none;appearance:none;border:1px solid var(--edge);border-radius:var(--radius-sm);background:var(--graphite);cursor:pointer;flex:none;place-content:center;width:18px;height:18px;margin:3px 0 0;display:inline-grid}.check input:hover{border-color:var(--steel)}.check input:checked{background:var(--silver);border-color:var(--silver)}.check input:checked:after{content:"";border-left:2px solid var(--on-silver);border-bottom:2px solid var(--on-silver);width:9px;height:5px;transform:translateY(-1px)rotate(-45deg)}.check.invalid input{border:2px solid var(--fail)}.form-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));display:grid}.tiles{gap:var(--space-1);grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));display:grid}.tile{text-align:left;padding:var(--space-2);background:var(--carbon);min-height:44px;color:var(--paper);border:1px solid var(--edge);cursor:pointer;flex-direction:column;gap:4px;transition:background-color .15s,border-color .15s;display:flex;position:relative}.tile:hover{border-color:var(--steel)}.tile:has(input:checked){background:var(--graphite);border-color:var(--silver);box-shadow:inset 0 0 0 1px var(--silver)}.tile:has(input:focus-visible){outline:2px solid var(--silver);outline-offset:2px}.tile input{opacity:0;pointer-events:none;position:absolute}.tile-lg{padding:20px var(--space-2);gap:var(--space-1)}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--space-1);padding:0}.tag{height:24px;padding:0 var(--space-1);border-radius:var(--radius-sm);white-space:nowrap;border:1px solid var(--edge);color:var(--steel);align-items:center;display:inline-flex}.specs{column-gap:var(--space-2);border-top:1px solid var(--hairline);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.spec{border-bottom:1px solid var(--hairline);padding:12px 0}.spec dt{margin-bottom:4px}.media{background:var(--carbon);border:1px solid var(--hairline);position:relative;overflow:hidden}.media img{object-fit:cover;width:100%;height:100%}.fg-plusgrid{width:100%;height:100%}.fg-plusgrid path{fill:none;stroke:var(--edge);stroke-width:1.5px}.table{border-collapse:collapse;width:100%;color:var(--paper)}.table th,.table td{padding:12px var(--space-2);text-align:left;border-bottom:1px solid var(--hairline);font-weight:inherit}.table thead th{color:var(--steel)}.table tbody tr:last-child th,.table tbody tr:last-child td{border-bottom:0}.table .right{text-align:right}.mark{width:8px;height:8px;margin-right:var(--space-1);background:var(--silver);vertical-align:1px;display:inline-block}.mark-off{visibility:hidden}.prose{gap:var(--space-2);flex-direction:column;max-width:720px;display:flex}.prose h2{margin-top:var(--space-3)}.prose p,.prose li{color:var(--steel)}.prose strong{color:var(--paper);font-weight:500}.prose a:not(.btn){text-underline-offset:3px;text-decoration:underline}.prose ul{flex-direction:column;gap:4px;padding-left:20px;list-style:square;display:flex}.todo{color:var(--warn);font-family:var(--font-mono);font-size:14px}.js .reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(16px)}.js .reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js .reveal{opacity:1;transition:none;transform:none}}
