:root{--heat-ink:#e5f1f5;--heat-muted:#92a9b5;--heat-cyan:#78dff2;--heat-orange:#ff9a59}
html,body{background:#080e14;color:var(--heat-ink);font-family:"Segoe UI",Arial,sans-serif;touch-action:none}
button{font:inherit;cursor:pointer}#c{position:fixed;inset:0;width:100%;height:100%;outline:none}
#vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 47%,transparent 45%,#03070d8c 100%)}
#heat-title{position:fixed;top:25px;left:29px;pointer-events:none;text-shadow:0 2px 13px #000}
#heat-title:before{content:"";position:absolute;left:-12px;top:0;bottom:2px;width:2px;background:var(--heat-cyan)}
.eyebrow{font:600 10px Consolas,monospace;letter-spacing:2px;color:#9bb1bd}
.live-dot{display:inline-block;width:5px;height:5px;margin-right:6px;background:var(--heat-cyan);box-shadow:0 0 8px var(--heat-cyan)}
#heat-title h1{font:750 26px "Segoe UI",Arial,sans-serif;letter-spacing:4px;margin:8px 0}
#heat-title h1 span{color:#728994}#heat-title h1 small{font-size:11px;font-weight:500;letter-spacing:2px}
.heat-status{position:fixed;top:25px;right:29px;width:225px;padding:12px 15px;border-top:1px solid #8bc3d66e;background:linear-gradient(130deg,#0a1723d6,#0a17236e);text-shadow:0 1px 7px #000}
.heat-status .eyebrow{display:flex;justify-content:space-between;font-size:9px}.heat-status #record{color:#718e9c;letter-spacing:0}
.score-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-top:6px}.score-line strong{font:700 29px Consolas,monospace;letter-spacing:1px}.score-line span{font:700 18px Consolas,monospace;color:#ffb574}
.status-minor{display:flex;justify-content:space-between;color:#94b9c6;font:12px Consolas,monospace;margin-top:4px}.status-minor #cores{color:#ffab70;letter-spacing:3px}
.heat-bank{position:fixed;left:29px;bottom:90px;padding:11px 13px;border-left:2px solid var(--heat-cyan);background:linear-gradient(90deg,#0a1723d8,#0a172385);min-width:201px;text-shadow:0 1px 8px #000}
.heat-bank .eyebrow{font-size:9px}.valve-list{display:flex;gap:9px;margin:9px 0}.valve-list span{display:grid;place-items:center;width:36px;height:33px;border:1px solid #4d7280;background:#112331;color:#7096a4;font:700 12px Consolas,monospace;transition:background .14s,color .14s,box-shadow .14s}
.valve-list span.active{color:#e9fbff;border-color:#92e7f2;background:#247289;box-shadow:0 0 16px #6de3f260}.heat-bank #gate-status{font:9px Consolas,monospace;letter-spacing:.7px;color:#9db6c0}.heat-bank.gate-open #gate-status{color:#88f0f3;text-shadow:0 0 11px #36e2f5}
.heat-pressure{position:fixed;right:29px;bottom:90px;width:204px;padding:11px 13px;border-right:2px solid #ff9a59;background:linear-gradient(270deg,#1b1920d8,#0a172385);text-shadow:0 1px 8px #000}
.pressure-label{display:flex;justify-content:space-between;font:9px Consolas,monospace;letter-spacing:1px;color:#b0b8bc}.pressure-label b{font-size:12px;color:#f3e6da}.pressure-track{height:7px;background:#31434a;margin:9px 0;overflow:hidden}.pressure-track i{display:block;width:12%;height:100%;background:linear-gradient(90deg,#56c9e5,#ffc075,#ff6d47)}
.heat-pressure.critical{border-color:#ff5a43;box-shadow:0 0 19px #ff4b3747}.heat-pressure small{font:9px Consolas,monospace;letter-spacing:.4px;color:#8ca7b4}
#notice{position:fixed;top:15%;left:50%;transform:translateX(-50%);pointer-events:none;white-space:nowrap;color:#f9d8ac;text-shadow:0 2px 17px #000,0 0 15px #ff914d70;font:700 13px Consolas,monospace;letter-spacing:2px;opacity:0;transition:opacity .25s}
.heat-nav{position:fixed;right:29px;bottom:23px;display:flex;gap:16px;align-items:center;z-index:8}.heat-nav a,.heat-nav button{border:0;background:transparent;color:#a3b8c2;text-decoration:none;padding:4px 0;font:9px Consolas,monospace;letter-spacing:1px}
.heat-nav a:hover,.heat-nav button:hover{color:#fff}.heat-nav button:focus-visible,.heat-nav a:focus-visible,.touch-controls button:focus-visible,#overlay button:focus-visible,#help button:focus-visible{outline:2px solid #8be8f6;outline-offset:3px}
#overlay.overlay{background:linear-gradient(0deg,#040912a6,transparent 62%);align-items:end;padding:0 16px 75px}#overlay .heat-card{width:min(440px,100%);max-width:440px;text-align:center;background:#0b1824eb;border:1px solid #80aac14f;border-top:2px solid #ff9b5b;padding:20px 28px;box-shadow:0 15px 55px #0008}
#overlay .heat-card h2,#help h2{font-size:23px;font-weight:650;letter-spacing:3px;margin:8px 0;color:#eff8fa}#overlay .heat-card p{margin:8px 0 16px;color:#adc2cc;font:12px/1.6 "Segoe UI",Arial,sans-serif}
#overlay .heat-card button,#help button{border:1px solid #ffc18b;background:#bd6837;color:#fff6ef;padding:11px 25px;font:700 11px Consolas,monospace;letter-spacing:1.5px}#overlay .heat-card button:hover,#help button:hover{background:#e6864c}#overlay .heat-card button:disabled{opacity:.55;cursor:wait}
.overlay-controls{margin-top:14px;font:9px Consolas,monospace;letter-spacing:1px;color:#91acb8}.overlay-controls span{margin:0 5px}#overlay kbd,#help kbd{border:1px solid #6f9caf66;background:#6f9caf2a;color:#d9f8ff;padding:3px 5px;font:inherit}
#help{position:fixed;inset:0;z-index:11;display:grid;place-items:center;background:#03090ed6;padding:18px}#help[hidden]{display:none}.help-card{width:min(560px,100%);padding:25px 29px;background:#0b1925f6;border:1px solid #6d92a3;border-top:2px solid #87d6e8}.help-card p{margin:13px 0;color:#b5cbd3;font:12px/1.65 "Segoe UI",Arial,sans-serif}.help-card b{color:#a1e6f2}.help-card button{margin-top:6px}
.touch-controls{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);display:none;align-items:end;justify-content:space-between;width:min(100%,440px);padding:0 12px;pointer-events:none;z-index:5}.touch-controls button{pointer-events:auto;user-select:none;-webkit-user-select:none;touch-action:none;border:1px solid #83a9ba89;background:#102536cd;color:#d8f5f9;box-shadow:inset 0 1px 0 #afebfa26;font:700 11px Consolas,monospace;letter-spacing:1px}
.touch-controls button:active,.touch-controls button.engaged{background:#285c70;border-color:#b0f2fa}.touch-controls #left-flipper,.touch-controls #right-flipper{width:102px;height:69px;display:flex;justify-content:space-between;align-items:center;padding:0 12px}.touch-controls b{font-size:28px;color:#7ae3ed}.touch-controls #launch-nudge{width:80px;height:49px;color:#ffc894;border-color:#dba16d9a;font-size:10px}.touch-controls #launch-nudge small{font-size:8px;color:#d3ad94}
@media(pointer:coarse){.touch-controls{display:flex}.heat-bank,.heat-pressure{bottom:101px}.heat-nav{bottom:177px;right:14px;gap:10px}}
@media(max-width:700px){#heat-title{top:15px;left:19px}#heat-title h1{font-size:19px;letter-spacing:2px}#heat-title h1 small{display:block;font-size:8px;letter-spacing:1px;margin-top:3px}#heat-title h1 span{display:none}.eyebrow{font-size:8px}.heat-status{top:15px;right:11px;width:155px;padding:8px 10px}.heat-status .eyebrow{font-size:7px;letter-spacing:.6px}.score-line strong{font-size:20px}.score-line span{font-size:14px}.status-minor{font-size:10px}.heat-bank{left:9px;bottom:83px;min-width:136px;padding:7px 8px}.heat-bank .eyebrow{font-size:7px;letter-spacing:.4px}.valve-list{gap:5px;margin:6px 0}.valve-list span{width:27px;height:25px;font-size:9px}.heat-bank #gate-status{font-size:7px;max-width:126px;line-height:1.2}.heat-pressure{right:9px;bottom:83px;width:138px;padding:7px 8px}.pressure-label{font-size:7px}.pressure-label b{font-size:9px}.heat-pressure small{font-size:7px}.heat-nav{right:9px;bottom:11px;gap:9px}.heat-nav a,.heat-nav button{font-size:8px}#overlay .heat-card{padding:16px 18px}#overlay .heat-card h2{font-size:19px}#overlay .heat-card p{font-size:11px}.overlay-controls{font-size:8px}#overlay.overlay{padding-bottom:72px}#notice{top:23%;font-size:10px;letter-spacing:1px}}
@media(pointer:coarse) and (max-width:700px){.heat-bank,.heat-pressure{top:98px;bottom:auto;height:31px;padding:6px 8px;background:#0a1926f2}.heat-bank{min-width:0;width:145px}.heat-bank .eyebrow{font-size:8px}.heat-bank .valve-list,.heat-bank #gate-status,.heat-pressure small{display:none}.heat-bank.gate-open .eyebrow{color:#8ff3ff}.heat-pressure{width:138px}.heat-pressure .pressure-track{height:4px;margin:3px 0 0}.heat-nav{bottom:81px;left:50%;right:auto;transform:translateX(-50%);width:max-content;max-width:96vw;gap:10px;padding:3px 7px;border-top:1px solid #6d9bac6b;background:#0a1a25e8}.touch-controls{bottom:10px}#overlay.overlay{padding-bottom:82px}}
@media(max-width:390px){.heat-status{width:137px}.score-line strong{font-size:18px}.heat-nav a,.heat-nav button{font-size:7px}.heat-nav{gap:7px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
