@font-face{font-family:Orbitron;src:url(/assets/images/Orbitron.ttf) format("truetype");font-display:swap}:root{font-family:Inter,Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,sans-serif;color:#effafa;background:#030a10;font-synthesis:none;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;min-height:100%;overflow:hidden}body{overscroll-behavior:none}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid #8bfff0;outline-offset:3px}[hidden]{display:none!important}#scene,#interaction,#flight-hud,.overlay{position:fixed;inset:0}#scene canvas{display:block;width:100%;height:100%}#interaction{z-index:2;touch-action:none}.overlay{z-index:20;overflow-y:auto;overflow-x:hidden;background:#030a10}.title-screen{isolation:isolate}.title-art,.title-shade,.title-grain,.panel-backdrop{position:fixed;inset:0;pointer-events:none}.title-art{background:#071423 url(/assets/images/title.jpg) center 50% / cover no-repeat;opacity:.87}.title-shade{background:linear-gradient(90deg,#030b12,#030b12fc 34%,#030b12e8 47%,#030b121f 78%),linear-gradient(0deg,#030b12 0%,transparent 25%,rgba(3,11,18,.17) 78%,rgba(3,11,18,.7) 100%)}.title-grain{opacity:.15;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(124,214,226,.09) 4px);mix-blend-mode:screen}.title-layout{min-height:100%;position:relative;display:flex;flex-direction:column;padding:max(28px,env(safe-area-inset-top)) clamp(28px,5.1vw,92px) max(24px,env(safe-area-inset-bottom))}.title-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.brand-mark{display:flex;gap:12px;align-items:center;color:#e9f7f5;font:700 11px/1.4 Orbitron,sans-serif;letter-spacing:.15em}.brand-symbol{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(121,255,225,.65);color:#9fffe9;font-size:22px;clip-path:polygon(50% 0,100% 88%,0 88%)}.brand-mark i,.title-footer p span{color:#68e5cb;font-style:normal}.brand-mark small{display:block;margin-top:3px;color:#71908f;font:500 8px/1 Orbitron,sans-serif;letter-spacing:.18em}.header-status{color:#b9d1ce;font:600 9px Orbitron,sans-serif;letter-spacing:.18em;white-space:nowrap}.header-status i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#92ffe3;box-shadow:0 0 10px #6bffe0}.header-status span{color:#57746f;padding:0 6px}.title-content{width:min(620px,52%);margin:auto 0;padding:40px 0 34px}.eyebrow{display:flex;gap:12px;align-items:center;color:#91cfc6;font:600 9px Orbitron,sans-serif;letter-spacing:.19em}.eyebrow span{width:38px;height:1px;background:#78e8d1}.eyebrow b{margin-left:10px;color:#728c8c;font-size:8px}h1{margin:26px 0 24px;font:800 clamp(48px,7.3vw,118px)/.95 Orbitron,sans-serif;letter-spacing:-.045em}h1 span{display:block;background:linear-gradient(180deg,#fff 10%,#cce5e6 56%,#799aa4);color:transparent;-webkit-background-clip:text;background-clip:text;text-shadow:0 0 55px rgba(115,212,217,.13)}h1 em{display:block;margin-top:12px;color:#def5f1;font:600 clamp(14px,1.65vw,25px)/1 Orbitron,sans-serif;letter-spacing:.36em;font-style:normal;white-space:nowrap}.title-lead{margin:0 0 12px;color:#f4fcfa;font-size:clamp(17px,1.55vw,24px);font-weight:600;line-height:1.7;letter-spacing:.13em}.title-description{color:#9db4b7;font-size:12px;line-height:2;letter-spacing:.05em}.title-actions{display:flex;gap:10px;margin-top:28px;align-items:stretch}.primary-button,.secondary-button{border:0;text-align:left;display:inline-flex;align-items:center;justify-content:space-between;gap:25px;min-height:62px;padding:13px 19px;transition:background .2s,border-color .2s,transform .2s}.primary-button{min-width:250px;color:#051810;background:#a8f8da;font-weight:800;box-shadow:0 0 32px #6ff7ce1a}.primary-button:hover{background:#d1ffea;transform:translateY(-2px)}.primary-button span,.secondary-button span{display:block;font-size:13px;letter-spacing:.04em}.primary-button small,.secondary-button small{display:block;margin-top:5px;font:700 8px Orbitron,sans-serif;letter-spacing:.1em}.primary-button b{font:400 21px sans-serif}.secondary-button{min-width:170px;background:#071920a6;border:1px solid rgba(144,207,205,.42);color:#e1f5f1}.secondary-button:hover{border-color:#a9ffe8;background:#224c4bcc}.secondary-button small{color:#7eaaa5}.title-links{display:flex;gap:29px;margin-top:24px}.title-links button,.text-button{padding:5px 0;border:0;background:none;color:#aac7c5;font-size:11px;letter-spacing:.08em}.title-links button:hover,.text-button:hover{color:#c7ffeb}.title-links span{margin-left:7px;color:#8aead5}.title-side{position:absolute;top:35%;right:clamp(28px,5.1vw,92px);display:flex;flex-direction:column;align-items:flex-end;color:#b4e0e2ab;font:500 8px/1.8 Orbitron,sans-serif;letter-spacing:.12em}.side-coordinate{border-right:1px solid #6caaa6;padding-right:11px;text-align:right}.side-cross{margin:40px 2px;font-size:20px;color:#a1fae4}.side-label{writing-mode:vertical-rl;letter-spacing:.2em}.side-label span{color:#9cf9df}.title-footer{display:flex;align-items:end;gap:clamp(26px,4vw,70px);border-top:1px solid rgba(150,206,204,.2);padding-top:18px}.title-footer div span,.title-footer div b{display:block;font:600 8px Orbitron,sans-serif;letter-spacing:.13em}.title-footer div span{color:#6c9291;margin-bottom:7px}.title-footer div b{color:#c7e2de}.title-footer p{margin:0 0 2px auto;color:#78938f;font:500 8px Orbitron,sans-serif;letter-spacing:.08em;white-space:nowrap}.panel-screen{display:grid;place-items:center;padding:max(20px,env(safe-area-inset-top)) 20px max(20px,env(safe-area-inset-bottom));background:#02090fdb;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.panel-backdrop{background:radial-gradient(ellipse at 70% 15%,rgba(39,96,107,.3),transparent 50%),linear-gradient(135deg,#06111a,#03090e 70%);z-index:-1}.menu-panel{width:min(720px,100%);padding:clamp(24px,3vw,42px);border:1px solid rgba(143,215,208,.22);background:linear-gradient(140deg,#0a1e27f0,#040d14f7);box-shadow:0 30px 100px #0008}.menu-panel>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px;border-bottom:1px solid #95c2bc2c;color:#749e98;font:600 9px Orbitron,sans-serif;letter-spacing:.12em}.panel-brand{color:#94f4db;font:800 24px Orbitron,sans-serif}.panel-brand span{margin-left:8px;color:#b4d4cf;font:600 9px Orbitron,sans-serif;letter-spacing:.12em}.menu-panel>header small{font-size:8px}.panel-heading{margin:31px 0 24px}.panel-heading>span{color:#82ddca;font:600 9px Orbitron,sans-serif;letter-spacing:.2em}.panel-heading h2{margin:11px 0 8px;color:#f1fbf8;font-size:clamp(24px,3vw,34px);letter-spacing:.07em}.panel-heading p{margin:0;color:#718e8f;font:600 9px/1.6 Orbitron,sans-serif;letter-spacing:.13em}.panel-intro{color:#a7bdbd;font-size:12px;line-height:1.9}.menu-panel>footer{margin-top:32px;padding-top:17px;border-top:1px solid #95c2bc2c;color:#557a77;font:500 8px Orbitron,sans-serif;letter-spacing:.16em}.menu-panel>footer span{color:#91e3ce}.difficulty-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:22px}.difficulty-card{min-height:100px;display:flex;flex-direction:column-reverse;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px;text-align:left;background:#0a1d26;border:1px solid #85a9a733}.difficulty-card.selected{color:#d6fff2;border-color:#90ebd3;background:#143d3c}.difficulty-card b,.difficulty-card small{display:block}.difficulty-card b{font:700 12px Orbitron,sans-serif;letter-spacing:.08em}.difficulty-card small{margin-top:8px;color:#9dbab6;font-size:10px}.difficulty-card i{color:#6d9b95;font:500 9px Orbitron,sans-serif;font-style:normal}.panel-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:26px}.sector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sector-card{min-height:86px;padding:12px;text-align:left;background:#0b2029;border:1px solid #7fc4bb38}.sector-card:hover:not(:disabled){border-color:#9ff5e0}.sector-card:disabled{opacity:.38;cursor:not-allowed}.sector-card span,.sector-card b,.sector-card small{display:block;font-family:Orbitron,sans-serif}.sector-card span{color:#80dbc7;font-size:10px}.sector-card b{margin-top:13px;font-size:9px;line-height:1.5}.sector-card small{margin-top:5px;color:#77948f;font-size:8px}.manual-list{display:grid;gap:15px}.manual-list>div{display:flex;gap:17px;border-bottom:1px solid #a8d6cf1b;padding-bottom:14px}.manual-list>div>b{color:#72d4c0;font:600 10px Orbitron,sans-serif}.manual-list strong,.manual-list small{display:block}.manual-list strong{color:#e1f5ef;font-size:12px}.manual-list small{margin-top:5px;color:#9bb4b1;font-size:11px;line-height:1.7}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:25px;padding:20px 0;border-bottom:1px solid #a8d6cf25}.setting-row strong,.setting-row small{display:block}.setting-row strong{font-size:13px}.setting-row small{color:#759d96;font:600 8px Orbitron,sans-serif;margin-top:6px}.setting-row input{width:52%;accent-color:#91edd4}.display-button{min-width:135px;padding:11px;border:1px solid #8ccdc266;background:#0a2229;color:#c9f5e9;font:600 9px Orbitron,sans-serif}.display-button:disabled{opacity:.45;cursor:not-allowed}.pause-actions{display:grid;gap:12px;max-width:350px}.danger-text{color:#e1aaa1;text-align:left}.upgrade-list{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.upgrade-list button{display:flex;min-height:130px;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:12px;padding:16px;background:#0b252c;border:1px solid #84d6c455;text-align:left}.upgrade-list button:hover{background:#17403e;border-color:#a0fce5}.upgrade-list span{color:#70baab;font:600 8px Orbitron,sans-serif}.upgrade-list b{color:#d3fff0;font:700 15px Orbitron,sans-serif}.upgrade-list small{color:#a8bdb8;font-size:10px;line-height:1.5}.result-score{display:flex;flex-direction:column;gap:10px;margin:26px 0}.result-score span,.result-score small{color:#8eb8af;font:600 9px Orbitron,sans-serif;letter-spacing:.12em}.result-score strong{font:700 clamp(30px,6vw,55px) Orbitron,sans-serif;letter-spacing:.04em}.loading-line{width:100%;height:3px;overflow:hidden;background:#1a3639;margin:30px 0}.loading-line i{display:block;width:35%;height:100%;background:#9bffe1;animation:loading 1.1s ease-in-out infinite alternate}@keyframes loading{to{transform:translate(190%)}}#flight-hud{z-index:5;pointer-events:none;color:#baf7ec;font-family:Orbitron,sans-serif;text-shadow:0 0 7px #32eac880,0 1px 3px #001}.hud-top{position:absolute;top:max(20px,env(safe-area-inset-top));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));display:flex;align-items:start;gap:24px}.hud-sector{min-width:185px}.hud-kicker{display:block;color:#83c9bd;font-size:8px;font-weight:600;letter-spacing:.16em}.hud-kicker b{color:#dcfff3}.hud-sector strong,.hud-score strong{display:block;margin-top:7px;font-size:15px;letter-spacing:.08em}.progress-track,.boss-track,.meter{overflow:hidden;height:3px;background:#b3fff02b}.progress-track{margin-top:9px}.progress-track i,.boss-track i,.meter i{display:block;height:100%;background:#93ffdf;box-shadow:0 0 8px #70ffde;transition:width .12s linear}.hud-score{margin-left:auto;text-align:right}.hud-score strong{font-size:18px}.pause-button{pointer-events:auto;width:43px;height:43px;border:1px solid #a4f7e58a;background:#062021aa;font:700 17px sans-serif;touch-action:manipulation}.boss-panel{position:absolute;top:max(20px,env(safe-area-inset-top));left:50%;width:min(34vw,380px);transform:translate(-50%)}.boss-panel>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:5px}.boss-panel span{font-size:7px;color:#ffb2a1}.boss-panel strong{color:#fff0e8;font-size:11px}.boss-track{height:5px;margin-top:8px;background:#a229293f}.boss-track i{background:#ff7b66;box-shadow:0 0 9px #ff7660}.crosshair{position:absolute;width:64px;height:64px;transform:translate(-50%,-50%);color:#99ffea}.crosshair-ring{position:absolute;inset:11px;border:1px solid currentColor;border-radius:50%;box-shadow:0 0 8px #74ffdb5c,inset 0 0 8px #74ffdb4a}.crosshair-h,.crosshair-v{position:absolute;background:currentColor}.crosshair-h{width:64px;height:1px;top:31px}.crosshair-v{width:1px;height:64px;left:31px}.crosshair:after{content:"";position:absolute;width:4px;height:4px;background:currentColor;left:30px;top:30px}.crosshair small{position:absolute;top:71px;left:50%;transform:translate(-50%);font-size:7px;letter-spacing:.12em}.crosshair.locked{color:#ffcb82}.warning{position:absolute;top:35%;left:50%;width:min(90%,520px);transform:translate(-50%,-50%);text-align:center;color:#ff8c84;text-shadow:0 0 15px #ff1b1b}.warning:before{content:"";position:fixed;inset:-100vh -100vw;z-index:-1;background:#a800001c}.warning>span,.warning strong,.warning b,.warning small{display:block}.warning>span{font:20px sans-serif}.warning strong{margin-top:4px;font-size:clamp(25px,4vw,48px);letter-spacing:.18em}.warning b{margin:6px 0;font-size:11px;letter-spacing:.3em}.warning small{font-size:10px;letter-spacing:.18em}.warning-line{height:1px;margin:12px 0;background:linear-gradient(90deg,transparent,#ff7569,transparent)}.announcement{position:absolute;top:27%;left:50%;width:90%;transform:translate(-50%);text-align:center}.announcement strong,.announcement small{display:block}.announcement strong{font-size:clamp(12px,2vw,21px);letter-spacing:.14em}.announcement small{margin-top:7px;color:#b8ded6;font-size:8px;letter-spacing:.14em}.flight-bottom{position:absolute;bottom:max(20px,env(safe-area-inset-bottom));left:25%;right:25%;display:flex;align-items:end;justify-content:center;gap:20px}.flight-bottom:before{content:"";position:absolute;z-index:-1;inset:-10px -16px -12px;background:radial-gradient(ellipse,#03131de8 15%,transparent 75%)}.flight-readout{min-width:78px}.flight-readout>span,.center-readout span{display:block;color:#8ac9c0;font-size:7px;white-space:nowrap;letter-spacing:.12em}.flight-readout strong{display:block;margin-top:5px;font-size:13px}.flight-readout small,.center-readout small{color:#6da99e;font-size:7px}.meter{margin-top:6px}.energy i{background:#e6d27c}.nova i{background:#92b8ff}.center-readout{min-width:100px;text-align:center}.center-line{height:12px;margin:5px 0;border:1px solid #7cf3d45c;border-left:0;border-right:0}.move-hint{position:absolute;left:max(5vw,env(safe-area-inset-left));bottom:max(8vh,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.65}.move-hint .move-icon{display:grid;place-items:center;width:64px;height:64px;border:1px solid #a5fff0;border-radius:50%;font:25px sans-serif}.move-hint b,.move-hint small,.aim-hint{font-size:8px;letter-spacing:.14em}.move-hint small{color:#7ab9af;font-size:7px}.aim-hint{position:absolute;right:25%;bottom:26%;opacity:.45}.aim-hint span{margin-left:5px}.flight-buttons{position:absolute;right:max(3vw,env(safe-area-inset-right));bottom:max(6vh,env(safe-area-inset-bottom));display:flex;align-items:end;gap:8px}.flight-buttons button{pointer-events:auto;touch-action:none;color:#cafff1;border:1px solid #a0f5e579;background:#052626aa}.flight-buttons button.pressed{background:#92f8dc;color:#05241d}.action-button{display:flex;width:62px;height:62px;align-items:center;justify-content:center;flex-direction:column;border-radius:50%}.action-button span{font:23px/.8 sans-serif}.action-button b{margin-top:5px;font:700 7px Orbitron,sans-serif}.action-button small{margin-top:3px;font:600 6px Orbitron,sans-serif;color:#9acbc3}.nova-button.ready{border-color:#d3fff1;background:#266c63c9;box-shadow:0 0 17px #82ffe980}.speed-buttons{display:flex;flex-direction:column;gap:5px;margin-right:3px}.speed-buttons button{min-width:52px;height:25px;font:600 7px Orbitron,sans-serif}#stick{position:fixed;z-index:8;width:100px;height:100px;margin:-50px;border:1px solid #a1fff6aa;border-radius:50%;background:#48e0c624;pointer-events:none;opacity:0}#stick.engaged{opacity:1}#stick-knob{position:absolute;top:29px;left:29px;width:40px;height:40px;border:1px solid #c2fff5;border-radius:50%;background:#a9fff555}#damage-flash{position:absolute;inset:0;background:radial-gradient(ellipse,transparent 30%,#e72b2680 100%);pointer-events:none}.startup-error{max-width:600px;padding:40px;margin:auto}.startup-error h1{font-size:24px}@media(max-width:800px){.title-content{width:min(570px,72%)}.title-shade{background:linear-gradient(90deg,#030b12,#030b12ed 35%,#030b127a 75%,#030b122e),linear-gradient(0deg,#030b12,transparent 30%)}.title-side{display:none}.flight-bottom{left:22%;right:24%;gap:12px}.center-readout,.ordnance-readout{display:none}.boss-panel{top:75px;width:min(50vw,330px)}}@media(orientation:portrait){.title-layout{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.title-art{background-position:66% center}.title-shade{background:linear-gradient(0deg,#030b12,#030b12f2 27%,#030b12c2 53%,#030b1221),linear-gradient(90deg,#030b128c,transparent)}.title-content{width:100%;margin:auto 0 0;padding:110px 0 34px}h1{font-size:clamp(48px,13vw,76px)}h1 em{font-size:clamp(13px,3.7vw,21px)}.title-footer{gap:20px}.title-footer p{display:none}.flight-bottom{bottom:max(16px,env(safe-area-inset-bottom));left:18px;right:18px;justify-content:space-between}.flight-readout{min-width:70px}.flight-readout>span{font-size:8px}.flight-readout strong{font-size:14px}.flight-buttons{bottom:max(100px,calc(env(safe-area-inset-bottom) + 85px));right:max(12px,env(safe-area-inset-right));gap:5px}.action-button{width:56px;height:56px}.action-button b{font-size:8px}.action-button small{font-size:7px}.move-hint{bottom:max(110px,calc(env(safe-area-inset-bottom) + 100px));left:max(25px,env(safe-area-inset-left))}.aim-hint{right:10%;bottom:30%}.hud-top{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));gap:12px}.hud-sector{min-width:130px}.hud-sector strong{font-size:10px}.hud-score strong{font-size:12px}.boss-panel{top:82px;width:65%}.warning{top:38%}}@media(max-width:480px){.header-status{font-size:7px}.brand-mark{font-size:9px}.brand-mark small{font-size:7px}.title-actions{flex-direction:column;max-width:315px}.primary-button,.secondary-button{min-height:55px}.title-actions .secondary-button{flex-direction:row}.title-content{padding-top:60px}.title-lead{font-size:17px}.title-description{font-size:11px}.difficulty-list{gap:5px}.difficulty-card{padding:11px 8px}.difficulty-card b{font-size:10px}.difficulty-card small{font-size:9px}.sector-grid{grid-template-columns:repeat(2,1fr)}.upgrade-list{grid-template-columns:1fr}.upgrade-list button{min-height:72px}}@media(max-height:600px)and (orientation:landscape){.title-layout{padding-top:14px;padding-bottom:12px}.title-content{padding:15px 0}h1{font-size:clamp(42px,6vw,70px);margin:12px 0}h1 em{margin-top:7px;font-size:13px}.title-lead{font-size:14px;line-height:1.5;margin-bottom:5px}.title-description{font-size:10px;line-height:1.6;margin:5px 0}.title-actions{margin-top:12px}.title-actions .primary-button,.title-actions .secondary-button{min-height:46px;padding:8px 14px}.title-links{margin-top:9px}.title-footer{padding-top:9px}.title-footer div span{margin-bottom:3px}.panel-screen{display:block}.menu-panel{margin:0 auto}.hud-top{top:max(10px,env(safe-area-inset-top))}.hud-sector strong,.hud-score strong{margin-top:3px;font-size:11px}.boss-panel{top:48px}.flight-bottom{bottom:max(7px,env(safe-area-inset-bottom))}.flight-buttons{bottom:max(12px,env(safe-area-inset-bottom))}.action-button{width:52px;height:52px}.move-hint{bottom:20px}.move-hint .move-icon{width:48px;height:48px}.center-readout,.ordnance-readout{display:none}.flight-bottom{left:22%;right:35%;gap:12px}}@media(max-height:450px)and (orientation:landscape){.title-footer{display:none}.title-content{padding:8px 0}.panel-screen{padding-top:8px;padding-bottom:8px}.menu-panel{padding:14px 22px}.menu-panel>header{padding-bottom:8px}.panel-heading{margin:12px 0 8px}.panel-heading h2{margin:5px 0;font-size:22px}.panel-intro{margin:8px 0}.difficulty-list{margin-top:8px}.difficulty-card{min-height:70px;gap:6px;padding:9px 12px}.difficulty-card small{margin-top:4px}.panel-actions{margin-top:12px}.panel-actions .primary-button,.pause-actions .primary-button,.pause-actions .secondary-button{min-height:43px;padding:8px 14px}.menu-panel>footer{margin-top:12px;padding-top:8px}.pause-actions{gap:7px}}
