:root{color-scheme:dark;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#d5e7e7;background:#000;--teal:#57f5d3;--muted:#75918d;--line:#17302e}*{box-sizing:border-box}body{margin:0;background:#000}button,select,input{font:inherit}button,a,select,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,select:focus-visible,input:focus-visible,a:focus-visible,.county:focus-visible{outline:2px solid var(--teal);outline-offset:5px}[hidden]{display:none!important}.ambient,.orbit-mark{display:none}#overview{height:100svh;min-height:480px;overflow:hidden;background:#000;display:grid;place-items:center}#states{width:min(1360px,95vw);height:min(810px,90svh);position:relative}.state-float{position:absolute;padding:0;border:0;background:none;color:inherit;cursor:pointer;transition:opacity .6s,filter .6s;animation:float 8s ease-in-out infinite;will-change:transform}.state-float svg{width:100%;height:100%;overflow:visible}.state-float[data-code=AZ]{width:32%;height:64%;left:1%;top:16%;animation-delay:-2s}.state-float[data-code=MD]{width:37%;height:51%;left:35%;top:0%;animation-delay:-4s}.state-float[data-code=FL]{width:42%;height:70%;right:0;bottom:0;animation-delay:-6s}.state-float:hover{filter:brightness(1.35)}.state-float:focus-visible{outline:none;filter:brightness(1.5)}.county{fill:#242d30;stroke:#000;stroke-width:1.1;stroke-linejoin:round;transition:fill .65s,opacity .2s;vector-effect:non-scaling-stroke}.outline{fill:none;stroke:var(--teal);stroke-width:1.1;stroke-linejoin:round;stroke-linecap:round;pointer-events:none;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px #43ffdb) drop-shadow(0 0 10px #20c9a9);animation:ignite 1.8s ease-out both}.state-float .county{fill-opacity:.8}.state-float::after{content:"";position:absolute;left:18%;right:18%;bottom:-3%;height:7%;border-radius:50%;background:#24e3bc10;filter:blur(25px);pointer-events:none}body.entering .state-float{opacity:0}#focus{min-height:100svh;padding:28px 40px 20px;animation:reveal .6s ease-out;background:radial-gradient(ellipse at 50% 45%,#061011 0,#000 70%)}.tools{height:54px;display:flex;align-items:center;gap:16px;max-width:1600px;margin:auto}.icon-button{width:40px;height:40px;border:1px solid #1a302e;border-radius:50%;background:#07100f;color:#b1cfca;display:inline-grid;place-items:center;flex-shrink:0;transition:border .2s,background .2s}.icon-button:hover{background:#0e2320;border-color:#388b78}svg{display:block}.icon-button svg,.compare-button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}select{appearance:none;background:#07100f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24'%3E%3Cpath d='m7 10 5 5 5-5' fill='none' stroke='%237aaba2' stroke-width='1.5'/%3E%3C/svg%3E") right 12px center/14px no-repeat;border:1px solid var(--line);border-radius:8px;color:#c9ded9;padding:11px 36px 11px 14px;max-width:100%;min-width:0;font-size:13px;cursor:pointer}#state-select{border:0;background-color:transparent;font-size:16px;font-weight:500}.tool-spacer{flex:1}.compare-button{display:flex;align-items:center;gap:10px;background:#071410;border:1px solid #24483e;border-radius:25px;padding:11px 18px;color:#9dc5bb;font-size:12px}.compare-button[aria-pressed=true]{background:#14362e;color:#70f0d1;border-color:#357e6a}#panels{max-width:1600px;margin:28px auto 0;display:grid;grid-template-columns:minmax(0,1fr);gap:0}.comparing #panels{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.panel{position:relative;min-width:0;padding:12px 36px 8px;display:flex;flex-direction:column}.comparing #right-panel{border-left:1px solid #152623}.panel-controls{max-width:720px;width:100%;margin:0 auto}.eyebrow{font-size:10px;letter-spacing:2.5px;color:#7f9993;margin-bottom:14px;display:flex;align-items:center;gap:8px}.live-dot{width:5px;height:5px;border-radius:50%;background:#5df4c3;box-shadow:0 0 8px #32bb93}.select-row{display:flex;align-items:center;gap:10px}.select-row select{flex:1}#left-date{max-width:180px}#history-date{font-size:14px;color:#c5d8d3;font-variant-numeric:tabular-nums;flex-shrink:0}.map-area{height:clamp(300px,54svh,660px);display:grid;place-items:center;position:relative;margin:16px 0 6px}.map-area svg{height:100%;width:100%;max-width:760px;overflow:visible;animation:reveal .4s ease}.map-area .county:hover,.county.is-hovered{stroke:#d7fff3;stroke-width:1.5;filter:brightness(1.25)}.map-area .county{cursor:crosshair}.results{width:100%;max-width:720px;min-height:85px;margin:auto auto 0;display:flex;gap:18px;flex-wrap:wrap}.candidate{flex:1;min-width:110px;max-width:260px}.candidate-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px}.candidate-name{color:#b9cfc9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-pct{color:#e0eeeb;font-size:19px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.candidate-bar{height:3px;background:#15201d;margin:9px 0 7px;overflow:hidden}.candidate-bar i{height:100%;display:block}.candidate-votes{font-size:10px;color:#718c83;font-variant-numeric:tabular-nums}.panel-message{min-height:22px;color:#6e8c83;font-size:11px;max-width:720px;width:100%;margin:4px auto 0}.panel-message.error{color:#dba397}.timeline{padding-top:16px;max-width:720px;width:100%;margin:0 auto}.timeline-date{display:flex;align-items:center;justify-content:space-between;margin:0 -7px 3px}.timeline-date .icon-button{border:0;background:transparent;width:30px;height:30px}.timeline-date .icon-button:disabled{opacity:.2;cursor:default}#slider-output{font-size:12px;color:#9bd0bd;font-variant-numeric:tabular-nums}input[type=range]{width:100%;accent-color:#69e4ba;cursor:ew-resize;height:20px}input[type=range]:disabled{opacity:.3;cursor:default}.timeline-ends{display:flex;justify-content:space-between;font-size:10px;color:#57756b;margin-top:2px}footer{max-width:1528px;margin:22px auto 0;border-top:1px solid #0f211b;padding-top:16px;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:10px;color:#5f7f73}.legend{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:5px;height:5px;border-radius:50%;display:inline-block}.foot-meta{display:flex;gap:20px;align-items:center;flex-wrap:wrap;justify-content:flex-end}a{color:#789e8e;text-decoration:none}a:hover{color:var(--teal)}#tooltip{z-index:10;position:fixed;pointer-events:none;width:260px;background:#07120ff5;border:1px solid #2c5c4b;padding:16px;border-radius:12px;box-shadow:0 16px 65px #000b;backdrop-filter:blur(18px);color:#b8d3c5;font-size:12px}#tooltip strong{display:block;font-size:14px;font-weight:500;margin-bottom:10px;color:#e0f2ea}.tip-row{display:flex;justify-content:space-between;gap:12px;line-height:1.9}.tip-row span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tip-row small{font-size:10px;color:#729a87}.tip-meta{font-size:10px;color:#719382;margin-top:9px}.tip-dot{display:inline-block;width:5px;height:5px;margin-right:5px;border-radius:50%}.loading .map-area{opacity:.5}.loading .panel-message{color:#76c9ac}.state-float.is-error .outline{stroke:#91c1b5}.retry-overview{position:absolute;bottom:20px;left:calc(50% - 20px)}@keyframes float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-17px) rotate(.3deg)}}@keyframes ignite{0%{stroke-opacity:0;filter:drop-shadow(0 0 0 #20c9a9)}35%{stroke-opacity:1;stroke-width:1.6}100%{stroke-opacity:1}}@keyframes reveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.comparing .map-area{height:55svh}}@media(max-width:900px){#focus{padding:16px 18px}.panel{padding:12px 18px}.select-row{flex-direction:column;align-items:stretch}#left-date{max-width:none}.results{gap:12px}.candidate{min-width:90px}.candidate-pct{font-size:17px}.map-area{height:42svh}#history-date{min-height:39px;display:flex;align-items:center}.foot-meta{gap:8px}.legend{gap:9px}}@media(max-width:600px){#states{width:100%;height:88svh}.state-float[data-code=AZ]{width:49%;height:48%;left:0;top:28%}.state-float[data-code=MD]{width:61%;height:38%;left:30%;top:0}.state-float[data-code=FL]{width:61%;height:56%;right:0;bottom:0}.tools{gap:8px}.compare-button{padding:11px 12px}.compare-button span{font-size:11px}#state-select{font-size:14px;padding-left:4px;padding-right:28px}.panel{padding:12px 7px}.comparing #panels{gap:10px}.map-area{height:36svh;margin:12px 0}.eyebrow{font-size:8px;letter-spacing:1.4px}.select-row select{font-size:11px;padding-left:9px;padding-right:26px;background-position:right 8px center}.candidate-head{font-size:10px;flex-wrap:wrap}.candidate-pct{font-size:17px}.results{display:block;min-height:148px}.candidate{margin-bottom:14px}.candidate-bar{margin:6px 0}.candidate-votes{font-size:9px}.panel-message{font-size:9px;line-height:1.6}footer{align-items:flex-start;font-size:9px}.legend{max-width:55%}.foot-meta{max-width:45%}#tooltip{width:220px;font-size:11px}.timeline-ends{font-size:9px}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
