/* The map is a visual stage selector; all nodes stay playable. */
.bs-levels.bs-worldmap{display:block;max-height:430px;padding:0 10px 12px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d7cee4 transparent;--wm-card:#fff;--wm-text:#6e667a;--wm-muted:#b4aabe;--wm-node:#fff;--wm-line:#ece6f2}
.bs-worldmap .wm-chapter{position:relative;margin:0 0 9px;padding:16px 13px 11px;border:1px solid var(--wm-line);border-radius:14px;background:linear-gradient(140deg,var(--zone-tint),var(--wm-card) 85%);overflow:hidden}
.bs-worldmap .wm-chapter:last-child{margin-bottom:0}
.bs-worldmap .wm-chapter.is-current{border-color:color-mix(in srgb,var(--zone-color) 35%,var(--wm-line));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--zone-color) 8%,transparent)}
.bs-worldmap .wm-heading{display:flex;align-items:center;gap:9px}
.bs-worldmap .wm-zone-icon{display:grid;place-items:center;width:31px;height:31px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--zone-color) 20%,transparent);border-radius:10px;background:color-mix(in srgb,var(--zone-color) 11%,var(--wm-card));color:var(--zone-color);font-size:19px}
.bs-worldmap .wm-heading small{display:block;margin-bottom:3px;color:var(--zone-color);font-size:6px;letter-spacing:1.5px;font-weight:700}
.bs-worldmap .wm-heading h3{margin:0;color:var(--wm-text);font-size:12px;font-weight:700;letter-spacing:-.3px}
.bs-worldmap .wm-zone-progress{margin-left:auto;color:var(--wm-muted);font-size:9px;font-variant-numeric:tabular-nums}
.bs-worldmap .wm-trail{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;min-height:82px;margin:12px -3px 0}
.bs-worldmap .wm-path{position:absolute;inset:0;width:100%;height:78px;overflow:visible;pointer-events:none}
.bs-worldmap .wm-path path{fill:none;stroke:color-mix(in srgb,var(--zone-color) 25%,var(--wm-card));stroke-width:2;stroke-dasharray:3 5;stroke-linecap:round}
.bs-worldmap .wm-stop{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:0;padding-top:4px}
.bs-worldmap .wm-stop:nth-child(odd){padding-top:22px}
.bs-worldmap .wm-trail.is-alternate .wm-stop:nth-child(odd){padding-top:4px}
.bs-worldmap .wm-trail.is-alternate .wm-stop:nth-child(even){padding-top:22px}
.bs-worldmap .wm-trail.is-alternate .wm-path{transform:scaleY(-1);transform-origin:center 33px}
.bs-worldmap .wm-node.bs-level{display:grid;place-items:center;position:relative;width:40px;height:40px;min-width:32px;min-height:32px;max-width:100%;padding:0;border:1px solid color-mix(in srgb,var(--zone-color) 23%,var(--wm-line));border-radius:50%;background:var(--wm-node);color:color-mix(in srgb,var(--zone-color) 65%,var(--wm-text));font-size:11px;font-weight:700;box-shadow:0 3px 0 color-mix(in srgb,var(--zone-color) 10%,transparent);transition:transform .18s,box-shadow .18s}
.bs-worldmap .wm-node.bs-level:hover{transform:translateY(-3px);border-color:var(--zone-color);background:var(--wm-node);box-shadow:0 6px 0 color-mix(in srgb,var(--zone-color) 10%,transparent)}
.bs-worldmap .wm-node.bs-level.is-cleared{background:color-mix(in srgb,var(--zone-color) 18%,var(--wm-node));color:var(--zone-color);border-color:color-mix(in srgb,var(--zone-color) 35%,var(--wm-line))}
.bs-worldmap .wm-node.bs-level[aria-current=step]{background:var(--zone-color);color:#fff;border-color:var(--zone-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--zone-color) 13%,transparent),0 4px 0 color-mix(in srgb,var(--zone-color) 18%,transparent)}
.bs-worldmap .wm-node-status{display:block;height:12px;color:var(--zone-color);font-size:8px;line-height:1.3;white-space:nowrap}
.bs-worldmap .wm-zone-note{margin:1px 0 0;text-align:right;color:var(--wm-muted);font-size:7px;line-height:1.7}
html[data-theme=dark] .bs-levels.bs-worldmap,html[data-theme=aurora] .bs-levels.bs-worldmap{--wm-card:#23293a;--wm-node:#293044;--wm-text:#e0dbea;--wm-muted:#8d95ac;--wm-line:#394056;scrollbar-color:#5b5675 transparent}
html[data-theme=dark] .bs-worldmap .wm-chapter,html[data-theme=aurora] .bs-worldmap .wm-chapter{background:linear-gradient(140deg,color-mix(in srgb,var(--zone-color) 13%,var(--wm-card)),var(--wm-card) 85%)}
html[data-theme=aurora] .bs-levels.bs-worldmap{--wm-card:#172a38;--wm-node:#1b3445;--wm-line:#2e495b;--wm-text:#dbedf0;--wm-muted:#8eabb8}
@media(max-width:600px){.bs-levels.bs-worldmap{padding:0 7px 8px;max-height:410px}.bs-worldmap .wm-chapter{padding:13px 8px 9px;border-radius:11px}.bs-worldmap .wm-zone-icon{width:27px;height:27px;font-size:17px;border-radius:9px}.bs-worldmap .wm-heading h3{font-size:10px}.bs-worldmap .wm-heading small{font-size:5px;letter-spacing:1.2px}.bs-worldmap .wm-node.bs-level{width:34px;height:34px;font-size:10px}.bs-worldmap .wm-trail{margin:13px -3px 0;min-height:77px}.bs-worldmap .wm-stop{gap:6px}.bs-worldmap .wm-zone-progress{font-size:8px}.bs-worldmap .wm-zone-note{font-size:6px}.bs-worldmap .wm-node-status{font-size:6px}}
@media(prefers-reduced-motion:reduce){.bs-worldmap .wm-node.bs-level{transition:none}}
