:root{font-family:Arial,Helvetica,sans-serif;color:#b4e4c0;background:#07100f;color-scheme:dark;font-size:16px;--app-safe-top:env(safe-area-inset-top,0px);--app-safe-right:env(safe-area-inset-right,0px);--app-safe-bottom:env(safe-area-inset-bottom,0px);--app-safe-left:env(safe-area-inset-left,0px);--platform-accent:#6ad9b4}
*{box-sizing:border-box}html,body{height:100%;overscroll-behavior:none}body{margin:0;padding:8px;overflow:hidden;user-select:none;-webkit-user-select:none;background:radial-gradient(ellipse at 50% 30%,#12251f,#07100f 70%)}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;min-height:44px;border:1px solid #365447;border-radius:4px;background:linear-gradient(145deg,#101f19,#070f0d);color:#b6e8c2;padding:10px 16px;cursor:pointer}button:hover{background:#18362b}button:focus-visible,summary:focus-visible{outline:2px solid var(--platform-accent);outline-offset:3px}button:disabled{opacity:.4;cursor:default}button[hidden]{display:none}.primary{background:linear-gradient(140deg,#242510,#10140d);color:#ffd475;border-color:#e9bb43;box-shadow:inset 0 0 14px #d6aa2720;font-weight:bold;clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px)}.primary:hover{background:#333015}.active{border-color:#7ee5b7;background:#173a2b}
#app{height:calc(var(--app-height,100dvh) - 16px);display:flex;flex-direction:column;max-width:1250px;margin:auto;padding:var(--app-safe-top) var(--app-safe-right) var(--app-safe-bottom) var(--app-safe-left);border:1px solid #517266;border-radius:18px;overflow:hidden;background:linear-gradient(140deg,#07110d,#040c0b 60%,#0a1712)}body.in-battle #app{max-width:560px}header{height:68px;flex-shrink:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 18px;border-bottom:1px solid #294339}#brand{color:#b4edbc;text-decoration:none;font-size:15px;letter-spacing:1px;font-weight:400;display:flex;align-items:center;gap:10px;min-width:0}#brand::first-letter{color:#edc254}#brand span{min-width:0;line-height:1.25;max-width:250px}.settings{display:flex;gap:7px;flex-shrink:0}.settings button{min-width:44px;padding:8px 10px;color:#b8ddb9}main{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}footer{height:25px;padding:4px 18px;font-size:11px;color:#738b7d;flex-shrink:0}.in-battle main{overflow:hidden}.in-battle footer{display:none}
.hangar{padding:30px;max-width:1200px;margin:auto}.eyebrow{color:#bda56a;letter-spacing:2px;font-size:12px;text-transform:uppercase}h1{font-size:clamp(26px,4vw,46px);margin:12px 0 14px}h2{margin-top:0;font-size:26px}p{color:#a5bbb0;line-height:1.5}.intro{max-width:720px}.hangar-top{display:flex;justify-content:space-between;gap:20px;align-items:center}.salvage{color:#dfbd71;font-size:21px;white-space:nowrap}.campaign{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:25px 0}.mission{min-height:115px;text-align:left;padding:15px;background:linear-gradient(130deg,#12271e,#091810)}.mission strong{display:block;font-size:17px;margin:9px 0}.mission small{color:#8ea99a}.mission.done{border-color:#64857b}.upgrades{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade,.weapon{border:1px solid #2c4a3b;padding:20px;border-radius:6px;background:#0c1d15}.upgrade h3,.weapon h3{margin:0 0 8px}.upgrade p{font-size:14px;margin:10px 0;min-height:42px}.upgrade button{width:100%}.weapons{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:16px}.weapon h3{margin:14px 0 10px}.weapon p{font-size:13px}.weapon-actions{display:flex;gap:8px}.weapon-actions button{flex:1}.sectors{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:22px 0 0}.sectors button{font-size:13px;text-align:left}.sectors small{display:block;color:#9fb8a7;margin-top:5px}.recovery-card{margin-top:16px;padding:18px 20px;border:1px solid #365746;border-radius:6px;display:flex;align-items:center;gap:20px;background:#0d2118}.recovery-card h3{margin:0 0 8px}.recovery-card p{font-size:13px;margin:0}.recovery-card button{margin-left:auto;flex-shrink:0}
.battle{height:100%;min-height:0;display:flex;flex-direction:column;padding:0 14px 12px;gap:7px}.hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 -14px;flex-shrink:0}.battle[data-mode=pvp] .hud{grid-template-columns:repeat(3,minmax(0,1fr))}.hud-cell{display:flex;align-items:flex-start;gap:7px;padding:14px 9px 9px;border-right:1px solid #203d2d;min-width:0}.hud-cell:last-child{border:0}.hud-cell small{display:block;font-size:9px;line-height:1.3;text-transform:uppercase;color:#829d8d;margin-bottom:4px;overflow-wrap:anywhere}.hud-cell strong{font-size:15px;font-weight:400;color:#b4edbc}.stat-icon{font-size:24px;color:#7ee6b7;line-height:1}.stat-icon.hostile{color:#ff8150}.stat-icon.amber{color:#f3bf50}#energy.low{color:#ff885c}.telemetry{display:flex;flex-wrap:wrap;gap:3px 16px;font-size:12px;flex-shrink:0;color:#8fd5b0;border-bottom:1px solid #18382b;padding-bottom:5px}.telemetry strong{font-size:13px;color:#bdf4c9;font-weight:400}#engine-power{color:#e8b872}.aux-status{display:flex;flex-wrap:wrap;gap:3px 10px;font-size:11px;flex-shrink:0;color:#eaba72}.aux-status:has(#engine-status:empty):has(#laser-status:empty){display:none}#laser-status{color:#ff9867}
.field-slot{position:relative;flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.field{position:relative;flex:none;min-height:0;outline:1px solid #244337;overflow:hidden;background:#030e0c}.field::after{content:'';pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(transparent 0 3px,#102d1c1a 3px 4px);box-shadow:inset 0 0 22px #02090788}canvas{display:block;touch-action:none;user-select:none;max-width:100%;max-height:100%}.legend{display:flex;gap:15px;flex-shrink:0;font-size:11px;color:#91b49e;padding:3px 0}.cyan{color:#83dcd3}.gold{color:#d6bd7b}.commands{display:flex;align-items:stretch;gap:12px;flex-shrink:0}.commands .primary{margin-left:auto;flex:1;min-width:0;padding:12px 8px;font-size:14px;min-height:56px}#command-menu{position:relative;min-width:0;flex:1}#command-toggle{list-style:none;cursor:pointer;min-height:56px;border:1px solid #73af8b;border-radius:3px;background:linear-gradient(130deg,#0d2117,#07110b);padding:17px 12px;font-size:14px;white-space:nowrap}#command-toggle::-webkit-details-marker{display:none}.command-options{position:absolute;bottom:calc(100% + 8px);left:0;width:min(260px,80vw);padding:6px;display:grid;gap:5px;background:#0b1c13;border:1px solid #638e71;border-radius:4px;z-index:3;box-shadow:0 8px 24px #0008;max-height:55dvh;overflow:auto}.command-options button{text-align:left;min-height:44px}.status{color:#87a592;font-size:11px;line-height:1.25;flex-shrink:0;padding:0 0 1px}
#overlay{position:fixed;inset:0;background:#020a07eb;display:flex;align-items:center;justify-content:center;padding:calc(20px + var(--app-safe-top)) calc(20px + var(--app-safe-right)) calc(20px + var(--app-safe-bottom)) calc(20px + var(--app-safe-left));height:var(--app-height,100dvh);bottom:auto;z-index:5}#overlay[hidden]{display:none}.modal{width:min(560px,100%);border:1px solid #5b8d70;border-radius:12px;padding:28px;background:linear-gradient(140deg,#153124,#06130c);max-height:100%;overflow:auto}.modal .actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.modal .actions button{flex:1}.modal .symbol{font-size:48px;color:#dfbd71;margin-bottom:12px}.tutorial-step{border-left:2px solid #639f77;padding:6px 0 6px 15px;margin:15px 0}.tutorial-step strong{color:#c3e6ce}.notice{color:#dbb673}.small{font-size:12px}
@media(max-width:700px){header{padding:8px 12px;height:68px}#brand{font-size:13px;letter-spacing:.8px}#brand span{max-width:205px}.hangar{padding:20px 14px}.hangar-top{align-items:flex-start;flex-direction:column;gap:2px}.campaign{grid-template-columns:repeat(2,1fr)}.upgrades,.weapons{grid-template-columns:1fr}.sectors{grid-template-columns:repeat(2,1fr)}.upgrade p{min-height:0}.recovery-card{flex-wrap:wrap;gap:12px}.recovery-card button{margin-left:0;width:100%}.battle{padding:0 10px 10px;gap:6px}.hud{margin:0 -10px}.hud-cell{padding:12px 7px 8px;gap:5px}.stat-icon{font-size:21px}.hud-cell small{font-size:8px}.hud-cell strong{font-size:14px}.commands{gap:10px}#command-toggle{font-size:13px;padding:17px 9px}.commands .primary{font-size:13px}.modal{padding:22px}h2{font-size:23px}}
@media(max-width:350px){#brand{font-size:11px;gap:5px}.settings{gap:4px}.settings button{min-width:42px;padding:8px}.hud-cell{padding:10px 5px 7px;gap:4px}.stat-icon{font-size:17px}.hud-cell strong{font-size:13px}.legend{font-size:10px;gap:10px}.telemetry{gap:3px 10px}#command-toggle{font-size:12px;padding:17px 6px}.commands .primary{font-size:12px}}
#brand{color:#e7be58}#brand span{color:#b4edbc}.stat-icon svg{display:block}
@media(max-height:650px) and (min-height:501px){header{height:56px}.battle{gap:4px;padding-bottom:6px}.hud-cell{padding-top:8px;padding-bottom:6px}.commands .primary,#command-toggle{min-height:44px;padding:11px 8px}.legend,.status{font-size:10px}}
@media(max-height:500px){header{height:44px;padding-top:0;padding-bottom:0}.battle{gap:3px;padding-bottom:5px}.hud-cell{padding:5px 7px}.hud-cell small{font-size:8px;margin-bottom:1px}.hud-cell strong{font-size:12px}.stat-icon{font-size:18px}.telemetry{font-size:10px;padding-bottom:2px}.telemetry strong{font-size:11px}.aux-status,.legend,.status{font-size:10px}.commands .primary,#command-toggle{min-height:44px;padding:11px 8px}.command-options{max-height:65dvh}}
body.in-battle #brand span{max-width:180px;font-size:15px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
@media(max-width:350px){body.in-battle #brand span{max-width:135px;font-size:12px}}
