.world-map-launch{display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;margin-top:16px;padding:13px 16px;border:1px solid #8faed333;border-radius:12px;background:#233d6129;color:#bad3f4;font:500 .78rem system-ui;cursor:pointer}.world-map-launch:hover{background:#345b943f}.world-map-launch kbd,.world-map kbd{font:11px ui-monospace,monospace;padding:3px 6px;border:1px solid #a0bed344;border-radius:5px}.world-map{width:min(1180px,calc(100vw - 40px));max-width:none;max-height:calc(100dvh - 40px);padding:26px;border:1px solid #8cafd344;border-radius:24px;background:#0d1724;color:#e8f0fc;box-shadow:0 40px 160px #0008;overflow:auto}.world-map::backdrop{background:#030910c9;backdrop-filter:blur(9px)}.world-map[open]{animation:map-open .25s ease-out}.world-map-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.world-map-eyebrow{font:10px/1.5 ui-monospace,monospace;letter-spacing:.16em;color:#94aecb}.world-map h2{font:600 clamp(20px,3vw,29px)/1.2 system-ui;letter-spacing:-.04em;margin:7px 0 0}.world-map-close{width:38px;height:38px;flex-shrink:0;border:1px solid #829fbd33;border-radius:12px;background:#ffffff05;color:inherit;cursor:pointer}.world-map-intro{font:12px/1.6 system-ui;color:#9dafc4;margin:12px 0 22px}.world-map-layout{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:22px}.world-map-scroll{overflow:auto;border:1px solid #a3bdd126;border-radius:16px;background:#405f4b}.world-map-art{min-width:590px}.world-map-art svg{display:block;width:100%;height:auto}.world-map-pin{opacity:.7;transition:opacity .2s}.world-map-pin.selected{opacity:1}.world-map-pin.selected circle{stroke-width:3}.world-map-side{padding:5px 0}.world-map-locations{display:grid;gap:6px;margin-top:14px}.world-map-locations button{display:flex;align-items:center;gap:9px;padding:13px 10px;border:1px solid transparent;border-radius:10px;background:transparent;color:#b5c6da;text-align:left;font:12px system-ui;cursor:pointer}.world-map-locations button[aria-pressed="true"]{background:#233953;border-color:#91b9e433;color:#f0f6ff}.world-map-locations i,.world-map-foot i{display:inline-block;width:7px;height:7px;border-radius:50%;flex-shrink:0}.world-map-locations small{margin-left:auto;font:10px ui-monospace,monospace;color:#91aac6}.world-map-detail{font:12px/1.7 system-ui;color:#96acc5;margin:18px 8px 0}.world-map-foot{display:flex;justify-content:space-between;gap:15px;margin-top:20px;font:10px/1.6 system-ui;color:#91aac6}.world-map-foot i{background:#8ac6f6;margin-right:6px}.world-map button:focus-visible,.world-map-launch:focus-visible{outline:2px solid #b9d8ff;outline-offset:3px}[data-theme="light"] .world-map-launch{color:#294f7b;background:#e8f0fa}[data-theme="light"] .world-map{background:#edf3fa;color:#233950}[data-theme="light"] .world-map-intro,[data-theme="light"] .world-map-detail,[data-theme="light"] .world-map-eyebrow,[data-theme="light"] .world-map-foot{color:#536e89}[data-theme="light"] .world-map-locations button{color:#34506c}[data-theme="light"] .world-map-locations button[aria-pressed="true"]{background:#d7e5f5;color:#193c64}[data-theme="light"] .world-map-locations small{color:#52708d}@keyframes map-open{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@media(max-width:800px){.world-map{padding:18px;width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:18px}.world-map-layout{grid-template-columns:1fr;gap:18px}.world-map-locations{grid-template-columns:1fr 1fr;margin-top:9px}.world-map-art{min-width:590px}.world-map-detail{margin-top:10px}.world-map-foot{flex-wrap:wrap}.world-map-intro{margin-bottom:14px}}@media(prefers-reduced-motion:reduce){.world-map[open]{animation:none}.world-map-pin{transition:none}}

.world-map,.world-map *{box-sizing:border-box}.world-map-pin{cursor:pointer}.world-map-pin:focus-visible{outline:none}.world-map-pin:focus-visible circle{stroke-width:4;stroke-dasharray:none}
@media(max-width:800px){.world-map-intro::after{content:" Na telefonie przesuń mapę palcem, aby zobaczyć resztę terenu."}}

/* Match the HUD dialog's entrance, exit and backdrop timing. */
.world-map[open]{animation:none}
.world-map::backdrop{animation:world-backdrop-in .34s ease both}
.world-map.map-closing::backdrop{animation:world-backdrop-out .24s ease both}
.world-map.map-closing{pointer-events:none}
@keyframes world-backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes world-backdrop-out{from{opacity:1}to{opacity:0}}
