@font-face{font-family:Archivo;src:url(/fonts/archivo-var.woff2) format("woff2-variations");font-weight:100 900;font-stretch:62% 125%;font-display:swap}@font-face{font-family:Martian Mono;src:url(/fonts/martianmono-var.woff2) format("woff2-variations");font-weight:100 800;font-stretch:75% 112.5%;font-display:swap}:root{--display: "Archivo", "Arial Black", system-ui, sans-serif;--text: "Archivo", system-ui, sans-serif;--mono: "Martian Mono", ui-monospace, monospace;--bg: #0b0b0b;--stage-lift: #141414;--card: #181818;--panel: #181818cc;--ink: #ffffff;--dim: #b3b3b3;--accent: #e50914;--hot: #ff4b55;--pop: #e50914;--go: #46d369;--onfill: #ffffff;--line: #2a2a2a;--radius: 18px}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink)}body{font-family:var(--text);min-height:100dvh;overscroll-behavior-y:none;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;background:linear-gradient(180deg,var(--stage-lift) 0%,var(--bg) 46%) fixed}#app{max-width:480px;margin:0 auto;padding:20px 18px calc(24px + env(safe-area-inset-bottom));min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3,.brand{font-family:var(--display);font-stretch:112%}h1{font-size:2rem;font-weight:800;line-height:1.1;margin:.4em 0}h2{font-size:1.3rem;margin:.4em 0}.dim{color:var(--dim)}.small{font-size:.85rem}.brand{font-weight:800;letter-spacing:.02em;font-size:1rem;color:var(--hot);text-transform:uppercase}.tag{color:var(--dim);font-size:.9rem}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:10px 0}button,.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;font:600 1.05rem var(--text);border-radius:14px;padding:16px 20px;width:100%;background:var(--accent);color:var(--onfill);transition:transform .06s ease;min-height:48px;touch-action:manipulation}button:active{transform:scale(.98)}button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line)}button.danger{background:var(--pop);color:var(--onfill)}button.go{background:var(--go);color:#0b0b0b}button:disabled{opacity:.45;cursor:default}input[type=text],textarea{width:100%;padding:16px;border-radius:14px;border:1px solid var(--line);background:#141414;color:var(--ink);font:500 max(16px,1.05rem) var(--text);min-height:52px}input[type=text]:focus,textarea:focus{outline:2px solid var(--accent);border-color:transparent}textarea{resize:none;line-height:1.45;min-height:92px}.wordcount{text-align:right;font-variant-numeric:tabular-nums;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}.wordcount.over{color:var(--hot);font-weight:700}.composer{position:sticky;bottom:calc(env(safe-area-inset-bottom)*-1);z-index:20;margin:12px 0 0;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:linear-gradient(180deg,#0b0b0b00,var(--card) 18%);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#app{scroll-padding-bottom:140px}.row{display:flex;gap:10px;align-items:center}.grow{flex:1}.stack>*+*{margin-top:10px}.tile{display:block;text-align:left;background:var(--card);color:var(--ink);border:1px solid var(--line)}.tile .maker{color:var(--hot);font-size:.85rem;font-weight:600}.tile h3{margin:4px 0;font-size:1.4rem}.tile.soon{opacity:.55}.code{font-family:var(--mono);font-weight:700;font-size:clamp(1.6rem,11vw,2.4rem);letter-spacing:clamp(.12em,4vw,.35em);text-align:center;color:var(--hot);padding:10px 0 4px;overflow-wrap:anywhere}.qr{display:flex;justify-content:center;padding:8px}.qr canvas{border-radius:12px;background:#fff;padding:10px}.playerlist{list-style:none;padding:0;margin:8px 0}.playerlist li{display:flex;align-items:center;gap:10px;padding:8px 4px;border-bottom:1px solid var(--line)}.dot{width:10px;height:10px;border-radius:50%;background:var(--go);flex:none}.dot.off{background:var(--line)}.hostmark{color:var(--hot);font-size:.8rem}.rolepill{display:inline-block;font-weight:800;font-family:var(--display);padding:6px 14px;border-radius:999px;font-size:.85rem;letter-spacing:.08em}.rolepill.SPEAKER{background:var(--pop);color:var(--onfill);font-weight:800}.rolepill.GUESSER{background:#232323;color:var(--ink);border:1px solid var(--line)}.rolepill.HOST{background:var(--accent);color:var(--onfill)}.secretcard{border:2px solid var(--accent)}.secretword{font-stretch:118%;font-weight:900;font-family:var(--display);font-weight:800;text-align:center;padding:6px 0;font-size:clamp(1.5rem,8vw,2rem);overflow-wrap:anywhere;text-wrap:balance}.forbidden{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.forbidden span{background:#2a0e11;color:var(--hot);border:1px solid #5c1a1f;padding:4px 10px;border-radius:999px;font-size:.85rem}.cluebox{font-family:var(--display);font-weight:700;text-align:center;padding:12px 0;font-size:clamp(1.25rem,6.5vw,1.6rem);overflow-wrap:anywhere;text-wrap:balance}.budget{text-align:center;color:var(--dim)}.caption{border-left:3px solid var(--accent);padding:10px 14px;margin:12px 0;color:var(--ink);background:#141414;border-radius:0 12px 12px 0;font-style:italic}.caption .who{color:var(--hot);font-style:normal;font-weight:700;font-size:.8rem}.scores{width:100%;border-collapse:collapse}.scores td{padding:8px 4px;border-bottom:1px solid var(--line)}.scores td:last-child{text-align:right;font-family:var(--mono);font-weight:700;font-variant-numeric:tabular-nums}.winner{color:var(--go)}.reveal{text-align:center}.reveal .word{font-family:var(--display);font-size:1.8rem;font-weight:900;font-stretch:125%;color:var(--hot)}.error{background:#2a0e11;border:1px solid var(--pop);color:var(--hot);padding:12px 14px;border-radius:12px;margin:10px 0}footer{margin-top:auto;padding-top:24px;text-align:center;color:var(--dim);font-size:.75rem}footer a{color:var(--dim)}@media (prefers-reduced-motion: reduce){button:active{transform:none}}@media (max-height: 480px) and (orientation: landscape){#app{padding-top:8px}h1{font-size:1.5rem;margin:.2em 0}.card{padding:12px;margin:6px 0}.clock{font-size:1.4rem;padding:0}.code{font-size:clamp(1.4rem,6vw,2rem);padding:4px 0 0}.secretword{font-size:clamp(1.3rem,5vw,1.8rem)}.cine{padding:3vh 6vw}footer{padding-top:12px}}#app.board{max-width:900px}#app.board .code{font-size:4rem}#app.board .cluebox{font-size:2.6rem}#app.board .caption,#app.board .scores td{font-size:1.2rem}#app.board .composer{position:static;-webkit-backdrop-filter:none;backdrop-filter:none}.tally,.lowerthird{position:fixed;left:0;right:0;height:4vh;z-index:51;display:flex;align-items:center;gap:1.6vw;padding:0 2vw;pointer-events:none;overflow:hidden;font-family:var(--mono);font-weight:700;font-size:clamp(.62rem,1.55vh,1rem);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}.tally{top:0}.lowerthird{bottom:0;gap:1.1vw}.tally-show{color:var(--ink);letter-spacing:.2em}.onair{display:inline-flex;align-items:center;gap:.5em}.onair i{width:.62em;height:.62em;border-radius:50%;background:var(--line)}.onair.live{color:var(--hot)}.onair.live i{background:var(--accent)}.tally .clock{font-size:inherit;padding:0;color:var(--ink);font-family:var(--mono)}.tally .clock.urgent{color:var(--hot)}.lt-label{color:var(--dim);letter-spacing:.24em;flex:none}.lt-score{color:var(--ink);letter-spacing:.06em;white-space:nowrap}.lt-score b{font-weight:800}.lt-score.lead b{color:var(--hot)}#app.board{padding-top:6vh;padding-bottom:7vh}.clock{font-family:var(--mono);font-weight:700;font-size:2rem;text-align:center;color:var(--go);padding:4px 0;font-variant-numeric:tabular-nums}.clock.urgent{color:var(--hot)}.ballot{list-style:none;padding:0;margin:4px 0}.ballotrow{display:flex;align-items:center;gap:10px;padding:10px 4px;border-bottom:1px solid var(--line)}.ballotrow .slot{flex:1;font-family:var(--text);font-weight:600;font-size:clamp(1rem,4.5vw,1.15rem);overflow-wrap:anywhere}.votebtns{display:flex;gap:8px;flex:none}button.vote{width:52px;min-width:52px;min-height:52px;padding:0;font-size:1.4rem;line-height:1;border-radius:14px;background:#232323;border:1px solid var(--line);color:var(--ink)}button.vote.funny:active{background:var(--accent)}button.vote.close:active{background:var(--go)}button.vote:disabled{opacity:.25}.badge{display:inline-block;font-size:.65rem;font-weight:800;letter-spacing:.06em;padding:2px 7px;border-radius:999px;margin-left:6px;vertical-align:middle}.badge.hit{background:var(--go);color:#0b0b0b}.badge.funny{background:var(--accent);color:var(--onfill)}.badge.close{background:var(--pop);color:var(--onfill)}#app.board .ballotrow .slot{font-size:2rem}#app.board .ballot{margin:12px 0}.guessfeed{list-style:none;padding:0;margin:4px 0}.guessfeed li{padding:6px 4px;border-bottom:1px solid var(--line)}.guessfeed li.hit{color:var(--go)}.guessfeed li.miss{color:var(--dim)}.guessfeed li b{color:var(--ink);font-weight:600}.revealline{font-style:italic}body.theater:before,body.theater:after{content:"";position:fixed;left:0;right:0;height:4vh;background:#000;z-index:50;pointer-events:none}body.theater:before{top:0}body.theater:after{bottom:0}body.theater{background:linear-gradient(180deg,#101722 0%,var(--bg) 44%)}body.theater #app:before{content:"";position:fixed;left:0;right:0;top:68%;height:1px;background:linear-gradient(90deg,transparent,var(--line) 18%,var(--line) 82%,transparent);pointer-events:none;z-index:-1}body.tension .tally{background:var(--accent);color:var(--onfill);animation:tally-pulse 1s steps(2,jump-none) infinite}body.tension .tally .clock,body.tension .tally .clock.urgent,body.tension .tally-show,body.tension .onair.live{color:var(--onfill)}body.tension .onair.live i{background:var(--onfill)}@keyframes tally-pulse{50%{background:#b0060f}}.attract-head{text-align:center;padding:4vh 0 1vh}.cine-studio-inline{font-family:var(--display);letter-spacing:.45em;font-size:.8rem;color:var(--dim);text-transform:uppercase}.cine-studio-inline span{color:var(--hot);margin-left:.6em;letter-spacing:.3em}.attract-title{max-width:100%;overflow-wrap:break-word;text-wrap:balance;font-stretch:125%;font-weight:900;font-family:var(--display);font-weight:800;margin:.15em 0;font-size:clamp(3rem,9vw,7rem);letter-spacing:.06em;background:linear-gradient(180deg,#fff,#ffd166 65%,#a8644a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px #ffd16633;animation:marquee-glow 3.2s ease-in-out infinite}@keyframes marquee-glow{50%{text-shadow:0 0 110px #ffd16666}}.attract-line{color:var(--dim);font-style:italic;min-height:1.4em;animation:line-fade 5s ease-in-out infinite}@keyframes line-fade{0%,12%{opacity:0}25%,82%{opacity:1}95%,to{opacity:0}}.cine{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#000;opacity:1;transition:opacity .6s ease;padding:6vh 6vw;overflow:hidden}.cine.out{opacity:0}.cine-studio{font-family:var(--display);letter-spacing:.5em;color:var(--dim);font-size:clamp(.8rem,2vw,1.2rem);text-transform:uppercase;animation:studio-in 1.1s ease both}.cine-studio span{display:block;color:var(--hot);font-size:.75em;margin-top:.6em;letter-spacing:.35em}@keyframes studio-in{0%{opacity:0;transform:translateY(12px)}}.cine-title{max-width:100%;overflow-wrap:break-word;text-wrap:balance;font-stretch:125%;font-weight:900;font-family:var(--display);font-weight:800;margin-top:4vh;font-size:clamp(3.5rem,13vw,11rem);letter-spacing:.05em;background:linear-gradient(180deg,#fff,#ffd166 60%,#ef476f);-webkit-background-clip:text;background-clip:text;color:transparent;animation:title-slam .9s cubic-bezier(.16,1,.3,1) .9s both}@keyframes title-slam{0%{opacity:0;transform:scale(1.6);filter:blur(14px)}to{opacity:1;transform:scale(1);filter:blur(0)}}.cine-kicker{font-family:var(--display);letter-spacing:.4em;color:var(--dim);font-size:.9rem}.cine-word{max-width:100%;overflow-wrap:break-word;text-wrap:balance;font-stretch:125%;font-weight:900;font-family:var(--display);font-weight:800;margin:2vh 0;font-size:clamp(2.6rem,10vw,8rem);color:var(--hot);animation:title-slam .7s cubic-bezier(.16,1,.3,1) .6s both;text-shadow:0 0 80px #ffd16644}.cine-line{color:var(--dim);font-style:italic;font-size:clamp(1rem,2.4vw,1.6rem);animation:studio-in .8s ease 1.3s both}.cine-winner{margin-top:3vh;font-family:var(--display);font-weight:700;color:var(--go);font-size:clamp(1.1rem,3vw,2rem);animation:studio-in .8s ease 1.7s both}.cine-winner.dim{color:var(--dim)}.cine-credits{justify-content:flex-end}.cine-roll{animation:roll-up 13s linear both;width:min(680px,88vw)}@keyframes roll-up{0%{transform:translateY(60vh)}to{transform:translateY(-110vh)}}.cine-credit{display:flex;justify-content:space-between;gap:24px;font-size:clamp(1.1rem,2.6vw,1.8rem);padding:.5em 0;font-family:var(--display);color:var(--dim)}.cine-credit b{color:var(--hot)}.cine-credit.top{font-size:clamp(1.5rem,3.6vw,2.6rem);color:#fff}.cine-credit.top b{color:var(--go)}.cine-credit.meta{color:var(--dim);font-size:clamp(.9rem,2vw,1.3rem)}.cine-credit-gap{height:8vh}.cine-crown{width:min(1100px,92vw);margin-top:2.2vh;padding:1.6vh 4vw;text-align:left;clip-path:inset(0 100% 0 0);animation:wipe-in .2s cubic-bezier(.16,1,.3,1) both}.cine-crown.funny{animation-delay:1.7s;background:var(--pop);color:var(--onfill)}.cine-crown.close{animation-delay:2.5s;background:var(--go);color:#0b0b0b;text-align:right;clip-path:inset(0 0 0 100%);animation-name:wipe-in-right}@keyframes wipe-in{to{clip-path:inset(0)}}@keyframes wipe-in-right{to{clip-path:inset(0)}}.cine-crown-label{font-family:var(--mono);font-size:clamp(.7rem,1.5vw,.95rem);letter-spacing:.34em;opacity:.72}.cine-crown-text{font-family:var(--display);font-weight:900;font-stretch:118%;font-size:clamp(1.6rem,6vw,4rem);line-height:1.04;overflow-wrap:anywhere;text-wrap:balance}.cine-crown-who{font-family:var(--mono);font-weight:700;font-size:clamp(.85rem,2vw,1.3rem);margin-top:.4em}.cine-double{margin-top:2.4vh;font-family:var(--display);font-weight:900;font-stretch:125%;font-size:clamp(1.4rem,5vw,3.2rem);letter-spacing:.02em;color:transparent;-webkit-text-stroke:2px var(--hot);animation:stamp .16s cubic-bezier(.16,1,.3,1) 3.4s both}@keyframes stamp{0%{opacity:0;transform:scale(1.35) rotate(-5deg)}to{opacity:1;transform:scale(1) rotate(-3deg)}}@media (prefers-reduced-motion: reduce){.cine-title,.cine-word,.cine-roll,.attract-title,.attract-line,body.tension .tally{animation:none}body.theater #app:after{display:none}.cine-crown,.cine-double{animation:none;clip-path:none;opacity:1;transform:rotate(-3deg)}.cine-double{transform:none}.cine-credits{justify-content:flex-start;overflow-y:auto}.cine-roll{transform:none}}
