*{box-sizing:border-box}body{margin:0;background:#f5f7fa;color:#182a3b;font:15px -apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}button,input,a{font:inherit}button,a{cursor:pointer}button{border:1px solid #dde4eb;background:white;border-radius:9px;color:inherit;padding:10px 15px}button:hover{border-color:#178579}button:focus-visible,a:focus-visible{outline:3px solid #35ad99}button:disabled{cursor:default;opacity:.45}header{height:82px;background:#fff;border-bottom:1px solid #e5eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 5vw}.brand{font-size:26px;font-weight:850;text-decoration:none;color:#12695f;letter-spacing:-1px}.brand span{font-size:13px;color:#71808e;margin-left:16px;font-weight:500;letter-spacing:0}header>div{display:flex;align-items:center;gap:18px}#connection{font-size:12px;color:#158577}main{max-width:1420px;padding:48px 32px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.eyebrow{font-size:12px;letter-spacing:1px;color:#238778;font-weight:700}h1{font-size:34px;letter-spacing:-1.5px;margin:10px 0}p{color:#788592;line-height:1.6}.download{background:white;padding:12px 18px;border:1px solid #dce3ea;border-radius:10px;text-decoration:none;color:#334c60}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:28px}.stat{background:#fff;padding:24px;border:1px solid #e3e9ef;border-radius:14px}.stat>span{color:#687d8e;font-size:13px}.stat strong{display:block;font-size:34px;margin:13px 0;font-weight:750}.stat small{font-size:14px;margin-left:7px;color:#8996a0;font-weight:400}.bar{height:4px;background:#edf2f5;border-radius:5px;overflow:hidden}.bar i{display:block;background:#1b9384;height:100%}.s2 i{background:#5486c7}.s3 i{background:#d6a157}.workspace{background:#fff;border:1px solid #e3e9ef;border-radius:14px;padding:24px}.toolbar{display:flex;gap:20px;justify-content:space-between;align-items:center}nav{display:flex;gap:6px;flex-wrap:wrap}nav button{border:0;background:#f5f7f9}nav button.active{background:#176e64;color:#fff}nav small{font-size:11px;margin-left:8px;opacity:.65}input[type=search],#search{border:1px solid #dce3ea;border-radius:9px;padding:11px 14px;width:265px}.filters{display:flex;gap:20px;align-items:center;margin:23px 0 17px;font-size:13px;color:#5b6e7d}.filters input{accent-color:#187c70}#count{margin-left:auto}.legend{font-size:12px;color:#8695a1;background:#f6f8fa;padding:12px;border-radius:7px;margin-bottom:8px}.legend span{float:right}article{padding:24px 0;border-bottom:1px solid #e8edf1;display:grid;grid-template-columns:minmax(170px,1fr) minmax(600px,2.5fr);gap:10px 22px}article:last-child{border:0}.region{font-size:10px;color:#518279;background:#edf5f3;border-radius:4px;padding:3px 6px}h3{font-size:17px;margin:10px 0 4px}.academy p{font-size:12px;margin:0}.checks{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.field b{display:block;font-size:12px;margin-bottom:9px}.segments{display:flex;border:1px solid #e0e6ed;border-radius:8px;overflow:hidden}.segments button{flex:1;border:0;border-radius:0;padding:8px 5px;font-size:13px;background:#fff}.segments button+button{border-left:1px solid #e9eef3}.segments .selected{background:#eff2f5;color:#627485}.segments .yes{background:#dff3eb;color:#08735b;font-weight:800}.segments .no{background:#fbe7e5;color:#b95050}.field small{display:block;font-size:11px;color:#7c8d99;margin-top:8px}.field em{font-style:normal;color:#158675}.names{font-size:10px;color:#2d8d7e;line-height:1.5;margin-top:5px}details{grid-column:1/-1;font-size:11px;color:#8a99a6}summary{cursor:pointer;width:max-content}table{border-collapse:collapse;width:100%;margin-top:15px;text-align:center;font-size:12px}td,th{padding:8px;border-bottom:1px solid #edf1f4}footer{font-size:12px;text-align:center;padding:26px;color:#8997a2}dialog{border:1px solid #dce7e3;border-radius:22px;padding:32px;width:450px;max-width:92vw;box-shadow:0 25px 120px #132d3d33}dialog::backdrop{background:#122f4655;backdrop-filter:blur(5px)}dialog h2{font-size:25px;margin:10px 0}dialog p{font-size:13px}#workers{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0}#workers button{display:flex;align-items:center;gap:12px;text-align:left;padding:14px}#workers span{background:#e6f2ef;border-radius:50%;padding:8px;color:#218074}#viewonly{width:100%;background:#f4f7f9;border:0}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);background:#173b35;color:white;padding:14px 24px;border-radius:12px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:10;max-width:90vw}#toast.visible{opacity:1}.empty{text-align:center;padding:80px;color:#8799a7}@media(max-width:900px){main{padding:28px 16px}header{padding:0 18px}.brand span{display:none}article{grid-template-columns:1fr}.checks{min-width:0;gap:12px}.toolbar{align-items:stretch;flex-direction:column}#search{width:100%}.stats{gap:10px}.stat{padding:16px}.legend span{float:none;display:block;margin-top:5px}}@media(max-width:550px){header{height:68px}header>div{gap:9px}#connection{font-size:10px}.intro{align-items:flex-start;gap:12px;flex-direction:column}h1{font-size:29px}.intro p{font-size:13px}.stats{grid-template-columns:1fr 1fr}.stat strong{font-size:29px}.workspace{padding:16px}.checks{grid-template-columns:1fr 1fr;gap:18px}.filters{gap:10px;font-size:11px}nav button{padding:10px}nav small{margin-left:4px}article{padding:24px 0}.academy{margin-bottom:9px}footer{line-height:1.7}#count{white-space:nowrap}}

.pie-summary{display:flex;gap:10px;align-items:center;margin:16px 0 8px;flex-wrap:wrap}.pie{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.pie>div{width:62px;height:62px;border-radius:50%;background:white;display:flex;align-items:center;justify-content:center;flex-direction:column}.pie strong{font-size:18px;color:#166f62}.pie span{font-size:9px;color:#83949f;margin-top:3px}.pie-key{display:flex;flex-direction:column;gap:5px;font-size:10px;color:#627987}.pie-key>span{display:flex;align-items:center;gap:4px}.pie-key b{color:#344f61;font-weight:600}.pie-key small{font-size:9px;margin-top:2px}.dot{width:7px;height:7px;display:inline-block;border-radius:50%}.yes-dot{background:#198775}.no-dot{background:#dc817a}.empty-dot{background:#e7ecf1;border:1px solid #d4dce4}

.maybe-dot{background:#e5af45}.segments .maybe{background:#fff2cf;color:#9b6b09;font-weight:800}

:root[data-theme=dark]{color-scheme:dark}html[data-theme=dark] body{background:#111b24;color:#e2eaf0}html[data-theme=dark] header,html[data-theme=dark] .stat,html[data-theme=dark] .workspace,html[data-theme=dark] dialog,html[data-theme=dark] button,html[data-theme=dark] .download,html[data-theme=dark] .segments button,html[data-theme=dark] .pie>div{background:#1b2935;color:#e2eaf0;border-color:#344553}html[data-theme=dark] header,html[data-theme=dark] article,html[data-theme=dark] td,html[data-theme=dark] th{border-color:#344553}html[data-theme=dark] p,html[data-theme=dark] .field small,html[data-theme=dark] .stat>span,html[data-theme=dark] .filters,html[data-theme=dark] .pie-key,html[data-theme=dark] footer{color:#a7b8c5}html[data-theme=dark] .brand,html[data-theme=dark] .eyebrow,html[data-theme=dark] .pie strong,html[data-theme=dark] .names{color:#70d4bd}html[data-theme=dark] .legend,html[data-theme=dark] nav button,html[data-theme=dark] #viewonly,html[data-theme=dark] .segments .selected{background:#263744;color:#bac9d4}html[data-theme=dark] nav button.active,html[data-theme=dark] .segments .yes{background:#205d50;color:#b3f2df}html[data-theme=dark] .segments .no{background:#653c40;color:#ffd0cc}html[data-theme=dark] .segments .maybe{background:#66532b;color:#ffe0a3}html[data-theme=dark] #search{background:#15232e;color:#e2eaf0;border-color:#344553}html[data-theme=dark] .bar{background:#344553}html[data-theme=dark] .pie-key b{color:#e2eaf0}html[data-theme=dark] .region,html[data-theme=dark] #workers span{background:#284d46;color:#b3e2d5}html[data-theme=dark] .segments{border-color:#405463}html[data-theme=dark] .segments button+button{border-color:#405463}#theme{white-space:nowrap;padding:9px 10px;font-size:12px}@media(max-width:550px){header>div{gap:6px}.brand{font-size:23px}#connection{max-width:68px}#identity{padding:9px 8px;font-size:12px}}

#expandAll{font-size:11px;padding:7px 10px;white-space:nowrap}.filters{flex-wrap:wrap}

.intro{gap:24px;align-items:center}.intro>div:first-child{flex:1}.intro h1{font-size:30px}.intro .download{white-space:nowrap}.election-clock{width:440px;max-width:100%;padding:22px 26px;background:linear-gradient(135deg,#123f3a,#1c6d61);color:#fff;border-radius:18px;box-shadow:0 8px 28px #14594c20;flex-shrink:0}.live-date{font-size:13px;color:#bde8dc;text-align:center;font-variant-numeric:tabular-nums;margin-bottom:12px}.election-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff30;padding-bottom:12px}.election-heading>span{font-size:17px;font-weight:650}.election-heading>strong{font-size:32px;color:#ffdc86;letter-spacing:-1px}.countdown{display:flex;justify-content:space-between;align-items:center;margin:15px 0 12px;font-variant-numeric:tabular-nums}.countdown>div{display:flex;flex-direction:column;align-items:center;min-width:55px}.countdown b{font-size:38px;line-height:1.1;letter-spacing:-1px}.countdown span{font-size:10px;color:#bde8dc;margin-top:5px}.countdown i{font-style:normal;font-size:24px;color:#90c2b6;align-self:flex-start;line-height:1.4}.election-clock>small{display:block;text-align:center;color:#bde8dc;font-size:10px}html[data-theme=dark] .election-clock{background:linear-gradient(135deg,#19483f,#236c5b);box-shadow:none}@media(max-width:1150px){.intro{flex-wrap:wrap}.intro>div:first-child{min-width:300px}.election-clock{width:400px}.intro .download{margin-left:auto}}@media(max-width:900px){.intro>div:first-child{min-width:0}.intro .download{margin-left:0}.election-clock{width:100%;max-width:480px}}@media(max-width:550px){.intro{align-items:stretch}.intro h1{font-size:27px}.election-clock{width:100%;padding:22px}.countdown b{font-size:42px}.election-heading>strong{font-size:36px}.live-date{font-size:12px}.intro .download{align-self:flex-end}.brand{font-size:24px}}

@media(max-width:900px){header .brand span{display:block;font-size:10px;margin:3px 0 0;letter-spacing:1px;line-height:1.2}header .brand{line-height:1.05}}

.academy .academy-note{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text,#233344);font-size:14px;line-height:1.6;background:rgba(25,135,117,.08);padding:10px 12px;border-radius:10px;margin:8px 0}.memo-button{border:1px solid #a7beb8;background:transparent;color:inherit;border-radius:7px;padding:6px 10px;cursor:pointer;margin:4px 0}#memoEditor{width:min(520px,calc(100% - 32px));box-sizing:border-box;border:1px solid #a7beb8;border-radius:18px;padding:24px;color:#233344;background:#fff}#memoEditor::backdrop{background:#0008}#memoEditor h2{margin:0 0 20px;font-size:21px}#memoEditor label,#memoEditor small{display:block}#memoText{box-sizing:border-box;width:100%;resize:vertical;margin:8px 0;padding:12px;border:1px solid #a7beb8;border-radius:10px;font:inherit;color:inherit;background:transparent}#memoEditor small{color:#687b88;line-height:1.5}.memo-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.memo-actions button{padding:10px 22px;border:1px solid #a7beb8;border-radius:9px;cursor:pointer;background:transparent;color:inherit}#memoSave{background:#198775;color:white;border-color:#198775}#memoError{color:#d3574b;font-size:14px;white-space:pre-wrap}[data-theme="dark"] #memoEditor{background:#182633;color:#e5edf4}[data-theme="dark"] .academy .academy-note{color:#e5edf4;background:#203e3c}
