.state-workspace h1 {font-size:2.4rem;}
.state-intro {max-width:75ch;}
.state-map-layout {display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:2rem;align-items:center;margin:1.6rem 0 2rem;}
.map-surface {min-width:0;}
.map-keyboard-shortcut {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;}
.map-keyboard-shortcut:focus {position:relative;display:inline-flex;align-items:center;width:auto;min-height:44px;height:auto;padding:.45rem .7rem;margin:0 0 .5rem;overflow:visible;clip:auto;white-space:normal;background:#fff;font-size:.9rem;}
.us-state-map {display:block;width:100%;height:auto;aspect-ratio:959/593;overflow:visible;}
.map-state {cursor:pointer;outline:none;}
.map-state path {fill:#dce8e1;stroke:#fff;stroke-width:1.3;vector-effect:non-scaling-stroke;stroke-linejoin:round;transition:fill .12s;}
.us-state-map:not(.has-pinned-state) .map-state:hover path,.map-state.is-preview path {fill:#21634c;stroke:#24352f;stroke-width:1.8;}
.map-state:focus-visible {outline:none;}
.map-state:focus-visible path {stroke:#a34b35;stroke-width:3;}
.map-state.is-muted path {fill:#edf1ee;opacity:.5;}
.map-credit {font-size:.72rem;color:#59655f;margin:.7rem 0 0;}
.map-hint-touch {display:none;}
.state-preview {border-top:3px solid #a34b35;padding:1.1rem 0;min-height:295px;}
.state-preview h2 {font-size:1.6rem;line-height:1.25;}
.state-preview p {font-size:.9rem;}
.state-preview .preview-note {font-size:.8rem;color:#59655f;}
.state-preview .btn {font-size:.85rem;width:auto;}
.preview-source {display:block;font-size:.8rem;margin-top:1rem;overflow-wrap:anywhere;}
.state-text-directory {display:block;text-align:left;border-top:1px solid #cfd8d2;border-bottom:1px solid #cfd8d2;padding:1rem 0;}
.state-index-top {display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:.7rem;}
.state-index-top h2 {font-size:1.2rem;margin:0;}
.state-search {display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;margin:0;padding:0;border:0;}
.state-search label {font-size:.8rem;}
.state-search input {width:215px;min-height:36px;font-size:.85rem;margin:0;}
#state-count {font-size:.75rem;min-width:88px;}
#state-directory {display:flex;flex-wrap:wrap;gap:.25rem .1rem;list-style:none;padding:0;margin:0;justify-content:flex-start;}
#state-directory .state-entry {border:0;padding:0;margin:0;}
#state-directory a {display:block;padding:.35rem .55rem;min-height:32px;font-size:.82rem;line-height:1.5;color:#244d3d;text-decoration:none;}
#state-directory a:hover,#state-directory a:focus-visible {text-decoration:underline;background:#eaf0ec;}
.state-next-steps {display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:1.8rem;}
.state-next-steps h2 {font-size:1.2rem;}
.state-next-steps p {font-size:.85rem;color:#59655f;}
.visually-hidden {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
@media(max-width:840px) {.state-map-layout {grid-template-columns:minmax(0,1fr) 240px;gap:1.2rem;}}
@media(max-width:640px) {.state-workspace h1 {font-size:1.9rem;}.state-map-layout {grid-template-columns:1fr;gap:1rem;margin-top:1rem;}.state-preview {min-height:0;}.state-preview h2 {font-size:1.3rem;}.state-search input {width:190px;}.state-next-steps {grid-template-columns:1fr;gap:.7rem;}}
@media(max-width:640px),(hover:none),(pointer:coarse) {
 .map-hint-click {display:none;}.map-hint-touch {display:inline;}
 #state-directory a {display:flex;align-items:center;min-height:44px;min-width:44px;}
 .state-search input {min-height:44px;font-size:1rem;max-width:100%;}
 .preview-source {display:flex;align-items:center;min-height:44px;}
}
@media(prefers-reduced-motion:reduce) {.map-state path {transition:none;}}
@media print {.state-map-layout {grid-template-columns:1fr;}.state-preview,.state-search {display:none;}#state-directory .state-entry[hidden] {display:block;}}
