.world-map-page { background:#0c1c1d; color:#f5f1e8; border:2px solid #617d67; border-bottom:0; padding:clamp(.75rem,2vw,1.5rem); }
.world-map-page .wm-heading { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:1rem; }
.world-map-page h1 { color:#ffdc77; font-size:clamp(1.5rem,3vw,2.25rem); margin:0; }
.world-map-page h2 { font-size:1.15rem; color:#ffdc77; margin:0 0 .5rem; }
.world-map-page h3 { font-size:1.3rem; color:#ffdc77; margin:.4rem 0; }
.world-map-page .wm-overview { display:flex; flex-wrap:wrap; gap:.75rem; align-items:flex-start; margin-bottom:1rem; }
.world-map-page .wm-overview:empty { display:none; }
.world-map-page .wm-summary { min-width:0; padding:.8rem 1rem; background:#102527; border:1px solid #617d67; border-radius:.4rem; }
.world-map-page .wm-summary p { margin:.3rem 0; line-height:1.45; overflow-wrap:anywhere; }
.world-map-page .wm-season { flex:1 1 16rem; }
.world-map-page .wm-wall { flex:1 1 24rem; display:flex; flex-wrap:wrap; gap:.25rem 1rem; }
.world-map-page .wm-wall h2,.world-map-page .wm-wall progress { flex-basis:100%; }
.world-map-page .wm-wall p { margin:0; }
.world-map-page .wm-stage { position:relative; isolation:isolate; width:100%; aspect-ratio:3/2; }
.world-map-page .wm-stage img { display:block; width:100%; height:auto; }
.world-map-page .wm-markers { position:absolute; inset:0; pointer-events:none; }
/* Anchor coordinates stay authoritative to the alignment manifest; clamp only the label box at edges. */
.world-map-page .wm-marker { position:absolute; left:clamp(6rem,var(--pin-x),calc(100% - 6rem)); transform:translate(-50%,-100%); pointer-events:auto; display:grid; grid-template-columns:2rem minmax(0,1fr); align-items:center; gap:.25rem .35rem; width:17%; min-width:10rem; max-width:12rem; min-height:44px; padding:.35rem; border:2px solid #637b70; border-radius:.4rem; background:#102527; color:#f5f1e8; font:inherit; line-height:1.25; box-shadow:0 3px 0 #0008; }
.world-map-page .wm-number { display:grid; place-items:center; width:2rem; height:2rem; border:2px solid #80968b; border-radius:50%; background:#e1e8df; color:#05080d; font-weight:900; font-size:1.2rem; }
.world-map-page .wm-marker-label { font-weight:800; word-break:normal; overflow-wrap:normal; }
html[lang="zh-TW"] .world-map-page .wm-marker-label,html[lang="zh-CN"] .world-map-page .wm-marker-label { white-space:nowrap; }
.world-map-page .wm-status-badge { grid-column:2; justify-self:center; padding:.15rem .4rem; border:1px solid #637b70; border-radius:.2rem; background:#253831; font-size:.8rem; }
/* Local selection is muted; only the API current_region receives gold battlefront styling. */
.world-map-page :is(.wm-marker,.wm-region)[aria-pressed=true] { border-style:dashed; background:#29433e; }
.world-map-page [data-current=true] { border-color:#ffe349; box-shadow:0 0 0 2px #ffe349,0 3px 0 #0008; }
.world-map-page [data-current=true] .wm-number,.world-map-page [data-current=true] .wm-status-badge { background:#ffe349; border-color:#ffe349; color:#05080d; }
.world-map-page [data-region-state=CLEARED] .wm-status-badge { color:#bcebb0; }
.world-map-page .wm-regions { display:none; }
.world-map-page .wm-region { display:block; width:100%; text-align:left; min-height:60px; padding:.75rem; background:#102527; color:#f5f1e8; border:2px solid #617d67; border-radius:.4rem; font:inherit; overflow-wrap:anywhere; }
.world-map-page .wm-region small { display:block; }
.world-map-page .wm-selection { margin-block:.75rem; }
.world-map-page .wm-selection .wm-summary { display:flex; flex-wrap:wrap; align-items:baseline; gap:.3rem 1.2rem; }
.world-map-page .wm-selection h2,.world-map-page .wm-selection p { margin:0; }
.world-map-page .br-btn { min-height:44px; min-width:44px; white-space:normal; text-decoration:none; }
.world-map-page :is(button,a):focus-visible { outline:3px solid #fff; outline-offset:4px; }
.world-map-page progress { display:block; width:100%; accent-color:#b4dc6a; height:1.25rem; }
.world-map-page + .br-bottom-nav { margin-top:0; border-top-left-radius:0; border-top-right-radius:0; }
@media(max-width:700px) {
 .world-map-page .wm-overview { display:block; }
 .world-map-page .wm-overview .wm-summary + .wm-summary { margin-top:.6rem; }
 .world-map-page .wm-marker { left:clamp(22px,var(--pin-x),calc(100% - 22px)); display:grid; place-items:center; border-radius:50%; width:44px; height:44px; min-width:44px; padding:0; max-width:none; grid-template-columns:1fr; }
 .world-map-page .wm-number { border:0; background:transparent; color:inherit; }
 .world-map-page [data-current=true] .wm-number { border-radius:50%; }
 .world-map-page .wm-marker .wm-marker-label,.world-map-page .wm-status-badge { display:none; }
 .world-map-page .wm-regions { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.6rem; margin-block:.75rem; }
}
.world-map-page .br-btn-secondary { --button-ink: var(--br-outline); }
