:root{--paper:#fbf8ef;--bg:#e9e3d2;--ink:#1b2a41;--line:#c9c1a8;--bar:#d8d0b8;--red:#b22234;--blue:#1f3a6e;--redHover:#811926;--dem-bg:#2a5db0;--rep-bg:#b22234}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.45 Georgia,Times New Roman,serif;padding:calc(20px + env(safe-area-inset-top, 0px)) 14px calc(40px + env(safe-area-inset-bottom, 0px))}.loader{--color-1:var(--blue);--size:1px;width:calc(48 * var(--size));height:calc(48 * var(--size));border:calc(5 * var(--size)) solid var(--color-1);border-bottom-color:transparent;border-radius:50%;display:inline-block;box-sizing:border-box;animation:rotation 1s linear infinite}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.ballot{max-width:560px;margin:0 auto;padding:22px 20px;background:var(--paper);border:2px solid var(--ink);box-shadow:0 6px 0 var(--line)}header{margin-bottom:16px;padding-bottom:14px;text-align:center;border-bottom:4px double var(--ink)}.eyebrow{font:700 12px/1 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--red)}h1{margin:8px 0 6px;font-size:28px;line-height:1.1}.meta{font:14px system-ui,sans-serif;opacity:.85}section{margin:14px 0;padding:14px;border:1px solid var(--line)}h2{margin:0 0 4px;font:700 13px/1.2 system-ui,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}.q{font-weight:700}.hint,.q{margin:0 0 10px}.hint{font:13px system-ui,sans-serif;opacity:.75}input[type=text]{width:100%;padding:10px;font:16px Georgia,serif;color:var(--ink);background:transparent;border:0;border-bottom:2px solid var(--ink);outline:0}input[type=text]:focus{border-bottom-color:var(--red)}.wi{margin:4px 0 6px 34px}.opt{display:flex;align-items:center;gap:12px;width:100%;padding:10px 2px;font:inherit;color:inherit;text-align:left;background:none;border:0;border-bottom:1px dotted var(--line);cursor:pointer}.opt:last-child{border-bottom:0}.opt:disabled{opacity:.4;cursor:not-allowed}.dot{flex:none;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--ink);border-radius:50%;transition:.12s}.opt[aria-pressed=true] .dot{background:var(--ink)}.opt[aria-pressed=true] .dot:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--paper)}.grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0 16px;gap:0 16px}.counter{float:right;font:700 12px system-ui,sans-serif;color:var(--red)}.cast{display:block;width:100%;margin-top:18px;padding:14px;font:700 16px system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--red);border:0;cursor:pointer}.cast:disabled{opacity:.45;cursor:not-allowed}.cast:hover{background-color:var(--redHover)}.err{min-height:20px;margin:8px 0 0;font:14px system-ui,sans-serif;text-align:center;color:var(--red)}.linkbtn{font:15px system-ui,sans-serif;color:var(--blue);text-decoration:underline}button.linkbtn{padding:0;background:none;border:0;cursor:pointer}.done{text-align:center}.sticker{display:grid;place-items:center;width:150px;height:150px;margin:6px auto 14px;border:5px solid var(--blue);border-radius:50%;transform:rotate(-8deg);animation:pop .5s cubic-bezier(.2,1.6,.4,1)}.sticker b{font:900 30px/1 system-ui,sans-serif;letter-spacing:.04em;color:var(--red)}.sticker span{display:block;font:700 11px system-ui,sans-serif;letter-spacing:.18em;color:var(--blue)}@keyframes pop{0%{transform:scale(0) rotate(-40deg)}}.row{display:grid;grid-template-columns:96px 1fr 28px;align-items:center;grid-gap:8px;gap:8px;margin:7px 0;font:14px system-ui,sans-serif;text-align:left}.track{height:16px;background:var(--bar)}.fill{height:100%;background:var(--blue);transition:width .6s}.row.win .fill{background:var(--red)}.tiles{display:grid;grid-template-columns:repeat(11,1fr);grid-gap:3px;gap:3px;margin:8px 0 12px}.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;min-width:0;padding:0;font:700 11px/1.1 system-ui,sans-serif;border-radius:3px}.tile.blank{visibility:hidden}.tile.off{color:var(--ink);background:var(--bar);opacity:.45}.tile.live{font-family:system-ui,sans-serif;color:var(--ink);background:transparent;border:2px dashed var(--ink);cursor:pointer}.tile.live small{font-size:10px;opacity:.8}.tile.live.D{color:#fff;background:var(--dem-bg);border:2px solid var(--dem-bg)}.tile.live.R{color:#fff;background:var(--rep-bg);border:2px solid var(--rep-bg)}.tile.live:disabled{opacity:.7;cursor:not-allowed}.ctrl{display:flex;height:14px;margin:6px 0 4px;border:1px solid var(--ink)}.ctrl .d{background:var(--dem-bg)}.ctrl .u{background:var(--bar)}.ctrl .r{background:var(--rep-bg)}.ctrl-label{display:flex;justify-content:space-between;gap:8px;font:13px system-ui,sans-serif}.ctrl-label b{font-weight:600;text-align:center}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{padding:5px 9px;font:700 13px system-ui,sans-serif;border:2px dashed var(--ink);border-radius:3px}.chip.D{color:#fff;background:var(--dem-bg);border-color:var(--dem-bg)}.chip.R{color:#fff;background:var(--rep-bg);border-color:var(--rep-bg)}.lb-row{display:grid;grid-template-columns:28px 1fr auto;align-items:center;grid-gap:8px;gap:8px;padding:9px 4px;font:15px system-ui,sans-serif;text-align:left;border-bottom:1px dotted var(--line)}.lb-row:last-of-type{border-bottom:0}.lb-row.me{font-weight:700;outline:2px solid var(--blue)}.lb-row .score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;opacity:.85}.leaderboardButton{display:block;margin-top:18px;padding:14px;font:400 16px system-ui,sans-serif;text-decoration:none;color:#fff;background:var(--red);border:0;cursor:pointer}.leaderboardButton:hover{background-color:var(--redHover)}.trivia-q{padding:18px 14px;text-align:center;background:var(--paper);border:1px solid var(--line)}.trivia-text{margin:8px 0 0;font-size:24px;line-height:1.3}.trivia-status{margin:0;font-size:20px;font-style:italic}.lb-row.lead{font-weight:700}