.state-map{margin:24px 0 36px;padding:24px;background:#f0f3eb;border:1px solid #d0dacb;border-radius:18px}.state-map h3{margin:0}.state-map>p{max-width:850px}.map-frame{overflow:visible;padding:12px}.map-frame svg{display:block;width:100%;height:auto;overflow:visible}.map-state{cursor:pointer;outline:none}.map-state path{fill:#d9e1d3;stroke:#fffdf9;stroke-width:1.4;vector-effect:non-scaling-stroke;transition:fill .18s,filter .18s,transform .18s;transform-box:fill-box;transform-origin:center}.map-state.available path{fill:#d9e1d3}.map-state:hover path,.map-state:focus-visible path,.map-state.is-selected path{fill:#63a37c;filter:drop-shadow(0 10px 6px #164c3c88);transform:translateY(-12px) scale(1.03)}.map-state:focus-visible path{stroke:#143c33;stroke-width:2.5}.map-state.is-rippling path{animation:state-ripple .55s ease-out}.map-status{min-height:2em;font-weight:bold;color:#174b3f}.map-list ul{columns:3;padding-left:20px}.map-list li{break-inside:avoid;margin:6px 0}.map-list summary{font-size:15px}@keyframes state-ripple{0%{filter:drop-shadow(0 0 1px #80ba8e)}60%{filter:drop-shadow(0 0 9px #80ba8e)}100%{filter:drop-shadow(0 10px 6px #164c3c88)}}@media(max-width:650px){.state-map{padding:14px}.map-frame{padding:0}.map-list ul{columns:1}.map-status{min-height:4em}}@media(prefers-reduced-motion:reduce){.map-state path{transition:none!important;transform:none!important;animation:none!important}}

@media(prefers-reduced-motion:reduce){.map-state.is-selected path{stroke:#143c33;stroke-width:2.5;filter:none!important}}
