:root{--bg: #080b12;--bg-panel: #10151f;--bg-panel-2: #161d2b;--bg-raised: #1e2736;--line: #27324a;--line-soft: #1b2434;--text: #dde5f2;--text-dim: #8b99b1;--text-faint: #5c6880;--accent: #6fa8ff;--accent-dim: #2d4a77;--good: #5ec98a;--warn: #e8b24c;--danger: #e2564a;--food: #6fcf7f;--energy: #ffd166;--minerals: #ef4444;--production: #d98f5a;--research: #7fb4ff;--radius: 6px;--mono: ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace}*{box-sizing:border-box}*{scrollbar-width:thin;scrollbar-color:var(--accent-dim) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg);border-left:1px solid var(--line-soft)}::-webkit-scrollbar-thumb{background:var(--accent-dim);border:2px solid var(--bg);border-radius:6px}::-webkit-scrollbar-thumb:hover{background:var(--accent)}::-webkit-scrollbar-corner{background:var(--bg)}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.5 system-ui,-apple-system,Segoe UI,sans-serif;overflow:hidden}button{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:5px 10px;cursor:pointer;transition:background .12s,border-color .12s}button:hover:not(:disabled){background:#26324a;border-color:var(--accent-dim)}button:disabled{opacity:.4;cursor:not-allowed}button.primary{background:var(--accent-dim);border-color:var(--accent)}button.primary:hover:not(:disabled){background:#39598c}button.primary .hint{color:#c9dcff}button.ghost{background:transparent}button.small{padding:2px 7px;font-size:12px}button.danger{border-color:#5a2a26}button.danger:hover:not(:disabled){background:#4a221e}input,select,textarea{font:inherit;color:var(--text);background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius);padding:5px 8px}h1,h2,h3,h4{margin:0;font-weight:600}h3{font-size:14px}h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim)}p{margin:0 0 8px}ul{margin:0;padding-left:16px}.app{display:grid;grid-template-rows:auto 1fr;height:100%}.workspace{position:relative;display:grid;grid-template-columns:1fr clamp(260px,30vw,380px);min-height:0;overflow:hidden}.workspace.full{grid-template-columns:1fr}.stage{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(1200px 600px at 30% -10%,#121b2c 0%,transparent 70%),var(--bg)}.sidebar{border-left:1px solid var(--line);background:var(--bg-panel);display:flex;flex-direction:column;min-height:0}.sidebar-scroll{overflow-y:auto;padding:12px;flex:1;min-height:0}.topbar{display:flex;align-items:center;gap:14px;padding:8px 12px;background:var(--bg-panel);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:12px;color:var(--accent)}.turn-chip{font-size:15px;font-family:var(--mono);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);padding:3px 9px}.totals{display:flex;gap:12px;flex-wrap:wrap}.total{display:flex;align-items:center;gap:5px;font-family:var(--mono);font-size:16px}.total .label{color:var(--text-faint);font-family:system-ui,sans-serif;font-size:11px;text-transform:uppercase;letter-spacing:.07em}.total .delta{font-size:13px}.total .delta{margin-left:5px;opacity:.75}.total.food .value{color:var(--food)}.total.energy .value{color:var(--energy)}.total.minerals .value{color:var(--minerals)}.total.production .value{color:var(--production)}.total.research .value{color:var(--research)}.research-bar{min-width:190px;display:flex;flex-direction:column;gap:4px;font-size:11px;align-items:stretch;text-align:left;background:var(--bg-raised);border:1px solid var(--line);padding:4px 9px}.research-bar:hover{border-color:var(--accent)}.research-bar .label{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--text-faint)}.bar{height:5px;background:var(--bg-raised);border-radius:3px;overflow:hidden}.bar>span{display:block;height:100%;background:var(--accent)}.bar.food>span{background:var(--food)}.bar.damage>span{background:var(--danger)}.bar.warn>span{background:var(--warn)}.spacer{flex:1}.viewtabs{display:flex;gap:4px}.viewtabs button.active{background:var(--accent-dim);border-color:var(--accent)}.alerts{display:flex;gap:6px;flex-wrap:wrap}.alert{font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid;cursor:pointer}.alert-row{text-align:left;width:100%}.alert.warning{color:var(--warn);border-color:#4a3c1a;background:#2a2413}.alert.danger{color:var(--danger);border-color:#4e2420;background:#2c1715}.alert.good{color:var(--good);border-color:#234a33;background:#14261c}.breadcrumb{font-size:12px;color:var(--text-dim);display:flex;gap:6px;align-items:center}.breadcrumb b{color:var(--text);font-weight:600}.breadcrumb .sep{color:var(--text-faint)}.view-fill,.galaxy-canvas{position:absolute;top:0;right:0;bottom:0;left:0}.overlay-panel{position:absolute;background:#10151fed;border:1px solid var(--line);border-radius:var(--radius);padding:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.overlay-panel.top-left{top:12px;left:12px;max-width:250px}.overlay-panel.ledger{padding:8px 11px 9px;display:flex;flex-direction:column;gap:4px;min-width:252px;background:#181f2df5;border-left:2px solid var(--accent-dim, #3d5680)}.overlay-panel.ledger h4{margin:0 0 2px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.ledger-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px 14px}.ledger-row{display:flex;align-items:center;gap:6px;white-space:nowrap;font-family:var(--mono);font-size:13px;line-height:1.3}.ledger-row .k{color:var(--text-faint);font-size:11px}.ledger-row .v{color:var(--text);font-weight:600;margin-right:auto}.ledger-row .v em{font-style:normal;font-weight:400;color:var(--text-dim)}.ledger-row .d{color:var(--good, #6fcf97);font-size:12px}.ledger-row .d.bad{color:var(--warn)}.overlay-panel.bottom-left{bottom:12px;left:12px}.overlay-panel.top-right{top:12px;right:12px}.legend{display:flex;flex-direction:column;gap:5px;font-size:12px}.legend label{display:flex;gap:7px;align-items:center;cursor:pointer}.swatch{width:10px;height:10px;border-radius:50%;display:inline-block}.hint{color:var(--text-faint);font-size:11px}.legend-swatch{display:inline-flex;align-items:center;gap:6px}.vacancy-key{width:13px;height:13px;display:inline-block;background:#e8b24c24;border:1.5px dashed #e8b24c;border-radius:3px}.system-view{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column}.system-svg{flex:1;width:100%}.system-star{pointer-events:none}.star-breathe{transform-box:fill-box;transform-origin:center;animation:star-breathe 12s ease-in-out infinite}.star-rays{transform-box:fill-box;transform-origin:center;animation:star-spin linear infinite}@keyframes star-breathe{0%,to{transform:scale(1);opacity:.92}50%{transform:scale(1.05);opacity:1}}@keyframes star-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.star-breathe,.star-rays{animation:none}}.sector-node{cursor:pointer}.course-line{stroke-width:1.6;stroke-dasharray:5 6;stroke-linecap:round;opacity:.75;pointer-events:none;animation:course-march 1.1s linear infinite}@keyframes course-march{to{stroke-dashoffset:-11}}@media (prefers-reduced-motion: reduce){.course-line{animation:none}}.fleet-marker,.move-here{cursor:pointer}.fleet-marker:hover circle,.move-here:hover circle{fill:#24344e}.move-here.bound:hover circle{fill:#3a2c44}.sector-node:hover .sector-ring{stroke:var(--accent)}.sector-view{display:grid;grid-template-rows:auto 1fr;min-height:0}.sector-view>.overlay-panel.ledger{top:12px;left:12px;z-index:3}.sector-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:10px 16px 6px}.sector-view>.sector-works{width:auto;margin:0 16px 8px}.sector-viewport{overflow:auto;position:relative;min-height:0;cursor:default;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;touch-action:none}.sector-viewport::-webkit-scrollbar{width:0;height:0;display:none}.sector-viewport.panning{cursor:grabbing}.sector-canvas{position:relative}.sector-canvas-inner{transform-origin:0 0;position:relative}.sector-orbits{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.sector-orbits ellipse{fill:none;stroke:#232f45;stroke-width:2;stroke-dasharray:10 12}.object-card.primary{border-color:#33405a}.sector-works{width:100%;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}.sector-works .queue-item .bar{min-width:120px}.object-card{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--bg-panel);border:1px solid var(--line);border-radius:8px;padding:10px;min-width:240px;max-width:100%}.object-card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-dim)}.object-card header{position:absolute;left:10px;top:8px;z-index:3;max-width:58%;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-shadow:0 0 6px #05070d,0 0 3px #05070d}.object-card.flow-header header{position:static;max-width:100%;align-self:flex-start;margin-bottom:6px;text-shadow:none}.object-card.flow-header>.bar{position:static;width:100%;margin-bottom:6px}.object-card>.bar{position:absolute;left:10px;top:50px;z-index:3;width:120px}.object-card .title{font-weight:600;font-size:17px;cursor:pointer}.object-card .subtitle{font-size:13px;color:var(--text-faint);text-transform:capitalize}.tray-unit{display:flex;flex-direction:column;align-items:center;gap:2px}.tray-unit button.small{padding:0 6px;font-size:10px;line-height:1.6}.holo-figure{position:relative;display:flex;flex-direction:column;align-items:center}.holo-figure-art{position:relative;display:block;background:linear-gradient(180deg,#9ff0ff,#4fc8ff 55%,#2f8fd8);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;opacity:.82;animation:holo-flicker 3.7s ease-in-out infinite}.holo-figure-art .holo-scan{position:absolute;top:-8%;right:-8%;bottom:-8%;left:-8%;background:repeating-linear-gradient(180deg,rgba(210,248,255,.5) 0 1px,transparent 1px 5px);animation:holo-drift 4.6s ease-in-out infinite alternate}.holo-figure .figure{position:relative;display:block}.holo-figure .count{position:absolute;right:-3px;bottom:-1px;min-width:15px;padding:0 3px;border-radius:8px;background:#0b1017;border:1px solid var(--accent-dim, #3d5680);color:#eaf1ff;font-family:var(--mono);font-size:11px;font-weight:700;line-height:15px;text-align:center}.holo-figure .count.building{border-color:var(--accent);color:var(--accent)}.idle-tray{position:absolute;left:10px;bottom:10px;z-index:2;max-width:94%;padding:5px 7px;border-radius:var(--radius);border:1px dashed var(--line);background:#0a0e16b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:flex;flex-direction:column;gap:4px}.idle-tray>.hint{font-size:10.5px;line-height:1.2}.idle-tray .pop-list{display:flex;flex-wrap:nowrap;gap:3px;align-items:flex-end}.idle-tray .pop-figure .name{display:none}.idle-tray .pop-figure{padding:1px}.idle-tray.has-idle{border-color:#4a3c1a;background:#221d10d9}.idle-tray.has-idle>.hint{color:var(--warn)}.idle-tray:not(.has-idle){border-color:transparent;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0 2px}.card-stats{position:absolute;right:10px;bottom:10px;z-index:2;display:flex;flex-direction:column;align-items:stretch;gap:2px;padding:6px 8px;border-radius:var(--radius);border:1px solid var(--line-soft);background:#0a0e16b8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.card-stat{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:13.5px;color:var(--text)}.card-stat .k{min-width:0}.card-stat .v,.unrest-face .tier{margin-left:auto}.card-stats .unrest-face{justify-content:flex-start;gap:6px}.unrest-face{display:inline-flex;align-items:center;gap:5px;font-size:12px}.unrest-face svg{flex:0 0 auto}.unrest-face .tier{text-transform:capitalize;font-weight:600}.unrest-face .way{font-size:9px;color:var(--text-faint)}.unrest-face .way.worsening{color:var(--danger)}.unrest-face .way.improving{color:#6fcf97}.card-stat .k{font-size:12px;letter-spacing:.07em;text-transform:uppercase;color:var(--text-faint);font-family:system-ui,sans-serif}.card-stat .v{font-weight:600}.hexmap{display:block;margin:0 auto;max-width:100%;height:auto}.hex{cursor:pointer;transition:opacity .1s}.hex:hover{opacity:.82}.hex-surface{pointer-events:none}.hex-hit{cursor:pointer}.hex-outline{fill:none;stroke:#0a0e16;stroke-width:1;pointer-events:none}.body-backdrop,.hull-plate,.hull-detail{pointer-events:none}.hull-band{fill:none;stroke-linejoin:round;stroke-linecap:round}.hull-band.rim{stroke:#4a5f8a}.hull-band.dark{stroke:#131a28}.hull-band.light{stroke:#2f3d55}.hull-port{fill:#46577a}.hull-pylon{fill:#1b2436;stroke:#4a5c7d;stroke-width:1}.hull-bay{fill:#1b2436;stroke:#6d84ab;stroke-width:1.1}.hull-bay-mouth{fill:#05080f;stroke:#40527a;stroke-width:.8}.hull-bay-seam{stroke:#6d84ab;opacity:.75}.hull-light{fill:#cfe6ff;animation:portlight 3.2s ease-in-out infinite}@keyframes portlight{0%,to{opacity:.18}42%{opacity:1}58%{opacity:.55}72%{opacity:.95}}@media (prefers-reduced-motion: reduce){.hull-light{animation:none;opacity:.85}}.hex-selected{fill:none;stroke:var(--accent);stroke-width:2.4;pointer-events:none}.hex-site{fill:#6fa8ff14;stroke:var(--accent-dim);stroke-dasharray:3 3;cursor:pointer}.hex-site:hover{fill:#6fa8ff33}.hex-badge{font-family:var(--mono);font-weight:700;text-anchor:start;pointer-events:none;-webkit-user-select:none;user-select:none}.hex-label{font-size:12px;text-anchor:middle;pointer-events:none;-webkit-user-select:none;user-select:none;fill:#e8eefb}.hex-label.code{font-family:var(--mono);font-weight:700;letter-spacing:.02em}.hex-pop{pointer-events:none}.pop-handle{pointer-events:auto;cursor:grab;touch-action:none}body.dragging-pop .pop-handle{pointer-events:none}.pop-handle:active{cursor:grabbing}.drag-ghost{position:fixed;z-index:500;transform:translate(-50%,-55%);pointer-events:none;opacity:.92;filter:drop-shadow(0 4px 10px rgba(0,0,0,.65))}.hex-damage{fill:var(--danger);opacity:.55;pointer-events:none}.hex-building{fill:none;stroke:var(--warn);stroke-width:1.6;stroke-dasharray:4 3;pointer-events:none}.hex-vacancy{fill:none;stroke:#e8b24c;pointer-events:none}.hex-frame-open{fill:none;stroke:#3d5680;pointer-events:none;opacity:.55}.hex-disabled{fill:#05070d;opacity:.55;pointer-events:none}.hex-tint{pointer-events:none}.research-view{display:grid;grid-template-columns:250px 1fr;min-height:0}.research-side{border-right:1px solid var(--line);background:var(--bg-panel);padding:14px;overflow-y:auto;display:flex;flex-direction:column;gap:8px}.research-portrait{width:100%;max-width:190px;align-self:center;filter:drop-shadow(0 0 2px #03050a) drop-shadow(0 0 2px #03050a) drop-shadow(0 6px 14px rgba(0,0,0,.6))}.research-scroll{overflow:auto;padding:0 0 24px}.research-canvas{position:relative;margin:0 auto}.research-links{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.research-link{fill:none;stroke:#2b3750;stroke-width:2;transition:stroke .12s ease,opacity .12s ease}.research-link.done{stroke:#3d6b52}.research-link.lit{stroke:var(--accent);stroke-width:3;opacity:1}.research-link.faded{opacity:.2}.research-node{position:absolute;display:flex;flex-direction:column;gap:5px;text-align:left;padding:12px 14px;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:opacity .12s ease,border-color .12s ease}.research-node.lit{border-color:var(--accent);opacity:1}.research-node.faded{opacity:.28}.research-node:hover:not(:disabled){border-color:var(--accent);background:#1b2740}.research-node .name{font-weight:600;font-size:15px;letter-spacing:.01em}.research-node .desc{font-size:11px;color:var(--text-dim);line-height:1.3}.research-node .gives{display:flex;flex-direction:column;gap:3px;min-height:0}.research-node .gives-art{display:inline-flex;align-items:center;justify-content:center;width:68px;height:68px;background:#0b1018;border:1px solid var(--line-soft);border-radius:6px;overflow:hidden}.research-node .gives-art img{width:100%;height:100%;object-fit:contain}.research-node .gives-hex{display:inline-flex;width:62px;height:71px;flex:0 0 auto;clip-path:polygon(50% 0%,100% 25%,100% 75%,50% 100%,0% 75%,0% 25%);background:#0b1018;overflow:hidden}.research-node .gives-hex img,.research-node .gives-hex>span{width:100%;height:100%;object-fit:cover}.research-node .gives>.gives-art{display:none}.research-node .gives{flex-direction:row;flex-wrap:wrap;align-items:center}.research-node .gives>.gives-art{display:inline-flex}.research-node .gives-line{display:block}.research-node .gives-line b{color:var(--text);font-weight:600}.research-node .gives-names{flex:1 1 110px;min-width:110px;font-size:12px;color:var(--text-dim);line-height:1.25}.research-node .foot{margin-top:auto;font-size:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.research-node .cost .to-here{font-style:normal;margin-left:6px;color:var(--text-dim);opacity:.8}.research-node .cost{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);color:var(--research)}.research-node.current{border-color:var(--accent);background:#1b2740}.research-node.done{border-color:#2c5540;background:#16261d;opacity:.92}.research-node.locked{opacity:.6}.research-node[aria-disabled=true]{cursor:default}.research-node[aria-disabled=true]:hover{border-color:var(--line);background:var(--bg-panel-2)}.research-node[aria-disabled=true].lit:hover{border-color:var(--accent)}.research-node .node-bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--bg-raised)}.research-node .node-bar>span{display:block;height:100%;background:var(--accent)}.panel{background:var(--bg-panel-2);border:1px solid var(--line-soft);border-radius:var(--radius);padding:10px;margin-bottom:10px}.panel>h4{margin-bottom:8px}.row{display:flex;gap:8px;align-items:center}.row.wrap{flex-wrap:wrap}.row.between{justify-content:space-between}.col{display:flex;flex-direction:column;gap:8px}.sidebar-tabs{padding:8px;border-bottom:1px solid var(--line);gap:4px}.sidebar-tabs button{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.turn-bar{position:relative;z-index:30;flex:none;margin-top:auto;display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:9px 12px;background:var(--bg-panel-2);border-top:1px solid var(--line)}.turn-bar .turn-chip{font-family:var(--mono);font-size:13px}.turn-alarm{display:flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;border:1px solid var(--danger);background:#e2564a24;color:var(--danger);font-size:12px;font-weight:700;white-space:nowrap;animation:alarm-pulse 1.4s ease-in-out infinite}@keyframes alarm-pulse{0%,to{opacity:.6}50%{opacity:1}}button.primary.danger{background:var(--danger);border-color:var(--danger);color:#fff}.message-light{position:relative;display:inline-flex;align-items:center;gap:5px;padding:5px 8px;background:#101724;border:1px solid var(--line-soft);border-radius:var(--radius)}.message-light .count{font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.message-light.blinking{animation:message-blink 1.1s ease-in-out infinite}.message-light.blinking.danger{border-color:var(--danger)}.message-light.blinking.warning{border-color:var(--warn)}.message-light.blinking.good{border-color:var(--good)}@keyframes message-blink{0%,to{background:#101724}50%{background:#1d2740}}.turn-log{position:absolute;right:12px;bottom:calc(100% + 8px);width:min(420px,92vw);max-height:46vh;display:flex;flex-direction:column;padding:10px;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 34px #0000008c}.turn-log .log{flex:1;min-height:0;overflow-y:auto}@media (prefers-reduced-motion: reduce){.message-light.blinking{animation:none}}.game-menu{position:relative}.menu-toggle{display:grid;place-items:center;min-width:34px;min-height:32px;padding:5px 9px;font-size:15px;line-height:1.2}.menu-toggle.active{background:var(--accent-dim);border-color:var(--accent)}.game-menu-items{position:absolute;top:calc(100% + 6px);right:0;z-index:40;display:flex;flex-direction:column;min-width:160px;padding:4px;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 10px 28px #0000008c}.game-menu-items button{text-align:left;background:none;border:0;padding:7px 10px;border-radius:var(--radius);color:var(--text);font-size:12.5px}.game-menu-items button:hover{background:#1b2740}.row-button{display:flex;align-items:baseline;justify-content:space-between;gap:8px;width:100%;text-align:left;padding:5px 8px;background:#101724;border:1px solid var(--line-soft);border-radius:var(--radius);color:var(--text);font-size:12px}.row-button:hover{background:#16203200;border-color:var(--line)}.row-button.selected{border-color:var(--accent);background:#142033}.row-button .hint{font-size:11px}.stat-grid{display:grid;grid-template-columns:1fr auto;gap:3px 10px;font-size:12px;font-family:var(--mono)}.stat-grid .k{color:var(--text-dim);font-family:inherit}.stat-grid .v.bad{color:var(--danger)}.stat-grid .v.good{color:var(--good)}.stat-grid .v.warn{color:var(--warn)}.pop-list{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-end}.pop-figure{display:flex;flex-direction:column;align-items:center;gap:2px;padding:2px 4px 4px;background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.pop-figure:hover{background:#1a2333;border-color:var(--line)}.pop-figure.selected{border-color:var(--accent);background:#22314a}.pop-figure svg{display:block}.pop-figure .figure{position:relative;display:block}.pop-figure .count{position:absolute;right:-3px;bottom:-1px;min-width:15px;padding:0 3px;border-radius:8px;background:#0b1017;border:1px solid var(--accent-dim, #3d5680);color:#eaf1ff;font-family:var(--mono);font-size:11px;font-weight:700;line-height:15px;text-align:center}.pop-figure .name{font-size:11px;text-transform:capitalize;color:var(--text-dim)}.pop-chip{display:flex;align-items:center;gap:6px;padding:3px 7px 3px 3px;border:1px solid var(--line);border-radius:20px;background:var(--bg-raised);cursor:grab;font-size:11px;touch-action:none;-webkit-user-select:none;user-select:none}.pop-chip:hover{border-color:var(--accent-dim)}.pop-chip.selected{border-color:var(--accent);background:#24344e}.pop-chip.training{border-style:dashed}.pop-chip .name{text-transform:capitalize}.portrait{width:26px;height:34px;flex:none}.portrait.large{width:72px;height:96px;border-radius:6px}.portrait.xlarge{width:112px;height:149px;border-radius:8px}.portrait.medium{width:44px;height:58px;border-radius:6px}.build-list{display:flex;flex-direction:column;gap:4px}.assembly{display:flex;flex-direction:column;gap:4px;margin-bottom:6px}.build-option{display:flex;gap:8px;align-items:flex-start;padding:6px 8px;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--bg-raised);cursor:pointer;text-align:left}.build-option:disabled{cursor:not-allowed}.build-option .icon{font-size:16px;line-height:1;display:flex;align-items:center;color:var(--text-dim)}.build-art{width:42px;height:42px;object-fit:contain;flex:none}.build-art.large{width:34px;height:34px}.hex-portrait{display:flex;align-items:center;justify-content:center;padding:10px 8px 16px;margin-bottom:4px;min-height:132px;background:#0d1420;border:1px solid var(--line-soft);border-radius:var(--radius)}.hex-portrait img{width:100%;max-width:244px;max-height:216px;object-fit:contain;filter:drop-shadow(0 6px 14px rgba(0,0,0,.55))}.build-job{display:flex;gap:8px;align-items:flex-start;padding:6px;background:#101724;border:1px solid var(--line-soft);border-radius:var(--radius)}.job-art{flex:0 0 auto;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:#0b1018;border:1px solid var(--line-soft);border-radius:var(--radius);overflow:hidden}.job-art img{width:100%;height:100%;object-fit:contain}.job-body{flex:1;min-width:0;display:flex;flex-direction:column}.job-costs{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.job-costs>span{display:inline-flex;align-items:center;gap:4px}.job-costs .warn-text{color:var(--warn)}.exhaust-mouth{fill:url(#exhaust-tube);stroke:#2b3a58;stroke-width:1}.exhaust .plume{transform-box:fill-box;transform-origin:top center;mix-blend-mode:screen}.exhaust .plume.far{fill:#ff7a2f;opacity:.32;animation:exhaust-far .42s ease-in-out infinite alternate}.exhaust .plume.mid{fill:#ffc14d;opacity:.5;animation:exhaust-mid .28s ease-in-out infinite alternate}.exhaust .plume.core{fill:#e8f6ff;opacity:.82;animation:exhaust-core .19s ease-in-out infinite alternate}.exhaust .fouled{stroke:var(--danger);stroke-width:2.5;stroke-linecap:round;fill:none}@keyframes exhaust-far{0%{transform:scaleY(.82) scaleX(.92);opacity:.22}to{transform:scaleY(1.12) scaleX(1.05);opacity:.4}}@keyframes exhaust-mid{0%{transform:scaleY(.88);opacity:.38}to{transform:scaleY(1.14);opacity:.6}}@keyframes exhaust-core{0%{transform:scaleY(.9);opacity:.62}to{transform:scaleY(1.1);opacity:.95}}@media (prefers-reduced-motion: reduce){.exhaust .plume{animation:none}}.berth-plus path{stroke:var(--accent);fill:none;opacity:.75}.yard-badge{position:absolute;top:8px;right:10px;display:flex;flex-direction:column;align-items:flex-end;gap:1px;text-align:right;pointer-events:none}.yard-badge b{font-size:13px;color:var(--accent)}.object-card{position:relative}.holo-stage{fill:#050c16;opacity:.62}.holo-body,.holo-lines,.holo-sweep{mix-blend-mode:screen}.holo-body{animation:holo-flicker 3.7s ease-in-out infinite}.holo-lines{transform-box:fill-box;animation:holo-drift 4.6s ease-in-out infinite alternate;opacity:.62;mix-blend-mode:normal}.holo-sweep{transform-box:fill-box;opacity:.22;animation:holo-pass 3.1s ease-in-out infinite alternate}.holo.stalled .holo-body{animation-duration:1.4s}.holo.stalled .holo-sweep{opacity:.25}@keyframes holo-flicker{0%,to{opacity:.62}18%{opacity:.7}20%{opacity:.38}22%{opacity:.68}54%{opacity:.74}56%{opacity:.45}58%{opacity:.7}}@keyframes holo-drift{0%{transform:translateY(-7%)}to{transform:translateY(7%)}}@keyframes holo-pass{0%{transform:translateY(0)}to{transform:translateY(1150%)}}@media (prefers-reduced-motion: reduce){.holo-body,.holo-lines,.holo-sweep{animation:none}}.hex-portrait.landscape{padding:0;min-height:0;overflow:hidden}.hex-portrait.landscape img{width:100%;max-width:none;max-height:140px;object-fit:cover;filter:none}.hex-portrait.tile{padding:10px 0 12px;min-height:0}.hex-portrait.tile img{width:auto;max-width:124px;max-height:143px;object-fit:contain}.build-option .body{flex:1;min-width:0}.build-option .name{font-weight:600;font-size:12px}.build-option .cost{font-family:var(--mono);font-size:11.5px;color:var(--text-dim);display:flex;flex-wrap:wrap;align-items:center;gap:3px 8px;margin:2px 0}.cost-group{display:inline-flex;align-items:center;gap:3px}.cost-group.gives{color:var(--text)}.cost-group.upkeep{color:var(--text-faint)}.cost-sep{font-family:system-ui,sans-serif;font-size:9.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint)}.build-option .effect{display:block;font-size:10.5px;line-height:1.3;color:var(--text-faint)}.build-option .effect b{color:var(--text-dim);font-weight:600}.build-option .why{font-size:11px;color:var(--danger)}.log{border-top:1px solid var(--line);max-height:190px;overflow-y:auto;padding:8px 12px;font-size:12px;background:var(--bg-panel)}.log-entry{display:flex;gap:8px;padding:2px 0}.log-entry .turn{font-family:var(--mono);color:var(--text-faint);flex:none}.log-entry.warning{color:var(--warn)}.log-entry.danger{color:var(--danger)}.log-entry.good{color:var(--good)}.toast{position:absolute;left:50%;bottom:22px;transform:translate(-50%);padding:8px 14px;border-radius:var(--radius);background:#2c1715;border:1px solid #5a2a26;color:#ffb4ac;z-index:40;max-width:70%}.toast.info{background:#14261c;border-color:#234a33;color:#b7e8ca}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060ac7;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.modal{background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:20px;max-width:720px;width:100%;max-height:88vh;overflow-y:auto}.modal h2{margin-bottom:4px}.modal .lede{color:var(--text-dim);margin-bottom:16px}.choice-grid{display:grid;gap:10px}.choice{text-align:left;padding:12px;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-panel-2)}.choice:hover{border-color:var(--accent)}.choice .label{font-weight:600;margin-bottom:3px}.choice .desc{font-size:12px;color:var(--text-dim)}.modal.wide{max-width:1300px}.setup{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;gap:14px;padding:18px 22px 14px;background:var(--bg);overflow:hidden}.setup-head{flex:none}.setup-head h2{margin:0 0 2px}.setup-head .lede{margin:0;max-width:78ch}.setup-body{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:minmax(330px,1.15fr) minmax(320px,1fr) minmax(280px,.85fr);gap:16px;align-items:stretch}.setup-col{min-width:0;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:14px}.setup-options,.setup-detail{max-height:100%;overflow:auto}.setup-col>h4{margin:0 0 10px}.setup-col .divider{margin:14px 0 12px}.species-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.species-tile{display:flex;flex-direction:column;gap:5px;padding:8px;text-align:left;border-radius:8px;border:1px solid var(--line);background:var(--bg-panel-2);cursor:pointer}.species-tile:hover{background:#18202f}.species-tile.selected{background:#1b2740;box-shadow:0 0 0 1px currentColor inset}.species-tile .species-portrait{width:100%;height:auto;aspect-ratio:4 / 5;object-fit:cover;border-radius:6px;border:1px solid var(--line-soft)}.species-tile .tile-name{font-weight:700;font-size:13px;line-height:1.2}.species-tile .tile-tag{font-size:11px;color:var(--text-dim);line-height:1.3}.setup-choice{display:flex;gap:8px;align-items:flex-start;padding:5px 0}.setup-choice .hint{display:block;margin-top:2px}.setup-detail .detail-portrait{margin-bottom:10px}.setup-detail .species-portrait{width:100%;height:auto;aspect-ratio:1 / 1;max-height:300px;object-fit:cover;object-position:center 18%;border-radius:8px;border:1px solid var(--line-soft)}.setup-detail h3{margin:0 0 6px;font-size:19px}.setup-detail .detail-blurb{margin:0}.detail-traits{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.detail-traits li{font-size:12px;padding-left:14px;position:relative;line-height:1.35}.detail-traits li:before{position:absolute;left:0;top:0}.detail-traits li.good{color:var(--good, #6fcf7f)}.detail-traits li.good:before{content:"+"}.detail-traits li.bad{color:var(--danger, #e0736a)}.detail-traits li.bad:before{content:"−"}.setup-foot{display:flex;align-items:center;gap:10px;flex:none}@media (max-height: 880px){.setup{gap:10px;padding:12px 18px 10px}.species-tile .species-portrait{aspect-ratio:1 / 1;max-height:116px}.setup-head .lede{display:none}.setup-detail .species-portrait{max-height:170px}.setup-detail .detail-portrait{margin-bottom:8px}.setup-detail h3{font-size:17px}.setup-col .divider{margin:10px 0 8px}}@media (max-height: 680px){.species-tile .species-portrait{max-height:84px}.species-tile .tile-tag{display:none}}@media (max-width: 1080px){.setup-body{grid-template-columns:1fr;align-items:start}.setup-options,.setup-detail{max-height:none;overflow:visible}.species-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.species-tile .species-portrait{aspect-ratio:1 / 1;max-height:128px}}.tech-branch{margin-bottom:10px}.tech-item{display:flex;gap:8px;align-items:center;padding:5px 7px;border-radius:var(--radius);border:1px solid transparent;cursor:pointer;font-size:12px}.tech-item:hover{background:var(--bg-raised)}.tech-item.current{border-color:var(--accent);background:#1b2740}.tech-item.done{color:var(--good);cursor:default}.tech-item.locked{color:var(--text-faint);cursor:not-allowed}.tech-item .cost{margin-left:auto;font-family:var(--mono);color:var(--text-faint)}.tag{display:inline-block;font-size:10px;text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:9px;border:1px solid var(--line);color:var(--text-dim)}.tag.good{color:var(--good);border-color:#234a33}.tag.warn{color:var(--warn);border-color:#4a3c1a}.tag.danger{color:var(--danger);border-color:#4e2420}.divider{height:1px;background:var(--line-soft);margin:10px 0}.empty{color:var(--text-faint);font-size:12px;font-style:italic}.scroll-x{overflow-x:auto}.queue-item{display:flex;gap:8px;align-items:center;font-size:12px;padding:4px 0}.queue-item .bar{flex:1}.growth-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.growth-face{width:44px;height:44px;object-fit:contain;flex:none;filter:drop-shadow(0 2px 5px rgba(0,0,0,.55))}.growth-line{display:flex;align-items:center;gap:6px;font-size:12px;margin-bottom:5px}.growth-line .v{font-family:var(--mono)}.growth-line .delta{margin-left:auto;color:var(--good)}.growth-line .delta.bad{color:var(--danger)}.queue-row{display:flex;align-items:center;gap:6px;font-size:12px}.queue-art{width:26px;height:26px;flex:none;display:grid;place-items:center}.queue-art img{width:100%;height:100%;object-fit:contain}.queue-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-row button{flex:none}.holo-thumb{position:relative;width:44px;height:44px;flex:none;overflow:hidden;border-radius:4px;background:radial-gradient(circle at 50% 60%,#0d2233,#050c16)}.holo-shape{position:absolute;top:3px;right:3px;bottom:3px;left:3px;background:linear-gradient(180deg,#9ff0ff,#4fc8ff 55%,#2f8fd8);mask-size:contain;mask-repeat:no-repeat;mask-position:center;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat;-webkit-mask-position:center;opacity:.78;animation:holo-flicker 3.7s ease-in-out infinite}.holo-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(180deg,rgba(127,230,255,.22) 0 1px,transparent 1px 4px);animation:holo-drift 4.6s ease-in-out infinite alternate;pointer-events:none}.holo-thumb.stalled .holo-shape{animation-duration:1.4s}@media (prefers-reduced-motion: reduce){.holo-shape,.holo-scan{animation:none}}.facing-row{display:flex;gap:4px;flex-wrap:wrap}.facing-btn{width:34px;height:34px;padding:0;display:grid;place-items:center;background:var(--bg-panel-2);border:1px solid var(--line);border-radius:var(--radius)}.facing-btn svg{display:block}.facing-btn .hull{fill:#1d2738;stroke:#3a4763;stroke-width:1.2}.facing-btn .jet{stroke:var(--text-dim);stroke-width:2.2;fill:none}.facing-btn .tip{fill:var(--text-dim)}.facing-btn:hover:not(:disabled) .jet{stroke:var(--text)}.facing-btn:hover:not(:disabled) .tip{fill:var(--text)}.facing-btn.on{border-color:var(--accent);background:#16263e}.facing-btn.on .jet{stroke:var(--energy)}.facing-btn.on .tip{fill:var(--energy)}.facing-btn:disabled{opacity:.3}.tooltip{position:fixed;z-index:90;white-space:pre-line;max-width:260px;padding:6px 9px;font-size:12px;line-height:1.4;color:var(--text);background:var(--bg-raised);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 6px 18px #0000008c;pointer-events:none;transform:translate(-50%)}.tooltip.above{transform:translate(-50%,-100%)}.yield-row{display:flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.yield-row .v{font-family:var(--mono);color:var(--text-dim);margin-right:2px}.back-link{align-self:flex-start;margin-bottom:2px}.cost-group.dear{color:var(--warn)}.yield-row .dear{display:inline-flex;align-items:center;gap:4px;color:var(--warn)}.yield-row .dear .v{color:var(--warn)}.battle-view{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:1fr auto;min-height:0;background:radial-gradient(circle at 50% 40%,#0a1220,#05070d 70%)}.battle-board-wrap{min-height:0;display:flex}.battle-board{width:100%;height:100%}.battle-cell{fill:transparent;stroke:#7896c821;stroke-width:1;cursor:crosshair}.battle-cell:hover{fill:#6fa8ff24}.battle-cell.in-range{fill:#6fa8ff2b;stroke:#82b9ffbf;stroke-width:1.6}.battle-cell.in-range:hover{fill:#82b9ff57}.move-dot{fill:#96c8ff8c;animation:move-dot-pulse 2.2s ease-in-out infinite}@keyframes move-dot-pulse{0%,to{opacity:.45}50%{opacity:.95}}@media (prefers-reduced-motion: reduce){.move-dot{animation:none}}.battle-cell.deploy{fill:#6fa8ff29;stroke:#6fa8ff80}.battle-cell.shielded{fill:#6fd3ff0e}.battle-cell.shielded:hover{fill:#6fa8ff29}.battle-obstacle{pointer-events:none}.battle-obstacle.asteroid_cluster{fill:#4a4136;stroke:#6b5f4d;stroke-width:1.5}.battle-obstacle.debris_field{fill:#78829659;stroke:#79839a;stroke-width:1}.battle-obstacle.gas_cloud{fill:#96aa4640;stroke:#aabe5a66}.battle-commander{pointer-events:none}.battle-commander-name{font-size:13px;font-weight:600}.battle-shield path{fill:none;stroke-linecap:round;stroke-linejoin:round}.battle-shield .glow{stroke:#6fd3ff;opacity:.1;filter:blur(5px)}.battle-shield .rib{stroke:#6fd3ff;opacity:.12;animation:shield-rib 2.8s ease-in-out infinite}@keyframes shield-rib{0%,to{opacity:.08}40%{opacity:.5;filter:drop-shadow(0 0 4px #6fd3ff)}70%{opacity:.18}}.battle-shield .edge{stroke:#6fd3ff;opacity:.38}.battle-shield .wave{stroke:#b8f0ff;opacity:.8;stroke-dasharray:26 150;animation:shield-wave 3.4s linear infinite}.battle-shield .wave.slow{stroke:#6fd3ff;opacity:.55;stroke-dasharray:14 210;animation-duration:6.2s;animation-direction:reverse}@keyframes shield-wave{0%{stroke-dashoffset:0}to{stroke-dashoffset:-176}}.battle-shield text{fill:#6fd3ff;font-size:12px;font-family:var(--mono);opacity:.85}@media (prefers-reduced-motion: reduce){.battle-shield .wave{animation:none;opacity:.4}}.battle-mount circle{fill:#141c2b;stroke:#3d5680;stroke-width:1.5}.battle-mount.rack circle{stroke:#e0b341}.battle-mount.projector circle{stroke:#6fd3ff}.battle-mount.dead circle{stroke:#3a2422;fill:#170f10}.battle-mount.targetable circle{stroke:var(--danger);stroke-width:2.5;cursor:crosshair}.battle-mount .mount-hp{fill:#8b99b1;font-size:10px;font-family:var(--mono)}.battle-approach{pointer-events:none}.battle-approach line{stroke:#ffd166;stroke-width:2;stroke-dasharray:6 5;opacity:.8}.battle-approach polygon{fill:#ffd16624;stroke:#ffd166;stroke-width:2}.battle-stack{cursor:pointer}.battle-stack .halo{fill:none;stroke:#6fa8ff;stroke-width:3}.battle-stack .glow{fill:#6fa8ff38;stroke:#8fc2ff8c;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:stack-glow 1.5s ease-in-out infinite;pointer-events:none}.battle-stack.active .drift{filter:drop-shadow(0 0 9px rgba(111,168,255,.95))}.battle-stack.active.theirs .halo{stroke:#ff8a6b}.battle-stack.active.theirs .glow{fill:#e2564a38;stroke:#ff8a6b8c}.battle-stack.active.theirs .drift{filter:drop-shadow(0 0 9px rgba(255,120,96,.95))}.battle-mount.active .glow{fill:#ffd16633;stroke:#ffd166b3;stroke-width:2;transform-box:fill-box;transform-origin:center;animation:stack-glow 1.2s ease-in-out infinite;pointer-events:none}.mount-hp .ammo{fill:#ffd166}.mount-hp .ammo.spent{fill:var(--text-faint, #5a6376)}@keyframes stack-glow{0%,to{opacity:.45;transform:scale(.88)}50%{opacity:1;transform:scale(1.06)}}@media (prefers-reduced-motion: reduce){.battle-stack .glow{animation:none;opacity:.8}}.battle-stack .mark{fill:#e2564a29;stroke:var(--danger);stroke-width:2.6;stroke-dasharray:6 4;animation:target-spin 6s linear infinite;transform-box:fill-box;transform-origin:center}@keyframes target-spin{0%{stroke-dashoffset:0}to{stroke-dashoffset:-60}}@media (prefers-reduced-motion: reduce){.battle-stack .mark{animation:none}}.battle-stack .count text{fill:#eaf1ff;font-size:12px;font-weight:700;font-family:var(--mono)}.battle-stack .pinned{fill:var(--warn);font-size:10px}.battle-stack.active .count rect{stroke-width:2}.battle-bar{display:flex;align-items:center;gap:10px;padding:7px 12px;border-top:1px solid var(--line);background:#0d121cf5;font-size:12px;min-height:42px}.battle-bar .bar-label{font-family:var(--mono);color:var(--text-dim);text-transform:uppercase;font-size:10.5px;letter-spacing:.07em;white-space:nowrap}.battle-bar .bar-queue,.battle-bar .bar-stacks{display:flex;gap:4px;flex-wrap:nowrap;overflow:hidden}.battle-bar .bar-tally{display:flex;align-items:center;gap:5px;font-family:var(--mono);white-space:nowrap}.battle-bar .bar-tally em{font-style:normal;color:var(--text-faint)}.battle-bar .bar-log,.battle-bar .bar-hint{color:var(--text-faint);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-bar button{margin-left:auto}.battle-bar button+button{margin-left:0}.init-chip{padding:2px 7px;border-radius:10px;border:1px solid var(--line);font-family:var(--mono);font-size:11px;white-space:nowrap}.init-chip.mine{border-color:#3d5680;color:#cfdcf2}.init-chip.theirs{border-color:#5a2a26;color:#ffb3aa}.init-chip.now{background:#1b2740;border-color:var(--accent);color:#fff}.bar-stack{padding:2px 8px;font-size:11.5px;border-radius:var(--radius);white-space:nowrap}.bar-stack.on{background:#1b2740;border-color:var(--accent)}.battle-bar .bar-split{display:flex;align-items:center;gap:6px;flex:1;min-width:0;white-space:nowrap}.battle-bar .bar-split .hint{font-size:11px}.bar-stack i{color:var(--text-faint);font-style:normal}.sidebar.hidden{display:none}.viewtabs .battle-tab{border-color:#5a2a26;color:#ffb3aa}.viewtabs .battle-tab.active{background:#4a221e;border-color:var(--danger);color:#fff}.hex-wounded{fill:none;stroke:var(--danger);stroke-width:2.5;pointer-events:none;animation:wound-pulse 1.5s ease-in-out infinite}@keyframes wound-pulse{0%,to{opacity:.15}50%{opacity:.9}}@media (prefers-reduced-motion: reduce){.hex-wounded{animation:none;opacity:.6}}.engagement-mark{cursor:pointer}.engagement-mark .ring{pointer-events:none;fill:none;stroke:var(--danger);stroke-width:2;stroke-dasharray:5 7;opacity:.8;animation:engagement-turn 12s linear infinite}.engagement-mark .pip{fill:var(--danger);stroke:#2a0f0c;stroke-width:1.5}.engagement-mark .badge{cursor:pointer}.engagement-mark .badge:hover .pip{fill:#ff7a6c}.engagement-mark text{pointer-events:none}.engagement-mark:hover .ring{opacity:1;stroke-width:3}@keyframes engagement-turn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.engagement-mark .ring{animation:none}}.battle-stack{transition:transform .5s cubic-bezier(.35,0,.25,1)}.battle-stack.struck{animation:unit-hit .5s ease-out 2}@keyframes unit-hit{0%,to{filter:none}30%{filter:brightness(2.2) drop-shadow(0 0 6px var(--danger))}}.battle-shot line{stroke:#ffd166;stroke-width:2.5;stroke-linecap:round;animation:shot-flash 1.4s ease-out forwards}.battle-shot text{font-family:var(--mono);font-size:12px;animation:shot-rise 1.4s ease-out forwards}.battle-shot text.through{fill:var(--danger)}.battle-shot text.held{fill:#7fb4ff}@keyframes shot-flash{0%{opacity:0}15%{opacity:1}70%{opacity:.8}to{opacity:0}}@keyframes shot-rise{0%{opacity:0;transform:translateY(6px)}25%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.battle-step{fill:#6fa8ff1a;stroke:#6fa8ff4d;stroke-width:1;rx:4;pointer-events:none}.hull-bar{fill:var(--good)}.hull-bar.back{fill:#2a1512}.hull-bar.warn{fill:var(--warn)}.hull-bar.bad{fill:var(--danger)}@media (prefers-reduced-motion: reduce){.battle-stack,.battle-shot line,.battle-shot text{animation:none;transition:none}}.shield-flare{fill:none;stroke:#7fd4ff;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px #7fd4ff);opacity:0;animation:flare 1.4s ease-out forwards}@keyframes flare{0%{opacity:0;stroke-width:2}20%{opacity:1;stroke-width:6}to{opacity:0;stroke-width:3}}@media (prefers-reduced-motion: reduce){.shield-flare{animation:none;opacity:.7}}.species-portrait{width:100%;aspect-ratio:4 / 5;object-fit:cover;object-position:center top;display:block;border-radius:6px;border:1px solid var(--line-soft);background:#0b1018}.species-card .portraits{display:block}.species-card.selected .species-portrait{border-color:var(--accent-dim)}.ship-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.ship-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:#101724;padding:5px;text-align:center}.ship-card.locked{opacity:.55}.ship-card .art{position:relative;height:96px;margin:-2px -3px 0;display:flex;align-items:center;justify-content:center}.ship-card .art img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6))}.ship-card .art .glyph{font-size:30px;color:var(--text-faint)}.ship-card .held{position:absolute;right:0;bottom:-1px;min-width:26px;padding:0 5px;border-radius:4px;background:#0b1017eb;border:1px solid var(--accent-dim, #3d5680);font-family:var(--mono);font-weight:700;font-size:13px}.ship-card .label{font-size:11.5px;font-weight:600;margin-top:2px}.ship-card .cost{display:inline-flex;align-items:center;justify-content:center;gap:2px;font-family:var(--mono);font-size:10.5px;color:var(--text-dim)}.ship-card .hint{font-size:10.5px}.ship-card .order-row{display:flex;align-items:center;justify-content:space-between;gap:3px;margin-top:3px}.ship-card .order-row button.small{padding:0 7px;font-size:13px;line-height:1.5}.ship-card .on-order{flex:1;font-family:var(--mono);font-size:10.5px;color:var(--text-faint);white-space:nowrap}.ship-card .on-order.live{color:var(--good, #6fcf97)}.transfer{margin-bottom:10px}.transfer-head{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;padding-bottom:3px;border-bottom:1px solid var(--line-soft)}.transfer-head .side{flex:1;min-width:0;display:flex;flex-direction:column;font-size:12px;line-height:1.25}.transfer-head .side.right{text-align:right}.transfer-head .side b{color:var(--text);font-weight:600}.transfer-head .side em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--text-dim)}.transfer-head .mid{flex:none;color:var(--text-faint);font-size:13px}.transfer-rows{display:flex;flex-direction:column;gap:2px}.transfer-row{display:flex;align-items:center;gap:4px;font-size:11.5px}.transfer-row .n{font-family:var(--mono);font-weight:700;min-width:26px;text-align:center}.transfer-row .name{flex:1;min-width:0;text-align:center;color:var(--text-dim)}.transfer-row button.small{padding:0 7px;font-size:12px}.class-mark{filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.class-mark circle[fill=none]{fill:none}.berth-row{display:flex;align-items:baseline;gap:4px;text-align:left;padding:4px 7px;font-size:12px}.berth-row .name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.berth-row .ships{font-family:var(--mono);font-weight:700}.berth-row .berths{font-family:var(--mono);color:var(--text-faint);font-size:11px}.berth-row .on-order{color:var(--good, #6fcf97);font-size:10.5px}.battle-stack{transition:transform .7s cubic-bezier(.3,0,.25,1)}.battle-stack .drift{animation:ship-drift 4s ease-in-out infinite}@keyframes ship-drift{0%,to{transform:translateY(-2px)}50%{transform:translateY(3px)}}.battle-stack.warping{transition:none}.battle-stack.warping .drift{animation:warp-arrive .3s ease-out 1.45s backwards}@keyframes warp-arrive{0%{opacity:0}to{opacity:1}}.warp-ghost{opacity:0;animation:warp-depart .8s cubic-bezier(.45,0,.8,.35) backwards}.warp-arrival{opacity:0;animation:warp-arrive-out .55s cubic-bezier(.1,.7,.4,1) backwards}@keyframes warp-arrive-out{0%{opacity:0;transform:translate(var(--from-x),var(--from-y)) scale(.1);filter:brightness(3)}25%{opacity:1;filter:brightness(2.2)}to{opacity:1;transform:translate(0) scale(1);filter:none}}@keyframes warp-depart{0%{opacity:1;transform:translate(0) scale(1)}55%{opacity:1;transform:translate(calc(var(--to-x) * .55),calc(var(--to-y) * .55)) scale(.92)}85%{opacity:1;transform:translate(calc(var(--to-x) * .92),calc(var(--to-y) * .92)) scale(.5);filter:brightness(1.8)}to{opacity:0;transform:translate(var(--to-x),var(--to-y)) scale(.08);filter:brightness(2.6)}}.battle-volleys{pointer-events:none}.volley{animation:volley-fade 2.2s linear forwards}.volley .charge{fill:#fff3c4;opacity:0;transform-box:fill-box;transform-origin:center;animation:beam-charge .42s ease-out forwards;filter:drop-shadow(0 0 8px #ffd166)}@keyframes beam-charge{0%{opacity:0;transform:scale(.15)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.4)}}.volley .beam{stroke:#ffd166;stroke-width:3;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 5px rgba(255,209,102,.8));animation:beam-run .75s cubic-bezier(.2,.6,.3,1) .3s forwards}@keyframes beam-run{0%{opacity:1;stroke-dashoffset:calc(var(--len) * -1px)}38%{opacity:1;stroke-dashoffset:0}to{opacity:1;stroke-dashoffset:calc(var(--len) * 1px)}}.volley .melee-line{stroke:#ffb06b;stroke-width:9;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 8px rgba(255,140,80,.95));animation:melee-cut .45s ease-out forwards}@keyframes melee-cut{0%{opacity:0;stroke-width:2}18%{opacity:1;stroke-width:11}60%{opacity:.9;stroke-width:5}to{opacity:0;stroke-width:2}}.missile-body .warhead{fill:#e8eefc;stroke:#8fa6c8;stroke-width:1}.missile-body .trail{stroke:#ffb066;stroke-width:3;stroke-linecap:round;opacity:.8;filter:drop-shadow(0 0 5px #ff8a3a)}.missile-body{opacity:0;animation:missile-fly .95s cubic-bezier(.35,.15,.7,1) backwards}@keyframes missile-fly{0%{opacity:1;transform:translate(0)}86%{opacity:1}to{opacity:0;transform:translate(var(--to-x),var(--to-y))}}.mount-burst .flash{fill:#ffe0b0;opacity:0;transform-box:fill-box;transform-origin:center;animation:mount-flash .45s ease-out backwards;filter:drop-shadow(0 0 12px rgba(255,160,80,.95))}@keyframes mount-flash{0%{opacity:1;transform:scale(.2)}45%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.mount-burst .ring{fill:none;stroke:#ff9a5a;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:mount-ring .7s ease-out backwards}@keyframes mount-ring{0%{opacity:.95;transform:scale(.3);stroke-width:5}to{opacity:0;transform:scale(2.2);stroke-width:1}}.mount-burst .spark{stroke:#ffd7a0;stroke-width:3;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center;animation:mount-spark .55s ease-out backwards}@keyframes mount-spark{0%{opacity:1;transform:scale(.15)}to{opacity:0;transform:scale(1)}}.mount-burst.big .flash{filter:drop-shadow(0 0 20px rgba(255,140,60,1))}.shield-ripple circle{fill:none;stroke:#b8f0ff;stroke-width:2.5;opacity:0;transform-box:fill-box;transform-origin:center;animation:shield-ring .75s ease-out backwards;filter:drop-shadow(0 0 6px #6fd3ff)}@keyframes shield-ring{0%{opacity:.95;transform:scale(.25);stroke-width:4}to{opacity:0;transform:scale(2.6);stroke-width:1}}.wreck-body{animation:wreck-hold .55s linear forwards}@keyframes wreck-hold{0%{opacity:1;filter:none}55%{opacity:1;filter:brightness(2.4)}to{opacity:0;filter:brightness(3)}}.wreck-burst{fill:#ffd7b0;opacity:0;transform-box:fill-box;transform-origin:center;animation:wreck-burst .7s ease-out forwards;filter:drop-shadow(0 0 12px rgba(255,150,90,.95))}@keyframes wreck-burst{0%,45%{opacity:0;transform:scale(.2)}60%{opacity:.95;transform:scale(1)}to{opacity:0;transform:scale(2.1)}}.volley .impact{fill:none;stroke:#ffd7b0;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:center;animation:impact-bloom .6s ease-out forwards;filter:drop-shadow(0 0 8px rgba(255,150,90,.9))}@keyframes impact-bloom{0%{opacity:0;transform:scale(.2);stroke-width:6}35%{opacity:1;transform:scale(.75)}to{opacity:0;transform:scale(1.4);stroke-width:1}}.volley text{fill:#ffb3aa;font-size:13px;font-weight:700;font-family:var(--mono);text-anchor:middle;paint-order:stroke;stroke:#0b1017;stroke-width:3px;animation:volley-rise 1.6s ease-out forwards}@keyframes volley-rise{0%{opacity:0;transform:translateY(8px)}30%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}@keyframes volley-fade{0%,92%{opacity:1}to{opacity:0}}.warp-gate{opacity:0;animation:gate-open 1.15s ease-out backwards}.warp-gate .mouth{fill:#04121f}.warp-gate .rim{fill:none;stroke:#7fd4ff;stroke-width:3}.warp-gate .flare{fill:none;stroke:#7fd4ff59;stroke-width:2}@keyframes gate-open{0%{opacity:0;transform:scaleX(.1) scaleY(.2)}22%{opacity:1;transform:scaleX(1) scaleY(1)}78%{opacity:1;transform:scaleX(1) scaleY(1)}to{opacity:0;transform:scaleX(.1) scaleY(.25)}}.bar-gun{display:flex;align-items:center;gap:7px;padding:3px 9px;border-radius:var(--radius);border:1px solid rgba(255,209,102,.6);background:#ffd1661a;color:#ffd166;font-size:12px;white-space:nowrap}.bar-gun em{font-style:normal;color:var(--text-dim);font-family:var(--mono)}.bar-moves{display:flex;align-items:center;gap:5px;padding:2px 8px;border-radius:var(--radius);border:1px solid var(--line);background:#6fa8ff14;color:#b9c4d6;font-size:12px;font-family:var(--mono);white-space:nowrap}.bar-moves em{font-style:normal;color:#7fd4ff}.battle-waiting{position:absolute;top:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:5px 12px;border-radius:999px;background:#080c14d1;border:1px solid rgba(255,209,102,.5);color:#ffd166;font-size:12px;letter-spacing:.06em;text-transform:uppercase;pointer-events:none}.battle-waiting .dot{width:7px;height:7px;border-radius:50%;background:#ffd166;animation:waiting-pulse 1s ease-in-out infinite}@keyframes waiting-pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion: reduce){.battle-stack,.battle-stack .drift,.volley,.volley *,.warp-gate,.missile-body{transition:none;animation:none;opacity:1}.warp-ghost,.warp-arrival,.wreck,.shield-ripple,.mount-burst{display:none}.battle-shield .rib{animation:none;opacity:.2}}.orbit-ring{stroke-width:1.2;stroke-dasharray:3 4 1 4;opacity:.5}.sector-node:hover .orbit-ring{opacity:.9}.view-fill.crash{display:flex;align-items:center;justify-content:center;padding:24px}.view-fill.crash .panel{max-width:520px}.crash-detail{font-family:var(--mono);font-size:11.5px;color:var(--warn);background:#0b1017;border:1px solid var(--line-soft);border-radius:var(--radius);padding:8px;margin:8px 0;white-space:pre-wrap;word-break:break-word;max-height:180px;overflow:auto}.aftermath-board{position:relative}.aftermath-board .battle-board{opacity:.5}.aftermath{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);min-width:420px;max-width:560px;padding:18px 20px;background:#0d121cf7;border:1px solid var(--line);border-top:3px solid var(--text-dim);border-radius:10px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:0 18px 50px #0009}.aftermath.won{border-top-color:var(--good, #6fcf97)}.aftermath.lost{border-top-color:var(--danger)}.aftermath h3{margin-bottom:3px}.aftermath>.hint{margin-bottom:12px}.aftermath-tally{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;font-size:12px}.aftermath-tally h4{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint);margin-bottom:4px}.aftermath-tally .v{font-family:var(--mono)}.aftermath button{width:100%}.sector-corner{position:absolute;top:12px;left:12px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:8px;max-width:300px}.sector-corner .overlay-panel{position:static}.overlay-panel.crew{padding:8px 10px 9px;min-width:252px;background:#181f2df5;border-left:2px solid var(--accent-dim, #3d5680)}.overlay-panel.crew h4{margin:0 0 5px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.overlay-panel.crew .hint{font-size:11px;line-height:1.35}.overlay-panel.crew .pop-list{gap:2px}body.dragging-pop .overlay-panel.crew{border-left-color:var(--accent)}.env-badge{position:absolute;top:8px;right:10px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;pointer-events:none;text-shadow:0 0 6px #05070d,0 0 3px #05070d}.env-badge.sev-1{color:#6fcf97}.env-badge.sev-2{color:#d7d24a}.env-badge.sev-3{color:#e8913c}.env-badge.sev-4{color:#e2564a}.env-badge.sev-5{color:#b45ce0}.env-badge.sealed{color:#7fb4ff;letter-spacing:.08em}.env-badge.tempered{text-decoration:underline dotted;text-underline-offset:3px}.account{position:relative;display:flex;align-items:center;gap:6px}.setup-title{display:flex;align-items:center;justify-content:space-between;gap:16px}.account-error{font-size:11px;color:var(--danger, #e2725b)}.account-chip{display:flex;align-items:center;gap:6px;padding:2px 8px 2px 2px;border-radius:999px;border:1px solid var(--line);background:#0a0e1699;color:var(--text);cursor:pointer}.account-chip:hover{border-color:var(--accent-dim, #3d5680)}.account-chip img,.account-initial{width:22px;height:22px;border-radius:999px;flex:none;display:grid;place-items:center;background:var(--accent-dim, #3d5680);color:#eaf1ff;font-size:11px;font-weight:700}.account-name{font-size:12px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu{position:absolute;right:0;top:calc(100% + 6px);z-index:40;min-width:220px;padding:10px;border-radius:var(--radius);border:1px solid var(--line);background:#0a0e16f7;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;flex-direction:column;gap:6px}.account-menu-head{display:flex;flex-direction:column;gap:1px;margin-bottom:4px}.account-menu-head span{font-size:11px;color:var(--text-dim)}.account-menu-row{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--text-dim)}.cloud-slot{align-items:center}.cloud-slot-n{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:4px;border:1px solid var(--line);font-family:var(--mono);font-size:10px;color:var(--text-dim);vertical-align:-.2em}.load-list{gap:3px}.load-row{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border-radius:var(--radius);border:1px solid var(--line);background:#0a0e168c;color:var(--text);cursor:pointer;text-align:left}.load-row:hover:not(:disabled){border-color:var(--accent-dim, #3d5680)}.load-row:disabled{opacity:.5;cursor:default}.load-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-offer{border-color:var(--accent-dim, #3d5680)}.admin-modal{width:min(860px,94vw);max-height:88vh;overflow:auto}.admin-stats{gap:18px;font-size:12px;color:var(--text-dim);margin-top:4px}.admin-flag{padding:4px 0;align-items:flex-start}.admin-flag code{font-family:var(--mono);font-size:12px;color:var(--text)}.admin-users{display:flex;flex-direction:column;gap:6px;margin-top:6px}.admin-user{padding:8px 10px;border-radius:var(--radius);border:1px solid var(--line);background:#0a0e1680}.admin-user.banned{border-color:#5a2a2a;background:#22101080}.admin-avatar{width:26px;height:26px;border-radius:999px;flex:none;display:grid;place-items:center;background:var(--accent-dim, #3d5680);color:#eaf1ff;font-size:12px;font-weight:700}.admin-controls{gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}.admin-confirm{margin-top:10px;padding:10px;border-radius:var(--radius);border:1px solid #5a2a2a;background:#221010b3}.menu-divider{height:1px;margin:4px 0;background:var(--line)}.setup-tabs{display:flex;gap:6px;flex:none}.setup-tabs button{padding:7px 16px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px}.setup-tabs button:hover{color:var(--text)}.setup-tabs button.on{background:var(--accent-dim, #3d5680);border-color:var(--accent-dim, #3d5680);color:#eaf1ff}.setup-body.one{grid-template-columns:minmax(0,760px);justify-content:center;align-items:start;align-content:start;gap:12px}.setup-body.one>.panel{overflow:auto;max-height:100%}.panel-toggle{display:none;position:absolute;right:10px;bottom:10px;z-index:32;padding:9px 14px;border-radius:999px;border:1px solid var(--line);background:#0a0e16eb;color:var(--text);font-size:13px;cursor:pointer;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.panel-toggle:hover{border-color:var(--accent-dim, #3d5680)}@media (max-width: 900px){.workspace{grid-template-columns:1fr}.sidebar{position:absolute;top:0;right:0;bottom:0;width:min(340px,88vw);z-index:31;transform:translate(101%);transition:transform .18s ease-out;box-shadow:-12px 0 28px #00000073}.sidebar.open{transform:none}.sidebar.hidden{display:none}.panel-toggle{display:block}.sidebar.open~.panel-toggle{right:calc(min(340px,88vw) + 10px)}}@media (prefers-reduced-motion: reduce){.sidebar{transition:none}}.bring-saves{border-color:var(--accent-dim, #3d5680)}.bring-list{gap:2px;margin-top:8px;max-height:40vh;overflow:auto}.bring-row{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:6px;border:1px solid transparent;cursor:pointer}.bring-row:hover{background:#6ea8ff0f}.bring-row.on{border-color:var(--accent-dim, #3d5680);background:#6ea8ff1a}.bring-row input:disabled{opacity:.4}.bring-row input:disabled~.bring-name{opacity:.5}.bring-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width: 720px),(max-height: 520px){.topbar{gap:6px 10px;padding:5px 8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.topbar::-webkit-scrollbar{display:none}.topbar>*{flex:none}.topbar .brand{display:none}.totals{gap:9px;flex-wrap:nowrap;font-size:12px}.totals .value{font-size:12px}.research-bar{max-width:38vw}.research-bar>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.research-bar .label,.breadcrumb{display:none}.viewtabs button,.topbar button{padding:5px 9px;font-size:12px}.account-name{display:none}}@media (max-width: 420px),(max-height: 430px){.totals .label{display:none}}.report-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#04060ac7;display:flex;align-items:center;justify-content:center;z-index:100;padding:24px}.report{display:flex;gap:18px;background:var(--bg-panel);border:1px solid var(--line);border-radius:10px;padding:18px;width:100%;max-width:940px;max-height:84vh}.report-ads{flex:0 0 32%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;border-right:1px solid var(--line-soft);padding-right:18px;overflow-y:auto;min-height:0}.report-main{flex:1 1 auto;display:flex;flex-direction:column;min-width:0}.report-head{margin-bottom:10px}.report-head h3{margin:0 0 2px}.report-list{flex:1 1 auto;overflow-y:auto;min-height:0;padding-right:4px}.report-turn{margin:12px 0 6px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint)}.report-list section:first-child .report-turn{margin-top:0}.report-row{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:var(--radius);border-left:2px solid var(--line);background:var(--bg-panel-2);margin-bottom:4px}.report-row.good{border-left-color:var(--good)}.report-row.warning{border-left-color:var(--warn)}.report-row.danger{border-left-color:var(--danger)}.report-text{flex:1 1 auto;font-size:13px;min-width:0}.report-row button{flex:none;margin-left:auto}.report-foot{display:flex;align-items:center;gap:8px;padding-top:12px;margin-top:10px;border-top:1px solid var(--line-soft)}.ad-slot{display:flex;flex-direction:column;gap:4px;max-width:100%}.ad-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text-faint)}.ad-body{display:flex;align-items:center;justify-content:center;text-align:center;max-width:100%;border:1px dashed var(--line);border-radius:var(--radius);background:var(--bg-panel-2)}.ad-empty{font-size:12px;color:var(--text-faint);padding:10px;line-height:1.5}@media (max-width: 720px),(max-height: 520px){.report-backdrop{padding:10px}.report{flex-direction:column;gap:12px;padding:12px;max-height:92vh}.report-ads{flex:none;border-right:none;border-bottom:1px solid var(--line-soft);padding:0 0 12px}.ad-slot{align-items:center;max-width:100%}.ad-body{max-width:100%}}.metrics h5{margin:0 0 6px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim)}.metric-split{gap:8px;margin-top:10px;align-items:stretch}.metric-card{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:1px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius);background:var(--bg-panel-2)}.metric-card b{font-size:22px;line-height:1.1}.metric-bars{display:flex;align-items:flex-end;gap:2px;height:90px;margin:8px 0 4px;padding:0 1px;border-bottom:1px solid var(--line)}.metric-bar{flex:1 1 0;min-width:2px;height:100%;display:flex;align-items:flex-end;background:var(--bg-panel-2);border-radius:2px 2px 0 0}.metric-fill{width:100%;background:var(--accent);border-radius:2px 2px 0 0;min-height:1px}.metric-axis{font-size:11px}.metric-spread{gap:4px}.metric-row{display:flex;align-items:center;gap:8px}.metric-label{flex:0 0 84px;font-size:12px;color:var(--text-dim)}.metric-track{flex:1 1 auto;height:14px;background:var(--bg-panel-2);border-radius:3px;overflow:hidden}.metric-row .metric-fill{height:100%;border-radius:3px}.metric-value{flex:0 0 44px;text-align:right;font-variant-numeric:tabular-nums;font-size:12px}.metric-people{gap:3px}.metric-person{padding:6px 8px;border-radius:var(--radius);background:var(--bg-panel-2);font-size:13px}@media (max-width: 720px){.metric-split{flex-wrap:wrap}.metric-card{flex:1 1 45%}}
