:root{--surface:#f3f4f5;--surface-raised:#fff;--ink:#16191d;--ink-muted:#545c66;--line:#d4d8dd;--brand:#b4440f;--on-brand:#fff;--plate:#e3e6ea;--plate-ink:#22272e;--plate-edge:#b9c0c8;--good:#1f7a4d;--warn:#a15c00;--bad:#b42318;--font-display:Archivo, "Arial Narrow", Arial, sans-serif;--font-sans:"Public Sans", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--space-1:4px;--space-2:8px;--space-4:16px;--space-8:32px;--radius-sm:4px;--radius-md:10px;--radius-pill:999px}@media (prefers-color-scheme:dark){:root{--surface:#0f1113;--surface-raised:#181b1f;--ink:#eceef1;--ink-muted:#a4abb4;--line:#2d323a;--brand:#f08a4b;--on-brand:#1a0d05;--plate:#262a30;--plate-ink:#e6e9ed;--plate-edge:#3a4049;--good:#5cc98f;--warn:#f0b04b;--bad:#f2786b;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);font:17px/27px var(--font-sans);margin:0}h1,h2,h3{font-family:var(--font-display);text-wrap:balance}a{color:var(--brand)}:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.wrap{max-width:800px;padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));margin:0 auto}main.wrap{padding-block:var(--space-8);gap:var(--space-8);display:grid}.site-header{border-bottom:1px solid var(--line);background:var(--surface-raised)}.header-row,.footer-row{justify-content:space-between;align-items:center;gap:var(--space-4);flex-wrap:wrap;padding-block:12px;display:flex}.brand{align-items:center;gap:var(--space-2);color:var(--ink);font:800 19px/1 var(--font-display);text-decoration:none;display:flex}nav{gap:var(--space-4);flex-wrap:wrap;display:flex}nav a{font-weight:600;text-decoration:none}nav a:hover{text-decoration:underline}.site-footer{border-top:1px solid var(--line);margin-top:var(--space-8);color:var(--ink-muted)}.site-footer p{max-width:460px;margin:0}.preview-banner{background:var(--warn);color:#fff;text-align:center;padding:6px 16px;font-size:14px;font-weight:600;line-height:20px}h1{margin:0;font-size:32px;font-weight:800;line-height:38px}h2{margin:0;font-size:22px;font-weight:700;line-height:28px}h3{margin:0;font-size:17px;line-height:24px}.small{font-size:14px;line-height:20px}.muted{color:var(--ink-muted)}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);font-size:12px;font-weight:600;line-height:16px}section{gap:var(--space-4);display:grid}.lede{margin:0;font-size:19px;line-height:29px}p{margin:0}ol,ul{gap:6px;margin:0;padding-left:22px;display:grid}.crumbs{color:var(--ink-muted);font-size:14px}code,.mono{font-family:var(--font-mono)}.serial{background:var(--plate);color:var(--plate-ink);border:1px solid var(--plate-edge);border-radius:var(--radius-sm);font:600 15px/22px var(--font-mono);letter-spacing:.06em;white-space:nowrap;padding:1px 8px;display:inline-block}.decoder{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-4);display:grid}@media (width>=640px){.decoder{padding:24px}}.fields{gap:var(--space-4);grid-template-columns:1fr;display:grid}@media (width>=640px){.fields{grid-template-columns:1fr 1fr}.fields .full{grid-column:1/-1}}.field{gap:4px;display:grid}.field label{font-size:14px;font-weight:600}select,input[type=text]{font:inherit;border-radius:var(--radius-sm);border:1px solid var(--ink-muted);background:var(--surface-raised);color:var(--ink);width:100%;min-width:0;padding:10px 12px}input.serial-input{font:600 20px/28px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;background:var(--plate);color:var(--plate-ink);border-color:var(--plate-edge)}.btns{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.btn{background:var(--brand);color:var(--on-brand);border-radius:var(--radius-sm);font:inherit;cursor:pointer;border:0;padding:10px 18px;font-weight:600;text-decoration:none;display:inline-block}.btn.ghost{color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand);background:0 0}.result{gap:var(--space-4);border-top:1px solid var(--line);padding-top:var(--space-4);display:grid}.result[hidden]{display:none}.made{font:800 30px/36px var(--font-display);margin:0}.age{margin:0;font-size:19px;line-height:28px}.cand{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--line);border-radius:var(--radius-md);display:grid}.lifebar{border-radius:var(--radius-pill);background:var(--line);height:12px;overflow:hidden}.lifebar span{background:var(--good);height:100%;display:block}.lifebar span.mid{background:var(--warn)}.lifebar span.end{background:var(--bad)}.flags{gap:var(--space-2);padding:0;list-style:none;display:grid}.flags li{border-left:4px solid var(--warn);background:var(--surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0;padding:8px 12px}.status{color:var(--ink-muted);font-size:14px;line-height:20px}.status b{color:var(--ink)}.plate-fig{gap:var(--space-2);margin:0;display:grid}.plate-fig svg{width:100%;max-width:420px;height:auto}.plate-fig figcaption{color:var(--ink-muted);font-size:14px}.formats{gap:var(--space-4);display:grid}.fmt{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);gap:var(--space-2);display:grid}.pattern{font:600 18px/26px var(--font-mono);letter-spacing:.08em}.table-wrap{background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}th{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);white-space:nowrap;font-size:12px}tr:last-child td{border-bottom:0}.link-grid{gap:var(--space-2) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(150px,1fr));margin:0;padding:0;list-style:none;display:grid}.link-grid a{font-weight:600;text-decoration:none}.link-grid a:hover{text-decoration:underline}.note{padding:var(--space-4);border:1px dashed var(--line);border-radius:var(--radius-md)}.shop{gap:var(--space-2);padding:0;list-style:none;display:grid}.shop a{font-weight:600}.faq{gap:var(--space-4);display:grid}.faq h3{margin-bottom:4px}
