:root{--ink:#14211F;--ink-soft:#3E4F4C;--paper:#F4F6F5;--card:#FFFFFF;--teal:#0E6B63;--teal-deep:#0A4F49;--sand:#EAE4D4;--signal:#B25E0A;--line:#D5DDDB;--radius:14px}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Ubuntu,sans-serif;font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased}.display{font-family:Bricolage Grotesque,-apple-system,sans-serif}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}a{color:var(--teal-deep)}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible{outline:3px solid var(--signal);outline-offset:3px;border-radius:4px}.wrap{max-width:960px;margin:0 auto;padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}header{padding-top:32px}.topline{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.brand{font-weight:800;font-size:1.05rem;letter-spacing:.02em}.brand span{color:var(--teal)}.topline .mono{color:var(--ink-soft)}.topnav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.topnav a{font-weight:700;font-size:.95rem;text-decoration:none;color:var(--teal-deep)}.topnav a:hover{text-decoration:underline}.toolkit-cta{padding-top:0}.hero{padding-top:64px;padding-bottom:72px;position:relative;overflow:hidden}.hero-grid{display:grid;grid-template-columns:1fr;gap:28px;align-items:center}@media (min-width:760px){.hero-grid{grid-template-columns:1.5fr 1fr}}h1{font-size:clamp(2.7rem,8vw,4.6rem);line-height:.98;font-weight:800;letter-spacing:-.02em}h1 em{font-style:normal;color:var(--teal)}.strap{margin-top:18px;font-size:clamp(1.05rem,2.4vw,1.3rem);color:var(--ink-soft);max-width:34ch}.strap b{color:var(--ink)}.zulu{display:block;margin-top:6px;font-size:.92rem;color:var(--teal-deep);font-weight:600}.cta-row{margin-top:28px;display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-block;padding:14px 22px;border-radius:999px;font-weight:700;text-decoration:none;font-size:1rem;border:2px solid var(--teal-deep)}.btn.primary{background:var(--teal);border-color:var(--teal);color:#fff}.btn.primary:hover{background:var(--teal-deep)}.btn.ghost{color:var(--teal-deep);background:transparent}.btn.ghost:hover{background:#fff}.poster{position:relative;width:min(320px,80vw);margin:0 auto;transform:rotate(-2deg)}.poster-inner{background:linear-gradient(155deg,rgba(143,184,178,.14) 0 38%,transparent 38%),linear-gradient(335deg,rgba(178,94,10,.18) 0 22%,transparent 22%),var(--ink);border-radius:8px;padding:30px 26px 22px;box-shadow:10px 10px 0 var(--sand)}.poster-row{display:flex;align-items:stretch;justify-content:space-between;gap:8px}.poster-lines{display:grid;align-content:center;line-height:.98;letter-spacing:-.01em}.poster-lines span{font-weight:800;font-size:clamp(2rem,9vw,2.6rem);white-space:nowrap}.pl-1{color:#fff}.pl-2{color:#8fb8b2}.pl-3{color:#e8b04b}.poster-x{width:clamp(84px,24vw,110px);flex-shrink:0}.poster-x path{stroke:#e8b04b;stroke-width:24;stroke-linecap:round;fill:none;stroke-dasharray:340;stroke-dashoffset:340;animation:draw .9s ease forwards}.poster-x path:nth-child(2){animation-delay:.45s}@keyframes draw{to{stroke-dashoffset:0}}.poster-rule{height:2px;background:#ffffff80;margin:16px 0 10px}.poster-sub{color:#edf2f1;font-size:.66rem;letter-spacing:.14em}.tape{position:absolute;left:50%;width:56%;height:26px;background:#8fb8b2bf;border-radius:2px;box-shadow:0 1px 2px #14211f26}.tape-top{top:-13px;transform:translate(-50%) rotate(-4deg)}.tape-bottom{bottom:-13px;transform:translate(-50%) rotate(3deg)}.xcaption{text-align:center;margin-top:22px;color:var(--ink-soft);font-size:.85rem}.count{margin-top:26px;display:flex;gap:10px;flex-wrap:wrap}.chip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px 16px}.chip strong{display:block;font-size:1.5rem;font-weight:800;line-height:1.1}.chip span{font-size:.78rem;color:var(--ink-soft)}.deadline{background:var(--sand);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:44px 0}.deadline .wrap{display:grid;gap:8px}.deadline h2{font-size:1.25rem;font-weight:800}.deadline p{max-width:62ch;color:var(--ink-soft)}.deadline p b{color:var(--signal)}section{padding-top:clamp(72px,10vw,104px);padding-bottom:clamp(72px,10vw,104px)}.kicker{color:var(--teal);font-weight:700;margin-bottom:10px}h2.big{font-size:clamp(1.8rem,5vw,2.6rem);font-weight:800;letter-spacing:-.01em;line-height:1.1;margin-bottom:14px}.lede{color:var(--ink-soft);max-width:60ch}.muni-search{margin-top:30px}.muni-search label{display:block;color:var(--ink-soft);margin-bottom:8px}.muni-controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.muni-search input{flex:1 1 300px;max-width:520px;padding:14px 18px;font-size:1rem;border:1.5px solid var(--ink);border-radius:var(--radius);background:var(--card);color:var(--ink)}.locate{cursor:pointer;background:var(--card);border:2px solid var(--teal-deep);color:var(--teal-deep);border-radius:999px;padding:12px 18px;font-weight:700;font-size:.92rem}.locate:hover{background:#fff}.locate:disabled{opacity:.6;cursor:wait}.muni-results.towns{margin-top:16px}.muni-results.towns button{border-style:dashed}.muni-status{margin-top:12px;color:var(--ink-soft);font-size:.95rem}.muni-results{margin-top:16px;display:grid;gap:10px;list-style:none}@media (min-width:700px){.muni-results{grid-template-columns:1fr 1fr}}.muni-results button{width:100%;text-align:left;cursor:pointer;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;font:inherit;color:inherit}.muni-results button:hover{border-color:var(--teal)}.muni-results button.active{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal)}.muni-results button strong{display:block;font-weight:700}.muni-results button span{color:var(--ink-soft);font-size:.85rem}.report{margin-top:28px;background:var(--card);border:1.5px solid var(--ink);border-radius:6px;box-shadow:6px 6px 0 var(--sand);padding:24px}.report-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;border-bottom:1.5px dashed var(--ink);padding-bottom:16px}.report-head h3{font-size:1.3rem;font-weight:800}.report-head .mono{color:var(--ink-soft);margin-top:4px}.report .clear{cursor:pointer;background:transparent;border:2px solid var(--teal-deep);color:var(--teal-deep);border-radius:999px;padding:8px 16px;font-weight:700;font-size:.9rem}.report .clear:hover{background:var(--paper)}.report-grid{display:grid;gap:16px;margin-top:20px}@media (min-width:760px){.report-grid{grid-template-columns:1fr 1.2fr 1fr}}.report .warning{margin-top:10px;color:var(--signal);font-size:.9rem;font-weight:600}.metrics{display:grid;gap:12px;align-content:start}.metric strong{display:block;font-size:1.25rem;font-weight:800;line-height:1.2}.metric span{color:var(--ink-soft);font-size:.85rem}.metric.good strong{color:var(--teal)}.metric.watch strong{color:var(--signal)}.metric.alert strong{color:#9c2b18}.report-source{margin-top:18px;color:var(--ink-soft);font-size:.88rem}.report .panel details{margin-top:12px}.report .panel summary{cursor:pointer;color:var(--teal-deep);font-weight:600;font-size:.92rem;list-style:none}.report .panel summary:before{content:"+ "}.report .panel details[open] summary:before{content:"− "}.report .panel details p{margin-top:8px;font-size:.95rem}.trend-blocks-wrap{margin-top:14px}.trend-blocks{display:flex;gap:6px}.trend-block{flex:1;aspect-ratio:1;max-width:52px;border-radius:6px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.trend-block span{font-family:ui-monospace,monospace;font-size:.7rem;color:#fff;opacity:.9}.outcome-clean{background:#1e7b34}.outcome-unqualified_findings{background:#7ba33a}.outcome-qualified{background:#c98a0b}.outcome-adverse{background:#c2571f}.outcome-disclaimer{background:#9c2b18}.outcome-outstanding{background:#75807e}.flip{display:block;width:100%;background:none;border:none;padding:0;cursor:pointer;perspective:800px;text-align:left;font:inherit;color:inherit}.flip-inner{position:relative;display:block;min-height:88px;transform-style:preserve-3d;transition:transform .5s ease}.flip.flipped .flip-inner{transform:rotateY(180deg)}@media (hover:hover){.flip:hover .flip-inner{transform:rotateY(180deg)}}.flip-face{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;justify-content:center;gap:2px;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:12px 14px}.flip-back{transform:rotateY(180deg);background:var(--sand)}.flip-face strong{font-size:1.2rem;font-weight:800;line-height:1.2}.flip-face>span{color:var(--ink-soft);font-size:.8rem;line-height:1.35}.flip.good .flip-front strong{color:var(--teal)}.flip.watch .flip-front strong{color:var(--signal)}.flip.alert .flip-front strong{color:#9c2b18}.ballot{margin-top:34px;background:var(--card);border:1.5px solid var(--ink);border-radius:6px;box-shadow:6px 6px 0 var(--sand)}.ballot.faq{box-shadow:none;border-color:var(--line)}.ballot-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:16px 20px;border-bottom:1.5px dashed var(--ink)}.ballot-head .mono{color:var(--ink-soft)}.test{display:grid;grid-template-columns:56px 1fr;gap:16px;padding:20px;border-bottom:1px solid var(--line)}.test:last-of-type{border-bottom:none}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-item summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;justify-content:space-between;align-items:baseline;gap:14px}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary h3{font-size:1.08rem;font-weight:800}.faq-item summary:after{content:"+";flex-shrink:0;font-family:ui-monospace,monospace;font-size:1.35rem;font-weight:700;color:var(--teal);line-height:1}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover h3{color:var(--teal-deep)}.faq-a{padding:0 20px 20px;color:var(--ink-soft);font-size:.97rem;max-width:62ch}.cell{width:46px;height:46px;border:2px solid var(--ink);border-radius:4px;position:relative;flex-shrink:0;background:#fff}.cell svg{position:absolute;top:5px;right:5px;bottom:5px;left:5px;width:32px;height:32px}.cell svg path{stroke:var(--teal);stroke-width:5;stroke-linecap:round;fill:none;stroke-dasharray:60;stroke-dashoffset:60;transition:stroke-dashoffset .5s ease}.cell-marked svg path,.test.marked .cell svg path{stroke-dashoffset:0}.cell-marked svg path:nth-child(2),.test.marked .cell svg path:nth-child(2){transition-delay:.2s}.test.wizard-upcoming{opacity:.45}.test.wizard-upcoming .q{color:var(--ink-soft)}.test.wizard-current{background:#fbfcfb}.wizard-nav{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap}.mark-btn{cursor:pointer;background:var(--teal);border:2px solid var(--teal);color:#fff;border-radius:999px;padding:10px 20px;font-weight:700;font-size:.95rem}.mark-btn:hover{background:var(--teal-deep);border-color:var(--teal-deep)}.back-btn{cursor:pointer;background:transparent;border:2px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:10px 16px;font-weight:600;font-size:.9rem}.inject{margin:10px 0;padding:12px 14px;background:var(--paper);border:1px dashed var(--teal-deep);border-radius:10px}.inject p{font-size:.93rem}.wizard-done{grid-template-columns:1fr;background:var(--sand)}.ward-finder .mark-btn{margin-top:8px}.ward-links{margin-top:12px;list-style:none;display:grid;gap:6px}.ward-links li{font-size:.92rem;color:var(--ink-soft)}.ward-source{margin-top:12px;color:var(--ink-soft);font-size:.68rem!important}.linklike{background:none;border:none;padding:0;cursor:pointer;font:inherit;color:var(--teal-deep);text-decoration:underline}.test h3{font-size:1.15rem;font-weight:800}.test .q{color:var(--teal-deep);font-weight:600;margin:2px 0 6px}.test p{color:var(--ink-soft);font-size:.97rem;max-width:58ch}.test details{margin-top:6px}.test summary{cursor:pointer;color:var(--teal-deep);font-weight:600;font-size:.92rem;list-style:none}.test summary:before{content:"+ "}.test details[open] summary:before{content:"− "}.test details p{margin-top:6px}.twocol{display:grid;gap:20px;margin-top:30px}@media (min-width:700px){.twocol{grid-template-columns:1fr 1fr}}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel h3{font-weight:800;margin-bottom:8px;font-size:1.05rem}.panel p{color:var(--ink-soft);font-size:.97rem}.panel .mono{color:var(--teal);display:block;margin-bottom:8px}.charter{background:var(--ink);color:#edf2f1;border-radius:var(--radius)}.charter-inner{padding:40px 24px}@media (min-width:700px){.charter-inner{padding:56px}}.charter h2{color:#fff}.charter .lede{color:#b9c7c4}.pledges{margin-top:26px;display:grid;gap:0;counter-reset:pledge}.pledge{padding:16px 0;border-top:1px solid #2C3B38;display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:baseline}.pledge:before{counter-increment:pledge;content:counter(pledge,decimal-leading-zero);font-family:ui-monospace,monospace;color:var(--sand);font-size:.85rem}.pledge p{color:#dde6e4;font-size:.98rem}.links{margin-top:28px;display:grid;gap:14px}@media (min-width:700px){.links{grid-template-columns:1fr 1fr 1fr}}.linkcard{display:block;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;text-decoration:none;color:var(--ink);transition:transform .15s ease}.linkcard:hover{transform:translateY(-3px);border-color:var(--teal)}.linkcard .mono{color:var(--teal);display:block;margin-bottom:6px}.linkcard strong{display:block;font-weight:800;margin-bottom:4px}.linkcard span{color:var(--ink-soft);font-size:.92rem}.forward{background:var(--teal);color:#fff;border-radius:var(--radius);padding:40px 24px;text-align:center}@media (min-width:700px){.forward{padding:56px}}.forward h2{font-size:clamp(1.6rem,4.5vw,2.2rem);font-weight:800}.forward p{margin:12px auto 22px;max-width:48ch;color:#d7e7e4}.forward .btn{background:#fff;border-color:#fff;color:var(--teal-deep)}footer{padding:56px 0 calc(64px + env(safe-area-inset-bottom));color:var(--ink-soft);font-size:.88rem;border-top:1px solid var(--line);margin-top:24px}.detail-meta{color:var(--ink-soft);margin-top:6px}.detail-summary{margin-top:26px;max-width:64ch}.detail-summary .warning{margin-top:10px;color:var(--signal);font-weight:600;font-size:.9rem}.detail-h{margin-top:56px;margin-bottom:10px;font-size:1.5rem;font-weight:800}.charts{margin-top:26px;display:grid;gap:16px}@media (min-width:700px){.charts{grid-template-columns:1fr 1fr}}@media (min-width:960px){.charts{grid-template-columns:1fr 1fr 1fr}}.chart h3{font-weight:800;font-size:1.02rem}.chart-sub{color:var(--ink-soft);font-size:.85rem;margin:2px 0 12px;min-height:2.6em}.chart svg{width:100%;height:auto;display:block}.chart-baseline{stroke:var(--line);stroke-width:1}.chart-value{font-family:ui-monospace,monospace;font-size:12px;font-weight:700;fill:var(--ink)}.chart-year{font-family:ui-monospace,monospace;font-size:10px;fill:var(--ink-soft)}.mi-row{margin-top:22px;display:flex;gap:10px;flex-wrap:wrap}.audit-history{margin-top:26px;display:grid;gap:12px;list-style:none}.audit-row{display:grid;grid-template-columns:18px 1fr;gap:14px;align-items:start;padding:18px 20px}.audit-chip{width:18px;height:18px;border-radius:5px;margin-top:3px}.audit-row strong{display:block;margin-bottom:2px}.audit-row a{font-size:.92rem;font-weight:600}.report-more{margin-top:20px;padding-top:18px;border-top:1.5px dashed var(--ink);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.report-more span{color:var(--ink-soft);font-size:.88rem;max-width:32ch}.admin-panel{margin-top:30px;max-width:560px;display:grid;gap:10px}.admin-panel label{font-weight:700;font-size:.95rem;margin-top:8px}.admin-panel select,.admin-panel input[type=file]{width:100%;padding:12px 14px;font-size:.97rem;font-family:inherit;border:1.5px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink)}.admin-panel .mark-btn{margin-top:10px;justify-self:start}.admin-panel .mark-btn:disabled{opacity:.55;cursor:not-allowed}.admin-id{color:var(--ink-soft)}.admin-ok{color:var(--teal-deep);font-weight:600;font-size:.95rem}.admin-panel code{font-size:.85rem;background:var(--sand);padding:2px 6px;border-radius:4px}.picker{position:relative}.picker input{width:100%;padding:12px 14px;font-size:.97rem;font-family:inherit;border:1.5px solid var(--ink);border-radius:10px;background:var(--paper);color:var(--ink)}.picker-list{position:absolute;z-index:20;top:calc(100% + 4px);left:0;right:0;list-style:none;background:var(--card);border:1.5px solid var(--ink);border-radius:10px;max-height:300px;overflow-y:auto;box-shadow:4px 4px 0 var(--sand)}.picker-list button{width:100%;text-align:left;cursor:pointer;background:none;border:none;border-bottom:1px solid var(--line);padding:10px 14px;font:inherit;color:inherit}.picker-list li:last-child button{border-bottom:none}.picker-list button:hover{background:var(--paper)}.picker-list strong{display:block;font-weight:700;font-size:.95rem}.picker-list span,.picker-selected span{display:block;color:var(--ink-soft);font-size:.82rem}.picker-empty{padding:10px 14px;color:var(--ink-soft);font-size:.88rem}.picker-selected{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1.5px solid var(--teal);border-radius:10px;padding:12px 14px;background:var(--paper)}.picker-selected strong{font-size:.97rem}footer .wrap{display:grid;gap:14px}footer .weight{color:var(--teal-deep);font-weight:600}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.poster-x path,.cell-marked svg path,.test.marked .cell svg path{stroke-dashoffset:0!important}html{scroll-behavior:auto}}
