/* V3.8 command deck. Local fonts and vector art keep first launch self-contained. */
:root{--bg:#070f13;--panel:#0e1c22;--panel2:#14262d;--line:#294047;--text:#e6f1ef;--muted:#93aaa9;--accent:#99eee0;--gold:#efc184;--ok:#99eee0}
html,body{background:#070f13;font-family:Inter,"Segoe UI","Microsoft YaHei",sans-serif}
body{background-image:radial-gradient(ellipse at 78% 0,#19363877,transparent 50%),radial-gradient(circle at 10% 95%,#192332,transparent 40%)}
button{cursor:pointer;transition:background .18s,border-color .18s,transform .18s}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #a1f0dd;outline-offset:4px}button:hover:not(:disabled){filter:brightness(1.14)}
#app{gap:24px;padding:76px 28px 28px;max-width:1440px;margin:auto;align-items:stretch;height:100dvh}
#shellHeader{position:absolute;top:24px;left: max(28px,calc((100vw - 1384px)/2));right:max(28px,calc((100vw - 1384px)/2));height:30px;display:flex;align-items:center;justify-content:space-between;color:#78928f;font-size:11px;letter-spacing:2px}
.shell-brand{display:flex;align-items:center;gap:12px;color:#ebf4f0;font-weight:700;letter-spacing:1px}.shell-brand img{width:30px;height:30px}.shell-status{display:flex;align-items:center;gap:9px}.status-dot{width:5px;height:5px;background:#9be8bc;border-radius:50%;box-shadow:0 0 10px #9be8bc55}
#phone{width:min(880px,calc(100vw - 356px));max-height:920px;height:100%;border-radius:18px;background:#0c171d;border:1px solid #26383d;box-shadow:0 24px 80px #0005}
.screen{background:linear-gradient(125deg,#0e1b22,#0a141a)}
.topbar{height:78px;min-height:78px;margin-left:80px;padding:18px 26px;background:transparent;border-bottom:1px solid #223238;backdrop-filter:none}
.brand{font-size:17px;letter-spacing:1px}.brand small{font-size:9px;letter-spacing:2px;color:#7b9697;margin-top:5px}
.wallet{gap:10px}.pill{background:#16252a;border:1px solid #2c3c40;border-radius:8px;padding:8px 10px;font-variant-numeric:tabular-nums;color:#e0e9df}
.content{padding:24px 26px;margin-left:80px;scrollbar-width:thin;scrollbar-color:#354b4e transparent}
.bottom-nav{right:auto;top:0;width:80px;height:100%;display:flex;flex-direction:column;gap:10px;padding:100px 7px 16px;background:#091419;border-top:0;border-right:1px solid #24353a;backdrop-filter:none}
.bottom-nav:before{content:'✧';position:absolute;top:24px;left:27px;font-size:29px;color:#a4eadd}
.nav-btn{min-height:62px;border-radius:10px;gap:7px;font-weight:500;font-size:11px;position:relative}.nav-btn span{font-size:23px;line-height:1}.nav-btn.active{background:#1a3337;color:#b4f5e6}.nav-btn.active:before{content:'';position:absolute;left:-7px;top:18px;height:26px;width:2px;background:#a3eee0}
.hero{min-height:335px;padding:28px;border-radius:13px;border:1px solid #3b5254;background:radial-gradient(ellipse at 78% 40%,#3d7d7c33,transparent 55%),linear-gradient(115deg,#182d33,#0a1c27 80%);box-shadow:none}
.hero:before{z-index:0;opacity:.5}.hero:after{display:none}.hero .eyebrow{position:relative;z-index:2;font-size:10px;color:#a9d8cc;letter-spacing:3px;margin-bottom:20px;display:flex;gap:8px;align-items:center}.hero h1{position:relative;z-index:2;font-size:36px;letter-spacing:3px;line-height:1.3;font-weight:650;text-shadow:none}.hero h1 em{font-style:normal;color:#a6e5d9}.hero p{position:relative;z-index:2;font-size:11px;max-width:240px;line-height:1.85;color:#93b0b4;margin:14px 0}
.version-badge{position:absolute;right:17px;bottom:18px;border:0;background:transparent;border-radius:0;padding:0;color:#6d969d;letter-spacing:2px;font-size:9px}
.hero .primary{left:28px;bottom:27px;z-index:2;min-width:160px;display:flex;justify-content:space-between;align-items:center;gap:24px}.primary,.modal-actions .accent{background:#a6e7d8;color:#10292c;box-shadow:0 4px 18px #8ad5ca16;border-radius:8px;padding:13px 18px;font-size:13px;letter-spacing:.5px}
.hero-art{position:absolute;right:-30px;top:-4px;width:61%;height:105%;pointer-events:none;opacity:.93}.hero-art svg{width:100%;height:100%;overflow:visible}.hero-art .ship-group{animation:drift 6s ease-in-out infinite}.ship-art{display:none}@keyframes drift{50%{transform:translateY(-9px)}}
.home-heading{display:flex;justify-content:space-between;align-items:center;margin:23px 0 13px}.home-heading h2{font-size:14px;font-weight:500;letter-spacing:1px;margin:0}.home-heading span{font-size:9px;color:#647e83;letter-spacing:2px}
.grid2{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:0}.card{border:1px solid #293c42;background:#112027;border-radius:10px;padding:16px}.card h3{font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:9px}.card p{font-size:11px;color:#90a8ad}.statline{font-size:11px;margin-top:13px;color:#89a6ab}.statline b{color:#d4e8e4;font-weight:500}.progress{height:3px;background:#25373d;margin-top:11px}.progress i{background:#8ad9c7}.small-btn{background:#1b3038;border:1px solid #35484e;border-radius:7px;padding:10px 8px;font-size:11px;font-weight:500}.small-btn.gold{background:#383124;border-color:#63543a;color:#ebc890}
.section-title h2{font-size:18px;font-weight:500}.section-title small{font-size:10px}.chapter-head h3{font-size:15px;font-weight:500}.chapter-head span{display:block;line-height:1.8;margin-top:4px;font-size:10px}.chapter{margin-top:22px;margin-bottom:28px}.level{border-radius:10px;background:#142b35;border:1px solid #34505a;box-shadow:none;max-height:85px}.level.current{border-color:#a2e3d5;box-shadow:0 0 0 1px #a2e3d53a;animation:none;background:#20443f}.level.boss{background:#34232c;border-color:#775363}.level.locked{opacity:.38}.level .stars{bottom:7px;font-size:10px}.level-num{font-size:18px}.level-kind{font-size:9px}.level-grid{gap:10px}.chapter-reward{border-radius:6px;background:#423821;padding:8px 10px;color:#efc888;font-weight:500;white-space:nowrap}
.map-tools{display:flex;gap:8px;position:sticky;top:-24px;background:#0d1a20;padding:12px 0;z-index:3}.map-tools select{min-width:0;flex:1;background:#192c33;border:1px solid #3b5158;color:#d9ece7;border-radius:7px;padding:10px;font:inherit;font-size:12px}.map-tools button{flex:0 0 auto}
.hangar-ship{align-items:flex-start;padding:19px}.hangar-ship.selected{border-color:#6faea0;background:linear-gradient(110deg,#19322f,#112027)}.mini-ship{width:90px;height:105px;background:radial-gradient(ellipse,#31576255,#101e26 70%);border:0;border-radius:8px}.ship-preview{width:78px;height:78px}.tag{background:#213d40;color:#a5d7d0;font-size:9px;border-radius:4px}.hangar-info h3{font-size:17px}.hangar-info p{font-size:11px;line-height:1.8}.ship-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:11px 0}.ship-stats small{font-size:9px;color:#829fa4;display:block}.ship-stats b{display:block;margin-top:4px;font-size:13px;font-weight:500;color:#dbe9e7}
.growth-preview{display:grid;gap:5px;padding:10px 12px;margin:12px 0;background:#0b1b21;border:1px solid #2d4849;border-radius:7px;font-size:11px;line-height:1.7}.growth-preview b{color:#c4e6da;font-weight:500}.growth-preview span{color:#b4cbc6}.growth-preview em{color:#a6e7d8;font-style:normal}.growth-preview small{color:#8aa5a5;font-size:10px}.hangar-info{min-width:0}.hangar-info .statline{flex-wrap:wrap;gap:5px}.row-actions{flex-wrap:wrap}
.skin-card{border-color:#2d4249;background:#112027;border-radius:9px}.skin-card.selected{border-color:#8ed8c7;box-shadow:none}.skin-card button{background:#244039;font-weight:500}.economy-note{background:#1c262b;border:1px solid #394a4c;color:#91a7ad;border-radius:8px}
.dungeon-card{background:linear-gradient(120deg,#182c32,#101d26);border-color:#344a50;border-radius:11px;padding:20px}.dungeon-card h3{font-size:18px;font-weight:500}.dungeon-symbol{background:#23393e;border-color:#3b565b;color:#abdccc;border-radius:10px}.dungeon-actions .start{background:#a6e7d8;color:#10292c}.dungeon-actions button{background:#24373f;border-radius:7px;font-size:12px;font-weight:500}.record-line{line-height:1.6;border-color:#2b424a}.difficulty-btn{padding:9px 4px;background:#15282f}.claim{border-radius:6px;background:#29463f;color:#addecf;font-weight:500}.claim.ready{background:#e4bc80;color:#352d22}.task-icon{background:#20383b;border-radius:9px}
.overlay{padding:24px;background:#040b11d9;backdrop-filter:blur(10px);z-index:40}.modal{border:1px solid #486063;background:linear-gradient(135deg,#182d33,#0c1921);border-radius:14px;box-shadow:0 30px 80px #0008;max-height:95%;overflow:auto}.modal h2{font-size:20px;font-weight:500;letter-spacing:1px}.modal>p{font-size:11px;line-height:1.8}.modal.skill-shop{max-width:650px;padding:24px}.upgrade-list.skill-catalog{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.skill-catalog .upgrade{min-height:154px;display:block;padding:13px;border-color:#324b52;background:#12262e;border-radius:9px}.skill-catalog .up-icon{width:30px;height:30px;font-size:18px;background:#284044;border-radius:7px;margin-bottom:10px}.upgrade b{font-size:12px;font-weight:600;margin-bottom:6px}.upgrade small{display:block;font-size:10px;line-height:1.6;color:#99b2b6}.skill-cost{color:#e3c693!important;font-size:10px}.upgrade.recommended{border-color:#9edccc}.recommend-label{font-size:8px;color:#a7decf;letter-spacing:1px;display:block;margin-top:5px}.modal-actions{position:relative;gap:8px}.modal-actions button{font-size:12px;font-weight:500;background:#253b44;border-radius:7px}.modal-actions .accent{background:#a6e7d8;color:#10292c}.reroll{border-color:#4c5066;background:#292c3b;font-size:12px;font-weight:500}.toast{max-width:92%;white-space:normal;text-align:center;font-size:12px;line-height:1.5;background:#192e34;border-color:#59847f;border-radius:9px;box-shadow:0 8px 20px #0005}
#commandAside{width:254px;flex:0 0 254px;display:flex;flex-direction:column;gap:18px;overflow:auto;scrollbar-width:none}.aside-panel{padding:20px;border:1px solid #2b3d40;border-radius:12px;background:linear-gradient(145deg,#132329,#0c181e)}.aside-kicker{font-size:9px;color:#708d8e;letter-spacing:2px;margin-bottom:12px;display:flex;justify-content:space-between}.aside-panel h2{font-size:15px;font-weight:500;margin:0 0 15px;letter-spacing:1px}.aside-panel p{font-size:11px;line-height:1.9;color:#8ba8a8;margin:10px 0}.radar{height:130px;position:relative;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,transparent 0 25px,#40656244 26px 27px,transparent 28px 30px);overflow:hidden;margin:0 -10px 16px}.radar:before,.radar:after{content:'';position:absolute;background:#43655b55}.radar:before{width:1px;height:100%}.radar:after{width:100%;height:1px}.radar svg{width:66px;height:90px;filter:drop-shadow(0 0 16px #9be8d94d);z-index:1}.radar-coordinate{position:absolute;font-size:8px;color:#6b8d88;right:8px;bottom:5px;letter-spacing:2px}
.briefing-row{display:flex;justify-content:space-between;border-bottom:1px solid #25383d;padding:10px 0;font-size:10px;color:#829f9f}.briefing-row b{color:#ccdcd7;font-weight:500}.core-title{font-size:10px;letter-spacing:2px;color:#859e9e;margin:20px 0 10px}.core-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.core-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:11px 3px;font-size:10px;border-radius:7px;border:1px solid #385052;background:#172c31;color:#8ea7a5}.core-option span{font-size:20px}.core-option.selected{border-color:#a1ded0;background:#284139;color:#b8e5d5}.core-detail{min-height:39px;font-size:10px!important;color:#b2cac3!important}.help-link{background:transparent;border:0;padding:0;color:#a5d4c9;text-align:left;font-size:11px}.keyboard-grid{display:grid;grid-template-columns:auto 1fr;gap:11px;font-size:10px;color:#8ba3a5;align-items:center}kbd{font:10px ui-monospace,monospace;background:#21363b;border:1px solid #3b4f52;border-bottom-width:2px;border-radius:4px;padding:4px 5px;color:#c6d9d4;display:inline-block;min-width:22px;text-align:center}.aside-footer{color:#4c6a6d;font-size:9px;line-height:2;letter-spacing:1px;margin-top:auto;padding:0 4px}
#mobileCore{display:none}.core-strip{margin-top:12px}.core-strip summary{padding:12px 14px;background:#1b3034;border:1px solid #3b5251;border-radius:8px;font-size:11px;cursor:pointer;color:#bbd7ce}.core-strip .core-options{padding:10px 0}
#pulseBtn{pointer-events:auto;position:absolute;right:15px;bottom:24px;width:72px;height:72px;border-radius:50%;border:1px solid #95d9ce;background:#173637ec;color:#cdf8e6;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-weight:600;font-size:12px;box-shadow:0 0 24px #92e8d926}#pulseBtn small{font-size:9px;font-weight:400;color:#aac3c6}#pulseBtn:disabled{opacity:.7;border-color:#496569;box-shadow:none;background:#122930e8;color:#9cb2b2}#pulseBtn.ready{background:#a3e6d6;color:#123437}
#combatStatus{position:absolute;bottom:28px;left:16px;max-width:240px;font-size:10px;line-height:1.8;color:#b3d1c9;text-shadow:0 2px 4px #000;pointer-events:none}#combatStatus b{display:block;color:#edcb8d;font-size:11px;font-weight:500}.shieldbar{height:3px;background:#25394b;margin-top:4px}.shieldbar i{display:block;width:0;height:100%;background:#97eddd}
#gameScreen .hud-top{top:14px}.hud-chip{background:#0e242bdd;border-color:#3b555b;border-radius:7px;font-weight:500}.hpbox{top:60px;width:180px}.hpbar{height:6px;background:#19363e;border:0}.hpbar i{background:#9ce5cc}.hptext{font-weight:500}#missionHud{top:106px;border-radius:8px;border-color:#355159;background:#0e222cd9}.mission-line{font-weight:500;font-size:10px}.mission-progress{height:3px;background:#203a43}.mission-progress i{background:#a4dacb}.mission-line span:last-child{color:#a8dfd1}#bossHud{top:151px}.bossbar{height:7px}#combo{top: sixty;top:66px;font-size:14px;color:#ebc994}#dungeonSkillBtn{top:auto;bottom:112px;right:12px;border-radius:7px;font-weight:500;font-size:10px}#missionBanner{top:38%;padding:18px;border-radius:10px;border-color:#8bd3c4;background:#10262eed}#missionBanner b{font-size:20px}#missionBanner span{font-size:11px}#pauseBtn{border-radius:7px;font-size:15px}#resultOverlay .modal{max-width:440px}.result-stars{color:#efc583}.result-grid{gap:7px}.result-grid div{background:#152c34;border-radius:8px;font-size:10px}.result-grid b{color:#aae5d5;font-size:20px}.result-insight{margin-top:14px;border-top:1px solid #3a5054;padding-top:12px;color:#9fb8b4;font-size:11px;line-height:1.9}.result-insight strong{color:#c4e6da;font-weight:500}
.settings-grid{display:grid;gap:16px;margin:20px 0}.settings-row{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#b9cecb;gap:20px}.settings-row input[type=range]{width:130px;accent-color:#a7e7d6}.settings-row input[type=checkbox]{accent-color:#a7e7d6;width:18px;height:18px}.guide-content{color:#b2cbc5;font-size:12px;line-height:1.9}.guide-content h3{text-align:left;font-size:14px;color:#e3eee8;margin-top:20px}.guide-content strong{color:#f1d3a0;font-weight:500}.guide-content p{margin:8px 0}.synergy-row{padding:10px 0;border-bottom:1px solid #2b4549;font-size:11px;line-height:1.7}.synergy-row b{display:block;color:#b0e1d2;font-weight:500}.synergy-row span{color:#8da9ab}.codex-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:15px 0}.codex-card{padding:14px;border:1px solid #334c52;background:#10242d;border-radius:8px}.codex-card b{display:block;font-size:12px;font-weight:500;color:#bfe9da;margin:7px 0}.codex-card p{font-size:10px;color:#92b0ae;line-height:1.8;margin:0}
.career-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0}.career-grid div{padding:14px 10px;background:#172c32;border:1px solid #2f494c;border-radius:8px;color:#8aabaa;font-size:10px}.career-grid b{display:block;color:#c5e2d6;font-size:21px;font-weight:500;margin-top:8px}.medals{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.medal{font-size:10px;padding:8px 10px;background:#15252d;border:1px solid #2d444b;border-radius:6px;color:#78918f}.medal.earned{background:#363225;border-color:#645b3a;color:#e5cc9a}.run-row{display:flex;justify-content:space-between;font-size:11px;padding:12px 0;border-bottom:1px solid #2c4145;color:#9cb8b2}.run-row b{color:#bfe3d2;font-weight:500}.run-row.loss b{color:#d49d9d}.home-quick{display:flex;gap:18px;margin:18px 0 0;font-size:11px}.home-quick button{color:#94bcb1;background:none;border:0;padding:2px 0}
body:has(#gameScreen.active) #phone{width:min(440px,calc((100dvh - 104px)*440/780));height:auto;aspect-ratio:440/780;flex:0 0 auto;align-self:center}body:has(#gameScreen.active) #app{justify-content:center}#flightAside{display:none;width:224px;align-self:center}body:has(#gameScreen.active) #flightAside{display:block}.flight-label{font-size:9px;letter-spacing:3px;color:#638682}.flight-title{font-size:38px;font-weight:400;line-height:1.45;color:#adcfc1;margin:18px 0}.flight-copy{font-size:11px;color:#6e9394;line-height:2;max-width:170px}
body.reduced-fx *,body.reduced-fx *:before,body.reduced-fx *:after{animation:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(min-width:1250px){#homeScreen .grid2{grid-template-columns:repeat(4,1fr)}#homeScreen .card{padding:14px 12px}#homeScreen .card h3{font-size:12px}#homeScreen .card p{min-height:34px;font-size:10px}#homeScreen .statline{font-size:10px}.hero{min-height:380px}.hero h1{font-size:43px}.hero p{font-size:12px}.hero-art{width:62%}}
@media(max-width:1100px){#app{padding:70px 16px 16px;gap:16px}#commandAside{width:224px;flex-basis:224px}.aside-panel{padding:16px}#phone{width:calc(100vw - 288px)}.topbar{margin-left:64px;padding:16px}.content{margin-left:64px;padding:18px}.bottom-nav{width:64px}.bottom-nav:before{left:20px}.hero{padding:22px;min-height:330px}.hero h1{font-size:32px}.hero-art{right:-50px;opacity:.7}.hero .primary{left:22px}.hero p{max-width:210px}.upgrade-list.skill-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}#flightAside{display:none!important}.brand{font-size:15px}.pill{font-size:11px;padding:7px}.map-tools{top:-18px}}
@media(max-width:820px){#app{padding:0;display:block;height:100dvh}#shellHeader,#commandAside{display:none}#phone{width:100%;height:100%;max-height:none;border:0;border-radius:0;max-width:600px;margin:0 auto}body:has(#gameScreen.active) #app{display:flex;padding:0}body:has(#gameScreen.active) #phone{width:min(100vw,calc(100dvh*440/780));height:auto;max-height:100dvh;align-self:center;margin:auto}.topbar{margin-left:0;height:72px;min-height:72px;padding:calc(14px + env(safe-area-inset-top,0px)) 18px 14px}.content{margin-left:0;padding:18px 18px 100px}.bottom-nav{top:auto;right:0;bottom:0;width:100%;height:calc(72px + env(safe-area-inset-bottom,0px));padding:0 8px env(safe-area-inset-bottom,0px);display:grid;grid-template-columns:repeat(5,1fr);border-right:0;border-top:1px solid #314345;gap:3px}.bottom-nav:before,.nav-btn.active:before{display:none}.nav-btn{min-height:64px;border-radius:0}.nav-btn.active{background:linear-gradient(#25413c66,transparent)}.hero{min-height:310px;padding:22px}.hero h1{font-size:32px}.hero p{font-size:11px;max-width:200px}.hero-art{width:62%;right:-42px;top:6px;opacity:.77}.hero .primary{bottom:23px}.hero .eyebrow{font-size:8px;letter-spacing:2px}.version-badge{font-size:8px;right:12px;bottom:14px}#mobileCore{display:block}.modal.skill-shop{padding:16px}.overlay{padding:14px}.skill-catalog .upgrade{min-height:143px;padding:11px}.upgrade-list.skill-catalog{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-art .ship-group{animation:none}.home-heading{margin-top:19px}.hangar-ship{padding:14px;gap:9px}.mini-ship{width:65px;height:90px}.mini-ship svg{width:64px;height:76px}.hangar-info h3{font-size:15px}.ship-stats{gap:7px}.ship-stats b{font-size:11px}.ship-stats small{font-size:8px}.map-tools{top:-18px}.map-tools select{font-size:11px}.level-grid{gap:7px}.level-kind{font-size:8px}.level .stars{font-size:8px;bottom:5px}.level-num{font-size:16px}.chapter-head h3{font-size:14px}}
@media(max-width:360px){.content{padding:14px 12px 95px}.topbar{padding:14px 12px}.brand{font-size:13px}.brand small{font-size:7px}.wallet{gap:4px}.pill{font-size:10px;padding:7px 5px}.hero{padding:19px;min-height:302px}.hero h1{font-size:29px}.hero p{max-width:175px}.hero .primary{left:19px;min-width:145px}.hero-art{opacity:.58}.version-badge{display:none}.card{padding:13px}.level-kind{display:none}.level-num{padding-bottom:4px}.modal.skill-shop{padding:13px}.skill-catalog .upgrade{padding:9px;min-height:144px}.upgrade b{font-size:11px}.skill-catalog .up-icon{margin-bottom:7px}.modal-actions button{font-size:10px;padding:11px 7px}.map-tools{top:-14px}.codex-grid{grid-template-columns:1fr}}
