@charset "UTF-8";:root{--bg-deep: #05070e;--bg: #080d18;--surface-1: #0c1320;--surface-2: #111b2c;--surface-3: #18243a;--surface-4: #20304b;--surface: var(--surface-1);--border: rgba(150, 172, 214, .1);--border-strong: rgba(150, 172, 214, .22);--hairline-top: inset 0 1px 0 rgba(255, 255, 255, .05);--accent: #2fe3d2;--accent-strong: #5cf0e2;--accent-dim: #168f86;--accent-soft: rgba(47, 227, 210, .12);--ok: #46e08a;--warn: #ffb24a;--danger: #ff4d7d;--danger-dim: #b02a5a;--info: #5aa9ff;--magenta: var(--danger);--magenta-dim: var(--danger-dim);--text: #e8eefc;--text-dim: #9fb0cf;--text-faint: #647394;--metal: #b8c2d6;--crystal: #6fd8ff;--deuterium: #9b8cff;--energy: #ffd24a;--font-display: "Space Grotesk", "Segoe UI", system-ui, sans-serif;--font: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "IBM Plex Mono", "JetBrains Mono", "Consolas", monospace;--fs-xs: .72rem;--fs-sm: .8rem;--fs-base: .9rem;--fs-md: 1rem;--fs-lg: 1.18rem;--fs-xl: 1.5rem;--fs-2xl: 2rem;--sp-1: 4px;--sp-2: 8px;--sp-3: 12px;--sp-4: 16px;--sp-5: 20px;--sp-6: 24px;--sp-8: 32px;--sp-12: 48px;--r-sm: 6px;--r-md: 10px;--r-lg: 16px;--r-pill: 999px;--radius: var(--r-lg);--radius-sm: var(--r-md);--e1: 0 1px 2px rgba(0, 0, 0, .4), 0 1px 3px rgba(0, 0, 0, .3);--e2: 0 8px 24px rgba(0, 0, 0, .5);--e3: 0 18px 50px rgba(0, 0, 0, .62);--shadow: var(--e2);--glow: 0 0 0 1px var(--accent), 0 0 16px rgba(47, 227, 210, .35);--glow-soft: 0 0 18px rgba(47, 227, 210, .22);--motion-fast: .12s;--motion-base: .2s;--motion-slow: .32s;--ease-out: cubic-bezier(.2, .8, .2, 1)}*{box-sizing:border-box}html,body{margin:0;padding:0;min-height:100%}body{font-family:var(--font);font-size:var(--fs-base);color:var(--text);--app-bg: url(/assets/img/backgrounds/dashboard.jpg);background-color:var(--bg-deep);background-image:radial-gradient(1100px 720px at 78% -8%,rgba(47,227,210,.06),transparent 60%),radial-gradient(900px 680px at 8% 108%,rgba(90,120,255,.05),transparent 58%),linear-gradient(#05070ebd,#05070ee6),var(--app-bg);background-size:cover;background-position:center;background-repeat:no-repeat;background-attachment:scroll;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;line-height:1.5}body[data-screen=buildings]{--app-bg: url(/assets/img/backgrounds/bg_buildings.jpg)}body[data-screen=shipyard]{--app-bg: url(/assets/img/backgrounds/bg_shipyard.jpg)}body[data-screen=research]{--app-bg: url(/assets/img/backgrounds/bg_research.jpg)}body[data-screen=techtree]{--app-bg: url(/assets/img/backgrounds/bg_research.jpg)}body[data-screen=commanders]{--app-bg: url(/assets/img/backgrounds/bg_commanders.jpg)}body[data-screen=combat-sim]{--app-bg: url(/assets/img/backgrounds/bg_combat.jpg)}body[data-screen=trade]{--app-bg: url(/assets/img/backgrounds/bg_trade.jpg)}body[data-screen=routines]{--app-bg: url(/assets/img/backgrounds/bg_routines.jpg)}@media(min-width:900px){body{background-image:radial-gradient(1100px 720px at 78% -8%,rgba(47,227,210,.08),transparent 60%),radial-gradient(900px 680px at 8% 108%,rgba(90,120,255,.05),transparent 58%),linear-gradient(#05070e9e,#05070ed6),var(--app-bg);background-attachment:fixed}}h1,h2,h3,h4{margin:0 0 .4em;font-family:var(--font-display);font-weight:600;letter-spacing:.005em;color:#f2f6ff}h1{font-size:var(--fs-xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}a{color:var(--accent);text-decoration:none}:focus-visible{outline:none;box-shadow:var(--glow);border-radius:var(--r-sm)}.card{background:linear-gradient(165deg,var(--surface-2),var(--surface-1));border:1px solid var(--border);border-radius:var(--r-lg);padding:var(--sp-5) var(--sp-5);box-shadow:var(--e1),var(--hairline-top)}.glass{background:#0e1626b8;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);border:1px solid var(--border-strong);box-shadow:var(--e3),var(--hairline-top)}.panel-title{display:flex;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);padding-bottom:var(--sp-3);margin-bottom:var(--sp-4);border-bottom:1px solid var(--border)}.grid{display:grid;gap:var(--sp-4)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-3);align-items:stretch}@media(min-width:900px){.tile-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}}.tab-bar{display:flex;flex-wrap:wrap;gap:var(--sp-2);margin:var(--sp-1) 0 var(--sp-4);border-bottom:1px solid var(--border);padding-bottom:var(--sp-2)}.tab-bar .tab{display:inline-flex;align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4);border-radius:var(--r-pill);border:1px solid var(--border);background:#ffffff05;color:var(--text-dim);cursor:pointer;font-size:var(--fs-sm);font-weight:500;transition:color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),background var(--motion-fast) var(--ease-out)}.tab-bar .tab:hover{border-color:var(--border-strong);color:var(--text)}.tab-bar .tab.active{border-color:var(--accent);color:#04201d;background:var(--accent);font-weight:600}.tab-bar .tab .tab-count{font-size:var(--fs-xs);font-family:var(--mono);color:var(--text-faint)}.tab-bar .tab.active .tab-count{color:#04201db3}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.full{width:100%}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);font-family:var(--font);font-size:var(--fs-base);font-weight:600;letter-spacing:.01em;padding:var(--sp-3) var(--sp-4);min-height:44px;border-radius:var(--r-md);border:1px solid var(--border-strong);background:#ffffff08;color:var(--text);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out),transform var(--motion-fast) var(--ease-out)}.btn:hover:not(:disabled){background:#ffffff12;border-color:var(--border-strong)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:linear-gradient(180deg,var(--accent-strong),var(--accent));color:#032019;border-color:transparent}.btn-primary:hover:not(:disabled){background:linear-gradient(180deg,#74f6ea,var(--accent-strong));box-shadow:var(--glow-soft)}.btn-danger{background:#ff4d7d1f;color:var(--danger);border-color:var(--danger-dim)}.btn-danger:hover:not(:disabled){background:#ff4d7d33;box-shadow:0 0 18px #ff4d7d47}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text-dim)}.btn-ghost:hover:not(:disabled){color:var(--text);border-color:var(--border-strong)}.btn-trade{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-dim)}.btn-trade:hover:not(:disabled){background:#2fe3d233;box-shadow:var(--glow-soft)}.btn-sm{min-height:34px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.field{display:flex;flex-direction:column;gap:var(--sp-2);margin-bottom:var(--sp-4)}.field label{font-family:var(--font-display);font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim)}input,select{font-family:inherit;font-size:var(--fs-base);color:var(--text);background:#00000047;border:1px solid var(--border);border-radius:var(--r-md);padding:var(--sp-3) var(--sp-3);min-height:44px;width:100%;transition:border-color var(--motion-fast) var(--ease-out),box-shadow var(--motion-fast) var(--ease-out)}input:focus,select:focus{outline:none;border-color:var(--accent);box-shadow:var(--glow-soft)}input::placeholder{color:var(--text-faint)}.bar{position:relative;height:7px;border-radius:var(--r-pill);background:#ffffff12;overflow:hidden}.bar>.fill{position:absolute;inset:0 auto 0 0;background:linear-gradient(90deg,var(--accent-dim),var(--accent));border-radius:var(--r-pill);overflow:hidden;transition:width var(--motion-slow) var(--ease-out)}.bar>.fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.22),transparent);transform:translate(-100%);animation:barSheen 3.4s var(--ease-out) infinite}@keyframes barSheen{0%{transform:translate(-100%)}60%,to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.bar>.fill:after{animation:none;opacity:0}}.bar.full>.fill{background:linear-gradient(90deg,var(--danger-dim),var(--danger))}.chip{display:inline-flex;align-items:center;gap:var(--sp-1);padding:2px var(--sp-3);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:500;background:#ffffff0d;border:1px solid var(--border);color:var(--text-dim)}.band-high{--band: var(--ok)}.band-neutral{--band: var(--accent)}.band-low{--band: var(--warn)}.band-critical{--band: var(--danger)}.row-between{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.cost-line{display:inline-flex;gap:var(--sp-3);flex-wrap:wrap;font-size:var(--fs-sm)}.cost-line .ok{color:var(--text)}.cost-line .lack{color:var(--danger)}.tip{position:relative;cursor:help}.tip:after{content:attr(data-tip);position:absolute;left:50%;bottom:130%;transform:translate(-50%);white-space:pre-line;width:max-content;max-width:240px;background:#080d18f7;border:1px solid var(--border-strong);color:var(--text);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);font-size:var(--fs-sm);opacity:0;pointer-events:none;transition:opacity var(--motion-fast) var(--ease-out);z-index:50;box-shadow:var(--e2)}.tip:hover:after{opacity:1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--surface-3);border-radius:var(--r-pill);border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background:var(--surface-4);background-clip:padding-box}::-webkit-scrollbar-track{background:transparent}.empty-state{text-align:center;color:var(--text-dim);padding:var(--sp-12) var(--sp-4);font-size:var(--fs-base)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}@media(min-width:900px){:root{--fs-base: .86rem;--r-lg: 12px;--r-md: 8px}h1{font-size:var(--fs-lg);margin-bottom:var(--sp-1)}h2{font-size:var(--fs-md)}.card{padding:var(--sp-3) var(--sp-4)}.grid{gap:var(--sp-3)}.panel-title{font-size:var(--fs-xs);padding-bottom:var(--sp-2);margin-bottom:var(--sp-3)}.btn{min-height:32px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.btn-sm{min-height:27px;padding:var(--sp-1) var(--sp-2);font-size:var(--fs-xs)}input,select{min-height:33px;padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm)}.field{gap:var(--sp-1);margin-bottom:var(--sp-3)}}
