@font-face{font-family:Shrikhand;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/shrikhand-latin-400-normal-PjOFgsiX.woff2)format("woff2"),url(/assets/shrikhand-latin-400-normal-CDpcAN0A.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2)format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2)format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff)format("woff")}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/dm-sans-latin-800-normal-C2H8778U.woff2)format("woff2"),url(/assets/dm-sans-latin-800-normal-BwbkPQqB.woff)format("woff")}:root{--wine-900:#2b0613;--wine-800:#3b0a17;--wine-700:#5c0f26;--wine-600:#7a1328;--gold:#ffd36b;--gold-2:#f2a93b;--gold-3:#b8701d;--orange:#ef6a2c;--rust:#c2410c;--cream:#fff1d6;--cream-dim:#fff1d6b8;--green:#7dd3a8;--green-ink:#15803d;--red:#ff8a65;--radius:16px;--display:"Shrikhand", Georgia, serif;--body:"DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--body);color:var(--cream);background:var(--wine-900);-webkit-tap-highlight-color:transparent}*{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}body{background:radial-gradient(ellipse 80% 45% at 50% -8%, #ffd6786b, transparent 70%), repeating-conic-gradient(from 0deg at 50% 12%, #ffaa3c14 0 7deg, transparent 7deg 14deg), linear-gradient(var(--wine-700), var(--wine-900) 70%);background-attachment:fixed}h1,h2,p{margin:0}h2{letter-spacing:.25em;text-transform:uppercase;color:var(--gold);font-size:.75rem;font-weight:800}button{font:inherit;letter-spacing:.06em;text-transform:uppercase;background:linear-gradient(#ffe08a, var(--gold-2));color:var(--wine-800);box-shadow:inset 0 -4px 0 var(--gold-3), 0 4px 14px #f2a93b59;cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.2rem;font-weight:800;transition:transform 80ms,opacity .2s}button:active:not(:disabled){box-shadow:inset 0 -2px 0 var(--gold-3);transform:translateY(2px)}button:disabled{opacity:.45;cursor:default}button.secondary{color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);background:0 0}button.ghost{color:var(--cream);box-shadow:none;text-transform:none;letter-spacing:0;background:0 0}button.small{padding:.35rem .6rem;font-size:1rem}button.icon{width:2.5rem;height:2.5rem;color:var(--cream);text-transform:none;letter-spacing:0;background:#fff1d614;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;box-shadow:inset 0 0 0 1px #ffd36b59}input,textarea{font:inherit;background:var(--cream);width:100%;color:var(--wine-800);box-shadow:inset 0 0 0 2px var(--gold-2);resize:none;border:0;border-radius:12px;padding:.85rem 1rem;font-size:1.1rem;font-weight:700}input::placeholder,textarea::placeholder{color:#3b0a1766}input:focus,textarea:focus{box-shadow:inset 0 0 0 3px var(--orange), 0 0 0 4px #ffd36b40;outline:none}label{letter-spacing:.2em;text-transform:uppercase;color:var(--gold);gap:.45rem;font-size:.75rem;font-weight:800;display:grid}.stack{gap:1rem;display:grid}.row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.row.tight{gap:.4rem}.center{text-align:center;justify-items:center}.muted{color:var(--cream-dim)}.card{border-radius:var(--radius);background:#fff1d60f;border:1px solid #ffd36b4d;padding:1.1rem}.bulbs{background:var(--cream);color:var(--wine-800);box-shadow:0 0 0 4px var(--gold-2), 0 0 0 12px var(--wine-600), 0 12px 28px #00000073;border-radius:18px;margin:12px;padding:1.1rem;position:relative}.bulbs:before{content:"";pointer-events:none;background:radial-gradient(circle,#fff7c2 0 2.4px,#ffd67859 3.2px,#0000 4px) 0 0/13px 12px space;border-radius:30px;padding:12px;animation:1.2s step-end infinite bulbs;position:absolute;inset:-12px;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.bulbs h2{color:var(--rust)}.logo{font-family:var(--display);text-transform:none;letter-spacing:0;text-align:center;color:var(--gold);text-shadow:0 3px 0 var(--rust), 0 6px 0 #6b0f1a, 0 0 26px #ffbe508c;font-weight:400;line-height:.92;transform:rotate(-4deg)}.logo small{font-family:var(--body);letter-spacing:.4em;color:var(--cream);text-shadow:none;margin-bottom:.5rem;font-size:.7rem;font-weight:800;display:block;transform:rotate(4deg)}.home{gap:2rem;max-width:440px;margin:0 auto;padding:2.5rem 1.25rem;display:grid}.brand{text-align:center;gap:1.4rem;display:grid}.brand .logo{font-size:clamp(3rem,15vw,4.2rem)}.brand p{color:var(--cream-dim);max-width:30ch;margin:0 auto}.code-input{text-transform:uppercase;letter-spacing:.4em;text-align:center;font-family:var(--display);padding:.5rem 1rem;font-size:1.6rem;font-weight:400}.or{text-align:center;font-family:var(--display);color:var(--gold)}.game{flex-direction:column;max-width:560px;min-height:100dvh;margin:0 auto;display:flex}.game-header{z-index:2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2b0613d9;border-bottom:1px solid #ffd36b40;padding:.6rem 1rem;position:sticky;top:0}.game-body{flex:1;padding:1.25rem 1rem 3rem}.pill{letter-spacing:.15em;align-items:center;gap:.45rem;font-size:.85rem;font-weight:800;display:inline-flex}.phase-label{letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:.72rem;font-weight:800;overflow:hidden}.dot{border-radius:50%;width:.55rem;height:.55rem}.dot.on{background:var(--green);box-shadow:0 0 8px var(--green)}.dot.off{background:var(--red);animation:1s infinite blink}.offline{color:var(--red);text-align:center;margin-top:.4rem;font-size:.85rem}.timer{--p:1;width:2.6rem;height:2.6rem;font-family:var(--display);color:var(--wine-800);background:radial-gradient(circle, var(--cream) 0 58%, transparent 60%), conic-gradient(var(--gold-2) calc(var(--p) * 360deg), #fff1d62e 0);box-shadow:0 0 0 2px var(--wine-600);border-radius:50%;flex:none;place-items:center;font-size:1.05rem;display:grid}.timer.hurry{background:radial-gradient(circle, var(--cream) 0 58%, transparent 60%), conic-gradient(var(--orange) calc(var(--p) * 360deg), #fff1d62e 0);animation:.5s infinite alternate pulse}.room-code{font-family:var(--display);letter-spacing:.1em;color:var(--rust);font-size:3.6rem;line-height:1.1}.code-card{text-align:center;gap:.25rem;display:grid}.players{grid-template-columns:1fr 1fr;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.players li{background:#fff1d614;border:1px solid #ffd36b4d;border-radius:12px;align-items:center;gap:.5rem;min-width:0;padding:.45rem .55rem;font-weight:700;display:flex}.players li .name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.players li button{flex:none}.avatar{width:1.75rem;height:1.75rem;color:var(--wine-800);border-radius:50%;flex:none;place-items:center;font-size:.8rem;font-style:normal;font-weight:800;display:grid}.away{opacity:.45}.setting{letter-spacing:0;text-transform:none;color:var(--cream);justify-content:space-between;align-items:center;gap:.75rem;font-size:1rem;display:flex}.setting small{color:var(--cream-dim);margin-top:.15rem;font-size:.82rem;font-weight:400;display:block}.stepper{align-items:center;gap:.6rem;font-size:1.3rem;font-weight:800;display:inline-flex}.switch{appearance:none;cursor:pointer;background:#fff1d626;border-radius:999px;flex:none;width:3.1rem;height:1.8rem;margin:0;padding:0;transition:background .2s;position:relative;box-shadow:inset 0 0 0 2px #ffd36b66}.switch:after{content:"";background:var(--cream);border-radius:50%;width:1.3rem;height:1.3rem;transition:transform .2s;position:absolute;top:.25rem;left:.25rem}.switch:checked{background:var(--gold-2)}.switch:checked:after{background:var(--wine-800);transform:translate(1.3rem)}.chips{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chip{background:#fff1d614;border:1px solid #ffd36b4d;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem .25rem .25rem;font-size:.88rem;font-weight:700;display:inline-flex}.chip .avatar{width:1.4rem;height:1.4rem;font-size:.7rem}.chip.done{border-color:var(--green);background:#7dd3a838}.intro{gap:1.4rem;padding-top:10vh;animation:.5s cubic-bezier(.2,1.4,.4,1) pop}.intro .round-no{letter-spacing:.35em;text-transform:uppercase;font-size:.75rem;font-weight:800}.intro .logo{font-size:clamp(2.6rem,13vw,3.6rem)}.rules{max-width:28ch;color:var(--cream-dim);font-size:1.1rem}.badge.final{background:var(--orange);color:var(--cream);letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:.4rem 1rem;font-size:.8rem;font-weight:800;box-shadow:0 0 24px #ef6a2c99}.prompt{font-size:1.35rem;font-weight:800;line-height:1.3}.prompt .blank{color:#3b0a1759;letter-spacing:-.1em}.prompt .fill{color:var(--rust);border-bottom:3px dashed var(--rust);background:0 0}.decoys{gap:.55rem}.decoys .decoy{text-align:left;color:var(--cream);box-shadow:none;text-transform:none;letter-spacing:0;background:0 0;border:1.5px dashed #ffd36b99;border-radius:12px;padding:.8rem 1rem;font-weight:700}.or-decoy{text-align:center;font-family:var(--display);color:var(--gold);font-size:1.05rem}.waiting{text-align:center;font-family:var(--display);color:var(--gold);font-size:1.3rem}.quiz-no{font-family:var(--display);letter-spacing:0;text-transform:none;margin-bottom:.4rem;font-size:1.15rem;font-weight:400}.quiz-no span{font-family:var(--body);opacity:.6;font-size:.8rem;font-weight:800}.quiz-answer{text-align:center;font-size:1.2rem;font-weight:800}.ballot{gap:.6rem}.entry{text-align:left;color:var(--cream);text-transform:none;letter-spacing:0;background:#fff1d614;border-radius:14px;padding:1rem;font-size:1.05rem;animation:.35s ease-out both reveal-in;box-shadow:inset 0 0 0 1.5px #ffd36b66}.entry.chosen{background:var(--cream);color:var(--wine-800);box-shadow:0 0 0 3px var(--gold), 0 0 22px #ffd36b8c}.entry small{opacity:.75;font-weight:400}.reveal-title{font-family:var(--display);color:var(--gold);text-align:center;text-shadow:0 3px 0 var(--rust);font-size:1.7rem;font-weight:400;transform:rotate(-3deg)}.reveal{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.reveal-card,.reveal-scores{opacity:0;animation:.5s cubic-bezier(.2,1.3,.4,1) forwards reveal-in}.reveal-card{background:#fff1d614;border:1px solid #ffd36b4d;border-radius:14px;gap:.3rem;padding:.85rem 1rem;display:grid}.reveal-card.house{border-color:var(--orange);background:#c2410c40}.reveal-card.star{background:var(--cream);color:var(--wine-800);box-shadow:0 0 0 3px var(--gold), 0 0 28px #ffd36b99;border-color:#0000}.reveal-text{font-size:1.1rem;font-weight:800}.reveal-meta{justify-content:space-between;align-items:baseline;gap:.5rem;font-size:.88rem;display:flex}.voters{opacity:.8;font-size:.82rem}.reveal-scores{gap:.9rem;margin-top:.5rem;display:grid}.delta{font-family:var(--display);white-space:nowrap}.delta.up{color:var(--green)}.star .delta.up{color:var(--green-ink)}.delta.down{color:var(--red)}.scoreboard{gap:.3rem;width:100%;margin:0;padding:0;list-style:none;display:grid}.scoreboard li{border-bottom:1px dashed #3b0a1733;align-items:center;gap:.6rem;padding:.35rem .2rem;font-weight:700;animation:.3s ease-out both reveal-in;display:flex}.scoreboard li:last-child{border-bottom:0}.scoreboard li.me{font-weight:800}.scoreboard .rank{font-family:var(--display);color:var(--rust);width:1.4rem}.scoreboard .name{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.scoreboard .score{font-family:var(--display);font-variant-numeric:tabular-nums}.scoreboard .delta.up{color:var(--green-ink)}.scoreboard .delta.down{color:var(--rust)}.end{gap:1.4rem;padding-top:4vh}.end .winner{font-size:clamp(2.6rem,13vw,3.8rem);animation:.6s cubic-bezier(.2,1.4,.4,1) .2s both pop}.end .bulbs{width:calc(100% - 24px)}.toast{background:var(--orange);width:max-content;max-width:min(92vw,480px);color:var(--cream);z-index:10;border-radius:12px;padding:.75rem 1.1rem;font-weight:700;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #0008}@keyframes reveal-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}@keyframes pop{0%{opacity:0;transform:scale(.7)rotate(-4deg)}}@keyframes pulse{to{transform:scale(1.12)}}@keyframes blink{50%{opacity:.3}}@keyframes bulbs{50%{filter:brightness(.7)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}html.tv-mode{cursor:default;font-size:clamp(16px,1.25vw,44px)}.tv{flex-direction:column;min-height:100dvh;display:flex}.tv-body{flex:1;align-items:center;padding:1.5rem 3rem 2.5rem;display:grid}a.button{letter-spacing:.06em;text-transform:uppercase;text-align:center;background:linear-gradient(#ffe08a, var(--gold-2));color:var(--wine-800);border-radius:999px;padding:.9rem 1.2rem;font-weight:800;text-decoration:none;display:inline-block}a.button.secondary{color:var(--gold);box-shadow:inset 0 0 0 2px var(--gold);background:0 0}.tv-header{background:#2b0613d9;border-bottom:1px solid #ffd36b40;align-items:center;gap:1.5rem;padding:.8rem 2rem;display:flex}.tv-header-logo{text-shadow:0 2px 0 var(--rust);font-size:1.6rem;transform:rotate(-3deg)}.tv-header .phase-label{flex:1;font-size:.9rem}.tv-header-right{gap:.8rem}.tv-join-hint{color:var(--cream-dim);font-size:.85rem}.tv-join-hint strong{color:var(--gold);letter-spacing:.08em}.tv-offline{color:var(--red)}.tv .timer{width:3.4rem;height:3.4rem;font-size:1.4rem}.tv-message{text-align:center;justify-content:center;align-items:center;gap:2.5rem;padding:3rem}.tv-logo{font-size:4.5rem}.tv-logo small{font-size:.9rem}.tv-big{font-size:1.6rem;font-weight:800}.tv-code-form{width:min(28rem,90vw)}.tv-code-form .code-input{font-size:2.4rem}.tv-lobby{grid-template-columns:auto 1fr;align-items:center;gap:4rem;width:100%;max-width:76rem;margin:0 auto;display:grid}.tv-join{text-align:center;justify-items:center;gap:.6rem;padding:1.6rem 2rem;display:grid}.tv-join .qr{width:15rem;height:15rem}.tv-join .qr svg{width:100%;height:100%;display:block}.tv-join-url{font-size:1.1rem;font-weight:800}.tv-join .room-code{font-size:5rem}.tv-lobby-side{align-content:center;gap:1.2rem;display:grid}.tv-lobby-side .tv-logo{text-align:left;justify-self:start;margin-bottom:1rem;font-size:4rem}.tv h2{font-size:.95rem}.tv-players{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0;padding:0;list-style:none;display:grid}.tv-players li{background:#fff1d614;border:1px solid #ffd36b4d;border-radius:14px;align-items:center;gap:.6rem;min-width:0;padding:.6rem .8rem;font-size:1.15rem;font-weight:800;animation:.4s cubic-bezier(.2,1.3,.4,1) both reveal-in;display:flex}.tv-players li.empty{color:var(--cream-dim);background:0 0;border-style:dashed;font-weight:700;animation:none}.tv-players li.empty .avatar{color:var(--cream-dim);background:#fff1d61f}.tv-players .avatar{width:2.2rem;height:2.2rem;font-size:1rem}.tv-players .name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tv-status{text-align:center;font-size:1.25rem;font-weight:700}.tv-lobby-side .tv-status{text-align:left;color:var(--gold)}.tv-status strong{font-family:var(--display);color:var(--gold);font-size:1.5em;font-weight:400}.tv .intro{padding-top:0}.tv .intro .logo{font-size:6rem}.tv .intro .rules{font-size:1.5rem}.tv .intro .round-no{font-size:1rem}.tv-round{gap:1.8rem;width:100%;max-width:64rem;margin:0 auto;display:grid}.tv .prompt{font-size:2.4rem;line-height:1.25}.tv .bulbs{padding:1.6rem 2rem}.tv .quiz-no{font-size:1.6rem}.tv .chips{gap:.6rem}.tv .chip{padding:.35rem .9rem .35rem .35rem;font-size:1.05rem}.tv .chip .avatar{width:1.8rem;height:1.8rem}.tv-ballot{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem;margin:0;padding:0;list-style:none;display:grid}.tv-ballot .entry{padding:1.1rem 1.4rem;font-size:1.45rem;font-weight:800}.tv-ballot:has(>li:nth-child(7)){grid-template-columns:repeat(3,minmax(0,1fr))}.tv-ballot:has(>li:nth-child(7)) .entry{padding:.9rem 1.1rem;font-size:1.2rem}.tv-round:has(.tv-ballot>li:nth-child(7)){gap:1.3rem;max-width:80rem}.tv-reveal{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:center;gap:3rem;width:100%;max-width:84rem;margin:0 auto;display:grid}.tv-reveal-cards{gap:1.2rem;display:grid}.tv .reveal-title{font-size:2.6rem}.tv .reveal{gap:.8rem}.tv-reveal:has(.reveal>li:nth-child(7)){grid-template-columns:minmax(0,2.6fr) minmax(0,1fr);gap:2rem;max-width:none}.tv .reveal:has(>li:nth-child(7)){grid-template-columns:repeat(3,minmax(0,1fr))}.tv .reveal:has(>li:nth-child(7)) .reveal-text{font-size:1.15rem}.tv .reveal-card{padding:.9rem 1.3rem}.tv .reveal-text{font-size:1.45rem}.tv .reveal-meta{font-size:1rem}.tv .voters{font-size:.95rem}.tv .scoreboard li{padding:.5rem .3rem;font-size:1.2rem}.tv .scoreboard .avatar{width:2rem;height:2rem}.tv-end{width:100%;max-width:40rem;margin:0 auto}.tv .end .winner{font-size:6rem}.tv-audio-hint{z-index:10;text-transform:none;letter-spacing:0;animation:.9s infinite alternate pulse;position:fixed;bottom:1.5rem;right:1.5rem}.tv-card{gap:.7rem}.tv-card h2{letter-spacing:.15em;min-width:0}.tv-card .small{font-size:.88rem}.tv-address{color:var(--gold);word-break:break-all}.tv-actions{flex-wrap:wrap;justify-content:flex-start}.tv-actions>*{padding:.6rem .9rem;font-size:.85rem}.tv-on{white-space:nowrap;letter-spacing:.04em;color:var(--green);flex:none;font-size:.75rem}@media (width<=800px){.tv-lobby,.tv-reveal{grid-template-columns:1fr;gap:2rem}.tv-players,.tv-ballot{grid-template-columns:1fr 1fr}.tv-join-hint{display:none}}
