.view-tabs .world-map-link { flex:0 0 auto; padding:10px 13px; border:1px solid var(--line-strong); border-radius:5px; color:var(--gold-bright); font-size:9px; font-weight:800; text-decoration:none; }
#guide-world-map { color:var(--paper); font-size:14px; line-height:1.5; }
#guide-world-map [hidden] { display:none !important; }
#guide-world-map .gwm-controls { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
#guide-world-map label { display:grid; flex:1 1 220px; min-width:0; gap:5px; color:var(--paper); }
#guide-world-map input, #guide-world-map select { width:100%; min-width:0; min-height:44px; padding:9px 11px; border:1px solid var(--line-strong); border-radius:5px; background:var(--panel); color:var(--paper); font:inherit; font-size:16px; }
#guide-world-map button { min-height:44px; padding:8px 13px; border:1px solid var(--line-strong); border-radius:5px; background:var(--panel); color:var(--paper); font:inherit; cursor:pointer; }
#guide-world-map button:hover { background:var(--panel-2); border-color:var(--gold); }
#guide-world-map button:disabled { opacity:.4; cursor:default; }
#guide-world-map :focus-visible, .world-map-link:focus-visible { outline:2px solid var(--gold-bright); outline-offset:3px; }
#guide-world-map .gwm-zoom { display:flex; align-items:center; gap:7px; flex-wrap:wrap; }
#guide-world-map output { min-width:46px; text-align:center; font-variant-numeric:tabular-nums; }
#guide-world-map .gwm-status, #guide-world-map .gwm-legend { margin:12px 0; color:#a9b6ac; font-size:12px; }
#guide-world-map .gwm-canvas { display:block; width:100%; height:540px; border:1px solid var(--line-strong); background:var(--panel); touch-action:none; cursor:grab; user-select:none; }
#guide-world-map .gwm-canvas.is-dragging { cursor:grabbing; }
#guide-world-map .gwm-route { fill:none; stroke:var(--muted); stroke-width:1.2; opacity:.6; }
#guide-world-map .gwm-route.is-connected { stroke:var(--gold-bright); stroke-width:2; opacity:1; }
#guide-world-map .gwm-route.is-dimmed { opacity:.22; }
#guide-world-map .gwm-column { fill:#a9b6ac; font-size:13px; }
#guide-world-map .gwm-node rect { fill:var(--panel); stroke:var(--line-strong); }
#guide-world-map .gwm-node.town rect { fill:#2e3022; }
#guide-world-map .gwm-node.dungeon rect { fill:#282331; }
#guide-world-map .gwm-node.new-zone rect { stroke-dasharray:5 3; }
#guide-world-map .gwm-node.is-selected rect, #guide-world-map .gwm-node:focus rect { stroke:var(--gold-bright); stroke-width:3; }
#guide-world-map .gwm-node text { fill:var(--paper); font:14px Inter,ui-sans-serif,system-ui,sans-serif; }
#guide-world-map .gwm-node .gwm-kind, #guide-world-map .gwm-node .gwm-level { font-size:12px; fill:#c1c5b9; }
#guide-world-map .gwm-details { padding:16px 0; border-top:1px solid var(--line); }
#guide-world-map h3 { margin:0 0 5px; color:var(--gold-bright); font-size:20px; }
#guide-world-map [data-map-meta] { margin:0; color:#a9b6ac; }
#guide-world-map .gwm-connections { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:18px 26px; margin:18px 0; }
#guide-world-map .gwm-connection a { color:var(--gold-bright); display:inline-block; padding:4px 0; }
#guide-world-map .gwm-connection p { margin:3px 0; overflow-wrap:anywhere; }
#guide-world-map details { color:#c1c5b9; }
#guide-world-map summary { cursor:pointer; min-height:32px; }
#guide-world-map [data-map-extra] p { margin:8px 0; overflow-wrap:anywhere; }
#guide-world-map .gwm-poster a { color:var(--gold-bright); }
#guide-world-map .gwm-fallback img { display:block; width:100%; height:auto; }
@media(max-width:600px) { #guide-world-map .gwm-canvas { height:410px; } #guide-world-map .gwm-controls label { flex-basis:100%; } }
