:root{--paper:#faf9f5;--ink:#202020;--muted:#62605a;--line:#dfddd5;--yellow:#f4ca2b;--red:#c82e32;--sea:#dfeff3;--sea-ink:#365b67;--serif:Arial,"Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.5 Arial,"Microsoft YaHei",sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer;border:0;background:none;color:inherit}button:disabled{opacity:.4;cursor:not-allowed}button,a,input,summary{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,svg:focus-visible{outline:3px solid #c82e32;outline-offset:4px}button:hover,a:hover{color:var(--red)}[hidden]{display:none!important}svg{vertical-align:middle}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;left:20px;background:#fff;padding:15px;z-index:10}.skip:focus{top:10px}.container{width:min(1400px,100%);margin:auto;padding-inline:40px}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 40px;border-top:5px solid var(--yellow);border-bottom:1px solid var(--line);background:#fff}.brand{display:flex;align-items:center;gap:10px}.brand-mark{position:relative;overflow:hidden;background:var(--yellow);width:38px;height:38px;border-radius:7px;display:grid;place-items:center}.brand-mark:after{content:'';position:absolute;width:15px;height:70px;background:var(--red);transform:rotate(-40deg);right:-15px;top:-10px}.brand-mark svg{width:28px;fill:none;stroke:#202020;stroke-width:3}.brand-word{font-size:23px;font-weight:750;letter-spacing:-1px}.brand-edition{display:block;font-size:9px;letter-spacing:2px;font-weight:500}.header-actions{display:flex;align-items:center;gap:24px}.language-switch{display:flex;gap:4px}.language-switch a{display:grid;place-items:center;min-width:40px;min-height:44px;font-size:12px;border-radius:5px}.language-switch .active{background:var(--yellow);font-weight:700}.header-check{padding:10px 14px;border:1px solid var(--line);border-radius:5px;min-height:44px;font-size:12px}.simple-hero{padding-top:30px;padding-bottom:24px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.5px;color:var(--muted);margin:0 0 8px}.simple-hero h1{font-size:clamp(26px,3vw,40px);line-height:1.2;letter-spacing:-1px;margin:0 0 9px}.simple-hero>p:last-child{margin:0;color:var(--muted);font-size:14px}
.favorites-panel{border:1px solid var(--line);border-radius:6px;background:#fff;margin-bottom:14px;padding:0 16px}.favorites-panel summary{padding:10px 0;min-height:44px;cursor:pointer;font-size:12px;font-weight:700}.favorites-panel summary>span:first-of-type{display:inline-grid;place-items:center;border-radius:50%;background:#f0eee6;min-width:22px;min-height:22px;margin-left:5px;font-size:11px}.home-summary{margin-left:16px;font-weight:400;color:var(--muted)}#favorites-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 22px;max-height:200px;overflow:auto}.favorite-row{display:flex;flex-wrap:wrap;align-items:center;border-bottom:1px solid var(--line);gap:6px}.favorite-open{flex:1;min-height:44px;text-align:left;font-size:12px}.favorite-home{font-size:11px;border:1px solid var(--line);border-radius:4px;padding:6px 8px;min-height:44px}.favorite-home[aria-pressed=true]{background:#fff3bc;border-color:#dbc86d}.favorites-privacy,#favorites-empty,.storage-warning{font-size:12px;color:var(--muted);max-width:850px}.storage-warning{background:#fff2ba;padding:10px}.clear-favorites{font-size:12px;text-decoration:underline;min-height:44px}
.atlas-shell{display:grid;grid-template-columns:minmax(0,1fr) 340px;border:1px solid #d3d0c6;border-radius:8px;overflow:hidden;background:#fff;align-items:stretch}.map-main{background:var(--sea);color:var(--ink);display:flex;flex-direction:column;min-width:0}.map-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:23px 24px 0}.map-header h2{font-size:16px;line-height:1.4;font-weight:500;margin:0}.map-badge{font-size:10px;color:var(--sea-ink);white-space:nowrap}.map-stage{height:490px;min-height:360px;flex:1;position:relative;overflow:hidden}.map-stage>svg{width:100%;height:100%;position:absolute;inset:0;cursor:grab}.map-stage>svg.dragging{cursor:grabbing}.constituency{fill:#f0da85;stroke:#7b734e;stroke-width:.8;transition:fill .18s,opacity .18s;cursor:pointer}.constituency.tone-1{fill:#e5c866}.constituency.tone-2{fill:#efda91}.constituency.tone-3{fill:#e4ce82}.constituency.tone-4{fill:#f4df91}.constituency:hover{fill:#fff0b3}.constituency.is-selected{fill:#e9bd29;stroke:#67500b;stroke-width:2.2}.constituency.is-filtered{opacity:.18}.sea-label{position:absolute;left:17%;top:24%;color:#496b78;font-size:10px;letter-spacing:4px;pointer-events:none}.compass{position:absolute;top:25px;left:25px;display:flex;flex-direction:column;gap:7px;align-items:center;color:var(--sea-ink);font-size:10px;pointer-events:none}.map-controls{position:absolute;right:16px;bottom:40px;display:flex;align-items:center;background:#fff;border-radius:5px;color:#222;box-shadow:0 3px 15px #0003;z-index:1}.map-controls button{display:flex;justify-content:center;align-items:center;gap:6px;min-width:44px;height:44px;padding:0 10px}.map-controls>span{width:1px;height:22px;background:#ddd}.map-controls button span{font-size:11px}.zoom-value{position:absolute;right:18px;bottom:17px;font-size:10px;color:var(--sea-ink)}.map-hint{position:absolute;left:24px;bottom:18px;color:var(--sea-ink);font-size:10px;pointer-events:none}.map-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #b7d6df;padding:13px 24px;gap:12px;color:var(--sea-ink);font-size:10px}.map-legend{display:flex;gap:17px}.map-legend i{display:inline-block;width:9px;height:9px;border-radius:2px;background:#ead175;margin-right:6px}.map-legend i.gold{background:#e9bd29;border:1px solid #67500b}.map-bottom button{font-size:10px;min-height:32px;color:inherit}.map-tooltip{position:absolute;pointer-events:none;background:#fff;color:#222;border-radius:5px;padding:7px 10px;box-shadow:0 3px 20px #0002;z-index:2;font-size:12px}.selected-marker{pointer-events:none;fill:#fff}.marker-halo{fill:#fff3;stroke:#fff;stroke-width:1}.selected-marker text{fill:#fff;paint-order:stroke;stroke:#222;stroke-width:3px;font-size:12px}.map-sidebar{padding:22px;background:#fff;min-width:0}.search-box{display:flex;align-items:center;gap:8px;border:1px solid #d8d6cd;border-radius:5px;padding:0 12px;color:#777;background:#fafaf8}.search-box input{min-width:0;width:100%;border:0;background:transparent;min-height:44px;color:#222;font-size:12px;outline:none}.search-box:focus-within{outline:2px solid #c82e32;outline-offset:2px}.search-box input:focus-visible{outline:none}.sidebar-default{padding:60px 4px;min-height:425px}.empty-map-icon{display:block;color:#b59a30;margin-bottom:18px}.sidebar-default h3{font-size:24px;margin:0 0 12px}.sidebar-default>p{color:var(--muted);font-size:13px;line-height:1.8;margin-bottom:24px}.outline-button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7d4c8;border-radius:5px;min-height:44px;padding:10px 12px;font-size:12px}.outline-button:hover{background:#fff7d6}.sidebar-default .outline-button{width:100%}.sidebar-note{display:flex;gap:7px;padding-top:15px;font-size:10px;color:#716f66;line-height:1.7}.sidebar-note p{margin:0}.sidebar-note svg{flex-shrink:0}.back-link{display:flex;gap:8px;align-items:center;min-height:40px;font-size:11px;color:var(--muted);padding:8px 0}.seat-code{color:var(--red);font-size:11px;font-weight:700}.seat-detail h3{font-size:29px;line-height:1.15;letter-spacing:-.5px;margin:6px 0;overflow-wrap:anywhere}.parliament-line{margin:0;color:#777;font-size:11px}.electorate-total{border-block:1px solid var(--line);padding:15px 0;margin:18px 0 16px}.electorate-total>span{display:block;font-size:12px;color:#62605a}.electorate-total strong{display:block;font-size:38px;line-height:1.2;letter-spacing:-1.4px;margin:4px 0}.electorate-total small{display:block;color:#8c601c;font-size:10px}.ethnicity-section h4{margin:0 0 13px;font-size:13px}.ethnicity-row{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:11px;margin:0 0 9px}.ethnicity-row strong{font-size:11px;font-weight:500}.ethnicity-track{grid-column:1/-1;height:4px;border-radius:4px;background:#f0eee7;overflow:hidden}.ethnicity-track i{display:block;height:100%;background:#d8b52b}.ethnicity-row.is-missing{color:#777}.ethnicity-row.is-missing .ethnicity-track{background:repeating-linear-gradient(90deg,#e8e6df 0 4px,transparent 4px 8px)}.ethnicity-section>p{font-size:10px;line-height:1.7;color:#706c62;margin:14px 0 0}.source-button{min-height:38px;text-decoration:underline;text-underline-offset:3px;padding:0;font-size:10px;display:flex;gap:6px;align-items:center}.seat-preference-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.seat-preference-actions .outline-button{font-size:11px;padding-inline:6px}.seat-preference-actions [aria-pressed=true]{background:#fff1ae;border-color:#dac46d}.seat-results{margin-top:20px}.results-heading{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-bottom:10px}.seat-list-item{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;border-top:1px solid var(--line);text-align:left;font-size:12px}.seat-list-item>span:first-child{color:#777;font-size:10px}.seat-list-item>span:last-child{margin-left:auto}#seat-list{max-height:480px;overflow:auto}.atlas-caption{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#777;padding:10px 0}.atlas-caption>span{display:flex;gap:5px;align-items:center}.atlas-caption>span:last-child{white-space:nowrap}
.quick-links{display:flex;align-items:center;gap:24px;padding-top:14px;padding-bottom:24px;font-size:12px;flex-wrap:wrap}.quick-links>a,.quick-links>button{min-height:44px;display:flex;align-items:center}.quick-links .outline-button{background:#fff}.more-info>summary{border-top:1px solid var(--line);padding:18px 0;cursor:pointer;font-size:13px;font-weight:600}.more-info .container{padding-inline:0}.timeline-section{padding-block:15px 20px}.section-heading h2{font-size:23px;margin:0}.section-heading>p{font-size:12px;color:var(--muted);margin-bottom:25px}.timeline-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.timeline-card{border-top:2px solid #dedbd1;padding-top:12px}.timeline-card.confirmed{border-color:var(--yellow)}.timeline-card-top{display:flex;justify-content:space-between;color:#888;font-size:10px}.timeline-card p{font-size:12px;margin:10px 0 6px}.timeline-card h3{font-size:18px;margin:0 0 9px}.timeline-card small{color:#777;font-size:10px}.timeline-foot{display:flex;gap:20px;align-items:center;font-size:11px;color:#777;margin-top:18px}.timeline-foot a{white-space:nowrap}.secondary-links{display:flex;gap:25px;align-items:center;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-block:20px}.secondary-links>button{flex-shrink:0}.community-section{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding-block:20px}.community-card{padding:24px;border:1px solid var(--line);border-radius:5px}.community-card h2{font-size:23px;line-height:1.3;margin:12px 0}.community-card p{font-size:13px;color:var(--muted);line-height:1.8}.community-card .community-note{font-size:11px}.contact-email{display:flex;align-items:center;gap:10px;font-size:19px;min-height:44px;margin-block:15px;overflow-wrap:anywhere}.support-card{background:#f5f0dd}.support-status{display:block;font-size:11px;color:#777;margin-top:10px}.solid-button{display:flex;justify-content:center;align-items:center;gap:12px;width:100%;min-height:46px;padding:11px 15px;background:#222;color:white;border-radius:5px;font-size:13px}.solid-button:hover:not(:disabled){background:#b0252b;color:#fff}.site-footer{padding-block:20px 28px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;border-top:1px solid var(--line);padding-top:20px}.footer-brand{font-size:20px;font-weight:700;letter-spacing:-.7px}.footer-brand>span{font-size:10px;background:var(--yellow);padding:2px 5px;border-radius:3px}.footer-top>p{display:none}.footer-top>div{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.footer-top button,.channel-link{font-size:11px;min-height:44px;display:flex;align-items:center;gap:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#777;margin-top:15px}.footer-bottom>span{display:none}
.modal{border:1px solid #ddd8c9;background:var(--paper);color:var(--ink);max-width:540px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:36px;border-radius:10px;box-shadow:0 20px 100px #0005}.modal::backdrop{background:#111a}.modal[open]{animation:dialog-in .2s ease-out}.modal-close{position:absolute;top:9px;right:9px;width:40px;height:40px;display:grid;place-items:center}.modal h2{font-size:25px;line-height:1.3;margin:12px 0 20px}.modal>p{font-size:13px;line-height:1.8;color:var(--muted)}.modal .modal-lead{font-weight:600;color:#222}.modal-icon{display:inline-grid;place-items:center;background:#ffed9a;width:50px;height:50px;border-radius:50%}.official-domain{background:#f0ece0;border:1px solid var(--line);padding:14px;border-radius:5px;margin:20px 0}.official-domain>span{display:block;font-size:10px;color:#777}.official-domain strong{font-size:17px;overflow-wrap:anywhere}.modal p.small-note{font-size:11px}.consent-row{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.7;margin:24px 0;cursor:pointer}.consent-row input{width:18px;height:18px;accent-color:#b0252b;flex-shrink:0;margin:3px 0}.modal-cancel{display:block;min-height:44px;width:100%;font-size:12px;margin-top:8px}.source-list{padding:0;list-style:none}.source-list li{border-top:1px solid var(--line);padding:14px 0;font-size:13px}.source-list a{text-decoration:underline;text-underline-offset:3px}.source-list button{text-align:left;padding:0}.question-steps{list-style:none;padding:0}.question-steps li{display:flex;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.question-steps span{color:#b0252b}.support-pending{padding:17px;background:#f4eed7;margin:20px 0;font-size:13px}.support-pending p{line-height:1.8}.noscript-note{padding:20px;background:#fff0ad;font-size:13px}@keyframes dialog-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.container{padding-inline:24px}.site-header{padding-inline:24px}.atlas-shell{grid-template-columns:minmax(0,1fr) 300px}.map-header{display:block}.map-badge{display:block;margin-top:5px}.map-stage{min-height:450px}.map-sidebar{padding:18px}.footer-top{align-items:flex-start}.footer-top>div{justify-content:flex-end;gap:12px}.map-bottom{flex-wrap:wrap}}
@media(max-width:700px){.container{padding-inline:18px}.site-header{padding:10px 18px}.brand-word{font-size:20px}.brand-mark{width:33px;height:33px}.brand-edition{font-size:8px}.header-check{display:none}.header-actions{gap:0}.language-switch{gap:0}.language-switch a{min-width:33px}.simple-hero{padding-top:23px;padding-bottom:19px}.simple-hero h1{font-size:28px;letter-spacing:-.6px}.simple-hero>p:last-child{font-size:13px}.simple-hero .eyebrow{font-size:9px}.atlas-shell{grid-template-columns:1fr}.map-header{padding:18px 18px 0;display:flex;align-items:flex-start;gap:10px}.map-header h2{font-size:14px}.map-badge{font-size:8px;margin:3px 0 0;white-space:normal;max-width:140px;text-align:right}.map-stage{min-height:0;height:300px;flex:auto;scroll-margin-top:12px}.map-controls{right:12px;bottom:30px}.map-controls button{height:44px;min-width:40px;padding:0 8px}.map-controls button span{font-size:10px}.map-hint{left:15px;font-size:9px;bottom:11px;max-width:200px}.zoom-value{bottom:10px;font-size:9px}.compass{left:18px;top:18px;transform:scale(.8);transform-origin:top left}.sea-label{font-size:8px;letter-spacing:2px}.map-bottom{padding:9px 16px;font-size:9px;gap:5px}.map-bottom button{font-size:9px}.map-sidebar{padding:18px}.search-box input{font-size:16px}.search-box input::placeholder{font-size:12px}.sidebar-default{min-height:0;padding:25px 0 5px}.empty-map-icon{display:none}.sidebar-default h3{font-size:22px}.sidebar-default>p{margin-bottom:16px}.seat-detail h3{font-size:29px}.electorate-total strong{font-size:40px}.electorate-total small{font-size:11px}.ethnicity-row,.ethnicity-row strong{font-size:13px}.ethnicity-row{margin-bottom:12px}.ethnicity-section>p{font-size:12px}.source-button{font-size:12px;min-height:44px}.seat-preference-actions .outline-button{font-size:12px}.sidebar-note{font-size:11px}.home-summary{display:block;margin-left:15px;margin-top:3px;font-size:11px}#favorites-list{grid-template-columns:1fr}.favorites-privacy{font-size:11px}.atlas-caption>span:last-child{display:none}.atlas-caption{font-size:10px}.quick-links{gap:8px 20px;padding-top:6px;padding-bottom:14px;font-size:12px}.more-info>summary{font-size:12px}.timeline-grid{grid-template-columns:1fr 1fr;gap:22px}.timeline-foot{display:block}.timeline-foot a{display:inline-flex;min-height:44px;align-items:center}.community-section{grid-template-columns:1fr;gap:16px}.community-card{padding:20px}.secondary-links{display:block}.secondary-links span{display:block;margin-top:14px}.footer-top{display:block}.footer-top>div{justify-content:flex-start;margin-top:12px;gap:4px 18px}.footer-bottom{display:block;font-size:10px}.modal{padding:30px 24px}.modal h2{font-size:23px}.modal>p{font-size:14px}.modal .small-note{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* SVG focus must follow the geography, not a zoom-scaled browser rectangle. */
.constituency:focus{outline:none}
.constituency:focus-visible{outline:none;stroke:#fff;stroke-width:3;stroke-dasharray:4 3}
#constituency-map{touch-action:pan-y pinch-zoom;-webkit-tap-highlight-color:transparent}
#constituency-map:focus-visible{outline:2px solid var(--yellow);outline-offset:-4px}
.atlas-search{margin-bottom:12px}
.atlas-search .search-box{background:#fff;max-width:440px}
.atlas-search .search-box input{font-size:14px}
@media(max-width:700px){
  .site-header{gap:8px}.header-actions{flex-shrink:0}.brand{gap:7px}.brand-word{font-size:18px}.brand-edition{font-size:7px;letter-spacing:1.5px}
  .simple-hero{padding-top:18px;padding-bottom:16px}.simple-hero h1{font-size:25px}.simple-hero .eyebrow{margin-bottom:6px}
  .favorites-panel{margin-bottom:10px}.atlas-search{margin-bottom:10px}.atlas-search .search-box{max-width:none}.atlas-search .search-box input{font-size:16px}
  .map-stage{height:clamp(230px,36svh,300px);scroll-margin-top:8px}
  .map-controls{right:10px;bottom:29px}.map-controls button{min-width:44px;height:44px}
  .map-bottom{padding:7px 14px}.map-bottom button{min-height:44px;font-size:10px}
  .map-header{padding:14px 14px 0}.compass{top:14px;left:16px}.map-sidebar{padding:14px 16px 18px}
  .seat-detail{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}
  .seat-detail .back-link{grid-column:1/-1;min-height:44px;padding-top:0}
  .seat-detail .seat-code{grid-column:1;grid-row:2}
  .seat-detail h3{grid-column:1;grid-row:3;font-size:25px;margin:5px 0 7px}
  .seat-detail .parliament-line{grid-column:1;grid-row:4;font-size:11px}
  .seat-detail .electorate-total{grid-column:2;grid-row:2/5;border:0;margin:0;padding:0;text-align:right;max-width:145px;align-self:center}
  .electorate-total>span{font-size:11px}.electorate-total strong{font-size:32px;margin:2px 0}.electorate-total small{font-size:10px;line-height:1.5}
  .seat-detail .ethnicity-section{grid-column:1/-1;border-top:1px solid var(--line);padding-top:18px;margin-top:18px}
  .seat-detail .seat-preference-actions{grid-column:1/-1}.ethnicity-section h4{font-size:14px}
  .seat-results{margin-top:0}#seat-list{max-height:320px}.seat-list-item{min-height:48px;font-size:14px}
  .map-sidebar:has(.seat-results:not([hidden])){order:-1;border-bottom:1px solid var(--line)}
  .map-sidebar:has(.seat-results:not([hidden])) .sidebar-note{display:none}
  .language-switch a{min-height:44px}.quick-links{gap:6px 18px}.footer-top>div{gap:4px 16px}
}
@media(max-width:350px){.container{padding-inline:12px}.site-header{padding-inline:12px}.brand-word{font-size:16px}.brand-mark{width:28px;height:28px}.language-switch a{min-width:31px}.seat-detail h3{font-size:22px}.seat-detail .electorate-total{max-width:125px}.electorate-total strong{font-size:29px}}
@media(max-width:700px) and (max-height:500px){.map-stage{height:210px}}

/* Shared archive typography, progressive disclosure and sharing. */
.archive-page{max-width:1200px;padding-top:26px;padding-bottom:60px}
.archive-breadcrumb{display:flex;gap:20px;align-items:center;min-height:44px;color:var(--muted);font-size:12px}.archive-breadcrumb a{display:inline-flex;align-items:center;min-height:44px}.archive-breadcrumb>span{padding-left:20px;border-left:1px solid var(--line)}
.archive-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:26px 0 30px;margin-bottom:26px;border-bottom:1px solid var(--line)}.archive-hero>div{min-width:0}.archive-hero h1{font-size:clamp(30px,4.5vw,56px);line-height:1.12;letter-spacing:-1.5px;margin:0;overflow-wrap:anywhere}.archive-hero>div>p:last-child:not(.eyebrow){color:var(--muted);margin:14px 0 0}
.archive-layout{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,1fr);gap:28px;align-items:start}.archive-card{display:block;padding:26px 28px;background:#fff;border:1px solid var(--line);border-radius:6px;min-width:0}.archive-card h2{font-size:19px;margin:0 0 14px;line-height:1.5}.archive-main{border-top:3px solid var(--yellow)}.archive-main .historic-name{font-size:21px}.archive-main .historic-tally strong{font-size:28px}.archive-main .archive-note{max-width:58ch}.archive-aside{display:grid;gap:24px}
.voter-reference>strong{display:block;font-size:44px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.voter-reference>span{font-size:13px;font-weight:600}.voter-reference>p,.profile-context p{color:var(--muted);font-size:12px;line-height:1.8}.voter-reference h2{font-size:14px;padding-top:18px;border-top:1px solid var(--line);margin-top:22px}.profile-ethnicity{display:flex;justify-content:space-between;gap:12px;font-size:12px;padding:7px 0}.profile-ethnicity b{font-variant-numeric:tabular-nums}.archive-sources{padding-left:16px;font-size:12px;color:var(--muted);line-height:1.8}.archive-sources a{display:inline-block;padding-block:8px;text-decoration:underline;text-underline-offset:3px}
.person-seat-link{display:inline-flex;align-items:center;min-height:44px;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:4px}.person-stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px 0;margin-top:12px;border-top:1px solid var(--line)}.person-stat-grid>div{display:flex;flex-direction:column;gap:6px}.person-stat-grid span{font-size:12px;color:var(--muted)}.person-stat-grid strong{font-size:30px;font-variant-numeric:tabular-nums;line-height:1.3}.person-stat-grid .outcome-text{font-size:22px}.archive-number{font-size:64px;font-weight:700;line-height:1;letter-spacing:-3px;color:#b69b39;display:block;margin-bottom:20px}.archive-main>.earlier-history{border-top:1px solid var(--line);margin-top:20px;padding-top:8px}.no-earlier{border-top:1px solid var(--line);padding-top:20px;margin-top:20px}
.public-field{border-bottom:1px solid var(--line);padding:22px 0}.public-field h2{font-size:13px;color:var(--muted);margin:0 0 6px}.public-field p{white-space:pre-line;overflow-wrap:anywhere;margin:0;font-size:15px;line-height:1.9}.update-directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.update-directory h2{margin:14px 0 0;font-size:20px;overflow-wrap:anywhere}.update-directory small{color:var(--muted)}.pagination{display:flex;align-items:center;justify-content:center;gap:24px;margin-top:30px}.pagination a{display:grid;place-items:center;min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:4px}
.share-actions{display:inline-flex;align-items:center;gap:12px;flex-wrap:wrap}.share-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;white-space:nowrap}.share-copy{min-height:44px;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.share-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:40;margin:0;background:var(--ink);color:#fff;padding:12px 20px;border-radius:6px;box-shadow:0 4px 24px #0002;max-width:calc(100% - 32px);text-align:center;font-size:14px}.share-toast:empty{display:none}
.share-dialog input{width:100%;padding:14px;border:1px solid var(--line);border-radius:5px;margin:6px 0 24px;background:#fff;color:var(--ink);font-size:16px}
@media(max-width:700px){.archive-hero>.share-actions{margin-top:20px}}
.archive-overview{margin-bottom:22px}.archive-overview-shell{display:grid;grid-template-columns:1fr auto;gap:12px 32px;padding:20px 24px;background:#242522;color:#fff;border-radius:6px}.archive-overview .eyebrow{color:var(--yellow)}.archive-overview h2{font-size:16px;margin:0}.archive-overview-shell>div>p:last-child{margin:4px 0 0;color:#d2d0c7;font-size:12px}.coalition-results{display:flex;gap:32px;align-items:center}.coalition-results>span{display:flex;align-items:baseline;gap:10px}.coalition-results b{font-size:12px;font-weight:500;color:#d2d0c7}.coalition-results strong{font-size:32px;letter-spacing:-1px;font-variant-numeric:tabular-nums;color:var(--yellow)}.archive-overview-note{grid-column:1/-1;margin:0;font-size:11px;color:#d2d0c7}
.map-history{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;grid-column:1/-1;min-width:0}.map-history h4{font-size:16px;margin:0 0 8px}.archive-note{font-size:12px;line-height:1.8;color:var(--muted);margin:8px 0 16px}.archive-warning{padding:12px 14px;background:#fff3ca;border-left:3px solid var(--yellow);font-size:13px}.result-summary{display:flex;flex-wrap:wrap;gap:8px 24px;padding:12px 0;font-size:12px;color:var(--muted);border-bottom:1px solid var(--line)}.result-summary strong{color:var(--ink);margin-left:4px}.historical-results{list-style:none;margin:0;padding:0}.historic-candidate{padding:18px 0;border-bottom:1px solid var(--line)}.historic-candidate:last-child{border-bottom:0}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:12px}.historical-party{font-size:12px;font-weight:700;letter-spacing:.5px}.outcome{font-size:11px;color:var(--muted);padding:3px 8px;border-radius:3px;background:#f0efe9}.outcome.elected{background:#f9edba;color:#493d13}.historic-name{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:6px 0;font-size:17px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.historic-name>span{font-size:14px;font-weight:400}.historic-tally{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-variant-numeric:tabular-nums}.historic-tally strong{font-size:23px;letter-spacing:-.5px}.historic-tally small{font-size:12px;font-weight:400;letter-spacing:0}.historic-tally>span{font-size:13px;color:var(--muted)}.historic-track{height:4px;background:#efede4;margin:10px 0 2px;border-radius:3px;overflow:hidden}.historic-track i{display:block;height:100%;background:#b69b39}.archive-source{display:inline-flex;align-items:center;min-height:44px;font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.earlier-history{margin-top:10px}.earlier-history summary{min-height:44px;padding:12px 0;cursor:pointer;font-size:12px;font-weight:600}.earlier-history summary>span{display:inline-grid;place-items:center;min-width:22px;min-height:22px;background:#f0eee7;font-size:11px;border-radius:50%;margin-left:8px}.career-list{list-style:none;padding:0;margin:0}.career-list li{display:grid;grid-template-columns:1fr auto;gap:12px;padding:13px 0;border-top:1px solid var(--line);font-size:12px}.career-list li>div{display:flex;flex-direction:column;gap:3px}.career-list li>div:last-child{text-align:right}.career-list small,.career-list li>div:last-child span{color:var(--muted);font-size:11px}.career-list li>div:last-child strong{font-size:11px;font-weight:500}.seat-permalink{display:inline-flex;min-height:44px;align-items:center;font-size:12px;font-weight:600;margin-right:12px}.map-history>.share-button{font-size:12px}#history-status{font-size:12px;color:var(--muted)}#history-status:empty{display:none}.seat-directory{margin:14px auto}.seat-directory summary{min-height:44px;cursor:pointer;font-size:12px;padding-block:12px}.seat-directory nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 24px;padding:12px 0 24px}.seat-directory a{display:flex;gap:10px;align-items:center;min-height:44px;font-size:12px;border-top:1px solid var(--line)}.seat-directory a span{color:var(--muted);font-size:11px}
@media(min-width:701px){.map-sidebar{max-height:740px;overflow-y:auto;scrollbar-width:thin}.map-history .historic-name{font-size:15px}.map-history .historic-tally strong{font-size:21px}.header-actions{gap:16px}.header-actions .share-button{font-size:12px}}
@media(max-width:1000px) and (min-width:701px){.archive-layout{grid-template-columns:minmax(0,1.4fr) minmax(250px,1fr);gap:20px}.archive-card{padding:22px}.coalition-results{gap:22px}}
@media(max-width:700px){.header-actions .share-button{padding:8px;margin-left:8px}.header-actions .share-button span{display:none}.archive-overview{margin-bottom:16px}.archive-overview-shell{padding:16px;gap:8px 12px}.archive-overview h2{font-size:14px}.archive-overview-shell>div>p:last-child{font-size:10px}.coalition-results{gap:16px}.coalition-results>span{display:block}.coalition-results b{display:block;font-size:10px}.coalition-results strong{font-size:26px}.archive-overview-note{font-size:10px;line-height:1.7}.map-history{margin-top:16px;padding-top:16px}.map-history .historic-name{font-size:17px}.seat-directory nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.archive-page{padding-top:12px;padding-bottom:32px}.archive-breadcrumb{font-size:11px;flex-wrap:wrap;gap:0 12px}.archive-breadcrumb>span{padding-left:12px}.archive-hero{display:block;padding:24px 0;margin-bottom:20px}.archive-hero h1{font-size:36px;letter-spacing:-1px}.archive-hero>.share-button{margin-top:20px}.archive-hero .eyebrow{font-size:9px;letter-spacing:1px}.archive-layout{grid-template-columns:1fr;gap:20px}.archive-card{padding:22px 20px}.archive-main .historic-name{font-size:19px}.archive-card h2{font-size:18px}.archive-aside{gap:20px}.person-stat-grid{gap:20px 12px}.person-stat-grid strong{font-size:27px}.person-stat-grid .outcome-text{font-size:20px}.career-list li{grid-template-columns:minmax(0,1fr) auto;gap:10px}.career-list li>div{min-width:0;overflow-wrap:anywhere}.archive-number{font-size:48px}.profile-context{padding-block:22px}.update-directory{grid-template-columns:1fr;gap:14px}.archive-hero>div>p:last-child{font-size:13px}}
@media(max-width:360px){.coalition-results{gap:12px}.coalition-results strong{font-size:23px}.archive-overview h2{font-size:12px}.archive-hero h1{font-size:30px}.archive-card{padding:20px 16px}.header-actions .share-button{margin-left:2px}.career-list li{font-size:11px}}

/* A compact historical overview; expanded detail stays optional. */
.overview-section{margin-bottom:22px}.overview-shell{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:32px;background:#fff;border-top:3px solid var(--yellow);padding:20px 24px 12px}.overview-total h2,.overview-top h3{font-size:13px;font-weight:600;margin:0 0 8px}.overview-total>strong{display:block;font-size:40px;letter-spacing:-1.5px;line-height:1.2;font-variant-numeric:tabular-nums}.overview-total p{margin:8px 0 4px;font-size:12px;color:var(--muted)}.overview-total>span{font-size:11px;color:var(--muted)}.overview-top ol{list-style:none;margin:0;padding:0}.ranked-seat{display:flex;align-items:center;gap:14px;min-height:50px;padding:6px 0;border-bottom:1px solid var(--line)}.overview-top li:last-child .ranked-seat{border-bottom:0}.rank-number{font-size:12px;color:var(--red);font-weight:700}.rank-name{flex:1;font-weight:600}.rank-name small,.rank-value small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:2px}.rank-value{text-align:right;font-size:17px;font-weight:600;font-variant-numeric:tabular-nums}.distribution-details{background:#fff;padding:0 24px;border-top:1px solid var(--line)}.distribution-details summary{font-size:12px;min-height:44px;padding:13px 0;cursor:pointer}.distribution-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding:10px 0}.distribution-band h3{font-size:12px;margin:0;color:var(--muted)}.distribution-band p{margin:8px 0}.distribution-band p strong{font-size:22px}.distribution-track{height:5px;background:#f1eee4;border-radius:3px;overflow:hidden}.distribution-track i{display:block;height:100%;background:var(--red)}.distribution-band>span,.distribution-note{font-size:11px;color:var(--muted)}.distribution-band>span{display:block;margin-top:8px}.distribution-note{margin-bottom:0}.candidate-section{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.candidate-section summary{min-height:44px;cursor:pointer;font-weight:600;padding:10px 0;font-size:13px}.candidate-section summary>span{display:block;font-size:11px;font-weight:400;color:var(--muted);margin:4px 0 0 15px}.candidate-section>p{color:var(--muted);font-size:12px}.candidate-example{border:1px solid var(--line);border-radius:6px;padding:20px;margin:20px 0}.candidate-example-header{display:flex;align-items:center;gap:16px}.portrait-placeholder{display:grid;place-items:center;width:66px;height:78px;background:#f0eee6;flex-shrink:0;border-radius:4px;color:#77736a}.candidate-example h3{font-size:18px;margin:0}.candidate-example-header p{font-size:12px;color:var(--muted);margin:5px 0}.candidate-example ul{padding-left:18px;font-size:13px;line-height:2}.candidate-example-actions{display:flex;flex-wrap:wrap;gap:10px 18px;font-size:12px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}
@media(max-width:700px){.overview-section{margin-bottom:16px}.overview-shell{grid-template-columns:1fr;gap:16px;padding:16px}.overview-total{display:grid;grid-template-columns:1fr auto;gap:2px 12px;align-items:center}.overview-total h2{font-size:12px;margin:0}.overview-total>strong{font-size:30px;grid-column:2;grid-row:1/3}.overview-total p{margin:2px 0;font-size:11px}.overview-total>span{grid-column:1/-1;font-size:10px;margin-top:4px}.overview-top h3{font-size:12px;margin-bottom:3px}.ranked-seat{min-height:48px;gap:10px}.rank-name{font-size:13px}.rank-value{font-size:15px}.distribution-details{padding-inline:16px}.distribution-grid{grid-template-columns:1fr;gap:18px}.distribution-band p{margin:4px 0}.candidate-section{grid-column:1/-1}.candidate-example{padding:16px}}
/* Compact result rows: the tinted area encodes vote share; text remains primary. */
.historical-results .compact-candidate {background:linear-gradient(to right,var(--party-tint) 0 var(--vote-share),#fff var(--vote-share) 100%);border:1px solid #dce3e3;border-left:4px solid var(--party-color);border-radius:10px;padding:14px 16px;margin-bottom:10px;overflow:hidden}
.compact-candidate .candidate-top {display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:12px;align-items:center}
.compact-candidate .candidate-portrait {width:52px;height:66px;border-radius:5px}
.compact-candidate .historic-name {font-size:16px;line-height:1.35;margin:0;overflow-wrap:anywhere}
.compact-candidate .candidate-identity {min-width:0}
.compact-candidate .outcome {font-size:11px;padding:3px 7px;margin-bottom:5px}
.compact-candidate .historic-tally {margin:12px 0 5px;padding:0;border:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.compact-candidate .historic-tally strong {font-size:22px;line-height:1.2}
.compact-candidate .historic-tally small,.compact-candidate .historic-tally>span {font-size:14px}
.candidate-emblem {display:flex;align-items:center;flex-direction:column;justify-content:center;gap:2px;font-size:11px;font-weight:750;line-height:1.25;max-width:66px;text-align:center;color:#283c43}
.candidate-emblem img {display:block;width:44px;height:44px;object-fit:contain;background:#fff;border-radius:3px}
.candidate-emblem span{overflow-wrap:anywhere}
.candidate-details {margin-top:8px;font-size:13px}
.candidate-details>summary {min-height:44px;padding:12px 0;cursor:pointer;color:#52636a;font-size:12px;width:fit-content}
.candidate-details[open] {background:#ffffffdc;border-radius:5px;padding:0 8px 8px}
.candidate-details .candidate-affiliation {margin-top:6px;padding-top:10px}
.candidate-details .photo-credit {font-size:12px}
.seat-tools {display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}
.seat-tools button {font-size:13px;min-height:44px}
.seat-winners {border-top:1px solid #d3dfe1;margin-top:24px;padding-top:16px}
.seat-winners>summary {cursor:pointer;font-weight:750;min-height:44px;padding:10px 0;font-size:16px}
.winner-timeline {padding:0;list-style:none;margin:12px 0}
.winner-timeline li {display:grid;grid-template-columns:94px minmax(0,1fr);gap:12px;padding:16px 0;border-bottom:1px solid #e2e9ea;font-size:14px;line-height:1.6}
.winner-timeline p {margin:3px 0;color:#52636a}
.winner-year {display:flex;flex-direction:column;font-size:12px;color:#52636a}.winner-year strong{color:#243941;font-size:16px}
.winner-timeline a {font-size:12px;color:#3c6776}.winner-timeline strong{overflow-wrap:anywhere}
.seat-card-dialog {max-width:620px;width:calc(100% - 24px);max-height:90dvh;padding:20px;border:0;border-radius:12px;overflow:auto;background:#f7fafb;color:#213840}
.seat-card-dialog::backdrop {background:#17343ccc}.seat-card-dialog header{display:flex;justify-content:space-between;gap:16px;align-items:center}.seat-card-dialog h2{font-size:20px;margin:0}
.seat-card-dialog header button{border:0;background:transparent;font-size:28px;min-width:44px;min-height:44px}
.seat-card-dialog label{display:block;font-size:13px;margin-top:16px}.seat-card-dialog select{width:100%;padding:12px;border:1px solid #a8bec7;border-radius:6px;font:inherit;background:#fff;margin-top:5px}
.seat-card-dialog img{width:100%;height:auto;border:1px solid #d6e1e5;display:block}.seat-card-dialog img[hidden]{display:none}
.seat-card-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.seat-card-actions [hidden]{display:none}
.seat-card-dialog button:focus-visible,.seat-card-dialog a:focus-visible,.candidate-details summary:focus-visible{outline:3px solid #1c7996;outline-offset:3px}

/* A reading page; reserved advertisements have no rendered layout. */
.privacy-page{max-width:760px;margin:0 auto;padding-block:20px 40px;overflow-wrap:anywhere}.privacy-page h1{font-size:clamp(30px,5vw,48px)}.privacy-page h2{font-size:21px;margin:30px 0 10px}.privacy-page p{line-height:1.85}.privacy-intro{font-size:18px}.privacy-page a{text-decoration:underline}.privacy-page section{border-top:1px solid #dae2e5;margin-top:24px}

.language-preference{border:0;border-top:6px solid #d72c3b;border-radius:16px;width:calc(100% - 32px);max-width:440px;max-height:90dvh;overflow:auto;padding:28px;color:#163441;background:#fff}.language-preference::backdrop{background:#18303d80}.language-preference h2{font-size:28px;line-height:1.25;margin:0 0 14px}.language-preference h2 span{display:block;font-size:17px;font-weight:500;line-height:1.4;margin-top:10px}.language-preference p{font-size:13px;line-height:1.6;color:#556b73}.language-preference>div{display:grid;gap:10px;margin-top:24px}.language-preference button{min-height:48px;padding:10px 16px;border-radius:8px;font-size:17px}.language-preference>div button{background:#edf6f8;border:1px solid #b7d6de;text-align:left}.language-preference>div button:hover{background:#ffdf57}.language-preference #language-preference-dismiss{margin-top:12px;color:#526771;font-size:14px;width:100%}
