:root{color-scheme:dark;font-family:Menlo,Consolas,monospace;background:#050706;color:#e2e6ec;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}button{font:700 12px Menlo,Consolas,monospace;cursor:pointer;color:inherit;background:#1b2332;border:1px solid #495163;border-radius:4px;padding:14px 16px;touch-action:manipulation}button:hover{filter:brightness(1.18)}button:focus-visible,canvas:focus-visible{outline:2px solid #f5d34b;outline-offset:3px}button:disabled{opacity:.4;cursor:default}#game{height:100dvh;display:flex;flex-direction:column;max-width:2400px;margin:auto}#hud{min-height:58px;display:flex;align-items:center;gap:14px;background:#101624;border-bottom:1px solid #263344;padding:5px 12px;z-index:2;font-size:12px}.score-block{display:flex;flex-direction:column;border-right:1px solid #344051;padding-right:14px;min-width:70px}.score-block span{font-size:10px;color:#f6d54a}.score-block strong{font-size:14px;margin-top:3px}.operation{display:flex;flex-direction:column;gap:3px;flex:1}.operation small{font-size:10px;color:#8f96a6}.operation strong{color:#57bf95;font-size:12px}.health-block{display:flex;align-items:center;gap:12px}#lives{color:#ef594e;font-size:25px;white-space:nowrap}.health-label{font-size:9px;display:flex;justify-content:space-between}progress{display:block;width:92px;height:6px;border:0;margin-top:4px;background:#293342}progress::-webkit-progress-bar{background:#293342}progress::-webkit-progress-value{background:#50b98b}progress::-moz-progress-bar{background:#50b98b}#weapon{display:flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap}#weapon i{width:9px;height:9px;border-radius:50%;background:#f5d34b}#weapon em{font-style:normal;color:#f5d34b}nav{display:flex;gap:8px;margin-left:auto}#objectives{border-color:#477e69;color:#8cdabb;background:#14241f}#viewport{position:relative;flex:1;min-height:0;overflow:hidden;background:#000}canvas{width:100%;height:100%;display:block;touch-action:none}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#0000000d 0,#0000000d 2px,transparent 2px,transparent 4px);opacity:.65}#announcement{position:absolute;top:24%;left:50%;transform:translateX(-50%);text-align:center;pointer-events:none;font-weight:bold;color:#8fd7ff;text-shadow:2px 2px #10131b;max-width:90%;font-size:18px}#overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000a;z-index:4;padding:20px;overflow-y:auto}#overlay[hidden]{display:none}#panel{width:450px;max-width:100%;max-height:100%;overflow-y:auto;background:#111627;border:2px solid #b78c42;border-radius:12px;padding:24px;box-shadow:0 0 25px #0005;text-align:center}#panel.briefing{border-color:#51aa85;text-align:left}#panel h1{font-size:38px;line-height:1.08;color:#f6d54a;margin:16px 0 12px;letter-spacing:1px}#panel h2{font-size:24px;color:#f6d54a;margin:18px 0 6px}#panel p{font-size:14px;line-height:1.5;margin:12px 0;color:#d0d3df}.eyebrow{font-size:12px;letter-spacing:1px;color:#f6d54a;font-weight:700}.briefing .eyebrow{color:#68c9a6;display:flex;justify-content:space-between;gap:8px}.subheading{font-size:12px;color:#98a3b5}.inset{background:#090d19;border:1px solid #252b3d;border-radius:4px;padding:12px;margin:16px 0;font-size:12px;line-height:1.7}.controls div{display:flex;justify-content:space-between;gap:12px;text-align:right;padding:3px 0;font-size:11px}.controls div span:first-child{color:#f6d54a;text-align:left}.primary,.secondary{width:100%;margin:5px 0;padding:15px;font-size:16px;border-radius:7px}.primary{color:#10121a;background:#f6d54a;border-color:#f6d54a}.secondary{background:#419b7d;border:2px solid #70cba3;color:#fff}.quiet{color:#abb4c5;border:0;text-decoration:underline;background:transparent;font-size:12px;padding:10px}.fine{font-size:10px!important;color:#87c8b1!important}.best{color:#f6d54a!important;font-size:11px!important}.report h3{font-size:11px;color:#f4c755;margin:0 0 6px}.report p{font-size:12px!important;margin:8px 0!important}.report p::before{content:"▶ ";color:#dcaa48}.objectives h3{color:#68c9a6;margin:0 0 8px;font-size:11px}.objective{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;text-align:left}.objective span{color:#a3a8b9;background:#21283a;font-size:9px;padding:4px}.objective.done{color:#69cba4}.objective.done span{color:#69cba4}.menu-buttons{display:grid;gap:9px;margin-top:18px}.menu-buttons button{padding:15px;font-size:13px}.tactic{text-align:left;font-size:12px;line-height:1.7;margin:12px 0}.tactic b{color:#f6d54a}#touch-controls{position:absolute;inset:0;pointer-events:none;z-index:3}#touch-controls[hidden]{display:none}.dpad{position:absolute;bottom:24px;left:24px;display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(2,48px);gap:4px}.dpad button,.touch-actions button{pointer-events:auto;background:#111c2bc9;border:1px solid #668a7e80;user-select:none;touch-action:none;font-size:18px;padding:0}.dpad button:first-child{grid-column:2}.dpad button:nth-child(2){grid-column:1;grid-row:2}.dpad button:nth-child(3){grid-column:2;grid-row:2}.dpad button:nth-child(4){grid-column:3;grid-row:2}.touch-actions{position:absolute;right:24px;bottom:24px;display:flex;align-items:end;gap:12px}.touch-actions button{width:52px;height:52px;border-radius:50%;font-size:12px}.touch-actions .fire{width:76px;height:76px;color:#f6d54a;border-color:#d0a94a;font-size:16px}@media(max-width:700px){#hud{gap:6px;padding:5px 6px;min-height:65px;flex-wrap:wrap}.operation{min-width:150px}.operation strong{font-size:9px}.health-block{gap:5px}#lives{font-size:20px}progress{width:65px}#weapon{font-size:10px;padding:10px 8px;min-height:32px}nav{gap:4px}nav button{padding:9px 10px}#objectives span{display:none}#fullscreen{display:none}#overlay{padding:12px}#panel{padding:19px}#panel h1{font-size:32px}#panel h2{font-size:21px}#announcement{font-size:13px;top:30%}.dpad{left:12px;bottom:12px}.touch-actions{right:12px;bottom:12px}}@media(max-height:560px){#panel{padding:14px}#panel h1{font-size:26px;margin:8px}#panel p{font-size:12px;margin:8px}.inset{margin:9px 0;padding:8px}.primary,.secondary{padding:10px;font-size:13px}.fine{display:none}.quiet{padding:6px}#hud{min-height:48px}#panel .controls div{padding:1px}}
