:root{color-scheme:dark;font-family:Consolas,"Yu Gothic",Meiryo,monospace;background:#06111e;color:#d8faff}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 50% 25%,#12334b 0%,#06111e 65%);display:grid;place-items:center}.shell{width:min(100vw - 24px,1080px);padding:20px 0}.masthead{display:flex;justify-content:space-between;align-items:end;margin:0 4px 13px}.eyebrow{font-size:10px;letter-spacing:.32em;color:#5dc9d0}.masthead h1{margin:4px 0 0;font-size:clamp(21px,4vw,36px);letter-spacing:.11em;line-height:1;color:#ecfaff;text-shadow:0 0 18px #25c8dd66}.masthead h1 em{font-style:normal;color:#ffb777}.iconButton{border:1px solid #36738a;background:#0b2839;color:#c2edf4;border-radius:3px;padding:9px 12px;font:700 12px Consolas,monospace;cursor:pointer}.gameFrame{position:relative;aspect-ratio:16/9;border:2px solid #31748b;box-shadow:0 0 0 5px #071f2b,0 12px 60px #000b,0 0 30px #20acc144;overflow:hidden;background:#030c17}canvas{display:block;width:100%;height:100%;touch-action:none}.scanlines{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0 3px,#0002 4px 5px);mix-blend-mode:multiply}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#03101ca8;backdrop-filter:blur(2px)}.overlay.hidden{display:none}.panel{width:min(80%,620px);max-height:90%;overflow:auto;border:1px solid #4694a7;background:linear-gradient(155deg,#0c2637ef,#071522f5);box-shadow:0 0 0 5px #051e2dbb,0 16px 40px #0009;text-align:center;padding:30px 28px;color:#e6fcff}.kicker{font-size:12px;letter-spacing:.3em;color:#68dce4}.panel h2{font-size:clamp(26px,4vw,48px);margin:8px 0 4px;line-height:1.05;letter-spacing:.07em}.panel h2 span{color:#ffb979}.panel .jp{font-size:14px;color:#91c5d0;letter-spacing:.3em;margin:0 0 17px}.panel p{font-size:13px;line-height:1.7;color:#bddde1}.panel .feature{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:20px 0}.panel .feature span{font-size:11px;border:1px solid #326478;padding:6px 10px;color:#a5dce4}.primary,.route{font:700 15px Consolas,"Yu Gothic",monospace;border:1px solid #baf5f9;background:#42cbd9;color:#072030;padding:12px 24px;cursor:pointer;letter-spacing:.1em}.primary:hover,.primary:focus{background:#a4f9ff}.small{font-size:11px!important;color:#719eaa!important}.routes{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.route{background:#102e40;color:#dcfaff;border-color:#3f8294;text-align:left;font-size:13px;line-height:1.5}.route strong{display:block;color:#fdb879;font-size:19px}.route.selected,.route:hover{border-color:#fcba79;background:#234352;box-shadow:0 0 16px #f8a55f50}.help{display:flex;justify-content:center;gap:22px;flex-wrap:wrap;color:#5d8998;font-size:11px;letter-spacing:.04em;margin-top:17px}.help b{color:#b9e3e8;font-weight:400}.touchControls{display:none;position:absolute;inset:auto 8px 8px 8px;justify-content:space-between;pointer-events:none}.touchControls button{pointer-events:auto;touch-action:none;min-width:46px;min-height:42px;border:1px solid #78e5e3aa;background:#072c47bb;color:#d5ffff;border-radius:5px;font-weight:bold}.dpad{display:flex;flex-direction:column;align-items:center;gap:2px}.dpad>div{display:flex;gap:2px}.actions{display:flex;align-items:end;gap:8px}.actions button{width:65px;height:65px;border-radius:50%}.actions button:last-child{width:76px;height:76px;background:#256978d9}@media(pointer:coarse){.touchControls{display:flex}.help{display:none}}@media(max-width:650px){.shell{width:100vw;padding:5px}.masthead{margin:4px 7px 8px}.masthead h1{font-size:20px}.gameFrame{border-width:1px}.panel{width:90%;padding:15px 12px}.panel h2{font-size:25px}.panel p{font-size:11px}.panel .feature{margin:10px 0}.routes{gap:5px;margin:9px 0}.route{padding:7px;font-size:10px}.route strong{font-size:13px}.touchControls button{min-width:39px;min-height:34px}.actions button{width:48px;height:48px}.actions button:last-child{width:60px;height:60px}}
.toolbar{display:flex;gap:8px}.menuButtons{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.menuButtons button,.galleryControls button,.missionGrid button{font:700 12px Consolas,"Yu Gothic",sans-serif;cursor:pointer;padding:10px 14px;background:#143346;color:#c9eef1;border:1px solid #407c8f;border-radius:3px}.menuButtons .primary{background:#72dce2;color:#061c29}.missionGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:16px 0;text-align:left}.missionGrid button{text-align:left;padding:10px;font-size:11px}.missionGrid b{color:#edb582}.missionGrid .selected,.galleryControls .selected{border-color:#edbd89;background:#284959}.weaponBar{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px;margin-top:15px}.weaponBar button{background:#0b2737;border:1px solid #285366;color:#88b8c5;padding:8px 3px;font:700 10px "Yu Gothic",sans-serif;cursor:pointer;border-radius:3px}.weaponBar button small{display:block;font:11px Consolas;margin-bottom:4px;color:#587d8c}.weaponBar .selected{color:#e0ffff;border-color:#87ede5;background:#1c4654;box-shadow:0 0 14px #6cfff325}.galleryControls{display:flex;justify-content:center;gap:5px;flex-wrap:wrap;margin-top:12px}.galleryControls[hidden]{display:none}.touchControls .actions #weaponTouch{width:44px;height:44px;border-radius:5px}.panel{width:min(88%,720px);padding:20px 24px}.panel .feature{gap:7px;margin:15px 0}.panel .feature span{font-size:10px;padding:5px 8px}@media(max-width:650px){.weaponBar{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;margin-top:8px}.weaponBar button{padding:5px 2px;font-size:9px}.weaponBar button small{display:inline;margin-right:5px}.panel{width:94%;padding:10px}.panel h2{font-size:24px}.missionGrid{gap:3px;margin:7px 0}.missionGrid button{font-size:9px;padding:6px 4px}.menuButtons{gap:5px}.menuButtons button{padding:7px;font-size:10px}.kicker{font-size:9px}.toolbar .iconButton{font-size:10px;padding:7px}.panel .feature{margin:7px 0}.panel .jp{margin-bottom:5px}.panel p{margin:6px 0}.galleryControls button{font-size:10px;padding:6px}.masthead h1{font-size:17px}.eyebrow{font-size:7px}}

.gamepadHelp { color:#9cc7cf; font-size:12px; text-align:center; padding:0 12px; }
button:focus-visible { outline:3px solid #e9c47c; outline-offset:3px; }

#burstTouch{width:55px;height:55px;font-size:10px}#burstTouch:disabled{opacity:.4}.ready{box-shadow:0 0 16px #baffee;background:#256a6b!important}.scanlines{opacity:.4}.shell:fullscreen{width:100vw;height:100vh;padding:0;background:#06111e;display:flex;flex-direction:column;justify-content:center}.shell:fullscreen .gameFrame{width:min(100vw,calc((100vh - 125px)*16/9));margin:auto;flex-shrink:0}.shell:fullscreen .masthead{display:none}.shell:fullscreen .help{margin:6px}.shell:fullscreen .gamepadHelp{margin:4px}.shell:fullscreen .weaponBar{margin:4px 10px}
@media(max-width:650px){.masthead{align-items:center;gap:8px}.toolbar{flex-wrap:wrap;justify-content:flex-end;gap:4px}.toolbar .iconButton{padding:5px;font-size:9px}.gamepadHelp{font-size:10px}.touchControls .actions{gap:3px}#burstTouch{width:44px;height:44px}.touchControls .actions button{font-size:10px}.touchControls{inset:auto 4px 4px}.panel .feature{display:none}}
@media(pointer:coarse) and (orientation:portrait){.gameFrame{overflow:visible;margin-bottom:105px}.touchControls{bottom:-100px;height:90px}.touchControls button{background:#143b50}.actions button:last-child{background:#256978}.panel{max-height:94%}}

@media(pointer:coarse) and (orientation:landscape){body{display:block}.shell{width:100%;padding:3px 8px}.masthead{margin:0 0 5px;align-items:center}.eyebrow{display:none}.masthead h1{font-size:15px}.toolbar .iconButton{font-size:10px;padding:4px 7px}.gameFrame{width:min(100%,calc((100dvh - 90px)*16/9));margin:0 auto}.gamepadHelp{display:none}.weaponBar{margin:5px auto 0;max-width:720px;grid-template-columns:repeat(10,minmax(0,1fr))}.weaponBar button{font-size:8px;padding:4px 1px}.weaponBar button small{display:none}.touchControls{bottom:28px}.touchControls button{opacity:.8}.touchControls .actions button{width:45px;height:45px}.touchControls .actions button:last-child{width:50px;height:50px}}

.overlay{z-index:5}.overlay:not(.hidden) ~ .touchControls{visibility:hidden;pointer-events:none}

.weaponBar button.locked{opacity:.36;cursor:default;background:#061922;box-shadow:none}.weaponBar button.locked small{color:#a1adb3;letter-spacing:.1em}
