:root{--ui-accent:#2f81f7;--ui-accent-2:#1f6feb;--ui-accent-bright:#79b8ff;--ui-accent-line:#58a6ff;--ui-accent-glow:#1f6feb66;--ui-accent-soft:#58a6ff1f;--ui-accent-soft-bd:#58a6ff40;--ui-surface:#0d111780;--ui-surface-btn:#161b228c;--ui-hairline:#ffffff1f;--ui-text:#e6edf3;--ui-text-dim:#9da7b3;--ui-text-mute:#8b95a3;--ui-radius:14px;--ui-radius-lg:16px;--ui-radius-sm:11px;--ui-title-from:#fff;--ui-title-mid:#cfe0ff;--ui-title-to:#8bb4ff;--ui-title-shadow:#00000059;--ui-home-accent:#7c6cff;--ui-space-xs:6px;--ui-space-s:12px;--ui-space-m:18px;--ui-space-l:24px}.overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--ui-text);text-align:center;z-index:10;background:linear-gradient(#080b13d1 0%,#080b1399 42%,#080b1352 100%);flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:fixed;inset:0}.overlay.pause{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#080b1380}.overlay h1{letter-spacing:6px;background:linear-gradient(180deg, var(--ui-title-from) 0%, var(--ui-title-mid) 55%, var(--ui-title-to) 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 10px var(--ui-title-shadow));-webkit-background-clip:text;background-clip:text;font-size:64px;font-weight:900}:is(.overlay:has(.panel.lobby) h1,.overlay:has(.nameinput):not(:has(.panel)) h1){letter-spacing:4px;font-size:38px}.overlay .tag{color:#aeb9c7;letter-spacing:.3px;text-shadow:0 1px 8px #00000080;min-height:20px;font-size:16px}.overlay:has(.panel.lobby) .tag{margin-bottom:4px;font-size:14px}.overlay .label{margin-top:var(--ui-space-l);color:var(--ui-text-dim);text-transform:uppercase;letter-spacing:1.8px;text-shadow:0 1px 6px #00000080;font-size:13px}.btn-row{gap:var(--ui-space-s);margin-top:10px;display:flex}.btn{appearance:none;border:1px solid var(--ui-hairline);background:var(--ui-surface-btn);color:var(--ui-text);font:inherit;border-radius:var(--ui-radius);cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);min-width:64px;padding:14px 24px;font-size:19px;font-weight:700;transition:transform .1s,border-color .14s,background .14s,box-shadow .14s,filter .14s;box-shadow:0 4px 14px #00000040}.btn:not(:disabled):hover{border-color:var(--ui-accent-line);background:#1f2e40b3;transform:translateY(-2px);box-shadow:0 10px 26px #143c8266}.btn:active{transform:translateY(0);box-shadow:0 4px 12px #0000004d}.btn.sel,.btn.primary{border-color:var(--ui-accent-bright);background:linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);color:#fff;box-shadow:0 8px 22px var(--ui-accent-glow)}.btn.primary:not(:disabled):hover{filter:brightness(1.08);border-color:var(--ui-accent-bright);transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;filter:saturate(.55)brightness(.92);transform:none;box-shadow:0 4px 14px #00000040;opacity:.7!important}.btn.primary:disabled{background:var(--ui-surface-btn);border-color:var(--ui-hairline);color:var(--ui-text-mute)}.btn.wide{width:100%;margin-top:auto}.btn.danger{color:#ffb4b0;border-color:#f8717161}.btn.danger:not(:disabled):hover{background:#f8514924;border-color:#f87171b3;box-shadow:0 10px 26px #b428284d}.btn.ghost{box-shadow:none;color:var(--ui-text-dim);background:0 0;border-color:#0000;margin-top:22px;padding:10px 20px;font-size:16px}.btn.ghost:not(:disabled):hover{border-color:var(--ui-hairline);color:var(--ui-text);box-shadow:none;background:#ffffff0f;transform:none}.btn.count{min-width:58px;padding:14px 0;font-size:22px}.segment{gap:var(--ui-space-xs);margin-top:var(--ui-space-l);display:inline-flex}.seg{appearance:none;border:1px solid var(--ui-hairline);background:var(--ui-surface-btn);color:var(--ui-text-dim);font:inherit;border-radius:var(--ui-radius-sm);cursor:pointer;white-space:nowrap;padding:9px 16px;font-size:14px;font-weight:600;transition:background .14s,color .14s,border-color .14s}.seg:not(:disabled):hover{color:#fff;background:#ffffff12}.seg.sel{background:linear-gradient(180deg, var(--ui-accent) 0%, var(--ui-accent-2) 100%);border-color:var(--ui-accent-bright);color:#fff}.seg:disabled{cursor:default}.cards{gap:var(--ui-space-m);margin-top:var(--ui-space-l);flex-wrap:wrap;justify-content:center;align-items:stretch;display:flex}.card{border-radius:var(--ui-radius-lg);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;align-items:center;min-width:244px;padding:22px 26px 24px;display:flex;box-shadow:0 10px 30px #0000004d}.card-h{letter-spacing:2px;text-transform:uppercase;color:var(--ui-text);font-size:13px;font-weight:800}.card-sub{color:var(--ui-text-mute);margin:4px 0 16px;font-size:13px}.count-row{gap:10px;margin-top:auto;display:flex}.back-slorp{letter-spacing:.3px;color:#aeb9c7;border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0d11176b;border-radius:999px;align-items:center;gap:7px;padding:9px 15px 9px 13px;font-size:14px;font-weight:700;text-decoration:none;transition:color .14s,border-color .14s,background .14s,transform .14s;display:inline-flex;position:absolute;top:22px;left:24px;box-shadow:0 4px 14px #00000038}.back-slorp span{font-size:16px;line-height:1}.back-slorp:hover{color:#fff;border-color:color-mix(in srgb, var(--ui-home-accent) 60%, transparent);background:#1c1a369e;transform:translate(-2px)}.panel.menu-panel{gap:var(--ui-space-s);width:min(440px,92vw);padding:22px 24px 24px;box-shadow:inset 0 1px #ffffff12,0 20px 54px #0000006b}.menu-panel .setting-row{gap:var(--ui-space-s)}.menu-panel .row-label{color:#aab3c2;flex:0 0 54px;font-size:12px}.menu-divider{height:1px;margin:var(--ui-space-xs) 0 2px;background:#ffffff14}.menu-panel .count-row{flex:auto;gap:8px;margin-top:0}.menu-panel .count{flex:1 1 0;min-width:0;padding:10px 0;font-size:19px}.menu-online{width:100%;margin-top:4px;font-size:18px}.panel{gap:var(--ui-space-s);width:340px;max-width:92vw;margin-top:var(--ui-space-s);padding:var(--ui-space-m);border-radius:var(--ui-radius-lg);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;display:flex;box-shadow:0 10px 30px #0000004d}.pause-panel{gap:var(--ui-space-s);text-align:center;width:280px}.pause-title{letter-spacing:1px;color:var(--ui-text);margin-bottom:2px;font-size:28px;font-weight:800}.pause-note{color:var(--ui-text-dim);margin-bottom:6px;font-size:14px}.lobby-top{align-items:center;gap:10px;display:flex}.roomchip{letter-spacing:4px;color:var(--ui-accent-bright);border-radius:var(--ui-radius-sm);background:var(--ui-accent-soft);border:1px solid var(--ui-accent-soft-bd);white-space:nowrap;padding:11px 14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:20px;font-weight:800}.invite-btn{flex:auto;padding:12px 16px;font-size:16px}.lobby-settings{gap:var(--ui-space-xs);flex-direction:column;display:flex}.setting-row{align-items:center;gap:var(--ui-space-s);display:flex}.row-label{letter-spacing:1px;text-transform:uppercase;color:var(--ui-text-mute);flex:0 0 56px;font-size:11px;font-weight:700}.lobby-seg{flex-wrap:wrap;flex:auto;margin-top:0;display:flex}.lobby-seg .seg{flex:auto;min-width:48px;padding:10px 6px;font-size:13.5px}.lobby-seg.locked{opacity:.72}.settings-note{color:#6e7681;text-align:center;margin-top:2px;font-size:11px}.setting-blurb{color:var(--ui-text-dim);margin:-2px 0 6px;padding-left:2px;font-size:12px;line-height:1.45}.setting-blurb:empty{display:none}.lobby-roster{width:100%;margin:0}.lobby-roster li{border-bottom:none;border-radius:9px;padding:6px 12px;font-size:14px}.identity-row{gap:var(--ui-space-s);flex-direction:column;align-items:stretch;display:flex}.color-picker{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.swatch{appearance:none;border:2px solid var(--ui-hairline);cursor:pointer;border-radius:50%;width:26px;height:26px;padding:0;transition:transform .12s,border-color .12s,opacity .12s}.swatch:hover{transform:scale(1.12)}.swatch.sel{border-color:#fff;transform:scale(1.12);box-shadow:0 0 0 2px #ffffff59}.swatch.taken{opacity:.28;cursor:not-allowed}.swatch.taken:hover{transform:none}.identity-row .nameinput{text-align:left;letter-spacing:.5px;width:100%;min-width:0;max-width:100%;margin-top:0}.lobby-actions{margin-top:var(--ui-space-s)}.ready-badge{color:var(--ui-text-mute);white-space:nowrap;background:#ffffff14;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.ready-badge.on{color:#56d364;background:#3fb9502e}.scoreboard{margin:var(--ui-space-l) 0;width:280px;list-style:none}.scoreboard li{color:var(--ui-text-dim);border-bottom:1px solid #21262d;justify-content:space-between;padding:10px 14px;font-size:17px;display:flex}.scoreboard li.win{color:#3fb950;font-weight:700}.winner-chip{justify-content:center;align-items:center;gap:12px;margin:4px 0 10px;font-size:26px;font-weight:800;display:flex}.winner-chip .sc-dot{width:18px;height:18px}.winner-height{color:var(--ui-text);font-variant-numeric:tabular-nums}.sc-row{color:var(--ui-text-dim);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}.sc-row.sc-active{background:var(--ui-accent-soft);color:var(--ui-text)}.sc-dot{border-radius:50%;flex:none;width:11px;height:11px}.sc-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.results-board{margin:var(--ui-space-m) 0 var(--ui-space-xs)}.results-board .sc-rank{text-align:center;width:18px;color:var(--ui-text-mute);font-variant-numeric:tabular-nums;flex:none}.results-board .sc-score{color:var(--ui-text);font-variant-numeric:tabular-nums;flex:none}.result-stats{font-variant-numeric:tabular-nums;margin-top:2px}#standings{border-radius:var(--ui-radius-sm);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none;z-index:5;min-width:168px;max-width:240px;padding:8px;font-family:ui-monospace,SF Mono,Menlo,monospace;position:fixed;top:16px;right:16px;box-shadow:0 10px 30px #00000047}.st-row{color:var(--ui-text-dim);border-radius:8px;align-items:center;gap:8px;padding:5px 8px;font-size:14px;display:flex}.st-row.st-active{background:var(--ui-accent-soft);color:var(--ui-text)}.st-row.st-out{opacity:.42;text-decoration:line-through}.st-dot{border-radius:50%;flex:none;width:11px;height:11px}.st-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;overflow:hidden}.st-hearts{letter-spacing:1px;color:#f85149;margin:0 4px}.st-best{font-variant-numeric:tabular-nums;font-weight:700}#ctlchip{z-index:6;font-family:ui-monospace,SF Mono,Menlo,monospace;position:fixed;bottom:16px;left:16px}.ctlchip-btn{border:1px solid var(--ui-hairline);background:var(--ui-surface);width:30px;height:30px;color:var(--ui-text-dim);cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto;border-radius:50%;font-size:16px;font-weight:800;transition:color .15s,border-color .15s}.ctlchip-btn:hover{color:var(--ui-text);border-color:var(--ui-accent-line)}.ctlchip-panel{min-width:184px;padding:var(--ui-space-s);border-radius:var(--ui-radius);background:var(--ui-surface);border:1px solid var(--ui-hairline);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;bottom:38px;left:0;box-shadow:0 10px 30px #00000047}.ctlchip-panel[hidden]{display:none}.ctlchip-title,.pause-controls-title{letter-spacing:.5px;text-transform:uppercase;color:var(--ui-text-mute);margin-bottom:var(--ui-space-xs);font-size:11px;font-weight:700}.ctl-legend{gap:var(--ui-space-xs);flex-direction:column;display:flex}.ctl-row{justify-content:space-between;align-items:center;gap:var(--ui-space-m);display:flex}.ctl-action{color:var(--ui-text-dim);font-size:12px}.ctl-keys{gap:4px;display:inline-flex}.keycap{border:1px solid var(--ui-hairline);background:var(--ui-surface-btn);min-width:18px;color:var(--ui-text);border-radius:6px;justify-content:center;align-items:center;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-flex}.pause-controls{margin-top:var(--ui-space-s);padding-top:var(--ui-space-s);border-top:1px solid var(--ui-hairline);text-align:left}.roomcode{letter-spacing:4px;color:var(--ui-accent-line);margin-top:6px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:30px;font-weight:800}.share,.nameinput{border-radius:var(--ui-radius-sm);width:320px;max-width:80vw;color:var(--ui-text);font:inherit;text-align:center;background:#0d1117;border:1px solid #30363d;margin-top:8px;padding:10px 12px;font-size:15px}.share{color:#7d8590;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}:root{--cream:#fff7ea;--paper:#fffdf8;--ketchup:#e8322b;--ketchup-deep:#b91f1a;--mustard:#f6c445;--mustard-deep:#d9a21c;--teal:#1f6f6b;--teal-deep:#154e4b;--ink:#3a2320;--ink-soft:#85645c;--line:#3a232029;--shadow:0 .35em 0 #3a23201f, 0 .8em 1.6em #3a232024;--shadow-sm:0 .2em 0 #3a232024;--script:"Shrikhand", "Fredoka", system-ui, sans-serif;--round:"Fredoka", system-ui, -apple-system, sans-serif;--ui-accent:#e8322b;--ui-accent-2:#b91f1a;--ui-text:#3a2320;--ui-text-dim:#85645c}*{box-sizing:border-box;margin:0;padding:0}html{background:var(--cream)}body{min-height:100vh;color:var(--ink);font-family:var(--round);-webkit-tap-highlight-color:transparent;background-color:var(--cream);background-image:linear-gradient(90deg,#e8322b1c 50%,#0000 50%),linear-gradient(#e8322b1c 50%,#0000 50%);background-size:64px 64px;background-attachment:fixed;font-weight:500}body.phone{background-size:40px 40px}body:before{content:"";z-index:0;pointer-events:none;background:repeating-linear-gradient(90deg, var(--ketchup) 0 44px, var(--paper) 44px 88px);filter:drop-shadow(0 3px #3a232026);height:46px;position:fixed;inset:0 0 auto;-webkit-mask:radial-gradient(22px 14px at 50% 100%,#0000 98%,#000) 0 0/44px 46px repeat-x;mask:radial-gradient(22px 14px at 50% 100%,#0000 98%,#000) 0 0/44px 46px repeat-x}body.phone:before{background:repeating-linear-gradient(90deg, var(--ketchup) 0 26px, var(--paper) 26px 52px);height:26px;-webkit-mask:radial-gradient(13px 9px at 50% 100%,#0000 98%,#000) 0 0/26px 26px repeat-x;mask:radial-gradient(13px 9px at 50% 100%,#0000 98%,#000) 0 0/26px 26px repeat-x}#app{z-index:1;position:relative}body.tv{height:100vh;font-size:clamp(14px,1.3vw,40px);overflow:hidden}button{font:inherit;color:inherit}h1,h2,h3{font-family:var(--round);letter-spacing:-.01em;font-weight:700}.box{background:var(--paper);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:1.2em}.center{text-align:center}.center-img{align-self:center}.btn{cursor:pointer;font-family:var(--round);background:var(--paper);color:var(--ink);box-shadow:inset 0 -.22em 0 #0000001f, var(--shadow-sm);border:0;border-radius:999px;padding:.7em 1.5em;font-weight:700;transition:transform .12s cubic-bezier(.34,1.56,.64,1)}.btn:not(:disabled):hover{transform:translateY(-2px)scale(1.02)}.btn:not(:disabled):active{transform:translateY(2px)scale(.98)}.btn.primary,.btn.primary:not(:disabled):hover{color:#fff;background:radial-gradient(120% 70% at 50% 0%, #ffffff59, transparent 55%), var(--ketchup);text-shadow:0 2px #0000002e;border:0}.btn.primary{box-shadow:inset 0 -.25em 0 var(--ketchup-deep), 0 .3em 0 #3a23202e, 0 .6em 1.2em #e8322b4d}.btn.ghost{-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:var(--ink-soft);text-underline-offset:3px;background:0 0;align-self:center;text-decoration:underline}.btn:disabled{opacity:.4;cursor:default}.btn.big{width:100%;padding:.85em 1em;font-size:1.25em}.hint{color:var(--ink-soft);line-height:1.45}.error{color:var(--ketchup-deep);margin:.6em 0;font-weight:600}.logo{font-family:var(--script);letter-spacing:0;color:var(--ketchup);-webkit-text-stroke:.04em var(--paper);paint-order:stroke fill;text-shadow:0 .05em 0 var(--ketchup-deep), 0 .1em 0 var(--ink), 0 .16em .3em #3a232040;font-size:4.2em;font-weight:400;line-height:1;display:inline-block;transform:rotate(-4deg)}.logo.small{font-size:2.6em}.tagline{color:var(--paper);background:var(--teal);border-radius:999px;margin-top:.6em;padding:.3em .9em;font-size:1.05em;font-weight:600;display:inline-block}.mascot{-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 6px #3a232033);width:9em;height:auto;display:block}.wiggle{transform-origin:50% 90%;animation:2.6s ease-in-out infinite wiggle}@keyframes wiggle{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)translateY(-4%)}}.av{object-fit:contain;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 2px 2px #3a23202e);flex:none;width:2.6em;height:2.6em;display:block}.av.mini{width:1.9em;height:1.9em}.av.big{width:7em;height:7em}.bob{animation:1.6s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-7%)rotate(2deg)}}.dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:.9em;height:.9em;display:inline-block}.letter{width:1.45em;height:1.45em;font-family:var(--script);color:var(--paper);text-shadow:0 .05em 0 var(--ketchup-deep);background:radial-gradient(circle, transparent 58%, #ffffff80 59% 61%, transparent 62%), var(--ketchup);box-shadow:0 0 0 .06em var(--mustard), 0 0 0 .1em var(--ink), 0 .14em .25em #3a23204d;border-radius:50%;place-items:center;padding-top:.08em;font-size:8em;font-weight:400;line-height:1;display:inline-grid;transform:rotate(-6deg)}.letter.pop{animation:.8s cubic-bezier(.34,1.56,.64,1) both letterpop}@keyframes letterpop{0%{transform:rotate(-260deg)scale(.2)}to{transform:rotate(-6deg)scale(1)}}.letter.small{box-shadow:0 0 0 3px var(--mustard), 0 0 0 5px var(--ink);flex:none;margin:0 .2em;font-size:1.35em}.clock{font-family:var(--round);font-variant-numeric:tabular-nums;color:var(--paper);background:var(--teal);box-shadow:inset 0 -.12em 0 var(--teal-deep), var(--shadow-sm);border-radius:999px;padding:.05em .6em;font-weight:700}.clock.urgent{background:var(--ketchup);box-shadow:inset 0 -.12em 0 var(--ketchup-deep);animation:.5s ease-in-out infinite alternate throb}@keyframes throb{to{transform:scale(1.07)rotate(-2deg)}}.pill{background:var(--paper);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:999px;padding:.35em 1em;font-weight:700}.stamp{font-family:var(--round);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border:2.5px solid;border-radius:.4em;padding:.2em .7em;font-size:.8em;font-weight:700;animation:.35s cubic-bezier(.34,1.56,.64,1) both stampin;transform:rotate(-5deg)}@keyframes stampin{0%{opacity:0;transform:rotate(-20deg)scale(1.8)}}.stamp.green{color:#24803a;background:#e1f5dc}.stamp.red{color:var(--ketchup-deep);background:#ffe3de}.stamp.mustard{color:#8a6400;background:#fff1c7}.stamp.grey{color:var(--ink-soft);background:#f3e9dc}.stamp.warn{color:#8a6400;background:#fff1c7;animation:none;transform:none}.field{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--line);border-radius:14px;outline:none;padding:.7em .9em;font-size:1.1em;font-weight:600;box-shadow:inset 0 2px #3a23200d}.field:focus{border-color:var(--ketchup);box-shadow:0 0 0 4px #e8322b26}.field::placeholder{color:#c9b3a6}.settings{flex-direction:column;gap:.6em;margin:.9em 0;display:flex}.settings.box{padding:.9em 1em}.setrow{justify-content:space-between;align-items:center;gap:.8em;display:flex}.setlabel{font-weight:700}.segs{background:#f3e9dc;border-radius:999px;padding:3px;display:inline-flex}.seg{cursor:pointer;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:.3em .8em;font-weight:600}.seg.on{background:var(--teal);color:var(--paper);box-shadow:inset 0 -2px 0 var(--teal-deep)}.landing{max-width:860px;margin:0 auto;padding:4em 1.2em 3em}.landing .home{color:var(--ink);background:var(--paper);box-shadow:var(--shadow-sm);border-radius:999px;margin-bottom:1.4em;padding:.3em .9em;font-weight:600;text-decoration:none;display:inline-block}.landing button.cookie-link{font:inherit;cursor:pointer;white-space:nowrap;border:0;margin-left:.5em;font-weight:600}.hero{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.2em;display:flex}.hero>div{min-width:0}.hero .mascot{width:10em}@media (width<=520px){.hero .mascot{width:7em}.hero .logo{font-size:3.2em}}.choices{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.3em;margin:2em 0 1.5em;display:grid}.choice{background:var(--paper);box-shadow:var(--shadow);border-top:.45em solid var(--ketchup);border-radius:1.2em;flex-direction:column;gap:.8em;padding:1.3em;display:flex}.choice:nth-child(2){border-top-color:var(--teal)}.choice h2{font-size:1.5em}.choice p{color:var(--ink-soft);flex:1}.codefield{text-align:center;letter-spacing:.25em;text-transform:uppercase;font-size:1.5em;font-weight:700}.parade{flex-wrap:wrap;justify-content:center;gap:.3em;margin:1.5em 0 1em;list-style:none;display:flex}.parade img{object-fit:contain;width:4.4em;height:4.4em;animation:1.6s ease-in-out infinite bob;animation-delay:inherit}.rules{color:var(--ink-soft);text-align:center;background:var(--paper);max-width:560px;box-shadow:var(--shadow-sm);border-radius:1em;margin:0 auto;padding:.9em 1.2em;line-height:1.55}.tv-lobby{grid-template-columns:1.05fr 1fr;align-items:center;gap:3em;height:100vh;padding:4.5em 4em 2.5em;display:grid}.tv-lobby .brand{align-items:center;gap:1em;margin-bottom:1.6em;display:flex}.tv-lobby .brand .mascot{width:11em}.tv-lobby .logo{font-size:6.2em}.joincard{background:var(--paper);box-shadow:var(--shadow);border-radius:1em;align-items:center;gap:1.6em;padding:1.4em 2em;display:flex;transform:rotate(-1.5deg);-webkit-mask:radial-gradient(1em at 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(1em at 100%,#0000 98%,#000) 100%/51% 100% no-repeat;mask:radial-gradient(1em at 0,#0000 98%,#000) 0/51% 100% no-repeat,radial-gradient(1em at 100%,#0000 98%,#000) 100%/51% 100% no-repeat}.qr{border:2px dashed var(--line);background:#fff;border-radius:.7em;flex:none;width:13em;height:13em;padding:.4em}.qr svg{width:100%;height:100%;display:block}.joinsteps{flex-direction:column;gap:.6em;font-size:1.15em;display:flex}.step{align-items:baseline;gap:.5em;display:flex}.step .n{background:var(--teal);width:1.5em;height:1.5em;color:var(--paper);border-radius:50%;flex:none;place-items:center;font-size:.85em;font-weight:700;display:inline-grid}.code{font-family:var(--round);letter-spacing:.12em;color:var(--ink);background:var(--mustard);box-shadow:inset 0 -.08em 0 var(--mustard-deep), var(--shadow-sm);border-radius:.3em;align-self:flex-start;margin-top:.15em;padding:0 .3em 0 .42em;font-size:3.6em;font-weight:700;transform:rotate(2deg)}.tv-lobby .side{padding:1.6em 1.8em}.tv-lobby h2{align-items:center;gap:.5em;font-size:1.8em;display:flex}.count{background:var(--ketchup);color:#fff;border-radius:999px;padding:0 .55em;font-size:.75em}.ptiles{grid-template-columns:repeat(4,1fr);gap:.7em;margin:1em 0;list-style:none;display:grid}.ptile{background:#fff;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--c) 26%, #fff) 0 40%, #fff 41% 46%, color-mix(in srgb, var(--c) 10%, #fff) 47%);box-shadow:var(--shadow-sm);border-radius:1em;flex-direction:column;align-items:center;gap:.2em;padding:.6em .3em .5em;animation:.45s cubic-bezier(.34,1.56,.64,1) both tilein;display:flex;position:relative}@keyframes tilein{0%{opacity:0;transform:scale(.3)rotate(-12deg)}}.ptile .av{width:4.4em;height:4.4em;animation-delay:inherit}.ptile .pname{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:700;overflow:hidden}.ptile .crown{font-size:1.4em;position:absolute;top:-.7em;right:-.3em;transform:rotate(18deg)}.ptile.empty{border:2px dashed var(--line);box-shadow:none;color:var(--ink-soft);background:0 0;animation:none}.ghost-av{border:2px dashed var(--line);border-radius:50%;place-items:center;width:2.4em;height:2.4em;margin:1em 0;font-weight:700;display:grid}.tv-lobby .hint{margin-bottom:.8em}.tv-round{flex-direction:column;height:100vh;padding:3.6em 3em 2em;display:flex}.roundbar{justify-content:space-between;align-items:center;font-size:1.3em;display:flex}.roundbar .clock{font-size:2.4em}.tv-write{flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:3em;display:grid}.letterbox{flex-direction:column;align-items:center;gap:.8em;display:flex}.letter-sub{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:999px;margin-top:.4em;padding:.25em .9em;font-size:1.1em;font-weight:600}.letterbox .mascot.think{width:9em;animation:3.2s ease-in-out infinite wiggle}.menu{background:radial-gradient(circle at 20% 10%, #ffffff0f, transparent 50%), var(--teal);color:var(--paper);box-shadow:0 0 0 .35em #8a5a3c, 0 0 0 .5em var(--ink), var(--shadow);border-radius:1.2em;padding:1em 1.6em 1.3em}.menu-h{font-family:var(--script);color:var(--mustard);text-align:center;margin-bottom:.3em;font-size:1.8em}.catlist{flex-direction:column;gap:.4em;font-size:1.55em;font-weight:600;list-style:none;display:flex}.catlist li{border-bottom:2px dotted #fff7ea40;align-items:center;gap:.6em;padding-bottom:.25em;animation:.4s ease-out both slidein;display:flex}.catlist li:last-child{border-bottom:0}@keyframes slidein{0%{opacity:0;transform:translate(-1.5em)}}.num{background:var(--ketchup);color:#fff;border-radius:50%;flex:none;place-items:center;width:1.55em;height:1.55em;font-size:.68em;font-weight:700;display:inline-grid}.menu .num{background:var(--mustard);color:var(--ink)}.status{flex-direction:column;gap:.55em;min-width:15em;list-style:none;display:flex}.status li{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:.9em;align-items:center;gap:.6em;padding:.35em .7em;display:flex}.status li.gone{opacity:.4}.status li.done{background:#ebf8e7}.pcol{flex-direction:column;flex:1;gap:.3em;min-width:0;display:flex}.pname{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.bar{background:#f3e9dc;border-radius:999px;height:.6em;overflow:hidden}.bar span{border-radius:999px;height:100%;transition:width .4s;display:block}.tv-review{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;max-width:62em;margin:0 auto;display:flex}.cattitle{align-items:center;gap:.5em;margin-bottom:.7em;font-size:2.8em;display:flex}.answers{flex-direction:column;gap:.55em;font-size:1.4em;list-style:none;display:flex}.ans{background:var(--paper);border-left:.4em solid var(--ketchup);box-shadow:var(--shadow-sm);border-radius:.8em;align-items:center;gap:.7em;padding:.35em .9em .35em .5em;animation:.4s ease-out both slidein;display:flex}.ans .pname{color:var(--ink-soft);flex:0 0 7em}.ans .atext{flex:1;font-size:1.15em;font-weight:700}.ans.v-empty,.ans.v-letter,.ans.v-same,.ans.v-voted{border-left-color:var(--line);background:#f6eee2}.ans.v-empty .atext{color:#c9b3a6}.ans.v-letter .atext,.ans.v-same .atext,.ans.v-voted .atext{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:3px}.tv-review .hint{text-align:center;margin-top:1.2em}.tv-scores{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1.2em;display:flex}.receipt{background:var(--paper);filter:drop-shadow(0 .5em .8em #3a23202e);width:min(34em,100%);-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - .69em) no-repeat, conic-gradient(from 135deg at 50% 0, #000 90deg, transparent 0) bottom / 1.4em .7em repeat-x;-webkit-mask:linear-gradient(#000 0 0) top / 100% calc(100% - .69em) no-repeat, conic-gradient(from 135deg at 50% 0, #000 90deg, transparent 0) bottom / 1.4em .7em repeat-x;mask:linear-gradient(#000 0 0) top / 100% calc(100% - .69em) no-repeat, conic-gradient(from 135deg at 50% 0, #000 90deg, transparent 0) bottom / 1.4em .7em repeat-x;padding:1.4em 1.6em 2em;transform:rotate(-1deg)}.receipt-h{font-family:var(--script);color:var(--ketchup);text-align:center;font-size:2.4em;line-height:1.1}.receipt-sub{text-align:center;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;border-bottom:2px dashed var(--line);margin-bottom:.6em;padding-bottom:.6em;font-size:.85em;font-weight:600}.board{flex-direction:column;gap:.3em;font-size:1.35em;list-style:none;display:flex}.board li{border-bottom:2px dotted var(--line);align-items:center;gap:.7em;padding:.2em .3em;animation:.4s ease-out both slidein;display:flex}.board li.lead{background:#fff4cf;border-radius:.5em}.board .pname{flex:1}.rank{width:1.2em;color:var(--ink-soft);font-weight:700}.gain{color:#24803a;font-variant-numeric:tabular-nums;font-weight:700}.total{text-align:right;font-variant-numeric:tabular-nums;min-width:2em;font-size:1.2em;font-weight:700}.tv-scores .btn{min-width:12em;font-size:1.1em}.overlay.final{-webkit-backdrop-filter:none;backdrop-filter:none;color:var(--ink);font-family:var(--round);background:0 0;gap:.6em}.overlay.final h1{font-family:var(--script);letter-spacing:0;-webkit-text-fill-color:var(--ketchup);color:var(--ketchup);-webkit-text-stroke:3px var(--paper);paint-order:stroke fill;filter:none;text-shadow:0 3px 0 var(--ketchup-deep), 0 6px 0 var(--ink);background:0 0;font-weight:400;transform:rotate(-3deg)}.overlay.final .podium{align-items:flex-end;gap:.5em;display:flex}.overlay.final .av.winner{width:140px;height:140px;animation:1.2s ease-in-out infinite bob}.overlay.final .mascot.cheer{width:120px}.overlay.final .winner-chip{color:var(--ink);background:var(--mustard);box-shadow:inset 0 -3px 0 var(--mustard-deep);border:0;border-radius:999px;padding:2px 14px 2px 6px}.overlay.final .scoreboard{background:var(--paper);box-shadow:var(--shadow);border:0;border-radius:16px;padding:6px 12px}.overlay.final .sc-row,.overlay.final .sc-name,.overlay.final .sc-score,.overlay.final .sc-rank{color:var(--ink);font-family:var(--round)}.overlay.final .sc-row.win .sc-name{color:var(--ketchup-deep);font-weight:700}.overlay.final .av.mini{width:30px;height:30px}.overlay.final .tag,.overlay.final .result-stats{color:var(--ink-soft);text-shadow:none}.overlay.final .btn.ghost{color:var(--ink-soft)}@media (width>=1400px) and (height>=1000px){body.tv .overlay{zoom:1.6}}@media (width>=2400px) and (height>=1800px){body.tv .overlay{zoom:2.4}}.ph{max-width:480px;padding:2.6em 1.1em calc(2em + env(safe-area-inset-bottom));flex-direction:column;gap:.9em;margin:0 auto;display:flex}.ph.center{text-align:center;justify-content:center;align-items:center;min-height:100dvh}.ph .mascot{width:9em}.ph h2{font-size:1.7em}.label{margin-top:.4em;font-size:1.1em;font-weight:700}.me{text-align:center;flex-direction:column;align-items:center;gap:.4em;display:flex}.phbar{z-index:2;background:linear-gradient(var(--cream) 78%, transparent);align-items:center;gap:.6em;padding:1.6em 0 .5em;display:flex;position:sticky;top:0}.phbar .clock{margin-left:auto;font-size:1.7em}.cats{flex-direction:column;gap:.9em;display:flex}.cat{flex-direction:column;gap:.35em;display:flex}.cat .catname{align-items:center;gap:.5em;font-weight:600;display:flex}.write.is-done .cats{opacity:.55}.catcount{color:var(--ink-soft);font-weight:600}.review .cattitle{margin:0;font-size:1.7em}.mine{font-weight:500}.mine b{font-weight:700}.votes{flex-direction:column;gap:.55em;list-style:none;display:flex}.vrow{text-align:left;background:var(--paper);border:0;border-left:.35em solid var(--ketchup);width:100%;box-shadow:var(--shadow-sm);cursor:pointer;border-radius:14px;align-items:center;gap:.6em;padding:.45em .9em .45em .5em;font-size:1.05em;display:flex}.vrow .atext{flex:1;font-weight:700}.vrow .thumb{opacity:.25;font-size:1.3em;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.vrow.out{background:#ffe3de;transform:scale(.98)}.vrow.out .atext{text-decoration:line-through;text-decoration-thickness:3px}.vrow.out .thumb{opacity:1;transform:scale(1.3)rotate(-12deg)}.vrow.off{cursor:default;border-left-color:var(--line);box-shadow:none;background:#f6eee2}.vrow.off .stamp{animation:none}.big-score{font-family:var(--script);text-align:center;color:var(--ketchup);font-size:3.4em;line-height:1}.big-score span{font-family:var(--round);color:var(--ink-soft);font-size:.35em}.mylist{flex-direction:column;gap:.4em;list-style:none;display:flex}.mylist li{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:12px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:.6em;padding:.5em .8em;font-size:.92em;display:grid}.mylist .catname{color:var(--ink-soft);font-weight:500}.mylist .atext{overflow-wrap:anywhere;font-weight:700}.mylist li.no{background:#f6eee2}.mylist li.no .atext{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:2px}.mylist .pts{color:var(--ink-soft);font-size:.8em;font-weight:600}.mylist li.ok .pts{color:#24803a;font-weight:700}.waiting{color:var(--ink-soft);background:var(--paper);box-shadow:var(--shadow-sm);border-radius:999px;justify-content:center;align-items:center;gap:.5em;padding:.4em 1em;font-weight:600;display:flex}.anscard{background:var(--paper);border-top:.5em solid var(--ketchup);width:min(36em,100%);box-shadow:var(--shadow);text-align:center;border-radius:1.2em;align-self:center;padding:1.4em 1.6em 1.2em;animation:.45s cubic-bezier(.34,1.56,.64,1) both cardin;position:relative}@keyframes cardin{0%{opacity:0;transform:translateY(1.5em)rotate(4deg)scale(.9)}}.anscard.k-same{border-top-color:var(--mustard)}.anscard.k-letter,.anscard.tossed{border-top-color:var(--line)}.anstext{font-family:var(--script);color:var(--ink);overflow-wrap:anywhere;font-size:3.6em;line-height:1.1}.anstext.long{font-size:2.6em}.anstext.xlong{font-size:1.9em}.anscard.k-letter .anstext,.anscard.k-same .anstext,.anscard.tossed .anstext{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:.06em}.authors{flex-wrap:wrap;justify-content:center;gap:.6em 1.4em;margin:.9em 0 .7em;display:flex}.author{align-items:center;gap:.4em;font-size:1.4em;display:flex}.author .av{width:2.4em;height:2.4em}.cardfoot{justify-content:center;align-items:center;gap:1em;min-height:2.6em;font-size:1.3em;display:flex}.stamp.big{border-width:3px;padding:.25em .9em;font-size:1.1em}.voters{gap:.3em;display:flex}.voter{opacity:.25;filter:grayscale();transition:all .25s}.voter.in{opacity:1;filter:none;transform:translateY(-.2em)}.clock.small{font-size:1em}.tally{color:var(--ink-soft);font-weight:700}.tv-review .anscard{font-size:1.15em}.anscard.small{width:100%;padding:1em 1em .8em;font-size:.8em}.anscard.small .author{font-size:1.2em}.ballot{grid-template-columns:1fr 1fr;gap:.8em;display:grid}.vote{cursor:pointer;background:var(--paper);box-shadow:var(--shadow-sm);border:3px solid #0000;border-radius:1.1em;flex-direction:column;align-items:center;gap:.2em;padding:.8em .4em;font-size:1.2em;font-weight:700;transition:transform .15s cubic-bezier(.34,1.56,.64,1);display:flex}.vote span{font-size:2.2em}.vote:active{transform:scale(.95)}.vote.keep.on{background:#e1f5dc;border-color:#24803a;transform:rotate(-2deg)scale(1.03)}.vote.toss.on{border-color:var(--ketchup);background:#ffe3de;transform:rotate(2deg)scale(1.03)}.review .stamp.big{align-self:center}.phbar .catcount{font-size:.95em}@property --num{syntax:"<integer>";inherits:false;initial-value:0}.tick{animation:count 1.4s var(--d,0s) ease-out both;counter-reset:num var(--num)}.tick:after{content:counter(num)}.has-prop .tick .n{display:none}html:not(.has-prop) .tick:after{content:none}@keyframes count{0%{--num:var(--from)}to{--num:var(--to)}}.tally-h{font-family:var(--script);color:var(--ketchup);-webkit-text-stroke:.05em var(--paper);paint-order:stroke fill;text-shadow:0 .06em 0 var(--ink);font-size:3em;font-weight:400;transform:rotate(-2deg)}.race{flex-direction:column;gap:.6em;width:min(54em,100%);font-size:1.35em;list-style:none;display:flex}.race li{background:var(--paper);box-shadow:var(--shadow-sm);border-radius:999px;grid-template-columns:auto 6em 1fr 2.4em;align-items:center;gap:.7em;padding:.25em 1em .25em .4em;animation:.4s ease-out both slidein;display:grid;position:relative}.race li.lead{background:#fff4cf}.race .av{width:2.4em;height:2.4em}.track{background:#f3e9dc;border-radius:999px;height:1.1em;position:relative}.fill{height:100%;width:var(--to);background:var(--c);min-width:1.1em;animation:grow 1.4s var(--d) cubic-bezier(.2, .8, .2, 1) both;border-radius:999px;display:block;box-shadow:inset 0 -.2em #00000026,inset 0 0 0 2px #3c1e1459}@keyframes grow{0%{width:var(--from)}}.gainchip{top:50%;left:min(calc(var(--to,0%) + .4em), calc(100% - 2.8em));color:#24803a;animation:popin .4s calc(var(--d) + 1.3s) cubic-bezier(.34, 1.56, .64, 1) both;background:#e1f5dc;border-radius:999px;padding:.05em .5em;font-size:.8em;font-weight:700;position:absolute;translate:0 -50%}@keyframes popin{0%{opacity:0;transform:scale(0)}}.race .total{text-align:right;font-variant-numeric:tabular-nums;font-size:1.3em;font-weight:700}.race .crown{font-size:1.3em;animation:.5s cubic-bezier(.34,1.56,.64,1) 2.6s both popin;position:absolute;top:-.8em;left:.1em;transform:rotate(-18deg)}.parade.small{margin:.2em 0 .6em}.parade.small img{width:3.2em;height:3.2em}.av.reveal{animation:.7s cubic-bezier(.34,1.56,.64,1) both reveal,1.6s ease-in-out .7s infinite bob}@keyframes reveal{0%{transform:scale(0)rotate(-180deg)}}.youare{color:var(--ink-soft);margin-top:.3em;font-weight:600}.me .catname{font-family:var(--script);color:var(--ketchup);margin-top:-.2em;font-size:2.4em;font-weight:400}.ph>.hint{text-align:center}.tv-lobby{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}.ptiles{grid-template-columns:repeat(4,minmax(0,1fr))}.ptile{min-width:0}.ptiles.many{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5em;margin:.6em 0}.ptiles.many .ptile{padding:.4em .2em .3em}.ptiles.many .ptile .av{width:3.2em;height:3.2em}.status.many{gap:.3em}.status.many li{padding:.15em .6em}.status.many .av{width:2em;height:2em}.race.many{grid-template-rows:repeat(var(--rows), auto);grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:column;gap:.6em 1.6em;width:min(84em,100%);font-size:1.1em;display:grid}@media (height<=800px){body.tv .overlay.final:has(.sc-row:nth-child(8)){zoom:.85}}@media (width<=1100px),(height<=620px){.tv-lobby{gap:1.6em;padding:3.2em 2em 1.2em}.tv-lobby .brand .mascot{width:6.5em}.tv-lobby .logo{font-size:4em}.joincard{gap:1em;padding:1em 1.2em}.qr{width:9.5em;height:9.5em}.code{font-size:2.6em}.tv-lobby .side{padding:1em 1.2em}.tv-lobby .side .btn.big{padding-block:.5em}}@media (height<=620px){.tv-round{padding:3em 2em 1em}.tv-write{gap:1.6em}.tv-write .letter{font-size:6em}.menu{padding:.6em 1.2em .8em}.menu-h{margin-bottom:.1em;font-size:1.5em}.catlist{gap:.2em;font-size:1.25em}.catlist li{padding-bottom:.1em}}.pname.two,.sc-name.two,.st-name.two,.vname.two,.nm.two{-webkit-line-clamp:2;white-space:normal;overflow-wrap:normal;word-break:normal;text-wrap:balance;-webkit-box-orient:vertical;line-height:1.1;display:-webkit-box}.two.split{overflow-wrap:anywhere}
