.civic-page{background:var(--cream);color:var(--ink);font-family:var(--font-body,system-ui,sans-serif);line-height:1.55}.civic-header,.civic-page main,.civic-footer{max-width:1160px;margin:auto;padding:20px}.civic-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.civic-header .wordmark img{width:144px;height:auto}.civic-header nav,.civic-links{display:flex;flex-wrap:wrap;gap:8px 16px}.civic-page a{color:var(--purple);text-underline-offset:3px}.civic-page a:focus-visible,.civic-page select:focus-visible,.civic-page summary:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-header nav a,.civic-links a,.civic-page summary{display:inline-flex;align-items:center;min-height:44px}.civic-intro{max-width:780px;margin-bottom:20px}.civic-intro h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.1;margin:8px 0}.civic-kicker{text-transform:uppercase;letter-spacing:.06em;font-size:.75rem;font-weight:800;color:var(--muted);margin:0}.civic-surface{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:16px;padding:20px;margin-bottom:16px}.civic-surface h2{font-size:1.25rem;line-height:1.25;margin:0 0 10px}.civic-surface h3{font-size:1.25rem;line-height:1.25;margin:4px 0}.civic-surface h4{font-size:1rem;margin:16px 0 8px}.civic-surface p{margin:8px 0}.civic-small{font-size:.8125rem;color:var(--muted)}.civic-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}.civic-grid>.civic-surface{margin:0}.civic-grid:has(>:only-child){grid-template-columns:minmax(0,1fr)}.civic-filters{display:grid;grid-template-columns:2fr 2fr 1fr;gap:16px}.civic-filters label{display:grid;gap:6px;font-weight:700;min-width:0}.civic-filters select{font:inherit;width:100%;min-width:0;min-height:44px;padding:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:8px}.civic-page [hidden]{display:none!important}.civic-guide dl,.civic-explain dl{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr);gap:6px 16px;margin:12px 0}.civic-page dt{font-weight:700}.civic-page dd{margin:0}.civic-notice{border-left:4px solid var(--accent-fill);padding-left:12px}.civic-races{margin:24px 0}.civic-person{display:flex;gap:12px;align-items:center}.civic-status{font-size:.8125rem;font-weight:700}.civic-candidate ul{padding-left:20px}.civic-candidate li{margin:8px 0}.civic-candidate{overflow-wrap:anywhere}.civic-page details summary{cursor:pointer;font-weight:700}.civic-footer a{display:inline-block;padding:10px 0;min-height:44px}@media(max-width:700px){.civic-grid,.civic-filters{grid-template-columns:minmax(0,1fr)}.civic-header,.civic-page main,.civic-footer{padding:14px}.civic-header{flex-wrap:wrap}.civic-surface{padding:16px}.civic-guide dl,.civic-explain dl{grid-template-columns:minmax(0,1fr)}.civic-page dd{margin-bottom:8px}}.civic-board{min-width:0;overflow-wrap:anywhere}.civic-person>div{min-width:0}#civic-trustee-candidates{margin-top:16px}#civic-board-label{grid-column:1/-1}.civic-candidate{padding:16px}.civic-candidate li{margin:5px 0}.civic-candidate h4{margin:12px 0 6px}.civic-candidate ul{margin:8px 0}.civic-race-chip{display:inline-flex;border:1px solid var(--line);border-radius:6px;padding:3px 7px;font-size:.7rem;letter-spacing:.035em}.civic-candidate-detail{border-top:1px solid var(--line);margin-top:10px}.civic-candidate-detail>summary{display:list-item;min-height:44px;padding:10px 0}.civic-compare-controls{display:flex;gap:12px;align-items:center;margin:12px 0}.civic-compare-controls p{margin:0}.civic-compare-controls button{font:inherit;font-weight:700;min-height:44px;padding:8px 14px;border:1px solid var(--purple);border-radius:8px;background:var(--paper);color:var(--purple);cursor:pointer;flex-shrink:0}.civic-compare-controls button:disabled{color:var(--muted);border-color:var(--line);cursor:default}.civic-compare-controls button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-comparing .civic-races{margin-top:12px}.civic-comparing .civic-grid{align-items:stretch}.civic-comparing .civic-candidate{border-top:3px solid var(--purple)}@media(max-width:700px){.civic-compare-controls{align-items:stretch;flex-direction:column;gap:6px}.civic-candidate{padding:14px}.civic-grid{gap:10px}.civic-races{margin:18px 0}.civic-filters{gap:10px}}.civic-record{border-top:1px solid var(--line);margin-top:4px}.civic-record>summary,.civic-record-event>summary{display:list-item;min-height:44px;padding:10px 0}.civic-record-event{border-top:1px solid var(--line)}.civic-record-date{display:block;font-weight:400;margin:3px 0 0}.civic-record-event h4{margin-top:12px}.civic-record-events{min-width:0}.civic-record-event p{overflow-wrap:anywhere}.civic-person,.civic-candidate .civic-status,.civic-candidate h3{position:static!important;float:none!important;height:auto!important;transform:none!important}.civic-candidate .civic-status{display:block;margin:8px 0 4px!important;line-height:1.5;clear:both}.civic-candidate h3{margin:6px 0!important;line-height:1.3}.civic-profile-links{gap:2px 12px;margin:4px 0}.civic-profile-links a{font-size:.9375rem;min-height:44px}.civic-select-candidate{font:inherit;font-size:.875rem;min-height:44px;padding:8px 12px;border:1px solid var(--purple);border-radius:8px;background:var(--paper);color:var(--purple);cursor:pointer;margin:5px 0}.civic-select-candidate[aria-pressed=true]{background:var(--purple);color:var(--paper)}.civic-select-candidate:disabled{opacity:.55;cursor:default}.civic-select-candidate:focus-visible,.civic-matrix-scroll:focus-visible,#civic-matrix:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-selected{outline:2px solid var(--purple)}.civic-voting-guide{margin:12px 0}.civic-voting-guide>summary{min-height:44px}.civic-board{padding:12px}.civic-board h3{font-size:1rem}.civic-matrix-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}.civic-matrix-scroll table{border-collapse:collapse;table-layout:fixed;min-width:100%;width:max-content;font-size:.875rem}.civic-matrix-scroll caption{text-align:left;font-weight:700;margin:8px 0}.civic-matrix-scroll th,.civic-matrix-scroll td{border:1px solid var(--line);padding:12px;text-align:left;vertical-align:top;min-width:220px;max-width:300px;width:260px;overflow-wrap:anywhere}.civic-matrix-scroll th[scope=row],.civic-matrix-scroll thead th:first-child{position:sticky;left:0;z-index:1;min-width:110px;width:130px;max-width:150px;background:var(--paper)}.civic-matrix-scroll .civic-record{margin:0;border:0}.civic-matrix-scroll .civic-links{display:flex;flex-direction:column;gap:4px}.civic-matrix-scroll td>div>a{display:block;min-height:44px}.civic-board-eligibility{margin:8px 0 12px}.civic-intro{margin-bottom:10px}.civic-intro h1{font-size:clamp(1.6rem,3vw,2.25rem)}@media(max-width:700px){.civic-profile-links a{min-height:44px}.civic-matrix-scroll th,.civic-matrix-scroll td{min-width:210px;width:230px;padding:10px}.civic-matrix-scroll th[scope=row],.civic-matrix-scroll thead th:first-child{min-width:95px;width:105px}.civic-coverage{padding:10px 14px}.civic-races>h2{font-size:1.25rem}.civic-compare-controls{margin:8px 0}}.civic-profile main{max-width:900px}.civic-profile h1{font-size:clamp(1.7rem,4vw,2.5rem);line-height:1.2;margin:8px 0}.civic-full-profile{font-weight:800}.civic-profile .civic-candidate{padding:20px}.civic-profile .civic-record-event{margin-top:12px}.civic-page .civic-small{font-size:.875rem;line-height:1.55}.civic-vote-timeline{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.civic-vote-timeline li{border-left:3px solid var(--purple);padding:6px 12px;margin:0}.civic-vote-timeline strong{display:block}.civic-date-icon{display:inline-flex;align-items:center;gap:6px}.civic-date-icon svg{width:20px;height:20px;flex:none}.civic-profile .civic-candidate-detail>summary{margin-top:6px}.civic-history-list{list-style:none;padding:0}.civic-history-list li{display:grid;gap:3px;border-left:3px solid var(--line);margin:0;padding:8px 14px}.civic-resource-list{padding-left:20px}.civic-resource-list li{margin:8px 0}.civic-resource-list a{display:inline-flex;min-height:44px;align-items:center}.civic-learn{margin-top:20px}.civic-learn>h2{font-size:1.25rem}.civic-place-photo{margin:1rem 0;max-width:22rem}.civic-place-photo img{display:block;width:100%;height:auto;border-radius:.5rem}.civic-place-photo figcaption{margin-top:.4rem}.civic-place-context{margin:12px 0 18px}.civic-place-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px}.civic-place-card{margin:0;padding:12px;min-width:0;align-self:start}.civic-place-card img{display:block;width:100%;height:auto;border-radius:8px}.civic-place-card figcaption{margin-top:8px;overflow-wrap:anywhere}.civic-place-card figcaption>strong,.civic-place-card figcaption>span{display:block}.civic-place-card summary{min-height:44px;padding:8px 0}.civic-place-card details p{margin:4px 0 0}@media(max-width:600px){.civic-place-grid{grid-template-columns:minmax(0,1fr);max-width:360px}.civic-place-card{padding:10px}}.civic-intro-split{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:20px;align-items:start}.civic-intro-copy{min-width:0}.civic-intro-copy p{max-width:70ch}.civic-intro-split .civic-place-photo{margin:0;max-width:380px}.civic-page a.civic-action{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 14px;border:1px solid var(--purple);border-radius:10px;background:var(--paper);color:var(--purple);font-weight:700;text-decoration:none}.civic-page a.civic-action:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-coverage{padding:4px 14px;min-height:0;height:auto}.civic-coverage>summary{display:list-item;min-height:44px;padding:8px 0;line-height:1.5}.civic-filters{padding:14px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.civic-filters select{min-height:44px}.civic-compare-controls button:not(:disabled){background:var(--purple);color:var(--paper);border-color:var(--purple)}@media(max-width:700px){.civic-intro-split{grid-template-columns:minmax(0,1fr);gap:12px}.civic-intro-split .civic-place-photo{max-width:300px}.civic-filters{grid-template-columns:minmax(0,1fr)}}@media(forced-colors:active){.civic-page a.civic-action{border:1px solid ButtonText;color:LinkText}.civic-page a.civic-action:focus-visible{outline:3px solid Highlight}}.civic-claim-source{margin:6px 0 12px;font-size:13px}.civic-claim-source summary{min-height:44px;display:list-item;align-content:center;cursor:pointer;font-weight:650}.civic-claim-source p{margin:7px 0}.civic-claim-source a{display:inline-flex;align-items:center;min-height:44px}.civic-ward-control{display:flex;flex-direction:column;gap:8px;min-width:0}.civic-ward-control label{font-weight:700}.civic-ward-control select{width:100%;min-height:44px}.civic-ward-map{align-self:flex-start}.civic-timeline-source{display:block;font-size:13px}.civic-timeline-source a{display:inline-flex;align-items:center;min-height:44px}.civic-matrix-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}.civic-matrix-navigation button{min-height:44px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}.civic-matrix-scroll{scrollbar-width:auto}.civic-matrix-navigation button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-mobile-framework .civic-intro{max-width:none;margin-bottom:12px}.civic-mobile-framework .civic-intro h1{font-size:clamp(1.65rem,4vw,2.3rem)}.civic-mobile-framework .civic-intro p{margin:6px 0}.civic-mobile-framework .civic-coverage{padding:10px 14px;margin-bottom:12px}.civic-mobile-framework .civic-filters{padding:12px;gap:10px;margin-bottom:8px}.civic-mobile-framework #civic-status{font-weight:700;font-size:.9rem;line-height:1.5}.civic-profile-sections{display:flex;flex-wrap:wrap;gap:0 16px;margin:6px 0 12px}.civic-profile-sections a{display:inline-flex;min-height:44px;align-items:center;font-size:.875rem;font-weight:700}.civic-mobile-framework .civic-profile-links{display:block;margin:8px 0}.civic-mobile-framework .civic-full-profile{display:inline-flex;min-height:44px;align-items:center;padding:8px 12px;border:1px solid var(--purple);border-radius:8px;box-sizing:border-box;font-weight:750;line-height:1.4}.civic-campaign-links{margin-top:6px}.civic-campaign-links>summary{display:list-item;min-height:44px;box-sizing:border-box;padding:10px 0;font-size:.875rem}.civic-campaign-links>a{display:inline-flex;align-items:center;min-height:44px;margin-right:16px;font-size:.875rem}.civic-section-coverage{margin:6px 0 12px;font-size:.875rem;border-top:1px solid var(--line)}.civic-section-coverage>summary{display:list-item;min-height:44px;padding:8px 0}.civic-mobile-framework .civic-races{margin-top:16px}.civic-mobile-framework .civic-races>h2{font-size:1.3rem;margin-bottom:4px}.civic-mobile-framework .civic-candidate{padding:14px}.civic-mobile-framework .civic-candidate h3{font-size:1.2rem}.civic-mobile-framework .civic-candidate .civic-status{font-size:.8125rem;margin:5px 0!important}.civic-mobile-framework .civic-voting-guide{margin:8px 0 12px}.civic-mobile-framework .civic-profile-sections,.civic-mobile-framework #profile-statements,.civic-mobile-framework #profile-record,.civic-mobile-framework #profile-links{scroll-margin-top:16px}.civic-comparison-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px 12px;margin:12px 0}.civic-comparison-toolbar label{display:grid;gap:5px;font-size:.875rem;font-weight:700;flex:1;min-width:180px}.civic-comparison-toolbar select,.civic-comparison-toolbar button{font:inherit;min-height:44px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;background:var(--paper);color:var(--ink)}.civic-comparison-toolbar select{width:100%;min-width:0}.civic-comparison-toolbar button{font-size:.8125rem;color:var(--purple);border-color:var(--purple);cursor:pointer}.civic-comparison-toolbar button:focus-visible,.civic-comparison-toolbar select:focus-visible,.civic-full-profile:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-comparison-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.civic-topic-candidate{min-width:0;overflow-wrap:anywhere;border:1px solid var(--line);border-radius:12px;padding:14px;background:var(--paper);color:var(--ink)}.civic-topic-candidate>h3{font-size:1.15rem;line-height:1.4;margin:0 0 7px}.civic-topic-candidate>section{margin-top:14px;border-top:1px solid var(--line);padding-top:10px;font-size:.9375rem}.civic-topic-candidate h4{margin:0 0 6px;font-size:.8125rem;color:var(--muted)}.civic-topic-candidate p{margin:6px 0}.civic-topic-candidate details summary{min-height:44px;font-size:.875rem;line-height:1.5}.civic-topic-candidate .civic-record{border:0;margin:0}.civic-topic-candidate .civic-profile-links{margin:0}.civic-topic-candidate .civic-profile-links>a{font-size:.875rem}.civic-topic-candidate .civic-claim-source{font-size:.875rem}.civic-comparison-dock{position:fixed;z-index:100;bottom:0;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 20px));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:8px 16px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-top:3px solid var(--purple);border-radius:12px 12px 0 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));box-shadow:0 -3px 16px #0002}.civic-comparison-dock p{margin:0;font-weight:700;font-size:.875rem}.civic-dock-actions{display:flex;gap:6px;flex-wrap:wrap}.civic-dock-actions button{font:inherit;font-size:.875rem;min-height:44px;padding:8px 12px;border:1px solid var(--purple);border-radius:8px;background:var(--paper);color:var(--purple);font-weight:700;cursor:pointer}.civic-dock-actions #civic-dock-compare{background:var(--purple);color:var(--paper)}.civic-dock-actions button:disabled{opacity:.6;cursor:default}.civic-dock-actions button:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.civic-has-selection{padding-bottom:120px!important}.civic-mobile-framework .civic-select-candidate,.civic-mobile-framework .civic-candidate,.civic-mobile-framework #civic-matrix{scroll-margin-top:16px;scroll-margin-bottom:180px}.civic-mobile-framework #civic-matrix{max-width:100%;box-sizing:border-box}.civic-mobile-framework #civic-matrix>h2{font-size:1.25rem;margin:0}.civic-mobile-framework.civic-profile .civic-candidate{padding:18px}.civic-mobile-framework.civic-profile main{max-width:820px}.civic-mobile-framework.civic-profile .civic-candidate-detail{margin-top:12px}.civic-mobile-framework.civic-profile .civic-candidate-detail>summary{font-size:1rem}@media(max-width:760px){.civic-comparison-topics{grid-template-columns:minmax(0,1fr)}.civic-comparison-toolbar{align-items:stretch;gap:8px}.civic-comparison-toolbar label{flex-basis:100%}.civic-comparison-toolbar button{flex:1}.civic-mobile-framework #civic-matrix{padding:12px}.civic-topic-candidate{padding:12px}.civic-comparison-dock{display:block;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}.civic-comparison-dock p{font-size:.8125rem;margin-bottom:5px}.civic-dock-actions button{flex:1;font-size:.8125rem;padding:8px}.civic-has-selection{padding-bottom:170px!important}.civic-mobile-framework .civic-filters{grid-template-columns:minmax(0,1fr)}.civic-mobile-framework .civic-grid{gap:10px}.civic-mobile-framework .civic-intro-copy{max-width:none}.civic-mobile-framework .civic-candidate-detail>summary{line-height:1.5}}@media(max-width:380px){.civic-dock-actions #civic-dock-compare{flex-basis:100%}.civic-has-selection{padding-bottom:220px!important}.civic-mobile-framework .civic-select-candidate,.civic-mobile-framework .civic-candidate,.civic-mobile-framework #civic-matrix{scroll-margin-bottom:240px}}@media(forced-colors:active){.civic-comparison-dock,.civic-topic-candidate{border:2px solid CanvasText;box-shadow:none}.civic-dock-actions button,.civic-comparison-toolbar button{border:2px solid ButtonText}}@media print{.civic-comparison-dock,.civic-comparison-toolbar{display:none!important}.civic-has-selection{padding-bottom:0!important}}.civic-page.civic-mobile-framework #civic-contest{scroll-margin-top:16px}.civic-page.civic-mobile-framework .civic-filters .civic-filter-label{font-size:1rem;font-weight:800;line-height:1.4}.civic-page.civic-mobile-framework .civic-filters .civic-filter-step{color:var(--purple)}.civic-page.civic-mobile-framework .civic-filters select{font-size:1rem;min-height:48px;border:2px solid var(--control-line)}.civic-page.civic-mobile-framework .civic-filter-help{grid-column:1/-1;margin:0;font-size:.875rem;line-height:1.5;color:var(--ink)}.civic-page.civic-mobile-framework .civic-ward-map{border-width:2px;font-weight:750}#civic-ward-privacy{font-size:.8125rem}@media(min-width:900px){.civic-page.civic-mobile-framework .civic-filters:has(#civic-ward-label:not([hidden])){grid-template-columns:repeat(3,minmax(0,1fr))}}@media(forced-colors:active){.civic-page.civic-mobile-framework .civic-filters select{border-color:ButtonText}.civic-page.civic-mobile-framework .civic-filters .civic-filter-step,.civic-page.civic-mobile-framework .civic-filter-help{color:CanvasText}}body.civic-page .civic-coverage-compact,body.civic-page .civic-guide-compact,body.civic-page .civic-lesson-compact{background:var(--paper)!important;background-image:none!important;color:var(--ink);border-radius:8px}.civic-page .civic-coverage-compact>summary,.civic-page .civic-lesson-compact>summary{display:list-item;min-height:44px;line-height:1.6}.civic-page .civic-coverage-badge{font-weight:800;margin-right:12px;color:var(--ink)}.civic-page .civic-disclosure-hint{font-size:.875rem;font-weight:500;color:var(--muted)}.civic-page .civic-coverage-brief{max-width:70ch;line-height:1.5}.civic-page .civic-coverage-counts,.civic-page .civic-ward-brief{padding-left:20px;margin:8px 0;font-size:.9375rem;line-height:1.6}.civic-page .civic-coverage-counts li,.civic-page .civic-ward-brief li{margin:4px 0}.civic-page .civic-coverage-full,.civic-page .civic-voting-sources,.civic-page .civic-ward-history{border-top:1px solid var(--line);margin-top:10px}.civic-page .civic-coverage-full>summary,.civic-page .civic-voting-sources>summary,.civic-page .civic-ward-history>summary,.civic-page .civic-date-detail>summary{display:list-item;min-height:44px;padding:10px 0;line-height:1.5;font-size:.875rem;cursor:pointer}.civic-page .civic-guide-compact .civic-vote-timeline>li.civic-date-compact{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:4px 16px;border-left:0;border-bottom:1px solid var(--line);padding:10px 0}.civic-page .civic-date-brief{font-size:1rem;font-weight:650;line-height:1.5}.civic-page .civic-date-detail{grid-column:1/-1;font-size:.9375rem;line-height:1.6}.civic-page .civic-date-detail[open]{padding-bottom:8px}@media(max-width:600px){.civic-page .civic-guide-compact .civic-vote-timeline>li.civic-date-compact{grid-template-columns:minmax(0,1fr)}.civic-page .civic-disclosure-hint{display:block}.civic-page .civic-coverage-compact,.civic-page .civic-guide-compact,.civic-page .civic-lesson-compact{padding:12px}}@media(forced-colors:active){body.civic-page .civic-coverage-compact,body.civic-page .civic-guide-compact,body.civic-page .civic-lesson-compact{background:Canvas!important;background-image:none!important;color:CanvasText!important;border-color:CanvasText}.civic-page .civic-coverage-badge,.civic-page .civic-disclosure-hint{color:CanvasText}.civic-page .civic-date-compact,.civic-page .civic-coverage-full,.civic-page .civic-voting-sources,.civic-page .civic-ward-history{border-color:CanvasText}}
