
.deep-mining-link,.traders-link,.join-link{display:inline-flex;align-items:center;text-decoration:none}
:root{color-scheme:dark;--ink:#e7edf3;--muted:#91a3b4;--dim:#5f7180;--map:#0b1117;--panel:#18232d;--panel2:#202e3a;--line:#334554;--orange:#f3a43b;--orange2:#ffd28a;--ice:#62c5dd;--electric:#72e7ff;--electric2:#fff36b;--danger:#ff7272;--ok:#6bd69a;--shadow:0 16px 44px #0009}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--map);color:var(--ink);font:14px/1.4 "Segoe UI",sans-serif}
button,input,select{font:inherit}
button{color:inherit}
.app{position:relative;width:100%;height:100%;isolation:isolate}
.map-stage{position:absolute;inset:0;background:radial-gradient(circle at 53% 45%,#15222d 0,#0b1117 67%)}
#worldMap,#map{position:absolute;inset:0;display:block;width:100%;height:100%}
#worldMap{z-index:0;pointer-events:none}
#map{z-index:1;touch-action:none;cursor:grab}
.world-terrain{opacity:1}
.world-boundary{fill:none;stroke:#dce9ef;stroke-width:1.1;stroke-opacity:.72;vector-effect:non-scaling-stroke}
.world-overlay{--world-zone-opacity:1}
.world-overlay.terrain-visible{--world-zone-opacity:.7}
.world-zone{fill-opacity:1;opacity:var(--world-zone-opacity);stroke:transparent;stroke-width:0;vector-effect:non-scaling-stroke;mix-blend-mode:multiply}
.world-zone-label{font:700 16px/1 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.02em;fill:#fff;stroke:#05080b;paint-order:stroke fill;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
#map.dragging{cursor:grabbing}
#map.navigating .structure-outline,#map.navigating .structure-wall,#map.navigating .ore-vein,#map.navigating .ore-chunks,#map.navigating .device-map-icon,#map.navigating .device-marker,#map.navigating .controller-marker,#map.navigating .player-marker,#map.navigating .player-map-icon,#map.navigating .room-cell,#map.navigating .room-leak,#map.navigating .room-leak-point,#map.navigating .burn-ring,#map.navigating .item-ring,#map.navigating .item-map-icon{filter:none}
.grid-minor{stroke:#30414f;stroke-width:.025;opacity:.34}
.grid-major{stroke:#60798d;stroke-width:.045;opacity:.38}
.axis-line{stroke:var(--orange);stroke-width:.065;opacity:.42}
.structure-floor{fill:#7890a03d;stroke:#bed0da24;stroke-width:.7;vector-effect:non-scaling-stroke;pointer-events:none}
.structure-floor.alt{fill:#8299a947}
.structure-outline{fill:none;stroke:#d2e0e7a8;stroke-width:1.7;stroke-linecap:square;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #081018);pointer-events:none}
.structure-wall{fill:none;stroke:#d9e5eb8f;stroke-width:2.4;stroke-linecap:square;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px #071017);pointer-events:none}
.structure-wall.unknown{fill:#a9bbc552;stroke:#d9e5eb8f;stroke-width:1.2}
.room-cell{pointer-events:none;vector-effect:non-scaling-stroke}
.room-cell.open{fill:#ff344d46;stroke:#ff5368;stroke-width:3;stroke-dasharray:7 4;filter:drop-shadow(0 0 7px #ff304c)}
.room-cell.sealed{fill:#56e7c735;stroke:#79f3da;stroke-width:2;filter:drop-shadow(0 0 5px #45d9bd)}
.room-leak{stroke:#ff243f;stroke-width:6;stroke-linecap:round;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 6px #ff132f);pointer-events:none}
.room-leak-point{fill:#fff;stroke:#ff243f;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #ff132f);pointer-events:none}
#map.room-mode .infra,#map.room-mode .device-marker,#map.room-mode .controller-marker,#map.room-mode .logic-edge{opacity:.12}
#map.room-mode .room-cell,#map.room-mode .room-leak,#map.room-mode .room-leak-point{opacity:1}
.infra{cursor:pointer;transition:opacity .12s}
.infra:hover{opacity:1}
.infra.power-dim{opacity:.055}
.infra.power-network-cable{fill:var(--electric2);opacity:1;stroke:#fffbd0;stroke-width:2.5;vector-effect:non-scaling-stroke}
.infra.power-network-machine{fill:var(--electric);opacity:1;stroke:#eaffff;stroke-width:2.5;vector-effect:non-scaling-stroke}
.infra-machine{fill:#c7d3dc;opacity:.5}
.infra-cable{fill:#ef5f57;opacity:.77}
.infra-gas{fill:#f0a23c;opacity:.82}
.infra-liquid{fill:#4caee5;opacity:.85}
.infra-chute{fill:#aebbc5;opacity:.75}
.burn-marker{cursor:pointer}
.burn-ring{fill:#ff2f2f24;stroke:#ff3b3b;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #ff2020)}
.burn-core{fill:#ff3030;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.burn-cross{stroke:#fff;stroke-width:2;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.item-marker{cursor:pointer}
.item-ring{fill:#ff4fd822;stroke:#ff67df;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px #ff38d1)}
.item-core{fill:#fff27a;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.item-map-icon{pointer-events:none;filter:drop-shadow(0 0 3px #000)}
#map.item-mode .infra,#map.item-mode .device-marker,#map.item-mode .controller-marker,#map.item-mode .logic-edge{opacity:.13}
#map.item-mode .item-marker{opacity:1}
.logic-edge{fill:none;stroke-width:1;vector-effect:non-scaling-stroke;opacity:.18}
.logic-edge.active{stroke-width:2;opacity:.88}
.logic-edge.power-dim{opacity:.025}
.device-marker{cursor:pointer;stroke:#f1f6f9;stroke-width:1.5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #000)}
.device-marker.tank-marker{stroke:#55d6be;stroke-width:2.4;filter:drop-shadow(0 0 5px rgba(85,214,190,.45))}
.device-map-icon{pointer-events:none;filter:drop-shadow(0 0 3px #000)}
.device-map-icon.dim{opacity:.18}
.device-map-icon.power-dim{opacity:.055}
.device-map-icon.power-network-device{opacity:1}
#map.room-mode .device-map-icon,#map.item-mode .device-map-icon{opacity:.13}
.device-marker.dim{opacity:.12}
.device-marker.power-dim,.controller-marker.power-dim{opacity:.055}
.device-marker.power-network-device,.controller-marker.power-network-device{stroke:var(--electric2);stroke-width:3;opacity:1}
.controller-marker{cursor:pointer;stroke:#fff;stroke-width:2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 4px #000)}
.controller-marker.error{stroke:var(--danger);stroke-width:2.5}
.player-marker{cursor:pointer}
.player-ring{fill:#65ecff22;stroke:#8df6ff;stroke-width:4;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 7px #36d7ef)}
.player-core{fill:#07141b;stroke:#fff;stroke-width:1.5;vector-effect:non-scaling-stroke}
.player-map-icon{pointer-events:none;filter:drop-shadow(0 0 4px #000)}
.map-label{font:600 .72px/1 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.025em;fill:#f5f8fa;pointer-events:none}
.map-label.subtle{fill:#d9e5eb;font-weight:500}
.map-label.tank{fill:#d9fff8;font-weight:700}
.map-label.player{fill:#b7faff;font-weight:700}
.label-plate{fill:#0a1118ee;stroke:#5a7080;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.label-plate.controller{stroke:var(--orange)}
.label-plate.player{stroke:#8df6ff}
.label-leader{fill:none;stroke:#d5e1e8;opacity:.9;pointer-events:none}
.connection-link{display:grid;grid-template-columns:9px 1fr;gap:8px;width:100%;margin-bottom:5px;padding:8px;border:1px solid #31424f;background:#111a22;color:inherit;text-align:left;cursor:pointer}
.connection-link:hover,.connection-link:focus{border-color:var(--orange);background:#202e3a;outline:0}
.connection-link i{width:7px;height:7px;margin-top:4px;transform:rotate(45deg)}
.connection-link b{display:block;font-size:11px;font-weight:500}
.connection-link small{display:block;color:var(--muted);font-size:10px}
.item-location{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;margin-bottom:5px;padding:8px;border:1px solid #31424f;background:#111a22;color:inherit;text-align:left;cursor:pointer}
.item-location:hover,.item-location:focus{border-color:#ff67df;background:#2c2030;outline:0}
.item-location b,.item-location small{display:block}
.item-location b{font-size:11px;font-weight:500}
.item-location small{color:var(--muted);font-size:9px}
.item-location em{align-self:center;color:#fff27a;font:600 10px Consolas,monospace;font-style:normal}
.topbar{position:absolute;z-index:20;left:18px;right:18px;top:16px;height:52px;display:grid;grid-template-columns:minmax(350px,1fr) minmax(220px,440px) minmax(250px,1fr);align-items:center;gap:16px;pointer-events:none}
.brand,.search-shell,.save-chip,.panel,.map-tools,.coordinates,.legend,.tooltip,.action-button,.language-switch,.toast{background:#18232de8;border:1px solid #40515f;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.brand-cluster{justify-self:start;display:flex;gap:7px;pointer-events:auto}
.brand,.mode-tab{width:170px;height:52px;display:flex;align-items:center;gap:12px;padding:0 16px;clip-path:polygon(0 0,calc(100% - 13px) 0,100% 13px,100% 100%,0 100%)}
.brand-mark{display:grid;place-items:center;width:27px;height:27px;background:var(--orange);color:#17202a;font:800 15px/1 Consolas,monospace;transform:rotate(45deg)}
.brand-mark span{transform:rotate(-45deg)}
.brand-copy strong{display:block;font:600 17px/1 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.brand-copy small{display:block;margin-top:4px;color:var(--muted);font:10px/1.1 Consolas,monospace;letter-spacing:.05em}
.mode-tab{color:var(--ink);background:#18232de8;border:1px solid #40515f;box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.mode-tab:hover,.mode-tab:focus{border-color:var(--orange);background:#30271d;outline:0}
.mode-mark{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;background:#233441;border:1px solid var(--orange);color:var(--orange);font:800 14px/1 Consolas,monospace;transform:rotate(45deg)}
.mode-mark span{transform:rotate(-45deg)}
.mode-tab.wide{width:196px}
.mode-title{display:flex;align-items:center;gap:6px}
.mode-title strong{display:inline-block}
.beta{padding:1px 5px;border:1px solid #f3a43b66;background:#f3a43b1f;color:var(--orange2);font:700 8px/1.45 Consolas,monospace;font-style:normal;letter-spacing:.1em}
.search-area{position:relative;pointer-events:auto}
.search-shell{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border-radius:4px}
.search-shell:focus-within{border-color:var(--orange)}
.search-icon{color:var(--orange);font-size:19px}
#search{width:100%;border:0;outline:0;background:transparent;color:var(--ink)}
#search::placeholder{color:#8294a4}
.search-key{color:var(--dim);font:10px Consolas,monospace;border:1px solid var(--line);padding:2px 5px}
.search-results{position:absolute;top:52px;left:0;right:0;display:none;max-height:390px;overflow:auto;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}
.search-results.open{display:block}
.result{width:100%;border:0;border-bottom:1px solid #2c3b47;background:transparent;color:inherit;text-align:left;padding:10px 12px;cursor:pointer}
.result:hover,.result:focus{background:var(--panel2);outline:0}
.result strong{display:block;font-weight:500}
.result small{color:var(--muted)}
.result.item-result,.result.device-result{display:grid;grid-template-columns:42px minmax(0,1fr);gap:10px;align-items:center}
.result.item-result{border-left:3px solid #ff67df}
.result.device-result{border-left:3px solid var(--ice)}
.result-tag{float:right;margin-left:8px;padding:2px 5px;border:1px solid #a84291;color:#ff9be9;font:9px Consolas,monospace}
.item-icon{display:block;width:38px;height:38px;object-fit:contain;padding:3px;border:1px solid #3e4d58;background:#0c141a}
.item-detail-head{display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;align-items:center;margin-bottom:14px}
.item-detail-head .item-icon{width:72px;height:72px;padding:6px;border-color:#a84291;background:#111019}
.device-detail-head .item-icon{border-color:#4b9db2;background:#0d171d}
.item-detail-head .detail-kicker{margin-bottom:0}
mark{background:transparent;color:var(--orange2)}
.save-chip{justify-self:end;min-width:250px;height:44px;padding:7px 13px;pointer-events:auto}
.save-chip b{display:block;font:500 11px Consolas,monospace;color:var(--orange2)}
.save-chip span{display:block;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{justify-self:end;display:flex;align-items:center;gap:7px;pointer-events:auto}
.language-switch{height:44px;display:flex;align-items:center;padding:3px;gap:2px}
.language-switch button{height:36px;min-width:34px;padding:0 8px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:700 10px Consolas,monospace}
.language-switch button:hover,.language-switch button:focus{color:var(--ink);outline:1px solid var(--line)}
.language-switch button.active{background:var(--orange);color:#17202a;box-shadow:inset 0 0 0 1px #ffcb86}
.action-button{height:44px;padding:0 12px;color:var(--ink);cursor:pointer;font:600 10px Consolas,monospace;letter-spacing:.03em;text-transform:uppercase}
.action-button:hover,.action-button:focus,.action-button.active{border-color:var(--orange);background:#30271d;outline:0}
.action-button.danger.active{border-color:#ff4b4b;background:#481f24;color:#fff}
.action-button:disabled{cursor:wait;opacity:.55}
.action-button .badge{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:5px;padding:0 5px;border-radius:9px;background:#101820;color:var(--orange2)}
.action-button.danger .badge{color:#fff;background:#b7252f}
.panel{position:absolute;z-index:15;top:82px;bottom:62px;width:306px;overflow:hidden}
.layers-panel{left:18px}
.detail-panel{right:18px;transform:translateX(calc(100% + 28px));transition:transform .2s ease}
.detail-panel.open{transform:none}
.panel-head{height:53px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line)}
.panel-head strong{font:600 14px "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.08em;text-transform:uppercase}
.panel-head small{font:10px Consolas,monospace;color:var(--orange)}
.panel-scroll{height:calc(100% - 53px);overflow:auto;padding:14px}
.field{display:grid;gap:5px;margin-bottom:12px}
.field label,.section-label{color:var(--muted);font:10px Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}
select{width:100%;height:36px;padding:0 9px;color:var(--ink);background:#111a22;border:1px solid var(--line);outline:0;color-scheme:dark}
select option{color:#f1f6fa;background:#111a22}
select option:checked{color:#08141a;background:#79c4f2}
select:focus{border-color:var(--orange)}
.power-field select{border-color:#3f7180;background:linear-gradient(90deg,#10232b,#111a22)}
.power-field select:focus{border-color:var(--electric)}
.room-field select{border-color:#74404c;background:linear-gradient(90deg,#29171d,#111a22)}
.room-field select:focus{border-color:#ff5368}
.ore-field{padding:10px;border:1px solid #315c68;border-left:3px solid var(--ice);background:linear-gradient(145deg,#10232b,#111a22)}
.ore-field[hidden]{display:none}
.deep-mining-field{padding:10px;border:1px solid #4d5064;border-left:3px solid var(--orange);background:linear-gradient(145deg,#211d24,#111a22)}
.deep-mining-field[hidden]{display:none}
.deep-mining-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
.ore-field select{border-color:#3f7180;background:#0e2029}
.ore-summary{display:grid;gap:6px;margin-top:8px;color:#82aab5;font:9px/1.4 Consolas,monospace}
.ore-summary-total strong{color:var(--electric);font-size:15px}
.ore-summary-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.ore-summary-sizes span{display:grid;padding:5px 3px;border:1px solid #2e4d57;background:#0d1920;text-align:center}
.ore-summary-sizes b{color:#e9fbff;font-size:11px}
.ore-summary-note{margin:7px 0 0;color:#66828c;font:8px/1.45 Consolas,monospace}
.ore-remaining-toggle{display:flex;align-items:center;gap:7px;margin-top:8px;color:#b8d6de;font:9px/1.35 Consolas,monospace}
.ore-remaining-toggle input{accent-color:var(--ice)}
.ore-quick-filter{position:absolute;z-index:18;top:78px;right:72px;width:390px;padding:8px 9px;border:1px solid #477b88;background:#101c24ed;box-shadow:var(--shadow);backdrop-filter:blur(12px);pointer-events:auto}
.ore-quick-filter[hidden]{display:none}
.ore-quick-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px;color:#bfe8f1;font:700 9px/1 Consolas,monospace;letter-spacing:.1em}
.ore-quick-actions{display:flex;gap:4px}
.ore-quick-actions button{padding:2px 6px;border:1px solid #365864;background:#0b151c;color:#8fb7c1;font:700 8px/1.2 Consolas,monospace;cursor:pointer}
.ore-quick-actions button:hover,.ore-quick-actions button:focus{border-color:var(--ice);color:#fff;outline:0}
.ore-checks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px 7px}
.ore-check{display:flex;align-items:center;min-width:0;gap:5px;color:#cadce1;font:600 9px/1.25 Rajdhani,Arial,sans-serif;white-space:nowrap;cursor:pointer}
.ore-check input{width:11px;height:11px;margin:0;accent-color:var(--ice)}
.ore-check-dot{flex:0 0 auto;width:7px;height:7px;border:1px solid #eafaff88;border-radius:50%;box-shadow:0 0 4px currentColor}
.ore-check-name{overflow:hidden;text-overflow:ellipsis}
.ore-vein{cursor:pointer;stroke:#f7fcff;stroke-width:2.2;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 5px #000c)}
.ore-vein-core{pointer-events:none;fill:#08131b;stroke:#fff9;stroke-width:1;vector-effect:non-scaling-stroke}
.ore-vein.selected{stroke:var(--orange2);stroke-width:4;filter:drop-shadow(0 0 7px var(--orange))}
.ore-chunks{cursor:pointer;stroke:#071017;stroke-width:1.1;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #000d)}
.ore-chunks.selected{stroke:var(--orange2);stroke-width:2.5;filter:drop-shadow(0 0 6px var(--orange))}
.room-note{display:none;margin:-4px 0 14px;padding:9px 10px;border-left:3px solid #ff5368;background:#29171d;color:#d9a9b2;font:9px/1.45 Consolas,monospace}
.room-note.open{display:block}
.power-panel{display:none;margin:2px 0 16px;border:1px solid #376d79;background:linear-gradient(145deg,#10232b,#111a22)}
.power-panel.open{display:block}
.power-summary{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid #315560}
.power-metric{padding:10px 11px}
.power-metric+.power-metric{border-left:1px solid #315560}
.power-metric b{display:block;color:var(--electric2);font:600 17px/1 Consolas,monospace}
.power-metric small{display:block;margin-top:5px;color:#91bac5;font:9px Consolas,monospace;text-transform:uppercase;letter-spacing:.06em}
.power-note{padding:8px 11px;color:#7fa8b3;font:9px/1.4 Consolas,monospace;border-bottom:1px solid #315560}
.power-consumers{display:grid;max-height:310px;overflow:auto}
.power-row{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:7px;align-items:center;width:100%;padding:8px 9px;border:0;border-bottom:1px solid #243e46;background:transparent;color:inherit;text-align:left;cursor:pointer}
.power-row:hover,.power-row:focus{background:#18343e;outline:0}
.power-rank{color:#5c8d99;font:9px Consolas,monospace}
.power-row b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:500}
.power-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#72949d;font-size:9px}
.power-watts{text-align:right;color:var(--electric2);font:600 10px Consolas,monospace}
.power-watts small{color:#60818a;font-weight:400}
.region-tabs{display:grid;grid-template-columns:repeat(auto-fit,minmax(92px,1fr));gap:5px;max-height:190px;margin-bottom:14px;overflow:auto;scrollbar-color:#607484 #111a22}
.region-tab{display:grid;grid-template-columns:1fr auto;align-items:center;gap:5px;min-height:42px;padding:7px 8px;border:1px solid var(--line);background:#111a22;color:var(--muted);cursor:pointer;font-size:11px;text-align:left}
.region-tab small{color:var(--dim);font:9px Consolas,monospace}
.region-tab.active{border-color:var(--orange);color:var(--ink);background:#30271d}
.section-label{display:flex;justify-content:space-between;margin:18px 0 8px}
.section-label span:last-child{color:var(--dim)}
.layer-list{display:grid;gap:5px}
.layer-row{display:grid;grid-template-columns:32px 1fr auto;align-items:center;min-height:42px;padding:5px 9px;border:1px solid #2f3f4c;background:#121b23;cursor:pointer}
.layer-row:hover{border-color:#536777}
.layer-row input{position:absolute;opacity:0;pointer-events:none}
.layer-icon{display:grid;place-items:center;width:22px;height:22px;border:1px solid #455968;color:var(--muted);font:700 10px Consolas,monospace}
.layer-row:has(input:checked){background:#1e2b35;border-color:#5b7181}
.layer-row:has(input:checked) .layer-icon{background:var(--orange);border-color:var(--orange);color:#17202a}
.layer-name{font-size:12px}
.layer-count{color:var(--dim);font:10px Consolas,monospace}
.controller-list{display:grid;gap:4px}
.controller-row{display:grid;grid-template-columns:8px 1fr;gap:9px;width:100%;padding:9px;border:0;border-left:2px solid transparent;background:#111a22;color:inherit;text-align:left;cursor:pointer}
.controller-row:hover,.controller-row.active{background:#23313d;border-left-color:var(--orange)}
.controller-dot{width:7px;height:7px;margin-top:5px;transform:rotate(45deg)}
.controller-row b{display:block;font-size:12px;font-weight:500}
.controller-row small{display:block;color:var(--muted);font-size:10px}
.close{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}
.close:hover{color:var(--ink)}
.detail-title{margin:0;font:600 20px/1.15 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif}
.detail-kicker{margin:5px 0 14px;color:var(--orange);font:10px Consolas,monospace;text-transform:uppercase}
.detail-copy{color:#becbd4}
.detail-grid{display:grid;grid-template-columns:96px 1fr;gap:7px 10px;padding:12px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-grid dt{color:var(--muted);font-size:11px}
.detail-grid dd{margin:0;word-break:break-word;font:11px Consolas,monospace}
.status-error{color:var(--danger)}
.status-ok{color:var(--ok)}
.detail-section{margin-top:17px}
.detail-section h3{margin:0 0 8px;color:var(--muted);font:10px Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}
.tank-species{display:flex;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.tank-species span{color:var(--muted);text-align:right}
.pin,.target{padding:7px 8px;border-left:2px solid var(--line);background:#111a22;margin-bottom:5px;font-size:11px}
.pin code{color:var(--orange2)}
pre{max-height:290px;margin:0;overflow:auto;white-space:pre-wrap;word-break:break-word;padding:10px;background:#0c141a;border:1px solid var(--line);font:10px/1.35 Consolas,monospace}
.map-tools{position:absolute;z-index:13;right:18px;bottom:76px;display:grid;width:42px;pointer-events:auto}
.map-tools button{height:40px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;font:18px Consolas,monospace}
.map-tools button:last-child{border-bottom:0}
.map-tools button:hover{background:var(--panel2);color:var(--orange)}
.north-arrow{position:absolute;z-index:12;right:22px;top:84px;display:grid;justify-items:center;width:34px;color:#f2a43a;filter:drop-shadow(0 2px 4px #000);pointer-events:none}
.north-arrow b{font:700 15px/1 Consolas,monospace}
.north-arrow span{display:block;width:0;height:0;margin-top:4px;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:25px solid #f2a43a}
.coordinates{position:absolute;z-index:12;left:338px;bottom:16px;height:34px;display:flex;align-items:center;gap:12px;padding:0 11px;color:var(--muted);font:10px Consolas,monospace;pointer-events:none}
.coordinates b{color:var(--orange2);font-weight:500}
.legend{position:absolute;z-index:12;left:50%;bottom:16px;transform:translateX(-50%);display:flex;gap:13px;align-items:center;max-width:50%;height:34px;padding:0 11px;overflow:hidden;pointer-events:none}
.legend-item{display:flex;align-items:center;gap:5px;white-space:nowrap;color:#b8c7d1;font-size:10px}
.swatch{width:8px;height:8px;transform:rotate(45deg)}
.tooltip{position:absolute;z-index:30;display:none;max-width:260px;padding:8px 10px;background:#111a22f2;border:1px solid #536777;box-shadow:var(--shadow);pointer-events:none}
.tooltip.open{display:block}
.tooltip b{display:block;font-size:12px;font-weight:500}
.tooltip small{color:var(--muted);font:10px Consolas,monospace}
.footer-links{position:absolute;z-index:12;right:72px;bottom:16px;display:flex;align-items:stretch;gap:6px;height:38px;max-width:calc(100% - 430px)}
.map-source{display:flex;align-items:center;height:38px;max-width:290px;padding:5px 8px;color:#8296a5;background:#111a22d9;border:1px solid #40515f;text-decoration:none;font:9px/1.35 Consolas,monospace;backdrop-filter:blur(10px)}
.map-source strong{color:var(--orange2);font-weight:600}
.map-source:hover,.map-source:focus{border-color:var(--orange);color:#b7c6d0;outline:0}
.about-attribution{height:auto;max-width:none;min-height:38px;margin-top:14px}
.about-button{flex:0 0 auto;height:38px;min-width:70px;padding:5px 10px;border:1px solid #40515f;background:#111a22d9;color:#a9bac6;cursor:pointer;font:700 9px/1.35 Consolas,monospace;letter-spacing:.08em;text-transform:uppercase;backdrop-filter:blur(10px)}
.footer-traders,.footer-join{display:grid;place-items:center;text-decoration:none}
.about-button:hover,.about-button:focus{border-color:var(--orange);background:#30271d;color:var(--orange2);outline:0}
.about-dialog{width:min(390px,calc(100% - 32px));padding:0;border:0;background:transparent;color:var(--ink)}
.about-dialog::backdrop{background:#03070bd9;backdrop-filter:blur(5px)}
.about-card{position:relative;padding:28px;border:1px solid #536777;background:linear-gradient(145deg,#1b2934,#0e171e);box-shadow:0 24px 80px #000c;clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,0 100%)}
.about-kicker{margin-bottom:9px;color:var(--orange);font:700 9px/1 Consolas,monospace;letter-spacing:.16em}
.about-title{margin:0 0 22px;font:600 25px/1 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.06em;text-transform:uppercase}
.about-identity{display:grid;gap:1px;border:1px solid #334554;background:#0b131a}
.about-row{display:grid;grid-template-columns:105px 1fr;gap:14px;align-items:center;padding:12px 14px}
.about-row+.about-row{border-top:1px solid #334554}
.about-row span{color:#7f93a2;font:9px/1.3 Consolas,monospace;letter-spacing:.08em;text-transform:uppercase}
.about-row strong{font:600 15px/1.2 "Bahnschrift SemiCondensed","Arial Narrow",sans-serif;letter-spacing:.04em}
.about-row code{color:var(--orange2);font:12px/1.2 Consolas,monospace}
.about-close{position:absolute;top:12px;right:17px;width:32px;height:32px;border:0;background:transparent;color:var(--muted);cursor:pointer;font:22px/1 Consolas,monospace}
.about-close:hover,.about-close:focus{color:var(--orange2);outline:1px solid var(--orange)}
.version-badge{position:absolute;z-index:12;right:18px;bottom:18px;color:#8fa1af;font:600 9px/1 Consolas,monospace;letter-spacing:.08em;pointer-events:none;text-shadow:0 1px 3px #000}
.toast{position:absolute;z-index:40;left:50%;bottom:62px;max-width:min(520px,calc(100% - 30px));padding:10px 14px;transform:translate(-50%,20px);opacity:0;pointer-events:none;color:var(--ink);font:11px Consolas,monospace;transition:opacity .18s,transform .18s}
.toast.open{transform:translate(-50%,0);opacity:1}
.toast.error{border-color:var(--danger);color:#ffd4d4}
.empty-start{position:absolute;z-index:13;left:50%;top:50%;width:min(430px,calc(100% - 36px));padding:30px 26px;transform:translate(-50%,-50%);text-align:center;background:#111b24ee;border:1px solid var(--line);box-shadow:var(--shadow)}
.empty-start[hidden]{display:none}
.empty-start strong{display:block;margin-bottom:8px;color:var(--ink);font:600 18px Rajdhani,Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}
.empty-start p{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.6}
.empty-start .save-path{display:block;margin:0 0 20px;padding:9px 11px;overflow-wrap:anywhere;border:1px solid #334554;background:#0b141c;color:#cbd8e1;font:11px/1.45 Consolas,"Courier New",monospace}
.empty-start button{height:42px;padding:0 18px;border:1px solid var(--orange);background:#291b10;color:var(--orange2);font:600 12px Rajdhani,Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}
.empty-actions{display:flex;flex-wrap:wrap;gap:8px}
.empty-actions .secondary{border-color:#477b88;background:#10232b;color:#bfe8f1}
.empty{padding:18px 0;color:var(--muted);font-size:12px}
.mobile-layers{display:none}
@media(max-width:1500px){.save-chip{display:none}.topbar{grid-template-columns:minmax(350px,1fr) minmax(220px,420px) auto}}
@media(max-width:1050px){.topbar{grid-template-columns:auto minmax(250px,1fr) auto}.detail-panel{width:300px}.legend{display:none}.action-button{padding:0 9px}.action-button .text{display:none}}
@media(max-width:1250px){.save-chip{display:none}.topbar{grid-template-columns:minmax(350px,1fr) minmax(220px,420px) auto}.action-button{padding:0 9px}.action-button .text{display:none}.traders-link,.join-link{width:52px;padding:0 12px}.traders-link .brand-copy,.join-link .brand-copy{display:none}}
@media(max-width:760px){.topbar{left:10px;right:10px;top:10px;height:auto;grid-template-columns:1fr auto}.brand-cluster{display:none}.search-area{grid-column:1}.top-actions{grid-column:2}.action-button{width:42px;padding:0}.ore-quick-filter{top:67px;left:10px;right:auto;width:min(390px,calc(100% - 20px))}.ore-checks{grid-template-columns:repeat(3,minmax(0,1fr))}.layers-panel{left:10px;top:68px;bottom:55px;transform:translateX(calc(-100% - 20px));transition:transform .2s ease}.layers-panel.open{transform:none}.detail-panel{right:10px;top:68px;bottom:55px;width:calc(100% - 20px)}.mobile-layers{display:block;position:absolute;z-index:14;left:10px;bottom:10px;height:38px;padding:0 13px;border:1px solid var(--line);background:var(--panel);color:var(--ink)}.coordinates{left:10px;right:58px;bottom:10px;justify-content:flex-end}.map-tools{right:10px;bottom:55px}.footer-links{right:58px;bottom:10px;max-width:none}.about-button{height:38px}.panel{width:min(306px,calc(100% - 20px))}}
@media(prefers-reduced-motion:reduce){.detail-panel,.layers-panel,.toast{transition:none}}
