@import url("/assets/global-top-bar.css");
:root{--detail-gold:#f2cf8c;--detail-teal:#16766f}body{margin:0;background:#f8f5ed;color:#123548;font-family:Inter,system-ui,sans-serif}.review-header,.review-footer{max-width:1240px;margin:auto;padding:34px 24px}.review-header h1{font:700 clamp(30px,4vw,48px)/1.1 Georgia,serif;margin:12px 0 18px}.review-header p{max-width:95ch;line-height:1.6}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.14em;color:#16766f}.data-note{border-left:4px solid #c5a25b;padding:12px 18px;background:#fff;color:#586e79;font-size:13px}.review-header a{color:#0d6c66;font-weight:700}.compare-controls{display:flex;flex-wrap:wrap;gap:9px;margin-top:24px}.compare-controls button{border:1px solid #9eb7bd;border-radius:5px;background:white;color:#143b4e;padding:11px 14px;font-weight:700;cursor:pointer}.compare-controls button[aria-pressed=true]{background:#16766f;color:white}.selection-help{font-size:12px;color:#586e79}.design-option{max-width:1280px;margin:0 auto 44px;border:1px solid #cad5d8;box-shadow:0 8px 24px #1235480b}.option-heading{padding:22px 26px;background:#fff;border-top:5px solid #b18b3c}.option-heading h2{font:700 25px Georgia,serif;margin:0 0 9px}.option-heading p{margin:0;line-height:1.5;color:#586e79;font-size:14px}body[data-area-kind=state] .design-option .finance-section{box-sizing:border-box;padding:28px 24px;margin:0}.design-option .finance-heading{gap:24px}.design-option .finance-heading h2{font-size:32px}.design-option .finance-heading>p{font-size:13px}.design-option button.snapshot-metric{display:block;width:100%;text-align:left;background:transparent;color:white;cursor:pointer;font-family:inherit;border:0;border-right:1px solid #ffffff2b;padding:20px 15px;transition:background .16s}.design-option button.snapshot-metric:last-child{border-right:0}.design-option button.snapshot-metric>span{font-size:10px;min-height:3.9em}.design-option button.snapshot-metric>strong{font-family:Georgia,serif;font-size:38px;font-weight:400}.design-option button.snapshot-metric>small{font-size:11px;line-height:1.5;color:#b5c7ce}.design-option button.snapshot-metric[aria-pressed=true]{background:#ffffff0b;box-shadow:inset 0 -4px #f2cf8c}.design-option button.snapshot-metric.is-preview{background:#ffffff13;box-shadow:inset 0 -4px #65b5aa}.design-option button.snapshot-metric:focus-visible,.compare-controls button:focus-visible{outline:3px solid #f2cf8c;outline-offset:-3px}.snapshot-detail{margin-top:18px;background:#f8fbfa;color:#15394c;border-top:4px solid #e6c47e;min-width:0;animation:detail-in .18s ease}.snapshot-detail h3{font:700 24px/1.15 Georgia,serif;margin:0 0 10px}.snapshot-detail p{font-size:13px;line-height:1.6;margin:0 0 10px;color:#536d78}.detail-a{display:grid;grid-template-columns:160px 1fr auto;align-items:center;gap:24px;padding:18px 22px;min-height:150px}.detail-b{display:grid;grid-template-columns:minmax(240px,1fr) minmax(0,1.5fr);min-height:270px}.detail-visual{padding:24px;background:#e8f0ee;display:flex;flex-direction:column;justify-content:center;min-width:0}.detail-copy{padding:26px;min-width:0}.detail-c{padding:22px}.insight-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:14px}.insight-card{border:1px solid #c9d8d8;background:white;padding:18px;min-width:0}.insight-card h4{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#596f78;margin:0 0 13px}.insight-card strong{display:block;font:700 27px Georgia,serif;color:#15394c;margin:0 0 10px}.insight-card .pending{display:inline-block;font:700 11px system-ui;color:#8b671c;background:#fff2d1;border:1px solid #e5c982;border-radius:3px;padding:5px 8px;margin-bottom:9px}.insight-card p{font-size:12px}.detail-eyebrow{font:800 10px system-ui;letter-spacing:.12em;text-transform:uppercase;color:#936c26;margin-bottom:8px;display:block}.page-action{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#16766f;color:white!important;border:1px solid #0e5a54;border-radius:5px;box-shadow:0 3px #0a4945;padding:11px 15px;text-decoration:none;font-size:13px;font-weight:800;white-space:nowrap;transition:transform .15s,background .15s}.page-action:hover{background:#105d57;transform:translateY(-1px)}.page-action:focus-visible{outline:3px solid #b48834;outline-offset:3px}.page-icon{width:18px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6}.dots{display:grid;grid-template-columns:repeat(10,1fr);gap:5px;max-width:260px;width:100%;margin:12px auto}.dots i{aspect-ratio:1;background:#16766f;border-radius:50%;min-width:0}.dots i:nth-child(3n){background:#88b7ae}.visual-label{font-size:11px!important;text-align:center;margin-top:8px!important}.compact-number{font:700 36px Georgia,serif;color:#15394c;display:block;text-align:center}.portrait-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.portrait-grid img{width:100%;height:68px;object-fit:cover;object-position:50% 20%;background:#d4e0df;border:1px solid #acbfc5;border-radius:0}.portrait-grid a:focus-visible{outline:3px solid #ad8025}.portrait-caption{display:block;font-size:10px;text-align:center;color:#536d78;margin:10px 0 0}.bars{display:grid;gap:14px}.bar-row small{display:flex;justify-content:space-between;font-size:12px;margin-bottom:7px}.bar-track{height:18px;background:#d2dfdc}.bar-track i{display:block;height:100%;background:#16766f}.bar-row:last-child .bar-track i{background:#b18b3c}.counts-row{display:flex;gap:16px;align-items:center}.counts-row strong{font:700 45px Georgia,serif}.detail-c .detail-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px}.review-footer{color:#586e79;font-size:13px}.preview-status{font-size:11px;color:#6b7d83}.district-tiles{display:flex;gap:9px;justify-content:center}.district-tiles span{background:#f2cf8c;border:1px solid #15394c;box-shadow:2px 3px #15394c88;width:42px;height:54px;display:grid;place-items:center;font:700 24px Georgia}.county-icon{height:110px;max-width:180px;display:block;margin:0 auto;filter:drop-shadow(1px 3px #12354866)}@keyframes detail-in{from{opacity:.6}to{opacity:1}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:900px){.design-option .state-snapshot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.detail-a{grid-template-columns:120px 1fr}.detail-a .page-action{grid-column:2;justify-self:start}.detail-b{grid-template-columns:1fr 1.3fr}.insight-grid{grid-template-columns:1fr}.design-option .finance-heading{grid-template-columns:1fr}.insight-card .dots{max-width:180px}}@media(max-width:600px){.review-header{padding:24px 16px}.design-option{margin-inline:10px}.option-heading{padding:18px}.design-option .finance-section{padding:20px 14px!important}.design-option .finance-heading{display:block}.design-option .finance-heading h2{font-size:26px}.design-option .finance-heading>p{margin-top:12px}.design-option .state-snapshot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-a,.detail-b{grid-template-columns:1fr}.detail-a .page-action{grid-column:auto;justify-self:stretch}.detail-a .detail-visual-mini{max-width:160px;margin:auto}.detail-c .detail-title{display:block}.detail-c .detail-title .page-action{margin-top:8px}.detail-visual{padding:20px}.detail-copy{padding:20px}.detail-c{padding:16px}.design-option button.snapshot-metric>span{min-height:2.6em}.portrait-grid img{height:80px}}
/* Revision: party composition replaces anonymous dots. Portraits remain bounded. */
.detail-a{grid-template-columns:minmax(250px,1fr) minmax(0,1.3fr) auto;min-height:190px}.detail-b{grid-template-columns:minmax(300px,1fr) minmax(0,1.5fr)}.ribbon-chart{min-width:0}.party-stack{height:28px;display:flex;width:100%;border:1px solid #ffffff77;margin:12px 0 15px;overflow:hidden;border-radius:3px}.party-stack>span{height:100%;display:block;min-width:3px;border-right:1px solid #ffffff99;box-sizing:border-box}.party-stack>span:last-child{border:0}.chart-kicker{display:block;font:800 10px system-ui;letter-spacing:.06em;text-transform:uppercase;color:#526e7a;margin-bottom:9px}.party-legend{display:flex;flex-wrap:wrap;gap:8px 15px;line-height:1.5;font-size:12px;color:#284854}.party-legend>span{display:inline-flex;gap:5px;align-items:center}.party-legend i{width:11px;height:11px;display:inline-block;border:1px solid #15394c33}.party-legend strong{font:800 13px system-ui;margin:0;display:inline}.seat-chart{width:100%;max-width:320px;margin:0 auto 14px;display:block}.seat-chart text{font:700 26px Georgia;fill:#17384b}.member-highlights{margin:16px 0}.member-highlights>a{display:flex;align-items:center;gap:12px;margin:10px 0;color:#16384b;text-decoration:none}.member-highlights img{width:48px;height:56px;object-fit:cover;object-position:50% 20%;border:1px solid #c3d2d4}.member-highlights strong{display:block;font:700 15px Georgia;margin:0 0 5px}.member-highlights small{font-size:11px;color:#546f7b}.roster-note{font-size:10px!important;color:#687d84!important;margin-top:16px!important}.party-insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.party-insight-grid .portrait-grid img{height:62px}.small-fact strong{font:700 19px Georgia;display:block;margin-bottom:12px}.geo-count{display:block;text-align:center;font:700 24px Georgia;margin-top:8px}.boe-roster{display:grid;gap:9px}.boe-roster>div{display:flex;align-items:center;gap:10px}.boe-roster span{display:grid;place-items:center;width:30px;height:34px;background:#f2cf8c;border:1px solid #15394c;box-shadow:1px 2px #15394c66}.boe-roster strong{font:700 15px Georgia}.detail-copy .party-chart{margin:18px 0}.detail-visual .party-legend{justify-content:center}@media(max-width:950px){.detail-a{grid-template-columns:1fr 1fr}.detail-a .page-action{grid-column:2;justify-self:start}.detail-b{grid-template-columns:1fr 1.3fr}}@media(max-width:600px){.detail-a,.detail-b,.party-insight-grid{grid-template-columns:1fr}.detail-a .page-action{grid-column:auto;justify-self:stretch}.ribbon-chart{width:100%}}
/* Keep every detail bar compact and stable while topics change. */
@media(min-width:951px){
 .snapshot-detail{box-sizing:border-box;height:240px;min-height:240px;max-height:240px;position:relative;margin-top:12px}
 .detail-a{padding:16px 18px;gap:18px}
 .detail-b{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:16px;padding:14px 18px 30px;align-items:center}
 .detail-b .detail-visual{padding:0 14px 0 0;background:transparent;height:100%;border-right:1px solid #cad8d7}
 .compact-copy,.compact-extras{min-width:0}.compact-source{position:absolute;bottom:5px;left:18px;right:18px;text-align:right}
 .compact-source .roster-note{margin:0!important;font-size:9px!important;line-height:1.2!important}
 .snapshot-detail h3{font-size:21px;margin-bottom:7px}.snapshot-detail p{font-size:12px;line-height:1.45;margin-bottom:8px}
 .snapshot-detail .detail-eyebrow{font-size:9px;margin-bottom:5px}
 .snapshot-detail .page-action{padding:9px 12px;font-size:12px;gap:7px}
 .snapshot-detail .portrait-grid{gap:5px}.snapshot-detail .portrait-grid img{height:55px}
 .snapshot-detail .portrait-caption{font-size:9px;margin-top:6px}
 .snapshot-detail .seat-chart{height:128px;width:auto;max-width:100%;margin-bottom:4px}
 .snapshot-detail .party-legend{font-size:10px;gap:4px 9px}.snapshot-detail .party-legend strong{font-size:11px}
 .snapshot-detail .visual-label{font-size:9px!important;margin:5px 0 0!important}
 .snapshot-detail .member-highlights{margin:0}.snapshot-detail .member-highlights>a{margin:6px 0;gap:9px}
 .snapshot-detail .member-highlights img{width:34px;height:40px}.snapshot-detail .member-highlights strong{font-size:13px;margin:0 0 3px}
 .snapshot-detail .member-highlights small{font-size:10px}.snapshot-detail .chart-kicker{font-size:9px;margin-bottom:6px}
 .snapshot-detail .small-fact strong{font-size:17px;margin-bottom:8px}
 .snapshot-detail .county-icon{height:100px}.snapshot-detail .geo-count{font-size:21px;margin-top:4px}
 .snapshot-detail .boe-roster{gap:6px}.snapshot-detail .boe-roster span{width:25px;height:28px}.snapshot-detail .boe-roster strong{font-size:13px}
 .detail-c{padding:12px 18px 27px}.detail-c .detail-title{margin-bottom:8px;min-height:40px}.detail-c .detail-title h3{margin:0}
 .detail-c .party-insight-grid{gap:12px;height:139px}.detail-c .insight-card{padding:10px 14px;min-height:0}
 .detail-c .roster-note{position:absolute;bottom:5px;right:18px;left:18px;margin:0!important;text-align:right;font-size:9px!important;line-height:1.2!important}
 .detail-c .portrait-grid img{height:40px}.detail-c .portrait-caption{margin-top:4px}.detail-c .visual-label{margin-top:2px!important;font-size:8px!important}
 .detail-c .party-stack{margin:8px 0 10px;height:24px}.detail-c .county-icon{height:65px}.detail-c .boe-roster{grid-template-columns:1fr 1fr}
}
@media(min-width:601px) and (max-width:950px){
 .snapshot-detail{box-sizing:border-box;height:370px;min-height:370px;max-height:370px;position:relative}
 .detail-b{grid-template-columns:1fr 1fr;padding:16px;gap:12px}.detail-b .detail-visual{padding:0}.compact-extras{grid-column:1/-1}.compact-extras .member-highlights{display:flex;gap:15px;align-items:center;margin:0}.compact-extras .member-highlights .visual-label{display:none}.compact-extras .chart-kicker{max-width:160px}.compact-source{grid-column:1/-1}.compact-source p{margin:0!important}
 .detail-c .party-insight-grid{grid-template-columns:1fr 1fr}.detail-c .insight-card{padding:12px}.detail-c .portrait-grid img{height:42px}
}
@media(max-width:600px){
 .snapshot-detail{box-sizing:border-box;height:620px;min-height:620px;max-height:620px;position:relative;align-content:start}
 .detail-a{grid-template-rows:auto auto auto;gap:16px}.detail-b{display:grid;grid-template-columns:1fr;padding:16px;gap:14px;align-content:start}
 .detail-b .detail-visual{padding:0}.detail-b .seat-chart{height:125px;width:auto}.detail-b .portrait-grid img{height:55px}
 .compact-extras .member-highlights{display:flex;flex-wrap:wrap;gap:8px}.compact-extras .member-highlights .chart-kicker{width:100%}.compact-extras .member-highlights>a{width:calc(50% - 4px);gap:7px;margin:0}.compact-extras .member-highlights img{width:30px;height:38px}.compact-extras .member-highlights strong{font-size:12px}.compact-extras .member-highlights small{font-size:9px}.compact-extras .member-highlights .visual-label{display:none}
 .compact-source{position:absolute;bottom:10px;left:16px;right:16px}.compact-source p{margin:0!important}
 .detail-c .party-insight-grid{grid-template-columns:1fr}.detail-c .insight-card{padding:12px}.detail-c .portrait-grid img{height:45px}.detail-c .roster-note{position:absolute;bottom:10px;left:16px;right:16px;margin:0!important}
 .detail-c .member-highlights>a{margin:6px 0}.detail-c .member-highlights img{height:38px;width:32px}
}
.county-animation,.district-preview-map{display:block;width:100%;max-width:340px;margin:auto}.county-animation img{display:block;width:100%;max-height:190px;object-fit:contain}.district-preview-map{height:190px;object-fit:contain}.county-context strong{display:block;font:700 27px Georgia,serif;margin-bottom:10px}.county-context p{font-size:12px}.compact-extras .boe-roster{gap:8px}.compact-extras .boe-roster strong{font-size:13px}
@media(max-width:600px){.county-animation img,.district-preview-map{height:170px}.compact-extras .boe-roster{grid-template-columns:1fr 1fr}}
.seat-node{cursor:pointer;outline:none}.seat-node .seat-mark{transition:stroke .12s,stroke-width .12s;pointer-events:none}.seat-node.is-active .seat-mark,.seat-node:focus-visible .seat-mark{stroke:#d1a448;stroke-width:2.4}.seat-node:focus-visible .seat-hit{stroke:#123548;stroke-width:1;stroke-dasharray:2 2}.seat-details-right{min-width:0;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 70px;gap:8px}.seat-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start;min-width:0}.seat-overview>div{min-width:0}.member-preview{border-top:1px solid #c8d6d7;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}.member-selection{display:flex;align-items:center;gap:12px;min-width:0}.member-selection>div{min-width:0}.member-selection img,.member-vacancy{width:45px;height:52px;object-fit:cover;object-position:50% 20%;border:1px solid #c1d1d4;background:#e2e9e8;flex-shrink:0}.member-vacancy{display:grid;place-items:center;font:700 25px Georgia}.member-selection strong{display:block;font:700 18px Georgia;color:#15394c;margin-bottom:5px}.member-selection small{display:block;font-size:11px;line-height:1.35;color:#536d78}.member-selection small i{display:inline-block;width:8px;height:8px;margin-right:5px}.member-preview .page-action{flex-shrink:0}.member-selection .detail-eyebrow{font-size:9px}
@media(min-width:951px){
 .detail-b.has-member-seats{grid-template-columns:1fr 2.2fr;padding:14px 18px;gap:16px}
 .has-member-seats .seat-overview h3{font-size:20px;line-height:1.15;margin-bottom:7px}
 .has-member-seats .seat-overview p{font-size:11px;line-height:1.4;margin-bottom:0}
 .has-member-seats .seat-overview .member-highlights>a{margin:4px 0;gap:8px}
 .has-member-seats .seat-overview .member-highlights img{width:27px;height:32px}
 .has-member-seats .seat-overview .member-highlights strong{font-size:12px;margin-bottom:2px}
 .has-member-seats .seat-overview .member-highlights small{font-size:9px}
 .has-member-seats .seat-overview .chart-kicker{font-size:9px;line-height:1.35;margin-bottom:6px}
 .has-member-seats .detail-visual{padding-right:14px}
}
@media(min-width:601px) and (max-width:950px){.detail-b.has-member-seats{grid-template-columns:1fr 1.7fr;align-items:stretch}.seat-details-right{grid-template-rows:1fr 105px}.seat-overview{grid-template-columns:1fr}.seat-overview .member-highlights{display:flex;gap:8px;flex-wrap:wrap}.seat-overview .chart-kicker{width:100%}.seat-overview .member-highlights>a{width:calc(50% - 4px);margin:0}.seat-overview .member-highlights img{height:30px;width:26px}.member-preview{flex-wrap:wrap}.member-preview .page-action{padding:8px;font-size:11px}}
@media(max-width:600px){.detail-b.has-member-seats{grid-template-columns:1fr;grid-template-rows:175px 1fr;gap:12px}.seat-details-right{grid-template-rows:1fr 150px}.seat-overview{grid-template-columns:1fr;gap:8px}.seat-overview .member-highlights{display:flex;gap:8px;flex-wrap:wrap}.seat-overview .chart-kicker{width:100%}.seat-overview .member-highlights>a{width:calc(50% - 4px);margin:0;gap:7px}.seat-overview .member-highlights img{height:32px;width:27px}.seat-overview .member-highlights strong{font-size:12px}.seat-overview .member-highlights small{font-size:9px}.seat-overview h3{font-size:19px}.seat-overview p{font-size:11px;line-height:1.35}.member-preview{flex-direction:column;align-items:stretch;justify-content:center;padding-top:10px;gap:10px}.member-selection strong{font-size:17px}.member-selection small{font-size:10px}.member-preview .page-action{padding:9px 12px}}
.member-district-map{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-width:0}.member-district-map svg{display:block;max-width:100%;width:100%;height:180px;overflow:visible}.state-map-background{fill:#d7e4e0;stroke:#9bb0b5;stroke-width:.3;vector-effect:non-scaling-stroke;fill-rule:evenodd}.selected-district-shape{fill:#f2cf8c;stroke:#17394c;stroke-width:1.25;vector-effect:non-scaling-stroke;fill-rule:evenodd}.selected-district-caption{font:800 10px system-ui;color:#526d79;letter-spacing:.05em;margin-top:3px}
@media(min-width:951px){
 .detail-b.has-member-seats{grid-template-columns:minmax(110px,13%) minmax(160px,20%) minmax(0,1fr);gap:12px;padding:14px 16px}
 .has-member-seats .detail-visual{padding:0 12px 0 0;justify-content:center}
 .has-member-seats .seat-chart{width:100%;height:125px;margin-bottom:6px}
 .has-member-seats .party-legend{font-size:9px;gap:4px 8px}
 .has-member-seats .party-legend strong{font-size:10px}
 .has-member-seats .seat-overview{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px}
 .has-member-seats .seat-overview h3{font-size:19px}
 .has-member-seats .seat-overview .detail-eyebrow{font-size:8px}
 .has-member-seats .seat-overview .chart-kicker{font-size:8px}
 .has-member-seats .member-preview{gap:10px}
 .has-member-seats .member-selection{gap:9px;flex:1;min-width:0}
 .has-member-seats .member-selection strong{font-size:17px}
 .has-member-seats .member-selection small{font-size:10px}
 .has-member-seats .member-preview .page-action{font-size:11px;padding:9px 10px;gap:6px}
}
@media(min-width:601px) and (max-width:950px){
 .detail-b.has-member-seats{grid-template-columns:110px 150px minmax(0,1fr);gap:12px}
 .member-district-map svg{height:190px}.has-member-seats .seat-chart{height:120px;width:100%}
 .has-member-seats .detail-visual{padding:0 10px 0 0}.has-member-seats .party-legend{font-size:10px}
 .has-member-seats .seat-overview{grid-template-columns:1fr;gap:8px}.has-member-seats .member-highlights>a{width:auto}.has-member-seats .member-preview .page-action{font-size:10px}
}
@media(max-width:600px){
 .detail-b.has-member-seats{grid-template-columns:110px minmax(0,1fr);grid-template-rows:175px minmax(0,1fr);gap:12px}
 .has-member-seats .member-district-map svg{height:150px}.has-member-seats .detail-visual{padding:0;min-width:0}
 .has-member-seats .seat-details-right{grid-column:1/-1}.has-member-seats .seat-chart{height:120px;max-width:100%}
 .has-member-seats .party-legend{font-size:10px;gap:4px 8px}
}
@media(min-width:951px){
 .detail-b.has-member-seats{grid-template-columns:minmax(110px,13%) minmax(205px,24%) minmax(0,1fr)}
 .has-member-seats .seat-chart{height:166px;margin-bottom:3px}
}
@media(min-width:951px){
 .has-member-seats .seat-overview .member-highlights img{width:32px;height:40px}
 .has-member-seats .seat-overview .member-highlights>a{margin:5px 0;gap:9px}
 .has-member-seats .seat-overview .member-highlights strong{font-size:13px;margin-bottom:3px}
 .has-member-seats .seat-overview .member-highlights small{font-size:10px}
}
.wide-layout-link{margin-left:20px}
@media(min-width:951px){
 .detail-b.has-member-seats.wide-state-layout{grid-template-columns:minmax(0,26fr) minmax(0,24fr) minmax(0,50fr)}
 .wide-state-layout .member-district-map svg{height:180px;max-width:100%}
 .wide-state-layout .seat-chart{height:166px}
 .wide-state-layout .seat-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}
 .wide-state-layout .seat-overview h3{font-size:17px}
 .wide-state-layout .seat-overview .member-highlights strong{font-size:12px}
 .wide-state-layout .seat-overview .member-highlights small{font-size:9px}
 .wide-state-layout .member-selection small{font-size:9px}
 .wide-state-layout .member-preview .page-action{font-size:10px;padding:9px 8px}
}
.interactive-board-map{height:100%;min-width:0;display:flex;align-items:center;justify-content:center;border-right:1px solid #cad8d7;padding-right:16px}.interactive-board-map svg{height:190px;max-width:100%;width:100%;overflow:visible}.board-region{cursor:pointer;outline:none}.board-region>path{stroke:#78919b;stroke-width:.7;vector-effect:non-scaling-stroke;transition:fill .15s,stroke .15s}.board-region.is-active>path{fill:#f2cf8c;stroke:#123548;stroke-width:1.6}.board-region:focus-visible>path{stroke:#0a4a65;stroke-width:2.5}.board-region>g{pointer-events:none}.board-details-right{display:grid;grid-template-rows:minmax(0,1fr) 70px;gap:8px;min-width:0;height:100%}.board-overview{display:grid;grid-template-columns:1fr 1fr;gap:16px;min-width:0}.board-overview>div{min-width:0}.board-member-picker{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-content:start}.board-member-picker button{display:flex;align-items:center;gap:7px;padding:7px 6px;border:1px solid #b9cbd0;background:#fff;font:700 10px system-ui;color:#17394b;cursor:pointer;text-align:left;border-radius:3px}.board-member-picker button span{display:grid;place-items:center;width:18px;height:21px;flex-shrink:0;background:#e7eded;font:700 11px system-ui}.board-member-picker button.is-active{background:#fff1cf;border-color:#b89548}.board-member-picker button:focus-visible{outline:2px solid #16766f;outline-offset:2px}.page-action:disabled{background:#e4e9e8!important;color:#81918f!important;border-color:#c8d2d1!important;box-shadow:none!important;cursor:not-allowed}.board-overview h3{font-size:20px}.board-overview p{font-size:11px;line-height:1.4}.board-member-preview .member-selection strong{font-size:17px}.board-member-preview .member-selection small{font-size:10px}
@media(min-width:951px){.detail-b.has-board-map{grid-template-columns:36% minmax(0,1fr);gap:16px;padding:14px 16px}.detail-b.has-board-map.wide-state-layout{grid-template-columns:calc(50% - 8px) minmax(0,1fr)}.board-overview h3{font-size:19px}.board-overview .detail-eyebrow{font-size:8px}.board-member-preview .page-action{font-size:11px;padding:9px 10px}}
@media(min-width:601px) and (max-width:950px){.detail-b.has-board-map{grid-template-columns:40% minmax(0,1fr);padding:16px;gap:14px}.board-overview{grid-template-columns:1fr;gap:10px}.board-details-right{grid-template-rows:1fr 110px}.board-member-preview{flex-wrap:wrap}.board-member-preview .page-action{padding:8px;font-size:11px}}
@media(max-width:600px){.detail-b.has-board-map{grid-template-columns:1fr;grid-template-rows:190px minmax(0,1fr);gap:12px}.interactive-board-map{border:0;padding:0}.board-overview{grid-template-columns:1fr;gap:10px}.board-details-right{grid-template-rows:1fr 150px}.board-member-preview{flex-direction:column;align-items:stretch;justify-content:center}.board-member-picker button{padding:6px;font-size:10px}}
/* On phones the two portions stack and grow naturally instead of squeezing
   all content into the desktop bar’s fixed height. */
@media(max-width:700px){
 .snapshot-detail{height:auto;min-height:0;max-height:none}
 .detail-b.has-member-seats{grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);grid-template-rows:auto auto;padding:16px;gap:16px 12px;align-items:start}
 .has-member-seats .member-district-map{height:190px}
 .has-member-seats .member-district-map svg{height:165px}
 .has-member-seats .detail-visual{height:190px;padding:0;border-right:0}
 .has-member-seats .seat-chart{height:130px;width:100%}
 .has-member-seats .seat-details-right{grid-column:1/-1;height:auto;grid-template-rows:auto auto;gap:16px;border-top:1px solid #c8d6d7;padding-top:16px}
 .has-member-seats .seat-overview{grid-template-columns:1fr;gap:16px}
 .has-member-seats .seat-overview .member-highlights{display:flex;flex-wrap:wrap;gap:10px;margin:0}
 .has-member-seats .seat-overview .member-highlights .chart-kicker{width:100%;margin:0}
 .has-member-seats .seat-overview .member-highlights>a{width:calc(50% - 5px);margin:0;gap:8px}
 .has-member-seats .seat-overview .member-highlights img{width:30px;height:38px}
 .has-member-seats .member-preview{flex-direction:column;align-items:stretch;gap:12px;padding-top:14px}
 .has-member-seats .member-preview .page-action{width:100%;box-sizing:border-box}
 .detail-b.has-board-map{grid-template-columns:1fr;grid-template-rows:auto auto;padding:16px;gap:16px}
 .has-board-map .interactive-board-map{height:205px;padding:0;border-right:0}
 .has-board-map .interactive-board-map svg{height:205px}
 .has-board-map .board-details-right{height:auto;grid-template-rows:auto auto;gap:16px;padding-top:16px;border-top:1px solid #c8d6d7}
 .has-board-map .board-overview{grid-template-columns:1fr;gap:14px}
 .has-board-map .board-member-preview{flex-direction:column;align-items:stretch;gap:12px}
 .has-board-map .board-member-preview .page-action{width:100%;box-sizing:border-box}
 .detail-b:not(.has-member-seats):not(.has-board-map){grid-template-columns:1fr;grid-template-rows:auto;gap:16px}
 .detail-b:not(.has-member-seats):not(.has-board-map) .detail-visual{height:auto;padding:0 0 16px;border-right:0;border-bottom:1px solid #c8d6d7}
 .detail-b:not(.has-member-seats):not(.has-board-map) .compact-extras{grid-column:auto}
 .detail-b .compact-source{position:static}
 .detail-a{height:auto;max-height:none;min-height:0}
 .detail-c{height:auto;max-height:none;min-height:0}
 .detail-c .roster-note{position:static}
}

/* Snapshot page actions reuse the approved 2-4 selector action: 224 × 44px. */
.snapshot-detail .page-action,.snapshot-detail .member-preview .page-action{display:inline-flex;box-sizing:border-box;width:224px;min-width:224px;height:44px;min-height:44px;flex:0 0 224px;padding:8px 12px;gap:8px;font:800 14px/1.25 system-ui;text-align:center;border-radius:4px}
.snapshot-detail .page-action .ptp-inline-page-mark{--ptp-inline-page-mark-color:currentColor;flex:0 0 14px;margin:0;top:0;transform:scale(1.25);transform-origin:center}
.snapshot-detail .page-action .ptp-internal-link-icon{margin:0;flex-shrink:0}
.snapshot-detail .page-action:disabled:hover{transform:none}
@media(max-width:950px){.snapshot-detail .member-preview{flex-wrap:wrap}.snapshot-detail .member-preview .page-action{margin-left:auto}}
@media(max-width:700px){.snapshot-detail .page-action,.snapshot-detail .member-preview .page-action{width:100%;min-width:0;flex:0 0 44px}.snapshot-detail .member-preview .page-action{margin-left:0}}

/* State-specific topics populate the same Snapshot B containers. */
.portrait-grid button{display:block;border:0;padding:0;margin:0;background:transparent;cursor:pointer;min-width:0;color:inherit}
.portrait-grid [data-person].is-active{outline:2px solid #b58a33;outline-offset:2px}
.portrait-grid button:focus-visible{outline:3px solid #b58a33;outline-offset:2px}
.portrait-placeholder{display:grid;place-items:center;height:55px;background:#d4e0df;border:1px solid #acbfc5;font:700 18px Georgia}
.statewide-selection{margin-top:12px;padding-top:10px;border-top:1px solid #c8d6d7}
.statewide-selection strong{display:block;font:700 20px/1.2 Georgia;margin-bottom:4px}
.statewide-selection span,.statewide-selection small{display:block;font-size:12px;line-height:1.35;margin-top:3px;color:#536d78}
.regional-overview{min-width:0}
.regional-overview h3{font-size:21px;margin-bottom:7px}
.regional-overview p{font-size:11px;line-height:1.4;margin-bottom:9px}
.regional-choice-label{font-size:10px;font-weight:800;color:#536d78;display:block}
.regional-member-choice{display:block;margin-top:4px;width:100%;min-width:0;height:32px;padding:4px 32px 4px 10px;border:1px solid #a8bfc5;border-radius:3px;color:#123548;background:#fff;font:600 11px system-ui}
.regional-number{pointer-events:none}.regional-number circle{fill:white;stroke:#123548;stroke-width:1;vector-effect:non-scaling-stroke}.regional-number text{text-anchor:middle;font:800 8px system-ui;fill:#123548}
.regional-body-icon{flex:none;width:45px;height:52px;fill:#f2cf8c;stroke:#123548;stroke-width:1;vector-effect:non-scaling-stroke}
.regional-details .member-selection strong{font-size:16px}
.regional-details .member-selection small{font-size:10px}
@media(min-width:701px){.regional-details{grid-template-rows:minmax(0,1fr) 70px}.regional-details .member-preview{flex-wrap:nowrap}.regional-details .member-selection{flex:1;min-width:0}.regional-details .member-selection .detail-eyebrow{font-size:8px}}
@media(max-width:700px){.regional-overview h3{font-size:22px}.regional-overview p{font-size:12px}.regional-member-choice{height:40px;font-size:12px}.regional-details .member-preview .member-selection strong{font-size:18px}}
.regional-member-choice{appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23123548' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 12px center}
.statewide-selection-counts p{font-size:11px;line-height:1.4;margin:8px 0}
.statewide-selection-counts strong{font-size:16px;margin-right:5px}

/* Keep portrait sizes equal and center every incomplete final row. */
.snapshot-detail .portrait-grid{--portrait-gap:7px;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--portrait-gap)}
.snapshot-detail .portrait-grid>[data-person]{box-sizing:border-box;flex:0 0 calc((100% + var(--portrait-gap))/var(--portrait-columns) - var(--portrait-gap));min-width:0}
.snapshot-detail .portrait-grid img{display:block;box-sizing:border-box}
