:root{--ink:#14161c;--map-line:#14161c;--map-outline:#fff;--map-line-dark:#14161c;--ink-soft:#565b66;--ink-faint:#666a75;--surface:#fff;--surface-sunken:#f3f1ea;--surface-ink:#14161c;--surface-ink-text:#f3f1ea;--surface-rgb:255, 255, 255;--border:#dcdad0;--border-strong:#b7b4a6;--fixed-ink-soft:#565b66;--accent:#4c3a94;--accent-ink:#4c3a94;--accent-tint:#ece9f7;--qc-accent:#0b7a65;--qc-accent-tint:#e3f3ef;--on-accent:#a3491f;--on-accent-tint:#f8ebe1;--bc-accent:#155e75;--bc-accent-tint:#e1eef2;--alberta-accent:#8a6614;--alberta-accent-tint:#f5efdc;--us-accent:#2c4a7c;--us-accent-tint:#e7ecf5;--shadow-1:0 1px 2px #14161c0f, 0 1px 6px #14161c0d;--shadow-2:0 4px 16px #14161c1a, 0 1px 3px #14161c14;--shadow-3:0 12px 32px #14161c2e;--radius-xs:2px;--radius-sm:4px;--radius-md:8px;--radius-pill:999px;--radius-control:var(--radius-sm);--radius-chip:var(--radius-pill);--z-raised:1;--z-sticky-corner:2;--z-map-attribution:3;--z-map-overlay:4;--z-map-controls:5;--z-map-popover:6;--z-map-panel:7;--z-map-top:8;--z-nav:10;--z-masthead:20;--z-drawer:30;--z-modal:1000;--text-xs:.72rem;--text-sm:.8rem;--text-base:.88rem;--text-md:1rem;--text-lg:1.15rem;--text-xl:1.35rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--duration-fast:.12s;--duration-base:.2s;--duration-slow:.36s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-emphasized:cubic-bezier(.3, 0, .1, 1);--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-display:Georgia, "Iowan Old Style", "Palatino Linotype", "Times New Roman", serif;--party-liberal:#d71920;--party-conservative:#1a4782;--party-ndp:#f37021;--party-bq:#33b2cc;--party-green:#3d9b35;--party-ppc:#6b3fa0;--party-pc:#99f;--party-alliance:#5f9ea0;--party-reform:#3cb371;--party-independent:#767676;--party-other:#9a9a9a;--party-unknown:#b5b5b5;--election-general:#2f7d68;--election-presidential:#b24c63;--election-legislative:#276fbf;--approval-approve:#2e8b57;--approval-disapprove:#c0392b;--badge-positive-bg:#e4f2e6;--badge-positive-text:#1b6b2e;--badge-negative-bg:#f7e6e5;--badge-negative-text:#a3231f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ink:#e8e6de;--ink-soft:#a8a6a0;--ink-faint:#908e87;--surface:#1c1e24;--surface-rgb:28, 30, 36;--surface-sunken:#14161a;--surface-ink:#0c0d10;--surface-ink-text:#e8e6de;--border:#34363c;--border-strong:#4a4c52;--accent:#9484d9;--accent-ink:#b0a3e6;--accent-tint:#2a2540;--qc-accent:#4fcbb0;--qc-accent-tint:#123430;--on-accent:#e2905c;--on-accent-tint:#3a2418;--bc-accent:#5ec8e0;--bc-accent-tint:#163842;--alberta-accent:#d1a94a;--alberta-accent-tint:#3d3115;--us-accent:#8fa8e0;--us-accent-tint:#1e2942;--badge-positive-bg:#17301f;--badge-positive-text:#6fcf87;--badge-negative-bg:#331d1c;--badge-negative-text:#e2837c;--map-line:#7d808a;--map-outline:#101216;--map-line-dark:#101216;--election-general:#4fb89a;--election-presidential:#e0788f;--election-legislative:#6aa6e8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--ink:#e8e6de;--ink-soft:#a8a6a0;--ink-faint:#908e87;--surface:#1c1e24;--surface-rgb:28, 30, 36;--surface-sunken:#14161a;--surface-ink:#0c0d10;--surface-ink-text:#e8e6de;--border:#34363c;--border-strong:#4a4c52;--accent:#9484d9;--accent-ink:#b0a3e6;--accent-tint:#2a2540;--qc-accent:#4fcbb0;--qc-accent-tint:#123430;--on-accent:#e2905c;--on-accent-tint:#3a2418;--bc-accent:#5ec8e0;--bc-accent-tint:#163842;--alberta-accent:#d1a94a;--alberta-accent-tint:#3d3115;--us-accent:#8fa8e0;--us-accent-tint:#1e2942;--badge-positive-bg:#17301f;--badge-positive-text:#6fcf87;--badge-negative-bg:#331d1c;--badge-negative-text:#e2837c;--map-line:#7d808a;--map-outline:#101216;--map-line-dark:#101216;--election-general:#4fb89a;--election-presidential:#e0788f;--election-legislative:#6aa6e8;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--surface-sunken);color:var(--ink);font-family:var(--font-ui);margin:0}h1,h2,h3{font-family:var(--font-display)}a{color:var(--accent-ink);text-underline-offset:.15em}.app-shell{flex-direction:column;min-height:100vh;display:flex}.masthead{background:var(--surface-ink);color:var(--surface-ink-text);z-index:var(--z-masthead);position:relative}.masthead__row{max-width:1180px;padding:var(--space-4) var(--space-5);align-items:center;gap:var(--space-4);margin:0 auto;display:flex}.masthead__menu-toggle{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--surface-ink-text);cursor:pointer;background:0 0;border:1px solid #f3f1ea40;flex-shrink:0;justify-content:center;align-items:center;display:none}.masthead__menu-toggle:hover{background:#f3f1ea14}.masthead__menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.masthead__home-link{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--surface-ink-text);background:0 0;border:1px solid #f3f1ea40;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.masthead__home-link:hover{background:#f3f1ea14}.masthead__home-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.masthead__brand{align-items:center;gap:var(--space-3);min-width:0;color:inherit;flex:1;text-decoration:none;display:flex}.masthead__mark{background:var(--accent);border-radius:var(--radius-xs);flex-shrink:0;width:.75rem;height:1.6rem}.masthead__titles{flex-direction:column;min-width:0;display:flex}.masthead__name{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;font-weight:700;line-height:1.1}.masthead .lang-toggle{min-height:2.25rem;padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--surface-ink-text);cursor:pointer;background:0 0;border:1px solid #f3f1ea4d;flex-shrink:0}.masthead .lang-toggle:hover{background:#f3f1ea1a}.masthead .lang-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lang-toggle-wrap{display:inline-flex}.theme-toggle{border-radius:var(--radius-sm);width:2.25rem;height:2.25rem;color:var(--surface-ink-text);cursor:pointer;background:0 0;border:1px solid #f3f1ea4d;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:hover{background:#f3f1ea1a}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-tabs-bar{background:var(--surface);box-shadow:var(--shadow-1);z-index:var(--z-nav);position:relative}.nav-tabs{gap:var(--space-1);max-width:1180px;padding:0 var(--space-5);background:linear-gradient(to right, var(--surface) 30%, transparent) left center / 2.5rem 100% no-repeat local, linear-gradient(to left, var(--surface) 30%, transparent) right center / 2.5rem 100% no-repeat local, radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--ink) 22%, transparent), transparent) left center / .9rem 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--ink) 22%, transparent), transparent) right center / .9rem 100% no-repeat scroll;margin:0 auto;display:flex;position:relative;overflow-x:auto}.nav-tab{padding:var(--space-3) var(--space-4);color:var(--ink-soft);font-size:var(--text-base);white-space:nowrap;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);border-bottom:2px solid #0000;font-weight:500;text-decoration:none}button.nav-tab{cursor:pointer;background:0 0;border-top:0;border-left:0;border-right:0;font-family:inherit}.nav-tab:hover{color:var(--ink)}.nav-tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-tab--active{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:700}.nav-drawer-overlay{z-index:var(--z-drawer);animation:fade-in var(--duration-base) var(--ease-standard);background:#14161c73;display:flex;position:fixed;inset:0}.nav-drawer{background:var(--surface-ink);width:78vw;max-width:20rem;height:100%;color:var(--surface-ink-text);padding:var(--space-5) var(--space-4);box-shadow:var(--shadow-3);animation:drawer-in var(--duration-base) var(--ease-emphasized);flex-direction:column;display:flex}.nav-drawer__header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.nav-drawer__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.nav-drawer__close{width:2rem;height:2rem;color:var(--surface-ink-text);font-size:var(--text-lg);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none}.nav-drawer__close:hover{background:#f3f1ea1a}.nav-drawer__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-drawer__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.nav-drawer__tab{padding:var(--space-3) var(--space-2);color:#f3f1ead9;font-size:var(--text-md);border-radius:var(--radius-sm);border-left:3px solid #0000;text-decoration:none;display:block}button.nav-drawer__tab{text-align:left;cursor:pointer;background:0 0;border-top:0;border-bottom:0;border-right:0;width:100%;font-family:inherit}.nav-drawer__tab:hover{background:#f3f1ea14}.nav-drawer__tab:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-drawer__tab--active{color:var(--surface-ink-text);border-left-color:var(--accent);font-weight:700}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes drawer-in{0%{opacity:.4;transform:translate(-16px)}to{opacity:1;transform:translate(0)}}@media (width<=767px){.masthead__menu-toggle{display:inline-flex}.nav-tabs-bar{display:none}}@media (width>=768px){.nav-drawer-overlay{display:none}}.app-main{padding:var(--space-5);flex:1;width:100%;max-width:1180px;margin:0 auto}.section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-1);padding:var(--space-5);animation:route-in var(--duration-base) var(--ease-standard)}@keyframes route-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section h1{letter-spacing:-.01em;margin:0 0 .35rem;font-size:1.75rem;font-weight:700}.section h2{font-size:var(--text-lg);margin:var(--space-6) 0 var(--space-4);padding-top:var(--space-5);border-top:1px solid var(--border);font-weight:700}.section-meta{color:var(--ink-soft);font-size:var(--text-base);margin:.15rem 0}.section-footnote{color:var(--ink-faint);font-size:var(--text-sm);margin-top:var(--space-4)}.page-intro{margin-bottom:var(--space-5)}.page-intro__eyebrow{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--accent-ink);margin:0 0 var(--space-2);font-weight:700;display:block}.page-intro__title{margin:0 0 var(--space-2)}.page-intro__dek{color:var(--ink-soft);font-size:var(--text-md);max-width:42rem;margin:0}.landing{padding:clamp(var(--space-5), 7vw, var(--space-8))}.landing__hero{align-items:center;gap:var(--space-6);margin-bottom:var(--space-7);display:flex}.landing__hero-text{flex:28rem;max-width:48rem}.landing__hero h1{margin-bottom:var(--space-4);font-size:clamp(2.25rem,6vw,4.25rem);line-height:1.02}.landing__subhead{max-width:38rem;color:var(--ink-soft);font-family:var(--font-display);margin:0;font-size:clamp(1.05rem,2vw,1.3rem);line-height:1.45}.landing__updated{max-width:38rem;color:var(--ink-soft);font-size:var(--text-base);margin:var(--space-3) 0 0}.landing__next-elections{margin-bottom:var(--space-7)}.landing__next-elections .landing__group-label{margin-bottom:var(--space-3)}.landing__next-elections-list{gap:var(--space-3);grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.landing__next-elections-list li{min-width:0;display:flex}.landing__next-elections-list li>*{flex:1;min-width:0}.landing__next-elections .ui-tile__detail{flex-wrap:wrap}.landing__live{margin-bottom:var(--space-6)}.landing__live .landing__group-label{margin-bottom:var(--space-3)}.landing__live-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));margin:0;padding:0;list-style:none;display:grid}.landing__live-list li{min-width:0;display:flex}.landing__live-list li>*{flex:1;min-width:0}.landing__live .ui-pill{margin-left:var(--space-2);vertical-align:middle}.landing__entry{gap:var(--space-2);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.landing__entry-button{align-items:center;gap:var(--space-3);min-height:2.75rem;padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;font-weight:700;display:inline-flex}.landing__entry-button:hover{background:var(--accent-tint)}.landing__entry-button[aria-pressed=true]{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.landing__entry-button:disabled{color:var(--ink-soft);cursor:default}.landing__entry-button:disabled:hover{background:var(--surface)}.landing__entry-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing__entry-count{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);color:var(--ink-soft);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.landing__explorer{gap:var(--space-2);flex-direction:column;flex:0 auto;max-width:17rem;display:flex}.landing__explorer-select{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;font-weight:700}.landing__explorer-select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing__mosaic{transition:opacity var(--duration-fast) var(--ease-standard);flex-wrap:wrap;align-content:flex-start;gap:2px;display:flex}.landing__mosaic--waiting{opacity:.45}.landing__mosaic-cell{border-radius:2px;width:8px;height:8px}.landing__explorer-seat,.landing__explorer-totals{font-size:var(--text-sm);margin:0;line-height:1.4}.landing__explorer-seat{min-height:2.8em;color:var(--ink-soft);overflow-wrap:anywhere}.landing__explorer-seat strong{color:var(--ink)}.landing__explorer-totals{color:var(--ink-soft);font-variant-numeric:tabular-nums}.landing__rail{height:.5rem;margin:var(--space-1) .25rem 0;border-bottom:1px solid var(--border-strong);display:block;position:relative}.landing__rail-dot{background:var(--accent);border-radius:50%;width:.4rem;height:.4rem;margin-left:-.2rem;position:absolute;bottom:-.2rem}.landing__group{margin-bottom:var(--space-6)}.landing__group-label{margin:0 0 var(--space-3);color:var(--ink-soft);font-family:var(--font-display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.landing__world-summary{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-control);cursor:pointer;margin:0;list-style:none;display:flex}.landing__world-summary:hover{background:var(--accent-tint)}.landing__world-summary::-webkit-details-marker{display:none}.landing__world-summary:before{content:"▸";transition:transform var(--duration-fast) var(--ease-standard)}.landing__world[open]>.landing__world-summary:before{transform:rotate(90deg)}.landing__world[open]>.landing__world-summary{margin-bottom:var(--space-3)}.landing__world-summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.landing__world-count{padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--surface-sunken);font-family:var(--font-ui);letter-spacing:0;margin-left:auto}@media (width<=800px){.landing__next-elections-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=640px){.landing{padding:var(--space-5)}.landing__hero{margin-bottom:var(--space-6);flex-wrap:wrap}.landing__explorer{width:100%;max-width:none}.landing__explorer-seat{min-height:1.4em}.landing__explorer .landing__explorer-link{display:none}.landing__next-elections-list{grid-template-columns:1fr}}.map-toolbar{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-controls);align-items:flex-end;gap:var(--space-2);flex-direction:column;width:min(24rem,100% - 2rem);display:flex;position:absolute}.map-eyebrow{top:var(--space-3);left:var(--space-3);z-index:var(--z-map-overlay);max-width:calc(100% - var(--toolbar-w,24rem) - var(--space-3) * 3);background:var(--surface-ink);color:var(--surface-ink-text);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius-sm);box-shadow:var(--shadow-2);padding:.3rem .6rem;font-weight:700;line-height:1.35;position:absolute}.upcoming{--upcoming-h:min(38rem, 72vh)}.upcoming h2,.upcoming h3{border:0;margin:0;padding:0}.upcoming__next{align-items:center;gap:var(--space-5);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1fr) auto;display:grid}.upcoming__next-label{margin:0 0 var(--space-1);color:var(--accent-ink);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.upcoming .upcoming__next-country{font-family:var(--font-display);font-size:clamp(1.5rem,4vw,2.1rem);line-height:1.1}.upcoming__next-date{margin:var(--space-1) 0 0;color:var(--ink);font-size:var(--text-md);font-weight:650}.upcoming__next-meta{margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:var(--text-sm)}.upcoming__next-link{margin-top:var(--space-3)}.upcoming__countdown{min-width:6rem;padding:0 var(--space-3);text-align:center;flex-direction:column;align-items:center;display:flex}.upcoming__countdown-n{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-size:clamp(2.75rem,8vw,4rem);font-weight:700;line-height:1}.upcoming__countdown-unit{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.upcoming__filters{gap:var(--space-2) var(--space-5);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.upcoming__filter{align-items:center;gap:var(--space-2);min-width:0;display:flex}.upcoming__filter-label{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.upcoming__filter .filter-chip-group{margin-top:0}.upcoming__layout{gap:var(--space-4);grid-template-columns:minmax(0,1.6fr) minmax(19rem,1fr);display:grid}.upcoming__map{height:var(--upcoming-h);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);min-height:22rem;overflow:hidden}.upcoming__map-placeholder{height:var(--upcoming-h);justify-content:center;align-items:center;min-height:22rem;margin:0;display:flex}.upcoming__list{height:var(--upcoming-h);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;min-height:22rem;display:flex;overflow:hidden}.upcoming__list-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-sunken);display:flex}.upcoming .upcoming__list-head h2{font-size:var(--text-md)}.upcoming__list-head span{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums}.upcoming__scroll{overscroll-behavior:contain;flex:1;min-height:0;overflow-y:auto}.upcoming__month{z-index:var(--z-raised);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--surface-sunken);color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700;position:sticky;top:0}.upcoming__items{margin:0;padding:0;list-style:none}.upcoming__item{border-bottom:1px solid var(--border);border-left:3px solid #0000}.upcoming__item--selected{border-left-color:var(--accent);background:var(--accent-tint)}.upcoming__select{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;display:flex}.upcoming__select:hover{background:var(--accent-tint)}.upcoming__select:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.upcoming__badge{width:3rem;padding:var(--space-1) 0;border:1px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;flex-shrink:0;align-items:center;line-height:1.1;display:flex}.upcoming__badge-month{color:var(--accent-ink);font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;font-weight:700}.upcoming__badge-day{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.upcoming__badge-day--year{font-size:var(--text-sm)}.upcoming__item-body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.upcoming__item-country{font-family:var(--font-display);font-size:var(--text-md);font-weight:700;line-height:1.2}.upcoming__item-offices{color:var(--ink-soft);font-size:var(--text-sm);line-height:1.35}.upcoming__item-note{color:var(--ink-faint);font-size:var(--text-xs)}.upcoming__item-tags{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.upcoming__item-more{padding:0 var(--space-4) var(--space-3) calc(var(--space-4) + 3rem + var(--space-3))}.upcoming__empty{padding:var(--space-5) var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);margin:0}.upcoming__notes{justify-content:space-between;gap:var(--space-5);margin-top:var(--space-4);color:var(--ink-faint);font-size:var(--text-xs);line-height:1.4;display:flex}.upcoming__notes p{margin:0}.upcoming__notes a{color:var(--accent-ink)}@media (width<=800px){.upcoming__next{gap:var(--space-3);padding:var(--space-4);grid-template-columns:1fr}.upcoming__countdown{justify-content:flex-start;gap:var(--space-2);text-align:left;flex-direction:row;padding:0}.upcoming__countdown-unit{margin:0}.upcoming__filter{flex-direction:column;align-items:flex-start}.upcoming__layout{grid-template-columns:1fr}.upcoming__map,.upcoming__map-placeholder{height:20rem;min-height:0}.upcoming__list{height:auto;max-height:34rem}.upcoming__select{padding-block:var(--space-3)}.upcoming__notes{gap:var(--space-2);flex-direction:column}}.us-map-section{min-height:0}.us-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.us-map-canvas{height:100%;min-height:560px}.app-main--full .us-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.us-map-toolbar{width:min(24rem,100% - 2rem)}select.us-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:inherit;font-size:var(--text-sm);cursor:pointer;align-self:flex-end;padding:.35rem 1.75rem .35rem .55rem;font-weight:700}select.us-map-year:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-search-collapsible{align-items:flex-start;gap:.4rem;display:inline-flex}.map-search-toggle{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:2.5rem;height:2.5rem;color:var(--ink);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);cursor:pointer;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.map-search-toggle:hover{color:var(--accent)}.map-search-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-search__body{visibility:hidden;opacity:0;width:0;transition:width .15s,opacity .1s;position:relative;overflow:hidden}.map-search-collapsible.is-expanded .map-search__body{visibility:visible;opacity:1;overflow:visible}.us-map-search.is-expanded .map-search__body{width:min(18rem,100%)}.us-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.us-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.us-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.us-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.us-map-suggestions button:hover,.us-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.us-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.us-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.us-map-legend__seat-up-note{border-bottom:1px solid var(--border);color:var(--ink-soft);font-size:var(--text-xs);align-items:center;gap:.45rem;margin:0 0 .6rem;padding-bottom:.55rem;line-height:1.25;display:flex}.us-map-legend__hatch{border:1px solid var(--border-strong);border-radius:var(--radius-xs);background:repeating-linear-gradient(135deg,#fffc 0 2px,#0000 2px 5px);flex:none;width:.8rem;height:.8rem}.us-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.us-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.us-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.us-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.us-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.us-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.us-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.us-map-panel__view-select{margin:0 2rem var(--space-4) 0;color:var(--ink-soft);font-size:var(--text-xs);gap:.25rem;font-weight:700;display:grid}.us-map-panel__view-select select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);padding:.35rem 1.5rem .35rem .5rem}.us-map-panel__view-select select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.us-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.us-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.us-map-panel__name{margin:0 0 .35rem;font-weight:700}.us-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.us-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.us-presidential-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);max-width:min(32rem,100% - 2rem);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.35rem .7rem;padding:.65rem .8rem;display:flex;position:absolute;top:.75rem;left:.75rem}.us-presidential-summary>span:first-child{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.us-presidential-summary__party{align-items:center;gap:.3rem;font-weight:700;display:inline-flex}.us-presidential-summary__party i{border-radius:50%;width:.55rem;height:.55rem}.us-presidential-panel__electoral{margin-top:var(--space-3);font-weight:700}.us-presidential-allocation{color:var(--ink-soft);font-size:var(--text-sm);gap:.4rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.us-presidential-allocation li{justify-content:space-between;gap:.75rem;display:flex}.us-presidential-allocation strong{color:var(--ink);font-variant-numeric:tabular-nums}.us-table td,.us-table th{vertical-align:top}.party-dot{border-radius:50%;width:.55rem;height:.55rem;margin-right:.35rem;display:inline-block}.us-badge{border-radius:var(--radius-chip);background:var(--surface-sunken);color:var(--ink-soft);font-size:var(--text-xs);margin-left:.45rem;padding:.12rem .35rem;display:inline-block}.us-toggle{border-radius:var(--radius-control);background:var(--surface-sunken);gap:.25rem;margin-bottom:.75rem;padding:.2rem;display:inline-flex}.us-toggle button{border-radius:var(--radius-control);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:.4rem .7rem}.us-toggle button.us-toggle__active{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow-1);font-weight:700}.germany-map-section{min-height:0}.germany-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.germany-map-canvas{height:100%;min-height:560px}.app-main--full .germany-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.germany-map-toolbar{width:min(24rem,100% - 2rem)}.germany-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.germany-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.germany-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.germany-map-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.2rem;display:inline-flex}.germany-map-mode button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.germany-map-mode button:hover,.germany-map-mode button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.germany-map-mode button.is-active{background:var(--accent);color:var(--surface)}.germany-map-seat-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .94);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:.55rem;padding:.45rem .7rem;display:flex;position:absolute;top:4.2rem;left:50%;transform:translate(-50%)}.germany-map-seat-summary span{color:var(--ink-soft);font-size:var(--text-xs)}.germany-map-search.is-expanded .map-search__body{width:min(21rem,100%)}.germany-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.germany-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.germany-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.germany-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.germany-map-suggestions button:hover,.germany-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.germany-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.germany-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.germany-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:16rem;max-width:23rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.germany-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.germany-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.germany-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(23rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.germany-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.germany-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.germany-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.germany-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.germany-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.germany-map-panel__name{margin:0 0 .35rem;font-weight:700}.germany-map-panel__warning{margin:var(--space-3) 0 0;border-left:.25rem solid var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-size:var(--text-sm);padding:.6rem .7rem;line-height:1.35}.germany-map-panel__mandate{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-sm)}.germany-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.germany-map-panel__state-total{font-size:var(--text-lg);margin:.2rem 0 0}.germany-seat-list{gap:.8rem;margin-top:.75rem;display:grid}.germany-seat-row{min-width:0}.germany-seat-row__heading,.germany-seat-row__meta{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.germany-seat-row__party{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.germany-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.germany-seat-row__total{font-variant-numeric:tabular-nums;font-weight:700}.germany-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);min-width:.15rem;height:.55rem;margin-top:.3rem;display:flex;overflow:hidden}.germany-seat-row__direct,.germany-seat-row__list{height:100%;display:block}.germany-seat-row__list{opacity:.38}.germany-seat-row__meta{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.2rem}.germany-map-seat-key{color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;align-items:center;gap:.3rem;margin:.8rem 0 0;display:flex}.germany-map-seat-key__direct,.germany-map-seat-key__list{background:var(--ink-soft);border-radius:2px;width:.7rem;height:.45rem;margin-left:.35rem;display:inline-block}.germany-map-seat-key__list{opacity:.38}.germany-map-panel__candidate-list{gap:.55rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.germany-map-panel__candidate{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.germany-map-panel__candidate>span:first-child{overflow-wrap:anywhere;min-width:0}.germany-map-panel__candidate>span:last-child{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.germany-poll-panel__header{justify-content:space-between;align-items:start;gap:.75rem;display:flex}.germany-poll-panel__header h3{font-size:var(--text-base);margin:0}.germany-poll-panel__header p{color:var(--ink-soft);font-size:var(--text-sm);margin:.2rem 0 0}.germany-poll-panel__back{color:var(--accent-ink);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:.25rem 0}.germany-poll-panel__back:hover,.germany-poll-panel__back:focus-visible{text-decoration:underline}.germany-poll-panel__search{margin-top:var(--space-3);display:block}.germany-poll-panel__search input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.55rem .65rem}.germany-poll-panel__search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.germany-poll-panel__area-list{max-height:23rem;margin:var(--space-3) 0 0;gap:.25rem;padding:0;list-style:none;display:grid;overflow-y:auto}.germany-poll-panel__area-list button{border-radius:var(--radius-control);background:var(--surface-sunken);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border:1px solid #0000;justify-content:space-between;gap:.7rem;padding:.45rem .5rem;display:flex}.germany-poll-panel__area-list button:hover,.germany-poll-panel__area-list button:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.germany-poll-panel__area-list button>span:first-child{min-width:0;display:grid}.germany-poll-panel__area-list button>span:last-child{color:var(--ink-soft);font-size:var(--text-xs);text-align:right;flex-shrink:0;align-self:center}.germany-poll-panel__area-list small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.germany-poll-panel__party-list{gap:.55rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.germany-poll-panel__party{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.germany-poll-panel__party>span:last-child{color:var(--ink-soft);font-variant-numeric:tabular-nums}.germany-poll-panel__back-to-constituency{width:100%;margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-sunken);color:var(--ink);font:inherit;cursor:pointer;padding:.55rem .7rem;font-weight:700}.germany-poll-panel__back-to-constituency:hover,.germany-poll-panel__back-to-constituency:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.germany-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.canadian-senate-map-section{min-height:0}.canadian-senate-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.canadian-senate-map-canvas{height:100%;min-height:560px}.app-main--full .canadian-senate-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.canadian-senate-map-toolbar{width:min(24rem,100% - 2rem)}.canadian-senate-map-search.is-expanded .map-search__body{width:min(22rem,100%)}.canadian-senate-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.canadian-senate-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.canadian-senate-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.canadian-senate-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.canadian-senate-map-suggestions button:hover,.canadian-senate-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.canadian-senate-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.canadian-senate-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:15rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.canadian-senate-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:24rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.canadian-senate-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.canadian-senate-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.canadian-senate-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.canadian-senate-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.canadian-senate-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.canadian-senate-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.canadian-senate-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.canadian-senate-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.canadian-senate-map-panel__total{font-size:var(--text-lg);margin:.2rem 0 0}.canadian-senate-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.canadian-senate-seat-list{gap:.8rem;margin-top:.75rem;display:grid}.canadian-senate-seat-row{min-width:0}.canadian-senate-seat-row__heading{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.canadian-senate-seat-row__party{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.canadian-senate-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.canadian-senate-seat-row__total{font-variant-numeric:tabular-nums;font-weight:700}.canadian-senate-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);min-width:.15rem;height:.55rem;margin-top:.3rem;display:flex;overflow:hidden}.canadian-senate-seat-row__bar span{height:100%;display:block}.canadian-senate-seat-row__names{color:var(--ink-soft);font-size:var(--text-xs);margin:.2rem 0 0;line-height:1.35}.canadian-senate-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.france-legislative-map-section{min-height:0}.france-legislative-map-wrap{--toolbar-w:27rem;flex:1;min-height:0;position:relative}.france-legislative-map-canvas{height:100%;min-height:560px}.app-main--full .france-legislative-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.france-legislative-map-toolbar{width:min(27rem,100% - 2rem)}.france-legislative-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.france-legislative-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.france-legislative-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.france-legislative-map-round{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.2rem;display:inline-flex}.france-legislative-map-round button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.france-legislative-map-round button:hover,.france-legislative-map-round button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.france-legislative-map-round button.is-active{background:var(--accent);color:var(--surface)}.france-legislative-map-search.is-expanded .map-search__body{width:min(25rem,100%)}.france-legislative-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.france-legislative-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.france-legislative-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.france-legislative-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.france-legislative-map-suggestions button:hover,.france-legislative-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.france-legislative-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.france-legislative-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:17rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.france-legislative-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:25rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.france-legislative-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.france-legislative-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.france-legislative-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.france-legislative-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.france-legislative-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.france-legislative-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.france-legislative-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.france-legislative-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.france-legislative-map-panel__name{margin:0 0 .35rem;font-weight:700}.france-legislative-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.france-legislative-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.france-presidential-map-section{min-height:0}.france-presidential-map-wrap{--toolbar-w:27rem;flex:1;min-height:0;position:relative}.france-presidential-map-canvas{height:100%;min-height:560px}.app-main--full .france-presidential-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.france-presidential-map-toolbar{width:min(27rem,100% - 2rem)}.france-presidential-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.france-presidential-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.france-presidential-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.france-presidential-map-round{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.2rem;display:inline-flex}.france-presidential-map-round button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.france-presidential-map-round button:hover,.france-presidential-map-round button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.france-presidential-map-round button.is-active{background:var(--accent);color:var(--surface)}.france-presidential-map-search.is-expanded .map-search__body{width:min(25rem,100%)}.france-presidential-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.france-presidential-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.france-presidential-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.france-presidential-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.france-presidential-map-suggestions button:hover,.france-presidential-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.france-presidential-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.france-presidential-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:17rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.france-presidential-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:25rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.france-presidential-map-hover-card__candidate{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.france-presidential-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.france-presidential-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.france-presidential-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.france-presidential-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.france-presidential-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.france-presidential-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.france-presidential-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.france-presidential-map-panel__name{margin:0 0 .35rem;font-weight:700}.france-presidential-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.france-presidential-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.france-bureau-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.france-bureau-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.france-bureau-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.france-bureau-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.france-bureau-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.france-bureau-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.france-bureau-panel__header{margin-top:var(--space-3);justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.france-bureau-panel__header h3{font-size:var(--text-base);margin:0}.france-bureau-panel__header p{color:var(--ink-soft);font-size:var(--text-sm);margin:.15rem 0 0}.france-bureau-panel__back{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink-soft);font:inherit;font-size:var(--text-xs);cursor:pointer;flex-shrink:0;padding:.35rem .5rem}.france-bureau-panel__back:hover,.france-bureau-panel__back:focus-visible{border-color:var(--accent);color:var(--ink);outline:none}.australia-map-section{min-height:0}.australia-map-wrap{--toolbar-w:25rem;flex:1;min-height:0;position:relative}.australia-map-canvas{height:100%;min-height:560px}.app-main--full .australia-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.australia-map-toolbar{width:min(25rem,100% - 2rem)}.australia-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.australia-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.australia-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.australia-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.australia-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.australia-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.australia-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.australia-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.australia-map-suggestions button:hover,.australia-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.australia-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.australia-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:16rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.australia-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:24rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.australia-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.australia-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.australia-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.australia-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.australia-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.australia-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.australia-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.australia-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.australia-map-panel__name{margin:0 0 .35rem;font-weight:700}.australia-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.australia-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.japan-map-section{min-height:0}.japan-map-wrap{--toolbar-w:25rem;flex:1;min-height:0;position:relative}.japan-map-canvas{height:100%;min-height:560px}.app-main--full .japan-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.japan-map-toolbar{width:min(25rem,100% - 2rem)}.japan-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.japan-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.japan-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.japan-map-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);max-width:100%;box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.2rem;display:inline-flex}.japan-map-mode button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.japan-map-mode button:hover,.japan-map-mode button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.japan-map-mode button.is-active{background:var(--accent);color:var(--surface)}.japan-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.japan-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.japan-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.japan-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.japan-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.japan-map-suggestions button:hover,.japan-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.japan-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.japan-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:15rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.japan-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:16rem;max-width:23rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.japan-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.japan-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.japan-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(24rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.japan-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.japan-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.japan-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.japan-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.japan-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.japan-map-panel__name{margin:0 0 .35rem;font-weight:700}.japan-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.japan-map-panel__state-total{font-size:var(--text-lg);margin:.2rem 0 0}.japan-seat-list{gap:.8rem;margin-top:.75rem;display:grid}.japan-seat-row{min-width:0}.japan-seat-row__heading,.japan-seat-row__meta{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.japan-seat-row__party{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.japan-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.japan-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);min-width:.15rem;height:.55rem;margin-top:.3rem;display:flex;overflow:hidden}.japan-seat-row__bar span{width:100%;height:100%;display:block}.japan-seat-row__meta{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.2rem}.japan-poll-panel__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.japan-poll-panel__header h3{font-size:var(--text-base);margin:0}.japan-poll-panel__header p{color:var(--ink-soft);font-size:var(--text-sm);margin:.2rem 0 0}.japan-poll-panel__back{color:var(--accent-ink);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:.25rem 0}.japan-poll-panel__back:hover,.japan-poll-panel__back:focus-visible{text-decoration:underline}.japan-poll-panel__search{margin-top:var(--space-3);display:block}.japan-poll-panel__search input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.55rem .65rem}.japan-poll-panel__search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.japan-poll-panel__area-list{max-height:23rem;margin:var(--space-3) 0 0;gap:.25rem;padding:0;list-style:none;display:grid;overflow-y:auto}.japan-poll-panel__area-list button{border-radius:var(--radius-control);background:var(--surface-sunken);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border:1px solid #0000;justify-content:space-between;gap:.7rem;padding:.45rem .5rem;display:flex}.japan-poll-panel__area-list button:hover,.japan-poll-panel__area-list button:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.japan-poll-panel__area-list button>span:first-child{min-width:0;display:grid}.japan-poll-panel__area-list button>span:last-child{color:var(--ink-soft);font-size:var(--text-xs);text-align:right;flex-shrink:0;align-self:center}.japan-poll-panel__area-list small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.japan-poll-panel__back-to-district{width:100%;margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-sunken);color:var(--ink);font:inherit;cursor:pointer;padding:.55rem .7rem;font-weight:700}.japan-poll-panel__back-to-district:hover,.japan-poll-panel__back-to-district:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.japan-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.ireland-map-section{min-height:0}.ireland-map-wrap{--toolbar-w:27rem;flex:1;min-height:0;position:relative}.ireland-map-canvas{height:100%;min-height:560px}.app-main--full .ireland-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.ireland-map-toolbar{width:min(27rem,100% - 2rem)}.ireland-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.ireland-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.ireland-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ireland-map-search.is-expanded .map-search__body{width:min(25rem,100%)}.ireland-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.ireland-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.ireland-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.ireland-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.ireland-map-suggestions button:hover,.ireland-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.ireland-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.ireland-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:17rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.ireland-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:25rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.ireland-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.ireland-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.ireland-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(27rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.ireland-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.ireland-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.ireland-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ireland-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.ireland-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.ireland-map-panel__name{margin:0 0 .35rem;font-weight:700}.ireland-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.ireland-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.netherlands-map-section{min-height:0}.netherlands-map-wrap{flex:1;min-height:0;position:relative}.netherlands-map-canvas{height:100%;min-height:560px}.app-main--full .netherlands-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.netherlands-map-toolbar{width:min(27rem,100% - 2rem)}.netherlands-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.netherlands-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.netherlands-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.netherlands-map-search.is-expanded .map-search__body{width:min(25rem,100%)}.netherlands-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.netherlands-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.netherlands-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.netherlands-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.netherlands-map-suggestions button:hover,.netherlands-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.netherlands-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.netherlands-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:18rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.netherlands-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:25rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.netherlands-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.netherlands-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.netherlands-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(27rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.netherlands-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.netherlands-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.netherlands-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.netherlands-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.netherlands-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.netherlands-map-panel__name{margin:0 0 .35rem;font-weight:700}.netherlands-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.netherlands-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.south-korea-map-section{min-height:0}.south-korea-map-wrap{--toolbar-w:27rem;flex:1;min-height:0;position:relative}.south-korea-map-canvas{height:100%;min-height:560px}.app-main--full .south-korea-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.south-korea-map-toolbar{width:min(27rem,100% - 2rem)}.south-korea-map-year,.south-korea-map-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.south-korea-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.south-korea-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.south-korea-map-mode{gap:.2rem;padding:.2rem}.south-korea-map-mode button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.south-korea-map-mode button:hover,.south-korea-map-mode button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.south-korea-map-mode button.is-active{background:var(--accent);color:var(--surface)}.south-korea-map-search.is-expanded .map-search__body{width:min(25rem,100%)}.south-korea-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.south-korea-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.south-korea-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.south-korea-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.south-korea-map-suggestions button:hover,.south-korea-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.south-korea-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.south-korea-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:16rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.south-korea-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:24rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.south-korea-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.south-korea-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.south-korea-seat-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);width:min(20rem,100% - 2rem);max-height:min(24rem,100% - 9rem);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.75rem .85rem;position:absolute;top:4.25rem;left:.75rem;overflow:auto}.south-korea-seat-summary__title{font-weight:750;font-size:var(--text-base);margin:0}.south-korea-seat-summary__note{color:var(--ink-soft);font-size:var(--text-xs);margin:.25rem 0 0;line-height:1.3}.south-korea-seat-list{gap:.65rem;margin-top:.8rem;display:grid}.south-korea-seat-row__heading,.south-korea-seat-row__meta{font-size:var(--text-xs);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.south-korea-seat-row__party{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.south-korea-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.south-korea-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);min-width:.15rem;height:.5rem;margin-top:.25rem;display:flex;overflow:hidden}.south-korea-seat-row__bar span{height:100%;display:block}.south-korea-seat-row__meta{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.18rem}.south-korea-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(24rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.south-korea-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.south-korea-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.south-korea-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.south-korea-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.south-korea-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.south-korea-map-panel__name{margin:0 0 .35rem;font-weight:700}.south-korea-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.south-korea-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.new-zealand-map-section{min-height:0}.new-zealand-map-wrap{--toolbar-w:25rem;flex:1;min-height:0;position:relative}.new-zealand-map-canvas{height:100%;min-height:560px}.app-main--full .new-zealand-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.new-zealand-map-toolbar{width:min(25rem,100% - 2rem)}.new-zealand-map-year,.new-zealand-map-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.new-zealand-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.new-zealand-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.new-zealand-map-mode{gap:.2rem;padding:.2rem}.new-zealand-map-mode button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.45rem .65rem;font-weight:650}.new-zealand-map-mode button:hover,.new-zealand-map-mode button:focus-visible{color:var(--ink);background:var(--accent-tint);outline:none}.new-zealand-map-mode button.is-active{background:var(--accent);color:var(--surface)}.new-zealand-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.new-zealand-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.new-zealand-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.new-zealand-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.new-zealand-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.new-zealand-map-suggestions button:hover,.new-zealand-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.new-zealand-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.new-zealand-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:16rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.new-zealand-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:17rem;max-width:24rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.new-zealand-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.new-zealand-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.new-zealand-seat-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);width:min(18rem,100% - 2rem);max-height:min(24rem,100% - 9rem);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);padding:.75rem .85rem;position:absolute;top:4.25rem;left:.75rem;overflow:auto}.new-zealand-seat-summary__title{font-weight:750;font-size:var(--text-base);margin:0}.new-zealand-seat-summary__note{color:var(--ink-soft);font-size:var(--text-xs);margin:.25rem 0 0;line-height:1.3}.new-zealand-seat-list{gap:.65rem;margin-top:.8rem;display:grid}.new-zealand-seat-row__heading,.new-zealand-seat-row__meta{font-size:var(--text-xs);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.new-zealand-seat-row__party{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.new-zealand-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.new-zealand-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);min-width:.15rem;height:.5rem;margin-top:.25rem;display:flex;overflow:hidden}.new-zealand-seat-row__bar span{height:100%;display:block}.new-zealand-seat-row__meta{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-top:.18rem}.new-zealand-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(24rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.new-zealand-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.new-zealand-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.new-zealand-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.new-zealand-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.new-zealand-map-panel__name{margin:0 0 .35rem;font-weight:700}.new-zealand-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.new-zealand-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.eu-map-section{min-height:0}.eu-map-wrap{--toolbar-w:25rem;flex:1;min-height:0;position:relative}.eu-map-canvas{height:100%;min-height:560px}.app-main--full .eu-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.eu-map-toolbar{width:min(25rem,100% - 2rem)}.eu-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.eu-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.eu-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.eu-map-mode{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:inherit;font-size:var(--text-sm);cursor:pointer;padding:.55rem .7rem;font-weight:650}.eu-map-mode:hover,.eu-map-mode:focus-visible{background:var(--accent-tint);outline:none}.eu-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.eu-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.eu-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.eu-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.eu-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.eu-map-suggestions button:hover,.eu-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.eu-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.eu-map-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .94);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:.55rem;padding:.45rem .7rem;display:flex;position:absolute;top:4.2rem;left:50%;transform:translate(-50%)}.eu-map-summary span{color:var(--ink-soft);font-size:var(--text-xs)}.eu-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:17rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.eu-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:16rem;max-width:23rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.eu-map-hover-card__group{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.eu-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.eu-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.eu-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.eu-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.eu-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.eu-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.eu-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.eu-map-panel__name{margin:0 0 .35rem;font-weight:700}.eu-map-panel__action{margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--accent-tint);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;padding:.55rem .7rem;font-weight:700}.eu-map-panel__action:hover,.eu-map-panel__action:focus-visible{border-color:var(--accent);outline:none}.eu-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.eu-seat-list{gap:.7rem;margin-top:.7rem;display:grid}.eu-seat-row__heading{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.65rem;display:flex}.eu-seat-row__group{align-items:center;gap:.4rem;min-width:0;display:inline-flex}.eu-seat-row__swatch{border-radius:50%;flex:none;width:.55rem;height:.55rem}.eu-seat-row__bar{border-radius:var(--radius-xs);background:var(--surface-sunken);height:.55rem;margin-top:.3rem;overflow:hidden}.eu-seat-row__bar span{border-radius:inherit;min-width:.15rem;height:100%;display:block}.eu-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.singapore-map-section{min-height:0}.singapore-map-wrap{--toolbar-w:25rem;flex:1;min-height:0;position:relative}.singapore-map-canvas{height:100%;min-height:560px}.app-main--full .singapore-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.singapore-map-toolbar{width:min(25rem,100% - 2rem)}.singapore-map-year{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.singapore-map-year select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.singapore-map-year select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.singapore-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.singapore-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.singapore-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.singapore-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.singapore-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.singapore-map-suggestions button:hover,.singapore-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.singapore-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.singapore-map-summary{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .94);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);white-space:nowrap;align-items:baseline;gap:.55rem;padding:.45rem .7rem;display:flex;position:absolute;top:4.2rem;left:50%;transform:translate(-50%)}.singapore-map-summary span{color:var(--ink-soft);font-size:var(--text-xs)}.singapore-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:16rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.singapore-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:16rem;max-width:23rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.singapore-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.singapore-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.singapore-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(25rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.singapore-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.singapore-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.singapore-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.singapore-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.singapore-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.singapore-map-panel__name{margin:0 0 .35rem;font-weight:700}.singapore-map-panel__notice{margin:var(--space-3) 0 0;border-left:.25rem solid var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-size:var(--text-sm);padding:.6rem .7rem;line-height:1.35}.singapore-map-panel__breakdown{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.singapore-map-panel__candidate-list,.singapore-map-panel__ticket-list{gap:.55rem;margin:.55rem 0 0;padding:0;list-style:none;display:grid}.singapore-map-panel__candidate-list li{font-size:var(--text-sm);overflow-wrap:anywhere}.singapore-map-panel__ticket{font-size:var(--text-sm);justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.singapore-map-panel__ticket>span:first-child{overflow-wrap:anywhere;flex-direction:column;gap:.1rem;min-width:0;display:flex}.singapore-map-panel__ticket small{color:var(--ink-soft);font-size:var(--text-xs)}.singapore-map-panel__ticket>span:last-child{color:var(--ink-soft);font-variant-numeric:tabular-nums;text-align:right;flex-shrink:0}.singapore-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}@media (width<=767px){.map-eyebrow{max-width:calc(100% - 2 * var(--space-3))}.us-map-canvas{min-height:640px}.us-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.us-map-search{align-self:flex-start}.us-map-search.is-expanded .map-search__body{width:100%}.us-presidential-summary{top:.75rem;left:var(--space-3);right:var(--space-3);max-width:none}.us-map-legend{width:min(13rem,100% - 2rem);max-width:none;bottom:.75rem}.us-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.germany-map-canvas{min-height:640px}.germany-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.germany-map-year,.germany-map-mode{align-self:flex-end}.germany-map-search{align-self:flex-start}.germany-map-search.is-expanded .map-search__body{width:100%}.germany-map-seat-summary{max-width:calc(100% - 2rem);top:9.4rem;overflow:hidden}.germany-map-legend{width:min(13rem,100% - 2rem);max-width:none;bottom:.75rem}.germany-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.germany-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.canadian-senate-map-canvas{min-height:640px}.canadian-senate-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.canadian-senate-map-search{align-self:flex-start}.canadian-senate-map-search.is-expanded .map-search__body{width:100%}.canadian-senate-map-legend{width:min(15rem,100% - 2rem);max-width:none;bottom:.75rem}.canadian-senate-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.canadian-senate-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.france-legislative-map-canvas{min-height:640px}.france-legislative-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.france-legislative-map-year,.france-legislative-map-round{align-self:flex-end}.france-legislative-map-search{align-self:flex-start}.france-legislative-map-search.is-expanded .map-search__body{width:100%}.france-legislative-map-legend{width:min(17rem,100% - 2rem);max-width:none;bottom:.75rem}.france-legislative-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.france-legislative-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.france-presidential-map-canvas{min-height:640px}.france-presidential-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.france-presidential-map-year,.france-presidential-map-round{align-self:flex-end}.france-presidential-map-search{align-self:flex-start}.france-presidential-map-search.is-expanded .map-search__body{width:100%}.france-presidential-map-legend{width:min(17rem,100% - 2rem);max-width:none;bottom:.75rem}.france-presidential-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.france-presidential-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.japan-map-canvas{min-height:640px}.japan-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.japan-map-year,.japan-map-mode{align-self:flex-end}.japan-map-mode{max-width:100%;overflow-x:auto}.japan-map-search{align-self:flex-start}.japan-map-search.is-expanded .map-search__body{width:100%}.japan-map-legend{width:min(15rem,100% - 2rem);max-width:none;bottom:.75rem}.japan-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.japan-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.south-korea-map-canvas{min-height:640px}.south-korea-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.south-korea-map-year,.south-korea-map-mode{align-self:flex-end}.south-korea-map-mode{max-width:100%;overflow-x:auto}.south-korea-map-search{align-self:flex-start}.south-korea-map-search.is-expanded .map-search__body{width:100%}.south-korea-seat-summary{max-width:calc(100% - 2rem);top:9.4rem;overflow:hidden}.south-korea-map-legend{width:min(16rem,100% - 2rem);max-width:none;bottom:.75rem}.south-korea-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.south-korea-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.australia-map-canvas{min-height:640px}.australia-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.australia-map-year{align-self:flex-end}.australia-map-search{align-self:flex-start}.australia-map-search.is-expanded .map-search__body{width:100%}.australia-map-legend{width:min(16rem,100% - 2rem);max-width:none;bottom:.75rem}.australia-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.australia-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.new-zealand-map-canvas{min-height:640px}.new-zealand-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.new-zealand-map-year,.new-zealand-map-mode{align-self:flex-end}.new-zealand-map-mode{max-width:100%;overflow-x:auto}.new-zealand-map-search{align-self:flex-start}.new-zealand-map-search.is-expanded .map-search__body{width:100%}.new-zealand-seat-summary{max-width:calc(100% - 2rem);top:9.4rem;overflow:hidden}.new-zealand-map-legend{width:min(16rem,100% - 2rem);max-width:none;bottom:.75rem}.new-zealand-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.new-zealand-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.eu-map-canvas{min-height:640px}.eu-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.eu-map-year{align-self:flex-end}.eu-map-search{align-self:flex-start}.eu-map-search.is-expanded .map-search__body{width:100%}.eu-map-summary{max-width:calc(100% - 2rem);top:9.4rem;overflow:hidden}.eu-map-legend{width:min(17rem,100% - 2rem);max-width:none;bottom:.75rem}.eu-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.eu-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}.singapore-map-canvas{min-height:640px}.singapore-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.singapore-map-year{align-self:flex-end}.singapore-map-search{align-self:flex-start}.singapore-map-search.is-expanded .map-search__body{width:100%}.singapore-map-summary{max-width:calc(100% - 2rem);top:7.5rem;overflow:hidden}.singapore-map-legend{width:min(16rem,100% - 2rem);max-width:none;bottom:.75rem}.singapore-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:.75rem}.singapore-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.state-message{color:var(--ink-soft);padding:var(--space-7) 0;text-align:center}.state-message--error{color:var(--party-liberal)}.state-message__title{margin:0 0 var(--space-2);font-size:var(--text-md)}.state-message__action{margin-top:var(--space-3);padding:var(--space-1) var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--accent-ink);font-size:var(--text-base);cursor:pointer;background:0 0;font-weight:600;display:inline-block}.state-message__action:hover{background:var(--accent-tint)}.about-sources-list{margin:0 0 var(--space-4);padding:0;list-style:none}.about-sources-list li{padding:.3rem 0}.political-financing__scope{justify-content:space-between;align-items:center;gap:var(--space-5);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4) var(--space-5);border-left:3px solid var(--accent);background:var(--surface-sunken);display:flex}.political-financing__scope h2{margin:0 0 var(--space-2);font-size:var(--text-lg);border-top:0;padding-top:0}.political-financing__scope p{margin-bottom:0}.political-financing__scope-kicker{margin-bottom:var(--space-1);color:var(--accent-ink);font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;font-weight:700;display:block}.political-financing__scope-mark{background:var(--accent);height:3.5rem;color:var(--surface);font-family:var(--font-display);border-radius:50%;flex:0 0 3.5rem;place-items:center;font-size:2rem;font-weight:700;display:grid;transform:rotate(-8deg)}.political-financing__stats{gap:var(--space-4);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4) 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.political-financing__toolbar{justify-content:space-between;align-items:end;gap:var(--space-3);flex-wrap:wrap;display:flex}.political-financing__toolbar .filter-chip-group{margin-top:0}.political-financing__toolbar .search-input{flex:20rem;width:auto;max-width:30rem;margin-top:0}.political-financing__section-heading{justify-content:space-between;align-items:baseline;gap:var(--space-4);margin-top:var(--space-5);display:flex}.political-financing__section-heading h2{margin-bottom:var(--space-2)}.political-financing__section-heading p{max-width:35rem;color:var(--ink-soft);font-size:var(--text-base);margin:0}.political-financing__table{min-width:60rem}.political-financing__table th,.political-financing__table td{vertical-align:top}.political-financing__candidate-button{min-width:12rem;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:0;display:flex}.political-financing__candidate-button:hover strong{color:var(--accent-ink)}.political-financing__candidate-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.political-financing__candidate-button small{color:var(--ink-soft);font-size:var(--text-sm);font-weight:400}.political-financing__bar-wrap{flex-direction:column;gap:.25rem;min-width:8rem;display:inline-flex}.political-financing__bar{border-radius:var(--radius-pill);background:var(--surface-sunken);width:100%;height:.45rem;display:block;overflow:hidden}.political-financing__bar>span{border-radius:inherit;background:var(--accent);height:100%;display:block}.political-financing__detail-row,.political-financing__detail-row:hover{background:var(--accent-tint)!important}.political-financing__detail{gap:var(--space-4);padding:var(--space-2) 0 var(--space-2) var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.political-financing__detail>div{flex-direction:column;gap:.15rem;display:flex}.political-financing__detail-label{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.04em;text-transform:uppercase;font-weight:700}.political-financing__detail strong{font-size:var(--text-lg)}.political-financing__detail small{color:var(--ink-soft);font-size:var(--text-sm)}.political-financing__official{margin-top:var(--space-7)}.political-financing__official h2,.political-financing__links{margin-bottom:var(--space-4)}.political-financing__links .ui-tile{align-items:flex-start}@media (width<=800px){.political-financing__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.political-financing__section-heading{display:block}.political-financing__section-heading h2{margin-bottom:var(--space-2)}}@media (width<=560px){.political-financing__scope{padding:var(--space-4);align-items:flex-start}.political-financing__scope-mark{height:2.75rem;font-size:var(--text-xl);flex-basis:2.75rem}.political-financing__stats{gap:var(--space-3)}.political-financing__stats .stat-display .stat-display__value{font-size:var(--text-xl)}.political-financing__detail{gap:var(--space-3);grid-template-columns:1fr}}.about-contact__link{margin-top:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--accent-ink);font-size:var(--text-base);font-weight:600;text-decoration:none;display:inline-block}.about-contact__link:hover{background:var(--accent-tint)}.about-contact__link:focus-visible,.state-message__action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-main.app-main--full{flex-direction:column;max-width:none;padding:0;display:flex}.app-main--full .section{min-height:0;box-shadow:none;border:none;border-radius:0;flex-direction:column;flex:1;padding:0;animation:none;display:flex}.app-main--full .state-message{padding:.5rem 1.5rem}.app-main--full .map-placeholder{margin:1rem 1.5rem}.app-main--full .riding-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.app-main--full .riding-map{border:none;border-radius:0;flex:1;min-height:0}.provincial-map-section{min-height:0}.provincial-map-wrap{--toolbar-w:20rem;flex:1;min-height:0;position:relative}.provincial-map-canvas{height:100%;min-height:560px}.provincial-map-toolbar{width:min(20rem,100% - 2rem)}.provincial-map-search.is-expanded .map-search__body{width:min(20rem,100%)}.provincial-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.provincial-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.provincial-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:17rem;padding:.7rem .85rem;position:absolute;bottom:1.8rem;left:.75rem;overflow:auto}.provincial-map-hover-card{bottom:2rem;right:1rem}.provincial-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(23rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.provincial-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.provincial-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.provincial-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.provincial-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.provincial-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.provincial-map-panel__name{margin:0 0 .35rem;font-weight:700}.provincial-map-source{z-index:var(--z-map-attribution);border-top:1px solid var(--border);background:rgba(var(--surface-rgb), .86);color:var(--ink-faint);font-size:var(--text-xs);text-align:right;flex-shrink:0;margin:0;padding:.35rem 1rem;position:absolute;bottom:0;left:0;right:0}@media (width<=767px){.provincial-map-canvas{min-height:640px}.provincial-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.provincial-map-search{align-self:flex-start}.provincial-map-search.is-expanded .map-search__body{width:100%}.provincial-map-legend{width:min(17rem,100% - 2rem);max-width:none;bottom:1.8rem}.provincial-map-hover-card{right:var(--space-3);min-width:0;max-width:calc(100% - 2rem);bottom:2rem}.provincial-map-panel{top:auto;bottom:2rem;left:var(--space-3);right:var(--space-3);width:auto;max-height:calc(100% - 4rem)}.provincial-map-source{text-align:left}}.skeleton-rows{gap:var(--space-2);margin-top:var(--space-4);flex-direction:column;display:flex}.skeleton-line{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--accent-tint) 50%, var(--surface-sunken) 75%);background-size:200% 100%;height:1.1rem;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-card{border-radius:var(--radius-md);background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--accent-tint) 50%, var(--surface-sunken) 75%);background-size:200% 100%;height:6.5rem;animation:1.4s ease-in-out infinite skeleton-shimmer}.skeleton-cards{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));display:grid}.skeleton-map{background:linear-gradient(90deg, var(--surface-sunken) 25%, var(--accent-tint) 50%, var(--surface-sunken) 75%);background-size:200% 100%;flex:1;min-height:320px;animation:1.4s ease-in-out infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.search-input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;font-size:var(--text-md);margin-top:var(--space-3);background-color:var(--surface);transition:border-color var(--duration-fast) var(--ease-standard);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%23565b66' stroke-width='1.5'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3.5 3.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:.75rem;background-repeat:no-repeat;padding:.6rem .9rem .6rem 2.25rem}.search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.year-select{margin-top:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:var(--text-base);background:var(--surface);color:var(--ink);padding:.4rem .6rem;display:block}.year-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.mp-directory__selects{gap:var(--space-2);flex-wrap:wrap;display:flex}.mp-directory__selects .year-select{flex:1 1 0;min-width:10rem}.mp-directory__filters-toggle{margin-top:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font-size:var(--text-base);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .85rem;font-weight:600;display:inline-flex}.mp-directory__filters-toggle:hover{border-color:var(--accent)}.mp-directory__filters-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mp-directory__filters-chevron{transition:transform var(--duration-fast) var(--ease-standard)}.mp-directory__filters-chevron--open{transform:rotate(180deg)}.table-scroll-hint{margin:var(--space-2) 0 0;color:var(--ink-soft);font-size:var(--text-sm);align-items:center;gap:.3rem;display:none}@media (width<=640px){.table-scroll-hint{display:flex}}.table-scroll{margin-top:var(--space-3);overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.data-table thead th{background:var(--surface);z-index:var(--z-raised);position:sticky;top:0}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .75rem;line-height:1.5}.data-table th{color:var(--ink-soft);font-weight:700;font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em}.data-table td{font-variant-numeric:tabular-nums}.data-table tbody tr:nth-child(2n){background:var(--surface-sunken)}.data-table tbody tr:hover{background:var(--accent-tint)}.data-table__sticky-col{z-index:var(--z-raised);background:var(--surface);border-right:1px solid var(--border);position:sticky;left:0}.data-table thead .data-table__sticky-col{z-index:var(--z-sticky-corner)}.data-table tbody tr:nth-child(2n) .data-table__sticky-col{background:var(--surface-sunken)}.data-table tbody tr:hover .data-table__sticky-col{background:var(--accent-tint)}.sortable-header{all:unset;cursor:pointer;color:inherit;font:inherit;font-weight:inherit;text-transform:inherit;letter-spacing:inherit;white-space:nowrap}.sortable-header:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.petitions-description{min-width:22rem;max-width:32rem}.stat-display{flex-direction:column;gap:.15rem;display:flex}.stat-display__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-weight:700;line-height:1}.stat-display--hero .stat-display__value{font-size:clamp(2.75rem,8vw,4.5rem)}.stat-display--md .stat-display__value{font-size:1.9rem}.stat-display--sm .stat-display__value{font-size:var(--text-lg)}.stat-display--accent .stat-display__value{color:var(--accent-ink)}.stat-display__label{font-size:var(--text-base);color:var(--ink-soft);font-weight:600}.stat-display__sublabel{font-size:var(--text-sm);color:var(--ink-faint)}.filter-chip-group{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.filter-chip{min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink-soft);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.filter-chip:hover{border-color:var(--accent)}.filter-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.filter-chip__swatch{border-radius:var(--radius-xs);flex-shrink:0;width:.55rem;height:.55rem}.filter-chip--active{background:var(--surface-ink);border-color:var(--surface-ink);color:var(--surface-ink-text)}.filter-chip:disabled{opacity:.45;cursor:not-allowed}.filter-chip:disabled:hover{border-color:var(--border-strong)}.byelections__summary{gap:var(--space-4);margin:var(--space-5) 0 var(--space-6);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.byelections__section-heading{justify-content:space-between;align-items:end;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.byelections__section-heading h2{margin-bottom:0}.byelections__section-heading .section-meta{margin:.25rem 0 0}.byelections__search{width:min(24rem,100%);margin:0}.byelections__table{font-size:var(--text-base)}.byelections__riding{min-width:15rem;font-weight:700}.byelections__former-party{align-items:center;gap:.35rem;display:flex}.byelections__party-dot{border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem}.byelections__former-name{white-space:nowrap;margin-top:.2rem;display:block}.byelections__deadline{color:var(--accent-ink);font-weight:700}.byelections__scheduled-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.byelections__scheduled-card{padding:var(--space-4);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-sm);background:var(--surface);flex-direction:column;gap:.2rem;display:flex}.byelections__scheduled-card span:last-child{color:var(--ink-soft);font-size:var(--text-base)}.byelections__scheduled-date{color:var(--accent-ink);font-weight:700}.byelections__empty-scheduled{padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-sm);color:var(--ink-soft);background:var(--surface-sunken)}.byelections__earliest-note{margin-top:var(--space-4);color:var(--ink-soft);font-size:var(--text-sm)}@media (width<=640px){.byelections__summary{gap:var(--space-3);grid-template-columns:1fr}.byelections__section-heading{display:block}.byelections__search{margin-top:var(--space-3);width:100%}}.party-delta-badge{font-size:var(--text-sm);font-variant-numeric:tabular-nums;border-radius:var(--radius-sm);align-items:center;gap:.15rem;padding:.05rem .4rem;font-weight:700;display:inline-flex}.party-delta-badge--up{color:var(--badge-positive-text);background:var(--badge-positive-bg)}.party-delta-badge--down{color:var(--badge-negative-text);background:var(--badge-negative-bg)}.party-delta-badge--flat{color:var(--ink-faint);background:var(--surface-sunken)}.mp-row{cursor:pointer}.mp-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mp-row__detail td{background:var(--surface-sunken);border-bottom:1px solid var(--border);padding:.9rem .75rem}.mp-row__detail:hover td{background:var(--surface-sunken)}.mp-row__detail{animation:detail-in var(--duration-fast) var(--ease-standard)}.mp-row__detail h3{font-size:var(--text-md);margin:0 0 .4rem}.mp-row__detail h4{font-size:var(--text-sm);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;margin:.9rem 0 .25rem}.mp-committee-list{font-size:var(--text-base);margin:0;padding:0;list-style:none}.mp-committee-list li{padding:.15rem 0}.mp-contact{font-size:var(--text-base)}.mp-contact p{margin:.1rem 0}.mp-contact a{color:var(--accent-ink)}.mp-office{margin-top:.5rem}.mp-office:first-of-type{margin-top:0}.mp-page__card{margin-top:var(--space-5)}.mp-page__card h2{margin:0 0 var(--space-3);border:0;padding:0}.mp-page__offices{gap:var(--space-5);font-size:var(--text-base);grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));display:grid}.mp-page__offices .mp-office{margin-top:0}@keyframes detail-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.mp-index{margin:var(--space-4) 0 0;gap:var(--space-3);grid-template-columns:1fr;padding:0;list-style:none;display:grid}@media (width>=640px){.mp-index{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr))}}.mp-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex;overflow:hidden}.mp-card__accent{flex-shrink:0;width:5px}.mp-card__body{flex:1;min-width:0}.mp-card__trigger{width:100%;padding:var(--space-4);text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.mp-card__trigger:hover{background:var(--surface-sunken)}.mp-card__trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.mp-card__toprow{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;display:flex}.mp-card__name{font-weight:700;font-size:var(--text-md)}.mp-card__chevron{color:var(--ink-faint);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.mp-card__chevron--open{transform:rotate(180deg)}.mp-card__meta{color:var(--ink-soft);font-size:var(--text-base)}.mp-card__badges{flex-wrap:wrap;align-items:center;gap:.35rem;display:flex}.mp-card__profile-link{padding:0 var(--space-4) var(--space-3);font-size:var(--text-sm);margin:0}.mp-card__profile-link a{color:var(--accent-ink);font-weight:600}.mp-card__new-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink);background:var(--accent-tint);border-radius:var(--radius-chip);padding:.1rem .4rem;font-weight:700}.mp-card__role-badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);background:var(--surface-sunken);border:1px solid var(--fixed-ink-soft);border-radius:var(--radius-chip);padding:.1rem .4rem;font-weight:700}.mp-card__detail{padding:0 var(--space-4) var(--space-4);animation:detail-in var(--duration-fast) var(--ease-standard)}.mp-card__static-body{padding:var(--space-4);flex-direction:column;align-items:flex-start;gap:.3rem;display:flex}.seat-bars{margin:var(--space-4) 0;flex-direction:column;gap:.6rem;padding:0;list-style:none;display:flex}.seat-bar{grid-template-columns:8rem 1fr 3rem;align-items:center;gap:.6rem;display:grid}.seat-bar__label{font-size:var(--text-base);flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.seat-bar__swatch{border-radius:var(--radius-xs);flex-shrink:0;width:.6rem;height:.6rem}.seat-bar__track{background:var(--surface-sunken);border-radius:var(--radius-pill);height:.9rem;overflow:hidden}.seat-bar__fill{border-radius:var(--radius-pill);height:100%;transition:width var(--duration-slow) var(--ease-standard)}.seat-bar__count{text-align:right;font-variant-numeric:tabular-nums;font-size:var(--text-base);font-weight:600}.province-charts{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));display:grid}.province-chart{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:.9rem 1rem}.province-chart h3{font-size:var(--text-base);font-weight:700;font-family:var(--font-ui);margin:0 0 .6rem}.province-chart .seat-bars{gap:.4rem;margin:0}.province-chart .seat-bar{grid-template-columns:6.5rem 1fr 2rem;gap:.5rem}.province-chart .seat-bar__label,.province-chart .seat-bar__count{font-size:var(--text-sm)}.province-chart .seat-bar__track{height:.65rem}.seat-hero{gap:var(--space-6);padding:var(--space-5) 0;margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.seat-hero__stats{gap:var(--space-6);flex-wrap:wrap;display:flex}.majority-bar-wrap{flex:1;min-width:14rem}.majority-bar-wrap__label{font-size:var(--text-sm);color:var(--ink-soft);justify-content:space-between;margin:0 0 .4rem;display:flex}.majority-bar{background:var(--surface-sunken);border-radius:var(--radius-sm);height:1.5rem;position:relative;overflow:hidden}.majority-bar__fill{height:100%;transition:width var(--duration-slow) var(--ease-standard)}.majority-bar__threshold{background:var(--ink);width:2px;position:absolute;top:-.25rem;bottom:-.25rem}.seat-change-summary{margin:var(--space-3) 0 0;font-size:var(--text-base);color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;display:flex}.seating-plan{margin:var(--space-4) 0 var(--space-5)}.seating-plan__legend{flex-wrap:wrap;gap:.3rem .9rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.seating-plan__legend-item{font-size:var(--text-sm);color:var(--ink-soft);align-items:center;gap:.35rem;display:flex}.seating-plan__legend-swatch{border-radius:var(--radius-xs);background:var(--party-unknown);width:.9rem;height:.9rem;font-size:var(--text-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.seating-plan__legend-swatch--pm{background:var(--surface-ink)}.seating-plan__legend-swatch--lo{background:var(--accent)}.seating-plan__legend-swatch--cabinet{background:var(--fixed-ink-soft)}.seating-plan__legend-swatch--vacant{background:var(--surface-sunken);border:1px dashed var(--border)}.seating-plan__grid{flex-direction:column;align-items:center;gap:.2rem;min-width:fit-content;margin-top:.75rem;padding:.5rem .25rem;display:flex}.seating-plan__row{gap:.16rem;display:flex}.seating-plan__seat{border-radius:var(--radius-xs);cursor:pointer;width:1rem;height:1rem;transition:transform var(--duration-fast) var(--ease-standard);border:none;justify-content:center;align-items:center;padding:0;display:flex}.seating-plan__seat:hover,.seating-plan__seat:focus-visible{z-index:var(--z-raised);position:relative;transform:scale(1.4)}.seating-plan__seat:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.seating-plan__seat--pm{box-shadow:0 0 0 2px var(--surface-ink)}.seating-plan__seat--lo{box-shadow:0 0 0 2px var(--accent)}.seating-plan__seat--cabinet{box-shadow:0 0 0 1.5px var(--fixed-ink-soft)}.seating-plan__seat--vacant{background:var(--surface-sunken);border:1px dashed var(--border);cursor:default}.seating-plan__seat--unknown{background:var(--party-unknown);cursor:default}.seating-plan__seat-label{font-size:var(--text-xs);color:#fff;text-shadow:0 0 1.5px #0009;pointer-events:none;font-weight:700;line-height:1}.seating-plan__seat-dot{pointer-events:none;background:#fff;border-radius:50%;width:.24rem;height:.24rem}.seating-plan__aisle{align-items:center;gap:.75rem;width:100%;min-width:fit-content;margin:.3rem 0;padding:.35rem 0;display:flex}.seating-plan__speaker{align-items:center;gap:.3rem;display:flex}.seating-plan__speaker-chair{border-radius:var(--radius-xs);border:2px solid var(--ink-soft);background:var(--surface-sunken);flex-shrink:0;width:.9rem;height:.9rem}.seating-plan__speaker-label{font-size:var(--text-xs);color:var(--ink-soft);white-space:nowrap}.seating-plan__table{border-radius:var(--radius-xs);background:var(--border);flex:1;height:.5rem}.map-placeholder{margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);text-align:center;color:var(--ink-soft);background:var(--accent-tint);padding:3.5rem 1.5rem}.map-placeholder svg{color:var(--accent-ink);margin-bottom:.75rem}.map-placeholder p{margin:0;max-width:28rem;margin-inline:auto}.riding-map-wrap{--toolbar-w:0px;margin-top:.75rem;position:relative}.riding-map-toolbar{top:3.4rem;left:var(--space-3);flex-direction:row;align-items:stretch;width:min(32rem,100% - 2rem);right:auto}.riding-map{border:1px solid var(--border);border-radius:var(--radius-md);height:65vh;min-height:420px;overflow:hidden}.riding-map-wrap .map-placeholder{flex-direction:column;justify-content:center;align-items:center;height:65vh;min-height:420px;margin-top:0;display:flex}.riding-map-wrap:after,.uk-map-wrap:after{content:"";pointer-events:none;border-radius:var(--radius-md);position:absolute;inset:0;box-shadow:inset 0 0 60px #14161c2e}.map-mode-select{border:1px solid var(--border);border-radius:var(--radius-sm);background-color:rgba(var(--surface-rgb), .95);max-width:100%;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:none;padding:.35rem 1.75rem .35rem .55rem;font-weight:700}.map-mode-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.boundary-compare-control{top:6.15rem;left:var(--space-3);z-index:var(--z-map-top);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .95);width:min(24rem,100% - 2rem);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font-size:var(--text-sm);padding:.75rem .85rem;position:absolute}.boundary-compare-control__heading{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.65rem;display:flex}.boundary-compare-control__heading strong{font-size:var(--text-base);line-height:1.2;display:block}.boundary-compare-control__eyebrow{color:var(--ink-faint);font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;margin-bottom:.15rem;font-weight:700;display:block}.boundary-compare-control__close{color:var(--ink-soft);font-size:var(--text-lg);cursor:pointer;background:0 0;border:0;line-height:.9}.boundary-compare-control__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.boundary-compare-control__select-label,.boundary-compare-control__slider-label{flex-direction:column;gap:.35rem;display:flex}.boundary-compare-control__select-label{color:var(--ink-soft);font-weight:650}.boundary-compare-control select{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.38rem .45rem}.boundary-compare-control select:focus-visible,.boundary-compare-control input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.boundary-compare-control__slider-label{color:var(--ink-soft);margin-top:.75rem;font-weight:650}.boundary-compare-control input[type=range]{width:100%;accent-color:var(--accent)}.boundary-compare-control__slider-ends{color:var(--ink-faint);font-size:var(--text-xs);justify-content:space-between;gap:.75rem;font-weight:500;display:flex}.boundary-compare-control__names{border-top:1px solid var(--border);color:var(--ink-soft);font-size:var(--text-xs);margin:.7rem 0 0;padding-top:.6rem;line-height:1.6}.boundary-compare-control__swatch{vertical-align:middle;width:.7rem;height:.14rem;margin:0 .25rem .18rem 0;display:inline-block}.boundary-compare-control__swatch--old{background:var(--ink-soft)}.boundary-compare-control__swatch--new{background:var(--accent)}.boundary-compare-control__status{color:var(--ink-soft);margin:0}.boundary-compare-control__status--error{color:var(--party-liberal)}.margin-legend__scale{flex-direction:column;gap:.25rem;display:flex}.margin-legend__labels{color:var(--ink-faint);font-size:var(--text-xs);justify-content:space-between;gap:.75rem;display:flex}.margin-legend__gradient{border-radius:var(--radius-xs);height:.42rem}.margin-legend__gradient--liberal{background:linear-gradient(90deg, color-mix(in srgb, var(--party-liberal) 15%, var(--surface)), var(--party-liberal))}.margin-legend__gradient--conservative{background:linear-gradient(90deg, color-mix(in srgb, var(--party-conservative) 15%, var(--surface)), var(--party-conservative))}.riding-search{flex:1 1 0;min-width:0;position:relative}.riding-search__icon{z-index:1;color:var(--ink-soft);pointer-events:none;position:absolute;top:.8rem;left:.75rem}.riding-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem .62rem 2.2rem}.riding-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.riding-search__card{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);padding:.6rem .7rem;position:absolute;top:calc(100% + .35rem);left:0;right:0}.postal-lookup__message{font-size:var(--text-sm);color:var(--ink-soft);margin:0}.postal-lookup__message--error{color:var(--party-liberal)}.postal-lookup__result{font-size:var(--text-sm)}.postal-lookup__riding{margin:0 0 .2rem;font-weight:700}.postal-lookup__mp{color:var(--ink-soft);margin:0}.postal-lookup__links{font-size:var(--text-sm);gap:.6rem;margin:.4rem 0 0;display:flex}.postal-lookup__links a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (width<=767px){.riding-map-toolbar{width:auto;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:rgba(var(--surface-rgb), .96);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);flex-wrap:wrap;align-items:stretch;top:0;left:0;right:0}.riding-search{flex:100%}.map-mode-select{flex:100%;padding-top:.45rem;padding-bottom:.45rem}.riding-map-wrap .map-eyebrow{top:4.1rem}.riding-map-wrap:has(.map-mode-select) .map-eyebrow{top:6.6rem}.boundary-compare-control{top:9.6rem}}.map-legend{background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:12rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem}.map-legend-shell{box-sizing:border-box}.map-legend.map-legend--tri{max-width:17rem}.map-legend__header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.map-legend-shell--minimized .map-legend__header{margin-bottom:0}.map-legend__title{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.04em;font-weight:700;font-size:var(--text-xs);margin:0}.map-legend__metric-toggle{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-sunken);gap:.15rem;margin:0 0 .55rem;padding:.15rem;display:flex}.map-legend__metric-button{border-radius:var(--radius-control);color:var(--ink-soft);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex:1;padding:.22rem .35rem}.map-legend__metric-button:hover{color:var(--ink)}.map-legend__metric-button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-legend__metric-button.is-active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-1);font-weight:700}.map-legend__toggle{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;flex-shrink:0;align-items:center;padding:.1rem;display:flex}.map-legend__toggle:hover{color:var(--ink)}.map-legend__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.map-legend__chevron{transition:transform var(--duration-fast) var(--ease-standard)}.map-legend__chevron--open{transform:rotate(180deg)}.map-legend__split{border-radius:var(--radius-xs);height:.4rem;margin-bottom:.6rem;display:flex;overflow:hidden}.map-legend__list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.map-legend__item{align-items:center;gap:.4rem;display:flex}.map-legend__item-btn{border-radius:var(--radius-control);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;gap:.4rem;margin:-.1rem -.3rem;padding:.1rem .3rem;display:flex}.map-legend__item-btn:hover{background:var(--surface-sunken)}.map-legend__item-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.map-legend__item-btn--active,.map-legend__item-btn--active:hover{background:var(--surface-ink);color:var(--surface-ink-text)}.map-legend__item-btn--static{cursor:default}.map-legend__swatch{border-radius:var(--radius-xs);flex-shrink:0;width:.6rem;height:.6rem}.map-legend__item-btn>span:not(.map-legend__swatch):not(.map-legend__count){overflow-wrap:anywhere;min-width:0}.map-legend__count{font-variant-numeric:tabular-nums;font-family:var(--font-display);color:var(--ink);margin-left:auto;padding-left:.6rem;font-weight:700}.map-legend__item-btn--active .map-legend__count{color:inherit}.map-legend__source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);margin:.6rem 0 0;padding-top:.45rem;line-height:1.3}.uk-map-legend__note{max-width:18rem}.map-legend__quebec-link{font-size:var(--text-xs);margin:.45rem 0 0;font-weight:600}.map-popup__mp{margin-top:.4rem}.mapboxgl-popup-content{font-family:inherit;font-size:var(--text-base)}.mapboxgl-ctrl-group{border-radius:var(--radius-sm)!important;box-shadow:var(--shadow-2)!important}.uk-map-section{min-height:0}.uk-map-wrap{--toolbar-w:38rem;flex:1;min-height:0;position:relative}.uk-map-canvas{height:100%;min-height:560px}.app-main--full .uk-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.uk-map-toolbar{flex-direction:row;align-items:stretch;width:min(38rem,100% - 2rem)}.uk-map-search{flex:1 1 0;min-width:0;position:relative}.uk-map-search__icon{z-index:1;color:var(--ink-soft);pointer-events:none;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.uk-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;height:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem .62rem 2.2rem}.uk-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.uk-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.uk-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.uk-map-suggestions button:hover,.uk-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.uk-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.uk-map-filters{align-items:stretch;gap:var(--space-2);flex:none;display:flex}.uk-map-filters select{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);padding:.4rem .55rem}.uk-map-filters select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.uk-map-timeline-status{top:5.1rem;left:var(--space-3);z-index:var(--z-map-controls);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .94);color:var(--ink-soft);font-size:var(--text-xs);box-shadow:var(--shadow-1);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);margin:0;padding:.4rem .6rem;position:absolute}.uk-map-timeline-status--error{color:var(--party-liberal);border-color:var(--party-liberal)}.uk-map-postcode-error{top:7.3rem;right:var(--space-3);z-index:var(--z-map-controls);border:1px solid var(--party-liberal);border-radius:var(--radius-sm);background:var(--surface);max-width:22rem;color:var(--party-liberal);font-size:var(--text-sm);box-shadow:var(--shadow-1);margin:0;padding:.5rem .7rem;position:absolute}.uk-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.uk-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.uk-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.uk-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.uk-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.uk-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.uk-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.uk-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.uk-map-panel__kicker{margin-bottom:var(--space-2);color:var(--accent-ink);font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;font-weight:700}.uk-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.uk-map-panel__mp{gap:var(--space-3);align-items:center;display:flex}.uk-map-panel__members{gap:var(--space-3);flex-direction:column;display:flex}.uk-map-panel__multi-member-label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0}.uk-map-panel__member{gap:var(--space-3);align-items:center;display:flex}.uk-map-panel__member-swatch{border-radius:var(--radius-xs);flex-shrink:0;width:.48rem;height:2.2rem}.uk-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.uk-map-panel__name{margin:0 0 .35rem;font-weight:700}.uk-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.uk-map-panel__result-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.uk-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.uk-map-panel__result-heading p{color:var(--ink-soft);font-size:var(--text-xs);margin:.15rem 0 0}.uk-map-panel__result-heading>strong{font-family:var(--font-display);font-size:var(--text-base);flex-shrink:0}.uk-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;gap:.6rem;display:flex}.uk-map-panel__source{margin:var(--space-4) 0 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.35}.uk-poll-panel__header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.uk-poll-panel__header h3{font-size:var(--text-base);margin:0}.uk-poll-panel__header p{color:var(--ink-soft);font-size:var(--text-sm);margin:.2rem 0 0}.uk-poll-panel__back{color:var(--accent-ink);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding:.25rem 0}.uk-poll-panel__back:hover,.uk-poll-panel__back:focus-visible{text-decoration:underline}.uk-poll-panel__search{margin-top:var(--space-3);display:block}.uk-poll-panel__search input{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);width:100%;color:var(--ink);font:inherit;padding:.55rem .65rem}.uk-poll-panel__search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.uk-poll-panel__area-list{max-height:23rem;margin:var(--space-3) 0 0;gap:.25rem;padding:0;list-style:none;display:grid;overflow-y:auto}.uk-poll-panel__area-list button{border-radius:var(--radius-control);background:var(--surface-sunken);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);text-align:left;cursor:pointer;border:1px solid #0000;justify-content:space-between;gap:.7rem;padding:.45rem .5rem;display:flex}.uk-poll-panel__area-list button:hover,.uk-poll-panel__area-list button:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.uk-poll-panel__area-list button>span:first-child{min-width:0;display:grid}.uk-poll-panel__area-list button>span:last-child{color:var(--ink-soft);font-size:var(--text-xs);text-align:right;flex-shrink:0;align-self:center}.uk-poll-panel__area-list small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.uk-poll-panel__back-to-constituency{width:100%;margin-top:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface-sunken);color:var(--ink);font:inherit;cursor:pointer;padding:.55rem .7rem;font-weight:700}.uk-poll-panel__back-to-constituency:hover,.uk-poll-panel__back-to-constituency:focus-visible{border-color:var(--accent);background:var(--accent-tint);outline:none}.uk-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}@media (width<=767px){.uk-map-canvas{min-height:640px}.uk-map-toolbar{width:auto;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:rgba(var(--surface-rgb), .96);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);flex-wrap:wrap;top:0;left:0;right:0}.uk-map-wrap .map-eyebrow{top:7.2rem}.uk-map-postcode-error{top:9.6rem;left:var(--space-3);right:var(--space-3);max-width:none}.uk-map-search,.uk-map-filters{flex:100%}.uk-map-filters select{flex:1 1 0;min-width:0}.uk-map-timeline-status{top:10.5rem;left:var(--space-3);right:var(--space-3)}.uk-map-legend{max-width:11rem;bottom:.75rem}.uk-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.qc-map-section{min-height:0}.qc-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.qc-map-canvas{height:100%;min-height:560px}.app-main--full .qc-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.qc-map-toolbar{width:min(24rem,100% - 2rem)}.qc-map-search.is-expanded .map-search__body{width:min(18rem,100%)}@media (width>=768px){.app-main .qc-map-wrap.has-docked-toolbar>.map-eyebrow{top:var(--space-2);left:var(--space-3);z-index:var(--z-map-popover);box-sizing:border-box;align-items:center;width:20rem;max-width:none;height:2.5rem;margin:0;line-height:1.2;display:flex}.app-main .qc-map-wrap .qc-map-toolbar{padding-left:calc(20rem + 2 * var(--space-3))}}.qc-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.qc-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qc-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.qc-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.qc-map-suggestions button:hover,.qc-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.qc-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.qc-map-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);padding:.4rem .55rem}.qc-map-toolbar select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.qc-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.qc-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.qc-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.qc-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.qc-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.qc-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.qc-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.qc-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qc-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.qc-map-panel__mna{gap:var(--space-3);align-items:center;display:flex}.qc-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.qc-map-panel__name{margin:0 0 .35rem;font-weight:700}.qc-map-panel__links{margin:var(--space-3) 0 0;font-size:var(--text-sm);flex-wrap:wrap;gap:.9rem;display:flex}.qc-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.qc-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.qc-map-panel__result-heading p{margin:.15rem 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs)}.map-result-table .data-table{font-size:var(--text-sm)}.map-result-table .data-table th{font-size:var(--text-xs);letter-spacing:0}.map-result-table .data-table th,.map-result-table .data-table td{padding:var(--space-2) var(--space-1)}.map-result-table .map-result-table__num{text-align:right;white-space:nowrap}.map-result-table .party-pill{padding-inline:var(--space-2)}.map-result-table .party-pill--wrap{max-width:100%}.qc-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}.qc-map-panel__source{margin:var(--space-4) 0 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.35}.qc-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}@media (width<=767px){.qc-map-canvas{min-height:640px}.qc-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.qc-map-search{align-self:flex-start}.qc-map-search.is-expanded .map-search__body{width:100%}.qc-map-legend{max-width:11rem;bottom:.75rem}.qc-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.live-election-map-section{min-height:0}.live-election-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.live-election-map-canvas{height:100%;min-height:560px}.app-main--full .live-election-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.live-election-toolbar{width:min(24rem,100% - 2rem)}.live-election-search{width:100%;display:block}.live-election-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.live-election-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.live-election-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.live-election-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:.55rem .6rem;display:block}.live-election-suggestions button:hover,.live-election-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.live-election-eyebrow{max-width:calc(100% - var(--toolbar-w,24rem) - var(--space-3) * 3)}.live-election-countdown{border-radius:var(--radius-md);background:var(--accent);color:var(--surface);box-shadow:var(--shadow-2);font-variant-numeric:tabular-nums;flex-direction:column;flex:none;justify-content:center;padding:.35rem .9rem;line-height:1.2;display:flex}.live-election-countdown>span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;opacity:.9;font-weight:600}.live-election-countdown>strong{font-family:var(--font-display);font-size:var(--text-xl);white-space:nowrap}.live-election-countdown--pinned{display:none}.live-election-countdown--closed{background:rgba(var(--surface-rgb), .95);color:var(--ink);border:1px solid var(--border-strong)}.live-election-countdown--closed>strong{font-size:var(--text-base)}.live-election-legend{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:12rem;max-height:min(22rem,100% - 9rem);color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.live-election-legend>strong{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.45rem;display:block}.live-election-legend__row{grid-template-columns:.55rem minmax(0,1fr) auto;align-items:center;gap:.45rem;padding:.16rem 0;display:grid}.live-election-legend__row strong{font-family:var(--font-display)}.live-election-legend__row--muted{color:var(--ink-soft)}.live-election-legend__swatch{border-radius:2px;width:.55rem;height:.8rem}.live-election-legend__row>span:nth-child(2){overflow-wrap:anywhere;min-width:0}.live-election-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.live-election-hover-card__swatch{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.live-election-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.live-election-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(23rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.live-election-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.live-election-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.live-election-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.live-election-panel h2{margin:0 2rem var(--space-3) 0;font-size:var(--text-xl);line-height:1.1}.live-election-panel__label{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.live-election-panel__leader{align-items:center;gap:.5rem;margin:0;font-weight:700;display:flex}.live-election-panel__party{border-radius:var(--radius-xs);flex-shrink:0;width:.55rem;height:1.8rem}.live-election-panel__empty-chart{margin-top:var(--space-3)}.live-election-panel__meta{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}.live-election-warning{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:var(--z-map-top);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .96);color:var(--ink);box-shadow:var(--shadow-2);font-size:var(--text-xs);margin:0;padding:.55rem .7rem;position:absolute}.live-election-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.ab-ref-summary{gap:var(--space-3);display:grid}.ab-ref-toolbar .live-election-search input{box-sizing:border-box;min-height:2.75rem}.ab-ref-headline,.ab-ref-questions,.ab-ref-legend{box-sizing:border-box;width:100%}.ab-ref-headline,.ab-ref-questions{padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .96);color:var(--ink);box-shadow:var(--shadow-2)}.ab-ref-headline__eyebrow{margin:0 0 var(--space-1);color:var(--alberta-accent);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;font-weight:700}.ab-ref-headline h2{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--text-lg);overflow-wrap:anywhere;border:0;padding:0;line-height:1.2}.ab-ref-questions__title{margin:0 0 var(--space-3);color:var(--ink-soft);font-family:var(--font-display);font-size:var(--text-sm);letter-spacing:.05em;text-transform:uppercase;border:0;padding:0}.ab-ref-headline__lead{align-items:baseline;gap:var(--space-1) var(--space-3);margin:0 0 var(--space-3);flex-wrap:wrap;font-weight:700;display:flex}.ab-ref-headline__figure{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(2rem,6vw,2.75rem);line-height:1}.ab-ref-headline__waiting,.ab-ref-headline__meta{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-sm);line-height:1.4}.ab-ref-headline__waiting{margin-top:0}.ab-ref-bar{border-radius:var(--radius-pill);background:var(--surface-sunken);height:.6rem;box-shadow:inset 0 0 0 1px var(--border);display:flex;overflow:hidden}.ab-ref-bar>span{height:100%;display:block}.ab-ref-rows{margin:var(--space-3) 0 0;padding:0;list-style:none}.ab-ref-rows__row{gap:var(--space-2);padding:var(--space-1) 0;font-size:var(--text-base);font-variant-numeric:tabular-nums;grid-template-columns:.55rem minmax(0,1fr) auto auto;align-items:center;display:grid}.ab-ref-rows__swatch{border-radius:var(--radius-xs);width:.55rem;height:1.1rem}.ab-ref-rows__row strong{overflow-wrap:anywhere}.ab-ref-rows__pct{text-align:right;font-weight:700}.ab-ref-rows__votes{min-width:4.5rem;color:var(--ink-soft);text-align:right}.ab-ref-zoom{gap:var(--space-2);flex:none;display:flex}.ab-ref-zoom button{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .96);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:auto;font-weight:600}.ab-ref-zoom button:hover{background:var(--accent-tint)}.ab-ref-zoom button:focus-visible,.ab-ref-questions__button:focus-visible,.ab-ref-wording:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ab-ref-questions ul{margin:0;padding:0;list-style:none}.ab-ref-questions__button{gap:var(--space-3);width:100%;min-height:2.75rem;padding:var(--space-2) var(--space-2);border:0;border-bottom:1px solid var(--border);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:0;grid-template-columns:1.6rem minmax(0,1fr) auto;align-items:center;display:grid}.ab-ref-questions li:last-child .ab-ref-questions__button{border-bottom:0}.ab-ref-questions__button:hover{background:var(--accent-tint)}.ab-ref-questions__button[aria-pressed=true]{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent)}.ab-ref-questions__number{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-weight:700}.ab-ref-questions__body{gap:var(--space-1);min-width:0;display:grid}.ab-ref-questions__label{font-size:var(--text-sm);overflow-wrap:anywhere;line-height:1.25}.ab-ref-questions__result{min-width:4.5rem;color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;text-align:right;justify-items:end;display:grid}.ab-ref-questions__result strong{color:var(--ink);font-size:var(--text-base)}.ab-ref-legend{min-width:0;max-height:none;position:static}.ab-ref-legend__scale{height:.5rem;margin-top:var(--space-2);border-radius:var(--radius-pill)}.ab-ref-legend__scale-labels{margin-top:var(--space-1);color:var(--ink-soft);font-size:var(--text-xs);justify-content:space-between;display:flex}.ab-ref-wording{min-height:2.75rem;font-size:var(--text-sm);align-items:center;display:inline-flex}@media (width>=768px){.ab-ref-summary{z-index:var(--z-map-controls);top:calc(var(--map-toolbar-h,3.2rem) + 3rem);left:var(--space-3);width:min(23rem,100% - 2rem);max-height:calc(100% - var(--map-toolbar-h,3.2rem) - 4rem);overscroll-behavior:contain;position:absolute;overflow-y:auto}.ab-ref-legend{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .96);box-shadow:var(--shadow-2)}}.live-election-toolbar>.live-election-search{flex:10rem;width:auto;min-width:0;display:flex}.live-election-toolbar>.live-election-search input{flex:1;min-width:0}.live-election-dashboard-dock{flex:3 32rem;min-width:0;max-width:64rem}.live-election-dashboard-rail{border:1px solid var(--border-strong);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .95);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);align-items:stretch;gap:.5rem;padding:.35rem;display:flex}.live-election-leader-strip{flex:auto;min-width:0;padding:.1rem .6rem .15rem}.live-election-leader-strip__top{align-items:center;gap:.5rem .85rem;margin-bottom:.4rem;display:flex}.live-election-leader-strip__reporting{border-right:1px solid var(--border);flex-direction:column;flex:none;padding-right:.75rem;display:flex}.live-election-leader-strip__reporting small{color:var(--accent-ink);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;font-size:.68rem;font-weight:700}.live-election-leader-strip__reporting strong{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;line-height:1.1}.live-election-leader-strip__legend{min-width:0;color:var(--ink);font-size:var(--text-sm);white-space:nowrap;flex-wrap:wrap;flex:auto;gap:.15rem .85rem;margin:0;padding:0;font-weight:600;line-height:1.25;list-style:none;display:flex}.live-election-leader-strip__legend li{align-items:center;gap:.3rem;display:inline-flex}.live-election-leader-strip__legend li.is-empty{opacity:.8}.live-election-leader-strip__legend i{width:.65rem;height:.9rem;box-shadow:0 0 0 1px color-mix(in srgb, var(--ink) 35%, transparent);border-radius:3px;display:inline-block}.live-election-leader-strip__legend strong{color:var(--ink);font-family:var(--font-display);font-size:var(--text-base);font-variant-numeric:tabular-nums}.live-election-leader-strip__track{background:var(--surface-sunken);height:1.1rem;box-shadow:inset 0 0 0 1px var(--border-strong);border-radius:999px;display:flex;position:relative;overflow:hidden}.live-election-leader-strip__segment{height:100%;display:block}.live-election-leader-strip__segment--leading{opacity:.34}.live-election-leader-strip__majority{background:var(--ink);opacity:1;width:3px;box-shadow:0 0 0 1px var(--surface);position:absolute;top:0;bottom:0}.live-election-dashboard-rail__button{border:1px solid var(--accent);border-radius:var(--radius-sm);background:var(--accent);color:var(--surface);font:inherit;font-size:var(--text-sm);cursor:pointer;flex:none;align-self:stretch;padding:.45rem .9rem;font-weight:700}.live-election-dashboard-rail__button:hover,.live-election-dashboard-rail__button:focus-visible{filter:brightness(1.08);outline:2px solid var(--accent);outline-offset:2px}.live-election-dashboard-drawer{top:calc(100% + .5rem);right:var(--space-3);width:min(30rem, calc(100% - 2 * var(--space-3)));max-height:min(70vh,44rem);padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .98);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:absolute;overflow:auto}.live-election-dashboard-drawer .live-election-dashboard__heading{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.live-election-dashboard-drawer .live-election-dashboard__heading>div{flex:none}.live-election-dashboard-drawer .live-election-dashboard__eyebrow{white-space:nowrap;margin:0}.live-election-dashboard-drawer h2{font-size:var(--text-lg);white-space:nowrap;border:0;margin:0;padding:0;line-height:1.15}.live-election-dashboard-drawer .live-election-dashboard__note{max-width:13rem;font-size:var(--text-xs);line-height:1.3}.live-election-dashboard-tabs{margin-bottom:var(--space-3);border-bottom:1px solid var(--border);gap:.25rem;display:flex;overflow-x:auto}.live-election-dashboard-tabs button{color:var(--ink-soft);font:inherit;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:.5rem .65rem}.live-election-dashboard-tabs button:hover,.live-election-dashboard-tabs button:focus-visible{color:var(--ink);outline:none}.live-election-dashboard-tabs button.is-active{border-bottom-color:var(--accent);color:var(--accent-ink);font-weight:700}.live-election-dashboard-tab-panel .live-election-dashboard__grid{gap:var(--space-3);grid-template-columns:1fr}.live-election-dashboard-tab-panel .live-election-dashboard__card{padding:var(--space-3);background:var(--surface)}.live-election-dashboard-tab-panel .live-election-dashboard__card-heading{margin-bottom:var(--space-3)}.live-election-dashboard-tab-panel .live-election-region-list{grid-template-columns:1fr}.live-election-dashboard-tab-panel .live-election-region-row__heading strong{min-width:0}.live-election-dashboard-tab-panel .live-election-region-row__heading span{flex:none}.live-election-dashboard{margin-top:var(--space-5);padding:var(--space-5) max(var(--space-4), 1rem) var(--space-6);border-top:1px solid var(--border);background:var(--surface)}.live-election-dashboard__heading{justify-content:space-between;align-items:flex-end;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.live-election-dashboard__eyebrow{color:var(--accent-ink);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0 0 .2rem;font-weight:700}.live-election-dashboard h2,.live-election-dashboard h3{font-family:var(--font-display);margin:0}.live-election-dashboard h2{font-size:clamp(1.45rem,3vw,2.1rem);line-height:1.05}.live-election-dashboard__note{max-width:28rem;color:var(--ink-soft);font-size:var(--text-sm);text-align:right;margin:0;line-height:1.4}.live-election-dashboard__stats{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.live-election-dashboard__stat{justify-content:space-between;align-items:baseline;gap:var(--space-2);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);min-width:0;padding:.75rem .9rem;display:flex}.live-election-dashboard__stat span{color:var(--ink-soft);font-size:var(--text-xs)}.live-election-dashboard__stat strong{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;white-space:nowrap}.live-election-dashboard__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.live-election-dashboard__card{min-width:0;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface)}.live-election-dashboard__card--close,.live-election-dashboard__card--regions{grid-column:1/-1}.live-election-dashboard__card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.live-election-dashboard__card-heading h3{font-size:var(--text-base)}.live-election-dashboard__card-heading p{color:var(--ink-soft);font-size:var(--text-xs);margin:.2rem 0 0}.live-election-dashboard__legend{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;flex-wrap:wrap;justify-content:flex-end;gap:.5rem .8rem;display:flex}.live-election-dashboard__legend span{align-items:center;gap:.3rem;display:inline-flex}.live-election-dashboard__legend-dot{background:var(--ink-faint);border-radius:50%;width:.6rem;height:.6rem;display:inline-block}.live-election-dashboard__legend-dot--called{background:var(--accent-ink)}.live-election-dashboard__legend-dot--leading{opacity:.35;background:var(--accent-ink)}.live-election-chart-list,.live-election-majority-list,.live-election-close-list{margin:0;padding:0;list-style:none}.live-election-chart-row{min-width:0;margin-top:.75rem}.live-election-chart-row:first-child{margin-top:0}.live-election-chart-row__heading,.live-election-majority-row__heading{justify-content:space-between;gap:var(--space-2);align-items:baseline;display:flex}.live-election-chart-row__party{align-items:center;gap:.45rem;min-width:0;display:inline-flex}.live-election-chart-row__party strong{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.live-election-chart-row__swatch{border-radius:2px;flex:none;width:.55rem;height:.85rem;display:inline-block}.live-election-chart-row__value{color:var(--ink-soft);font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.live-election-chart-row__track,.live-election-majority-row__track{background:var(--surface-sunken);border-radius:999px;height:.65rem;margin-top:.35rem;display:flex;overflow:hidden}.live-election-chart-row__segment{min-width:0;height:100%;display:block}.live-election-chart-row__segment--called{opacity:1}.live-election-chart-row__segment--leading{opacity:.34}.live-election-chart-row__meta{color:var(--ink-soft);font-size:var(--text-xs);margin-top:.25rem;display:block}.live-election-majority-row{margin-top:.85rem}.live-election-majority-row:first-child{margin-top:0}.live-election-majority-row__track{height:.8rem;position:relative}.live-election-majority-row__fill{border-radius:999px;min-width:0;height:100%;display:block}.live-election-majority-row__majority-line{z-index:1;background:var(--ink);opacity:.55;width:2px;position:absolute;top:-.2rem;bottom:-.2rem;left:100%}.live-election-dashboard__empty{color:var(--ink-soft);font-size:var(--text-sm);margin:0}.live-election-change-list{margin:0;padding:0;list-style:none}.live-election-change-row{border-top:1px solid var(--border);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.2rem .75rem;padding:.6rem 0;display:grid}.live-election-change-row:first-child{border-top:0;padding-top:0}.live-election-change-row>span:last-child{color:var(--ink-soft);font-size:var(--text-xs);grid-column:1/-1}.live-election-change-row__net{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.live-election-change-row__net--gain{color:var(--badge-positive-text)}.live-election-change-row__net--loss{color:var(--badge-negative-text)}.live-election-vote-table{font-size:var(--text-sm)}.live-election-vote-table__header,.live-election-vote-table__row{grid-template-columns:minmax(0,1fr) 5rem 3.2rem;align-items:center;gap:.5rem;display:grid}.live-election-vote-table__header{color:var(--ink-soft);font-size:var(--text-xs);padding-bottom:.4rem}.live-election-vote-table__header span:nth-child(n+2),.live-election-vote-table__row>:nth-child(n+2){text-align:right}.live-election-vote-table__row{border-top:1px solid var(--border);padding:.5rem 0}.live-election-vote-table__row>strong{font-family:var(--font-display);font-variant-numeric:tabular-nums}.live-election-progress__chart{border-bottom:1px solid var(--border);background:repeating-linear-gradient(to top, transparent 0, transparent calc(25% - 1px), var(--border) 25%);align-items:flex-end;gap:.25rem;height:8rem;padding:0 .25rem;display:flex}.live-election-progress__point{flex:1 1 0;align-items:flex-end;min-width:0;height:100%;display:flex}.live-election-progress__point span{background:var(--accent);border-radius:.2rem .2rem 0 0;width:100%;min-height:.25rem;display:block}.live-election-progress__axis{color:var(--ink-faint);font-size:var(--text-xs);justify-content:space-between;display:flex}.live-election-region-list{gap:0 var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.live-election-region-row{border:0;border-top:1px solid var(--border);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;padding:.65rem .5rem;display:block}.live-election-region-row:hover{background:var(--accent-tint)}.live-election-region-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.live-election-region-row.is-active{background:var(--accent-tint);box-shadow:inset 3px 0 0 var(--accent)}.live-election-region-row__heading{justify-content:space-between;gap:var(--space-2);align-items:baseline;display:flex}.live-election-region-row__heading strong{font-size:var(--text-sm)}.live-election-region-row__heading span{color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap}.live-election-region-row__scoreboard{color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;gap:.25rem .65rem;margin-top:.35rem;display:flex}.live-election-region-row__scoreboard span{align-items:center;gap:.25rem;display:inline-flex}.live-election-region-row__scoreboard i{border-radius:2px;width:.45rem;height:.65rem;display:inline-block}.live-election-region-row__unreported{color:var(--ink-faint)}.live-election-close-list{column-gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.live-election-close-row{border-top:1px solid var(--border);font-size:var(--text-sm);grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) auto;align-items:center;gap:.35rem .65rem;padding:.65rem 0;display:grid}.live-election-close-row__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.live-election-close-row__leader{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-soft);align-items:center;gap:.35rem;display:inline-flex;overflow:hidden}.live-election-close-row>strong{font-family:var(--font-display);font-size:var(--text-sm);font-variant-numeric:tabular-nums;white-space:nowrap}.live-election-close-row__meta{color:var(--ink-faint);font-size:var(--text-xs);grid-column:1/-1}.live-election-close-list--empty{color:var(--ink-faint)}.live-election-close-list--empty .live-election-close-row__name,.live-election-close-list--empty .live-election-close-row__leader{color:inherit}@media (width<=767px){.live-election-toolbar>.live-election-countdown{display:none}.live-election-countdown--pinned{top:3.1rem;left:var(--space-3);z-index:var(--z-map-overlay);padding:.3rem .7rem;display:flex;position:absolute}.live-election-countdown--pinned>strong{font-size:var(--text-lg)}.live-election-map-canvas{min-height:640px}.live-election-toolbar{top:6.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.live-election-eyebrow{max-width:calc(100% - var(--space-3) * 2)}.live-election-legend{min-width:0;max-width:11rem;bottom:.75rem}.live-election-panel{top:3.5rem;bottom:auto;left:var(--space-3);right:var(--space-3);width:auto;max-height:calc(100% - 3.5rem - 76px - var(--space-3))}.live-election-warning{bottom:10rem}.live-election-dashboard-dock{flex:100%}.live-election-dashboard-rail{gap:.25rem}.live-election-dashboard-rail__button{padding:.4rem .55rem}.live-election-dashboard-drawer{width:auto;max-height:none;padding:var(--space-3);margin-top:.5rem;position:static}.live-election-dashboard-drawer .live-election-dashboard__heading{display:block}.live-election-dashboard-drawer .live-election-dashboard__eyebrow,.live-election-dashboard-drawer h2{white-space:normal}.live-election-dashboard-drawer .live-election-dashboard__note{margin-top:var(--space-2);text-align:left}.live-election-dashboard-tab-panel .live-election-dashboard__grid{grid-template-columns:1fr}.live-election-dashboard{padding:var(--space-5) 0 var(--space-6)}.live-election-dashboard__heading{display:block}.live-election-dashboard__note{margin-top:var(--space-2);text-align:left}.live-election-dashboard__stats{grid-template-columns:repeat(2,minmax(0,1fr))}.live-election-dashboard__grid{grid-template-columns:1fr}.live-election-dashboard__card--close,.live-election-dashboard__card--regions{grid-column:auto}.live-election-dashboard__card-heading{display:block}.live-election-dashboard__legend{margin-top:var(--space-2);justify-content:flex-start}.live-election-close-list,.live-election-region-list{grid-template-columns:1fr}}.on-map-section{min-height:0}.on-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.on-map-canvas{height:100%;min-height:560px}.app-main--full .on-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.on-map-toolbar{width:min(24rem,100% - 2rem)}.on-map-search.is-expanded .map-search__body{width:min(18rem,100%)}.on-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.on-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.on-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.on-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.on-map-suggestions button:hover,.on-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.on-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.on-map-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);padding:.4rem .55rem}.on-map-toolbar select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.on-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.on-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.on-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.on-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.on-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.on-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.on-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.on-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.on-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.on-map-panel__mpp{gap:var(--space-3);align-items:center;display:flex}.on-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.on-map-panel__name{margin:0 0 .35rem;font-weight:700}.on-map-panel__links{margin:var(--space-3) 0 0;font-size:var(--text-sm);flex-wrap:wrap;gap:.9rem;display:flex}.on-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.on-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.on-map-panel__result-heading p{margin:.15rem 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs)}.on-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}.on-map-panel__source{margin:var(--space-4) 0 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.35}.on-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}@media (width<=767px){.on-map-canvas{min-height:640px}.on-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.on-map-search{align-self:flex-start}.on-map-search.is-expanded .map-search__body{width:100%}.on-map-legend{max-width:11rem;bottom:.75rem}.on-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.bc-map-section{min-height:0}.bc-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.bc-map-canvas{height:100%;min-height:560px}.app-main--full .bc-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.bc-map-toolbar{width:min(24rem,100% - 2rem)}.bc-map-search.is-expanded .map-search__body{width:min(18rem,100%)}.bc-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.bc-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bc-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.bc-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.bc-map-suggestions button:hover,.bc-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.bc-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.bc-map-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);padding:.4rem .55rem}.bc-map-toolbar select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.bc-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.bc-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.bc-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.bc-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.bc-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.bc-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.bc-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.bc-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bc-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.bc-map-panel__mla{gap:var(--space-3);align-items:center;display:flex}.bc-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.bc-map-panel__name{margin:0 0 .35rem;font-weight:700}.bc-map-panel__links{margin:var(--space-3) 0 0;font-size:var(--text-sm);flex-wrap:wrap;gap:.9rem;display:flex}.bc-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.bc-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.bc-map-panel__result-heading p{margin:.15rem 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs)}.bc-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}.bc-map-panel__source{margin:var(--space-4) 0 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.35}.bc-map-status{color:var(--ink-soft);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem 0}.bc-map-warning{color:var(--ink-soft);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.2rem 1rem .35rem;line-height:1.35}.bc-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}@media (width<=767px){.bc-map-canvas{min-height:640px}.bc-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.bc-map-search{align-self:flex-start}.bc-map-search.is-expanded .map-search__body{width:100%}.bc-map-legend{max-width:11rem;bottom:.75rem}.bc-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.alberta-map-section{min-height:0}.alberta-map-wrap{--toolbar-w:24rem;flex:1;min-height:0;position:relative}.alberta-map-canvas{height:100%;min-height:560px}.app-main--full .alberta-map-wrap{flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex}.alberta-map-toolbar{width:min(24rem,100% - 2rem)}.alberta-map-search.is-expanded .map-search__body{width:min(18rem,100%)}.alberta-map-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);width:100%;color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.alberta-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.alberta-map-suggestions{z-index:var(--z-map-popover);background:rgba(var(--surface-rgb), .98);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-2);margin:0;padding:.25rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;right:0}.alberta-map-suggestions button{border-radius:var(--radius-control);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.55rem .6rem;display:flex}.alberta-map-suggestions button:hover,.alberta-map-suggestions button:focus-visible{background:var(--accent-tint);outline:none}.alberta-map-suggestions span{color:var(--ink-soft);font-size:var(--text-sm)}.alberta-map-toolbar select{border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-sm);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-1);padding:.4rem .55rem}.alberta-map-toolbar select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.alberta-map-legend{z-index:var(--z-map-overlay);background:rgba(var(--surface-rgb), .94);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(22rem,100% - 7rem);box-shadow:var(--shadow-2);font-size:var(--text-sm);max-width:13rem;padding:.7rem .85rem;position:absolute;bottom:.75rem;left:.75rem;overflow:auto}.alberta-map-hover-card{z-index:var(--z-map-overlay);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .94);min-width:14rem;max-width:20rem;color:var(--ink);box-shadow:var(--shadow-2);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-size:var(--text-sm);grid-template-columns:auto 1fr;align-items:center;column-gap:.55rem;padding:.65rem .75rem;display:grid;position:absolute;bottom:1rem;right:1rem}.alberta-map-hover-card__party{border-radius:var(--radius-xs);grid-row:span 2;width:.5rem;height:2.1rem}.alberta-map-hover-card span:last-child{color:var(--ink-soft);font-size:var(--text-xs)}.alberta-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);overscroll-behavior:contain;width:min(22rem,100% - 2rem);max-height:calc(100% - 1.5rem);padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}.alberta-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.alberta-map-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.alberta-map-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.alberta-map-panel h2{margin:0 2rem var(--space-4) 0;font-size:var(--text-xl);line-height:1.1}.alberta-map-panel__mla{gap:var(--space-3);align-items:center;display:flex}.alberta-map-panel__label{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .15rem}.alberta-map-panel__name{margin:0 0 .35rem;font-weight:700}.alberta-map-panel__links{margin:var(--space-3) 0 0;font-size:var(--text-sm);flex-wrap:wrap;gap:.9rem;display:flex}.alberta-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.alberta-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.alberta-map-panel__result-heading p{margin:.15rem 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs)}.alberta-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}.alberta-map-panel__source{margin:var(--space-4) 0 0;color:var(--ink-faint);font-size:var(--text-xs);line-height:1.35}.alberta-map-status{color:var(--ink-soft);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem 0}.alberta-map-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;margin:0;padding:.35rem 1rem}.provincial-map-panel__result{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.provincial-map-panel__result-heading h3{font-size:var(--text-base);margin:0}.provincial-map-panel__result-heading p{margin:.15rem 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-xs)}.provincial-map-panel__turnout{margin:var(--space-3) 0 0;color:var(--ink-soft);font-size:var(--text-xs)}@media (width<=767px){.alberta-map-canvas{min-height:640px}.alberta-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.alberta-map-search{align-self:flex-start}.alberta-map-search.is-expanded .map-search__body{width:100%}.alberta-map-legend{max-width:11rem;bottom:.75rem}.alberta-map-panel{top:auto;bottom:.75rem;left:var(--space-3);right:var(--space-3);width:auto}}.history-timeline{background:var(--surface);border-top:1px solid var(--border);flex-shrink:0;padding:.75rem 1rem 1rem}.history-timeline__header{justify-content:space-between;align-items:center;gap:var(--space-2);margin:0 0 .35rem;display:flex}.history-timeline .history-timeline__title{font-family:var(--font-display);font-size:var(--text-md);letter-spacing:-.01em;border:0;margin:0;padding:0;font-weight:700}.history-timeline__toggle{font-size:var(--text-sm);color:var(--ink-soft);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:.2rem .4rem;display:flex}.history-timeline__toggle:hover{color:var(--ink)}.history-timeline__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-timeline__toggle-chevron{transition:transform var(--duration-fast) var(--ease-standard)}.history-timeline__toggle-chevron--open{transform:rotate(180deg)}.history-timeline__tabs{gap:var(--space-2);border-bottom:1px solid var(--border);scrollbar-width:none;display:flex;overflow-x:auto}.history-timeline__tabs::-webkit-scrollbar{display:none}.history-timeline__tab{font-family:var(--font-display);font-size:var(--text-base);font-variant-numeric:tabular-nums;color:var(--ink-soft);cursor:pointer;transition:color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;border-bottom:2px solid #0000;flex:none;padding:.5rem .15rem;font-weight:500}.history-timeline__tab:hover{color:var(--ink)}.history-timeline__tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-timeline__tab--active{color:var(--accent-ink);border-bottom-color:var(--accent);font-weight:700}.history-timeline__panel{min-width:0}.history-timeline__subtitle{font-size:var(--text-sm);color:var(--ink-soft);margin:.6rem 0 0}.history-timeline__track{align-items:center;gap:.2rem;margin-top:.85rem;padding:.5rem .25rem .25rem;display:flex;position:relative}.history-timeline__track:before{content:"";background:var(--border);height:2px;position:absolute;top:50%;left:.25rem;right:.25rem;transform:translateY(-50%)}.history-timeline__item{cursor:pointer;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:1.75rem;padding:0;display:flex;position:relative}.history-timeline__item:before{content:"";position:absolute;inset:-.75rem -.1rem}.history-timeline__item:focus-visible{outline:none}.history-timeline__item-dot{z-index:var(--z-raised);border-radius:var(--radius-pill);width:.95rem;height:.95rem;box-shadow:0 0 0 2px var(--surface);transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.history-timeline__item-dot-icon{font-size:var(--text-xs);color:#fff;text-shadow:0 0 1px #0009;line-height:1}.history-timeline__item-dot-walk,.history-timeline__item-dot-byelection{color:#fff;filter:drop-shadow(0 0 .5px #0009);width:.75rem;height:.75rem}.history-timeline__item:hover .history-timeline__item-dot,.history-timeline__item:focus-visible .history-timeline__item-dot,.history-timeline__item--selected .history-timeline__item-dot{transform:scale(1.45)}.history-timeline__item:focus-visible .history-timeline__item-dot{outline:2px solid var(--accent);outline-offset:2px}.history-timeline__item--selected .history-timeline__item-dot{box-shadow:0 0 0 2px var(--accent)}.history-timeline__tooltip{z-index:var(--z-map-popover);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:12rem;max-width:calc(100vw - 1.5rem);box-shadow:var(--shadow-2);text-align:left;pointer-events:none;opacity:0;visibility:hidden;transition:opacity var(--duration-fast) var(--ease-standard), display var(--duration-fast) allow-discrete;padding:.5rem .65rem;display:none;position:absolute;bottom:calc(100% + .6rem);left:50%;transform:translate(-50%)}.history-timeline__tooltip:after{content:"";border:.35rem solid #0000;border-top-color:var(--surface);position:absolute;top:100%;left:50%;transform:translate(-50%)}.history-timeline__item:hover .history-timeline__tooltip,.history-timeline__item:focus-visible .history-timeline__tooltip{opacity:1;visibility:visible;z-index:var(--z-map-panel);display:block}@starting-style{.history-timeline__item:hover .history-timeline__tooltip,.history-timeline__item:focus-visible .history-timeline__tooltip{opacity:0}}.history-timeline__item:nth-child(-n+2) .history-timeline__tooltip{left:0;transform:none}.history-timeline__item:nth-child(-n+2) .history-timeline__tooltip:after{left:.75rem;transform:none}.history-timeline__item:nth-last-child(-n+2) .history-timeline__tooltip{left:auto;right:0;transform:none}.history-timeline__item:nth-last-child(-n+2) .history-timeline__tooltip:after{left:auto;right:.75rem;transform:none}.history-timeline__badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--ink-soft);font-weight:700}.history-timeline__item-title{font-size:var(--text-base);margin-top:.15rem;font-weight:700;display:block}.history-timeline__item-desc{font-size:var(--text-sm);color:var(--ink-soft);margin-top:.1rem;display:block}.mobile-map-sheet{display:block;position:static}.mobile-map-sheet__handle{display:none}.mobile-map-sheet__body,.mobile-map-sheet__panel{display:contents}@media (width>=768px){.mobile-map-sheet .map-legend,.mobile-map-sheet .map-legend-shell,.mobile-map-sheet .live-election-legend,.mobile-map-sheet .uk-map-legend,.mobile-map-sheet .qc-map-legend,.mobile-map-sheet .on-map-legend,.mobile-map-sheet .bc-map-legend,.mobile-map-sheet .alberta-map-legend,.mobile-map-sheet .provincial-map-legend,.mobile-map-sheet .canadian-senate-map-legend{bottom:calc(var(--mobile-map-timeline-h,0px) + .75rem)}}@media (width<=767px){.mobile-map-sheet{z-index:var(--z-drawer);border:1px solid var(--border);background:rgba(var(--surface-rgb), .98);height:min(92dvh,44rem);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);transition:transform var(--duration-slow) var(--ease-emphasized);will-change:transform;border-bottom:0;border-radius:1rem 1rem 0 0;display:block;position:fixed;bottom:0;left:0;right:0;transform:translateY(calc(100% - 76px))}.mobile-map-sheet--half{transform:translateY(48%)}.mobile-map-sheet--expanded{transform:translateY(0)}.mobile-map-sheet__handle{width:100%;min-height:76px;color:var(--ink);font:inherit;cursor:grab;touch-action:none;background:0 0;border:0;justify-content:center;align-items:center;padding:.75rem 3.25rem;display:flex;position:relative}.mobile-map-sheet__handle:active{cursor:grabbing}.mobile-map-sheet__handle:focus-visible{outline:2px solid var(--accent);outline-offset:-3px}.mobile-map-sheet__grabber{border-radius:var(--radius-pill);background:var(--border-strong);width:2.5rem;height:.3rem;position:absolute;top:.7rem;left:50%;transform:translate(-50%)}.mobile-map-sheet__label{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-base);font-weight:700;overflow:hidden}.mobile-map-sheet__chevron{fill:none;stroke:currentColor;stroke-width:1.7px;width:1rem;height:1rem;transition:transform var(--duration-base) var(--ease-standard);position:absolute;right:1rem}.mobile-map-sheet--expanded .mobile-map-sheet__chevron{transform:rotate(180deg)}.mobile-map-sheet__body{overscroll-behavior:contain;height:calc(100% - 76px);padding:0 1rem max(1rem, env(safe-area-inset-bottom));scrollbar-width:thin;display:block;overflow-y:auto}.mobile-map-sheet .map-toolbar{z-index:auto;align-items:stretch;gap:var(--space-2);width:auto;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding:0;display:flex;position:static;inset:auto}.mobile-map-sheet .map-toolbar>*,.mobile-map-sheet .map-search-collapsible,.mobile-map-sheet .riding-search{width:100%}.mobile-map-sheet .map-search-collapsible{align-items:stretch;display:flex}.mobile-map-sheet .map-search-toggle{display:none}.mobile-map-sheet .map-search__body{visibility:visible;opacity:1;width:100%;overflow:visible}.mobile-map-sheet .map-search__body input,.mobile-map-sheet .riding-search input{min-height:2.8rem}.mobile-map-sheet .us-presidential-summary,.mobile-map-sheet .germany-map-seat-summary,.mobile-map-sheet .south-korea-seat-summary,.mobile-map-sheet .new-zealand-seat-summary,.mobile-map-sheet .eu-map-summary,.mobile-map-sheet .singapore-map-summary{width:auto;max-width:none;max-height:none;margin:.75rem 0 0;position:static;inset:auto;transform:none}.mobile-map-sheet .map-legend,.mobile-map-sheet .map-legend-shell,.mobile-map-sheet .live-election-legend,.mobile-map-sheet .uk-map-legend,.mobile-map-sheet .qc-map-legend,.mobile-map-sheet .on-map-legend,.mobile-map-sheet .bc-map-legend,.mobile-map-sheet .alberta-map-legend,.mobile-map-sheet .provincial-map-legend,.mobile-map-sheet .canadian-senate-map-legend{border:0;border-top:1px solid var(--border);width:auto;max-width:none;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;margin:.75rem 0 0;padding:.75rem 0;position:static;inset:auto}.mobile-map-sheet .map-legend__list{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-map-sheet .history-timeline{border-top:1px solid var(--border);background:0 0;margin:.75rem -1rem 0;padding:.75rem 1rem 1rem}.mobile-map-sheet .history-timeline__track{min-width:32rem}.mobile-map-sheet .history-timeline__panel{overflow-x:auto}.mobile-map-sheet__panel{display:block}.mobile-map-sheet .mobile-map-sheet__panel>:is(aside,.riding-panel){z-index:auto;width:auto;max-width:none;max-height:none;padding:0 0 var(--space-4);border:0;border-bottom:1px solid var(--border);box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-radius:0;margin:0;animation:none;position:relative;inset:auto;overflow:visible}.mobile-map-sheet .mobile-map-sheet__panel>:is(aside,.riding-panel):focus{outline:none}.mobile-map-sheet .mobile-map-sheet__panel>:is(aside,.riding-panel) h2{border-top:0;padding-top:0}.mobile-map-sheet__panel .modal-expand-toggle{display:none}.mobile-map-sheet__panel .data-table{width:100%}}.party-trend-chart{margin:var(--space-4) 0 var(--space-5);padding-bottom:var(--space-5);border-bottom:1px solid var(--border)}.party-trend-chart__years{gap:var(--space-4);margin-top:var(--space-3);display:flex;overflow-x:auto}.party-trend-chart__year{flex:none;min-width:12rem}.party-trend-chart__year-label{font-family:var(--font-display);font-weight:700;font-size:var(--text-md);margin:0 0 .5rem}.party-trend-chart__year .seat-bars{gap:.3rem}.party-trend-chart__year .seat-bar{grid-template-columns:5.5rem 1fr 2rem;gap:.4rem}.party-trend-chart__year .seat-bar__label,.party-trend-chart__year .seat-bar__count{font-size:var(--text-sm)}.party-trend-chart__year .seat-bar__track{height:.55rem}.poll-trend-chart{margin:var(--space-4) 0 var(--space-3)}.poll-trend-chart svg{width:100%;height:auto;display:block}.poll-trend-chart__gridline{stroke:var(--border);stroke-width:1px}.poll-trend-chart__axis-label{fill:var(--ink-faint);font-size:11.5px}.poll-trend-chart__legend{margin:var(--space-3) 0 0;gap:var(--space-2) var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.poll-trend-chart__legend-item{font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere;cursor:pointer;background:0 0;border:none;align-items:center;gap:.35rem;max-width:100%;padding:.1rem 0;display:inline-flex}.poll-trend-chart__legend-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.poll-trend-chart__legend-item--hidden{color:var(--ink-faint);text-decoration:line-through}.poll-trend-chart__swatch{border-radius:var(--radius-pill);flex:none;width:.7rem;height:.7rem}.poll-election-tag{border-radius:var(--radius-chip);background:var(--accent-tint);color:var(--accent-ink);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.03em;margin-left:.5rem;padding:.1rem .4rem;font-weight:700}.riding-list{margin:var(--space-4) 0 0;gap:var(--space-2);flex-direction:column;padding:0;list-style:none;display:flex}.riding-row{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);display:flex;overflow:hidden}.riding-row__accent{flex-shrink:0;width:4px}.riding-row__header{text-align:left;cursor:pointer;width:100%;min-width:0;font-size:var(--text-base);transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;flex:1;grid-template-columns:1fr 10rem auto auto;align-items:center;gap:.75rem;padding:.65rem .9rem;display:grid}.riding-row__header:hover{background:var(--surface-sunken)}.riding-row__header:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.riding-row__name{font-weight:700}.riding-row__province{color:var(--ink-soft);font-size:var(--text-sm)}.riding-row__swing{font-size:var(--text-base)}.riding-directory{margin-top:var(--space-5)}.riding-directory__province{margin-top:var(--space-6)}.riding-directory__province:first-child{margin-top:0}.riding-directory__province-title{margin:0 0 var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border);font-size:var(--text-lg)}.riding-directory__province:first-child .riding-directory__province-title{border-top:0;padding-top:0}.riding-directory__list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));margin:0;padding:0;list-style:none;display:grid}.riding-directory__card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:var(--space-3)}.riding-directory__name{font-size:var(--text-md);margin:0}.riding-directory__name a{color:var(--ink)}.riding-directory__meta{color:var(--ink-soft);font-size:var(--text-sm);margin:.45rem 0 0}.riding-directory__meta a{color:var(--accent-ink)}.riding-directory__result{color:var(--ink-faint);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:.45rem;margin:.55rem 0 0;display:flex}.riding-directory__controls{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.riding-directory__controls .search-input{flex:16rem;margin-top:0}.riding-directory__controls .year-select{margin-top:0}.riding-directory__clear{border:1px solid var(--border-strong);border-radius:var(--radius-sm);color:var(--accent-ink);font-size:var(--text-base);cursor:pointer;background:0 0;padding:.4rem .85rem;font-weight:600}:is(.uk-map-panel,.qc-map-panel,.on-map-panel,.bc-map-panel,.alberta-map-panel,.provincial-map-panel,.us-map-panel,.live-election-panel,.germany-map-panel,.france-legislative-map-panel,.france-presidential-map-panel,.australia-map-panel,.japan-map-panel,.ireland-map-panel,.netherlands-map-panel,.south-korea-map-panel,.new-zealand-map-panel,.eu-map-panel,.singapore-map-panel){width:min(24rem,100% - 2rem)}.qc-map-panel{width:min(27rem,100% - 2rem)}:is(.uk-map-hover-card,.qc-map-hover-card,.on-map-hover-card,.bc-map-hover-card,.alberta-map-hover-card,.us-map-hover-card,.live-election-hover-card,.germany-map-hover-card,.france-legislative-map-hover-card,.france-presidential-map-hover-card,.australia-map-hover-card,.japan-map-hover-card,.ireland-map-hover-card,.netherlands-map-hover-card,.south-korea-map-hover-card,.new-zealand-map-hover-card,.eu-map-hover-card,.singapore-map-hover-card){min-width:15rem;max-width:24rem}@media (width<=767px){:is(.uk-map-panel,.qc-map-panel,.on-map-panel,.bc-map-panel,.alberta-map-panel,.provincial-map-panel,.us-map-panel,.live-election-panel,.germany-map-panel,.france-legislative-map-panel,.france-presidential-map-panel,.australia-map-panel,.japan-map-panel,.ireland-map-panel,.netherlands-map-panel,.south-korea-map-panel,.new-zealand-map-panel,.eu-map-panel,.singapore-map-panel){width:auto}:is(.uk-map-hover-card,.qc-map-hover-card,.on-map-hover-card,.bc-map-hover-card,.alberta-map-hover-card,.us-map-hover-card,.live-election-hover-card,.germany-map-hover-card,.france-legislative-map-hover-card,.france-presidential-map-hover-card,.australia-map-hover-card,.japan-map-hover-card,.ireland-map-hover-card,.netherlands-map-hover-card,.south-korea-map-hover-card,.new-zealand-map-hover-card,.eu-map-hover-card,.singapore-map-hover-card){min-width:0;max-width:calc(100% - 2rem)}}.riding-directory__clear:hover{background:var(--accent-tint)}.riding-directory__clear:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.party-pill{font-family:var(--font-ui);border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--surface-ink);background:var(--party-unknown);white-space:nowrap;padding:.2rem .65rem;font-weight:700}.party-pill--wrap{white-space:normal;overflow-wrap:break-word;border-radius:var(--radius-sm);text-align:center;max-width:9rem;line-height:1.25;display:inline-block}.party-pill--Liberal{background:var(--party-liberal);color:#fff}.party-pill--Conservative{background:var(--party-conservative);color:#fff}.party-pill--NDP{background:var(--party-ndp)}.party-pill--BQ{background:var(--party-bq)}.party-pill--Green{background:var(--party-green)}.party-pill--PPC{background:var(--party-ppc);color:#fff}.party-pill--PC{background:var(--party-pc)}.party-pill--Alliance{background:var(--party-alliance)}.party-pill--Reform{background:var(--party-reform)}.party-pill--Independent{background:var(--party-independent);color:#fff}.party-pill--Other{background:var(--party-other)}.modal-overlay{z-index:var(--z-modal);background:#14161c80;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-dialog{background:var(--surface);border-radius:var(--radius-md);width:100%;max-width:32rem;max-height:85vh;box-shadow:var(--shadow-3);padding:var(--space-5);animation:modal-in var(--duration-base) var(--ease-standard);flex-direction:column;display:flex}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.modal-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.modal-subhead{color:var(--ink-soft);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .15rem}.modal-header .modal-title{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.01em;border-top:none;margin:0;padding-top:0;font-weight:700}.modal-header__actions{flex-shrink:0;align-items:center;gap:.15rem;display:flex}.modal-close,.modal-expand-toggle{color:var(--ink-soft);font-size:var(--text-xl);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);background:0 0;border:none;padding:.3rem .55rem;line-height:1}.modal-expand-toggle{font-size:var(--text-md)}.modal-close:hover,.modal-expand-toggle:hover{background:var(--accent-tint)}.modal-close:focus-visible,.modal-expand-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-contest-line{color:var(--ink-soft);font-size:var(--text-base);margin:.35rem 0 0}.modal-seat-status{flex-wrap:wrap;align-items:center;gap:.4rem;margin:.5rem 0 0;display:flex}.modal-seat-status__arrow{color:var(--ink-soft);font-weight:700}.modal-floor-crossing{color:var(--accent-ink);background:var(--accent-tint);font-size:var(--text-sm);border-radius:var(--radius-sm);margin:.5rem 0 0;padding:.3rem .55rem;font-weight:700}.modal-toggle-result{border-radius:var(--radius-sm);color:var(--accent-ink);font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;margin:.5rem 0 0;padding:.15rem .4rem;font-weight:700;text-decoration:underline;display:inline-block}.modal-toggle-result:hover{background:var(--accent-tint)}.modal-toggle-result:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-nav-row{gap:.75rem;margin:.5rem 0 0;display:flex}.modal-nav-row .modal-toggle-result{margin:0}.modal-nav-row .modal-toggle-result--next{margin-left:auto}.modal-poll-section{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.modal-poll-section__title{font-size:var(--text-base);margin:var(--space-3) 0 .25rem;font-weight:700}.data-table--compact{font-size:var(--text-sm)}.data-table--compact th,.data-table--compact td{padding:.3rem .5rem}.expenditure-amount-toggle{all:unset;cursor:pointer;color:var(--accent);font:inherit;font-variant-numeric:tabular-nums;transition:text-decoration-color var(--duration-fast) var(--ease-standard);align-items:center;gap:.25rem;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;display:inline-flex}.expenditure-amount-toggle:hover,.expenditure-amount-toggle:focus-visible{text-decoration-color:currentColor}.expenditure-amount-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.expenditure-amount-toggle__chevron{transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.expenditure-amount-toggle__chevron--open{transform:rotate(180deg)}.expenditure-detail-row td{background:var(--surface-sunken);padding:var(--space-3)}.expenditure-detail-table{margin:0}.expenditure-detail-table thead th{position:static}.modal-poll-detail{margin-bottom:var(--space-3);padding-bottom:var(--space-3);border-bottom:1px dashed var(--border)}.modal-poll-detail__header{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.modal-poll-detail__header h3{font-size:var(--text-base);margin:0;font-weight:700}.modal-poll-detail__header .modal-toggle-result{margin:0}.modal-poll-bucket{margin-top:.6rem}.modal-poll-bucket__toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;width:100%;padding:.15rem 0;display:flex}.modal-poll-bucket__toggle:hover .modal-poll-bucket__title{color:var(--ink)}.modal-poll-bucket__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-poll-bucket__title{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 .25rem;font-weight:600}.modal-poll-bucket__chevron{transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.modal-poll-bucket__chevron--open{transform:rotate(180deg)}.modal-history-chart{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.modal-history-chart__toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;width:100%;padding:.15rem 0;display:flex}.modal-history-chart__toggle:hover .modal-history-chart__title{color:var(--ink)}.modal-history-chart__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-history-chart__title{font-size:var(--text-base);color:var(--ink-soft);margin:0;font-weight:700}.modal-history-chart__chevron{transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.modal-history-chart__chevron--open{transform:rotate(180deg)}.modal-history-chart__svg{width:100%;height:auto;margin-top:var(--space-2);display:block}.modal-history-chart__gridline{stroke:var(--border);stroke-width:1px}.modal-history-chart__axis-label{fill:var(--ink-faint);font-size:11.5px}.modal-history-chart__legend{margin:var(--space-2) 0 0;gap:.3rem var(--space-3);flex-wrap:wrap;padding:0;list-style:none;display:flex}.modal-history-chart__legend-item{overflow-wrap:anywhere;max-width:100%;font-size:var(--text-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:.3rem;padding:0;display:flex}.modal-history-chart__legend-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-history-chart__legend-item--hidden{color:var(--ink-faint);text-decoration:line-through}.modal-history-chart__swatch{border-radius:var(--radius-pill);flex:none;width:.65rem;height:.65rem}.modal-mp-history{margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border)}.modal-mp-history__toggle{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:.3rem;width:100%;padding:.15rem 0;display:flex}.modal-mp-history__toggle:hover .modal-mp-history__title{color:var(--ink)}.modal-mp-history__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.modal-mp-history__title{font-size:var(--text-base);color:var(--ink-soft);margin:0;font-weight:700}.modal-mp-history__chevron{transition:transform var(--duration-fast) var(--ease-standard);flex-shrink:0}.modal-mp-history__chevron--open{transform:rotate(180deg)}.modal-mp-history__list{margin:var(--space-2) 0 0;flex-direction:column;gap:.4rem;padding:0;list-style:none;display:flex}.modal-mp-history__item{font-size:var(--text-base);align-items:center;gap:.5rem;display:flex}.modal-mp-history__name{flex:1}.modal-mp-history__years{color:var(--ink-faint);font-size:var(--text-sm);white-space:nowrap}.modal-live-banner{color:var(--ink-soft);font-size:var(--text-sm);margin:.5rem 0 0}.modal-live-badge{background:var(--accent);color:#fff;font-weight:700;font-size:var(--text-xs);letter-spacing:.03em;text-transform:uppercase;border-radius:var(--radius-chip);padding:.1rem .4rem;display:inline-block}.modal-dialog .table-scroll{flex:auto;overflow-y:auto}.riding-page-history{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--border)}.riding-panel{z-index:var(--z-map-controls);background:rgba(var(--surface-rgb), .95);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--border);border-radius:var(--radius-md);width:22rem;max-width:calc(100% - 1.5rem);box-shadow:var(--shadow-2);padding:var(--space-5);animation:riding-panel-in var(--duration-base) var(--ease-standard);flex-direction:column;display:flex;position:absolute;top:.75rem;bottom:6.625rem;right:.75rem}.riding-panel .table-scroll{flex:auto;min-height:0;overflow-y:auto}.riding-panel--expanded{width:40rem;top:.75rem;bottom:.75rem}@media (width<=767px){.riding-panel,.riding-panel--expanded{top:7rem}}@keyframes riding-panel-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.data-table__row--winner{background:var(--accent-tint);font-weight:700}.modal-winner-badge{color:var(--accent-ink)}.modal-incumbent-marker{color:var(--ink-soft);margin-left:.2rem;font-weight:700}.data-table__row--dissent{border-left:3px solid var(--party-conservative)}.modal-dialog .table-scroll--compact{flex:none;overflow-y:visible}.votes-mp-banner{justify-content:space-between;align-items:center;gap:var(--space-3);background:var(--accent-tint);border-radius:var(--radius-md);margin:var(--space-3) 0;font-size:var(--text-base);padding:.6rem .9rem;display:flex}.votes-mp-banner__clear{color:var(--accent-ink);font-weight:700;text-decoration:underline}.votes-result-badge{font-size:var(--text-sm);border-radius:var(--radius-chip);padding:.1rem .5rem;font-weight:700}.votes-result-badge--agreed{background:var(--surface-sunken);color:var(--ink-soft)}.votes-result-badge--negatived{background:var(--surface-sunken);color:var(--ink-faint)}@media (width<=640px){.masthead__row{padding:var(--space-3) var(--space-4)}.data-table{width:max-content;min-width:100%}.app-main{padding:var(--space-4)}.section{border-radius:var(--radius-md);padding:1.1rem}.seat-bar{grid-template-columns:5.5rem 1fr 2.5rem;gap:.4rem}.riding-row__header{grid-template-columns:1fr auto}.riding-row__province{display:none}.modal-dialog{max-height:90vh;padding:1.1rem}.boundary-compare-control{top:9.6rem;left:var(--space-3);width:min(22rem,100% - 2rem)}.map-legend{bottom:1.75rem;left:var(--space-3);width:auto;max-width:none;font-size:var(--text-xs);padding:.5rem .6rem;right:3.5rem}.map-legend__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem .6rem;display:grid}.map-legend__swatch{width:.5rem;height:.5rem}.riding-map{height:55vh}.netherlands-map-toolbar{top:3.4rem;left:var(--space-3);right:var(--space-3);align-items:stretch;width:auto}.netherlands-map-search{align-self:flex-start;max-width:none}.netherlands-map-search.is-expanded{width:auto}.netherlands-map-legend{bottom:1.75rem;left:var(--space-3);width:auto;max-width:none;font-size:var(--text-xs);padding:.5rem .6rem;right:3.5rem}.netherlands-map-legend .map-legend__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.1rem .6rem;display:grid}.netherlands-map-panel,.riding-panel{width:auto;max-height:65%;inset:auto .75rem 6.625rem}.riding-panel--expanded{max-height:85%}.history-timeline{padding:.65rem .85rem .85rem}.history-timeline__tooltip{width:10rem}.seat-hero{gap:var(--space-4);flex-direction:column}}@media (width<=767px){.map-legend-shell,.live-election-legend{left:var(--space-3);box-sizing:border-box;width:min(22rem,100% - 3.5rem);min-width:0;max-width:none;right:auto}.map-legend-shell--minimized{width:auto;max-width:min(22rem,100% - 3.5rem)}.map-legend__title{overflow-wrap:anywhere;min-width:0}.seating-plan__legend-item,.poll-trend-chart__legend>li,.modal-history-chart__legend>li{overflow-wrap:anywhere;min-width:0;max-width:100%}}.app-main .map-toolbar{align-items:stretch;gap:var(--space-2);width:auto;max-width:none;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:rgba(var(--surface-rgb), .96);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);flex-flow:wrap;top:0;left:0;right:0}.app-main .map-toolbar>.map-search-collapsible{flex:10rem;order:-2;width:auto;min-width:0;max-width:none;display:block}.app-main .map-toolbar>label:has(>select){box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;flex:none;order:-1;align-self:stretch;align-items:stretch;padding:0;display:flex}.app-main .map-toolbar>label:has(>select)>span{display:none}.app-main .map-toolbar>label:has(>select)>select{box-shadow:var(--shadow-2)}.app-main .map-toolbar>select{flex:none;order:-1}.app-main .map-toolbar>.map-mode-select{order:0}.app-main .map-toolbar .map-search-toggle{display:none}.app-main .map-toolbar .map-search-collapsible .map-search__body{visibility:visible;opacity:1;width:100%;overflow:visible}.app-main .map-toolbar .map-search-collapsible input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 16 16' fill='none' stroke='%238a8f9c' stroke-width='1.6'%3E%3Ccircle cx='7' cy='7' r='5'/%3E%3Cpath d='M11 11l3.8 3.8' stroke-linecap='round'/%3E%3C/svg%3E");background-position:.75rem;background-repeat:no-repeat;padding-left:2.2rem}.app-main .has-docked-toolbar>.map-eyebrow{top:calc(var(--map-toolbar-h,0px) + var(--space-2));max-width:calc(100% - 2 * var(--space-3))}@media (width>=768px){.app-main .has-docked-toolbar>[class*=-panel]{top:calc(var(--map-toolbar-h,0px) + var(--space-3));max-height:calc(100% - var(--map-toolbar-h,0px) - var(--mobile-map-timeline-h,0px) - 2 * var(--space-3))}}.alberta-map-panel__name,.australia-map-panel__name,.bc-map-panel__name,.byelections__former-name,.canadian-senate-seat-row__names,.eu-map-panel__name,.france-legislative-map-panel__name,.france-presidential-map-panel__name,.ireland-map-panel__name,.japan-map-panel__name,.live-election-close-row__name,.modal-mp-history__name,.mp-card__name,.netherlands-map-panel__name,.new-zealand-map-panel__name,.on-map-panel__name,.provincial-map-panel__name,.qc-map-panel__name,.riding-directory__name,.schema-names,.south-korea-map-panel__name,.uk-map-panel__name,.us-map-panel__name{font-family:var(--font-display)}.app-main--full .schema-map-wrap{--toolbar-w:25rem;flex-direction:column;flex:1;min-height:0;margin-top:0;display:flex;position:relative}.schema-page{min-height:0}.schema-map-canvas{flex:1;min-height:560px}.schema-map-toolbar{width:min(25rem,100% - 2rem)}.schema-map-search.is-expanded .map-search__body{width:min(23rem,100%)}.schema-map-search input{width:100%;min-height:var(--schema-control-h);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink);font:inherit;font-size:var(--text-base);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);box-shadow:var(--shadow-2);padding:.62rem .8rem}.schema-map-wrap .mobile-map-sheet .schema-map-search input{min-height:var(--schema-control-h)}.schema-map-search input:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@media (width>=768px){.schema-map-wrap .mobile-map-sheet .map-legend{max-height:min(24rem,100% - 9rem);overflow-y:auto}}.schema-map-panel{top:var(--space-3);right:var(--space-3);z-index:var(--z-map-panel);width:min(25rem,100% - 2rem);max-height:calc(100% - var(--schema-footer-h) - 1.5rem);overscroll-behavior:contain;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:rgba(var(--surface-rgb), .97);color:var(--ink);box-shadow:var(--shadow-3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:detail-in var(--duration-base) var(--ease-standard);position:absolute;overflow-y:auto}@media (width>=768px){.schema-map-wrap.has-docked-toolbar>.schema-map-panel{max-height:calc(100% - var(--schema-footer-h) - var(--map-toolbar-h,0px) - 1.5rem)}}.schema-map-panel--seats{width:min(29rem,100% - 2rem)}.schema-map-panel:focus{outline:2px solid var(--accent);outline-offset:2px}.schema-map-footer{flex-shrink:0}.schema-source{border-top:1px solid var(--border);color:var(--ink-faint);font-size:var(--text-xs);flex-shrink:0;padding:.35rem 1rem}.schema-source p{margin:0}.schema-source summary{cursor:pointer;width:fit-content;color:var(--ink-soft);margin-top:.15rem}.schema-source ul{max-height:7rem;margin:.25rem 0 0;padding-left:1.1rem;overflow-y:auto}.schema-freshness{border-top:1px solid var(--border);color:var(--ink-soft);font-size:var(--text-xs);flex-wrap:wrap;flex-shrink:0;align-items:baseline;gap:.5rem;margin:0;padding:.45rem 1rem;display:flex}.schema-freshness strong{color:var(--accent-ink);font-weight:700}.schema-scroll{min-height:0;padding:calc(var(--map-toolbar-h,4rem) + var(--space-3)) var(--space-5) var(--space-5);flex:1;overflow-y:auto}.schema-select{min-height:var(--schema-control-h);border:1px solid var(--border);border-radius:var(--radius-sm);background:rgba(var(--surface-rgb), .95);color:var(--ink-soft);box-shadow:var(--shadow-2);font-size:var(--text-sm);align-items:center;gap:.45rem;padding:.25rem .35rem .25rem .65rem;font-weight:650;display:inline-flex}.schema-select select{border:1px solid var(--border);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;padding:.3rem 1.5rem .3rem .45rem;font-weight:700}.schema-select select:focus-visible,.schema-reps__head input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-sheet-panel{margin-bottom:var(--space-4);padding-top:var(--space-3);border-bottom:1px solid var(--border);position:relative}.schema-panel__close{color:var(--ink-soft);font-size:var(--text-xl);cursor:pointer;background:0 0;border:none;line-height:1;position:absolute;top:.55rem;right:.65rem}.schema-panel__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-results__toggle{min-height:2.75rem;margin:var(--space-2) 0;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;align-items:center;display:inline-flex}.schema-results__toggle:hover{background:var(--surface-sunken)}.schema-results__toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-notice{margin:var(--space-3) 0;border-left:.25rem solid var(--accent);background:var(--accent-tint);color:var(--accent-ink);font-size:var(--text-sm);padding:.6rem .7rem}.schema-map-notice{top:calc(var(--map-toolbar-h,0px) + 3.5rem);left:var(--space-3);right:var(--space-3);z-index:var(--z-map-overlay);max-width:32rem;margin:0;position:absolute}.schema-incumbent{margin:0 0 var(--space-3);color:var(--ink-soft);font-size:var(--text-sm)}.schema-names{margin:0;padding:0;list-style:none}.schema-ticket{color:var(--ink-soft);font-size:var(--text-xs);margin-bottom:.2rem;display:block}.schema-name-end{white-space:nowrap}.schema-elected{vertical-align:-.2em;flex-shrink:0;width:1.1em;height:1.1em;margin-left:.4rem;display:inline-block}.schema-elected circle{fill:var(--ink)}.schema-elected path{fill:none;stroke:var(--surface);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.schema-contact{font-size:var(--text-xs);margin:.2rem 0 0;padding:0;list-style:none}.schema-reps__head{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);display:flex}.schema-reps__head input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);max-width:24rem;color:var(--ink);font:inherit;flex:1;padding:.55rem .75rem}.schema-empty{color:var(--ink-soft)}.schema-representative-contact{margin-top:var(--space-5)}.schema-district-outline{min-height:15rem;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-subtle,var(--surface));justify-content:center;align-self:start;align-items:center;margin:0;display:flex;position:relative;overflow:hidden}.schema-district-outline .schema-district-outline__map{opacity:0;position:absolute;inset:0}.schema-district-outline--basemap .schema-district-outline__map{opacity:1}.schema-district-outline--basemap svg{visibility:hidden}.schema-district-outline__link{z-index:var(--z-raised);position:absolute;inset:0}.schema-district-outline__link:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.schema-district-outline .mapboxgl-ctrl-bottom-right{z-index:calc(var(--z-raised) + 1)}.schema-district-outline__cue{top:var(--space-2);left:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--surface);color:var(--accent-ink);border:1px solid var(--border);font-size:var(--text-xs);font-weight:600;position:absolute}.schema-district-outline__link:hover .schema-district-outline__cue{border-color:var(--accent)}.schema-district-outline svg{width:min(100%,24rem);height:15rem}.schema-district-outline path{fill:var(--accent-tint);stroke:var(--accent-ink);stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.schema-district-results,.schema-district-history,.schema-district-representative{margin-top:var(--space-6)}.schema-district-history__item{margin-top:var(--space-4)}.schema-district-history__item,.schema-district-results{scroll-margin-top:var(--space-7)}.schema-timeline{margin-top:var(--space-6)}.schema-timeline__title{margin:0 0 var(--space-3)}.schema-timeline__list{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(8.5rem,14rem));margin:0;padding:0;list-style:none;display:grid}.schema-timeline__link{gap:var(--space-1);height:100%;min-height:2.75rem;padding:var(--space-3);border:1px solid var(--border);border-top:3px solid var(--border-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--ink);overflow-wrap:anywhere;flex-direction:column;text-decoration:none;display:flex;position:relative}.schema-timeline__link:hover{background:var(--surface-sunken)}.schema-timeline__link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-timeline__link.is-current{border-color:var(--accent);border-top-color:var(--accent);background:var(--accent-tint)}.schema-timeline__dots{gap:var(--space-1);display:flex}.schema-timeline__dot{border-radius:50%;width:.75rem;height:.75rem}.schema-timeline__year{font-family:var(--font-display);font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:700}.schema-timeline__party{font-size:var(--text-base);font-weight:700}.schema-timeline__more{margin-left:var(--space-1);color:var(--ink-soft);white-space:nowrap;font-weight:400}.schema-timeline__facts{color:var(--ink-soft);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.schema-timeline__moved{color:var(--ink-soft);font-size:var(--text-xs);font-style:italic}.schema-district-history__item h3{margin:0 0 var(--space-3)}@media (width<=767px){.schema-map-canvas{min-height:640px}.schema-scroll{padding:calc(var(--map-toolbar-h,4rem) + var(--space-3)) var(--space-3) var(--space-3)}}.schema-district-overview{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schema-district-overview:not(:has(.schema-winner)){grid-template-columns:1fr}.schema-winner{gap:var(--space-3);flex-direction:column;display:flex}.schema-winner__names{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:var(--text-md);padding:0;font-weight:700;line-height:1.5;list-style:none}.schema-rep-card{align-items:center;gap:var(--space-3);color:var(--ink);flex-wrap:wrap;text-decoration:none;display:flex}.schema-rep-card__name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700}.schema-rep-card__cta{color:var(--accent-ink);font-size:var(--text-sm);margin-left:auto;font-weight:700}.schema-party-summary{gap:var(--space-2);margin:0 0 var(--space-4);flex-wrap:wrap;padding:0;list-style:none;display:flex}.schema-party-summary__btn{align-items:center;gap:var(--space-2);min-height:2.75rem;padding:var(--space-1) var(--space-3);border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface);color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;display:inline-flex}.schema-party-summary__btn:hover{background:var(--surface-sunken)}.schema-party-summary__btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.schema-party-summary__btn.is-active,.schema-party-summary__btn.is-active:hover{background:var(--surface-ink);border-color:var(--surface-ink);color:var(--surface-ink-text)}.schema-party-summary__swatch{border-radius:50%;width:.6rem;height:.6rem}.schema-party-summary strong{font-variant-numeric:tabular-nums}.schema-map-wrap{--schema-footer-h:4rem;--schema-control-h:2.875rem}@media (width<=767px){.schema-district-overview{grid-template-columns:1fr}}.schema-names li{padding:.12rem 0}.ui-detail .schema-freshness{margin-top:var(--space-5);padding-inline:0}.schema-representative-contact h2{margin-top:0}.schema-representative-contact .schema-contact{gap:var(--space-2);font-size:var(--text-sm);display:grid}.schema-map-panel h2,.schema-sheet-panel h2{margin:0 var(--space-5) var(--space-2) 0;font-size:var(--text-xl);border:0;padding:0;line-height:1.2}.schema-sheet-panel h2{margin-right:2.5rem}.schema-results-page{width:100%;max-width:72rem;margin-inline:auto}.schema-results-page .schema-allocations{margin-top:var(--space-6)}.schema-hub{width:100%;max-width:64rem;margin-inline:auto}.schema-hub .schema-hub__next{margin-top:var(--space-5)}.schema-hub__next-row{align-items:center;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto;display:grid}.schema-hub__next-date{margin:var(--space-1) 0 0;font-size:var(--text-md);font-weight:650}.schema-hub__next-meta{align-items:center;gap:var(--space-2);margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.schema-hub__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.schema-hub .schema-hub__next+.ui-stats{margin-top:var(--space-4)}.schema-hub>section:first-of-type h2:first-child{margin-top:0}.schema-hub .ui-seatbar{margin-bottom:var(--space-4)}@media (width<=767px){.schema-hub__next-row{gap:var(--space-3);grid-template-columns:1fr}}.schema-layer-toggle{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.schema-share-ramp{border-radius:var(--radius-xs);height:.6rem;display:block}.schema-layer-toggle>:last-child:nth-child(odd){grid-column:1/-1}.schema-margin-labels{justify-content:flex-start;gap:var(--space-2)}.schema-margin-ramp{border-radius:var(--radius-xs);flex-shrink:0;width:4.5rem;height:.6rem}.schema-layer-toggle .map-legend__metric-button{overflow-wrap:anywhere;min-height:1.9rem}@media (width<=767px){.schema-layer-toggle .map-legend__metric-button{min-height:2.75rem}}.schema-change{margin:0 0 var(--space-3)}.ui-card{--card-pad:var(--space-4) var(--space-5);padding:var(--card-pad);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);color:var(--ink)}.ui-card--roomy{--card-pad:var(--space-5)}.ui-card--sunken{background:var(--surface-sunken)}.ui-card--accent-top{border-top:3px solid var(--accent)}.ui-card--accent-left{border-left:4px solid var(--accent)}a.ui-card{text-decoration:none}a.ui-card:hover{border-color:var(--accent);background:var(--accent-tint)}a.ui-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-card__label{color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;margin:0;font-weight:700}.ui-tiles{gap:var(--space-3);margin:0 0 var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-tiles--compact{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr))}.ui-tile{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:4.5rem;box-shadow:var(--shadow-1);font-size:var(--text-md);font-weight:700;display:flex}.ui-tile--compact{min-height:3.5rem;padding:var(--space-3) var(--space-4);font-size:var(--text-base);box-shadow:none}.ui-tile--featured{background:var(--accent-tint);min-height:6rem;font-family:var(--font-display);font-size:var(--text-xl);grid-column:1/-1}.ui-tile__text{gap:var(--space-1);flex-direction:column;display:flex}.ui-tile__detail{color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);align-items:center;gap:.4em;font-weight:500;line-height:1.4;display:inline-flex}.ui-tile--featured .ui-tile__detail{font-size:var(--text-base)}.ui-tile__meta{gap:var(--space-1);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-xs);font-variant-numeric:tabular-nums;flex-direction:column;font-weight:500;display:flex}.ui-tile--featured .ui-tile__meta{font-size:var(--text-sm)}.ui-tile__dot{border-radius:50%;flex-shrink:0;width:.55em;height:.55em}.ui-tile__arrow{color:var(--accent-ink);font-size:var(--text-xl);flex-shrink:0}.ui-stats{margin:var(--space-5) 0}.ui-stat dt{color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.ui-stat dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.ui-stats--tile{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));display:grid}.ui-stats--tile .ui-stat{padding:var(--space-3) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-sunken)}.ui-stats--tile dd{margin-top:var(--space-1);font-family:var(--font-display);line-height:1.2}.ui-stats--lg dd{font-size:var(--text-xl)}.ui-stats--md dd{font-size:var(--text-md)}.ui-stats--md{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr))}.ui-stats--inline{gap:var(--space-4);margin:0 0 var(--space-3);flex-wrap:wrap;display:flex}.ui-pill{align-items:center;gap:var(--space-2);font-size:var(--text-xs);padding:.05rem .5rem;font-weight:700;display:inline-flex}.ui-pill--type{border:1px solid var(--border-strong);border-radius:var(--radius-pill);color:var(--ink-soft);padding-block:.1rem}.ui-pill--type:before{content:"";background:var(--pill-dot,var(--election-general));border-radius:50%;width:.5rem;height:.5rem}.ui-pill--estimate{border-radius:var(--radius-pill);background:var(--on-accent-tint);color:var(--on-accent);padding-block:.1rem}.ui-action{min-height:2.75rem;padding:0 var(--space-4);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--accent-ink);font:inherit;font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;font-weight:700;text-decoration:none;display:inline-flex}.ui-action:hover{border-color:var(--accent);background:var(--accent-tint)}.ui-action:focus-visible,.ui-breadcrumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-action--solid{border-color:var(--accent);background:var(--accent);color:var(--surface)}.ui-action--solid:hover{background:var(--accent);filter:brightness(1.1)}.ui-action--text{background:0 0;border:0;min-height:0;padding:0}.ui-action--text:hover{background:0 0;text-decoration:underline}.ui-detail{width:100%;max-width:58rem;margin-inline:auto}.ui-detail--wide{max-width:64rem}.ui-actions{gap:var(--space-3);margin:0 0 var(--space-5);flex-wrap:wrap;display:flex}.ui-actions:empty{display:none}.ui-breadcrumb{margin-bottom:var(--space-4);color:var(--ink-soft);font-size:var(--text-sm);font-weight:650;text-decoration:none;display:inline-block}.ui-breadcrumb:before{content:"←";margin-right:var(--space-2)}.ui-breadcrumb:hover{color:var(--accent-ink);text-decoration:underline}.ui-entity-head{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.ui-entity-head h1{margin:var(--space-1) 0 0;font-size:clamp(1.75rem,4vw,2.5rem);line-height:1.1}.ui-entity-head>.ui-action{flex-shrink:0}.ui-entity-head+.ui-actions{margin-top:var(--space-4)}.ui-seatbar{border-radius:var(--radius-xs);background:var(--surface-sunken);height:1.75rem;display:flex;overflow:hidden}.ui-seatbar>span{min-width:2px;height:100%}.ui-seatbar>span+span{border-left:1px solid var(--surface)}.ui-table-wrap{margin:0 0 var(--space-4);overflow-x:auto}.ui-table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.ui-table caption{padding:0 0 var(--space-2);text-align:left;font-weight:700}.ui-table th,.ui-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;overflow-wrap:anywhere;padding:.4rem .5rem}.ui-table th{overflow-wrap:normal;color:var(--ink-soft);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em}.ui-table .ui-table__num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ui-table__sortbar{display:none}.ui-table__row--action{cursor:pointer}.ui-table__row--action:hover td{background:var(--accent-tint)}.ui-table__row--action:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.ui-table__row--highlight td{background:var(--accent-tint)}.ui-table__note td{color:var(--ink-soft);font-size:var(--text-xs);font-style:italic}@media (width<=800px){.ui-tiles--compact{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.ui-tiles,.ui-tiles--compact{grid-template-columns:1fr}.ui-entity-head{flex-direction:column}.ui-table__sortbar{align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:var(--text-sm);display:flex}.ui-table__sortbar label{align-items:center;gap:var(--space-2);color:var(--ink-soft);flex:1;display:flex}.ui-table__sortbar select{min-height:2.75rem;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:inherit;flex:1}.ui-table__dir{border:1px solid var(--border-strong);border-radius:var(--radius-control);background:var(--surface);min-width:2.75rem;min-height:2.75rem;color:var(--accent-ink);cursor:pointer}.ui-table,.ui-table caption,.ui-table tbody,.ui-table td{display:block}.ui-table thead{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.ui-table tr{margin:0 0 var(--space-3);padding:var(--space-2) var(--space-4);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;display:flex}.ui-table td{justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;text-align:right;border:0;display:flex}.ui-table td:before{content:attr(data-label);color:var(--ink-soft);font-size:var(--text-xs);letter-spacing:.04em;text-align:left;text-transform:uppercase;flex-shrink:0}.ui-table td:empty{display:none}.ui-table td[data-primary]{text-align:left;order:-1;font-weight:700;display:block}.ui-table .ui-table__num{white-space:normal}.ui-table tr.ui-table__row--highlight,.ui-table tr.ui-table__row--action:hover{background:var(--accent-tint)}.ui-table__row--highlight td,.ui-table__row--action:hover td{background:0 0}.ui-table tr.ui-table__note{margin-top:calc(var(--space-2) * -1);padding:0 var(--space-2);background:0 0;border:0}.ui-table .ui-table__note td{text-align:left;display:block}.ui-table .ui-table__note td:before{content:none}}.mapboxgl-map{-webkit-tap-highlight-color:#0000;font:12px/20px Helvetica Neue,Arial,Helvetica,sans-serif;position:relative;overflow:hidden}.mapboxgl-canvas{position:absolute;top:0;left:0}.mapboxgl-map:-webkit-full-screen{width:100%;height:100%}.mapboxgl-canary{background-color:salmon}.mapboxgl-canvas-container.mapboxgl-interactive,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass{cursor:grab;-webkit-user-select:none;user-select:none}.mapboxgl-canvas-container.mapboxgl-interactive.mapboxgl-track-pointer{cursor:pointer}.mapboxgl-canvas-container.mapboxgl-interactive:active,.mapboxgl-ctrl-group button.mapboxgl-ctrl-compass:active{cursor:grabbing}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-canvas-container.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:pinch-zoom}.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan,.mapboxgl-canvas-container.mapboxgl-touch-zoom-rotate.mapboxgl-touch-drag-pan .mapboxgl-canvas{touch-action:none}.mapboxgl-ctrl-bottom,.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right,.mapboxgl-ctrl-left,.mapboxgl-ctrl-right,.mapboxgl-ctrl-top,.mapboxgl-ctrl-top-left,.mapboxgl-ctrl-top-right{pointer-events:none;z-index:2;position:absolute}.mapboxgl-ctrl-top-left{top:0;left:0}.mapboxgl-ctrl-top{top:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-top-right{top:0;right:0}.mapboxgl-ctrl-right{top:50%;right:0;transform:translateY(-50%)}.mapboxgl-ctrl-bottom-right{bottom:0;right:0}.mapboxgl-ctrl-bottom{bottom:0;left:50%;transform:translate(-50%)}.mapboxgl-ctrl-bottom-left{bottom:0;left:0}.mapboxgl-ctrl-left{top:50%;left:0;transform:translateY(-50%)}.mapboxgl-ctrl{clear:both;pointer-events:auto}.mapboxgl-ctrl-top-left .mapboxgl-ctrl{float:left;margin:10px 0 0 10px}.mapboxgl-ctrl-top .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-top-right .mapboxgl-ctrl{float:right;margin:10px 10px 0 0}.mapboxgl-ctrl-bottom-right .mapboxgl-ctrl,.mapboxgl-ctrl-right .mapboxgl-ctrl{float:right;margin:0 10px 10px 0}.mapboxgl-ctrl-bottom .mapboxgl-ctrl{float:left;margin:10px 0}.mapboxgl-ctrl-bottom-left .mapboxgl-ctrl,.mapboxgl-ctrl-left .mapboxgl-ctrl{float:left;margin:0 0 10px 10px}.mapboxgl-ctrl-group{background:#fff;border-radius:4px}.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px #0000001a}@media (-ms-high-contrast:active){.mapboxgl-ctrl-group:not(:empty){box-shadow:0 0 0 2px buttontext}}.mapboxgl-ctrl-group button{box-sizing:border-box;background-color:initial;cursor:pointer;border:0;outline:none;width:32px;height:32px;padding:0;display:block;overflow:hidden}.mapboxgl-ctrl-group button+button{border-top:1px solid #ddd}.mapboxgl-ctrl button .mapboxgl-ctrl-icon{background-position:50%;background-repeat:no-repeat;width:100%;height:100%;display:block}@media (-ms-high-contrast:active){.mapboxgl-ctrl-icon{background-color:initial}.mapboxgl-ctrl-group button+button{border-top:1px solid buttontext}}.mapboxgl-ctrl-attrib-button:focus,.mapboxgl-ctrl-group button:focus{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl button:disabled{cursor:not-allowed}.mapboxgl-ctrl button:disabled .mapboxgl-ctrl-icon{opacity:.25}.mapboxgl-ctrl-group button:first-child{border-radius:4px 4px 0 0}.mapboxgl-ctrl-group button:last-child{border-radius:0 0 4px 4px}.mapboxgl-ctrl-group button:only-child{border-radius:inherit}.mapboxgl-ctrl button:not(:disabled):hover{background-color:#eee}.mapboxgl-ctrl-group button:focus:focus-visible{box-shadow:0 0 2px 2px #0096ff}.mapboxgl-ctrl-group button:focus:not(:focus-visible){box-shadow:none}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-out .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-zoom-in .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M14.5 8.5c-.75 0-1.5.75-1.5 1.5v3h-3c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h3v3c0 .75.75 1.5 1.5 1.5S16 19.75 16 19v-3h3c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-3v-3c0-.75-.75-1.5-1.5-1.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-fullscreen .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M24 16v5.5c0 1.75-.75 2.5-2.5 2.5H16v-1l3-1.5-4-5.5 1-1 5.5 4 1.5-3h1zM6 16l1.5 3 5.5-4 1 1-4 5.5 3 1.5v1H7.5C5.75 24 5 23.25 5 21.5V16h1zm7-11v1l-3 1.5 4 5.5-1 1-5.5-4L6 13H5V7.5C5 5.75 5.75 5 7.5 5H13zm11 2.5c0-1.75-.75-2.5-2.5-2.5H16v1l3 1.5-4 5.5 1 1 5.5-4 1.5 3h1V7.5z'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-shrink .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M18.5 16c-1.75 0-2.5.75-2.5 2.5V24h1l1.5-3 5.5 4 1-1-4-5.5 3-1.5v-1h-5.5zM13 18.5c0-1.75-.75-2.5-2.5-2.5H5v1l3 1.5L4 24l1 1 5.5-4 1.5 3h1v-5.5zm3-8c0 1.75.75 2.5 2.5 2.5H24v-1l-3-1.5L25 5l-1-1-5.5 4L17 5h-1v5.5zM10.5 13c1.75 0 2.5-.75 2.5-2.5V5h-1l-1.5 3L5 4 4 5l4 5.5L5 12v1h5.5z'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23999'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-compass .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23000' viewBox='0 0 29 29'%3E%3Cpath d='M10.5 14l4-8 4 8h-8z'/%3E%3Cpath id='south' d='M10.5 16l4 8 4-8h-8z' fill='%23ccc'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-up .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 11.7071C4.68342 12.0976 5.31658 12.0976 5.70711 11.7071L9 8.41421L12.2929 11.7071C12.6834 12.0976 13.3166 12.0976 13.7071 11.7071C14.0976 11.3166 14.0976 10.6834 13.7071 10.2929L9.70711 6.29289C9.31658 5.90237 8.68342 5.90237 8.29289 6.29289L4.29289 10.2929C3.90237 10.6834 3.90237 11.3166 4.29289 11.7071Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-arrow-down .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M4.29289 6.29289C4.68342 5.90237 5.31658 5.90237 5.70711 6.29289L9 9.58579L12.2929 6.29289C12.6834 5.90237 13.3166 5.90237 13.7071 6.29289C14.0976 6.68342 14.0976 7.31658 13.7071 7.70711L9.70711 11.7071C9.31658 12.0976 8.68342 12.0976 8.29289 11.7071L4.29289 7.70711C3.90237 7.31658 3.90237 6.68342 4.29289 6.29289Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23333' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E");background-size:18px 18px}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23fff' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-indoor-toggle .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg fill='%23000' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M4.0017 3.0017L4.0017 15.0017L10.0017 15.0017V12.0017H12.0017V15.0017H14.0017L14.0017 3.0017C14.0097 2.86829 13.9894 2.73469 13.9419 2.60973C13.8945 2.48477 13.8211 2.37129 13.7266 2.27678C13.6321 2.18228 13.5186 2.10889 13.3937 2.06147C13.2687 2.01405 13.1351 1.99368 13.0017 2.0017L5.0017 2.0017C4.86829 1.99368 4.73469 2.01405 4.60973 2.06147C4.48477 2.10889 4.37129 2.18228 4.27678 2.27678C4.18228 2.37129 4.10889 2.48477 4.06147 2.60973C4.01405 2.73469 3.99368 2.86829 4.0017 3.0017ZM8.0017 14.0017H6.0017V12.0017H8.0017V14.0017ZM8.0017 10.0017H6.0017L6.0017 8.0017H8.0017V10.0017ZM8.0017 6.0017L6.0017 6.0017V4.0017H8.0017V6.0017ZM12.0017 10.0017H10.0017V8.0017H12.0017V10.0017ZM12.0017 6.0017H10.0017V4.0017L12.0017 4.0017V6.0017Z' fill='%23333333'/%3E%3C/svg%3E")}}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23333'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23aaa'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-waiting .mapboxgl-ctrl-icon{animation:2s linear infinite mapboxgl-spin}@media (-ms-high-contrast:active){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23fff'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23999'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-active-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e58978'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%2333b5e5'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate.mapboxgl-ctrl-geolocate-background-error .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23e54e33'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2' display='none'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23000'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' display='none'/%3E%3C/svg%3E")}.mapboxgl-ctrl button.mapboxgl-ctrl-geolocate:disabled .mapboxgl-ctrl-icon{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill='%23666'%3E%3Cpath d='M10 4C9 4 9 5 9 5v.1A5 5 0 0 0 5.1 9H5s-1 0-1 1 1 1 1 1h.1A5 5 0 0 0 9 14.9v.1s0 1 1 1 1-1 1-1v-.1a5 5 0 0 0 3.9-3.9h.1s1 0 1-1-1-1-1-1h-.1A5 5 0 0 0 11 5.1V5s0-1-1-1zm0 2.5a3.5 3.5 0 1 1 0 7 3.5 3.5 0 1 1 0-7z'/%3E%3Ccircle id='dot' cx='10' cy='10' r='2'/%3E%3Cpath id='stroke' d='M14 5l1 1-9 9-1-1 9-9z' fill='%23f00'/%3E%3C/svg%3E")}}@keyframes mapboxgl-spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}a.mapboxgl-ctrl-logo{cursor:pointer;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='0.3' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='0.9' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E");background-repeat:no-repeat;width:88px;height:23px;margin:0 0 -4px -4px;display:block;overflow:hidden}a.mapboxgl-ctrl-logo.mapboxgl-compact{width:23px}@media (-ms-high-contrast:active){a.mapboxgl-ctrl-logo{background-color:initial;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23000' stroke-width='3'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23fff'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}@media (-ms-high-contrast:black-on-white){a.mapboxgl-ctrl-logo{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' fill-rule='evenodd' viewBox='0 0 88 23'%3E%3Cdefs%3E%3Cpath id='logo' d='M11.5 2.25c5.105 0 9.25 4.145 9.25 9.25s-4.145 9.25-9.25 9.25-9.25-4.145-9.25-9.25 4.145-9.25 9.25-9.25zM6.997 15.983c-.051-.338-.828-5.802 2.233-8.873a4.395 4.395 0 013.13-1.28c1.27 0 2.49.51 3.39 1.42.91.9 1.42 2.12 1.42 3.39 0 1.18-.449 2.301-1.28 3.13C12.72 16.93 7 16 7 16l-.003-.017zM15.3 10.5l-2 .8-.8 2-.8-2-2-.8 2-.8.8-2 .8 2 2 .8z'/%3E%3Cpath id='text' d='M50.63 8c.13 0 .23.1.23.23V9c.7-.76 1.7-1.18 2.73-1.18 2.17 0 3.95 1.85 3.95 4.17s-1.77 4.19-3.94 4.19c-1.04 0-2.03-.43-2.74-1.18v3.77c0 .13-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V8.23c0-.12.1-.23.23-.23h1.4zm-3.86.01c.01 0 .01 0 .01-.01.13 0 .22.1.22.22v7.55c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V15c-.7.76-1.69 1.19-2.73 1.19-2.17 0-3.94-1.87-3.94-4.19 0-2.32 1.77-4.19 3.94-4.19 1.03 0 2.02.43 2.73 1.18v-.75c0-.12.1-.23.23-.23h1.4zm26.375-.19a4.24 4.24 0 00-4.16 3.29c-.13.59-.13 1.19 0 1.77a4.233 4.233 0 004.17 3.3c2.35 0 4.26-1.87 4.26-4.19 0-2.32-1.9-4.17-4.27-4.17zM60.63 5c.13 0 .23.1.23.23v3.76c.7-.76 1.7-1.18 2.73-1.18 1.88 0 3.45 1.4 3.84 3.28.13.59.13 1.2 0 1.8-.39 1.88-1.96 3.29-3.84 3.29-1.03 0-2.02-.43-2.73-1.18v.77c0 .12-.1.23-.23.23h-1.4c-.13 0-.23-.1-.23-.23V5.23c0-.12.1-.23.23-.23h1.4zm-34 11h-1.4c-.13 0-.23-.11-.23-.23V8.22c.01-.13.1-.22.23-.22h1.4c.13 0 .22.11.23.22v.68c.5-.68 1.3-1.09 2.16-1.1h.03c1.09 0 2.09.6 2.6 1.55.45-.95 1.4-1.55 2.44-1.56 1.62 0 2.93 1.25 2.9 2.78l.03 5.2c0 .13-.1.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.8 0-1.46.7-1.59 1.62l.01 4.68c0 .13-.11.23-.23.23h-1.41c-.13 0-.23-.11-.23-.23v-4.59c0-.98-.74-1.71-1.62-1.71-.85 0-1.54.79-1.6 1.8v4.5c0 .13-.1.23-.23.23zm53.615 0h-1.61c-.04 0-.08-.01-.12-.03-.09-.06-.13-.19-.06-.28l2.43-3.71-2.39-3.65a.213.213 0 01-.03-.12c0-.12.09-.21.21-.21h1.61c.13 0 .24.06.3.17l1.41 2.37 1.4-2.37a.34.34 0 01.3-.17h1.6c.04 0 .08.01.12.03.09.06.13.19.06.28l-2.37 3.65 2.43 3.7c0 .05.01.09.01.13 0 .12-.09.21-.21.21h-1.61c-.13 0-.24-.06-.3-.17l-1.44-2.42-1.44 2.42a.34.34 0 01-.3.17zm-7.12-1.49c-1.33 0-2.42-1.12-2.42-2.51 0-1.39 1.08-2.52 2.42-2.52 1.33 0 2.42 1.12 2.42 2.51 0 1.39-1.08 2.51-2.42 2.52zm-19.865 0c-1.32 0-2.39-1.11-2.42-2.48v-.07c.02-1.38 1.09-2.49 2.4-2.49 1.32 0 2.41 1.12 2.41 2.51 0 1.39-1.07 2.52-2.39 2.53zm-8.11-2.48c-.01 1.37-1.09 2.47-2.41 2.47s-2.42-1.12-2.42-2.51c0-1.39 1.08-2.52 2.4-2.52 1.33 0 2.39 1.11 2.41 2.48l.02.08zm18.12 2.47c-1.32 0-2.39-1.11-2.41-2.48v-.06c.02-1.38 1.09-2.48 2.41-2.48s2.42 1.12 2.42 2.51c0 1.39-1.09 2.51-2.42 2.51z'/%3E%3C/defs%3E%3Cmask id='clip'%3E%3Crect x='0' y='0' width='100%25' height='100%25' fill='white'/%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/mask%3E%3Cg id='outline' opacity='1' stroke='%23fff' stroke-width='3' fill='%23fff'%3E%3Ccircle mask='url(%23clip)' cx='11.5' cy='11.5' r='9.25'/%3E%3Cuse xlink:href='%23text' mask='url(%23clip)'/%3E%3C/g%3E%3Cg id='fill' opacity='1' fill='%23000'%3E%3Cuse xlink:href='%23logo'/%3E%3Cuse xlink:href='%23text'/%3E%3C/g%3E%3C/svg%3E")}}.mapboxgl-ctrl.mapboxgl-ctrl-attrib{background-color:#ffffff80;margin:0;padding:0 5px}@media screen{.mapboxgl-ctrl-attrib.mapboxgl-compact{min-height:20px;box-sizing:initial;background-color:#fff;border-radius:12px;margin:10px;padding:2px 24px 2px 0;position:relative}.mapboxgl-ctrl-attrib.mapboxgl-compact-show{visibility:visible;padding:2px 28px 2px 8px}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left)>.mapboxgl-ctrl-attrib.mapboxgl-compact-show{border-radius:12px;padding:2px 8px 2px 28px}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-inner{display:none}.mapboxgl-ctrl-attrib-button{cursor:pointer;box-sizing:border-box;background-color:#ffffff80;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E");border:0;border-radius:12px;outline:none;width:24px;height:24px;display:none;position:absolute;top:0;right:0}:is(.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-left,.mapboxgl-ctrl-top-left) .mapboxgl-ctrl-attrib-button{left:0}.mapboxgl-ctrl-attrib.mapboxgl-compact .mapboxgl-ctrl-attrib-button,.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-inner{display:block}.mapboxgl-ctrl-attrib.mapboxgl-compact-show .mapboxgl-ctrl-attrib-button{background-color:#0000000d}.mapboxgl-ctrl-bottom-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;right:0}.mapboxgl-ctrl-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{right:0}.mapboxgl-ctrl-top-right>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;right:0}.mapboxgl-ctrl-top-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{top:0;left:0}.mapboxgl-ctrl-bottom-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{bottom:0;left:0}.mapboxgl-ctrl-left>.mapboxgl-ctrl-attrib.mapboxgl-compact:after{left:0}}@media screen and (-ms-high-contrast:active){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd' fill='%23fff'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}@media screen and (-ms-high-contrast:black-on-white){.mapboxgl-ctrl-attrib.mapboxgl-compact:after{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 20 20' xmlns='http://www.w3.org/2000/svg' fill-rule='evenodd'%3E%3Cpath d='M4 10a6 6 0 1 0 12 0 6 6 0 1 0-12 0m5-3a1 1 0 1 0 2 0 1 1 0 1 0-2 0m0 3a1 1 0 1 1 2 0v3a1 1 0 1 1-2 0'/%3E%3C/svg%3E")}}.mapboxgl-ctrl-attrib a{color:#000000bf;text-decoration:none}.mapboxgl-ctrl-attrib a:hover{color:inherit;text-decoration:underline}.mapboxgl-ctrl-attrib .mapbox-improve-map{margin-left:2px;font-weight:700}.mapboxgl-attrib-empty{display:none}.mapboxgl-ctrl-scale{color:#333;box-sizing:border-box;white-space:nowrap;background-color:#ffffffbf;border:2px solid #333;border-top:#333;padding:0 5px;font-size:10px}.mapboxgl-popup{will-change:transform;pointer-events:none;display:flex;position:absolute;top:0;left:0}.mapboxgl-popup-anchor-top,.mapboxgl-popup-anchor-top-left,.mapboxgl-popup-anchor-top-right{flex-direction:column}.mapboxgl-popup-anchor-bottom,.mapboxgl-popup-anchor-bottom-left,.mapboxgl-popup-anchor-bottom-right{flex-direction:column-reverse}.mapboxgl-popup-anchor-left{flex-direction:row}.mapboxgl-popup-anchor-right{flex-direction:row-reverse}.mapboxgl-popup-tip{z-index:1;border:10px solid #0000;width:0;height:0}.mapboxgl-popup-anchor-top .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;align-self:center}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-tip{border-top:none;border-bottom-color:#fff;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-bottom .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;align-self:center}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-left:none;align-self:flex-start}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-tip{border-top-color:#fff;border-bottom:none;border-right:none;align-self:flex-end}.mapboxgl-popup-anchor-left .mapboxgl-popup-tip{border-left:none;border-right-color:#fff;align-self:center}.mapboxgl-popup-anchor-right .mapboxgl-popup-tip{border-left-color:#fff;border-right:none;align-self:center}.mapboxgl-popup-close-button{cursor:pointer;background-color:initial;border:0;border-radius:0 3px 0 0;position:absolute;top:0;right:0}.mapboxgl-popup-close-button:hover{background-color:#eee}.mapboxgl-popup-content{pointer-events:auto;background:#fff;border-radius:3px;padding:10px 10px 15px;position:relative;box-shadow:0 1px 2px #0000001a}.mapboxgl-popup-anchor-top-left .mapboxgl-popup-content{border-top-left-radius:0}.mapboxgl-popup-anchor-top-right .mapboxgl-popup-content{border-top-right-radius:0}.mapboxgl-popup-anchor-bottom-left .mapboxgl-popup-content{border-bottom-left-radius:0}.mapboxgl-popup-anchor-bottom-right .mapboxgl-popup-content{border-bottom-right-radius:0}.mapboxgl-popup-track-pointer{display:none}.mapboxgl-popup-track-pointer *{pointer-events:none;-webkit-user-select:none;user-select:none}.mapboxgl-map:hover .mapboxgl-popup-track-pointer{display:flex}.mapboxgl-map:active .mapboxgl-popup-track-pointer{display:none}.mapboxgl-marker{will-change:transform;opacity:1;transition:opacity .2s;position:absolute;top:0;left:0}.mapboxgl-user-location-dot,.mapboxgl-user-location-dot:before{background-color:#1da1f2;border-radius:50%;width:15px;height:15px}.mapboxgl-user-location-dot:before{content:"";animation:2s infinite mapboxgl-user-location-dot-pulse;position:absolute}.mapboxgl-user-location-dot:after{content:"";box-sizing:border-box;border:2px solid #fff;border-radius:50%;width:19px;height:19px;position:absolute;top:-2px;left:-2px;box-shadow:0 0 3px #00000059}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading{width:0;height:0}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after,.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{content:"";border-bottom:7.5px solid #4aa1eb;position:absolute}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:before{border-left:7.5px solid #0000;transform:translateY(-28px)skewY(-20deg)}.mapboxgl-user-location-show-heading .mapboxgl-user-location-heading:after{border-right:7.5px solid #0000;transform:translate(7.5px,-28px)skewY(20deg)}@keyframes mapboxgl-user-location-dot-pulse{0%{opacity:1;transform:scale(1)}70%{opacity:0;transform:scale(3)}to{opacity:0;transform:scale(1)}}.mapboxgl-user-location-dot-stale{background-color:#aaa}.mapboxgl-user-location-dot-stale:after{display:none}.mapboxgl-user-location-accuracy-circle{background-color:#1da1f233;border-radius:100%;width:1px;height:1px}.mapboxgl-crosshair,.mapboxgl-crosshair .mapboxgl-interactive,.mapboxgl-crosshair .mapboxgl-interactive:active{cursor:crosshair}.mapboxgl-boxzoom{opacity:.5;background:#fff;border:2px dotted #202020;width:0;height:0;position:absolute;top:0;left:0}@media print{.mapbox-improve-map{display:none}}.mapboxgl-scroll-zoom-blocker,.mapboxgl-touch-pan-blocker{color:#fff;text-align:center;opacity:0;pointer-events:none;background:#000000b3;justify-content:center;align-items:center;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;transition:opacity .75s ease-in-out 1s;display:flex;position:absolute;top:0;left:0}.mapboxgl-scroll-zoom-blocker-show,.mapboxgl-touch-pan-blocker-show{opacity:1;transition:opacity .1s ease-in-out}.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page,.mapboxgl-canvas-container.mapboxgl-touch-pan-blocker-override.mapboxgl-scrollable-page .mapboxgl-canvas{touch-action:pan-x pan-y}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button{text-align:center;font-size:14px;font-weight:600}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected{color:#000;background-color:#bccbd7}.mapboxgl-ctrl button.mapboxgl-ctrl-level-button-selected:hover{background-color:#ccc}
