:root{color-scheme:dark;font-family:Inter,Segoe UI,Arial,sans-serif;color:#e6f3ff;background:#050b16}*{box-sizing:border-box}body{margin:0;overflow:hidden}canvas#battle{position:fixed;width:100vw;height:100vh;display:block;background:#050d19}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #aaf0ff}.hidden{display:none!important}.overlay{position:fixed;z-index:30;inset:0;display:flex;justify-content:center;align-items:center;overflow-y:auto;padding:20px;background:linear-gradient(125deg,#050f1ef2,#071322ed 55%,#060b17ef);backdrop-filter:blur(9px)}.intro,.dialog{width:min(1050px,97vw);padding:33px;border:1px solid #3b7692;border-radius:12px;background:linear-gradient(130deg,#0c1c31,#111525);box-shadow:0 30px 120px #000a;position:relative}.intro{max-height:96vh;overflow-y:auto}.dialog{max-width:900px;max-height:90vh;overflow-y:auto}.back{display:inline-block;text-decoration:none;color:#8ee4fa;margin-bottom:16px;font-size:12px;font-weight:800;letter-spacing:2px}.eyebrow{color:#6bd4ee;letter-spacing:3px;font-size:11px;font-weight:800}.intro h1{font-size:clamp(40px,7vw,80px);margin:8px 0;letter-spacing:7px;color:#f5faff;text-shadow:0 0 55px #23bdf866}.dialog h2{font-size:37px;margin:10px 0}.lead{font-size:16px;line-height:1.7;max-width:790px;color:#a8c1d6}.two{display:grid;grid-template-columns:260px 1fr;gap:24px;margin:22px 0}.two h3,.dialog h3{font-size:12px;letter-spacing:2px;color:#9cd7ed}.options{display:grid;gap:10px}.pick,.ship-option{border:1px solid #3a5a74;color:#bbdff4;background:#11243b;padding:13px;border-radius:6px;text-align:left}.pick{font-size:14px;font-weight:bold}.picked,.pick:hover,.ship-option.selected,.ship-option:hover{border-color:#66d4ff;background:#1b425c;box-shadow:0 0 15px #2baff733}.shipgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}.ship-option{display:flex;flex-direction:column;gap:5px;min-height:100px}.ship-option b{font-size:12px}.ship-option span{font-size:11px;color:#a5b9c9}.ship-option em{font-size:10px;color:#9fe9fb;font-style:normal}.controls{display:flex;flex-wrap:wrap;gap:13px;margin:20px 0;padding:15px;border:1px solid #28425d;border-radius:8px;background:#071828}.controls b{width:100%;letter-spacing:2px;color:#85d4ea;font-size:11px}.controls span{font-size:11px;color:#afcbdb}.launch{width:100%;border:1px solid #b8f8ff;border-radius:6px;background:linear-gradient(100deg,#4dcff0,#679cf5);color:#071320;padding:15px;font-size:15px;font-weight:900;letter-spacing:2px}.launch:hover{filter:brightness(1.15)}.hint{font-size:10px;color:#718fa8;text-align:center;margin-top:14px}.close{position:absolute;right:25px;top:20px;background:#20334a;color:white;padding:10px;border:1px solid #45637e;border-radius:6px}.inventory{margin:10px 0 18px;display:flex;gap:15px;flex-wrap:wrap;color:#dceec0;font-size:12px}.secondary{padding:11px 18px;margin-top:14px;border-radius:6px;background:#254c64;border:1px solid #52a7ca;color:#e3faff}.top{position:fixed;z-index:6;left:18px;right:18px;top:15px;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}.brand{font-weight:900;letter-spacing:3px;font-size:21px}.brand small{font-size:9px;letter-spacing:2px;color:#86d8ef;display:block}#score{display:flex;align-items:center;gap:26px;font-size:10px;letter-spacing:2px;font-weight:800;border:1px solid #365570;border-radius:5px;background:#09182acf;padding:13px 25px}#score b{font-size:25px;margin-left:8px}.blue{color:#79ddff}.red{color:#ff7a9b}#fps{font-size:11px;color:#8eafc4}.bottom{position:fixed;z-index:7;bottom:15px;left:20px;width:min(355px,calc(100vw - 40px));padding:14px;background:#081829e8;border:1px solid #315975;border-radius:7px}.statline{display:flex;justify-content:space-between;align-items:center;gap:7px;font-size:10px;margin-bottom:10px}.statline b{font-size:14px}#tier{color:#f4cc81}#status{color:#70dbba}.meter{margin:8px 0}.meter label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:1px;color:#b0cde1;margin-bottom:4px}.meter>div{height:7px;background:#243548;border-radius:9px;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#3987e2,#88e4ff);width:100%}.meter.health i{background:linear-gradient(90deg,#c45f6e,#ffa47c)}.resources{display:flex;gap:11px;flex-wrap:wrap;font-size:11px;margin:12px 0;color:#d8d8a7}.buttons{display:flex;gap:5px}.buttons button{flex:1;font-size:9px;font-weight:700;padding:8px 5px;border:1px solid #43627b;background:#132d46;border-radius:4px;color:#bcecff}.command{position:fixed;right:20px;bottom:195px;padding:10px 13px;background:#091827d6;border:1px solid #38536e;border-radius:6px;width:220px;display:grid;gap:7px;font-size:10px}.command b{letter-spacing:2px;color:#89d9ec}.command span{color:#a1b5c4;line-height:1.7}.command strong{color:#f4d399}.minimap{position:fixed;right:20px;bottom:20px;border:1px solid #476983;border-radius:6px;background:#071729e0;padding:8px;text-align:center}.minimap canvas{display:block}.minimap span{font-size:9px;letter-spacing:1.5px;color:#99c8d5}#notice{position:fixed;top:94px;left:50%;transform:translateX(-50%);background:#102c41e0;border:1px solid #4e90ac;padding:10px 18px;border-radius:6px;color:#e2f7ff;font-size:12px;opacity:0;transition:opacity .2s;pointer-events:none}#notice.show{opacity:1}@media(max-width:760px){.two{grid-template-columns:1fr}.intro{padding:18px}.top{left:8px;right:8px}#fps{display:none}#score{gap:8px;padding:9px;font-size:8px}#score b{font-size:17px}.brand{font-size:14px}.command{display:none}.minimap{right:8px;bottom:190px;padding:4px}.minimap canvas{width:135px;height:95px}.bottom{bottom:8px;left:8px;width:calc(100vw - 16px)}}
/* Energy generator status — yellow-orange weapon charge */
.meter.energy i{background:linear-gradient(90deg,#b66a26,#ffd777)}
.meter.energy label{color:#ffe2a0}
.meter.energy.low i{background:linear-gradient(90deg,#ae4449,#ff8e55)}

/* Reaction Control System flight mode toggle */
.rcs-row{display:flex;align-items:center;gap:10px;margin:10px 0 6px}
.rcs-row button{border:1px solid #62d4e9;background:#143951;color:#aaf6ff;border-radius:5px;padding:7px 13px;font-weight:800;letter-spacing:.08em;font-size:11px;min-width:115px}
.rcs-row button.rcs-off{border-color:#efad72;background:#463020;color:#ffcf91}
.rcs-row span{color:#91afc5;font-size:10px;letter-spacing:.07em}

.mineral{display:inline-flex;align-items:center;border-radius:4px;padding:4px 6px;border:1px solid #566b79;font-size:10px;font-weight:700;letter-spacing:.02em;background:#1b2c3c;color:#b6c5d1}
.mineral.ready{color:#9dffb3;background:#14432f;border-color:#3cbd79}
.mineral.missing{color:#b8bfcd;background:#1b293a}
.resources,.inventory{display:flex;flex-wrap:wrap;gap:5px}
.weapon-row{margin:10px 0 2px}
.weapon-row button{border:1px solid #bd9be9;background:#302449;color:#f1d3ff;border-radius:5px;padding:8px 12px;font-weight:800;font-size:11px;letter-spacing:.045em;width:100%;text-align:left}
.weapon-row button:hover{background:#473268}

.weapon-row .weapon-fixed{display:block;border:1px solid #bd9be9;background:#302449;color:#f1d3ff;border-radius:5px;padding:9px 12px;font-weight:800;font-size:11px;letter-spacing:.045em;cursor:default}
