/* Compact election presentation; candidate colours remain data colours. */
.nav-shell{position:relative;background:var(--surface,#fff);border-bottom:1px solid #dce3e9;min-width:0}
#nav-toggle{display:none}
.nav-shell .nav{display:flex;flex-wrap:nowrap;align-items:center;gap:3px;overflow:visible;padding:8px 16px;min-width:0}
.nav-shell .nav button{white-space:nowrap;padding:9px 7px;font-size:12px;min-height:38px}
.nav-shell .nav button[data-page] span:first-child{font-size:17px;line-height:1}
.nav-shell .volume-label{display:none}
.nav-shell .spacer{flex:1;min-width:0}
.locality-title{display:inline-block!important;font-weight:800!important;color:#145d45;border-bottom:4px solid #b52335;padding-bottom:5px;line-height:1.15!important;text-wrap:balance;max-width:100%;overflow-wrap:anywhere}
[data-theme=night] .locality-title{color:#b6f1d7;border-color:#f07c8b}
.stats .stat{position:relative;min-width:0;padding:16px 18px}.stats .stat .label{font-size:11px;letter-spacing:.05em}.stats .stat .value{margin:8px 0}.stats .stat small{font-size:12px;line-height:1.35}
.metric-detail{font-size:12px;line-height:1.4;font-weight:400;position:relative;margin:4px 0}.metric-detail summary{cursor:pointer;color:inherit;list-style-position:inside}.metric-detail p{margin:7px 0;padding:10px;background:var(--surface,#f0f5f4);border:1px solid #aabbb3;border-radius:5px;color:inherit;max-width:440px;line-height:1.5}
.turnout-detail[open] p{position:absolute;z-index:20;top:20px;left:0;min-width:230px;box-shadow:0 6px 20px #0002}
.ranking .bar-track{height:23px!important;border-radius:5px;background:#dce4ec;border:1px solid #91a2b2;overflow:hidden}.ranking .bar-fill{height:100%!important;min-height:21px;box-shadow:inset 0 0 0 1px #0003}.ranking .candidate{padding-top:12px;padding-bottom:12px}.project-standings .ranking .bar-track{height:25px!important}.party-ranking .bar-track{height:16px!important}
.candidate-number{color:inherit}.candidate-number small{font-weight:600}.candidate-movement{font-size:11px}.progression-context[hidden]{display:none}
.results-ticker{position:relative;overflow:visible!important}.ticker-window{overflow:hidden!important;min-width:0}.ticker-locality{font-size:15px!important;font-weight:800!important;border-left:3px solid #c43144;padding-left:9px!important;overflow-wrap:anywhere}.ticker-label small{white-space:normal}.ticker-settings{flex:0 0 auto;font-size:13px;z-index:30}.ticker-settings>summary{cursor:pointer;padding:8px;border:1px solid #7c94a8;border-radius:5px;white-space:nowrap}.ticker-settings form{position:absolute;right:12px;top:100%;width:min(420px,calc(100vw - 30px));padding:18px;background:#f7fafc;color:#18334b;border:1px solid #8aa2b5;border-radius:8px;box-shadow:0 8px 28px #0004}.ticker-settings select{width:100%;min-height:190px;background:white;color:#18334b}.ticker-settings p{font-size:12px;line-height:1.4;margin:0 0 10px}.ticker-settings button{color:#fff}
[data-theme=night] .metric-detail p{background:#1b3044;color:#f6f9fc}[data-theme=night] .ranking .bar-track{background:#293d50;border-color:#6b8398}
@media(max-width:1390px){#nav-toggle{display:inline-flex;align-items:center;gap:8px;margin:7px 18px;min-height:38px}.nav-shell .nav{display:none}.nav-shell.nav-open .nav{display:flex;flex-wrap:wrap;position:absolute;top:100%;left:0;right:0;z-index:80;background:#f4f8fb;box-shadow:0 8px 20px #0003;padding:12px}.nav-shell.nav-open .nav button{color:#19374c}.nav-shell.nav-open .spacer{display:none}.nav-shell.nav-open .nav button.active{background:#173d54;color:white}}
@media(max-width:650px){.results-ticker{display:flex!important;flex-wrap:wrap!important;gap:7px!important;padding:10px!important}.ticker-label{flex:1 1 40%!important}.ticker-locality{flex:1 1 45%!important;min-width:0!important}.ticker-window{flex:1 0 100%!important;order:5;width:100%}.ticker-settings{margin-left:auto}.locality-title{font-size:29px!important}.stats .stat{padding:12px}.ranking .candidate-top{gap:8px}.project-stats{gap:8px}.project-stats>div{min-width:0}.turnout-detail[open] p{position:static;min-width:0}.project-title h1{font-size:30px!important}}
@media(min-width:1391px){.nav-shell .nav{justify-content:center}.nav-shell .nav .spacer{flex:0}.nav-shell .nav button{padding:9px 8px}}
.sound-settings{position:relative;font-size:13px}.sound-settings summary{cursor:pointer;padding:8px}.nav-shell .sound-settings .volume-label{display:flex;position:absolute;top:100%;left:0;z-index:90;background:#fff;color:#17344a;padding:12px;border:1px solid #94a8b8;border-radius:5px;min-width:180px}.ticker-window.ticker-paused{overflow-x:auto!important}
.projection .nav-shell{display:none}
@media(min-width:1000px) and (max-height:820px){.projection .top{padding:6px 20px}.projection .shell{padding-top:8px}.projection .project-title{margin-bottom:7px}.projection .project-title h1{font-size:24px}.projection .project-stats{margin-bottom:8px}.projection .project-stats>div{padding:8px 12px}.projection .project-stats strong{font-size:23px;margin:4px 0}.projection .project-grid .candidate{padding:4px 0}.projection .project-grid .candidate-top{margin-bottom:4px}.projection .project-standings .ranking .bar-track{height:21px!important}.projection .project-grid{height:350px}.projection .results-ticker{padding-top:5px;padding-bottom:5px}}
@media(min-width:1000px) and (max-height:820px){.projection .project-grid{height:380px}.projection .project-standings .candidate-movement{display:inline;margin-left:5px;font-size:8px}.projection .project-standings .candidate-number{font-size:15px;white-space:nowrap;max-width:none}.projection .project-standings .candidate-number small{font-size:10px;margin-left:4px}.projection .project-standings .candidate-top{min-height:21px}.projection .project-standings .candidate-name{max-width:45%;font-size:11px}}
@media print{.nav-shell,.nav-shell .nav,#nav-toggle{display:none!important}}
/* 0.15: grouped actions, with presentation always a direct action. */
.nav-shell{display:flex;align-items:center;justify-content:space-between;padding:0 16px;gap:8px}.nav-shell .nav{flex:1;justify-content:flex-start;padding:5px 0;display:flex}.nav-shell #nav-toggle{display:none}.nav-shell #project{flex-shrink:0;font-size:12px;padding:9px 12px;min-height:38px}.nav-group{position:relative;font-size:12px}.nav-group>summary{cursor:pointer;white-space:nowrap;padding:10px 8px;list-style:none}.nav-submenu{position:absolute;top:100%;left:0;z-index:90;min-width:195px;display:grid;padding:7px;border:1px solid #9eafbd;border-radius:6px;background:#f8fafc;box-shadow:0 6px 20px #0003}.nav-shell .nav-submenu button{text-align:left;color:#19374c;width:100%}.nav-shell .nav-submenu button.active{background:#173d54;color:white}.nav-group[open]>summary{background:#e1ebf1;color:#173d54}.nav-shell .sound-settings summary{white-space:nowrap}.ticker-settings #ticker-search{width:100%;background:white;color:#18334b}.ticker-settings #ticker-scopes{max-height:240px;overflow:auto;margin:10px 0;border:1px solid #bdcbd6;border-radius:5px;padding:5px}.ticker-settings .ticker-choice{display:flex;align-items:center;gap:9px;min-height:38px;padding:5px;font-weight:500;font-size:13px;color:#18334b;cursor:pointer}.ticker-choice[hidden]{display:none!important}.ticker-settings .ticker-choice input{width:18px;height:18px;flex-shrink:0;accent-color:#176e51}.ticker-choice-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:8px}.ticker-settings .ticker-choice-actions button{font-size:11px;color:#173d54;background:white;padding:6px}.ticker-choice-actions strong{margin-right:auto;font-size:12px}.ticker-turnout{font-weight:700}.ticker-settings form{max-height:calc(100vh - 90px);overflow:auto}.ticker-settings form>button.primary{position:sticky;bottom:0}
@media(min-width:1001px){.nav-shell .nav{display:flex!important;position:static!important;flex-wrap:nowrap!important;background:transparent!important;box-shadow:none!important}.nav-shell #nav-toggle{display:none!important}}
@media(max-width:1000px){.nav-shell{min-height:47px;padding:3px 12px}.nav-shell #nav-toggle{display:inline-flex;margin:0}.nav-shell .nav{display:none}.nav-shell.nav-open .nav{display:flex;flex-wrap:wrap;position:absolute;top:100%;left:0;right:0;padding:10px;background:#f4f8fb}.nav-shell .nav-submenu{position:static;box-shadow:none}.nav-shell .nav-group[open]{flex-basis:100%}.nav-shell .nav-group[open] .nav-submenu{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.ticker-settings #ticker-scopes{max-height:190px}.ticker-settings form{right:0;max-height:60vh}}
.projection .nav-shell{display:none}@media print{.nav-shell,.nav-shell .nav{display:none!important}}
.ticker-line small{font-size:12px!important;line-height:1.4}.ticker-turnout{font-size:12px!important}
.capability-label input{width:18px;height:18px}.label-editor-rows{display:grid;gap:12px;margin:14px 0;max-height:55vh;overflow:auto}.label-editor-rows fieldset{display:grid;grid-template-columns:2fr 1fr;gap:12px;border:1px solid #b8c6d2;border-radius:6px;padding:12px}.label-editor-rows fieldset[hidden]{display:none}.label-editor-rows legend{font-size:12px;font-weight:700;padding:0 5px}@media(max-width:600px){.label-editor-rows fieldset{grid-template-columns:1fr}}
.ticker-metrics{display:flex;flex-wrap:wrap;gap:3px 14px;white-space:normal;font-size:11px;line-height:1.3;color:inherit;padding-top:4px;position:relative;background:inherit}.ticker-metrics span{display:block;max-width:100%;overflow-wrap:anywhere}.ticker-metrics .ticker-turnout{font-size:11px!important;font-weight:700}.ticker-line{min-height:20px}.ticker-window{height:auto!important;min-height:40px;align-self:center}.ticker-window.ticker-paused .ticker-metrics{position:sticky;left:0}

/* The focus chooser keeps its light surface in every display style. */
:root .ticker-settings form label{color:#18334b}
