header .brand span{color:#c8d3e5}#score{display:flex;align-items:center;gap:12px;padding:7px 13px;border:1px solid #c1a97f88;border-radius:7px;background:#0d1a2bd9;font-size:12px;font-weight:800;letter-spacing:.08em}#score .blue{color:#7dcdfb}#score .red{color:#f28b83}#score b{color:#f6e2bf}#mission{border-color:#bbbd9a99}#result h1{max-width:450px}#result p{max-width:470px;line-height:1.5}@media(max-width:900px){header .brand span{display:none}#score{gap:5px;padding:5px;font-size:9px}#mission{font-size:10px}}
#aim-readout{background:#101b2bdc;border:1px solid #8ebbc4aa;border-radius:5px;padding:8px 10px;color:#a7f1e5;font-size:11px;font-weight:800;white-space:nowrap}@media(max-width:900px){#aim-readout{font-size:9px;padding:6px}}
#gold-readout{background:#201b14eb;border:1px solid #d5ac5f;border-radius:5px;padding:8px 10px;color:#ffd575;font-size:12px;font-weight:900;white-space:nowrap}@media(max-width:900px){#gold-readout{padding:6px;font-size:10px}#hud{gap:6px}}
#game{cursor:none}
#tactical-status{position:fixed;top:108px;left:18px;z-index:3;font-size:11px;font-weight:800;color:#a9f1a7;background:#142d29dd;border:1px solid #659d78;padding:7px 10px;border-radius:5px;pointer-events:none}#tactical-status:empty{display:none}
#use-launcher{position:fixed;left:50%;bottom:130px;transform:translateX(-50%);z-index:3;padding:12px 18px;border:1px solid #e6bd65;border-radius:7px;background:#153047f2;color:#ffe6a7;font-weight:800;box-shadow:0 0 16px #ffa83c33}#use-launcher[hidden]{display:none}#use-launcher:disabled{opacity:.65;cursor:default}
#launch-dialog{width:min(510px,calc(100vw - 26px));padding:26px;border:1px solid #d6ae67;border-radius:12px;color:#e8f2f1;background:#0f2335;box-shadow:0 16px 90px #000b}#launch-dialog::backdrop{background:#04101aaa}#launch-dialog h2{color:#ffe0a4;margin:8px 0}#launch-dialog p{font-size:13px;color:#b5d0d7}#launch-dialog small{font-size:10px;letter-spacing:.08em;color:#b8c7c6}.launch-routes{display:grid;gap:10px;margin:20px 0}.launch-routes button{display:grid;text-align:left;gap:6px;padding:15px;border:1px solid #51746f;border-radius:6px;background:#18363e;color:#daf4d0}.launch-routes button:hover,.launch-routes button:focus-visible{border-color:#f4c870;background:#284b4b;outline:2px solid #b7d5a7}.launch-routes span{font-size:12px;color:#b8d1d2}#close-launcher{position:absolute;right:12px;top:9px;border:0;background:transparent;color:#d8e4e8;font-size:25px}
#game{image-rendering:auto}#movement-readout{position:fixed;top:105px;left:12px;padding:7px 10px;background:#122333e8;border:1px solid #7bbaad;color:#b9f5dd;font-size:11px;z-index:4}#movement-readout[hidden]{display:none}
#launch-dialog{width:min(1040px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:18px;overflow:auto}#launch-dialog h2{font-size:21px;margin:6px 0 12px}.launch-map{position:relative;overflow:hidden;border:1px solid #698173;border-radius:8px;background:#0b1c2b;isolation:isolate}.launch-map-art{display:block;width:100%;height:auto;opacity:.79;image-rendering:pixelated}.route-led{position:absolute;left:33.4%;top:var(--route-y);transform:translate(-16px,-50%);display:flex;align-items:center;gap:10px;padding:7px 10px 7px 5px;color:#e7ffe1;border:1px solid #80f0bd;border-radius:24px;background:#102d28ed;font-size:11px;white-space:nowrap;cursor:pointer;box-shadow:0 0 15px #51e8ad44}.route-led[data-route=upper]{--route-y:27.5%}.route-led[data-route=middle]{--route-y:56.2%;border-color:#ffe391;color:#fff3c8}.route-led[data-route=lower]{--route-y:86.6%;border-color:#8bdffe;color:#ddf9ff}.route-led i{width:19px;height:19px;flex:none;border:2px solid #e7fff6;border-radius:50%;background:#70ffc0;box-shadow:0 0 7px #92ffd8,0 0 17px #46e8a9;animation:route-pulse 1.2s ease-in-out infinite}.route-led[data-route=middle] i{background:#ffd766;box-shadow:0 0 13px #ffd766}.route-led[data-route=lower] i{background:#76ddff;box-shadow:0 0 13px #76ddff}.route-led:hover,.route-led:focus-visible{outline:2px solid #fff;outline-offset:3px;filter:brightness(1.25)}.cannon-occupant{position:absolute;left:15.6%;top:56.2%;transform:translate(-50%,-50%);z-index:2;text-align:center}.cannon-occupant img{display:block;width:42px;height:34px;object-fit:contain;border:3px solid #dba95f;border-radius:50%;background:#0b1423;box-shadow:0 0 14px #f3c76c88}.cannon-occupant span{display:block;margin-top:4px;color:#ffdf9b;background:#102239ed;padding:3px;font-size:8px;white-space:nowrap}#launch-dialog>small:last-child{display:block;margin-top:10px;letter-spacing:0}
@keyframes route-pulse{50%{filter:brightness(1.35);box-shadow:0 0 10px #ddffee,0 0 24px #66f8bb}}@media(max-width:600px){#launch-dialog{padding:12px}#launch-dialog h2{font-size:17px}.route-led{font-size:8px;gap:5px;padding:5px}.route-led i{width:15px;height:15px}.cannon-occupant img{width:29px;height:25px}.cannon-occupant span{font-size:6px}.launch-map{min-height:235px}.launch-map-art{height:235px;object-fit:fill}}
.cannon-occupant{transform:translate(-50%,-82%)}#occupied-cannon-preview{display:block;width:96px;height:79px;image-rendering:pixelated;pointer-events:none;touch-action:auto}@media(max-width:600px){#occupied-cannon-preview{width:60px;height:49px}}
#player-panel{display:flex;align-items:end;gap:8px;padding:5px;background:#101b2bef;border:1px solid #c9a264;border-radius:8px;box-shadow:0 4px 18px #07101c99}
#player-panel img{display:block;width:74px;height:74px;object-fit:contain;image-rendering:pixelated;border-radius:4px}
.player-vitals{display:flex;flex-direction:column;gap:4px}
.player-vitals>strong{font-size:12px;letter-spacing:.14em;color:#f5d392}
#player-panel .health{padding:5px;background:transparent;border:0}
.health>div{position:relative}.health>div em,.health>div i{position:absolute;left:0;top:0;height:100%;display:block}.health>div em{width:100%;background:#e4575a}.health>div i{z-index:1}
@media(max-width:900px){#player-panel img{width:52px;height:52px}.player-vitals>strong{font-size:9px}#player-panel{gap:4px;padding:3px}#player-panel .health{padding:2px}#aim-readout{position:fixed;top:94px;left:8px}}
@media(max-width:600px){#player-panel img{width:42px;height:42px}#player-panel .health>div{width:66px}#aim-readout{top:108px}}
