:root{color-scheme:dark;--ink: #f7e7d5;--muted: #bda392;--deep: #120a0c;--line: #4a2f2b;--brass: #e0a45c;--hot: #e2703a;--cool: #7fd0c4;--bad: #f0705a;--good: #8fcb93;--warn: #e8bb62;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--deep)}body{color:var(--ink)}button,output{font:inherit;color:inherit}button{cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed}button:focus-visible{outline:2px solid var(--brass);outline-offset:2px}kbd{display:inline-block;border:1px solid #6b4a3e;padding:1px 5px;color:var(--ink);font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#app{position:fixed;inset:0;display:flex;flex-direction:column}#stage{flex:1 1 auto;min-height:0;width:100%;display:block;touch-action:none}#grain{position:absolute;inset:0;pointer-events:none;z-index:1;background:radial-gradient(ellipse 78% 74% at 52% 46%,transparent 42%,rgba(9,4,5,.62) 100%),repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,220,190,.14) 4px);opacity:.92;mix-blend-mode:multiply}#grain:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,226,196,.13) 4px);mix-blend-mode:screen;opacity:.5}#hud{flex:0 0 auto;display:flex;align-items:stretch;gap:10px;padding:9px 14px;background:#140b0df2;border-bottom:1px solid var(--line)}.mark{display:flex;align-items:center;gap:10px;margin:0;letter-spacing:.16em;font-size:11px;font-weight:700;flex:0 0 auto}.mark i{display:block;width:18px;height:18px;border-radius:50%;background:radial-gradient(circle at 50% 40%,#ffdcae,#e0a45c 48%,#7a3a18)}.mark span{display:grid;gap:2px}.mark small{color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.1em}#gauges{flex:1 1 auto;display:flex;gap:6px;min-width:0}.gauge{flex:1 1 0;min-width:0;margin:0;padding:5px 8px;display:grid;gap:1px;background:#22141a;border:1px solid var(--line);border-left:3px solid var(--line)}.gauge[data-tone=good]{border-left-color:var(--good)}.gauge[data-tone=bad]{border-left-color:var(--bad)}.gauge span{font-size:8px;letter-spacing:.13em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gauge b{font:700 15px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}.gauge[data-tone=bad] b{color:var(--bad)}.gauge em{font-size:8px;font-style:normal;letter-spacing:.1em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hud-actions{display:flex;gap:6px;flex:0 0 auto}.hud-actions button{border:1px solid var(--line);background:#22141a;padding:7px 9px;font:10px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.08em}.hud-actions button:hover{border-color:var(--brass);color:var(--brass)}#dock{flex:0 0 auto;display:flex;flex-direction:column;gap:7px;padding:9px 14px 12px;background:#140b0df5;border-top:1px solid var(--line);max-height:56vh;overflow-y:auto}#order-line{margin:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}#order-line b{font:700 10px ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--brass)}#order-line span{font-size:13px;font-weight:600;letter-spacing:.04em}#order-line em{margin-left:auto;font:9px ui-monospace,Menlo,monospace;font-style:normal;letter-spacing:.12em;color:var(--muted)}#status{margin:0;padding:7px 10px;background:#26161b;border:1px solid var(--line);font:11px/1.45 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink)}#spoke-strip{display:flex;gap:4px;overflow-x:auto;padding-bottom:2px}.spoke{flex:0 0 auto;width:42px;padding:4px 2px;display:grid;gap:1px;justify-items:center;background:#1d1115;border:1px solid var(--line);border-bottom:3px solid var(--line)}.spoke b{font:700 11px ui-monospace,Menlo,monospace;color:var(--muted)}.spoke i{font:10px ui-monospace,Menlo,monospace;font-style:normal;color:var(--ink)}.spoke[data-tone=good]{border-bottom-color:var(--good)}.spoke[data-tone=warn]{border-bottom-color:var(--warn)}.spoke[data-tone=bad]{border-bottom-color:var(--bad)}.spoke[data-tone=out]{border-bottom-color:#6a2320;background:#2a1214}.spoke.on{background:#3a2418;border-color:var(--brass)}.spoke.on b{color:var(--brass)}#readout{display:grid;gap:5px;padding:7px 10px;background:#1d1115;border:1px solid var(--line)}.readout-head{margin:0;display:flex;justify-content:space-between;gap:8px;align-items:baseline}.readout-head b{font:700 10px ui-monospace,Menlo,monospace;letter-spacing:.16em;color:var(--brass)}.readout-head em{font:9px ui-monospace,Menlo,monospace;font-style:normal;letter-spacing:.1em;color:var(--muted);text-align:right}.readout-numbers{margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.readout-numbers span{display:grid;gap:1px;font-size:8px;letter-spacing:.12em;color:var(--muted)}.readout-numbers b{font:700 14px ui-monospace,Menlo,monospace;color:var(--ink);letter-spacing:0}#pull-bar{position:relative;height:6px;background:#2c1a1c;border:1px solid var(--line)}#pull-fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,#4c6f63,var(--cool) 70%,var(--brass))}#pull-limit{position:absolute;top:-3px;bottom:-3px;width:2px;background:var(--bad)}#controls{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}#controls button{min-height:40px;padding:6px 4px;background:#22141a;border:1px solid var(--line);font:10px ui-monospace,Menlo,monospace;letter-spacing:.06em;color:var(--ink)}#controls button:hover{border-color:var(--brass);color:var(--brass)}#controls button:active{background:#3a2418}#controls button:disabled{opacity:.4}#spoke-prev,#spoke-next{font-size:15px}#refit-button{border-color:var(--hot);color:var(--hot)}.phase-panel{display:grid;gap:7px;padding:8px 10px;background:#1d1115;border:1px solid var(--line)}.panel-note{margin:0;font:10px/1.5 ui-monospace,Menlo,monospace;color:var(--muted);letter-spacing:.04em}.panel-read{margin:0;font:11px/1.5 ui-monospace,Menlo,monospace;color:var(--ink)}.panel-read b{color:var(--brass)}.panel-warn{margin:0;font:10px/1.5 ui-monospace,Menlo,monospace;color:var(--bad)}.stepper{display:flex;align-items:stretch;border:1px solid var(--line)}.stepper button{width:44px;background:#22141a;font-size:16px}.stepper button:hover{background:#3a2418;color:var(--brass)}.stepper output{flex:1 1 auto;display:grid;place-items:center;background:#180e11;font:700 12px ui-monospace,Menlo,monospace;letter-spacing:.08em}#tyre-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}#tyre-choice button{padding:6px 4px;background:#22141a;border:1px solid var(--line);display:grid;gap:2px}#tyre-choice button b{font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.1em}#tyre-choice button small{font:8px ui-monospace,Menlo,monospace;letter-spacing:.08em;color:var(--muted)}#tyre-choice button.on{border-color:var(--brass);color:var(--brass);background:#33210f}#stock-panels{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stock-group{display:grid;gap:4px;align-content:start}.stock-label{margin:0;font:9px ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--brass)}.stock{padding:6px 7px;background:#22141a;border:1px solid var(--line);display:grid;gap:2px;text-align:left}.stock b{font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.06em}.stock small{font:9px/1.35 ui-monospace,Menlo,monospace;color:var(--muted)}.stock.on{border-color:var(--brass);color:var(--brass);background:#33210f}.stock:hover{border-color:var(--brass)}.primary{width:100%;min-height:46px;padding:12px 16px;background:var(--brass);color:#1a0d04;font:700 12px ui-monospace,Menlo,monospace;letter-spacing:.16em}.primary:hover{background:#f2bd7c}.primary:disabled{background:#2a1a1c;color:#7d6660}.screen{position:fixed;z-index:10;inset:0;display:flex;align-items:center;justify-content:center;gap:28px;padding:26px;background:#0b0607e0;backdrop-filter:blur(4px);overflow-y:auto}.title-screen{justify-content:space-between;background:linear-gradient(100deg,#0b0607f2,#0b0607ad 46%,#0b060742)}.title-copy{width:min(600px,100%)}.eyebrow{margin:0;color:var(--brass);font:10px ui-monospace,Menlo,monospace;letter-spacing:.24em}.title-copy h1{margin:14px 0 16px;font-size:clamp(38px,7.4vw,82px);line-height:.9;letter-spacing:-.045em;font-weight:700}.lede{margin:0 0 20px;max-width:520px;color:#e2cdb9;font-size:clamp(13px,1.35vw,15px);line-height:1.55}.title-copy .primary{width:auto;min-width:240px}.title-keys{margin:18px 0 0;color:var(--muted);font:10px/1.9 ui-monospace,Menlo,monospace;letter-spacing:.06em}.shelf-card{width:min(300px,100%);padding:18px;background:#180d0ff0;border:1px solid var(--line)}.shelf-card>span{font:9px ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--brass)}.shelf-card p{margin:13px 0 0;padding-top:12px;border-top:1px solid var(--line);font-size:12px;line-height:1.5;color:var(--muted)}.shelf-card b{display:block;color:var(--ink);font:700 11px ui-monospace,Menlo,monospace;letter-spacing:.12em;margin-bottom:3px}.card{width:min(440px,100%);padding:24px;background:#180d0ff5;border:1px solid var(--line);display:grid;gap:10px}.card.wide{width:min(680px,100%);max-height:92vh;overflow-y:auto}.card h2{margin:4px 0 8px;font-size:clamp(19px,2.6vw,27px);line-height:1.1;letter-spacing:-.02em}.card p{margin:0;font-size:13px;line-height:1.55;color:#ddc7b3}.glossary{margin:4px 0 10px;display:grid;gap:9px}.glossary dt{font:700 10px ui-monospace,Menlo,monospace;letter-spacing:.14em;color:var(--brass)}.glossary dd{margin:2px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}.glossary b{color:var(--ink)}.secondary{padding:10px 16px;border:1px solid var(--line);color:var(--muted);font:10px ui-monospace,Menlo,monospace;letter-spacing:.12em}.secondary:hover{color:var(--ink);border-color:var(--brass)}#verdict-table{width:100%;border-collapse:collapse;font:11px ui-monospace,Menlo,monospace}#verdict-table th,#verdict-table td{padding:6px;text-align:right;border-bottom:1px solid var(--line)}#verdict-table th{text-align:left;font-weight:400;letter-spacing:.1em;color:var(--muted)}#verdict-table tr[data-tone=bad] td{color:var(--bad)}#verdict-table tr[data-tone=good] td{color:var(--good)}#verdict-faults{margin:4px 0 10px;padding-left:18px;color:var(--bad);font:11px/1.6 ui-monospace,Menlo,monospace}#verdict-faults:empty{display:none}#end-tally{display:grid;gap:5px;margin:4px 0 10px}#end-tally span{padding:7px 9px;background:#1d1115;border:1px solid var(--line);font:10px ui-monospace,Menlo,monospace;letter-spacing:.04em}@media(max-width:860px){#hud{display:grid;grid-template-columns:1fr auto;gap:6px;padding:7px 9px}.mark{font-size:10px}.mark small{display:none}.mark i{width:14px;height:14px}.hud-actions{grid-column:2;grid-row:1}.hud-actions button{padding:8px 6px;font-size:9px;letter-spacing:.04em}#gauges{grid-column:1 / -1;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.gauge{padding:3px 5px;gap:0}.gauge span{font-size:7px;letter-spacing:.04em}.gauge b{font-size:12px}.gauge em{display:none}#dock{padding:7px 9px 9px;max-height:50vh;gap:5px}#order-line{gap:6px}#order-line span{font-size:12px}#order-line em{width:100%;margin-left:0;font-size:8px}#status{padding:5px 8px;font-size:10px;line-height:1.4}.spoke{width:34px;padding:3px 1px}.spoke b{font-size:10px}.spoke i{font-size:9px}#readout{padding:5px 8px;gap:3px}.readout-head b{font-size:9px}.readout-head em{font-size:8px}.readout-numbers b{font-size:12px}.readout-numbers span{font-size:7px}#controls{gap:4px}#controls button{min-height:38px;font-size:9px;padding:4px 2px}#spoke-prev,#spoke-next{font-size:14px}.phase-panel{padding:6px 8px;gap:5px}.panel-note{font-size:9px;line-height:1.45}.stepper button{width:38px}.stepper output{font-size:11px}#tyre-choice button b{font-size:10px}.primary{min-height:42px;padding:10px 12px;font-size:11px;letter-spacing:.12em}#stock-panels{grid-template-columns:1fr;gap:5px}.stock{grid-template-columns:84px 1fr;align-items:baseline;padding:5px 7px}.stock b{font-size:10px}.stock small{font-size:8px}.title-screen{flex-direction:column;align-items:flex-start;justify-content:center;gap:16px}.title-copy h1{font-size:clamp(34px,10vw,52px)}.lede{font-size:12px;line-height:1.5}.title-copy .primary{width:100%}.title-keys{font-size:9px;line-height:1.8}.shelf-card{width:100%;padding:13px}.shelf-card p{margin-top:9px;padding-top:9px;font-size:11px}.card{padding:18px}.card h2{font-size:20px}.glossary dd{font-size:11px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
