:root{--void-deep:#050b14;--void:#08111f;--surface:#0d1929;--surface-raised:#132234;--surface-high:#1a2c42;--line:#22374f;--line-strong:#2e4763;--text-high:#f0f5fb;--text-mid:#a9bcd0;--text-low:#748aa1;--cyan:#3fe0f0;--cyan-deep:#1b93a8;--amber:#ffb547;--amber-deep:#b87424;--violet:#a889ff;--violet-deep:#6b4bc4;--metal:#e08a3c;--crystal:#3fd8e0;--dark-matter:#8b5cf6;--hull:#bcc9d7;--graphite:#263443;--ok:#4be0a0;--warn:#ffc55c;--danger:#ff6b81;--faction:var(--cyan);--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--tap:44px;--shadow-sm:0 1px 2px #02060c80;--shadow-md:0 6px 20px -6px #02060cb3;--shadow-lg:0 24px 60px -20px #02060cd9;--glow-cyan:0 0 0 1px #3fe0f059, 0 0 18px -4px #3fe0f066;--t-instant:90ms;--t-quick:.16s;--t-smooth:.24s;--ease:cubic-bezier(.22, .61, .36, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--font-ui:"Inter var", "Inter", "SF Pro Text", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display:"Inter var", "Inter", "SF Pro Display", "Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"SF Mono", "JetBrains Mono", "Cascadia Mono", "Roboto Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--void);color:var(--text-high);font-family:var(--font-ui);font-feature-settings:"cv02", "cv03", "cv04", "ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overscroll-behavior:none;font-size:16px;line-height:1.5}#root{touch-action:manipulation;position:relative;overflow:hidden}::selection{background:#3fe0f047}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;margin:0;line-height:1.15}h1{font-size:clamp(1.75rem,4.2vw,2.5rem);font-weight:800}h2{font-size:1.375rem;font-weight:700}h3{font-size:1.0625rem;font-weight:650}p{margin:0}.label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-low);font-size:.8125rem;font-weight:600}.small{color:var(--text-mid);font-size:.875rem;line-height:1.45}.dim{color:var(--text-low)}.hud-top,.hud-bottom,.panel,.action-bar,.card,.mono,.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}.mono{font-family:var(--font-mono);letter-spacing:-.01em}.num{font-weight:650}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.brand-lockup{align-items:center;gap:var(--sp-3);display:inline-flex}.brand-lockup-full{gap:var(--sp-2);flex-direction:column}.brand-mark{filter:drop-shadow(0 0 18px #3fe0f047);display:block}.brand-mark-spin ellipse[stroke-dasharray]{transform-origin:32px 32px;animation:18s linear infinite mark-orbit}@keyframes mark-orbit{to{stroke-dashoffset:-148px}}.brand-word{text-shadow:0 2px 18px #050b14d9;font-family:var(--font-display);color:var(--text-high);flex-direction:column;line-height:.94;display:flex}.brand-word b{letter-spacing:.01em;font-weight:800}.brand-word em{color:var(--cyan);letter-spacing:.255em;margin-right:-.255em;font-style:normal;font-weight:350}.brand-word-full{text-align:center;align-items:center}.brand-word-full b{font-size:clamp(2rem,5.4vw,3.25rem)}.brand-word-full em{font-size:clamp(1.07rem,2.88vw,1.735rem)}.brand-word-inline b{font-size:1.25rem}.brand-word-inline em{font-size:.67rem}.brand-word-compact b{font-size:.9375rem}.brand-word-compact em{font-size:.5rem}.hero-scene{z-index:0;position:absolute;inset:0;overflow:hidden}.hero-scene svg{width:100%;height:100%;display:block}.hero-scene:after{content:"";background:radial-gradient(68% 58% at 50% 40%,#050b14d1 0%,#050b148c 55%,#050b1400 100%),radial-gradient(130% 100% at 50% 45%,#050b1400 40%,#050b14b8 100%),linear-gradient(#050b1466 0%,#050b1400 26%);position:absolute;inset:0}.hero-scene-live .hero-stars-far{animation:150s linear infinite drift-x}.hero-scene-live .hero-stars-mid{animation:84s linear infinite reverse drift-x}@keyframes drift-x{to{transform:translate(-34px)}}.hero-scene-live .hero-ring-lights{animation:9s linear infinite ring-lights}@keyframes ring-lights{to{stroke-dashoffset:-120px}}.hero-scene-live .hero-station{animation:14s ease-in-out infinite station-bob}@keyframes station-bob{50%{transform:translateY(7px)}}.hero-scene-live .hero-core-glow{transform-origin:50%;animation:5.5s ease-in-out infinite core-breathe}.hero-scene-live .hero-core-pulse{transform-origin:50%;animation:5.5s ease-in-out infinite core-pulse}@keyframes core-breathe{50%{opacity:.62;transform:scale(1.11)}}@keyframes core-pulse{50%{transform:scale(1.22)}}.hero-ship{opacity:.95}.hero-scene-live .hero-ship-a{animation:26s linear infinite fly-a}.hero-scene-live .hero-ship-b{animation:34s linear infinite fly-b}.hero-scene-live .hero-ship-c{animation:44s linear infinite fly-c}@keyframes fly-a{0%{transform:translate(120px,312px)rotate(-18deg)}to{transform:translate(596px,196px)rotate(-18deg)}}@keyframes fly-b{0%{transform:translate(620px,96px)rotate(172deg)}to{transform:translate(150px,42px)rotate(172deg)}}@keyframes fly-c{0%{transform:translate(246px,348px)rotate(-4deg)}to{transform:translate(616px,322px)rotate(-4deg)}}button{--btn-bg:var(--surface-raised);--btn-border:var(--line);--btn-text:var(--text-high);justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);min-width:var(--tap);font:inherit;color:var(--btn-text);background:var(--btn-bg);border:1px solid var(--btn-border);border-radius:var(--r-md);cursor:pointer;text-align:center;transition:background var(--t-quick) var(--ease), border-color var(--t-quick) var(--ease), color var(--t-quick) var(--ease), transform var(--t-instant) var(--ease), box-shadow var(--t-quick) var(--ease);padding:10px 16px;font-weight:550;display:inline-flex;position:relative}@media (hover:hover){button:hover:not(:disabled){background:var(--surface-high);border-color:var(--line-strong)}}button:active:not(:disabled){transform:translateY(1px)scale(.995)}button:disabled{opacity:.42;cursor:not-allowed}button[aria-pressed=true],button[aria-selected=true]{background:#17384c;background:color-mix(in srgb, var(--cyan) 14%, var(--surface-raised));border-color:#2f6d84;border-color:color-mix(in srgb, var(--cyan) 52%, var(--line));color:var(--text-high)}button[data-loading=true]{color:#0000;pointer-events:none}button[data-loading=true]:after{content:"";border:2px solid #f0f5fb47;border-top-color:var(--cyan);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin;position:absolute}@keyframes spin{to{transform:rotate(1turn)}}:where(button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--cyan);outline-offset:2px}.btn-primary{--btn-bg:linear-gradient(180deg, #2a86a8, #1c6486);--btn-border:#3fa8c8;box-shadow:var(--shadow-sm), inset 0 1px 0 #ffffff1f;font-weight:650}@media (hover:hover){.btn-primary:hover:not(:disabled){--btn-bg:linear-gradient(180deg, #3197bb, #226f94);box-shadow:var(--glow-cyan)}.slot-empty:hover:not(:disabled){border-color:#2f6d84}}.btn-danger{--btn-bg:#5d2130;--btn-border:#8c3546}.btn-ghost{--btn-bg:transparent;--btn-border:var(--line);--btn-text:var(--text-mid)}@media (hover:hover){.btn-ghost:hover:not(:disabled){--btn-text:var(--text-high);background:#1a2c42b3}}.btn-icon{width:var(--tap);height:var(--tap);flex:none;padding:0}.btn-sm{min-height:36px;padding:6px 12px;font-size:.875rem}.icon{flex:none;display:block}input,select{width:100%;min-height:var(--tap);font:inherit;color:var(--text-high);background:var(--void-deep);border:1px solid var(--line);border-radius:var(--r-md);transition:border-color var(--t-quick) var(--ease), box-shadow var(--t-quick) var(--ease);padding:11px 14px}input:focus,select:focus{border-color:var(--cyan-deep)}input[aria-invalid=true]{border-color:var(--danger)}input[type=range]{min-height:32px;accent-color:var(--cyan);background:0 0;border:none;padding:0}input[type=checkbox]{width:22px;height:22px;min-height:22px;accent-color:var(--cyan);flex:none}.screen{padding:max(var(--sp-5), env(safe-area-inset-top)) max(var(--sp-4), env(safe-area-inset-right)) max(var(--sp-5), env(safe-area-inset-bottom)) max(var(--sp-4), env(safe-area-inset-left));flex-direction:column;display:flex;position:absolute;inset:0;overflow-y:auto}.screen-hero{padding:0}.menu-shell{z-index:1;gap:var(--sp-4);width:min(660px,100%);padding:max(var(--sp-5), env(safe-area-inset-top)) var(--sp-4) max(var(--sp-5), env(safe-area-inset-bottom));flex-direction:column;margin:auto;display:flex;position:relative}.menu-shell-wide{width:min(980px,100%)}.brand{align-items:center;gap:var(--sp-2);text-align:center;flex-direction:column;display:flex}.brand p{color:var(--text-mid);text-shadow:0 1px 10px #050b14e6;max-width:44ch}.card{padding:var(--sp-4);background:#0d1929eb;background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(14px)saturate(1.1);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}.card-soft{padding:var(--sp-3);background:#132234b3;background:color-mix(in srgb, var(--surface-raised) 70%, transparent);border:1px solid var(--line);border-radius:var(--r-md)}.card-flat{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;padding:0}.stack{gap:var(--sp-3);flex-direction:column;display:flex}.stack-tight{gap:var(--sp-2)}.row{align-items:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.row-tight{align-items:center;gap:var(--sp-1);display:flex}.spread{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.grid-2{gap:var(--sp-2);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.grow{flex:auto;min-width:0}.divider{background:var(--line);height:1px;margin:var(--sp-1) 0;border:none}.field{gap:var(--sp-1);flex-direction:column;display:flex}.field>label{letter-spacing:.06em;text-transform:uppercase;color:var(--text-low);font-size:.8125rem;font-weight:600}.field-hint{color:var(--text-low);font-size:.875rem}.field-error{align-items:center;gap:var(--sp-2);color:var(--danger);font-size:.875rem;display:flex}.status-dot{border-radius:50%;flex:none;width:9px;height:9px;box-shadow:0 0 8px}.status-ok{background:var(--ok);color:var(--ok)}.status-warn{background:var(--warn);color:var(--warn)}.status-bad{background:var(--danger);color:var(--danger)}.badge{align-items:center;gap:var(--sp-1);letter-spacing:.02em;white-space:nowrap;color:var(--text-mid);border:1px solid var(--line);border-radius:var(--r-pill);background:#22374fa8;padding:3px 9px;font-size:.8125rem;font-weight:600;display:inline-flex}.emblem{flex:none}.badge-ok{color:#a8f2cd;background:#1c543e80;border-color:#4be0a059}.badge-warn{color:#ffdca6;background:#5e441680;border-color:#ffc55c4d}.badge-danger{color:#ffc0c9;background:#60202c80;border-color:#ff6b8152}.badge-host{color:#cfe0ff;background:#283a6299;border-color:#78a0ff4d}.badge-faction{color:var(--faction);background:#22374fa8;background:color-mix(in srgb, var(--faction) 12%, transparent);border-color:var(--line-strong);border-color:color-mix(in srgb, var(--faction) 40%, transparent)}.gauge{border-radius:var(--r-pill);background:#22374fcc;height:6px;position:relative;overflow:hidden}.gauge>span{border-radius:inherit;background:linear-gradient(90deg, var(--ok), #6ff0bb);height:100%;transition:width var(--t-smooth) var(--ease-out);display:block}.gauge-danger>span{background:linear-gradient(90deg, #d94a60, var(--danger))}.gauge-shield>span{background:linear-gradient(90deg, var(--cyan-deep), var(--cyan))}.gauge-thin{height:4px}.progress{height:5px;margin-top:var(--sp-1);border-radius:var(--r-pill);background:#22374fcc;overflow:hidden}.progress>span{background:linear-gradient(90deg, var(--cyan-deep), var(--cyan));height:100%;transition:width var(--t-smooth) linear;display:block}.list{gap:var(--sp-1);flex-direction:column;display:flex}.list-item{align-items:center;gap:var(--sp-2);width:100%;min-height:var(--tap);text-align:left;color:var(--text-high);background:#13223499;background:color-mix(in srgb, var(--surface-raised) 60%, transparent);border:1px solid var(--line);border-radius:var(--r-md);padding:9px 12px;font-size:.9375rem;font-weight:500;display:flex}.list-item .meta{font-variant-numeric:tabular-nums;color:var(--text-mid);white-space:nowrap;margin-left:auto;font-size:.875rem}.list-item[aria-pressed=true]{background:#16354a;background:color-mix(in srgb, var(--cyan) 12%, var(--surface-raised));border-color:#2c6479;border-color:color-mix(in srgb, var(--cyan) 46%, var(--line))}.list-item-col{align-items:stretch;gap:var(--sp-1);flex-direction:column}.player-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:#1322349e;background:color-mix(in srgb, var(--surface-raised) 62%, transparent);border:1px solid var(--line);border-left:3px solid var(--faction);border-radius:var(--r-md);transition:border-color var(--t-quick) var(--ease);display:flex}.player-row-ready{border-color:#4be0a059;border-left-color:var(--faction)}.player-name{letter-spacing:-.005em;font-weight:650}.emblem{filter:drop-shadow(0 0 10px color-mix(in srgb, var(--faction) 45%, transparent))}.code-display{padding:var(--sp-3) var(--sp-4);font-family:var(--font-mono);letter-spacing:.22em;text-align:center;text-indent:.22em;color:var(--text-high);border:1px solid var(--line-strong);border-radius:var(--r-md);-webkit-user-select:all;user-select:all;background:linear-gradient(#132234e6,#08111fe6);font-size:clamp(1.75rem,7vw,2.75rem);font-weight:700}.code-input{font-family:var(--font-mono);letter-spacing:.34em;text-align:center;text-indent:.34em;text-transform:uppercase;font-size:1.5rem}.ship-thumb{border:1px solid var(--line);border-radius:var(--r-sm);background:radial-gradient(120% 120% at 50% 20%,#1b2c40 0%,#0a1422 100%);flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.ship-thumb-progress{background:#3fe0f038;background:color-mix(in srgb, var(--cyan) 22%, transparent);border-top:1px solid #3fe0f099;border-top:1px solid color-mix(in srgb, var(--cyan) 60%, transparent);transition:height var(--t-smooth) linear;position:absolute;inset:auto 0 0}.ship-glyph{display:block}.ship-card{gap:2px var(--sp-3);width:100%;padding:var(--sp-3);text-align:left;grid-template-rows:auto auto auto;grid-template-columns:auto 1fr;align-items:start;min-height:0;display:grid}.ship-card>.ship-thumb{grid-row:1/span 3;align-self:center}.ship-card-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);font-weight:650;display:flex}.ship-card-role{color:var(--text-mid);font-size:.875rem;line-height:1.35}.ship-card-counters{gap:var(--sp-1) var(--sp-2);color:var(--text-low);flex-wrap:wrap;margin-top:2px;font-size:.8125rem;display:flex}.counter-strong{color:#9ff0c4}.counter-weak{color:#ffc0c9}.cost{font-variant-numeric:tabular-nums;color:var(--text-mid);white-space:nowrap;align-items:center;gap:3px;font-weight:600;display:inline-flex}.doctrine-card{align-items:stretch;gap:var(--sp-2);padding:var(--sp-4);text-align:left;border-left:3px solid var(--faction);flex-direction:column;display:flex}.match{position:absolute;inset:0}.match canvas{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud{pointer-events:none;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;display:flex;position:absolute;inset:0}.hud>*{pointer-events:auto}.hud-middle{pointer-events:none;flex:1;justify-content:flex-end;min-height:0;display:flex;position:relative}.hud-middle>*{pointer-events:auto}.top-bar{align-items:center;gap:var(--sp-4);padding:var(--sp-2) var(--sp-3);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:linear-gradient(#08111ff2,#08111fd1);display:flex}.top-bar-brand{opacity:.9;flex:none}.resource-strip{align-items:center;gap:var(--sp-3);flex-wrap:wrap;display:flex}.resource{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--text-high);align-items:center;gap:5px;font-size:.9375rem;font-weight:650;display:flex}.resource-warn{color:var(--warn)}.stat-chip{font-variant-numeric:tabular-nums;color:var(--text-mid);border:1px solid var(--line);border-radius:var(--r-pill);white-space:nowrap;background:#13223499;align-items:center;gap:5px;padding:3px 9px;font-size:.875rem;display:flex}.stat-chip-alert{color:var(--warn);border-color:#ffc55c59}.clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em;font-size:1.125rem;font-weight:700}.core-gauge{flex-direction:column;gap:3px;min-width:132px;display:flex}.core-gauge-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);color:var(--text-mid);font-size:.8125rem;display:flex}.station-badges{gap:var(--sp-1);padding:var(--sp-3);flex-direction:column;align-self:flex-start;max-width:216px;margin-right:auto;display:flex}.station-badge{align-items:center;gap:var(--sp-2);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-left:3px solid var(--faction);border-radius:var(--r-md);background:#0d1929db;min-height:38px;padding:5px 10px;font-size:.875rem;font-weight:550;display:flex}.station-badge .meta{font-variant-numeric:tabular-nums;color:var(--text-mid);margin-left:auto}.station-badge.eliminated{opacity:.45}.station-badge.eliminated .station-badge-name{text-decoration:line-through}.station-badge-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.alerts{align-items:flex-end;gap:var(--sp-1);padding:60px var(--sp-3) var(--sp-3);flex-direction:column;max-width:min(360px,46vw);display:flex}.alert{align-items:center;gap:var(--sp-2);-webkit-backdrop-filter:blur(8px);border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-md);box-shadow:var(--shadow-sm);animation:alert-in var(--t-smooth) var(--ease-out);background:#0f1b2cf0;padding:8px 10px;font-size:.875rem;display:flex}@keyframes alert-in{0%{opacity:0;transform:translate(10px)}}.alert-critical{border-left-color:var(--danger);color:#ffd7dd}.alert-critical .icon{color:var(--danger)}.alert-high{border-left-color:var(--warn)}.alert-high .icon{color:var(--warn)}.alert-medium{border-left-color:var(--cyan)}.alert-medium .icon{color:var(--cyan)}.alert-info{border-left-color:var(--line-strong)}.banner{z-index:4;top:var(--sp-2);left:calc(50% - var(--hud-right-inset,0px) / 2);align-items:center;gap:var(--sp-3);pointer-events:auto;-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-strong);border-radius:var(--r-pill);max-width:min(560px,88%);box-shadow:var(--shadow-md);animation:banner-in var(--t-smooth) var(--ease-out);background:#112032f2;padding:8px 8px 8px 16px;font-size:.9375rem;font-weight:550;display:flex;position:absolute;transform:translate(-50%)}@keyframes banner-in{0%{opacity:0;transform:translate(-50%,-8px)}}.banner-order{border-color:var(--cyan);border-color:color-mix(in srgb, var(--cyan) 50%, var(--line));box-shadow:var(--glow-cyan)}.banner-urgent{border-color:var(--warn);border-color:color-mix(in srgb, var(--warn) 50%, var(--line))}.context-panel{gap:var(--sp-3);width:min(392px,34vw);padding:var(--sp-3);overscroll-behavior:contain;-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--line);animation:panel-in var(--t-smooth) var(--ease-out);background:linear-gradient(#0b1624f2,#08111ff7);flex-direction:column;display:flex;overflow-y:auto}@keyframes panel-in{0%{opacity:0;transform:translate(16px)}}.panel-head{align-items:center;gap:var(--sp-2);top:calc(var(--sp-3) * -1);margin:calc(var(--sp-3) * -1) calc(var(--sp-3) * -1) 0;padding:var(--sp-3);-webkit-backdrop-filter:blur(8px);z-index:2;background:linear-gradient(#0b1624fa,#0b1624db);display:flex;position:sticky}.panel-section{gap:var(--sp-2);flex-direction:column;display:flex}.hud-bottom{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);background:linear-gradient(#08111fd6,#08111ff5)}.tab-bar{padding:var(--sp-2) var(--sp-2) 0;scrollbar-width:none;gap:2px;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{display:none}.tab{min-width:96px;min-height:40px;color:var(--text-mid);border-radius:var(--r-md) var(--r-md) 0 0;white-space:nowrap;background:0 0;border:1px solid #0000;flex:1 1 0;padding:8px 10px;font-size:.875rem;font-weight:600}.tab[aria-selected=true]{color:var(--text-high);background:#132234d1;background:color-mix(in srgb, var(--surface-raised) 82%, transparent);border-color:var(--line);box-shadow:inset 0 2px 0 var(--cyan);border-bottom-color:#0000}.tab-badge{font-variant-numeric:tabular-nums;min-width:19px;color:var(--void);background:var(--cyan);border-radius:var(--r-pill);padding:0 5px;font-size:.75rem;font-weight:700}.action-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-2);scrollbar-width:none;display:flex;overflow-x:auto}.action-bar::-webkit-scrollbar{display:none}.action-context{align-items:center;gap:var(--sp-2);min-width:0;padding-right:var(--sp-2);border-right:1px solid var(--line);font-size:.9375rem;font-weight:600;display:flex}.slot-grid{gap:var(--sp-1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.slot{min-height:68px;max-height:92px;padding:var(--sp-1);text-align:center;color:var(--text-mid);background:#13223494;background:color-mix(in srgb, var(--surface-raised) 58%, transparent);border:1px solid var(--line);border-radius:var(--r-md);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.75rem;font-weight:600;line-height:1.15;display:flex}.slot .icon{color:var(--hull)}.slot-level{font-variant-numeric:tabular-nums;color:var(--text-low);font-size:.6875rem}.slot-empty{border-style:dashed;border-color:var(--line-strong);color:var(--text-low)}.slot-empty .icon{color:var(--cyan-deep)}@media (hover:hover){.slot-empty:hover:not(:disabled){border-color:#2f6d84;border-color:color-mix(in srgb, var(--cyan) 50%, var(--line));color:var(--text-high)}}.slot-offline{background:#5e441638;border-color:#ffc55c80}.slot-building{background:#1b93a829;border-color:#3fe0f06b}.slot-damaged{border-color:#ff6b8173}.slot[aria-pressed=true]{border-color:var(--cyan);box-shadow:var(--glow-cyan)}.overlay{z-index:40;padding:var(--sp-5);-webkit-backdrop-filter:blur(6px);animation:fade-in var(--t-quick) var(--ease-out);background:#040910c7;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}@keyframes fade-in{0%{opacity:0}}.dialog{width:min(580px,100%);max-height:100%;animation:dialog-in var(--t-smooth) var(--ease-out);overflow-y:auto}@keyframes dialog-in{0%{opacity:0;transform:translateY(12px)scale(.985)}}.toast-layer{bottom:max(var(--sp-4), env(safe-area-inset-bottom));z-index:60;gap:var(--sp-1);pointer-events:none;flex-direction:column;width:min(540px,92vw);display:flex;position:absolute;left:50%;transform:translate(-50%)}.toast{align-items:center;gap:var(--sp-2);pointer-events:auto;-webkit-backdrop-filter:blur(10px);border:1px solid var(--line-strong);border-left:3px solid var(--cyan);border-radius:var(--r-md);box-shadow:var(--shadow-lg);animation:toast-in var(--t-smooth) var(--ease-out);background:#111e2ff7;padding:10px 8px 10px 12px;font-size:.9375rem;display:flex}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.toast-warn{border-left-color:var(--warn)}.toast-warn .icon{color:var(--warn)}.toast-error{border-left-color:var(--danger)}.toast-error .icon{color:var(--danger)}.toast-info .icon{color:var(--cyan)}.tutorial-panel{left:50%;bottom:calc(var(--hud-bottom-inset,108px) + var(--sp-3) + env(safe-area-inset-bottom));z-index:30;border-left:3px solid var(--cyan);width:min(640px,94vw);position:absolute;transform:translate(-50%)}.tutorial-step{align-items:center;gap:var(--sp-2);display:flex}.tutorial-dots{gap:4px;margin-left:auto;display:flex}.tutorial-dot{background:var(--line-strong);border-radius:50%;width:7px;height:7px}.tutorial-dot-done{background:var(--cyan-deep)}.tutorial-dot-active{background:var(--cyan);box-shadow:0 0 8px var(--cyan)}.rotate-hint{left:50%;bottom:var(--sp-3);z-index:20;align-items:center;gap:var(--sp-2);border:1px solid var(--line-strong);border-radius:var(--r-pill);background:#111e2ff2;padding:8px 14px;font-size:.875rem;display:flex;position:absolute;transform:translate(-50%)}.result-hero{align-items:center;gap:var(--sp-3);padding:var(--sp-6) var(--sp-4);text-align:center;border-radius:var(--r-lg);background:linear-gradient(#132234e6,#08111fe6);background:radial-gradient(120% 100% at 50% 0%, color-mix(in srgb, var(--faction) 20%, transparent) 0%, transparent 62%), linear-gradient(180deg, #132234e6, #08111fe6);border:1px solid var(--line);flex-direction:column;display:flex;position:relative;overflow:hidden}.result-title{letter-spacing:-.015em;font-size:clamp(1.5rem,4.4vw,2.375rem);font-weight:800}.result-outcome{letter-spacing:.16em;text-transform:uppercase;color:var(--faction);font-size:.8125rem;font-weight:700}.rank-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:#13223499;background:color-mix(in srgb, var(--surface-raised) 60%, transparent);border:1px solid var(--line);border-left:3px solid var(--faction);border-radius:var(--r-md);display:flex}.rank-place{width:30px;height:30px;font-family:var(--font-mono);color:var(--text-high);background:#22374fcc;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.9375rem;font-weight:700;display:flex}.rank-row-first .rank-place{color:var(--void);background:var(--amber)}.stat-tile{justify-content:space-between;align-items:baseline;gap:var(--sp-2);background:#1322348c;background:color-mix(in srgb, var(--surface-raised) 55%, transparent);border:1px solid var(--line);border-radius:var(--r-md);padding:10px 12px;display:flex}.stat-tile-label{color:var(--text-low);font-size:.8125rem}.stat-tile-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:1.0625rem;font-weight:700}.award-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3);background:#ffb54714;background:color-mix(in srgb, var(--amber) 8%, transparent);border-radius:var(--r-md);border:1px solid #ffb54742;display:flex}.award-row .icon{color:var(--amber)}@media (max-width:1080px),(max-height:640px){.slot-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.context-panel{border-left:none;border-top:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;width:auto;max-height:40vh;box-shadow:var(--shadow-lg);animation-name:panel-in-bottom;position:absolute;inset:auto 0 0}.station-badges{scrollbar-width:none;flex-direction:row;max-width:none;overflow-x:auto}.station-badges::-webkit-scrollbar{display:none}.station-badge{flex:none}.alerts{max-width:62vw}.top-bar{gap:var(--sp-3)}.top-bar-brand{display:none}}@media (hover:none){.btn-sm,.station-badge,.tab{min-height:var(--tap)}label:has(>input[type=checkbox]){min-height:var(--tap);align-items:center}input[type=checkbox]{width:26px;height:26px;min-height:26px}input[type=range]{min-height:var(--tap)}}@keyframes panel-in-bottom{0%{opacity:0;transform:translateY(16px)}}@media (orientation:portrait){.context-panel{max-height:44vh}.resource-strip{gap:var(--sp-2)}}@media (min-width:1600px){.context-panel{width:420px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body[data-reduce-motion=true] *,body[data-reduce-motion=true] :before,body[data-reduce-motion=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.validation-panel{top:calc(var(--sp-3) + 64px);left:var(--sp-3);z-index:30;font-variant-numeric:tabular-nums;width:min(360px,46vw);max-height:calc(100% - 200px);position:absolute;overflow-y:auto}.validation-panel h3,.validation-panel h4{margin:0}.validation-list{gap:2px;margin:0;padding:0;font-size:.8125rem;list-style:none;display:grid}.validation-list li{align-items:baseline;gap:var(--sp-1);display:flex}.validation-list li span{color:var(--text-low);margin-left:auto}.validation-list strong{letter-spacing:.08em;min-width:4.2em;font-size:.6875rem}.validation-ok strong{color:var(--ok)}.validation-fail strong{color:var(--danger)}.validation-table{border-collapse:collapse;width:100%;font-size:.8125rem}.validation-table th{text-align:left;color:var(--text-low);padding:1px 0;font-weight:400}.validation-table td{text-align:right;padding:1px 0}.validation-reopen{top:calc(var(--sp-3) + 64px);left:var(--sp-3);z-index:30;font-variant-numeric:tabular-nums;position:absolute}.solar-tag{border-radius:var(--r-pill);letter-spacing:.02em;white-space:nowrap;align-items:center;gap:3px;margin-left:auto;padding:1px 6px;font-size:.6875rem;font-weight:600;display:inline-flex}.solar-tag-alert{color:var(--warn);background:#ffc55c24}.solar-tag-repairs{color:var(--amber);background:#ffb54729}.solar-tag-damage{color:var(--danger);background:#ff6b812e}.solar-tag-damage:before{content:"";background:currentColor;border-radius:50%;width:6px;height:6px;animation:1.1s ease-in-out infinite solar-pulse}@keyframes solar-pulse{50%{opacity:.25}}.objective{left:var(--sp-3);bottom:calc(var(--hud-bottom-inset,108px) + var(--sp-3) + env(safe-area-inset-bottom));z-index:3;align-items:flex-start;gap:var(--sp-2);border-radius:var(--r-md);border:1px solid var(--line);border-left:3px solid var(--cyan-deep);background:#0d1929eb;background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(10px);max-width:min(340px,42vw);box-shadow:var(--shadow-md);animation:objective-in var(--t-smooth) var(--ease-out);padding:8px 8px 8px 12px;display:flex;position:absolute}.objective .icon{color:var(--cyan);flex:none;margin-top:2px}.objective-body{flex-direction:column;gap:2px;min-width:0;display:flex}.objective-body strong{font-size:.875rem;font-weight:600;line-height:1.25}@keyframes objective-in{0%{opacity:0;transform:translateY(8px)}}@media (max-width:1080px),(max-height:640px){.objective{bottom:calc(var(--hud-bottom-inset,108px) + var(--sp-2) + env(safe-area-inset-bottom));max-width:min(340px,60vw)}}
