:root{font-family:"Noto Sans TC","Microsoft JhengHei",system-ui,sans-serif;background:#0c1422;color:#c6d6e2;--cyan:#65d3e7;--line:#263648;--muted:#698295}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 70% 5%,#19354a77,transparent 65%),#0c1422}button,select{font:inherit}button,a{touch-action:manipulation}button{color:#9eb4c1;background:#172739;border:1px solid #304558;border-radius:4px;padding:9px 12px;cursor:pointer;transition:background .15s}button:hover{background:#234055;color:#d8f6ff}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,canvas:focus-visible{outline:2px solid #76e0ed;outline-offset:3px}a{color:inherit;text-decoration:none}header{display:flex;align-items:center;justify-content:space-between;height:84px;padding:0 38px;border-bottom:1px solid #263849;background:#0d1928}.brand{display:flex;align-items:center;gap:13px;font-size:23px;font-weight:600;letter-spacing:4px}.brand img{width:46px;height:46px}.brand small{display:block;font:8px monospace;letter-spacing:2px;color:#658ba0;margin-top:6px}nav{display:flex;align-items:center;gap:24px;font-size:11px;color:#8699aa}nav>span{font-size:10px;color:#5a7185}nav button{border:0;background:none;font-size:11px;padding:5px}main{max-width:1580px;margin:auto;padding:31px 34px 22px}.heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:29px}.eyebrow{font:9px monospace;color:#688fa5;letter-spacing:2px}.eyebrow i{display:inline-block;width:5px;height:5px;background:#6adbce;box-shadow:0 0 12px #47dece;border-radius:50%;margin-right:7px}h1{font-size:33px;letter-spacing:3px;font-weight:500;margin:13px 0}h1 span{color:#64b8d0}.heading p{font-size:11px;color:#718697;letter-spacing:1px;margin:0}.mission-index{display:flex;align-items:center;gap:16px;color:#48657b;padding-right:15px}.mission-index>b{font:67px monospace;letter-spacing:-3px}.mission-index>span{font:8px monospace;letter-spacing:2px}.mission-index strong{font:22px monospace;display:block;letter-spacing:0;margin-top:5px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:22px;align-items:start}.game-column{min-width:0}.game-shell{background:#101c2c;border:1px solid #324757;border-radius:7px;overflow:hidden;box-shadow:0 15px 45px #0002}.screen-bar{height:48px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 16px;background:#142335;border-bottom:1px solid #314459}.screen-bar>div{display:flex;align-items:center;gap:8px}.screen-bar i,.screen-footer i{width:5px;height:5px;display:inline-block;background:#5bd5c9;border-radius:50%;margin-right:4px;box-shadow:0 0 7px #2acbb4}.screen-bar b{font-size:11px;font-weight:500;letter-spacing:1px}.screen-bar span{font:8px monospace;color:#59768b;letter-spacing:1px;margin-left:5px}.screen-bar button{font-size:9px;background:none;border-color:#2c4256;padding:5px 7px}.viewport{position:relative;background:#101c30}#world{display:block;width:100%;height:auto;aspect-ratio:16/9;image-rendering:pixelated;outline:none;touch-action:none}.pause-overlay{position:absolute;inset:0;background:#0c192ac9;backdrop-filter:blur(5px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;text-align:center}.pause-overlay>span{font:9px monospace;letter-spacing:3px;color:#5cc9db}.pause-overlay h2{font-size:25px;font-weight:500;letter-spacing:2px;margin:9px 0}.pause-overlay p{font-size:11px;color:#7f9bad;margin:0 0 12px}.primary{background:#4298ac;color:#071c2a;border-color:#65c0d0;font-weight:600;padding:13px 19px;font-size:12px}.primary:hover{background:#6bc8d7;color:#071c2a}.screen-footer{display:flex;justify-content:space-between;align-items:center;font:8px monospace;color:#587c91;letter-spacing:1px;padding:12px 16px;background:#102032;border-top:1px solid #243c51}.screen-footer b{font-size:9px;color:#7d9eaa;font-weight:400}.touch-controls{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#142338;border-top:1px solid #263d53;gap:10px}.touch-controls>div{display:flex;gap:8px}.touch-controls button{min-width:47px;height:39px;font-size:10px;touch-action:none;user-select:none;-webkit-user-select:none}.touch-controls .fire{min-width:66px;background:#285e7a;border-color:#4294ae;color:#9ce9f4}.touch-controls button.pressed{background:#4a9db2;color:#eefeff}.touch-controls>span{font-size:9px;color:#587a91}.controls-guide{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 0 23px;font-size:9px;color:#5f7c91}.controls-guide>span{display:flex;align-items:center;gap:5px}kbd{font:9px monospace;color:#8ba3b2;border:1px solid #2c4052;border-radius:3px;background:#142335;padding:4px 5px;min-width:19px;text-align:center}.section-label{font:10px monospace;letter-spacing:2px;color:#a0b1bb;display:flex;justify-content:space-between;align-items:center;margin:8px 0 15px}.section-label span{font:9px system-ui;letter-spacing:0;color:#577185}.stage-list{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.stage-card{background:#132337;border:1px solid #293e50;border-radius:5px;padding:0;overflow:hidden;text-align:left;position:relative}.stage-card.active{border-color:#4b8b9e}.stage-card.locked{opacity:.5}.stage-card svg{width:100%;height:99px;display:block;border-bottom:1px solid #314452}.stage-card .stage-body{padding:14px;display:block}.stage-card small{font:8px monospace;letter-spacing:1px;color:#7b93a7;display:block}.stage-card b{font-size:16px;letter-spacing:1px;font-weight:500;color:#a9c0ca;display:block;margin-top:7px}.stage-card em{display:block;font-style:normal;font-size:8px;color:#5f869b;margin-top:8px}.stage-card .tag{position:absolute;top:10px;right:10px;padding:4px 6px;border:1px solid #44758a;background:#13374bba;color:#a0d1d8;font:7px monospace}.pilot-panel,.weapon-panel,.mission-panel{border:1px solid #283b4d;border-radius:6px;background:#122033;padding:19px}.panel-label{display:flex;justify-content:space-between;align-items:center;font:9px monospace;color:#94a8b8;letter-spacing:1px}.panel-label>span{font:8px monospace;color:#4e718a;letter-spacing:0}.pilot-art{background:radial-gradient(ellipse at center,#173d53,#112233);margin:14px -19px 0;height:176px;border-block:1px solid #223f51}.pilot-art svg{width:100%;height:100%}.pilot-title{display:flex;align-items:center;justify-content:space-between;margin:18px 0 22px}.pilot-title h2{font-size:20px;font-weight:500;margin:0;letter-spacing:1px}.pilot-title span{font:6px monospace;color:#548aa0;letter-spacing:.5px}.meter-title{display:flex;align-items:center;justify-content:space-between;font-size:9px;color:#7a98a9;margin-top:17px}.meter-title b{font:10px monospace;color:#9cc4ce}progress{display:block;width:100%;height:5px;border:0;border-radius:1px;overflow:hidden;background:#273849;margin-top:8px}progress::-webkit-progress-bar{background:#273849}progress::-webkit-progress-value{background:#56c2c6}progress::-moz-progress-bar{background:#56c2c6}#energy::-webkit-progress-value{background:#7c9eca}#energy::-moz-progress-bar{background:#7c9eca}.pilot-stats{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid #293e51;margin-top:23px;padding:17px 0;gap:20px}.pilot-stats>div+div{border-left:1px solid #2a4053;padding-left:20px}.pilot-stats small{font-size:9px;color:#56788e}.pilot-stats strong{font:24px monospace;display:block;color:#aac4ce;margin-top:7px}.charge-row{display:flex;align-items:center;gap:9px;margin-top:17px}.charge-row>span{font:8px monospace;color:#6a8ba0;letter-spacing:1px}.charge-row progress{margin:0;height:4px}.charge-row b{white-space:nowrap;font-size:8px;color:#aab686;font-weight:400}.charge-row progress::-webkit-progress-value{background:#d1ce89}.weapon-panel{margin-top:17px}.weapon-panel>p{font-size:10px;color:#63869a;line-height:1.9;margin:14px 0 0}.weapon-button{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;margin-top:10px;background:#132a3c;border-color:#2c4356}.weapon-button:first-child{margin-top:18px}.weapon-button.active{border-color:#4c899d;background:#1a394c}.weapon-button>.symbol{font:20px monospace;color:var(--weapon)}.weapon-button>span:nth-child(2){text-align:left;flex:1}.weapon-button b{display:block;font-size:11px;font-weight:500}.weapon-button small{display:block;font:7px monospace;letter-spacing:1px;margin-top:5px;color:#658ba3}.weapon-button em{font:8px monospace;color:#568399;font-style:normal}.mission-panel{margin-top:17px;background:#14283a}.mission-panel h3{font-size:15px;font-weight:500;color:#9fb3bf;letter-spacing:1px;margin:18px 0 9px}.mission-panel p{font-size:10px;color:#66889f;line-height:1.9}.mission-panel>div:last-child{display:flex;justify-content:space-between;border-top:1px solid #294154;padding-top:12px;margin-top:17px;font-size:9px;color:#65859a}.mission-panel strong{font-weight:400;color:#ad9b8f}.notice{margin-top:24px;border-left:2px solid #427c90;padding:13px 17px;background:#132637;color:#799faf;font-size:11px;line-height:1.7}.notice.error{border-color:#b46f7c;color:#c5979e}footer{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-top:19px;color:#4d6c83;font-size:8px}footer small{font-size:8px;margin-left:16px}footer>div{display:flex;gap:11px}footer button{font-size:8px;border:0;padding:5px;background:none;color:#67879a}dialog{background:#142639;color:#bdcfda;border:1px solid #37566c;border-radius:8px;width:calc(100% - 32px);max-width:600px;max-height:88dvh;overflow:auto;padding:34px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#030d1ac9;backdrop-filter:blur(6px)}dialog h2{font-size:27px;font-weight:500;letter-spacing:2px;line-height:1.6;margin:19px 0}dialog p,dialog li{font-size:12px;color:#7899af;line-height:2}dialog ol{padding-left:21px}dialog li{margin-bottom:12px}dialog b{color:#b3c7d1}dialog>small{display:block;font-size:9px;color:#62839a;line-height:1.8;text-align:center;margin-top:18px}dialog label{display:block;font-size:11px;color:#8ba7b8;margin:22px 0 10px}select{width:100%;background:#112233;border:1px solid #385469;border-radius:4px;color:#a9c4d1;padding:12px;font-size:12px}.wide{width:100%;margin-top:13px}.start-spec{display:flex;justify-content:space-around;padding:20px 0;border-block:1px solid #2e4559;margin-top:22px}.start-spec>span{font:31px monospace;color:#64bfd4;text-align:center}.start-spec small{font:9px system-ui;color:#7295a9;display:block;margin-top:7px}.close{position:absolute;right:12px;top:10px;background:none;border:0;font-size:21px}.result-stats{padding:18px;background:#193247;border:1px solid #365469;color:#81b2c4;font:13px monospace;line-height:2}#game-shell:fullscreen{border:0;border-radius:0;display:flex;flex-direction:column;justify-content:center;background:#080f1b;width:100%;height:100%;padding:8px}#game-shell:fullscreen .viewport{min-height:0;display:flex;justify-content:center;flex:1}#game-shell:fullscreen #world{height:100%;width:auto;max-width:100%;object-fit:contain}#game-shell:fullscreen .screen-bar,#game-shell:fullscreen .touch-controls,#game-shell:fullscreen .screen-footer{flex-shrink:0}[hidden]{display:none!important}
@media(max-width:1150px){main{padding:25px}.workspace{grid-template-columns:minmax(0,1fr) 250px;gap:17px}.screen-bar{padding-inline:10px}.screen-bar span{display:none}.controls-guide{justify-content:flex-start;gap:12px 18px}.stage-card b{font-size:13px}.stage-card .stage-body{padding:12px}.pilot-panel,.weapon-panel,.mission-panel{padding:16px}.pilot-art{margin-inline:-16px}.pilot-title span{display:none}.stage-card svg{height:82px}}
@media(max-width:850px){header{padding-inline:20px;height:75px}.brand{font-size:21px}.brand small{font-size:7px}nav>span{display:none}nav{gap:15px}.workspace{grid-template-columns:1fr}.workspace aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.pilot-panel{grid-row:span 2}.weapon-panel,.mission-panel{margin:0}.heading{margin-bottom:23px}h1{font-size:29px}.mission-index>b{font-size:52px}.controls-guide{justify-content:space-between}.stage-card svg{height:105px}.stage-card b{font-size:16px}.pilot-art{height:193px}.pilot-title span{display:block}.touch-controls button{height:44px;min-width:53px}.touch-controls .fire{min-width:76px}.screen-footer>span:last-child{font-size:7px}.pilot-stats strong{font-size:28px}footer{flex-wrap:wrap}}
@media(max-width:480px){header{height:68px;padding-inline:12px}.brand{font-size:18px;letter-spacing:2px;gap:8px}.brand img{width:35px;height:35px}.brand small{font-size:5px;letter-spacing:1px}nav{font-size:8px;gap:8px}nav button{font-size:8px;padding:0}main{padding:22px 12px 16px}.heading{margin-bottom:21px}.eyebrow{font-size:6px;letter-spacing:1px}.eyebrow i{width:4px;height:4px}.heading h1{font-size:26px;letter-spacing:1px;margin:14px 0}.heading p{font-size:9px;letter-spacing:.5px;line-height:1.8;max-width:270px}.mission-index{display:none}.screen-bar{height:42px;padding-inline:9px;gap:5px}.screen-bar b{font-size:10px;letter-spacing:0}.screen-bar>div{gap:4px}.screen-bar button{font-size:8px;padding:4px}.screen-bar i{width:4px;height:4px;margin-right:2px}.touch-controls{padding:10px 8px;gap:8px}.touch-controls>div{gap:5px}.touch-controls>span{display:none}.touch-controls button{min-width:42px;height:44px;padding:6px 8px;font-size:10px}.touch-controls .fire{min-width:56px}.screen-footer{padding:10px;font-size:7px;letter-spacing:.5px}.screen-footer b{font-size:8px}.screen-footer>span:last-child{display:none}.controls-guide{gap:8px 12px;font-size:8px;padding:15px 0 20px;justify-content:flex-start}.controls-guide kbd{font-size:7px;padding:3px}.section-label{font-size:8px;letter-spacing:1px;margin:4px 0 12px}.section-label span{font-size:8px}.stage-list{gap:7px}.stage-card svg{height:71px}.stage-card .stage-body{padding:10px 8px}.stage-card small{font-size:6px;letter-spacing:0}.stage-card b{font-size:12px;letter-spacing:0}.stage-card em{font-size:7px;line-height:1.7}.stage-card .tag{font-size:6px;top:6px;right:6px;padding:3px}.workspace aside{grid-template-columns:1fr;gap:14px}.pilot-panel{grid-row:auto;display:grid;grid-template-columns:108px 1fr;gap:0 20px}.pilot-panel>.panel-label{grid-column:1/-1}.pilot-art{grid-column:1;grid-row:2/5;margin:18px 0 0;height:135px;border:1px solid #284653;border-radius:5px}.pilot-art svg{width:155%;margin-left:-25%;height:100%}.pilot-title{grid-column:2;margin:20px 0 4px}.pilot-title h2{font-size:21px}.pilot-title span{display:none}.meter-title{grid-column:2;margin-top:10px}.pilot-panel>progress{grid-column:2;margin-top:7px}.pilot-panel>.meter-title:nth-of-type(4){grid-row:3}.pilot-stats{grid-column:1/-1;margin-top:18px;padding:15px 0}.pilot-stats strong{font-size:27px}.charge-row{grid-column:1/-1;margin-top:16px}.weapon-panel,.mission-panel{padding:18px}.weapon-panel #weapons{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.weapon-button{margin-top:15px;padding:12px 8px;display:block}.weapon-button:first-child{margin-top:15px}.weapon-button>.symbol{font-size:23px;display:block;text-align:left;margin-bottom:7px}.weapon-button b{font-size:10px}.weapon-button small{font-size:7px;letter-spacing:0}.weapon-button em{display:block;text-align:left;margin-top:9px;font-size:8px}.weapon-panel>p{font-size:10px}.mission-panel h3{font-size:17px}.mission-panel p{font-size:10px}.mission-panel>div:last-child{font-size:10px}.notice{font-size:10px;margin-top:18px;padding:12px}.pause-overlay{gap:5px}.pause-overlay>span{font-size:6px;letter-spacing:1px}.pause-overlay h2{font-size:19px;margin:6px}.pause-overlay p{font-size:8px;margin-bottom:5px}.pause-overlay .primary{padding:9px 17px;font-size:10px}footer{font-size:7px;gap:11px;padding-top:15px}footer small{display:block;margin:5px 0 0;font-size:7px}footer>div{gap:16px}footer button{font-size:8px;padding:0}dialog{padding:28px 21px}dialog h2{font-size:25px;letter-spacing:1px}dialog p,dialog li{font-size:11px}.start-spec>span{font-size:27px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
