.regional-map{margin:40px 0;border:1px solid var(--line);border-radius:18px;background:var(--panel);overflow:hidden;box-shadow:0 12px 38px #37025a08;min-width:0}
.regional-map-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px 32px 26px}
.regional-map-kicker{display:flex;align-items:center;gap:9px;margin:0 0 9px;font-size:.68rem;letter-spacing:.14em;font-weight:800;color:var(--muted)}
.regional-map-kicker span{color:#d99400;font-size:.8rem}
.regional-map-header h2{font-size:clamp(1.5rem,2.6vw,2.25rem);line-height:1.15;letter-spacing:-.045em;margin:0;color:var(--nav);font-weight:850}
.regional-map-header h2+p{font-size:.83rem;color:var(--muted);line-height:1.6;margin:10px 0 0;max-width:580px}
.regional-map-all{display:flex;align-items:center;justify-content:center;gap:18px;flex-shrink:0;background:var(--nav);color:var(--panel);padding:13px 17px;border-radius:8px;font-size:.76rem;font-weight:750}
.regional-map-all:hover{filter:brightness(1.2)}
.regional-map-body{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);border-top:1px solid var(--line);min-width:0}
.regional-map-board{position:relative;background:var(--bg);padding:22px 22px 18px;min-width:0;background-image:radial-gradient(#84639916 .8px,transparent .8px);background-size:16px 16px}
.regional-map-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;color:var(--muted);font-size:.69rem;line-height:1.5;margin-bottom:15px}
.regional-map-toolbar strong{color:var(--nav);font-size:.92rem}
.regional-map-picker{display:flex;align-items:center;gap:12px;justify-content:space-between;font-size:.75rem;font-weight:700;color:var(--nav);position:relative;z-index:1}
.regional-map-picker select{font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:7px;padding:10px 30px 10px 12px;min-width:0;max-width:70%;cursor:pointer}
.regional-map-canvas{position:relative;margin:10px -8px 0}
.regional-map-svg{display:block;width:100%;height:auto;overflow:visible}
.regional-map-district{--map-fill:#c8b6e0;--map-hover:#b39acb;cursor:pointer;outline:none;color:#72637a}
.regional-map-district[data-region=northeast]{--map-fill:#ded3f0;--map-hover:#c4adde}
.regional-map-district[data-region=southwest]{--map-fill:#b09bc9;--map-hover:#9579b4}
.regional-map-district[data-region=southeast]{--map-fill:#e6dce8;--map-hover:#cfbad6}
.regional-map-area{fill:var(--map-fill);stroke:var(--panel);stroke-width:1.65;stroke-linejoin:round;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}
.regional-map-label{fill:#372544;font-size:16px;font-weight:750;pointer-events:none;paint-order:stroke;stroke:var(--map-fill);stroke-width:3px;stroke-linejoin:round}
.regional-map-count{fill:#594566;font-size:11px;font-weight:600;pointer-events:none;paint-order:stroke;stroke:var(--map-fill);stroke-width:2px}
.regional-map-hatch{pointer-events:none}
.regional-map-district:hover .regional-map-area{fill:var(--map-hover);stroke:#9567b3;stroke-width:2}
.regional-map-district.is-selected .regional-map-area{fill:#4a126b;stroke:#febd09;stroke-width:2.5;filter:drop-shadow(0 2px 4px #37025a30)}
.regional-map-district.is-selected .regional-map-label{fill:#fff;stroke:#4a126b}
.regional-map-district.is-selected .regional-map-count{fill:#ffe39c;stroke:#4a126b}
.regional-map-district:focus-visible .regional-map-area{stroke:#ad6800;stroke-width:4}
.regional-map-district.is-empty .regional-map-area{fill:var(--line)}
.regional-map-district.is-empty:not(.is-selected) .regional-map-label,.regional-map-district.is-empty:not(.is-selected) .regional-map-count{fill:var(--muted);stroke:var(--line)}
.regional-map-district.is-empty.is-selected .regional-map-area{fill:#4a126b}
.regional-map-legend{display:flex;flex-wrap:wrap;gap:10px 16px;justify-content:center;font-size:.65rem;color:var(--muted);margin:10px 0 0}
.regional-map-legend>span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.regional-map-legend i{width:9px;height:9px;border-radius:2px;background:#c8b6e0;border:1px solid #37025a20;margin:0}
.regional-map-legend [data-region=northeast] i{background:#ded3f0}.regional-map-legend [data-region=southwest] i{background:#b09bc9}.regional-map-legend [data-region=southeast] i{background:#e6dce8}
.regional-map-hint{font-size:.67rem;color:var(--muted);text-align:center;line-height:1.6;margin:15px 0 0}
.regional-map-hint span{display:block;opacity:.8}
.regional-map-sidebar{padding:28px 26px;min-width:0;border-left:1px solid var(--line)}
.regional-map-status{font-size:.65rem;font-weight:750;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;border-bottom:1px solid var(--line);padding-bottom:14px;margin:0 0 23px}
.regional-map-panel+.regional-map-panel{margin-top:28px;border-top:1px solid var(--line);padding-top:24px}
.regional-map.is-enhanced .regional-map-panel{margin:0;padding:0;border:0}
.regional-map-panel[hidden]{display:none}
.regional-map-panel-heading{display:flex;gap:12px;align-items:center}
.regional-map-location{width:44px;height:44px;background:var(--bg);border:1px solid var(--line);border-radius:12px;display:grid;place-items:center;color:var(--nav);flex:0 0 auto}
.regional-map-panel-heading p{color:var(--muted);font-size:.66rem;margin:0 0 5px;line-height:1.4}
.regional-map-panel-heading h3{font-size:clamp(1.2rem,1.8vw,1.6rem);line-height:1.25;letter-spacing:-.03em;margin:0;color:var(--nav);font-weight:850}
.regional-map-panel-meta{font-size:.72rem;line-height:1.6;color:var(--muted);margin:18px 0}
.regional-map-panel-meta span{margin:0 6px;color:#a592b0}
.regional-map-competitions{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.regional-map-competitions a{display:flex;align-items:center;gap:11px;border:1px solid var(--line);border-radius:10px;padding:14px 12px;transition:background .18s,border-color .18s;min-height:76px}
.regional-map-competitions a:hover{border-color:#b18cc6;background:var(--bg)}
.regional-map-league-level{display:grid;place-items:center;width:29px;height:33px;border:1px solid var(--line);border-radius:7px 7px 11px 11px;background:var(--bg);color:var(--nav);font-size:.8rem;font-weight:850;flex:0 0 auto}
.regional-map-competitions a>span:nth-child(2){min-width:0}
.regional-map-competitions strong{display:block;color:var(--nav);font-size:.78rem;line-height:1.5;overflow-wrap:anywhere}
.regional-map-competitions small{display:block;color:var(--muted);font-size:.6rem;line-height:1.5;margin-top:5px}
.regional-map-league-arrow{margin-left:auto;color:var(--nav);font-size:1.15rem;flex-shrink:0}
.regional-map-directory-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:24px;padding-top:17px;border-top:1px solid var(--line);font-size:.73rem;color:var(--nav);font-weight:750}
.regional-map-shared,.regional-map-no-data{font-size:.78rem;line-height:1.7;color:var(--muted);padding:14px;border:1px solid var(--line);background:var(--bg);border-radius:8px}
.regional-map-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 26px;margin:0;border-top:1px solid var(--line);font-size:.64rem;color:var(--muted)}
.regional-map-footer a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:1000px){.regional-map-body{grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr)}.regional-map-header{padding:24px;align-items:flex-start}.regional-map-sidebar{padding:23px 20px}.regional-map-label{font-size:17px}.regional-map-count{display:none}.regional-map-all{font-size:.7rem;padding:12px}.regional-map-board{padding:20px 16px}}
@media(max-width:760px){.regional-map-header{flex-direction:column;gap:17px}.regional-map-body{grid-template-columns:minmax(0,1fr)}.regional-map-sidebar{border-left:0;border-top:1px solid var(--line)}.regional-map-canvas{max-width:620px;margin:10px auto 0}.regional-map-label{font-size:17px}.regional-map-count{display:block}.regional-map-competitions{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.regional-map-toolbar{margin-bottom:15px}.regional-map-header h2{font-size:1.8rem}.regional-map-panel-meta{margin:16px 0}.regional-map-status{margin-bottom:19px}}
@media(max-width:480px){.regional-map{margin:28px 0;border-radius:13px}.regional-map-header{padding:21px 19px}.regional-map-header h2{font-size:1.65rem}.regional-map-header h2+p{font-size:.77rem}.regional-map-kicker{font-size:.57rem;letter-spacing:.11em}.regional-map-all{padding:11px 14px;min-height:42px}.regional-map-board{padding:17px 12px}.regional-map-picker select{max-width:72%;font-size:.75rem;min-height:43px}.regional-map-toolbar{font-size:.59rem}.regional-map-label,.regional-map-count{display:none}.regional-map-district.is-selected .regional-map-label{display:block;font-size:30px;stroke-width:4px}.regional-map-area{stroke-width:1.1}.regional-map-legend{font-size:.57rem;gap:9px 12px}.regional-map-hint{font-size:.6rem}.regional-map-hint span{display:none}.regional-map-sidebar{padding:21px 18px}.regional-map-panel-heading h3{font-size:1.4rem}.regional-map-footer{padding:13px 18px;font-size:.59rem}.regional-map-competitions a{min-height:76px;padding:14px 12px}}
@media(prefers-reduced-motion:reduce){.regional-map-area,.regional-map-competitions a{transition:none}}
