@import"https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";:root{color:#dceaf2;font-family:Inter,sans-serif;background:#060b12;font-synthesis:none;--accent: #29d3e2;--accent-light: #a7f5ff;--secondary: #8da8ff;--danger: #ef6475;--panel: rgba(10, 20, 29, .94);--line: rgba(105, 211, 232, .25)}*{box-sizing:border-box}html,body,#game-shell,#game-canvas{width:100%;height:100%;margin:0;overflow:hidden}body{-webkit-user-select:none;user-select:none}canvas{display:block}.connection-gate{position:fixed;inset:0;z-index:15;display:grid;place-items:center;overflow:hidden;padding:clamp(20px,5vw,64px);color:#dceaf2;background:#040a11;pointer-events:auto}.connection-gate[hidden]{display:none}.connection-backdrop{position:absolute;inset:-2px;background:linear-gradient(180deg,#02080e1f,#02080e8a),url(/assets/sector-loading.webp) center center / cover no-repeat;transform:scale(1.01)}.connection-content{position:relative;width:min(520px,100%);padding:clamp(26px,5vw,42px);border:1px solid rgba(105,211,232,.28);background:linear-gradient(155deg,#081722e0,#030b12f0);box-shadow:0 30px 90px #0000009e,inset 0 1px #a7f5ff12;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.connection-logo{width:clamp(82px,14vw,112px);height:clamp(82px,14vw,112px);margin-bottom:12px;object-fit:contain;filter:drop-shadow(0 0 22px rgba(41,211,226,.34))}.connection-content h1{margin:6px 0 10px;color:#eefaff;font:600 clamp(25px,5vw,34px) "Barlow Condensed";letter-spacing:.04em}.connection-content p{min-height:20px;margin:0;color:#9fb5c1;font-size:clamp(11px,2.5vw,13px);line-height:1.5}.connection-progress{height:5px;margin-top:30px;overflow:hidden;background:#02080de6;box-shadow:inset 0 0 0 1px #69d3e829}.connection-progress span{display:block;width:24%;height:100%;background:linear-gradient(90deg,#238fa8,#79e7f2);box-shadow:0 0 16px #29d3e2a6;transition:width .35s ease}.connection-gate.connecting .connection-progress span{width:68%;animation:connection-scan 1.6s ease-in-out infinite alternate}.connection-gate.ready .connection-progress span{width:100%;animation:none}.connection-gate.offline .connection-progress span{width:18%;background:var(--danger);animation:none}.connection-meta{display:flex;justify-content:space-between;margin-top:9px;color:#7f9aa8;font:600 9px Barlow Condensed;letter-spacing:.12em}@keyframes connection-scan{0%{opacity:.58;transform:translate(-8%)}to{opacity:1;transform:translate(8%)}}@media(prefers-reduced-motion:reduce){.connection-gate.connecting .connection-progress span{animation:none}}.auth-gate{position:fixed;inset:0;z-index:20;display:grid;place-items:center;color:#a9bac5;background:radial-gradient(circle at center,#102a38,#060b12 64%);padding:24px}.auth-gate[hidden]{display:none}.auth-card{width:min(420px,100%);padding:30px;border:1px solid var(--line);background:linear-gradient(155deg,#11222efa,#070e16fa);box-shadow:0 24px 70px #0000008c,0 0 50px #29d3e20f}.auth-heading{margin:18px 0 22px;text-align:center}.auth-heading h1{margin:3px 0 8px;color:#eefaff;font:600 25px Barlow Condensed;letter-spacing:.04em}.auth-heading p{margin:0;color:#8fa5b2;font-size:12px;line-height:1.5}.auth-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid #79e7f2;background:radial-gradient(circle,#236f856b,#051119eb 72%);box-shadow:0 0 36px #29d3e233,inset 0 0 0 3px #69e7f214;margin:0 auto}.auth-mark img{width:52px;height:52px;object-fit:contain}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px}.auth-tabs button,.auth-submit{border:1px solid var(--line);color:#9fb1bc;background:#0c1a25f5;cursor:pointer}.auth-tabs button{padding:9px}.auth-tabs button.active{color:var(--accent-light);border-color:#4bddebb8;background:#113744f5}.auth-form{display:grid;gap:14px}.auth-form[hidden],.auth-tabs[hidden]{display:none}.auth-form label{display:grid;gap:6px;color:#9fb1bc;font:600 11px Barlow Condensed;letter-spacing:.08em;text-transform:uppercase}.auth-form input{width:100%;padding:10px 11px;border:1px solid rgba(105,211,232,.2);border-radius:2px;color:#eefaff;background:#040a10c7;font:400 14px Inter;text-transform:none}.auth-form small{color:#718793;font:400 11px Inter;letter-spacing:0;line-height:1.35;text-transform:none}.auth-submit{margin-top:5px;padding:11px;color:var(--accent-light);font:600 13px Barlow Condensed;letter-spacing:.08em;text-transform:uppercase}.auth-submit:disabled{cursor:wait;opacity:.55}.auth-error{min-height:18px;margin:14px 0 0;color:#ff8795;font-size:12px;line-height:1.45;text-align:center}.auth-gate button:focus-visible,.auth-form input:focus-visible{outline:2px solid var(--accent-light);outline-offset:3px}#hud{position:fixed;inset:0;pointer-events:none;z-index:10}button{font:inherit}.eyebrow,.label{color:#aec4cf;font:600 10px Inter;letter-spacing:.075em;text-transform:uppercase}.value{margin-top:2px;color:#eefaff;font:600 14px Barlow Condensed;letter-spacing:.04em}.side-nav{position:absolute;left:18px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:9px;pointer-events:auto}.nav-button,.quick-button{position:relative;width:48px;height:48px;border:1px solid var(--line);border-radius:2px;color:#9fb1bc;background:linear-gradient(145deg,#122531f7,#08121bf7);box-shadow:inset 0 1px #baf6ff0d,0 4px 12px #00000047;cursor:pointer;transition:.18s ease}.nav-button:hover,.nav-button.active,.quick-button:hover,.quick-button.active{color:var(--accent-light);border-color:#4bddebb8;background:linear-gradient(145deg,#123c49fa,#081b26fa);box-shadow:inset 3px 0 var(--accent),0 5px 14px #0000004d;transform:translateY(-1px)}.nav-button:focus-visible,.quick-button:focus-visible,.close-button:focus-visible,.hud-window-minimize:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.nav-button svg,.quick-button svg{width:21px;height:21px}.nav-key{position:absolute;right:4px;bottom:2px;color:#6f8692;font:600 9px Barlow Condensed}.window-restore:not([hidden]){animation:window-restore-in .2s ease-out}.nav-button.logout-nav:hover{color:#ff8795;border-color:#ef6475ad;box-shadow:inset 3px 0 var(--danger),0 5px 14px #0000004d}@keyframes window-restore-in{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}.panel{position:absolute;left:82px;top:50%;width:min(390px,calc(100vw - 108px));transform:translateY(-50%) translate(-10px);opacity:0;visibility:hidden;padding:20px;border:1px solid var(--line);border-radius:2px;background:linear-gradient(150deg,#10232ffa,#071018fa);box-shadow:0 24px 60px #0000008c,inset 4px 0 #29d3e261;pointer-events:auto;transition:.2s ease}.panel.open{opacity:1;visibility:visible;transform:translateY(-50%) translate(0)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel h2{margin:3px 0 0;font:600 24px Barlow Condensed;letter-spacing:.03em}.close-button{border:0;color:#91a6b2;background:none;font-size:22px;cursor:pointer}.mission-card,.module-card{padding:14px;border:1px solid rgba(105,211,232,.18);border-radius:1px;background:#17313d57}.mission-title{font:600 16px Barlow Condensed;letter-spacing:.03em}.mission-copy,.panel-copy{color:#9fb2bd;font-size:12px;line-height:1.55}.progress{height:5px;margin:13px 0 8px;overflow:hidden;background:#071018}.progress>span{display:block;width:0%;height:100%;background:var(--accent);transition:width .25s}.mission-meta{display:flex;justify-content:space-between;color:#879da9;font:600 11px Barlow Condensed;letter-spacing:.04em}.reward{color:var(--secondary)}.ship-preview{position:relative;height:112px;margin:8px 0 15px;display:grid;place-items:center;border-bottom:1px solid var(--line)}.ship-preview:before{content:"";position:absolute;width:92px;height:92px;border:1px dashed rgba(91,216,232,.3);border-radius:50%}.mini-ship{width:92px;height:48px;color:#75dce8;filter:drop-shadow(0 4px 3px rgba(0,0,0,.45));z-index:1}.stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.stat{padding:10px;border-radius:1px;background:#040c1394}.hangar-panel{--equipment-tile-size: 60px;width:min(1080px,calc(100vw - 116px));height:min(720px,calc(100vh - 48px));padding:22px;overflow:hidden}.hangar-layout{height:calc(100% - 58px);display:grid;grid-template-columns:minmax(520px,1fr) 330px;gap:14px}.hangar-loadout,.hangar-inventory{min-height:0;border:1px solid rgba(105,211,232,.17);background:#030c137a}.hangar-loadout{display:grid;grid-template-rows:38px minmax(0,1fr) 70px}.hangar-inventory{display:grid;grid-template-rows:38px minmax(0,1fr) auto}.hangar-section-head{display:flex;align-items:center;justify-content:space-between;padding:0 12px;border-bottom:1px solid rgba(105,211,232,.16);color:#dceaf2;font:600 12px Barlow Condensed;letter-spacing:.1em;text-transform:uppercase}.hangar-section-head span:last-child{color:#8fa8b5;font:600 10px Inter;letter-spacing:.04em;text-transform:none}.equipment-workbench{min-height:0;display:grid;grid-template-columns:minmax(150px,1fr) minmax(170px,1.15fr) minmax(150px,1fr);grid-template-rows:minmax(190px,1fr) auto auto;grid-template-areas:"laser ship shield" "drone drone drone" "module module module";gap:12px;padding:14px;overflow:auto;background:radial-gradient(circle at 50% 32%,rgba(41,211,226,.08),transparent 34%)}.slot-bank{display:grid;align-content:center;justify-content:center;gap:7px}.slot-bank-title{grid-column:1 / -1;margin-bottom:2px;color:#aec4cf;font:600 10px Inter;letter-spacing:.075em;text-transform:uppercase}.laser-slots{grid-area:laser;grid-template-columns:repeat(3,var(--equipment-tile-size))}.shield-slots{grid-area:shield;grid-template-columns:repeat(3,var(--equipment-tile-size))}.drone-slots{grid-area:drone;grid-template-columns:repeat(8,var(--equipment-tile-size))}.module-slots{grid-area:module;grid-template-columns:repeat(4,var(--equipment-tile-size));opacity:.72}.hangar-ship-core{grid-area:ship;position:relative;display:grid;place-items:center;align-content:center;color:#80eaf6}.ship-core-ring{position:absolute;width:154px;height:154px;border:1px dashed rgba(105,211,232,.25);border-radius:50%;box-shadow:0 0 35px #29d3e20f}.hangar-ship-asset{width:190px;height:119px;z-index:1;object-fit:contain;filter:drop-shadow(0 0 13px rgba(41,211,226,.24))}.hangar-ship-core>span{z-index:1;margin-top:15px;color:#aec4cf;font:600 10px Inter;letter-spacing:.15em}.equipment-slot{position:relative;width:var(--equipment-tile-size);height:var(--equipment-tile-size);padding:0;overflow:hidden;border:1px dashed rgba(105,211,232,.25);color:#607986;background:#06131cad;transition:border-color .15s,background .15s,transform .15s}.equipment-slot>span{position:absolute;right:5px;bottom:3px;font:600 9px Barlow Condensed}.equipment-slot:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.equipment-slot.occupied{border-style:solid;border-color:#69d3e84d}.equipment-slot.drop-target{border-color:var(--accent);background:#29d3e21a}.equipment-slot.rejected{border-color:var(--danger);animation:equipment-reject .42s ease}.inventory-dropzone{min-height:0;display:grid;align-content:start;justify-content:start;grid-template-columns:repeat(auto-fill,var(--equipment-tile-size));grid-auto-rows:var(--equipment-tile-size);gap:8px;padding:10px;overflow-y:auto;transition:background .15s,box-shadow .15s}.inventory-dropzone:empty:after{content:"Inventar leer";padding:24px;color:#708894;font:600 11px Inter;text-align:center}.inventory-dropzone.drop-target{background:#29d3e212;box-shadow:inset 0 0 0 1px var(--accent)}.inventory-hint{margin:0;padding:10px 12px;border-top:1px solid rgba(105,211,232,.14);color:#91a9b6;font-size:10px;line-height:1.45}.equipment-item{position:relative;width:100%;min-width:0;height:100%;min-height:0;display:grid;place-items:center;padding:4px;overflow:hidden;border:1px solid rgba(105,211,232,.22);color:#dceaf2;background:radial-gradient(circle at 50% 42%,rgba(41,211,226,.1),transparent 58%),linear-gradient(145deg,#162e3bf5,#08161ff5);text-align:left;cursor:grab;transition:opacity .15s,border-color .15s,transform .15s}.equipment-item:hover{border-color:var(--accent)}.equipment-item.uncommon{border-color:#8da8ff7a}.equipment-item.rare{border-color:#c37dff8c}.equipment-item.dragging,.equipment-item.pending{opacity:.48}.equipment-item.rejected{animation:equipment-reject .42s ease}.equipment-item-icon{width:100%;height:100%;display:grid;place-items:center;color:var(--accent-light);font:700 16px Barlow Condensed}.equipment-item-icon img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.65))}.equipment-tooltip{position:fixed;left:var(--tooltip-x, 0);top:var(--tooltip-y, 0);z-index:30;width:230px;padding:10px 12px;border:1px solid rgba(105,211,232,.42);color:#dceaf2;background:linear-gradient(150deg,#0d1f2bfa,#040d14fc);box-shadow:0 12px 32px #00000094;pointer-events:none}.equipment-tooltip[hidden]{display:none}.equipment-tooltip strong{display:block;color:#effcff;font:600 15px Barlow Condensed;letter-spacing:.025em}.equipment-tooltip-kind{display:block;margin:2px 0 8px;color:#8fa8b5;font:600 9px Inter;letter-spacing:.08em;text-transform:uppercase}.equipment-tooltip-stats{display:flex;flex-direction:column;gap:4px;padding-top:7px;border-top:1px solid rgba(105,211,232,.15);color:var(--accent-light);font:600 11px Inter}.hangar-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(105,211,232,.17)}.hangar-stats>div{display:flex;flex-direction:column;justify-content:center;padding:0 14px;border-right:1px solid rgba(105,211,232,.12)}.hangar-stats>div:last-child{border-right:0}.hangar-stats strong{margin-top:3px;color:var(--accent-light);font:600 18px Barlow Condensed}@keyframes equipment-reject{25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-3px)}}.hud-window{position:absolute;z-index:2;border:1px solid var(--line);background:linear-gradient(155deg,#0d1f2bf7,#050e16f7);box-shadow:0 16px 42px #0000007a,inset 0 1px #a7f5ff0d;pointer-events:auto}.hud-window[hidden]{display:none}.hud-window.dragging{box-shadow:0 22px 56px #00000094,0 0 24px #29d3e21a}.ship-window,.pilot-window{width:min(330px,calc(100vw - 44px));height:174px}.ship-window{left:22px;bottom:22px}.pilot-window{top:22px;right:22px}.hud-window-titlebar{height:31px;display:flex;align-items:center;justify-content:space-between;padding-left:11px;border-bottom:1px solid var(--line);color:#bcd3de;background:linear-gradient(180deg,#1b3a48e0,#0d222ee0);font:600 11px Barlow Condensed;letter-spacing:.12em;text-transform:uppercase;cursor:move;touch-action:none}.hud-window-minimize{align-self:stretch;width:34px;border:0;border-left:1px solid rgba(105,211,232,.18);color:#9fb5c1;background:#040e1647;cursor:pointer}.hud-window-minimize:hover{color:var(--accent-light);background:#29d3e21a}.hud-window-body{padding:13px 14px 15px}.ship-window .hud-window-body{height:calc(100% - 31px);display:flex;flex-direction:column;justify-content:center}.pilot-resource-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.pilot-resource{padding:9px 10px;border:1px solid rgba(105,211,232,.14);background:#040d148f}.pilot-resource .value{color:var(--accent-light);font-size:16px}.pilot-resource .experience-value{font-size:14px;white-space:nowrap}.status-name{display:flex;justify-content:space-between;margin-bottom:13px;color:#dceaf2;font:600 12px Barlow Condensed;text-transform:uppercase;letter-spacing:.08em}.bar{position:relative;height:16px;margin:5px 0 11px;overflow:hidden;border:1px solid rgba(132,217,229,.22);background:#02080deb;box-shadow:inset 0 2px 5px #00000073}.bar span{display:block;height:100%;transition:width .2s}.bar.hull span{width:100%;background:linear-gradient(90deg,#4f713f,#8fc96b);box-shadow:0 0 10px #8fc96b40}.bar.shield span{width:72%;background:linear-gradient(90deg,#2479a5,#66dff0);box-shadow:0 0 10px #66dff04d}.bar-label{display:flex;justify-content:space-between;color:#94a9b5;font:600 10px Barlow Condensed;letter-spacing:.04em}.quickbar{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;gap:7px;pointer-events:auto}.quick-button{width:52px;height:52px}.quick-asset{width:43px;height:43px;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.quick-button.primary{color:var(--accent-light);border-color:#4bddeb80}.quick-button[data-fire].active:before{content:"";position:absolute;top:5px;left:5px;width:5px;height:5px;background:#c66a50}.quick-count{position:absolute;right:5px;top:4px;color:#b8cbd5;font:600 9px Barlow Condensed}.radar{position:absolute;right:22px;bottom:22px;width:190px;height:142px;overflow:hidden;border:1px solid var(--line);border-radius:2px;background:#08131cf0;box-shadow:inset 0 0 25px #00000052,0 5px 18px #00000040}.radar-head{height:29px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid var(--line);color:#9fb2bd;font:600 10px Barlow Condensed;letter-spacing:.08em}.radar-grid{position:absolute;inset:29px 0 0;background-image:linear-gradient(rgba(91,216,232,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(91,216,232,.07) 1px,transparent 1px);background-size:24px 24px}.radar-grid:before,.radar-grid:after{content:"";position:absolute;border-radius:50%}.radar-grid:before{width:90px;height:90px;left:48px;top:10px;border:1px solid rgba(91,216,232,.14)}.radar-grid:after{width:4px;height:4px;left:94px;top:55px;background:var(--accent);box-shadow:-44px -23px #ef6475,55px 14px #ef6475,32px -34px #8da8ff}.toast{position:absolute;top:88px;left:50%;transform:translate(-50%,-8px);padding:9px 14px;border:1px solid rgba(75,221,235,.38);border-radius:2px;color:#dffaff;background:#08161ff0;font:600 12px Barlow Condensed;letter-spacing:.03em;opacity:0;transition:.25s}.toast.show{opacity:1;transform:translate(-50%)}@media(max-width:760px){.connection-gate{align-items:end;padding-bottom:max(32px,env(safe-area-inset-bottom))}.connection-content{width:100%}.radar{display:none}.quickbar{bottom:96px}.pilot-window,.ship-window{width:min(330px,calc(100vw - 24px))}.pilot-window{top:12px;right:12px}.ship-window{left:12px;bottom:18px}.hangar-panel{left:66px;width:calc(100vw - 76px);height:calc(100vh - 24px);padding:14px}.hangar-layout{grid-template-columns:1fr;grid-template-rows:minmax(430px,1.4fr) minmax(220px,.8fr);overflow-y:auto}.hangar-loadout,.hangar-inventory{min-height:220px}.equipment-workbench{grid-template-columns:minmax(120px,1fr) minmax(140px,1fr) minmax(120px,1fr);min-width:480px}}@media(prefers-reduced-motion:reduce){.window-restore:not([hidden]){animation:none}}
