:root{--soot-900: #100b07;--soot-800: #1a120b;--soot-700: #241a11;--panel: #171009;--panel-2: #1f160d;--line: #4a3720;--brass: #eda863;--brass-dim: #a8763c;--chalk: #ece2cf;--chalk-soft: #c9bda6;--ember: #ff9d6b;--steel: #8fd0d6;--iron: #9a8f7e;--bad: #ff8f6b;--serif: Georgia, "Iowan Old Style", "Times New Roman", serif;--mono: ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--shadow: 0 22px 48px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{overscroll-behavior:none;background:var(--soot-900);color:var(--chalk);font-family:var(--mono);-webkit-text-size-adjust:100%}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--brass);outline-offset:2px}[hidden]{display:none!important}#app{position:relative;isolation:isolate}#stage{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(128% 96% at 50% 44%,transparent 38%,rgba(8,5,3,.58) 100%),linear-gradient(180deg,rgba(10,7,4,.38),transparent 22%,transparent 72%,rgba(10,7,4,.46))}.hud{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;padding:12px 14px;gap:9px;pointer-events:none}.hud button,.shop,.panel,.judge{pointer-events:auto}.hud-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.brand{display:grid;gap:2px;padding:7px 12px;border-radius:4px;background:var(--panel);border:1px solid var(--line)}.brand strong{font-family:var(--serif);font-size:17px;font-weight:600;letter-spacing:.12em;line-height:1;color:var(--chalk)}.brand span{font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}.hud-actions{display:flex;gap:6px}.hud-actions button,.touch button,.card-actions button,.acts button,.dim,.keys+.acts button{border:1px solid var(--line);border-radius:4px;background:var(--panel-2);color:var(--chalk);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:9px 12px;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .12s ease}.hud-actions button:hover,.touch button:hover,.acts button:hover{border-color:var(--brass);background:#2a1f12}.hud-actions button:active,.touch button:active,.acts button:active{transform:translateY(1px)}.hud-actions button[aria-pressed=true]{background:var(--brass);border-color:var(--brass);color:var(--soot-900)}.hud-body{flex:1;min-height:0;display:flex;gap:12px;align-items:stretch;justify-content:space-between}.hud-stats{width:288px;min-width:0;display:flex;flex-direction:column;gap:8px;overflow-y:auto;scrollbar-width:thin}.panel{padding:10px 12px 12px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.panel-title{margin:0 0 7px;font-size:8.5px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}.brief-name{margin:0;font-family:var(--serif);font-size:17px;line-height:1.1;color:var(--chalk)}.brief-client{margin:2px 0 9px;font-size:9.5px;line-height:1.35;color:var(--chalk-soft)}.dims{display:grid;gap:5px}.dim{display:grid;gap:3px;text-align:left;padding:7px 9px}.dim[aria-pressed=true]{border-color:var(--brass);background:#2a1f12}.dim-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dim-label{font-size:8px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-soft)}.dim-val{font-size:13px;font-weight:700;color:var(--chalk)}.dim-ask{font-size:8.5px;font-weight:700;letter-spacing:.08em;color:var(--brass-dim)}.dim.hit .dim-val,.dim.hit .dim-ask{color:var(--steel)}.dim.miss .dim-ask{color:var(--ember)}.track{position:relative;display:block;height:6px;border-radius:3px;background:#2b2016;overflow:hidden}.track .band{position:absolute;top:0;bottom:0;background:#4e3a1c}.track .pip{position:absolute;top:-2px;width:2px;height:10px;background:var(--chalk)}.dim.hit .track .pip{background:var(--steel)}.brief-line{margin:9px 0 0;font-family:var(--serif);font-size:11.5px;line-height:1.45;color:var(--chalk-soft)}.readout{display:grid;grid-template-columns:1fr 1fr;gap:5px 10px;margin:0}.readout>div{display:grid;gap:1px;min-width:0}.readout dt{font-size:7.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--chalk-soft)}.readout dd{margin:0;font-size:13px;font-weight:700;color:var(--chalk);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.readout dd.warn{color:var(--ember)}.readout dd.good{color:var(--steel)}.readout dd.bad{color:var(--bad)}.readout>div.wide{grid-column:1 / -1}.gauge{position:relative;height:7px;border-radius:4px;background:#2b2016;margin:0 0 9px;overflow:hidden}.gauge span{display:block;height:100%;background:linear-gradient(90deg,#5b3a1a,var(--brass))}.gauge i{position:absolute;top:0;bottom:0;background:#8fd0d657;border-left:1px solid var(--steel);border-right:1px solid var(--steel)}.gauge i.over{background:#ff9d6b66;border-color:var(--ember)}.keys{margin:8px 0 0;padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2)}.keys p{margin:0 0 4px;display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--chalk-soft)}.keys p:last-child{margin-bottom:0}kbd{min-width:20px;padding:2px 5px;border:1px solid #5b4527;border-bottom-width:2px;border-radius:3px;background:#2b2016;font-family:var(--mono);font-size:9px;text-align:center;color:var(--chalk)}.acts{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}.acts button{flex:1 1 auto;min-width:108px;padding:11px 12px}.acts button.primary{background:var(--brass);border-color:var(--brass);color:var(--soot-900)}.acts button.primary:hover{background:#ffbb7a}.acts button.ghost{background:var(--panel-2)}.acts button[disabled]{opacity:.42;cursor:not-allowed}.shop{width:226px;flex:0 0 auto;display:grid;grid-template-columns:34px 1fr;grid-template-rows:auto auto 1fr;gap:4px 10px;padding:10px 12px 11px;border:1px solid var(--line);border-radius:5px;background:var(--panel)}.thermo{position:relative;grid-row:1;grid-column:1;height:100%;min-height:120px;border-radius:4px;overflow:hidden;background:linear-gradient(to top,#1c1815,#33333a 20%,#3a1206 28%,#541a05,#7d2305,#9c2c05 43%,#c7400a,#e8641a 55%,#ff8a2b 60%,#ffa63a,#ffc861,#ffe6a8,#fff6e2);box-shadow:inset 0 0 0 1px #0009}.thermo-band{position:absolute;left:0;right:0;border-top:1px dashed rgba(236,226,207,.9);border-bottom:1px dashed rgba(236,226,207,.9);background:#ece2cf33;box-shadow:0 0 0 1px #0a070499}.thermo-mark{position:absolute;left:-2px;right:-2px;height:4px;background:var(--chalk);box-shadow:0 0 0 1px #0a0704f2,0 0 10px #ffe6b499}.thermo-tick{position:absolute;left:3px;font-size:6.5px;font-weight:700;color:#ece2cfcc;text-shadow:0 0 3px #000}.thermo-tick--top{top:2px}.thermo-tick--mid{top:50%}.thermo-tick--bot{bottom:2px}.shop-read{grid-row:1;grid-column:2;display:flex;align-items:flex-start;gap:9px;min-width:0;padding-top:2px}.swatch{width:34px;height:34px;flex:0 0 auto;border-radius:3px;background:#1c1815;box-shadow:inset 0 0 0 1px #4a3720,0 0 12px #00000080}.shop-temp{display:grid;gap:1px;min-width:0}.shop-temp strong{font-size:19px;line-height:1;letter-spacing:.01em;color:var(--chalk)}.shop-temp span{font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brass)}.shop-band{margin:2px 0 0;grid-column:1 / -1;grid-row:2;font-size:8.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--chalk-soft)}.profile-fig{grid-column:1 / -1;grid-row:3;margin:4px 0 0;display:grid;gap:4px;justify-items:center}.profile-fig canvas{display:block;width:100%;height:62px;background:var(--panel-2);border:1px solid var(--line);border-radius:3px}.profile-fig figcaption{font-size:7.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--chalk-soft)}.judge{padding:9px 14px;border-radius:4px;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--brass-dim)}.judge[data-tone=good]{border-left-color:var(--steel)}.judge[data-tone=mid]{border-left-color:var(--brass)}.judge[data-tone=bad]{border-left-color:var(--ember)}.judge-head{margin:0 0 3px;font-size:8px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--brass)}.judge-body{margin:0;font-family:var(--serif);font-size:13px;line-height:1.45;color:var(--chalk)}.judge-body.result{font-family:var(--mono);font-size:11.5px;line-height:1.6}.hud-bottom{display:flex;flex-direction:column;gap:8px;align-items:center}.coach{background:var(--panel);border:1px solid var(--line);font-family:var(--serif);font-size:12.5px;line-height:1.4;text-align:center;color:var(--chalk)}.coach[data-tone=good]{border-color:#3d6b70}.coach[data-tone=mid]{border-color:var(--brass-dim)}.coach[data-tone=bad],.coach[data-tone=warn]{border-color:#8a4a30}.touch{display:none;width:100%;align-items:flex-end;justify-content:space-between;gap:10px}.pad{display:grid;grid-template-columns:repeat(2,54px);grid-template-rows:repeat(2,46px);gap:5px}.pad button:nth-child(1){grid-column:1;grid-row:1}.pad button:nth-child(2){grid-column:2;grid-row:1}.pad button:nth-child(3){grid-column:1;grid-row:2}.pad button:nth-child(4){grid-column:2;grid-row:2}.touch-acts{display:grid;grid-template-columns:1fr 1fr;gap:6px}.touch button{min-height:44px;touch-action:none}.touch button[data-held=true],#t-actA{background:var(--brass);border-color:var(--brass);color:var(--soot-900)}.screen{position:absolute;inset:0;z-index:40;display:grid;place-items:center;padding:20px;background:radial-gradient(125% 95% at 50% 38%,#0c080557,#060402cc);backdrop-filter:blur(2px);overflow:auto}.card{width:min(680px,100%);padding:clamp(18px,3.2vw,32px);border:1px solid var(--line);border-radius:6px;background:#1a120b;box-shadow:var(--shadow)}.card--wide{width:min(900px,100%)}.eyebrow{margin:0 0 10px;font-size:8.5px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}h1{margin:0 0 12px;font-family:var(--serif);font-size:clamp(2.4rem,7vw,4rem);font-weight:500;line-height:.94;letter-spacing:-.015em;color:var(--chalk)}h2{margin:0 0 10px;font-family:var(--serif);font-size:clamp(1.5rem,4.2vw,2.2rem);font-weight:500;line-height:1.04;color:var(--chalk)}.lede{margin:0 0 14px;max-width:62ch;font-family:var(--serif);font-size:14px;line-height:1.58;color:var(--chalk)}.brief{margin:0 0 16px;padding:0 0 0 20px;display:grid;gap:7px}.brief li{font-family:var(--serif);font-size:12.5px;line-height:1.55;color:var(--chalk-soft)}.brief strong{color:var(--chalk)}.control-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;margin:0 0 18px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.control-grid span{display:flex;align-items:center;gap:5px;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--chalk-soft)}.card-actions{display:flex;flex-wrap:wrap;gap:8px}.card-actions button{padding:12px 18px;font-size:11px}.card-actions button.primary{background:var(--brass);border-color:var(--brass);color:var(--soot-900)}.card-actions button.primary:hover{background:#ffbb7a}.card-actions button.ghost{background:var(--panel-2)}.book-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:18px;align-items:start;margin:4px 0 18px}.book-stats{display:grid;gap:7px;margin:0}.book-stats div{padding:8px 10px;border:1px solid var(--line);border-radius:4px;background:var(--panel-2)}.book-stats dt{font-size:7.5px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--chalk-soft)}.book-stats dd{margin:2px 0 0;font-family:var(--serif);font-size:15px;color:var(--chalk)}.book-stats dd.good{color:var(--steel)}.book-stats dd.mid{color:var(--brass)}.book-stats dd.bad{color:var(--bad)}.book-blade{border:1px solid var(--line);border-radius:4px;background:var(--panel-2);padding:8px}.book-blade canvas{display:block;width:100%;height:190px}@media(max-width:1080px){.shop{width:204px}.hud-stats{width:258px}}@media(max-width:860px),(pointer:coarse){.touch{display:flex}.hud{padding:8px 8px 10px;gap:7px}.hud-body{flex-direction:column-reverse;gap:7px}.hud-stats{width:auto;flex-direction:row;align-items:stretch;gap:7px;overflow:visible}.panel{flex:1 1 0;min-width:0}.shop{width:auto;flex:0 0 auto;grid-template-columns:26px 1fr 84px;grid-template-rows:auto auto;align-items:center;padding:8px 10px}.thermo{grid-row:1;grid-column:1;min-height:56px;height:56px}.shop-read{grid-row:1;grid-column:2;align-items:center;padding-top:0}.shop-band{grid-column:1 / -1;grid-row:3;margin:0}.swatch{width:28px;height:28px}.shop-temp strong{font-size:17px}.profile-fig{grid-column:3;grid-row:1 / 3;align-content:center}.profile-fig canvas{height:44px}.profile-fig figcaption{display:none}.readout{grid-template-columns:1fr 1fr;gap:4px 8px}.readout dd{font-size:12px}.brand strong{font-size:15px}.hud-actions button{padding:8px 9px;font-size:9px}.coach{font-size:11.5px;padding:6px 10px}.book-body{grid-template-columns:1fr}.book-blade canvas{height:130px}}@media(max-width:620px){.thermo{grid-column:1 / -1;grid-row:2;width:100%;height:26px;min-height:26px;background:linear-gradient(to right,#1c1815,#33333a 20%,#3a1206 28%,#9c2c05 43%,#c7400a,#e8641a 55%,#ff8a2b 60%,#ffa63a,#ffc861,#ffe6a8,#fff6e2)}.thermo-mark{inset:-2px auto;width:4px;height:auto}.thermo-band{inset:0 auto;border-top:0;border-bottom:0;border-left:1px dashed rgba(236,226,207,.9);border-right:1px dashed rgba(236,226,207,.9)}.thermo-tick--mid,.thermo-tick--bot{display:none}.shop{grid-template-columns:1fr 84px;grid-template-rows:auto 30px auto}.shop-read{grid-column:1;grid-row:1}.profile-fig{grid-column:2;grid-row:1}.thermo{grid-column:1 / -1;grid-row:2}.shop-band{grid-column:1 / -1;grid-row:3;margin:0}.panel{padding:8px 10px 10px}.brief-name{font-size:15px}.brief-client{display:none}.dim{padding:6px 8px}.brief-line{display:none}.control-grid{grid-template-columns:1fr}.pad{grid-template-columns:repeat(2,50px);grid-template-rows:repeat(2,42px)}.touch-acts button{min-width:96px;font-size:9.5px}.brief li{font-size:11.5px}.lede{font-size:13px}.keys{display:none}}@media(max-height:620px)and (orientation:landscape){.profile-fig{display:none}.pad{grid-template-columns:repeat(2,44px);grid-template-rows:repeat(2,38px)}.touch button{min-height:38px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
