@import "https://fonts.googleapis.com/css2?family=Archivo:ital,wdth,wght@0,75..125,400..700&display=swap";:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--surface:#eef1f5;--surface-raised:#fff;--surface-sunk:#e3e7ed;--ink:#0f1620;--ink-soft:#46505f;--ink-faint:#6b7686;--line:#ced5de;--line-strong:#aeb8c6;--accent:#d2541f;--accent-ink:#fff;--bin-0:#6da7ec;--bin-1:#3987e5;--bin-2:#256abf;--bin-3:#184f95;--bin-4:#0d366b;--time-0:#7c2d0c;--time-1:#a0390e;--time-2:#bd4b17;--time-3:#cd6a30;--time-4:#d68b55;--out:#cfcdc6;--waiting:#dfe4ea;--nodata:#e4e3dd;--nodata-line:#b9b7ae;--focus:#1c5cab;--radius:3px;--gutter:16px}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--surface:#11161d;--surface-raised:#1a212b;--surface-sunk:#0b0f14;--ink:#f3f5f8;--ink-soft:#b3bdca;--ink-faint:#8b9099;--line:#2b333f;--line-strong:#3f4956;--accent:#eb6834;--accent-ink:#11161d;--bin-0:#1c5cab;--bin-1:#2a78d6;--bin-2:#5598e7;--bin-3:#86b6ef;--bin-4:#b7d3f6;--time-0:#fcd4b4;--time-1:#f6a97c;--time-2:#ee6f3b;--time-3:#c55526;--time-4:#a0471c;--out:#3a3d44;--waiting:#1d242e;--nodata:#262a31;--nodata-line:#434954;--focus:#86b6ef}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--surface);color:var(--ink);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0;font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;font-size:15px;line-height:1.5}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance;margin:0;font-weight:600}a{color:inherit;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:2px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.shell{background:var(--surface);flex-direction:column;height:100%;display:flex}.shell>.stage{flex:auto}.shell>.synthetic,.shell>.top,.shell>.controls{flex:none}.shell-loading,.shell-failed{padding:var(--gutter);text-align:center;place-content:center;gap:8px;display:grid}.failure{max-width:46ch;color:var(--ink-soft)}.synthetic{padding:8px var(--gutter);background:var(--accent);color:var(--accent-ink);margin:0;font-size:13px;font-weight:500}.top{justify-content:space-between;align-items:flex-end;gap:var(--gutter);padding:14px var(--gutter) 10px;border-bottom:1px solid var(--line);display:flex}.logo{flex:none;display:block}.logo-far{stroke:var(--bin-1)}.logo-near{stroke:var(--bin-3)}.logo-here{fill:var(--accent)}.brand{align-items:center;gap:11px;display:flex}.brand h1{letter-spacing:-.02em;font-size:23px;font-weight:700;font-stretch:112%}.brand p{color:var(--ink-faint);margin:1px 0 0;font-size:13px}.top-actions{flex-wrap:wrap;gap:6px;display:flex}button{font:inherit;font-variant-numeric:inherit}.ghost{border:1px solid var(--line-strong);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;background:0 0;padding:6px 11px}.ghost:hover{border-color:var(--ink-soft);color:var(--ink)}.controls{padding:12px var(--gutter);border-bottom:1px solid var(--line);background:var(--surface-raised);flex-wrap:wrap;align-items:flex-end;gap:10px 18px;display:flex}.field{flex-direction:column;gap:4px;min-width:0;display:flex;position:relative}.field-label{color:var(--ink-faint);font-size:12px;font-weight:500}.field input[type=text],.field input[type=number],.field select{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);width:100%;color:var(--ink);font:inherit;font-variant-numeric:inherit;padding:7px 9px}.field input[type=text]{width:262px;max-width:100%}.field input::placeholder{color:var(--ink-faint)}.field-error{width:262px;max-width:70vw;color:var(--accent);margin:4px 0 0;font-size:12px;position:absolute;top:100%;left:0}.combo{position:relative}.combo-busy{color:var(--ink-faint);font-size:12px;position:absolute;top:50%;right:9px;transform:translateY(-50%)}.combo-list{z-index:20;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);width:262px;max-width:80vw;max-height:290px;margin:0;padding:3px;list-style:none;position:absolute;top:calc(100% + 3px);left:0;overflow-y:auto;box-shadow:0 10px 28px -14px #0f162073}.combo-list button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 8px;display:flex}.combo-list button.is-highlighted{background:var(--surface-sunk)}.combo-kind{color:var(--ink-faint);font-size:11px}.chosen{border:1px solid var(--ink);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:0 0;align-items:baseline;gap:9px;padding:7px 10px;display:flex}.chosen-name{font-weight:600}.chosen-clear{color:var(--ink-faint);font-size:11px}.chosen:hover .chosen-clear{color:var(--accent)}.add-second{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--ink-soft);cursor:pointer;background:0 0;align-self:flex-end;padding:7px 10px;font-size:13px}.add-second:hover:not(:disabled){border-color:var(--ink-soft);color:var(--ink)}.add-second:disabled{opacity:.45;cursor:not-allowed}.money{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink-faint);align-items:center;gap:2px;display:flex}.money input{text-align:left;width:74px;background:0 0!important;border:0!important;padding-left:2px!important}.money .step{width:40px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:0;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;display:flex}.money .step:first-child{border-right:1px solid var(--line);border-radius:var(--radius) 0 0 var(--radius)}.money .step:last-child{border-left:1px solid var(--line);border-radius:0 var(--radius) var(--radius) 0}.money .step svg{fill:currentColor;width:12px;height:12px}.money .step:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.money .step:disabled{opacity:.35;cursor:not-allowed}.field-slider{flex:190px;max-width:280px}.slider-value{color:var(--ink);font-weight:600}input[type=range]{width:100%;accent-color:var(--bin-2);margin:0}.stage{grid-template-columns:minmax(0,1fr) 372px;min-height:0;display:grid}.stage-map{border-right:1px solid var(--line);min-height:0;position:relative}.map{width:100%;height:100%;position:relative}.map svg{cursor:grab;touch-action:none;display:block}.map svg.is-dragging{cursor:grabbing}.district{stroke:var(--surface);stroke-width:1px;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill .12s linear}.district.is-out{cursor:default}.district.is-hovered{stroke:var(--ink);stroke-width:1.5px}.district.is-selected{stroke:var(--ink);stroke-width:2.5px}.district:focus-visible{stroke:var(--focus);stroke-width:3px;outline:none}.hatch-ground{fill:var(--nodata)}.hatch-line{stroke:var(--nodata-line);stroke-width:2.5px}.district-label{fill:var(--ink);stroke:var(--surface);paint-order:stroke;text-anchor:middle;dominant-baseline:middle;pointer-events:none;font-weight:600}.district-label-name{opacity:.82;font-weight:500}.pin-halo{fill:var(--accent);opacity:.28}.pin-dot{fill:var(--accent);stroke:var(--surface-raised);stroke-width:1.5px;vector-effect:non-scaling-stroke}.map-reset,.map-busy{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink-soft);cursor:pointer;margin:0;padding:6px 10px;font-size:12px;position:absolute;top:10px;right:10px}.map-busy{cursor:default}.legend{border:1px solid var(--line);border-radius:var(--radius);background:color-mix(in srgb, var(--surface-raised) 93%, transparent);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);max-width:272px;padding:10px 12px;position:absolute;bottom:12px;left:12px}.legend-lead{color:var(--ink-soft);margin:0 0 7px;font-size:12px}.legend-ramp,.legend-rest{margin:0;padding:0;list-style:none}.legend-ramp li,.legend-rest li{align-items:center;gap:7px;font-size:12px;display:flex}.legend-ramp li+li,.legend-rest li+li{margin-top:3px}.legend-rest{border-top:1px solid var(--line);color:var(--ink-soft);margin-top:7px;padding-top:7px}.swatch{background:var(--bin-0);border-radius:2px;flex:none;width:14px;height:14px}.swatch[data-bin="1"]{background:var(--bin-1)}.swatch[data-bin="2"]{background:var(--bin-2)}.swatch[data-bin="3"]{background:var(--bin-3)}.swatch[data-bin="4"]{background:var(--bin-4)}.legend-ramp.is-time .swatch{background:var(--time-0)}.legend-ramp.is-time .swatch[data-bin="1"]{background:var(--time-1)}.legend-ramp.is-time .swatch[data-bin="2"]{background:var(--time-2)}.legend-ramp.is-time .swatch[data-bin="3"]{background:var(--time-3)}.legend-ramp.is-time .swatch[data-bin="4"]{background:var(--time-4)}.swatch-out{background:var(--out)}.swatch-nodata{background:repeating-linear-gradient(45deg, var(--nodata) 0 3px, var(--nodata-line) 3px 5px)}.stage-answer{background:var(--surface-raised);min-height:0;overflow-y:auto}.answer{padding:16px var(--gutter) 28px}.answer-empty h2{max-width:22ch;margin-bottom:8px;font-size:24px;font-stretch:105%;line-height:1.2}.answer-empty p,.headline p{max-width:44ch;color:var(--ink-soft);margin:8px 0 0}.answer-note{font-size:13px;color:var(--ink-faint)!important}.headline h2{max-width:26ch;font-size:20px;line-height:1.25}.ranked{border-top:1px solid var(--line);margin-top:22px;padding-top:16px}.ranked h3{color:var(--ink-soft);margin-bottom:8px;font-size:13px;font-weight:600}.ranked ol{margin:0;padding:0;list-style:none}.ranked button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:2px;grid-template-columns:1fr 3.9em 3.8em 4.4em;align-items:center;gap:6px;padding:7px 8px;display:grid}.ranked li+li button{border-top:1px solid var(--line);border-radius:0}.ranked button:hover{background:var(--surface-sunk)}.ranked button.is-selected{background:var(--surface-sunk);box-shadow:inset 2px 0 0 var(--ink)}.ranked-district{flex-direction:column;gap:1px;min-width:0;font-weight:600;display:flex}.ranked-name{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;font-weight:400;overflow:hidden}.detail-name{color:var(--ink-soft);margin-left:8px;font-weight:400}.ranked-share{align-items:center;gap:6px;display:flex}.ranked-minutes,.ranked-median{color:var(--ink-soft);text-align:right}.ranked-legend{color:var(--ink-faint);margin:9px 0 0;font-size:12px}.detail{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);margin-top:18px}.detail header,.sheet header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:9px 12px;display:flex}.detail header h3{font-size:17px;font-weight:700;font-stretch:108%}.detail header button,.sheet header button{border:1px solid var(--line-strong);color:var(--ink-faint);cursor:pointer;background:0 0;border-radius:2px;padding:3px 7px;font-size:11px}.detail dl{margin:0;padding:4px 12px 10px}.detail dl>div{justify-content:space-between;align-items:baseline;gap:12px;padding:6px 0;display:flex}.detail dl>div+div{border-top:1px solid var(--line)}.detail dt{color:var(--ink-soft);font-size:13px}.detail dd{text-align:right;justify-content:flex-end;align-items:center;gap:7px;margin:0;font-weight:600;display:flex}.detail-bin{color:var(--ink-faint);font-size:12px;font-weight:400}.detail-caveat{border-top:1px solid var(--line);color:var(--ink-soft);margin:0;padding:9px 12px;font-size:12px}.sheet-backdrop{z-index:40;padding:var(--gutter);background:#080c1285;place-items:start center;display:grid;position:fixed;inset:0;overflow-y:auto}.sheet{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);width:min(720px,100%);margin:min(6vh,60px) 0}.sheet header{background:var(--surface-raised);position:sticky;top:0}.sheet header h2{font-size:19px}.sheet section{padding:14px 18px}.sheet section+section{border-top:1px solid var(--line)}.sheet h3{margin-bottom:6px;font-size:14px}.sheet p{max-width:68ch;color:var(--ink-soft);margin:7px 0 0}.limits{max-width:68ch;color:var(--ink-soft);margin:7px 0 0;padding-left:18px}.limits li+li{margin-top:5px}.sources{border-collapse:collapse;text-align:left;width:100%;margin-top:8px;font-size:13px}.sources th,.sources td{border-top:1px solid var(--line);vertical-align:top;padding:6px 0;font-weight:400}.sources th{width:14em;color:var(--ink-soft)}.licence{color:var(--ink-faint);font-size:12px;display:block}.vintages{margin:12px 0 0;font-size:13px}.vintages>div{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:5px 0;display:flex}.vintages dt{color:var(--ink-soft)}.vintages dd{margin:0;font-weight:600}@media (width<=940px){.stage{grid-template-rows:minmax(400px,56vh) minmax(0,auto);grid-template-columns:minmax(0,1fr)}.legend{flex-wrap:wrap;align-items:baseline;gap:2px 14px;max-width:none;padding:7px 10px;display:flex;right:12px}.legend-lead{width:100%;margin:0}.legend-ramp,.legend-rest{flex-wrap:wrap;gap:2px 14px;display:flex}.legend-rest{border-top:0;margin:0;padding:0}.legend-ramp li+li,.legend-rest li+li{margin-top:0}.stage-map{border-right:0;border-bottom:1px solid var(--line)}.stage-answer{overflow-y:visible}.shell{height:auto;min-height:100%}.legend{max-width:calc(100% - 24px)}}@media (width<=620px){.top{flex-direction:column;align-items:flex-start;gap:9px}.field input[type=text],.combo-list{width:100%}.field:has(input[type=text]){flex:100%}.field-slider{max-width:none}.ranked button{grid-template-columns:3.4em 1fr 3.7em}.ranked-median{display:none}}@media (prefers-reduced-motion:reduce){.district{transition:none}}.tip{z-index:3;pointer-events:none;border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--ink);padding:9px 11px;font-size:.82rem;line-height:1.35;position:absolute;box-shadow:0 6px 20px #0000002e}.tip-name{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:7px;margin:0 0 5px;padding-bottom:5px;display:flex}.tip-name strong{font-size:.92rem}.tip-name span{color:var(--ink-soft)}.tip-line{justify-content:space-between;gap:16px;margin:2px 0;display:flex}.tip-line span{color:var(--ink-soft)}.tip-hint{color:var(--ink-faint);font-style:italic;display:block}@media (hover:none){.tip{display:none}}.legend-views{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunk);gap:2px;margin-bottom:8px;padding:2px;display:flex}.legend-views button{color:var(--ink-soft);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:2px;flex:1 1 0;padding:4px 8px;font-size:.78rem}.legend-views button.is-on{background:var(--surface-raised);color:var(--ink);font-weight:600}.legend-views button:hover:not(.is-on){color:var(--ink)}.skip{z-index:10;border-radius:var(--radius);background:var(--surface-raised);color:var(--ink);padding:8px 12px;font-size:.85rem;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-200%);box-shadow:0 4px 14px #0003}.skip:focus{outline:2px solid var(--focus);outline-offset:2px;transform:none}.stage-answer:focus{outline:none}
