:root{
  --bg:#020708;--panel:#031011f2;--panel2:#061719f4;--grid:rgba(72,255,196,.055);
  --phosphor:#68ffc7;--cyan:#6deaff;--dim:#6aa89a;--text:#caffee;--amber:#ffd36b;
  --danger:#ff756f;--line:#2dbf92;--line2:#176b59;--black:#000505;
}
*{box-sizing:border-box}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Consolas,"Lucida Console","Courier New",monospace;font-smooth:never;-webkit-font-smoothing:none;text-rendering:geometricPrecision}
body::before{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.15) 0 1px,transparent 1px 4px);mix-blend-mode:multiply;opacity:.68}
body::after{content:"";position:fixed;inset:0;z-index:91;pointer-events:none;background:radial-gradient(ellipse at center,transparent 56%,rgba(0,0,0,.18) 76%,rgba(0,0,0,.5) 100%);box-shadow:inset 0 0 100px rgba(0,0,0,.48)}
canvas{position:fixed;inset:0;width:100%;height:100%;image-rendering:pixelated}
#world{pointer-events:none}.hidden{display:none!important}
button,input,select{font:inherit;color:inherit}
button{position:relative;background:linear-gradient(180deg,#082321,#041311);color:var(--phosphor);border:1px solid var(--line);padding:10px 15px;border-radius:0;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;text-shadow:0 0 6px rgba(104,255,199,.45);box-shadow:inset 0 0 0 1px #001c18,0 0 8px rgba(45,191,146,.10)}
button::before{content:"";position:absolute;left:3px;top:3px;width:5px;height:5px;border-left:1px solid var(--cyan);border-top:1px solid var(--cyan);opacity:.7}
button:hover,button:focus-visible{background:#0b302a;color:#eafff7;border-color:var(--cyan);outline:1px solid var(--cyan);outline-offset:2px;box-shadow:0 0 14px rgba(109,234,255,.18),inset 0 0 16px rgba(104,255,199,.06)}
button:active{transform:translate(1px,1px)}button:disabled{opacity:.28;filter:saturate(.4);cursor:not-allowed}
.panel{position:fixed;z-index:20;left:50%;top:50%;transform:translate(-50%,-50%);width:min(680px,92vw);max-height:90vh;overflow:auto;background-color:var(--panel);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px),linear-gradient(180deg,rgba(35,255,185,.035),transparent 45%);background-size:20px 20px,20px 20px,100% 100%;border:1px solid var(--phosphor);padding:24px;border-radius:0;box-shadow:0 0 0 3px #00110f,0 0 0 4px var(--line2),0 0 36px rgba(29,255,180,.13),inset 0 0 32px rgba(37,199,145,.035);clip-path:polygon(0 10px,10px 10px,10px 0,calc(100% - 10px) 0,calc(100% - 10px) 10px,100% 10px,100% calc(100% - 10px),calc(100% - 10px) calc(100% - 10px),calc(100% - 10px) 100%,10px 100%,10px calc(100% - 10px),0 calc(100% - 10px))}
.panel::after{content:"";position:absolute;left:12px;right:12px;top:7px;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:.55;pointer-events:none}
.panel h1,.panel h2,.panel h3,.panel h4{font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--phosphor);text-shadow:0 0 8px rgba(104,255,199,.34)}
.panel h1{font-size:clamp(24px,5vw,42px);margin:.3em 0}.panel h2{font-size:20px}.panel p{line-height:1.55}.panel small{color:var(--dim)}
.menu-panel{text-align:center;width:min(560px,92vw)}.menu-panel h1{color:var(--cyan);letter-spacing:.18em}.menu-panel h1::after{content:"";display:block;height:36px;margin:10px auto 20px;max-width:370px;background:linear-gradient(90deg,transparent 0 4%,var(--line) 4% 8%,transparent 8% 12%,var(--line) 12% 14%,transparent 14% 21%,var(--cyan) 21% 23%,transparent 23% 31%,var(--line) 31% 38%,transparent 38% 43%,var(--phosphor) 43% 45%,transparent 45% 51%,var(--cyan) 51% 58%,transparent 58% 66%,var(--line) 66% 69%,transparent 69% 76%,var(--phosphor) 76% 84%,transparent 84%);clip-path:polygon(0 49%,5% 49%,7% 14%,9% 82%,12% 49%,18% 49%,21% 28%,23% 67%,27% 49%,35% 49%,39% 4%,42% 96%,46% 49%,53% 49%,56% 23%,59% 74%,63% 49%,71% 49%,74% 34%,78% 65%,82% 49%,100% 49%);filter:drop-shadow(0 0 4px var(--phosphor));opacity:.8}
.vbuttons{display:flex;flex-direction:column;gap:9px}.hbuttons{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.fullscreen{inset:5%;transform:none;width:auto;left:5%;top:5%;max-height:90%;}.panelhead{display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px dashed var(--line2);padding-bottom:10px;margin-bottom:12px}.panelhead h2{margin:0}
.game-ui,#target,#prompt{position:fixed;z-index:3;background-color:rgba(2,15,15,.88);background-image:linear-gradient(rgba(58,255,196,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(58,255,196,.035) 1px,transparent 1px);background-size:12px 12px;border:1px solid var(--line);padding:9px 12px;border-radius:0;color:var(--text);text-shadow:0 0 5px rgba(104,255,199,.25);box-shadow:inset 0 0 14px rgba(40,255,180,.025),0 0 10px rgba(0,0,0,.35)}
#hud{left:14px;top:14px;display:flex;gap:30px;border-left:4px solid var(--phosphor)}#hud b{color:var(--cyan);letter-spacing:.12em}#hud span{font-variant-numeric:tabular-nums}
#quest{left:14px;bottom:46px;max-width:520px;min-width:310px;border-left:4px solid var(--amber)}#target{right:14px;top:14px;display:none;border-right:4px solid var(--cyan);text-align:right}#help{bottom:8px;left:50%;transform:translateX(-50%);font-size:11px;white-space:nowrap;color:var(--dim)}#prompt{bottom:96px;left:50%;transform:translateX(-50%);display:none;color:var(--phosphor);border-color:var(--cyan);letter-spacing:.06em}
#sectorMap{position:relative;height:calc(100% - 130px);min-height:300px;background-color:#02090b;background-image:linear-gradient(rgba(73,255,199,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(73,255,199,.07) 1px,transparent 1px),radial-gradient(circle at center,#082123,#010405 72%);background-size:32px 32px,32px 32px,100% 100%;border:1px solid var(--line)}#mapCanvas,#mapStars{position:absolute;inset:0;width:100%;height:100%}#mapCanvas{pointer-events:none}#mapStars{pointer-events:auto}.mstar{position:absolute;transform:translate(-50%,-50%);width:52px;height:52px;min-width:52px;min-height:52px;background:transparent;border:0;color:var(--cyan);font-size:28px;padding:0;display:flex;align-items:center;justify-content:center;text-shadow:0 0 8px currentColor;box-shadow:none;touch-action:manipulation;z-index:2}.mstar::before{display:none}.mstar small{position:absolute;left:50%;top:38px;transform:translateX(-50%);display:block;white-space:nowrap;font-size:10px;letter-spacing:.08em;pointer-events:none}.mstar:hover,.mstar:focus-visible{background:rgba(109,234,255,.08);outline:1px solid rgba(109,234,255,.45);outline-offset:-4px}.mstar.current{color:var(--amber)}.mstar.route{color:var(--phosphor)}.mstar.locked{color:#36564f}#mapInfo{padding:9px;border-top:1px dashed var(--line2);color:var(--cyan)}
.columns{display:grid;grid-template-columns:1fr 1fr;gap:28px}.module,article{border:1px solid var(--line2);border-left:3px solid var(--line);background:rgba(3,19,18,.88);padding:12px;margin:8px 0;border-radius:0}.module small,.module b{display:block}.info-panel h3{color:var(--cyan);border-bottom:1px dotted var(--line2);padding-bottom:6px}label{display:block;margin:18px 0}select,input[type="range"]{background:#041311;border:1px solid var(--line);padding:6px}input[type="checkbox"]{accent-color:var(--phosphor)}
.station-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:9px;margin:14px 0}.station-grid button{min-height:54px}.credits{font-size:1.15em;color:var(--amber)}.upgrade-list{display:grid;gap:8px}.upgrade-list button{display:flex;justify-content:space-between;gap:14px;align-items:center}.combat-bar{height:14px;background:#061210;border:1px solid var(--line2);margin:8px 0;box-shadow:inset 0 0 8px #000}.combat-bar>i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--phosphor) 0 8px,#2d9f7c 8px 10px);box-shadow:0 0 10px rgba(104,255,199,.28)}
.mp-status{margin:14px 0 18px;padding:12px;border:1px dashed var(--line);background:#031313;line-height:1.45}#multiplayerPlayerId{display:block;margin-top:12px;opacity:.65;overflow-wrap:anywhere}
#scannerStatus{color:var(--cyan)}.toast{position:fixed;z-index:40;left:50%;top:17%;transform:translateX(-50%);max-width:min(620px,88vw);padding:11px 16px;border:1px solid var(--cyan);background:#031111f2;box-shadow:0 0 20px rgba(109,234,255,.16);border-radius:0;color:var(--text);text-align:center;letter-spacing:.08em;text-transform:uppercase}.event-panel{border-color:var(--cyan)}.event-kicker{font-size:10px;letter-spacing:.18em;color:var(--cyan);text-transform:uppercase;margin-bottom:7px}.event-panel #eventText{line-height:1.6;color:#bfe9dc}.event-panel #eventChoices button{text-align:left;display:flex;flex-direction:column;gap:4px}.event-panel #eventChoices button small{opacity:.72;font-size:11px}.module.rare{border-color:#a8a0ff;box-shadow:inset 0 0 18px rgba(129,105,255,.06)}.module.rare b{color:#d5d1ff}
.tracked{padding:3px 0 7px 10px;border-left:3px solid #71899a;margin:3px 0 7px}.tracked b,.tracked span{display:block}.tracked b{letter-spacing:.06em}.tracked span{font-size:11px;color:#92bdb0;margin-top:3px}.tracked-main{border-color:var(--amber)}.tracked-side{border-color:var(--cyan)}.tracked-faction{border-color:#d89cf0}.tracked-exploration{border-color:var(--phosphor)}.tracked-misc{border-color:#91a5b2}.quest-group{margin:18px 0 26px}.quest-group-title{display:flex;align-items:center;gap:9px;border-bottom:1px dashed var(--line2);padding:0 0 8px;margin:0 0 10px}.quest-group-title small{margin-left:auto;color:var(--dim)}.quest-card{border-left:4px solid #71899a}.quest-main .quest-card{border-left-color:var(--amber)}.quest-side .quest-card{border-left-color:var(--cyan)}.quest-faction .quest-card{border-left-color:#d89cf0}.quest-exploration .quest-card{border-left-color:var(--phosphor)}.quest-misc .quest-card{border-left-color:#91a5b2}.quest-card.completed{opacity:.48}.quest-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.quest-card h4{font-size:17px;margin:4px 0}.quest-kind{font-size:9px;text-transform:uppercase;letter-spacing:.16em;color:var(--dim)}.track-btn{padding:7px 10px;font-size:10px;white-space:nowrap}.quest-empty{color:#557a70;font-size:11px;margin:8px 12px}
@media(max-width:700px){.panel{padding:16px}.panel h2{font-size:16px}.fullscreen{inset:2%;left:2%;top:2%;max-height:96%}#hud{font-size:10px;gap:8px;right:8px;flex-wrap:wrap}#quest{min-width:0;max-width:calc(100vw - 28px);font-size:11px}.columns{grid-template-columns:1fr}.hbuttons{justify-content:stretch}.hbuttons button{flex:1 1 120px}#help{font-size:8px}.game-ui,#target,#prompt{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
#gl{pointer-events:auto}
.mstar.selected{background:rgba(109,234,255,.11);outline:1px dashed var(--cyan);outline-offset:-5px}

/* 1.6.0 communications + faction habitats */
#mapFactions{position:absolute;left:12px;bottom:12px;z-index:4;width:min(330px,42%);max-height:42%;overflow:auto;padding:8px 10px;background:rgba(1,8,9,.82);border:1px solid var(--line2);pointer-events:none}
.faction-legend-row{display:flex;gap:8px;align-items:flex-start;padding:6px 0;border-bottom:1px dotted rgba(104,255,199,.14)}
.faction-legend-row:last-child{border-bottom:0}.faction-legend-row i{width:12px;height:12px;margin-top:3px;border:2px solid var(--fc);background:rgba(104,255,199,.08);box-shadow:0 0 8px var(--fc);flex:0 0 auto}.faction-legend-row span,.faction-legend-row b,.faction-legend-row small{display:block}.faction-legend-row b{color:var(--text);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.faction-legend-row small{font-size:9px;line-height:1.35;color:var(--dim);margin-top:2px}
.comms-panel{padding:12px;background:#010708f7;overflow:hidden}.comms-shell{height:100%;min-height:520px;display:grid;grid-template-rows:auto minmax(260px,1fr) auto auto;gap:10px}.comms-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border:1px solid var(--line2);border-left:4px solid var(--cyan);padding:10px 13px;background:#031112}.comms-head h2{margin:2px 0 0;color:var(--cyan)}.comms-meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.09em}.comms-meta b{color:var(--phosphor)}
.comms-display{position:relative;min-height:280px;overflow:hidden;border:1px solid var(--line);background:#010606;box-shadow:inset 0 0 50px rgba(26,255,178,.055)}#commsPortrait{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}.comms-overlay{position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.20) 0 1px,transparent 1px 4px),linear-gradient(90deg,rgba(104,255,199,.025),transparent 22%,rgba(109,234,255,.025) 78%,transparent);box-shadow:inset 0 0 70px #000}
.comms-dialogue{position:absolute;left:4%;right:4%;bottom:4%;padding:12px 14px;background:rgba(0,8,8,.88);border:1px solid rgba(109,234,255,.48);border-left:4px solid var(--phosphor);min-height:96px}.comms-dialogue small{display:block;color:var(--cyan);font-size:9px;letter-spacing:.16em;text-transform:uppercase;margin-bottom:6px}.comms-dialogue p{margin:0;min-height:3.3em;line-height:1.52;color:#e1fff4;text-shadow:0 0 5px rgba(104,255,199,.22);cursor:pointer;outline:0}.comms-dialogue p:focus-visible{outline:1px dashed var(--cyan);outline-offset:3px}
.comms-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.comms-choices button{text-align:left;min-height:46px;padding:9px 12px;white-space:normal}.comms-choices button::after{content:">";float:right;color:var(--cyan)}.comms-hint{text-align:center;color:#527e73;font-size:9px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:700px){#mapFactions{width:56%;max-height:35%;font-size:9px}.comms-panel{inset:1%;left:1%;top:1%;max-height:98%}.comms-shell{min-height:0;grid-template-rows:auto minmax(230px,1fr) auto auto}.comms-display{min-height:260px}.comms-dialogue{left:2%;right:2%;bottom:2%;padding:9px 10px}.comms-choices{grid-template-columns:1fr}.comms-meta{font-size:8px}.comms-head h2{font-size:14px}}
/* 1.7.0 quest engine */
.contract-list{display:grid;gap:8px;margin:8px 0 18px}.contract-btn{display:flex;justify-content:space-between;align-items:center;gap:18px;text-align:left;min-height:58px}.contract-btn span{display:flex;flex-direction:column;gap:4px;min-width:0}.contract-btn span small{color:var(--dim);line-height:1.35}.contract-btn strong{color:var(--cyan);font-size:10px;letter-spacing:.08em;white-space:nowrap}.contract-btn.operation{border-color:#8dcfc0}.contract-btn:disabled strong{color:#5d726c}.quest-objectives{display:grid;gap:5px;margin:10px 0 8px;padding:9px;border:1px dashed var(--line2);background:rgba(0,10,9,.45)}.quest-objective{display:flex;gap:8px;align-items:flex-start;color:#b8ddd3}.quest-objective i{font-style:normal;color:var(--cyan);min-width:14px}.quest-objective.done{opacity:.55;text-decoration:line-through}.quest-cargo-item{color:#d8f6ef}.quest-cargo-item b{color:var(--cyan)}#shipCargo h4{margin:12px 0 5px;color:var(--amber);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
@media(max-width:640px){.contract-btn{align-items:flex-start;flex-direction:column}.contract-btn strong{white-space:normal}}
.weapon-loadout{display:grid;gap:8px}.weapon-slot{border:1px solid var(--line2);border-left:3px solid #58777a;background:rgba(2,15,16,.72);padding:10px;display:grid;gap:4px}.weapon-slot.active{border-color:var(--cyan);box-shadow:inset 0 0 16px rgba(109,234,255,.08)}.weapon-slot small{color:var(--cyan);font-size:10px;letter-spacing:.08em}.weapon-slot b{color:#e9ffff}.weapon-slot span{color:var(--dim);font-size:11px}.weapon-slot em{font-style:normal;color:var(--amber);font-size:10px}.weapon-inventory{display:grid;gap:7px;margin-top:8px}.weapon-inventory-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;border:1px dashed var(--line2);padding:8px}.weapon-inventory-row span{display:grid;gap:3px;min-width:0}.weapon-inventory-row small{color:var(--dim)}.weapon-inventory-row button{padding:7px 9px;min-height:34px}.weapon-inventory-row button.installed{border-color:var(--cyan);color:var(--cyan)}.weapon-shop-row span{display:flex;flex-direction:column;gap:3px;text-align:left}.weapon-shop-row small{color:var(--dim);font-size:11px}.weapon-shop-row strong{color:var(--amber);white-space:nowrap;font-size:10px}@media(max-width:720px){.weapon-inventory-row{grid-template-columns:1fr 1fr}.weapon-inventory-row span{grid-column:1/-1}}
/* 1.9.1 hyperspace red inversion */
.upgrade-subtitle{margin:12px 0 2px;padding:7px 9px;border-left:3px solid var(--cyan);background:rgba(109,234,255,.045);font-size:11px;color:var(--cyan)!important;letter-spacing:.12em}

/* 1.9.2 mobile controls */
.mobile-controls{display:none!important;position:fixed;inset:0;z-index:12!important;background:none!important;border:0!important;box-shadow:none!important;padding:0!important;pointer-events:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.mobile-stick,.mobile-actions,.mobile-top-actions{pointer-events:auto;touch-action:none}
.mobile-stick{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(18px,env(safe-area-inset-bottom));width:132px;height:132px;border-radius:50%;border:1px solid rgba(109,234,255,.42);background:radial-gradient(circle,rgba(7,41,40,.26) 0 38%,rgba(2,16,17,.72) 39% 100%);box-shadow:inset 0 0 28px rgba(109,234,255,.08),0 0 18px rgba(0,0,0,.5)}
.mobile-stick-ring{position:absolute;inset:24px;border:1px dashed rgba(104,255,199,.25);border-radius:50%;pointer-events:none}.mobile-stick-ring::before,.mobile-stick-ring::after{content:"";position:absolute;background:rgba(109,234,255,.16);left:50%;top:50%;transform:translate(-50%,-50%)}.mobile-stick-ring::before{width:1px;height:88px}.mobile-stick-ring::after{height:1px;width:88px}
.mobile-stick-knob{position:absolute;left:50%;top:50%;margin:-27px;width:54px;height:54px;border-radius:50%;border:2px solid var(--cyan);background:rgba(5,39,37,.94);box-shadow:0 0 18px rgba(109,234,255,.22),inset 0 0 16px rgba(104,255,199,.08);pointer-events:none;will-change:transform}
.mobile-actions{position:absolute;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:174px;height:154px}
.mobile-control,.mobile-mini{touch-action:none;-webkit-tap-highlight-color:transparent;font-size:10px;font-weight:bold;letter-spacing:.07em;padding:0;display:flex;align-items:center;justify-content:center;text-align:center}
.mobile-control{position:absolute;width:72px;height:58px;border-radius:10px}.mobile-control::before,.mobile-mini::before{display:none}.mobile-fire{right:0;bottom:0;width:78px;height:78px;border-radius:50%;border-color:#ff8a6f;color:#ffd0bd;background:rgba(54,15,10,.88)}.mobile-fire.pressed{background:rgba(120,34,18,.95);transform:scale(.96)}.mobile-action{left:0;bottom:13px}.mobile-scan{right:5px;top:0}.mobile-weapon{left:9px;top:0}
.mobile-top-actions{position:absolute;right:max(10px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));display:flex;gap:7px}.mobile-mini{min-width:48px;height:42px;padding:0 9px;background:rgba(2,17,18,.80)}
.mobile-controls[data-mode="system"] .mobile-fire,.mobile-controls[data-mode="system"] .mobile-weapon{display:none}.mobile-controls[data-mode="hyper"] .mobile-fire,.mobile-controls[data-mode="hyper"] .mobile-scan,.mobile-controls[data-mode="hyper"] .mobile-weapon{display:none}.mobile-controls[data-mode="surface"] .mobile-map,.mobile-controls[data-mode="surface"] .mobile-weapon{display:none}.mobile-controls[data-mode="combat"] .mobile-action,.mobile-controls[data-mode="combat"] .mobile-scan,.mobile-controls[data-mode="combat"] .mobile-map{display:none}
.mobile-controls.controls-suspended{opacity:0;pointer-events:none!important}.mobile-controls.controls-suspended *{pointer-events:none!important}
@media (pointer:coarse), (max-width:900px){
  body{touch-action:none;overscroll-behavior:none}.mobile-controls.touch-enabled.game-ui:not(.hidden){display:block!important}
  #help{display:none!important}#prompt{bottom:174px;max-width:58vw;text-align:center;font-size:10px;pointer-events:none}#quest{bottom:162px;max-width:min(420px,52vw);font-size:9px;pointer-events:none}#hud{left:max(8px,env(safe-area-inset-left));top:max(8px,env(safe-area-inset-top));right:auto;max-width:68vw;font-size:9px;line-height:1.3;gap:7px;padding:6px 8px}#target{top:max(58px,calc(env(safe-area-inset-top) + 48px));right:max(8px,env(safe-area-inset-right));font-size:9px}
  .panel{max-width:calc(100vw - 18px);max-height:calc(100vh - 18px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.fullscreen{inset:max(6px,env(safe-area-inset-top)) max(6px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(6px,env(safe-area-inset-left));left:max(6px,env(safe-area-inset-left));top:max(6px,env(safe-area-inset-top));width:auto;height:auto;max-height:none;transform:none}button{min-height:44px}.toast{top:max(12%,calc(env(safe-area-inset-top) + 54px));font-size:10px;max-width:74vw}
}
@media (pointer:coarse) and (orientation:portrait){.mobile-stick{width:116px;height:116px}.mobile-stick-knob{width:48px;height:48px;margin:-24px}.mobile-actions{width:158px;height:144px}.mobile-control{width:68px;height:54px}.mobile-fire{width:72px;height:72px}#quest{display:none!important}#hud{max-width:74vw}}

/* 1.10.2 surface world update */
.store-note{color:var(--dim);max-width:920px}.store-section{margin:14px 0 22px}.store-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:10px}.store-card{display:grid;gap:7px;align-content:start;text-align:left;border:1px solid var(--line2);border-left:3px solid var(--cyan);background:rgba(2,16,17,.78);padding:12px;min-height:132px}.store-card h4{margin:0;color:#eafff8;font-size:13px;letter-spacing:.06em}.store-card p{margin:0;color:var(--dim);font-size:11px;line-height:1.45}.store-card strong{color:var(--amber);font-size:11px}.store-card button{margin-top:auto}.store-card.reward{border-left-color:var(--phosphor)}.store-card.disabled{opacity:.48}.store-message{min-height:24px;padding:8px 0;color:var(--cyan);font-size:11px}.store-platform-vk{color:var(--phosphor)}.store-platform-local{color:var(--amber)}
@media(max-width:640px){.store-grid{grid-template-columns:1fr}.store-card{min-height:0}}

/* VK moderation hardening */
.boot-screen{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:#010607;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));text-align:center}
.boot-box{width:min(520px,92vw);border:1px solid var(--line);padding:24px;background:rgba(2,16,17,.94);box-shadow:0 0 32px rgba(45,191,146,.12)}
.boot-box h1{margin:0 0 12px;color:var(--cyan);font-size:clamp(22px,7vw,38px);letter-spacing:.14em}.boot-box p{color:var(--dim);font-size:11px}.boot-line{height:5px;border:1px solid var(--line2);overflow:hidden;margin-top:16px}.boot-line i{display:block;width:38%;height:100%;background:var(--phosphor);animation:bootSweep 1.15s linear infinite}@keyframes bootSweep{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
@media (prefers-reduced-motion:reduce){.boot-line i{animation:none;width:100%}}
@supports(height:100dvh){html,body{height:100dvh}.panel{max-height:calc(100dvh - 18px)}.fullscreen{max-height:none}}
@media(max-height:620px){.menu-panel{padding:14px}.menu-panel h1{margin:.1em 0;font-size:24px}.menu-panel h1::after{height:20px;margin:5px auto 8px}.vbuttons{gap:6px}.menu-panel button{min-height:40px;padding:7px 12px}}
@media(pointer:coarse) and (orientation:landscape) and (max-height:520px){#hud{font-size:8px;max-width:54vw}.mobile-stick{width:104px;height:104px}.mobile-stick-knob{width:44px;height:44px;margin:-22px}.mobile-actions{width:156px;height:116px}.mobile-control{width:64px;height:48px}.mobile-fire{width:66px;height:66px}.panel{padding:14px}}
