@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--ink:#122e35;--muted:#597078;--line:#d5e2df;--paper:#f2f6f3;--red:#e64045;--teal:#087b73;--glass:rgba(255,255,255,.72)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:radial-gradient(ellipse at 95% 3%,#c6e7df88,transparent 33%),radial-gradient(ellipse at 0 15%,#ffe1d580,transparent 30%),var(--paper);font-family:'DM Sans',sans-serif;font-size:14px}button,input,select{font:inherit}button,select{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input,select{outline-offset:5px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #087b73}button{color:inherit}a:hover{text-decoration:underline}button{border:1px solid var(--line);background:#fff9;border-radius:8px;padding:8px 13px}button:hover{background:#e5f0eb}select,input{border:1px solid #c6d7d2;border-radius:9px;padding:10px 13px;background:#fff;color:var(--ink)}.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:38px;padding:18px 4%;background:#f6f9f1de;backdrop-filter:blur(22px);border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:32px;font-weight:700;letter-spacing:-1.8px}.brand span{color:var(--red)}.top nav{display:flex;gap:22px;font-size:12px;font-weight:700;flex:1}.top nav .active{color:var(--red)}.edition{font-size:9px;letter-spacing:2px;font-weight:700}main{max-width:1440px;margin:auto;padding:0 4%}.hero{min-height:440px;display:grid;grid-template-columns:1.1fr 1fr;align-items:center;gap:30px;padding:55px 0 35px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:1.8px;color:var(--teal);margin-bottom:12px}.maple{color:var(--red);font-size:20px;vertical-align:middle}h1,h2,h3,p{margin:0}h1{font-family:Manrope,sans-serif;font-size:clamp(37px,4.3vw,65px);line-height:1.12;letter-spacing:-3px;font-weight:800}h1 em{font-style:normal;color:var(--teal)}.hero p{max-width:460px;line-height:1.8;color:var(--muted);margin:20px 0}.hero-links{display:flex;align-items:center;gap:24px;font-weight:700;font-size:12px}.primary{background:var(--ink);color:white;border-radius:9px;padding:14px 20px;display:flex;gap:32px}.hero-art{height:330px;position:relative;display:grid;place-items:center;background:radial-gradient(circle,#d2e9df,transparent 68%);overflow:hidden}.leaf{font-size:230px;line-height:1;color:#e64c4a;transform:rotate(15deg);text-shadow:16px 22px 0 #e3434410;animation:float 7s ease-in-out infinite}.orbit{position:absolute;border:1px solid #8db5a345;border-radius:50%;width:320px;height:320px;transform:rotate(-20deg) scaleY(.67)}.o2{transform:rotate(50deg) scaleY(.67);width:380px;height:380px}.floating{position:absolute;padding:15px 20px;background:#ffffffb5;border:1px solid white;backdrop-filter:blur(15px);border-radius:14px;box-shadow:0 15px 40px #21483a0c;display:flex;flex-direction:column;gap:4px;min-width:140px}.floating b{font-family:Manrope;font-size:25px}.floating span{font-size:10px;color:var(--muted)}.f1{left:2%;top:18%}.f2{right:0;top:42%}.f3{bottom:2%;left:20%}.coverage-banner{display:flex;align-items:center;gap:12px;font-size:11px;padding:15px 20px;border:1px solid var(--line);border-radius:11px;background:#fff8}.coverage-banner span:nth-of-type(2){flex:1;color:var(--muted)}.coverage-banner a{font-weight:700}.status-dot{width:7px;height:7px;background:#b48a25;border-radius:50%;flex-shrink:0}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:40px 0 22px}h2{font-family:Manrope,sans-serif;font-size:26px;letter-spacing:-.9px}h3{font-family:Manrope;font-size:17px;letter-spacing:-.4px}.section-top p{color:var(--muted);margin-top:9px}.section-top label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:11px}.mobile-picker{display:none!important}.regions{display:grid;grid-template-columns:repeat(13,1fr);gap:6px;margin-bottom:18px}.region{min-width:0;text-align:left;padding:12px 9px;background:#ffffff70;transition:transform .15s}.region strong{display:block;font-size:16px}.region small{display:block;font-size:8px;color:var(--muted);margin-top:4px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.region[aria-pressed=true]{background:var(--teal);color:white;border-color:var(--teal);box-shadow:0 5px 15px #087b7324}.region[aria-pressed=true] small{color:#cde6e1}.workspace{padding:24px;background:#ffffff50;backdrop-filter:blur(18px);border:1px solid #fff;border-radius:18px;box-shadow:0 15px 50px #183c2b07}.workspace-top{display:flex;align-items:center;justify-content:space-between}.workspace-top h2{font-size:31px}.workspace-top .eyebrow{margin-bottom:5px}.election-picker{display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.years{display:flex;gap:6px;overflow-x:auto;margin-top:20px;padding-bottom:6px}.years button{padding:8px 15px;font-size:12px;white-space:nowrap}.years button[aria-pressed=true]{background:var(--ink);color:white;border-color:var(--ink)}.record-note{font-size:11px;background:#f6eddc;line-height:1.7;padding:10px 13px;border-radius:7px;margin:8px 0 18px;color:#705b2b}.map-layout{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(260px,1fr);gap:16px}.map-panel,.standings,.riding-panel,.candidate-panel,.poll-card{background:var(--glass);border:1px solid white;border-radius:13px;overflow:hidden}.panel-top{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:20px 20px 12px}.panel-top p{font-size:10px;color:var(--muted);margin-top:5px}.panel-top .eyebrow{font-size:8px;margin-bottom:7px}.map-actions{display:flex;gap:4px}.map-actions button{padding:5px 9px;font-size:11px}.map-stage{position:relative;background:radial-gradient(ellipse,#e5f0e750,transparent 75%);min-height:350px;height:440px;overflow:hidden}#riding-map{height:100%;width:100%;touch-action:pan-y}#riding-map path{stroke:#f7faf5;stroke-width:.6;vector-effect:non-scaling-stroke;transition:fill .2s;cursor:pointer}#riding-map path:hover,#riding-map path:focus,#riding-map path.selected{stroke:#153b35;stroke-width:2;filter:brightness(1.12);outline:none}.map-foot{padding:10px 18px;border-top:1px solid var(--line);font-size:9px;color:var(--muted);display:flex;justify-content:space-between;gap:10px}.legend{display:flex;gap:13px;flex-wrap:wrap;font-size:10px;padding:13px 18px}.legend span{display:flex;align-items:center;gap:5px}.swatch{height:8px;width:8px;border-radius:3px;display:inline-block;flex-shrink:0}.boundary-source{padding:0 18px 14px;font-size:10px;color:var(--muted);line-height:1.8}.boundary-source a{text-decoration:underline}.map-empty{position:absolute;inset:0;padding:50px;text-align:center;display:flex;flex-direction:column;justify-content:center;gap:14px;color:var(--muted)}[hidden]{display:none!important}.map-empty>span{font-size:50px;color:var(--teal)}.map-empty p{font-size:12px;line-height:1.7}.map-tooltip{position:absolute;left:16px;bottom:12px;max-width:90%;pointer-events:none;padding:12px 16px;background:#14372fee;color:#fff;font-size:11px;line-height:1.7;border-radius:9px;box-shadow:0 5px 25px #0002}.map-tooltip b{display:block;font-size:13px}.seat-total{font-family:Manrope;font-size:25px;font-weight:800}.seat-bar{display:flex;height:9px;border-radius:5px;overflow:hidden;margin:9px 20px}.seat-bar i{transition:width .5s}.majority{font-size:10px;color:var(--muted);padding:0 20px 12px}.party-row{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:10px;padding:12px 20px;border-top:1px solid #e3eae4}.party-mark{height:32px;width:38px;border-radius:6px;background:#f7f9f5;display:grid;place-items:center;font-size:9px;font-weight:800;border:1px solid #e4e9df}.party-mark img{max-width:33px;max-height:24px;object-fit:contain}.party-row b{font-size:11px}.party-row small{font-size:9px;color:var(--muted);display:block;margin-top:4px}.party-seats{font-family:Manrope;font-size:24px;font-weight:800;text-align:right}.mini-track{height:3px;background:#edf1ed;margin-top:7px;border-radius:2px}.mini-track i{display:block;height:3px}.summary-note{padding:16px 20px;line-height:1.7;font-size:10px;color:var(--muted)}.details-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-top:16px}.search-label input{width:220px;font-size:11px}.list-tools{display:flex;justify-content:space-between;padding:0 20px 10px;align-items:center;font-size:10px;color:var(--muted)}.list-tools select{padding:5px;font-size:10px}.riding-list{max-height:320px;overflow:auto}.riding-item{display:grid;grid-template-columns:8px 1fr auto;gap:11px;align-items:center;border:0;border-top:1px solid #e4ebe5;border-radius:0;width:100%;text-align:left;background:transparent;padding:13px 20px}.riding-item b{font-size:12px}.riding-item small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.riding-item>span:last-child{font-size:11px}.candidate-panel{padding:24px}.candidate-panel>p{font-size:12px;line-height:1.8;color:var(--muted);margin:12px 0}.candidate-row{padding:12px 0;border-bottom:1px solid #e3eae4}.candidate-row-head{display:flex;align-items:center;gap:8px;font-size:12px}.candidate-row-head span:last-child{margin-left:auto;font-variant-numeric:tabular-nums}.candidate-row small{font-size:10px;color:var(--muted);display:block;margin:6px 0 0 16px}.candidate-track{height:5px;border-radius:3px;background:#e8eee8;overflow:hidden;margin-top:7px}.candidate-track i{height:100%;display:block;animation:grow .5s ease}.candidate-panel .source-link{display:inline-block;font-size:10px;margin-top:16px;color:var(--teal);text-decoration:underline}.poll-card{padding:8px 22px 22px}#poll-chart{width:100%;height:auto;max-height:340px}.chart-note{font-size:10px;line-height:1.8;color:var(--muted);padding:10px 0 18px}.poll-table-wrap{max-height:350px;overflow:auto;border:1px solid var(--line);border-radius:9px}table{border-collapse:collapse;width:100%;font-size:11px;white-space:nowrap}td,th{padding:12px 14px;text-align:left;border-bottom:1px solid #e1e8df}th{background:#eaf0e9;position:sticky;top:0;font-size:9px;color:var(--muted);z-index:1}td small{display:block;font-size:8px;color:var(--muted);margin-top:4px}td a{text-decoration:underline;color:var(--teal)}td .poll-value{display:inline-flex;gap:4px;align-items:center;margin-right:12px}#poll-empty{padding:45px 25px;text-align:center;line-height:1.8;color:var(--muted)}.coverage{margin:55px 0}.coverage>p{max-width:900px;font-size:12px;color:var(--muted);line-height:1.9;margin:16px 0 24px}.coverage-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.coverage-card{background:#fff8;border:1px solid #fff;border-radius:10px;padding:16px;font-size:10px;line-height:1.8}.coverage-card b{display:block;font-size:13px}.coverage-card p{color:var(--muted);margin:5px 0}.coverage-card a{color:var(--teal);text-decoration:underline}.method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin:32px 0}.method-grid article{border-top:2px solid #95baac;padding-top:15px}.method-grid p{font-size:11px;color:var(--muted);line-height:1.9;margin-top:8px}.atlas-footer{border-top:1px solid var(--line);padding:28px 0;display:flex;align-items:center;gap:30px;font-size:11px}.atlas-footer span{flex:1;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@keyframes float{50%{transform:translateY(-10px) rotate(10deg)}}@keyframes grow{from{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@media(min-width:1500px){.hero{min-height:480px}}@media(max-width:1100px){.edition{display:none}.top nav{gap:15px}.regions{grid-template-columns:repeat(7,1fr)}.map-layout{grid-template-columns:minmax(0,1.6fr) minmax(250px,1fr)}.coverage-grid{grid-template-columns:repeat(3,1fr)}.map-stage{height:390px}.hero-art{transform:scale(.9)}}@media(max-width:760px){main{padding:0 4%}.top{padding:12px 4%;gap:20px;flex-wrap:wrap}.brand{font-size:28px}.top nav{overflow-x:auto;white-space:nowrap;gap:18px;font-size:10px}.top nav a:nth-last-child(-n+2){display:none}.hero{grid-template-columns:1fr;padding-top:32px;min-height:0;gap:0}.hero h1{letter-spacing:-1.8px;font-size:42px}.hero p{font-size:13px;max-width:330px}.hero-art{height:240px;margin-top:15px;transform:scale(.88)}.leaf{font-size:180px}.floating{padding:12px 16px}.f3{bottom:0;left:24%}.f2{right:3%}.coverage-banner{flex-wrap:wrap;font-size:10px;padding:12px}.coverage-banner span:nth-of-type(2){flex-basis:75%;order:2}.coverage-banner a{margin-left:auto}.section-top{align-items:start;margin-top:30px}h2{font-size:23px}.regions{display:none}.mobile-picker{display:flex!important;min-width:130px;max-width:45%}.mobile-picker select{width:100%;font-size:11px}.workspace{padding:14px 10px;border-radius:12px}.workspace-top{padding:4px 4px 0}.workspace-top h2{font-size:24px}.election-picker select{max-width:140px;font-size:11px;padding:8px}.map-layout,.details-layout{grid-template-columns:1fr}.map-stage{height:390px;min-height:0}.panel-top{padding:17px 15px 10px}.map-foot{font-size:8px;padding:10px 12px}.standings .party-row{padding:10px 18px}.candidate-panel{padding:20px}.search-label input{width:155px}.riding-list{max-height:290px}.poll-card{padding:8px 10px 15px}.coverage-grid{grid-template-columns:repeat(2,1fr)}.method-grid{grid-template-columns:1fr;gap:20px}.atlas-footer{flex-wrap:wrap;gap:14px}.atlas-footer span{flex-basis:65%}.map-empty{padding:28px}.section-top .eyebrow{font-size:8px}.polling .section-top{align-items:end}.polling .section-top select{font-size:11px}.polling .section-top p{font-size:11px}.years button{padding:8px 12px}.hero-links{gap:18px}.map-tooltip{font-size:10px}.coverage{margin-top:35px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#party-standings{max-height:455px;overflow:auto;scrollbar-width:thin}.candidate-panel{max-height:480px;overflow:auto;scrollbar-width:thin}.coverage-card .coverage-meta{font-size:9px;color:var(--teal);margin-top:7px}html[data-resolved-theme=dark]{--glass:rgba(28,49,45,.8);--teal:#79cdb8;--ink:#eef1e9;--muted:#b7c4bc;--line:#3b504a}html[data-resolved-theme=dark] .top{background:#142622df}html[data-resolved-theme=dark] :is(.workspace,.coverage-banner,.coverage-card,.region,.floating){background:#203b3488;border-color:#4c685b}html[data-resolved-theme=dark] :is(.map-panel,.standings,.riding-panel,.candidate-panel,.poll-card){border-color:#3b504a}html[data-resolved-theme=dark] button{background:#223c34;color:#eef1e9}html[data-resolved-theme=dark] button:hover{background:#345345}html[data-resolved-theme=dark] .region[aria-pressed=true]{background:#246b58}html[data-resolved-theme=dark] .years button[aria-pressed=true]{background:#79cdb8;color:#122e35}html[data-resolved-theme=dark] .primary{background:#79cdb8;color:#122e35}html[data-resolved-theme=dark] .record-note{background:#544827;color:#f1dba0}html[data-resolved-theme=dark] :is(th,.mini-track,.candidate-track){background:#254137}html[data-resolved-theme=dark] :is(td,th,.party-row,.candidate-row,.riding-item){border-color:#3b504a}html[data-resolved-theme=dark] .map-stage{background:radial-gradient(ellipse,#314c3555,transparent 75%)}html[data-resolved-theme=dark] .map-tooltip{background:#0a211cee}html[data-resolved-theme=dark] #poll-chart text{fill:var(--muted)}html[data-resolved-theme=dark] #poll-chart line{stroke:#39594c}

.locate-riding{margin:0 0 12px;font-size:11px;border-color:#8ab7a8;color:var(--teal)}
