/* State map + deep dives (generated by states_build.py) */
.usmap-svg { width: 100%; height: auto; display: block; }
.usmap-svg a.st text { font: 700 15px "Plus Jakarta Sans", system-ui, sans-serif; pointer-events: none; }
.usmap-svg a.st rect { stroke: #FFFFFF; stroke-width: 2; transition: stroke 120ms ease; }
.usmap-svg a.st:hover rect { stroke: #201611; stroke-width: 2.5; }
.usmap-svg a.st:focus { outline: none; }
.usmap-svg a.st:focus-visible rect { stroke: #3366E0; stroke-width: 5; }
.usmap-svg a.st.is-selected rect { stroke: #201611; stroke-width: 4; }
.st-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 16px; font-size: 12px; color: #4A4039; list-style: none; padding: 0; }
.st-legend li { display: inline-flex; align-items: center; gap: 6px; }
.st-sw { display: inline-block; width: 14px; height: 14px; border-radius: 4px; border: 1px solid rgba(32,22,17,.12); }
.st-dot { display: inline-block; width: 10px; height: 10px; border-radius: 9999px; background: #FFFFFF; border: 1.5px solid #102859; }
.st-card { border: 1px solid rgba(32,22,17,.1); background: #FBF9F6; border-radius: 16px; padding: 24px; box-shadow: 0 1px 2px rgba(32,22,17,.06); min-height: 220px; }
.st-card-hint { color: rgba(32,22,17,.7); }
.st-card-name { font-weight: 800; font-size: 22px; letter-spacing: -0.02em; color: #102859; }
.st-rate { margin-top: 8px; font-weight: 800; font-size: 56px; line-height: 1; letter-spacing: -0.04em; color: #1B4FD8; }
.st-label { margin-top: 8px; font-size: 16px; color: #201611; }
.st-year { display: inline-block; margin-top: 10px; border-radius: 9999px; background: #EEF3FE; color: #102859; font-size: 14px; font-weight: 700; padding: 4px 12px; }
.st-def { margin-top: 4px; font-size: 13px; color: #4A4039; }
.st-src { margin-top: 12px; font-size: 13px; color: #4A4039; }
.st-src a { text-decoration: underline; text-underline-offset: 2px; }
.st-deep-link { display: inline-flex; margin-top: 18px; border-radius: 8px; background: #173FAC; color: #FFFFFF; font-weight: 700; font-size: 14px; padding: 12px 18px; }
.st-deep-link:hover { background: #102859; }
.st-soon { margin-top: 16px; font-size: 14px; font-weight: 600; color: #4A4039; }
.st-list-wrap summary { cursor: pointer; font-weight: 700; color: #173FAC; }
.st-list li { border-bottom: 1px solid rgba(32,22,17,.08); font-size: 15px; }
.st-cite { font-size: 0.7em; margin-left: 1px; }
.st-cite a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.st-bullets { display: grid; gap: 12px; margin-top: 12px; list-style: none; padding: 0; }
.st-bullets li { position: relative; padding-left: 20px; line-height: 1.6; color: rgba(32,22,17,.85); }
.st-bullets li::before { content: ''; position: absolute; left: 2px; top: 0.65em; width: 8px; height: 8px; border-radius: 9999px; background: #3366E0; }
svg.trend { width: 100%; height: auto; display: block; }
svg.trend text { font: 500 13px "Plus Jakarta Sans", system-ui, sans-serif; fill: #4A4039; }
svg.trend text.val { font-weight: 700; fill: #102859; }
svg.trend text.gap { font-size: 12px; font-style: italic; fill: #4A4039; }
svg.trend text.ref { font-size: 12px; font-weight: 600; fill: #201611; }
