/* People first: readable text, clear exits and equivalent keyboard navigation. */
:root{--muted:#52665b}
.skip-policy{position:fixed;top:8px;left:12px;z-index:20;padding:14px 20px;background:#23483f;color:white;border-radius:8px;transform:translateY(-160%)}
.skip-policy:focus{transform:translateY(0)}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
.header-actions .catalog{margin-left:0}
.reading-toggle{min-height:48px;padding:10px 16px;border:1px solid #a7bab1;border-radius:10px;background:#fff;font-size:16px;font-weight:700;white-space:nowrap}
.reading-toggle[aria-pressed=true]{background:#23483f;color:#fff}
.catalog{min-height:48px;display:flex;align-items:center;font-size:16px}
.side-top p,.welcome p,.district-intro,.current-question,.source-link,.policy-evidence,.policy-evidence .source-link,.collection-item,.more-videos{font-size:16px;line-height:1.8}
.district em,.district small,.detail-top span,.detail-top button,.collection-heading span,.collection-item b,.visited,.side-footer,.detail-caption,.clip-context,.policy-evidence .evidence-date,.video-note{font-size:14px;color:#52665b}
.district em{color:#52665b}.current-question{color:#435d4c}.current-copy h4{font-size:19px}#detail .summary{font-size:17px;color:#405b4b}.policy-evidence p{color:#405b4b}
.policy-evidence h5,.collection-heading h4{font-size:17px}.current-copy .video-button{font-size:16px}
.intro-note{font-size:16px}.detail-top{gap:10px}.detail-top button{min-height:48px;font-size:15px;text-decoration:underline}
.time-switch button,.map-controls button{min-width:44px;min-height:44px}.video-heading button{min-width:44px;min-height:44px;flex-shrink:0}
.policy-evidence summary{min-height:44px;display:list-item;padding-block:7px}.source-link{overflow-wrap:anywhere}
#policy-top,#detail,#policy-detail-title{scroll-margin-top:24px}
#policy-top:focus-visible,#policy-detail-title:focus-visible{outline:3px solid #bd5d2c;outline-offset:5px;border-radius:3px}
.large-text .sidebar{font-size:19px}.large-text .side-top h2,.large-text #detail h3{font-size:28px}
.large-text .side-top p,.large-text .welcome p,.large-text .district-intro,.large-text .current-question,.large-text .policy-evidence,.large-text .policy-evidence .source-link,.large-text .collection-item,.large-text .more-videos,.large-text .source-link{font-size:20px}
.large-text #detail .summary{font-size:21px;line-height:1.9}.large-text .current-copy h4,.large-text .district strong{font-size:22px}
.large-text .side-footer,.large-text .detail-caption,.large-text .clip-context,.large-text .policy-evidence .evidence-date,.large-text .district em,.large-text .district small,.large-text .collection-heading span,.large-text .collection-item b,.large-text .visited{font-size:17px}
.large-text .current-copy .video-button,.large-text .detail-top button,.large-text .policy-evidence h5,.large-text .collection-heading h4{font-size:19px}
.large-text .current-policy{display:block}.large-text .current-poster{float:left;width:96px;margin:0 15px 10px 0}.large-text .current-policy:after{content:'';display:block;clear:both}
.large-text .collection-item{flex-wrap:wrap}.large-text .collection-item b{white-space:normal}.large-text .video-note{font-size:17px}
@media(max-width:1100px){.header{padding-inline:20px}.header-actions{gap:8px}.intro-note{font-size:14px}.district{gap:10px}.district strong{font-size:18px}}
@media(max-width:760px){
 .header{height:auto;min-height:120px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:10px;position:sticky;top:0;box-shadow:0 3px 16px #23483f10}
 .brand{width:100%;font-size:18px}.brand small{font-size:11px;letter-spacing:.5px}.brand svg{height:34px}
 .header-actions{width:100%;margin:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px}
 .reading-toggle{font-size:16px;padding:9px 12px}.catalog{font-size:15px;padding:9px 12px;justify-content:center;white-space:normal;line-height:1.5}
 .intro-note{font-size:14px;max-width:255px}.intro h1{font-size:30px}.time-switch{right:12px}.time-switch button{font-size:12px;padding:7px}
 .world{max-height:none;height:600px}.hint{font-size:11px;max-width:115px}.world-footer{left:14px;right:14px}
 .district-list{grid-template-columns:1fr}.district{display:flex;text-align:left;padding:13px 15px;gap:14px}.district-icon{margin:0;width:46px;height:46px}.district strong{font-size:20px;margin:3px 0}.district em,.district small{font-size:14px}.district b{display:block}
 .sidebar{padding:26px 20px}.detail-top span{font-size:13px}.detail-top button{font-size:15px}.collection-item{font-size:17px}.current-copy .video-button{font-size:16px}
 #policy-top,#detail,#policy-detail-title,#current-policy{scroll-margin-top:155px}
 .large-text .district strong{font-size:23px}.large-text .collection-item{font-size:20px}.large-text .current-copy .video-button{font-size:18px}
}
