/* Reader-specific presentation; private controls are absent from the document. */
body[data-access="public"][data-view="overview"] .context-banner,body[data-access="public"][data-view="constituency"] .context-banner,body[data-access="public"][data-view="population"] .context-banner,body[data-access="public"][data-view="guide"] .context-banner,body[data-access="public"][data-view="history"] .context-banner{display:none!important}
body[data-access="public"] .newsroom-header .election-section-nav{gap:17px}
body[data-access="public"] .newsroom-header .election-section-nav .nav-item{white-space:nowrap}
body[data-access="public"] .page-heading{align-items:flex-start}
body[data-access="public"] .page-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
body[data-access="public"] .page-footer>span:last-child{display:inline}
.public-admin-link{color:#745687;text-decoration:underline;text-underline-offset:3px;font-size:13px;font-weight:600;white-space:nowrap}
.public-admin-link:focus-visible{outline:3px solid #ad8ac9;outline-offset:4px}
body[data-access="public"] .election-section-nav[hidden]{display:none!important}
@media(max-width:520px){body[data-access="public"] .page-footer{align-items:flex-start;flex-direction:column}.public-admin-link{font-size:13px}}

/* A compact masthead, discoverable administration and one mobile section menu. */
body[data-access="public"] .page-heading{margin-bottom:18px}
body[data-access="public"] .masthead{height:90px}
body[data-access="public"] .masthead-edition{top:37px}
.public-admin-link{color:#67477d;font-weight:650}
.public-admin-header{position:absolute;right:36px;top:35px;display:inline-flex;align-items:center;gap:6px}
body[data-access="public"] .newsroom-header .election-section-nav{gap:22px;min-height:53px}
body[data-access="public"] .newsroom-header .election-section-nav .nav-item{min-height:53px;font-size:14px;padding-top:13px;padding-bottom:11px}
.public-section-picker{display:none}
.public-section-picker[hidden]{display:none!important}
.public-map-options{border:0;min-width:0}
.public-map-options>summary{display:none}
.public-map-options:not([open])>.map-select-controls{display:none}
.public-party-pending>.ea-party-summary,.public-party-pending>.ea-note,.public-party-pending>.ea-turnout-table-heading,.public-party-pending>.ea-table-wrap,.public-party-pending>.ea-table-count,.public-party-pending>.ea-card-source{display:none}
.public-party-pending-message{border-top:1px solid #e7e0ee;padding-top:20px}
.public-party-pending-message h3{font-size:21px;color:#513d62;margin:0 0 9px}
.public-party-pending-message p{font-size:15px;color:#6d6277;max-width:790px;margin:0 0 17px;line-height:1.7}
.public-pending-actions{display:flex;gap:10px;flex-wrap:wrap}
.public-registration-meta{display:none}
/* Empty summaries remain visible; actual results retain the full tally layout. */
body[data-access="public"] .nr-banner:has(.nr-empty-bar){padding:17px 22px;margin:17px 0 22px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-header{align-items:center;margin-bottom:13px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-header h2{font-size:21px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-eyebrow{font-size:11px;margin-bottom:4px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-source-status{display:flex;align-items:center;gap:10px;font-size:12px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-rank,
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-party,
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-percentage,
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-combined-bar{display:none}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-group h3{font-size:17px;min-height:0;margin:0 0 4px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-figures{display:flex;align-items:center}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-figures>div:first-child{display:flex;align-items:center;gap:7px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-figures strong{font-size:24px}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-footer{font-size:12px;margin-top:12px;line-height:1.6}
body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-footer>span:last-child{display:none}

@media(max-width:1100px){
 body[data-access="public"] .newsroom-header .election-section-nav{gap:15px;padding:0 15px}
 body[data-access="public"] .newsroom-header .election-section-nav .nav-item{font-size:13px}
}
.reader-refresh-toggle{display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;border:1px solid #cadbe4;border-radius:4px;background:white;color:#426b7e;padding:9px 12px;min-height:38px;cursor:pointer;font:inherit;font-size:12px!important}
.reader-refresh-toggle:before{content:'\275A\275A';font-size:10px;margin-right:7px;letter-spacing:1px;color:#247f76}
.reader-refresh-toggle[aria-pressed=true]{background:#fff5de;border-color:#dfc27e;color:#826527}
.reader-refresh-toggle[aria-pressed=true]:before{content:'\25B6';color:#826527;letter-spacing:0}
.reader-refresh-toggle:focus-visible{outline:3px solid #79bfc4;outline-offset:3px}
body[data-access="public"] .desk-live-status #pauseRefreshBtn{width:auto!important;min-width:116px;min-height:40px;flex:0 0 auto;font-size:12px!important;padding:8px 10px}
/* On a phone, let the full masthead scroll away so it cannot cover the map. */
@media(max-width:700px){html:has(body[data-access="public"]){--reader-sticky-height:0px!important;scroll-padding-top:12px}body[data-access="public"] #readerStickyHeader{position:relative!important;top:auto!important;max-height:none!important;overflow:visible!important}}
@media(max-width:700px){body[data-access="public"] .desk-live-status{display:grid!important;grid-template-columns:10px minmax(0,1fr) auto 40px;align-items:center;gap:6px;padding:5px 8px}body[data-access="public"] .desk-live-status #connection{display:block!important;width:10px;overflow:hidden;white-space:nowrap;font-size:0!important}body[data-access="public"] .desk-live-status #connection i{display:none}body[data-access="public"] .desk-live-status #connection:before{content:'';display:block;width:7px;height:7px;background:#78b0a3;border-radius:50%}body[data-access="public"] .desk-live-status #connection.offline:before{background:#b94d4d}body[data-access="public"] .desk-live-status time{font-size:11px!important;margin:0;min-width:0}body[data-access="public"] .desk-live-status #pauseRefreshBtn{min-width:116px;min-height:40px;font-size:11px!important}body[data-access="public"] .desk-live-status #refreshBtn{width:40px!important;height:40px!important;min-width:40px;min-height:40px}}
@media(max-width:900px){.desk-live-status{flex-wrap:wrap}.reader-refresh-toggle{padding:8px;font-size:11px!important}}
@media(max-width:900px){
 body[data-access="public"] .newsroom-header .election-section-nav{gap:10px;padding:0 10px}
 body[data-access="public"] .newsroom-header .election-section-nav .nav-item{font-size:12.5px}
}
@media(max-width:800px){
 body[data-access="public"] .masthead{height:74px;justify-content:flex-start;padding:0 20px}
 body[data-access="public"] .brand,body[data-access="public"] .sidebar .brand>span:last-child{font-size:25px}
 body[data-access="public"] .brand small,body[data-access="public"] .sidebar .brand small{font-size:10px;margin-top:5px;letter-spacing:1.5px}
 .public-admin-header{right:20px;top:15px;font-size:13px;min-height:44px}
 body[data-access="public"] .newsroom-header .election-year-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0 12px;min-height:46px;overflow:visible}
 body[data-access="public"] .election-year-tab{font-size:15px;padding:11px 2px 9px;min-height:46px}
 body[data-access="public"] .newsroom-header .election-section-nav{display:none}
 .public-section-picker{display:flex;align-items:center;gap:12px;padding:9px 20px;border-top:1px solid #eee8f4;background:#fff}
 .public-section-picker label{font-size:12px;font-weight:650;white-space:nowrap;color:#705d7d}
 .public-section-picker select{width:100%;min-width:0;min-height:42px;border:1px solid #dcd1e6;border-radius:6px;background:#faf8fc;color:#543e68;padding:8px 11px;font-size:15px;font-weight:600}
 body[data-access="public"] .topbar{min-height:42px;padding-top:4px;padding-bottom:4px}
 body[data-access="public"] .breadcrumb{font-size:12px}
 body[data-access="public"] main{padding-top:12px}
 body[data-access="public"] .page-heading h1{font-size:29px;margin-top:7px;margin-bottom:5px}
 body[data-access="public"] .page-heading p{font-size:14px;line-height:1.55}
 body[data-access="public"] .page-heading .eyebrow{font-size:10px;line-height:1.4;letter-spacing:.7px}
 body[data-access="public"] .context-banner{padding:8px 11px;font-size:12px;gap:4px;margin-bottom:14px}
 body[data-access="public"] .context-banner>span{font-size:11.5px}
 body[data-access="public"] .context-banner>div>span:last-child,body[data-access="public"] .context-divider{display:none}
 body[data-access="public"] .results-stat-strip{margin-bottom:17px;gap:9px}
 body[data-access="public"] .results-stat-strip article>span{font-size:10.5px;padding:7px 8px;letter-spacing:.5px}
 body[data-access="public"] .results-stat-strip article strong{font-size:27px;line-height:1.2;margin:10px 7px 5px}
 body[data-access="public"] .results-stat-strip small{font-size:11.5px;line-height:1.45;padding:0 8px 10px}
 body[data-access="public"] .results-stat-strip.public-registration-summary{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:7px}
 body[data-access="public"] .public-registration-summary>article:nth-child(2),body[data-access="public"] .public-registration-summary>article:nth-child(3){display:none}
 .public-registration-meta{display:block;margin:0 0 13px;padding:0 2px;font-size:12px;line-height:1.5;color:#776882}
 .public-map-options{width:100%;border:1px solid #e1d8ea;border-radius:6px;background:#fff}
 .public-map-options>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:9px 11px;font-size:13px;font-weight:650;color:#614777;cursor:pointer;list-style:none}
 .public-map-options>summary::-webkit-details-marker{display:none}
 .public-map-options>summary:after{content:'+';font-size:20px;line-height:1;font-weight:400}
 .public-map-options[open]>summary:after{content:'−'}
 .public-map-options>summary span{font-size:11px;font-weight:400;color:#7a6b88;margin-left:auto;text-align:right}
 .public-map-options .map-select-controls{padding:5px 12px 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 .public-map-options .map-select-controls label{display:block;font-size:12px}
 .public-map-options .map-select-controls select{font-size:14px;width:100%;margin-top:5px;min-width:0}
 body[data-access="public"] .map-layer-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:5px}
 body[data-access="public"] .map-layer-tabs button{min-height:40px;padding:8px;font-size:13px}
 body[data-access="public"] .map-control-row{gap:10px;padding:11px 0}
}
@media(max-width:520px){
 body[data-access="public"] .masthead{height:67px;padding:0 14px}
 body[data-access="public"] .brand,body[data-access="public"] .sidebar .brand>span:last-child{font-size:20px;letter-spacing:-.5px;gap:8px}
 body[data-access="public"] .brand small,body[data-access="public"] .sidebar .brand small{font-size:8px;letter-spacing:1.2px;margin-top:5px}
 body[data-access="public"] .brand-mark{height:29px;gap:2px}
 body[data-access="public"] .brand-mark i{height:25px;width:3px}
 body[data-access="public"] .brand-mark i:nth-child(2){height:20px}
 body[data-access="public"] .brand-mark i:nth-child(3){height:29px}
 body[data-access="public"] .brand-mark i:nth-child(4){height:22px}
 .public-admin-header{right:14px;top:12px;font-size:11px;gap:3px}
 .public-section-picker{padding:8px 14px;gap:10px}
 .public-section-picker label{font-size:11px}
 body[data-access="public"] .topbar{padding-left:16px;padding-right:16px}
 body[data-access="public"] .breadcrumb{display:none}
 body[data-access="public"] .topbar-right{width:100%;justify-content:space-between}
 body[data-access="public"] .topbar-right .save-state{font-size:12px}
 body[data-access="public"] main{padding-left:16px;padding-right:16px}
 body[data-access="public"] .page-heading{margin-bottom:12px}
 body[data-access="public"] .page-heading h1{font-size:26px;line-height:1.2;letter-spacing:-.6px}
 body[data-access="public"] .page-heading p{font-size:13px;line-height:1.5}
 body[data-access="public"] .context-banner{margin-bottom:12px}
 body[data-access="public"] .results-stat-strip{gap:7px}
 body[data-access="public"] .results-stat-strip article strong{font-size:25px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar){padding:12px 13px;margin:12px 0 19px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-header{display:flex;gap:10px;margin-bottom:10px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-header h2{font-size:18px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-eyebrow{display:none}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-source-status{margin:0;font-size:10px;gap:5px;flex-wrap:wrap;justify-content:flex-end}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-state{font-size:9px;padding:4px 5px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-group{padding:0 10px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-group:first-child{padding-left:0}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-group:last-child{padding-right:0}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-group h3{font-size:13px;line-height:1.35;min-height:35px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-figures strong{font-size:21px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-figures span{font-size:10px}
 body[data-access="public"] .nr-banner:has(.nr-empty-bar) .nr-footer{font-size:10.5px;line-height:1.55;margin-top:8px}
 body[data-access="public"] .map-search{min-width:0;width:100%;padding:9px 12px}
 body[data-access="public"] .map-search input{font-size:14px}
 body[data-access="public"] .election-map-section>.section-title-row{gap:10px;margin-bottom:11px}
 body[data-access="public"] .election-map-section>.section-title-row h2{font-size:24px}
 body[data-access="public"] .map-layer-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}
 body[data-access="public"] .map-layer-tabs button{font-size:12px;padding:8px 2px;min-width:0}
 body[data-access="public"] .region-results-section .section-title-row{padding:17px 16px;gap:13px}
 body[data-access="public"] .region-results-section .section-title-row h2{font-size:24px}
 body[data-access="public"] .region-results-section .section-title-row>div>p:last-child:not(.section-kicker){font-size:14px;line-height:1.55;margin-top:7px}
 body[data-access="public"] .region-table-controls{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8px}
 body[data-access="public"] .region-table-controls input,body[data-access="public"] .region-table-controls select{width:100%;min-width:0;font-size:14px;padding:9px 8px;min-height:43px}
 body[data-access="public"] .geography-method{font-size:12px;line-height:1.65}
 .public-party-pending-message h3{font-size:20px}
 .public-party-pending-message p{font-size:14px}
}
@media(max-width:360px){
 body[data-access="public"] .brand,body[data-access="public"] .sidebar .brand>span:last-child{font-size:18px}
 body[data-access="public"] .election-year-tab{font-size:14px}
 .public-section-picker{gap:7px}
 .public-section-picker select{font-size:14px}
 body[data-access="public"] .map-layer-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
}
