.polling-page{--ink:#12302a;--ink-2:#3f5d55;--ink-3:#61776f;--brand:#0f5c47;--brand-strong:#0a4033;--brand-soft:#e3f1e9;--brand-ring:#7fd9ad;--amber:#9a5208;--amber-strong:#6e3a04;--amber-soft:#fff1dc;--amber-ring:#f4b65a;--surface:#fff;--canvas:#f4f6f2;--line:#dde5df;--line-2:#ebf0ec;--radius:14px;--radius-sm:9px;--shadow-sm:0 1px 2px #12302a14, 0 2px 6px #12302a0f;--shadow:0 2px 4px #12302a0d, 0 12px 32px #12302a24;height:100%;color:var(--ink);background:var(--canvas);font-feature-settings:"tnum" 1, "ss01" 1;-webkit-font-smoothing:antialiased;flex-direction:column;font-size:14px;display:flex;overflow-y:auto}.polling-header{z-index:2;background:var(--surface);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:20px;padding:14px 24px;display:flex;position:relative;box-shadow:inset 0 1px #fff}.polling-sponsor{background:var(--brand-strong);color:#d6ebe1;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:36px;padding:0 24px;font-size:12.5px;display:flex}.polling-sponsor p{margin:0}.polling-sponsor a{color:#fff;font-weight:700;text-decoration:none}.polling-sponsor p a:hover{text-underline-offset:3px;text-decoration:underline}.polling-social{gap:2px;margin:0 -8px 0 0;padding:0;list-style:none;display:flex}.polling-social a{color:#d6ebe1;border-radius:8px;place-items:center;width:36px;height:36px;transition:background-color .12s,color .12s;display:grid}.polling-social a:hover{color:#fff;background:#ffffff1f}.polling-page .polling-sponsor a:focus-visible{outline-offset:-2px;outline-color:#8be4ba}.polling-brand{flex:auto}.polling-election-day{background:var(--amber-soft);color:var(--amber-strong);border:1px solid #f1d4a8;border-radius:12px;align-items:center;gap:10px;margin:0;padding:8px 14px 8px 12px;line-height:1.3;display:flex}.polling-election-day .polling-icon{flex:none;width:20px;height:20px}.polling-election-day strong{font-size:14px;font-weight:750;display:block}.polling-hours{color:#8a4f12;font-size:12px;font-weight:550;display:block}.polling-share{flex:none}.polling-brand{align-items:center;gap:14px;min-width:0;display:flex}.polling-mark{color:#fff;background:linear-gradient(145deg, #177358, var(--brand-strong));border-radius:12px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:0 4px 12px #0f5c4740,inset 0 1px #fff3}.polling-mark .polling-icon{width:24px;height:24px}.polling-eyebrow{letter-spacing:.14em;color:var(--brand);margin:0 0 2px;font-size:10.5px;font-weight:700}.polling-header h1{letter-spacing:-.03em;margin:0;font-size:24px;font-weight:760;line-height:1.15}.polling-header h1 span{color:var(--ink-3);font-weight:450}.polling-icon{flex:none;width:16px;height:16px}.polling-button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:44px;color:var(--brand-strong);cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:7px;padding:10px 15px;font-size:13px;font-weight:650;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.polling-button:hover{background:var(--brand-soft);border-color:#a9cbb9}.polling-button:active{box-shadow:none}.polling-button-primary{background:var(--brand);border-color:var(--brand);color:#fff}.polling-button-primary:hover{background:var(--brand-strong);border-color:var(--brand-strong)}.polling-page button:focus-visible,.polling-page a:focus-visible,.polling-page input:focus-visible{outline-offset:2px;outline:3px solid #1b8a6c}.polling-page .maplibregl-ctrl-group{border-radius:var(--radius-sm);border:1px solid var(--line);overflow:hidden;box-shadow:var(--shadow-sm)!important}.polling-page .maplibregl-ctrl-top-right{top:6px;right:6px}.polling-page .maplibregl-ctrl-scale{border-color:var(--ink-2);color:var(--ink-2);background:#ffffffd9;border-radius:0 0 3px 3px;font-size:10px}.polling-map-region{flex:1;min-height:420px;position:relative;overflow:hidden}.polling-map-region>.polling-map{position:absolute;inset:0}.polling-page .maplibregl-ctrl-bottom-left{top:auto!important;bottom:0!important;left:0!important}.polling-page .maplibregl-ctrl-bottom-right{top:auto!important;bottom:0!important;right:0!important}.polling-page .maplibregl-ctrl-attrib{max-width:calc(100vw - 100px)}.polling-map-tools{z-index:2;border:1px solid var(--line);border-radius:calc(var(--radius-sm) + 4px);box-shadow:var(--shadow);background:#fffffffa;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;top:16px;left:16px}.polling-map-tools .polling-button{box-shadow:none}.polling-map-tools .polling-button:not(.polling-button-primary){background:0 0;border-color:#0000}.polling-map-tools .polling-button:not(.polling-button-primary):hover{background:var(--brand-soft)}.polling-history-toggle{border-left:1px solid var(--line);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;min-height:44px;margin-left:2px;padding:4px 12px 4px 10px;font-size:13px;font-weight:650;line-height:1.25;display:flex}.polling-history-toggle input{appearance:none;cursor:pointer;background:#c9d4ce;border-radius:999px;flex:none;width:36px;height:22px;margin:0;transition:background-color .2s;position:relative}.polling-history-toggle input:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .2s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0003}.polling-history-toggle input:checked{background:var(--amber)}.polling-history-toggle input:checked:after{left:17px}.polling-toggle-short{display:none}.polling-precinct-toggle input:checked{background:var(--brand)}.polling-history-toggle.polling-precinct-toggle small{color:var(--ink-3)}.polling-toggle-full{white-space:nowrap}.polling-history-toggle small{color:var(--amber);margin-top:1px;font-size:11px;font-weight:500;display:block}.polling-legend{z-index:2;border:1px solid var(--line);box-shadow:var(--shadow-sm);background:#ffffffeb;border-radius:999px;gap:14px;margin:0;padding:6px 12px;font-size:11.5px;font-weight:600;animation:.2s ease-out polling-fade;display:flex;position:absolute;top:80px;left:16px}.polling-legend span{align-items:center;gap:6px;display:inline-flex}.polling-legend span:nth-child(2){color:var(--amber)}.polling-legend .polling-legend-precinct{color:var(--ink-2)}.polling-key{color:#fff;place-items:center;width:13px;height:13px;font-size:11px;font-style:normal;line-height:1;display:inline-grid}.polling-key-current{background:var(--brand);border-radius:50%;box-shadow:0 0 0 2px #fff,0 0 0 3px #0f5c4733}.polling-key-former{background:var(--amber);border-radius:3px}.polling-key-precinct{background:#0f5c4714;border:1.5px solid #0a4033bf;border-radius:2px;width:16px;height:12px}.polling-pin{background:var(--brand);color:#fff;font-feature-settings:"tnum" 1;cursor:pointer;border:2.5px solid #fff;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;font:750 14px/1 ui-sans-serif,system-ui,sans-serif;transition:background-color .15s,box-shadow .15s;display:grid;box-shadow:0 1px 2px #0a403366,0 4px 10px #0a403340}.polling-pin:hover{background:var(--brand-strong);box-shadow:0 0 0 4px #0f5c4733,0 4px 12px #0a403359}.polling-pin[aria-pressed=true]{z-index:1;background:var(--brand-strong);box-shadow:0 0 0 4px var(--brand-ring), 0 6px 16px #0a403366;outline:none}.polling-pin-former{background:var(--amber);border-radius:8px;width:32px;height:32px;font-size:22px;font-weight:600}.polling-pin-former[hidden]{display:none}.polling-pin-former:hover{background:var(--amber-strong);box-shadow:0 0 0 4px #9a520833,0 4px 12px #6e3a0459}.polling-pin-former[aria-pressed=true]{background:var(--amber-strong);box-shadow:0 0 0 4px var(--amber-ring), 0 6px 16px #6e3a0466}.polling-pin[data-destination=true]{z-index:1;box-shadow:0 0 0 4px #fff, 0 0 0 7px var(--amber-ring), 0 6px 16px #0a403366}.polling-page .polling-pin:focus-visible{outline-offset:4px;outline:3px solid #12302a}.polling-directory,.polling-detail{z-index:3;overscroll-behavior:contain;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);width:356px;max-width:calc(100% - 32px);max-height:calc(100% - 150px);box-shadow:var(--shadow);scrollbar-width:thin;animation:.22s cubic-bezier(.2,.8,.3,1) polling-rise;position:absolute;top:116px;left:16px;overflow:auto}.polling-directory h2{z-index:1;border-bottom:1px solid var(--line-2);background:#fffffff2;justify-content:space-between;align-items:center;gap:10px;margin:0;padding:14px 16px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.polling-directory h2 span{background:var(--brand-soft);min-width:24px;color:var(--brand);text-align:center;border-radius:999px;padding:1px 8px;font-size:11.5px}.polling-directory .polling-former-heading{color:var(--amber-strong);border-top:1px solid var(--line-2);background:#fffaf2f2}.polling-directory ol,.polling-directory ul{margin:0;padding:4px;list-style:none}.polling-directory li button{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:11px 10px 11px 12px;transition:background-color .12s;display:flex}.polling-directory li button:hover{background:#f1f7f3}.polling-directory li button>.polling-icon{color:#a9bab2;transition:color .12s}.polling-directory li button:hover>.polling-icon{color:var(--brand)}.polling-item-text{flex:1;min-width:0}.polling-number{background:var(--brand);color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12.5px;font-weight:750;display:grid;box-shadow:0 1px 2px #0a403340}.polling-former-list .polling-number{background:var(--amber);border-radius:7px;font-size:17px}.polling-directory strong{font-size:13.5px;font-weight:650;line-height:1.3;display:block}.polling-directory small{color:var(--ink-3);margin-top:2px;font-size:12px;display:block}.polling-directory .polling-precincts{color:var(--brand);letter-spacing:.01em;margin-top:4px;font-size:11.5px;font-weight:650}.polling-detail{outline:none;padding:20px 20px 16px}.polling-detail .polling-eyebrow{background:var(--brand-soft);border-radius:6px;margin:0;padding:3px 8px;font-size:10px;display:inline-block}.polling-detail h2{letter-spacing:-.02em;margin:10px 36px 12px 0;font-size:20px;font-weight:740;line-height:1.25}.polling-detail p{line-height:1.55}.polling-close{width:40px;height:40px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background-color .12s,color .12s;display:grid;position:absolute;top:8px;right:8px}.polling-close:hover{color:var(--ink);background:#eef3f0}.polling-close .polling-icon{width:18px;height:18px}.polling-address{gap:9px;margin:0 0 14px;font-size:14px;display:flex}.polling-address .polling-icon{color:var(--brand);margin-top:2px}.polling-label{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);margin:0 0 6px;font-size:11px;font-weight:700}.polling-badges{flex-wrap:wrap;gap:6px;margin:0 0 14px;display:flex}.polling-badges span{background:var(--brand-soft);min-width:40px;color:var(--brand-strong);text-align:center;border-radius:7px;padding:5px 10px;font-size:13px;font-weight:750;box-shadow:inset 0 0 0 1px #0f5c4714}.polling-entrance{border-radius:var(--radius-sm);color:var(--ink-2);background:#f3f8f4;border:1px solid #dcebe1;margin:0 0 14px;padding:10px 12px;font-size:12.5px}.polling-disclaimer{border-top:1px solid var(--line-2);color:var(--ink-3);padding-top:12px;font-size:11px;display:block}.polling-detail-former{border-color:#ecd2ad}.polling-detail-former .polling-eyebrow{color:var(--amber-strong);background:var(--amber-soft)}.polling-retired{border-radius:var(--radius-sm);background:var(--amber-soft);color:var(--amber-strong);border:1px solid #f1d4a8;align-items:center;gap:8px;margin:0 0 6px;padding:10px 12px;font-size:12.5px;font-weight:700;display:flex}.polling-connection-note{color:var(--amber);margin:0 0 14px;font-size:11.5px}.polling-detail-former .polling-badges span{background:var(--amber-soft);color:var(--amber-strong);box-shadow:inset 0 0 0 1px #9a520820}.polling-replacement{margin:16px 0 14px;font-size:12px}.polling-replacement>strong{font-size:12.5px}.polling-replacement button{text-align:left;white-space:normal;border-color:#b9d6c6;justify-content:flex-start;align-items:flex-start;gap:12px;width:100%;margin-top:8px;padding:12px;display:flex}.polling-replacement button strong{font-size:13.5px;display:block}.polling-replacement button .polling-item-text>span{color:var(--ink-2);margin-top:3px;font-size:12px;font-weight:500;display:block}.polling-replacement button .polling-replacement-cta{color:var(--brand);margin-top:8px;font-weight:700}.polling-replacement>p{color:var(--ink-2);margin:8px 0 0}.polling-moved{border-radius:var(--radius-sm);background:#fbf7f0;border:1px solid #f0e3cf;margin:0 0 14px;padding:12px;font-size:12px}.polling-moved strong{color:var(--amber-strong)}.polling-moved p{color:var(--ink-2);margin:4px 0 0}.polling-status{z-index:2;background:var(--surface);border:1px solid var(--line);max-width:80%;box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:10px;padding:10px 16px;font-size:12.5px;font-weight:600;display:flex;position:absolute;top:80px;left:50%;transform:translate(-50%)}.polling-status-error{color:#694714;border-radius:var(--radius-sm);background:#fff6df;border-color:#efd59a}.polling-spinner{border:2px solid var(--brand-soft);border-top-color:var(--brand);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite polling-spin}.polling-footer{background:var(--surface);border-top:1px solid var(--line);flex:none;justify-content:space-between;align-items:center;gap:24px;padding:10px 24px;display:flex}.polling-footer p{max-width:820px;color:var(--ink-3);margin:0;font-size:11px;line-height:1.55}.polling-footer-links{flex:none;gap:6px;display:flex}.polling-footer a{color:var(--brand);border-radius:8px;padding:6px 10px;font-size:12px;font-weight:650;text-decoration:none;transition:background-color .12s}.polling-footer a:hover{background:var(--brand-soft);text-decoration:underline}@keyframes polling-rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}@keyframes polling-fade{0%{opacity:0}to{opacity:1}}@keyframes polling-spin{to{rotate:360deg}}@media (prefers-reduced-motion:reduce){.polling-page *,.polling-page :before,.polling-page :after{transition:none!important;animation:none!important}}@media (width<=699px){.polling-sponsor{min-height:32px;padding:0 8px 0 14px;font-size:11.5px}.polling-social a{width:32px;height:32px}.polling-social{margin:0}.polling-header{flex-wrap:wrap;gap:8px 10px;padding:10px 14px 12px}.polling-brand{flex:1 1 0}.polling-election-day{border-radius:10px;flex:100%;order:3;padding:6px 12px 6px 10px}.polling-election-day .polling-icon{width:18px;height:18px}.polling-election-day strong{font-size:13px}.polling-hours{font-size:11.5px}.polling-header .polling-eyebrow{display:none}.polling-brand{align-self:center;gap:10px}.polling-mark{border-radius:10px;width:38px;height:38px;margin-top:2px}.polling-mark .polling-icon{width:20px;height:20px}.polling-eyebrow{font-size:9.5px}.polling-header h1{font-size:20px}.polling-share{flex:none;width:44px;padding:0}.polling-share-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.polling-share .polling-icon{width:18px;height:18px}.polling-map-tools{flex-wrap:wrap;gap:2px;top:10px;left:10px;right:10px}.polling-page .maplibregl-ctrl-top-right{top:auto;bottom:34px;right:4px}.polling-tool-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.polling-map-tools .polling-button{flex:none;padding:8px 11px;font-size:12.5px}.polling-map-tools .polling-button:not(.polling-button-primary){width:44px;padding:0}.polling-map-tools .polling-button.polling-button-primary{flex:60%}.polling-legend:has(.polling-legend-ready):not(:has(.polling-key-former)){display:none}.polling-legend .polling-legend-ready{display:none}.polling-history-toggle{border-left:0;border-top:1px solid var(--line-2);white-space:nowrap;flex:40%;gap:8px;min-width:0;margin:0;padding:2px 10px;font-size:12.5px}.polling-precinct-toggle{border-left:1px solid var(--line-2)}.polling-toggle-full{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.polling-toggle-short{display:inline}.polling-history-toggle small{display:none}.polling-legend{border-radius:14px;flex-wrap:wrap;gap:4px 10px;font-size:10.5px;top:120px;left:10px;right:10px}.polling-status{width:max-content;max-width:calc(100% - 24px);top:120px}.polling-detail{border-radius:18px;width:auto;max-width:none;max-height:50%;padding:16px 16px 12px;inset:auto 8px 30px;box-shadow:0 -4px 24px #12302a2e}.polling-detail:before{content:"";background:#d5ded9;border-radius:2px;width:36px;height:4px;margin-left:-18px;position:absolute;top:6px;left:50%}.polling-map-region-former{min-height:560px}.polling-detail-former{max-height:240px}.polling-detail h2{margin:8px 36px 10px 0;font-size:18px}.polling-detail p{font-size:12.5px}.polling-address{margin-bottom:10px;font-size:13px}.polling-directory{border-radius:16px;width:auto;max-width:none;max-height:calc(100% - 190px);top:158px;left:8px;right:8px}.polling-footer{flex-wrap:wrap;gap:4px;padding:8px 14px}.polling-footer p{font-size:10px}.polling-footer-links{justify-content:space-between;width:calc(100% + 20px);margin:0 -10px}.polling-footer a{font-size:11.5px}}@media (width<=379px){.polling-map-tools .polling-button{padding:8px 9px;font-size:12px}.polling-history-toggle{gap:6px;font-size:11.5px}.polling-history-toggle input{width:32px;height:20px}.polling-history-toggle input:after{width:14px;height:14px}.polling-history-toggle input:checked:after{left:15px}}@media (width<=339px){.polling-header h1{font-size:18px}.polling-button-primary .polling-icon{display:none}.polling-history-toggle{padding-right:8px}}@media (width>=700px) and (width<=999px){.polling-history-toggle small{display:none}.polling-tool-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.polling-map-tools .polling-button:not(.polling-button-primary){width:44px;padding:0}.polling-legend,.polling-status{top:72px}.polling-directory,.polling-detail{top:108px}}@media (width>=700px) and (width<=899px){.polling-share-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.polling-share{width:44px;padding:0}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.5}*,:before,:after{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}h1,h2,p{margin:0}button,input{font:inherit}button,a,label{-webkit-tap-highlight-color:transparent}.polling-page .maplibregl-ctrl-group button{width:44px;height:44px}
