:root{--bg:#15181e;--panel:#1f242c;--border:#2f3640;--text:#e5e7eb;--muted:#9ca3af;--accent:#3b82f6;--error:#f87171;color:var(--text);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:13px}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;margin:0;overflow:hidden}#app{grid-template:"toolbar toolbar""viewport inspector"1fr"status status"/1fr 300px;height:100vh;display:grid}#toolbar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;grid-area:toolbar;gap:6px;padding:6px 8px;display:flex}#toolbar .group{border-right:1px solid var(--border);gap:2px;padding-right:6px;display:flex}#toolbar .group:last-child{border-right:none}#toolbar .group-label{color:var(--muted);align-self:center;padding:0 4px;font-size:12px}button,select,input{font:inherit;color:var(--text);border:1px solid var(--border);background:#2a313b;border-radius:4px;padding:3px 8px}button:hover:not(:disabled){background:#343d49}button:disabled{opacity:.4}button.active{background:var(--accent);border-color:var(--accent)}#viewport{grid-area:viewport;min-width:0;min-height:0;position:relative}#viewport canvas{width:100%;height:100%;display:block}#inspector{background:var(--panel);border-left:1px solid var(--border);grid-area:inspector;padding:8px;overflow-y:auto}#inspector h3{margin:4px 0 8px;font-size:14px}#inspector h3 small{color:var(--muted);font-weight:400}#inspector p{color:var(--muted);margin:4px 0 8px}#inspector .error{color:var(--error)}#inspector dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:0 0 8px;display:grid}#inspector dt{color:var(--muted)}#inspector dd{font-variant-numeric:tabular-nums;margin:0}.transform-form{margin-bottom:4px}.transform-form .row{grid-template-columns:30px repeat(3,1fr) 18px;align-items:center;gap:2px;margin-bottom:2px;font-size:11px;display:grid}.transform-form input{font-variant-numeric:tabular-nums;width:100%;min-width:0;height:20px;padding:0 3px;font-size:11px}.transform-form .unit{color:var(--muted)}#inspector .lil-gui.root{--background-color:var(--panel);width:100%}#status{background:var(--panel);border-top:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;grid-area:status;justify-content:space-between;gap:12px;padding:4px 8px;display:flex}#status .msg[data-kind=error],#status .summary[data-kind=error]{color:var(--error)}#inspector h4{margin:10px 0 6px;font-size:13px}#inspector .contacts{margin-bottom:10px}#inspector .contact{border-left:2px solid var(--border);font-variant-numeric:tabular-nums;margin-bottom:4px;padding:4px 6px}#inspector .contact-title{color:var(--text)}#inspector .cause{color:var(--muted);font-size:12px}#inspector .cause.held,#inspector .group-note{color:#93c5fd}#inspector .grip{border-left:3px solid var(--border);margin-bottom:6px;padding:4px 6px}#inspector .grip-fixed{border-left-color:#22c55e}#inspector .grip-partial{border-left-color:#eab308}#inspector .grip-unsupported,#inspector .grip-needsJointAnalysis{border-left-color:#f87171}#inspector .grip-title{color:var(--text);margin-bottom:2px}#inspector table.modes{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:4px;font-size:12px}#inspector table.modes td{color:var(--muted);padding:1px 4px 1px 0}#inspector .state-blocked{color:#f87171!important}#inspector .state-friction{color:#fbbf24!important}#inspector .state-free{color:#4ade80!important}#inspector .load-test{border-top:1px solid var(--border);margin:10px 0;padding-top:6px}#inspector .load-test .roles{flex-wrap:wrap;gap:4px;margin:4px 0;display:flex}#inspector .load-test .row{grid-template-columns:repeat(3,1fr) 40px;gap:3px;margin-bottom:3px;display:grid}#inspector .load-test .row input{width:100%;padding:2px 4px}#inspector .load-test label{color:var(--muted);margin:4px 0;display:block}#inspector .role-evaluated{color:#e879f9}#inspector .role-supports{color:#a78bfa}#inspector .verdict{margin:4px 0;font-weight:600}#inspector .verdict-holds{color:#4ade80}#inspector .verdict-exceeded,#inspector .verdict-free{color:var(--error)}#inspector .load-result div{margin-bottom:2px}#inspector .inspector-top{z-index:3;background:var(--panel);border-bottom:1px solid var(--border);margin:-8px -8px 6px;padding:6px 8px 2px;position:sticky;top:-8px}#inspector .inspector-top input:disabled{opacity:.4}.help-overlay{z-index:50;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.help-overlay[hidden]{display:none}.help-card{background:var(--panel);border:1px solid var(--border);border-radius:8px;min-width:420px;max-height:85vh;padding:16px 20px;overflow:auto}.help-card h3{margin:0 0 10px}.help-card table{border-collapse:collapse}.help-card td{vertical-align:top;padding:3px 12px 3px 0}kbd{border:1px solid var(--border);background:#2a313b;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:inherit;font-size:12px;display:inline-block}#inspector .structure{border:1px solid #334155;border-radius:4px;margin:8px 0;padding:4px 6px}#inspector .structure>summary{cursor:pointer;font-weight:600}#inspector .structure .tree{max-height:220px;margin-top:4px;overflow-y:auto}#inspector .structure .set>summary{cursor:pointer;list-style-position:inside}#inspector .structure .set>summary .node{width:calc(100% - 16px);display:inline-flex}#inspector .structure .block{border-left:2px solid #475569;margin-left:10px;padding-left:4px}#inspector .structure .set>.piece,#inspector .structure .block>.piece,#inspector .structure .loose>.piece{margin-left:14px}#inspector .structure .node,#inspector .structure .piece{border-radius:3px;align-items:center;gap:6px;padding:1px 2px;display:flex}#inspector .structure .node .name{font-weight:600}#inspector .structure .name{cursor:pointer;flex:1}#inspector .structure .name:hover{text-decoration:underline}#inspector .structure .count{color:#94a3b8;font-size:.85em}#inspector .structure .selected{background:#1e3a5f}#inspector .structure .hidden .name{opacity:.45;font-style:italic}#inspector .structure .eye{padding:0 4px;font-size:.75em}#inspector .joint-note{border:1px solid #facc15;border-radius:4px;margin:6px 0;padding:4px 6px}#inspector .grip button{margin-top:4px}.color-row .swatches{flex-wrap:wrap;grid-column:2/-1;align-items:center;gap:3px;display:flex}.swatch{cursor:pointer;border:1px solid #475569;border-radius:3px;width:16px;height:16px;padding:0}.swatch.active{outline-offset:1px;outline:2px solid #fbbf24}.color-row input[type=color]{cursor:pointer;background:0 0;border:none;width:22px;height:18px;padding:0}.swatch-reset{padding:0 4px;font-size:.75em}.swatch-reset.active{outline:2px solid #fbbf24}#inspector .library{border:1px solid #334155;border-radius:4px;margin:8px 0;padding:4px 6px}#inspector .library>summary{cursor:pointer;font-weight:600}#inspector .library-save,#inspector .library-io{gap:4px;margin:4px 0;display:flex}#inspector .library-save input{flex:1;min-width:0}#inspector .library-list{max-height:320px;overflow-y:auto}#inspector .library .shape{align-items:center;gap:6px;padding:2px;display:flex}#inspector .library .shape-img{cursor:pointer;object-fit:contain;background:#11151b;border-radius:4px;flex:none;width:56px;height:56px}#inspector .library .shape-img:hover{outline:1px solid var(--accent)}#inspector .library .shape-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}#inspector .library .shape-tools{align-items:center;gap:4px;display:flex}#inspector .library .shape-tools .count{flex:1}#inspector .library .shape .name{cursor:text;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#inspector .library .shape input{flex:1;min-width:0}#inspector .library .count{color:#94a3b8;font-size:.85em}#inspector .brush.active{color:#111827;background:#fbbf24}#inspector .neon.active{color:#39ff14;background:#0f172a;border-color:#39ff14;box-shadow:0 0 6px #39ff14,inset 0 0 4px #39ff14}#inspector .armor.active{color:#e5e7eb;background:#374151;border-color:#9ca3af;box-shadow:inset 0 0 0 2px #6b7280}#inspector .bevel.active{color:#fde68a;background:#1f2937;border-color:#d6a756;box-shadow:inset 2px 2px #fef3c7,inset -2px -2px #92400e}body:not(.show-advanced) .advanced{display:none!important}#inspector .ship{border:1px solid #334155;border-radius:4px;margin:8px 0;padding:4px 6px}#inspector .ship>summary{cursor:pointer;font-weight:600}#inspector .ship-view{z-index:1;aspect-ratio:7/5;border:1px solid var(--border);border-radius:3px;width:100%;margin:6px 0 0;display:block;position:sticky;bottom:-8px}#inspector .ship-sheet p{margin:3px 0}#inspector .ship-sheet .error{color:var(--error)}#inspector .ship-sheet .warning{color:#fbbf24}#inspector .ship-sheet .muted{color:var(--muted)}#inspector .ship-sheet dl{grid-template-columns:auto 1fr;gap:1px 8px;margin:4px 0;display:grid}#inspector .ship-sheet dt{color:var(--muted)}#inspector .ship-sheet dd{margin:0}#inspector .ship-sheet table{border-collapse:collapse;width:100%}#inspector .ship-sheet th{text-align:left;color:var(--muted);font-weight:400}#inspector .ship-sheet tr:has(td){cursor:pointer}#inspector .ship-sheet tr:has(td):hover{background:#2a313b}#station{z-index:5;background:var(--bg);grid-area:2/1/3/3;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:start;gap:24px;padding:12px 20px 24px;display:grid;overflow-y:auto}#station .station-inventory{position:sticky;top:0}#station .piece-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:8px;display:grid}#station .piece-tile{background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 6px;display:flex;position:relative}#station .piece-tile.empty{opacity:.45}#station .piece-tile img{object-fit:contain;width:64px;height:64px}#station .piece-tier{color:var(--muted);font-size:11px;position:absolute;top:4px;left:6px}#station .piece-count{font-size:12px;font-weight:600;position:absolute;top:4px;right:6px}#station .piece-name{text-align:center;font-size:12px;line-height:1.2}#station .piece-upgrade{margin-top:2px;padding:1px 6px;font-size:11px}#station[hidden]{display:none}#station h2{margin:0 0 4px}#station h3{margin:18px 0 6px;font-size:14px}#station section{max-width:920px}#station table{border-collapse:collapse;width:100%}#station th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:3px 8px 3px 0;font-weight:400}#station td{vertical-align:middle;border-bottom:1px solid #252b34;padding:4px 8px 4px 0}#station .actions{justify-content:flex-end;gap:4px;display:flex}#station .row{gap:6px;margin-bottom:6px;display:flex}#station .infinite-toggle{cursor:pointer;align-items:center;gap:4px;margin-bottom:8px;display:inline-flex}#station .row input{flex:0 260px}#station .muted{color:var(--muted)}#station .ok{color:#4ade80}#station .warning{color:#fbbf24}#toolbar .nav button{font-weight:600}#toolbar .nav button.on{background:var(--accent);border-color:var(--accent)}body[data-screen=station] #toolbar>.group:not(.nav){display:none}#station .error{color:var(--error)}#station .picks{flex-wrap:wrap;gap:4px 16px;margin:6px 0 8px;display:flex}body[data-screen=combat] #toolbar>.group:not(.nav){display:none}#campaign,#fleet,#maps,#battle{z-index:5;grid-area:2/1/3/3;min-height:0}#campaign,#fleet{grid-template:minmax(0,1fr)/minmax(0,1fr);display:grid;overflow:hidden}#campaign[hidden],#fleet[hidden],#maps[hidden],#battle[hidden],body[data-screen=campaign] #toolbar>.group:not(.nav),body[data-screen=fleet] #toolbar>.group:not(.nav),body[data-screen=maps] #toolbar>.group:not(.nav),body[data-screen=battle] #toolbar>.group:not(.nav){display:none}.world.fleet-screen{grid-template:"body"minmax(0,1fr)/minmax(0,1fr)}.fleet-screen>.fleet-panel{grid-area:body;grid-template-columns:minmax(0,1fr) 280px;gap:0 24px;min-height:0;padding:0 16px;display:grid}.fleet-panel .fleet-col{min-height:0;padding-bottom:16px;overflow-y:auto}@media (width<=1000px){.fleet-screen>.fleet-panel{grid-template-columns:minmax(0,1fr);overflow-y:auto}.fleet-panel .fleet-col{overflow:visible}}.fleet-panel h3{margin:16px 0 6px;font-size:14px}.fleet-panel h3:first-of-type{margin-top:8px}.fleet-panel .infinite-toggle{color:var(--muted);cursor:pointer;align-items:center;gap:4px;margin-top:16px;font-size:12px;display:inline-flex}.fleet-panel .muted{color:var(--muted)}.fleet-panel .small{font-size:12px}.fleet-panel .ok{color:#4ade80}.fleet-panel .warning{color:#fbbf24}.fleet-panel .error{color:var(--error)}.fleet-panel table{border-collapse:collapse;width:100%}.fleet-panel th{text-align:left;color:var(--muted);border-bottom:1px solid var(--border);padding:3px 6px 3px 0;font-weight:400}.fleet-panel td{vertical-align:middle;border-bottom:1px solid #252b34;padding:4px 6px 4px 0}.fleet-panel .bp-name{flex-direction:column;gap:1px;display:flex}.fleet-panel .actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.fleet-panel .row{gap:6px;margin-bottom:6px;display:flex}.fleet-panel .fleet-head{align-items:center;gap:6px;display:flex}.fleet-panel .fleet-head h3{margin-right:auto}.fleet-panel .picks{flex-wrap:wrap;gap:4px 16px;margin:6px 0 8px;display:flex}.fleet-panel select{margin-right:6px}.fleet-panel .test-fleet-list{margin:4px 0 8px;padding:0;font-size:13px;list-style:none}.fleet-panel .test-fleet-list li{border-radius:4px;align-items:center;gap:4px;margin:2px 0;padding:2px 4px;display:flex}.fleet-panel .test-fleet-list li.on{outline:1px solid var(--accent);background:#1e293b}.fleet-panel .test-fleet-list .fleet-name{text-align:left;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;cursor:pointer;background:0 0;border:none;flex:1;padding:2px 0;overflow:hidden}.fleet-panel .test-fleet-list .fleet-name:hover{color:var(--accent)}.fleet-panel .fleet-save{flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 8px;display:flex}.fleet-panel .fleet-save input{width:200px}.fleet-panel .catalogue-fold{margin-top:16px}.fleet-panel .catalogue-fold>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}#battle{background:var(--bg);overflow-y:auto}#battle .battle-panel{max-width:900px;margin:0 auto;padding:16px}#battle .battle-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px;margin:12px 0 20px;display:grid}#battle .battle-pick{flex-direction:column;gap:6px;display:flex}#battle .battle-pick>span{font-weight:600}#battle .battle-check{margin:0 0 12px;display:block}#battle .battle-recordings{flex-wrap:wrap;align-items:center;gap:8px;margin-top:28px;display:flex}#battle .battle-recordings h3{width:100%;margin:0}#battle .battle-map{aspect-ratio:1;width:260px;max-width:100%}#battle .muted{color:var(--muted)}#battle .small{font-size:12px}#battle button.primary{background:var(--accent);border-color:var(--accent);padding:6px 18px;font-weight:600}.fleet-panel .templates{margin:4px 0;padding-left:18px}.fleet-panel .templates li>span:not(.muted){color:var(--text)}.fleet-panel .piece-grid{grid-template-columns:repeat(4,48px);gap:4px;display:grid}.fleet-panel .piece-tile{background:var(--bg);border:1px solid var(--border);border-radius:5px;place-items:center;width:48px;height:48px;display:grid;position:relative}.fleet-panel .piece-tile.empty{opacity:.45}.fleet-panel .piece-tile img{object-fit:contain;width:34px;height:34px}.fleet-panel .piece-tier{color:var(--muted);font-size:9px;line-height:1;position:absolute;bottom:1px;left:3px}.fleet-panel .piece-count{font-size:10px;font-weight:600;line-height:1;position:absolute;top:1px;right:3px}.fleet-panel .piece-upgrade{border-radius:3px;width:15px;height:15px;padding:0;font-size:8px;line-height:1;position:absolute;bottom:1px;right:1px}.fleet-panel .catalogue h3{margin:10px 0 4px}.fleet-panel .catalogue{overflow-x:hidden}.fleet-panel .catalogue .row{flex-wrap:wrap}.fleet-panel .catalogue .row select{flex:1;min-width:0}.fleet-panel .templates{margin:0;padding-left:0;font-size:13px;list-style:none}.fleet-panel .templates li{margin:2px 0}#combat{z-index:6;background:var(--bg);grid-area:2/1/3/3;grid-template-columns:1fr 300px;min-height:0;display:grid}#combat[hidden]{display:none}#combat .combat-view{min-width:0;min-height:0;position:relative;overflow:hidden}#combat .combat-fps{color:#a3e635;pointer-events:none;background:#0b0e13b3;border-radius:4px;padding:2px 6px;font:12px/1.4 ui-monospace,monospace;position:absolute;top:6px;left:8px}#combat .turn-bar{border:1px solid var(--border);background:#0b0e13d1;border-radius:6px;align-items:center;gap:8px;width:min(560px,100% - 32px);padding:6px 8px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}#combat .turn-bar[hidden]{display:none}#combat .arc-switches{color:#e5e7eb;background:#0b0e13b3;border-radius:4px;flex-direction:column;gap:2px;padding:4px 8px;font-size:12px;display:flex;position:absolute;top:32px;left:8px}#combat .ai-audit{border:1px solid var(--border);color:#e5e7eb;background:#0b0e13d9;border-radius:4px;width:260px;max-height:calc(100% - 80px);padding:6px 8px;font-size:12px;position:absolute;top:6px;right:8px;overflow-y:auto}#combat .ai-audit[hidden]{display:none}#combat .ai-audit h4{color:#e879f9;margin:0 0 4px}#combat .ai-audit .audit-ship{cursor:default;margin-top:6px;font-weight:600}#combat .ai-audit .audit-option{cursor:default;border-radius:3px;grid-template-columns:16px 1fr 28px 64px;gap:4px;padding:1px 4px;display:grid}#combat .ai-audit .audit-option:hover,#combat .ai-audit .audit-ship:hover{background:#3b2a44}#combat .ai-audit .audit-option.chosen{color:#f5d0fe}#combat .ai-audit .audit-option.rejected{color:var(--muted)}#combat .ai-audit .score{text-align:right;font-family:ui-monospace,monospace}#combat .arc-switches label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:flex}#combat .turn-track{background:#1f2937;border-radius:4px;flex:1;height:22px;position:relative;overflow:hidden}#combat .turn-fill{background:#f59e0b;position:absolute;inset:0 auto 0 0}#combat .turn-bar.running .turn-fill{background:#22c55e}#combat .turn-track span{text-align:center;color:#f8fafc;text-shadow:0 1px 2px #000;font:12px/22px ui-monospace,monospace;display:block;position:relative}#combat .turn-bar button{white-space:nowrap;min-width:118px}#combat .turn-bar button.help-button{min-width:0}.ship-data .help-card{width:min(900px,100vw - 48px)}.ship-data .help-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.ship-data .help-head h3{margin:0}.ship-data .help-sections{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px 20px;display:grid}.ship-data section h4{color:#93c5fd;margin:10px 0 4px;font-size:13px}.ship-data td{padding:2px 10px 2px 0;font-size:12px}.ship-data td:first-child{color:#94a3b8;white-space:nowrap}.ship-data .piece-data{width:100%}.ship-data .piece-data thead td{color:#93c5fd;font-weight:600}.ship-data .piece-data td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ship-data .piece-data tbody td:first-child{color:inherit}.ship-data .piece-data tbody tr{cursor:pointer}.ship-data .piece-data tbody tr:hover{background:#93c5fd14}.combat-help .help-card{width:min(860px,100vw - 48px)}.combat-help .help-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.combat-help .help-head h3{margin:0}.combat-help .help-sections{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 20px;display:grid}.combat-help section h4{color:#93c5fd;margin:0 0 4px;font-size:13px}.combat-help ul{margin:0;padding-left:16px;font-size:12px;line-height:1.45}.combat-help li{margin-bottom:3px}#combat .turn-bar button.go{color:#fff;background:#16a34a;border-color:#22c55e;font-weight:600}#combat .combat-view canvas{cursor:crosshair;width:100%;height:100%;display:block}#combat .select-box{pointer-events:none;background:#4ade8014;border:1px solid #4ade80;position:absolute}#combat .combat-hud{background:var(--panel);border-left:1px solid var(--border);padding:8px 10px;overflow-y:auto}#combat .combat-hud h3{margin:0 0 4px}#combat .combat-hud h4{color:var(--muted);margin:12px 0 4px;font-weight:600}#combat .combat-hud p{margin:3px 0}#combat .combat-hud .objective{color:#facc15}#combat .combat-hud .row{flex-wrap:wrap;gap:4px;margin:6px 0;display:flex}#combat .combat-hud button.active{background:var(--accent);border-color:var(--accent)}#combat .ship-row,#combat .weapon-row{border-radius:3px;grid-template-columns:1fr 70px auto;align-items:center;gap:6px;padding:2px 4px;display:grid}#combat .ship-row{cursor:pointer}#combat .ship-row:hover{background:#2a313b}#combat .ship-row.selected{outline:1px solid #4ade80}#combat .ship-row.dead{opacity:.5;cursor:default}#combat .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#combat .bar{background:#111827;border-radius:3px;height:6px;overflow:hidden}#combat .bar .fill{background:#22c55e;height:100%;display:block}#combat .bar.heat .fill{background:linear-gradient(90deg,#f59e0b,#ef4444)}#combat .bar.shield .fill{background:#60a5fa}#combat .ok{color:#4ade80}#combat .muted{color:var(--muted)}#combat .warning{color:#fbbf24}#combat .error{color:var(--error)}#combat .log p{color:#cbd5e1;font-size:12px}#combat .help{color:var(--muted);margin-top:12px;font-size:12px}#combat .combat-end{border:1px solid var(--border);background:#111827f2;border-radius:6px;min-width:320px;max-width:480px;padding:16px 20px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}#combat .combat-end h2{margin:0 0 6px}#combat .combat-end.victory h2{color:#4ade80}#combat .combat-end.defeat h2{color:var(--error)}#combat .combat-end.retreat h2{color:#fbbf24}#combat .combat-end ul{padding-left:18px}#combat .ship-row.primary{outline:2px solid #facc15}#combat .ship-row .helm{font-variant-numeric:tabular-nums;font-size:12px}#combat .route-labels{pointer-events:none;position:absolute;inset:0}#combat .ship-peek{box-sizing:border-box;pointer-events:none;z-index:5;color:#e5e7eb;background:#0f121af0;border:1px solid #3b4252;border-radius:6px;width:260px;padding:8px 10px;font-size:12px;line-height:1.35;position:absolute;top:8px;right:8px;box-shadow:0 4px 14px #00000073}#combat .ship-peek .muted{color:#9ca3af}#combat .ship-peek .peek-head{margin-bottom:6px}#combat .ship-peek .peek-grid{grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;font-size:11px;display:grid}#combat .ship-peek .peek-track{background:#1f2937;border-radius:3px;height:14px;position:relative;overflow:hidden}#combat .ship-peek .peek-track.thin{height:9px}#combat .ship-peek .peek-stack{flex-direction:column;gap:2px;display:flex}#combat .ship-peek .peek-fill{height:100%}#combat .ship-peek .peek-figure{font-variant-numeric:tabular-nums;color:#f9fafb;text-shadow:0 0 2px #000,0 0 3px #000;justify-content:center;align-items:center;font-size:10px;font-weight:600;display:flex;position:absolute;inset:0}#combat .ship-peek .peek-track.thin .peek-figure{font-size:8px;line-height:9px}#combat .ship-peek .peek-boxes{gap:3px;display:flex}#combat .ship-peek .peek-boxes:has(.lost){padding-top:10px}#combat .ship-peek .peek-box{color:#d1d5db;border:1px solid #4b5563;border-radius:3px;padding:0 4px;font-size:10px;position:relative}#combat .ship-peek .peek-box.on{color:#111827;background:#e5e7eb;border-color:#e5e7eb;font-weight:700}#combat .ship-peek .peek-box.lost{color:#6b7280;background:#1f2937;border-color:#374151}#combat .ship-peek .peek-box.none{opacity:.3}#combat .ship-peek .peek-box.broken{color:#fecaca;background:#7f1d1d;border-color:#dc2626}#combat .ship-peek .peek-box-tension{font-size:9px;position:absolute;top:-11px;left:50%;transform:translate(-50%)}#combat .ship-peek .peek-line{align-items:center;gap:6px;font-size:11px;display:flex}#combat .ship-peek .peek-pips{gap:1px;display:inline-flex}#combat .ship-peek .pip{opacity:.25;filter:grayscale()}#combat .ship-peek .pip.on{opacity:1;filter:none}#combat .ship-peek .peek-weapons{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}#combat .ship-peek .peek-weapon{background:#111827;border:1px solid #374151;border-radius:4px;width:44px;height:44px;position:relative}#combat .ship-peek .peek-weapon img{width:100%;height:100%}#combat .ship-peek .peek-weapon.dead img{filter:grayscale()brightness(.5)}#combat .ship-peek .peek-weapon-name{padding:2px;font-size:9px;display:block}#combat .ship-peek .peek-weapon-count{text-shadow:0 0 2px #000;font-size:9px;font-weight:700;position:absolute;top:1px;right:2px}#combat .ship-peek .peek-weapon-ammo{text-shadow:0 0 2px #000;font-size:9px;position:absolute;bottom:1px;left:2px}#combat .ship-peek .error{color:#f87171}#combat .ship-peek .warning{color:#fbbf24}#combat .ship-peek .peek-rows{grid-template-columns:auto 1fr;gap:2px 10px;margin-top:6px;display:grid}#combat .route-labels span{white-space:nowrap;color:#fde047;text-shadow:0 0 3px #000,0 0 3px #000;font-size:11px;position:absolute;transform:translate(6px,-50%)}#combat .route-labels span.contact{color:#fca5a5;font-weight:600}#combat .route-labels span.ten{color:#22d3ee;font-weight:600}#combat .route-labels span.tension{color:#fb923c;transform:translate(-50%, calc(-50% - var(--lift,0px)));font-size:13px;font-weight:700}#combat .route-labels span.dim{opacity:.6;font-size:10px;font-weight:400}#combat .control-box{font-variant-numeric:tabular-nums;flex-direction:column;gap:2px;display:flex}#combat .axis-row{grid-template-columns:52px 1fr auto auto;align-items:center;gap:6px;font-size:12px;display:grid}#combat .gear-row{gap:3px;margin:2px 0 4px 58px;display:flex}#combat .gear-row button{padding:1px 7px;font-size:12px}#combat .stretch-gears{flex-wrap:wrap;align-items:center;gap:4px;margin:4px 0;display:flex}#combat .stretch-gears .name{margin-right:4px}#combat .gear-chip{color:#94a3b8;border:1px solid #334155;border-radius:4px;padding:1px 7px;font-size:12px}#combat .gear-chip.now{color:#bfdbfe;border-color:#60a5fa}#combat .gear-chip.chosen{color:#111;background:#facc15;border-color:#facc15;font-weight:700}#combat .route-labels span.gear{color:#111;text-shadow:none;background:#facc15;border-radius:3px;padding:0 4px;font-weight:700;transform:translate(10px,-150%)}#combat .gear-chip.chosen.over,#combat .route-labels span.gear.over{color:#fff;background:#dc2626;border-color:#dc2626}#combat .gear-chip.chosen.calm,#combat .route-labels span.gear.calm{color:#052e16;background:#22c55e;border-color:#22c55e}#combat .gear-chip.chosen.over:after,#combat .route-labels span.gear.over:after{content:"⚡";animation:.8s steps(2,jump-none) infinite tension-blink;animation-delay:var(--blink,0s);margin-left:3px}#combat .gear-chip.chosen.calm:after,#combat .route-labels span.gear.calm:after{content:"⚡";margin-left:3px;-webkit-text-decoration:line-through #052e16;text-decoration:line-through #052e16;text-decoration-thickness:2px}@keyframes tension-blink{0%{opacity:1}to{opacity:.15}}#combat .route-labels span.route-gear{color:#e5e7eb;text-shadow:none;background:#111827bf;border-radius:3px;padding:0 3px;font-size:10px;font-weight:600;transform:translate(6px,-50%)}#combat .objective-tag{color:#93c5fd}#combat .proposal{border-left:2px solid #facc15;margin-top:4px;padding:4px 6px;font-size:12px}#station .families{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}#station .family{text-align:left;flex-direction:column;align-items:flex-start;gap:2px;width:220px;padding:8px 10px;display:flex}#station .family strong{font-size:14px}#station .family span{color:var(--muted)}#station select{margin-right:6px}body[data-screen=map] #toolbar>.group:not(.nav){display:none}#map{z-index:6;background:radial-gradient(ellipse at 50% 20%, #1c2230, var(--bg));grid-area:2/1/3/3;grid-template-columns:1fr 320px;min-height:0;display:grid}#map[hidden]{display:none}#map .map-scroll{justify-content:center;padding:12px;display:flex;overflow-y:auto}#map .map-board{width:min(100%,560px);height:auto}#map .edge{stroke:#334155;stroke-width:2px;stroke-dasharray:4 5}#map .edge.walked{stroke:#94a3b8;stroke-dasharray:none;stroke-width:3px}#map .edge.next{stroke:#e2e8f0;stroke-dasharray:none}#map .node{cursor:pointer}#map .node circle{stroke-width:2px;transition:r .15s}#map .node.visited circle{fill:#2b3444}#map .node.visited text{opacity:.55}#map .node.open circle{stroke-width:3.5px;animation:1.4s ease-in-out infinite pulse}#map .node.current circle{stroke:#fff;stroke-width:4px}#map .node.selected circle{fill:#26324a}#map .node:not(.open):not(.visited):not(.current){opacity:.7}@keyframes pulse{50%{stroke-opacity:.35}}#map .map-panel{background:var(--panel);border-left:1px solid var(--border);padding:12px 14px;overflow-y:auto}#map .map-panel h2{margin:0 0 4px}#map .map-panel h3{margin:14px 0 4px}#map .map-panel p{margin:4px 0}#map .map-panel .muted{color:var(--muted)}#map .map-panel .notice{color:#bbf7d0;background:#1e3a2a;border-radius:4px;padding:6px 8px}#map .map-panel .picks{flex-direction:column;gap:3px;margin:4px 0 8px;display:flex}#map .map-panel .help{color:var(--muted);margin-top:10px;font-size:12px}#map .map-panel hr{border:none;border-top:1px solid var(--border);margin:14px 0 8px}#viewport .palette{z-index:2;background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--border);border-radius:6px;width:196px;padding:6px;position:absolute;top:8px;bottom:8px;left:8px;overflow-y:auto}#viewport .palette-title{color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:4px 2px;font-size:11px}#viewport .palette-grid{grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:6px;display:grid}#viewport .palette-tile{flex-direction:column;align-items:center;gap:2px;min-width:0;padding:4px 2px;display:flex;position:relative}#viewport .palette-tile img{object-fit:contain;border-radius:4px;width:48px;height:48px}#viewport .palette-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}#viewport .palette-count{text-shadow:0 0 3px #000;font-size:11px;font-weight:700;position:absolute;top:2px;right:3px}#viewport .palette-tile.empty{opacity:.45}#viewport .palette-tile.over .palette-count{color:var(--error)}.piece-tooltip{z-index:100;pointer-events:none;background:var(--panel);border:1px solid var(--border);border-radius:6px;max-width:260px;padding:8px 10px;position:fixed;box-shadow:0 4px 16px #0006}.piece-tooltip[hidden]{display:none}.piece-tooltip p{margin:4px 0;font-size:12px}.piece-tooltip .muted{color:var(--muted)}.piece-tooltip dl{grid-template-columns:auto 1fr;gap:2px 10px;margin:6px 0;font-size:12px;display:grid}.piece-tooltip.bp-tooltip{background:linear-gradient(180deg, #1a2234, var(--panel) 45%);border-color:#334155;width:280px;max-width:280px;padding:0;overflow:hidden;box-shadow:0 10px 30px #0000008c}.bp-tooltip .bpt-head{border-bottom:1px solid #ffffff12;align-items:center;gap:10px;padding:10px 12px 8px;display:flex}.bp-tooltip .bpt-head .ship-pic{background:radial-gradient(circle at 50% 40%,#24314f,#0b0f17);border-radius:8px;width:72px;height:72px}.bp-tooltip .bpt-title{flex-direction:column;gap:2px;min-width:0;display:flex}.bp-tooltip .bpt-title strong{overflow-wrap:anywhere;font-size:15px}.bp-tooltip .bpt-title span{font-size:12px}.bp-tooltip .bpt-stats{grid-template-columns:1fr 1fr;gap:6px 12px;padding:8px 12px;font-size:12px;display:grid}.bp-tooltip .bpt-stat{grid-template-columns:18px auto;align-items:center;column-gap:4px;display:grid}.bp-tooltip .bpt-stat .ico{color:var(--muted);grid-row:span 2;font-size:15px}.bp-tooltip .bpt-stat .muted{text-transform:uppercase;letter-spacing:.04em;font-size:10px}.bp-tooltip .bpt-stat b{font-size:13px}.bp-tooltip .bpt-stat.hp .ico{color:#f87171}.bp-tooltip .bpt-stat.speed .ico{color:#67e8f9}.bp-tooltip .bpt-stat.weapons .ico{color:#fb923c}.bp-tooltip .bpt-stat.shields .ico{color:#60a5fa}.bp-tooltip .bpt-stat.bad b{color:#f87171}.bp-tooltip .bpt-cost{border-top:1px solid #ffffff12;align-items:baseline;gap:8px;padding:6px 12px;font-size:13px;display:flex}.bp-tooltip .bpt-cost .core{color:#fde68a}.bp-tooltip .bpt-status{border-left:3px solid;border-radius:6px;margin:4px 8px 8px;padding:6px 8px;font-size:12px}.bp-tooltip .bpt-status.ok{color:#bbf7d0;background:#4ade8014;border-color:#4ade80}.bp-tooltip .bpt-status.soft{color:#fde68a;background:#fbbf2414;border-color:#fbbf24}.bp-tooltip .bpt-status.bad{color:#fecaca;background:#f8717114;border-color:#f87171}.bp-tooltip .bpt-status ul{margin:4px 0 0;padding-left:16px}.bp-tooltip>p{margin:0 12px 6px}.bp-tooltip .small{font-size:11px}.bp-tooltip .ok{color:#4ade80}.bp-tooltip .res-list{gap:8px;display:inline-flex}.bp-tooltip .res{align-items:baseline;gap:2px;display:inline-flex}.bp-tooltip .res-icon.structure{color:#94a3b8}.bp-tooltip .res-icon.electronics{color:#60a5fa}.bp-tooltip .res-icon.energy{color:#fbbf24}.piece-tooltip dt{color:var(--muted)}.piece-tooltip dd{margin:0}.stat-tiles{grid-template-columns:1fr 1fr;gap:1px 10px;margin:2px 0 6px;display:grid}.stat-tile{white-space:nowrap;align-items:baseline;gap:4px;min-width:0;display:flex}.stat-label{color:var(--muted);font-size:11px}.stat-value{font-size:13px;font-weight:700}.stat-unit{color:var(--muted);text-overflow:ellipsis;font-size:10px;overflow:hidden}.stat-tile.warn .stat-value,.stat-tile.warn .stat-unit{color:#fbbf24}.movement-goals[hidden]{display:none}.movement-charts{flex-direction:column;gap:12px;padding-top:8px;font-size:12px;display:flex}.resistance-toggle{color:var(--muted,#9ca3af);flex-direction:column;gap:4px;margin-top:8px;font-size:11px;display:flex}.resistance-toggle button{font-size:12px}.frontal-view{flex-direction:column;align-items:center;gap:4px;padding:6px 0;display:flex}.frontal-view[hidden]{display:none}.frontal-sum{color:#e5e7eb;font-size:11px}.level-bar{flex-direction:column;display:flex;position:relative}.level-track{outline:1px solid var(--border);border-radius:4px;height:14px;display:flex;overflow:hidden}.level-track span{color:var(--muted);background:var(--panel);box-shadow:inset -1px 0 0 var(--border);white-space:nowrap;flex-direction:column;flex:1;justify-content:center;align-items:center;font-size:10px;line-height:1.1;display:flex;overflow:hidden}.level-track span:last-child{box-shadow:none}.level-track small{opacity:.8;font-size:9px}.level-bar.drive .level-track{height:22px}.level-bar.drive .level-track span.filled{color:#e5e7eb;background:#f59e0b59}.level-bar.drive .level-track span.current{color:#fff;background:#f59e0b99}.level-bar.drive .level-track span.current.danger{background:#ef444499}.level-bar.drive .level-track span.boost{color:#ecfccb;background:repeating-linear-gradient(135deg,#84cc1673 0 5px,#84cc1640 5px 10px)}.level-bar>.level-pointer.wings{background:#84cc16}.level-bar>.level-pointer.wings:before{border-top-color:#84cc16}.level-bar>.level-pointer.wings:after{border-bottom-color:#84cc16}.level-bar.weight .level-track span.current{color:#fff;background:#a78bfa59}.level-bar.accel .level-track{height:22px}.level-bar.accel .level-track span.filled{color:#e5e7eb;background:#38bdf84d}.level-bar.accel .level-track span.current{color:#fff;background:#38bdf88c}.level-bar>.level-pointer{pointer-events:none;background:#22d3ee;border-radius:0;width:2px;margin-left:-1px;padding:0;position:absolute;top:-1px;bottom:-1px;overflow:visible;box-shadow:0 0 0 1px #0009}.level-bar>.level-pointer:before,.level-bar>.level-pointer:after{content:"";border:5px solid #0000;position:absolute;left:50%;transform:translate(-50%)}.level-bar>.level-pointer:before{border-top-color:#22d3ee;top:-6px}.level-bar>.level-pointer:after{border-bottom-color:#22d3ee;bottom:-6px}.level-bar.weight>.level-pointer{background:#f0abfc}.level-bar.weight>.level-pointer:before{border-top-color:#f0abfc}.level-bar.weight>.level-pointer:after{border-bottom-color:#f0abfc}.level-pointer b{color:#e5e7eb;white-space:nowrap;visibility:hidden;background:#171b21eb;border-radius:2px;padding:0 3px;font-size:11px;line-height:13px;position:absolute;bottom:calc(100% + 7px);left:50%;transform:translate(-50%)}.level-ticks{pointer-events:none;height:0;position:absolute;left:0;right:0}.level-ticks.upper{top:0}.level-ticks.lower{bottom:0}.level-ticks span{white-space:nowrap;color:var(--muted);visibility:hidden;background:#171b21eb;border-radius:2px;padding:0 2px;font-size:10px;line-height:12px;position:absolute;transform:translate(-50%)}.level-ticks.upper span{bottom:5px}.level-ticks.lower span{top:5px}.level-bar:hover{z-index:4}.level-bar:hover .level-ticks span,.level-bar:hover .level-pointer b{visibility:visible}.slot-summary{color:var(--muted);flex-direction:column;gap:1px;font-size:11px;display:flex}.slot-summary b{color:#e5e7eb;min-width:68px;margin-right:4px;font-weight:600;display:inline-block}.slot-summary b.over{color:#f87171}.ship-templates{flex-direction:column;gap:2px;margin:6px 0;font-size:12px;display:flex}.ship-templates .ok{color:#4ade80}.ship-templates .warning{color:#fbbf24}.ship-templates .template-view{border:1px solid var(--border);max-width:100%;image-rendering:pixelated;border-radius:3px;margin:2px 0 6px;display:block}.ship-templates .template-tabs{border-bottom:1px solid var(--border);gap:2px;margin-top:2px;display:flex}.ship-templates .template-tabs button{border-bottom:none;border-radius:4px 4px 0 0;flex:1;padding:3px 4px;font-size:12px}.ship-templates .template-page{flex-direction:column;gap:4px;padding-top:4px;display:flex}.ship-templates .template-row{gap:4px;display:flex}.ship-templates .template-row select{flex:1;min-width:0}.ship-templates .template-look{white-space:nowrap}.ship-templates .template-offset{color:var(--muted,#9ca3af);align-items:center;gap:3px;margin-top:4px;font-size:11px;display:flex}.ship-templates .template-offset span{flex:1}.ship-templates .template-offset button{min-width:22px;padding:0 6px}.ship-templates .template-about{margin:0;font-size:11px}#toolbar .mode-switch{padding:0;display:inline-flex;overflow:hidden}#toolbar .mode-switch span{padding:3px 10px}#toolbar .mode-switch span.on{background:var(--accent)}#toolbar .pivot-menu{position:relative}#toolbar .pivot-menu>summary{cursor:pointer;border:1px solid var(--border);background:#2a313b;border-radius:4px;padding:3px 6px;list-style:none}#toolbar .pivot-menu>summary::-webkit-details-marker{display:none}#toolbar .pivot-menu>summary.active{border-color:var(--accent);color:#bfdbfe}#toolbar .pivot-options{z-index:20;background:var(--panel);border:1px solid var(--border);border-radius:6px;flex-direction:column;gap:2px;min-width:220px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 6px 16px #0008}#toolbar .pivot-options button{text-align:left}#toolbar .tool-panel{min-width:0}#toolbar .tool-panel .color-row .swatches{flex-wrap:wrap;align-items:center;gap:3px;width:236px;display:flex}#toolbar .config-panel{gap:6px;width:290px}#toolbar .config-panel .config-row{color:var(--muted);align-items:center;gap:4px;font-size:12px;display:flex}#toolbar .config-panel .config-row select{flex:1;min-width:0}#toolbar .config-panel .lil-gui.root{--width:100%;--background-color:var(--panel);width:100%}#toolbar label.check{cursor:pointer;white-space:nowrap;align-items:center;gap:2px;padding:0 4px;display:inline-flex}#viewport .hangar-actions{z-index:3;flex-direction:column;align-items:flex-end;gap:4px;display:flex;position:absolute;bottom:8px;right:8px}#viewport .actions-row{background:color-mix(in srgb, var(--panel) 90%, transparent);border:1px solid var(--border);border-radius:6px;gap:4px;padding:4px;display:flex}#viewport .actions-row[hidden]{display:none}#viewport .ship-name{width:170px}.world{background:radial-gradient(ellipse at 50% 20%, #1c2230, var(--bg));grid-template:"bar bar""warn warn""buy buy""map panel"minmax(0,1fr)/1fr 380px;grid-area:1/1/-1/-1;height:100%;min-height:0;display:grid}.world .muted{color:var(--muted)}.world .small{font-size:12px}.world .grow{flex:1}.world .chip{border:1px solid var(--border);background:var(--bg);border-radius:12px;align-items:baseline;gap:5px;padding:2px 8px;display:inline-flex}.world .res-list{gap:8px;display:inline-flex}.world .res{align-items:baseline;gap:2px;display:inline-flex}.world .res-icon.structure{color:#94a3b8}.world .res-icon.electronics{color:#60a5fa}.world .res-icon.energy{color:#fbbf24}.world .lives b{color:#f87171;letter-spacing:2px}.world .threat b{color:#fb923c}.world button.primary{background:var(--accent);border-color:var(--accent);color:#fff}.world-bar{background:var(--panel);border-bottom:1px solid var(--border);flex-wrap:wrap;grid-area:bar;align-items:center;gap:6px 8px;padding:6px 10px;display:flex}.world>.problem{color:var(--error);grid-area:warn;margin:0;padding:4px 10px}.world-buy{border-bottom:1px solid var(--border);background:#2a2412;flex-wrap:wrap;grid-area:buy;align-items:center;gap:6px;padding:6px 10px;display:flex}.world-buy .buy-title{color:#fde68a;font-weight:600}.world-map{flex-direction:column;grid-area:map;min-width:0;min-height:0;display:flex}.world-head{align-items:center;gap:8px;padding:8px 10px 0;display:flex}.world-banner{border:1px solid var(--border);background:var(--panel);color:#fdba74;border-radius:6px;flex:1;align-items:center;gap:8px;padding:5px 10px;display:flex}.world-banner.now{color:#fecaca;background:#3a1c1c;border-color:#f87171}.world-banner button{margin-left:auto}.world-legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 14px;padding:0 10px 6px;font-size:12px;display:flex}.world-legend .key{align-items:center;gap:5px;display:inline-flex}.world-legend .sw{border:2px solid;border-radius:3px;width:12px;height:12px}.world-legend .sw.controlled{background:#4ade8033;border-color:#4ade80}.world-legend .sw.accessible{background:#22d3ee33;border-color:#22d3ee}.world-legend .sw.locked{background:#0f172a;border-color:#94a3b8}.world-legend .sw.out_of_reach{background:#0f172a;border-color:#334155}.world-panel .state{background:var(--bg);border-left:3px solid;border-radius:6px;margin:6px 0;padding:5px 8px}.world-panel .state.controlled{color:#bbf7d0;border-color:#4ade80}.world-panel .state.accessible{color:#a5f3fc;border-color:#22d3ee}.world-panel .state.locked,.world-panel .state.out_of_reach{color:#cbd5e1;border-color:#64748b}.world-nav{flex-wrap:wrap;align-items:center;gap:6px;padding:6px 10px;display:flex}.world-board{border:1px solid #1e293b;border-radius:10px;flex:1;width:auto;min-height:0;margin:0 10px 10px;position:relative;overflow:hidden;box-shadow:inset 0 0 40px #000}.world-board3d{touch-action:none;-webkit-user-select:none;user-select:none;position:absolute;inset:0}.world-board3d canvas{cursor:grab;width:100%;height:100%;display:block}.world-board3d.dragging canvas{cursor:grabbing}.board-labels{pointer-events:none;position:absolute;inset:0;overflow:hidden}.board-label{color:#cbd5e1;white-space:nowrap;background:#05080fb8;border:1px solid #94a3b840;border-radius:9px;align-items:center;gap:5px;padding:1px 7px;font-size:12px;display:flex;position:absolute;top:0;left:0}.board-label:empty,.board-label .name{display:none}.board-label.selected .name,.board-label.hover .name{display:inline}.board-label:not(.selected):not(.hover){background:#05080f80;padding:0 5px}.board-label.bare:not(.selected):not(.hover){display:none}.board-label .dots{color:#f87171;letter-spacing:1px;font-size:9px}.board-label .mark{color:#fbbf24;font-weight:700}.board-label .mark.hidden{color:#94a3b8}.board-label .ico{object-fit:contain;width:16px;height:16px}.world-panel .planet .planet-art{object-fit:contain;width:28px;height:28px}.board-label.controlled{color:#dcfce7;border-color:#4ade80}.board-label.accessible{color:#e0f2fe;background:#082f49d9;border-color:#22d3ee}.board-label .act{color:#67e8f9;font-weight:700}.board-label.out_of_reach{opacity:.45}.board-label.locked{opacity:.7;border-color:#94a3b866}.board-label .lock{font-size:10px}.board-label.selected,.board-label.hover{color:#fff;background:#1e293be6;border-color:#fff}.world-panel{background:var(--panel);border-left:1px solid var(--border);flex-direction:column;grid-area:panel;min-height:0;display:flex}.world-panel .panel-body{flex:1;padding:10px 14px;overflow-y:auto}.world-panel h2{margin:0 0 2px}.world-panel h3{margin:0;font-size:13px}.world-panel p{margin:4px 0}.world-panel hr{border:none;border-top:1px solid var(--border);margin:12px 0 8px}.world-panel .report{color:#bbf7d0;background:#1e3a2a;padding:6px 10px}.world-panel .report p{margin:2px 0}.world-panel .report .report-close{float:right;margin-left:8px}.world-panel .strong{color:#fde68a;font-weight:600}.world-panel .danger{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.world-panel .dots{color:#f87171;letter-spacing:2px}.world-panel .problem{color:var(--error)}.world-panel .planet{flex-wrap:wrap;align-items:center;gap:6px;margin:6px 0;display:flex}.world-panel .planet strong{cursor:help;min-width:96px;font-weight:600}.world-panel .slot{align-items:center;gap:4px;display:inline-flex}.world-panel .row{cursor:help;flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:6px 0;display:flex}.world-panel .row .lbl{min-width:96px;color:var(--muted);font-size:12px}.world-panel .res.data{color:#c4b5fd}.world-panel .core{color:#fde68a}.world-panel .slots{gap:3px;display:inline-flex}.world-panel .slot-icon{border:2px solid;border-radius:3px;place-items:center;min-width:20px;height:20px;padding:0 3px;font-size:12px;line-height:1;display:inline-grid}.world-panel .slot-icon.structure{color:#94a3b8}.world-panel .slot-icon.electronics{color:#60a5fa}.world-panel .slot-icon.energy{color:#fbbf24}.world-panel .slot-icon.flexible{color:#f1f5f9}.world-panel .slot-icon.on{background:color-mix(in srgb, currentColor 25%, transparent)}.world-panel .state,.world-panel h2[title]{cursor:help}.chip.res.negative b{color:#e5534b}.fleet-panel .fleet-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}@media (width<=1300px){.fleet-panel .fleet-list{grid-template-columns:repeat(2,minmax(0,1fr))}}.fleet-panel .squad-step{align-items:center;gap:6px;font-size:12px;display:flex}.fleet-panel .squad-step button{width:22px;height:22px;padding:0;font-weight:700;line-height:1}.fleet-panel .squad-pips{gap:3px;display:inline-flex}.fleet-panel .squad-pip{border:1px solid #4ade80;border-radius:50%;width:8px;height:8px}.fleet-panel .squad-pip.on{background:#4ade80}.fleet-panel .ship-card{background:linear-gradient(90deg, #14301f, var(--panel) 60%);border:1px solid #4ade8055;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:8px;padding:6px 8px 6px 6px;display:grid}.fleet-panel .ship-card.sandbox{background:var(--panel);border-color:#fbbf2455}.fleet-panel .ship-card strong{font-size:14px}.fleet-panel .ship-card .bp-stats{gap:2px 10px;font-size:12px}.fleet-panel .ship-pic{object-fit:contain;background:radial-gradient(circle at 50% 40%,#1d2740,#0b0f17);border-radius:6px;display:block}.fleet-panel .bp-info{flex-direction:column;gap:4px;min-width:0;display:flex}.fleet-panel .bp-top{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.fleet-panel .bp-stats{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px;display:flex}.fleet-panel .stat{cursor:help;align-items:baseline;gap:3px;display:inline-flex}.fleet-panel .stat .ico{color:var(--muted)}.fleet-panel .stat.hp .ico{color:#f87171}.fleet-panel .stat.speed .ico{color:#67e8f9}.fleet-panel .stat.weapons .ico{color:#fb923c}.fleet-panel .stat.core .ico{color:#fde68a}.fleet-panel h3 .info{color:var(--muted);cursor:help;font-weight:400}.fleet-panel .bp-grid{grid-template-columns:repeat(auto-fill,116px);gap:6px;display:grid}.fleet-panel .bp-tile{border:1px solid var(--border);cursor:help;border-radius:8px;width:116px;height:116px;position:relative;overflow:hidden}.fleet-panel .bp-tile .ship-pic{border-radius:0;width:100%;height:100%}.fleet-panel .bp-tile.editing{border-color:var(--accent)}.fleet-panel .bp-tile.illegal{border-color:#f8717188}.fleet-panel .bp-size{color:#e2e8f0;background:#0b0f17cc;border-radius:3px;padding:0 4px;font-size:11px;font-weight:700;position:absolute;top:3px;left:4px}.fleet-panel .bp-warn{color:#f87171;text-shadow:0 0 3px #000;font-size:15px;position:absolute;top:2px;right:4px}.fleet-panel .bp-warn.soft{color:#fbbf24}.fleet-panel .bp-infleet{color:#4ade80;font-size:10px;position:absolute;top:22px;left:4px}.fleet-panel .bp-cost{text-align:center;background:#0b0f17cc;padding:2px 4px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.fleet-panel .bp-cost .res-list{gap:5px}.fleet-panel .bp-over{text-align:center;background:#0b0f17dd;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:6px;display:none;position:absolute;inset:0}.fleet-panel .bp-tile:hover .bp-over{display:flex}.fleet-panel .bp-over strong{overflow-wrap:anywhere;font-size:12px}.fleet-panel .bp-over select{padding:1px 4px;font-size:12px}.fleet-panel .bp-over .actions{flex-wrap:nowrap;justify-content:center}.fleet-panel .bp-over button{padding:2px 7px}.fleet-panel .bp-tile.confirming .bp-over{display:flex}.fleet-panel .bp-over button.confirm{color:#fff;background:#7f1d1d;border-color:#f87171}
