.party{background-color:var(--party);min-height:100dvh;color:var(--paper);flex-direction:column;display:flex;position:relative;overflow-x:clip}.party:before{content:"";opacity:.08;filter:invert();pointer-events:none;background:url(/brand/pattern-doodle.webp) 0 0/420px;position:fixed;inset:0}.party>*{position:relative}.party.phase-final{background-color:var(--sun);color:var(--ink)}.party.phase-final:before{filter:none;opacity:.5;background-image:url(/brand/pattern-question.webp)}.party-head{border-bottom:2px solid var(--ink);background:var(--ink);color:var(--paper);align-items:center;gap:12px;padding:12px 16px;display:flex}.party-home{flex:none;display:block}.party-logo{font:700 1.35rem var(--display);letter-spacing:.01em}.party-head-right{align-items:center;gap:8px;margin-left:auto;display:flex}.code-chip{font:700 1rem var(--display);letter-spacing:.2em;background:var(--sun);color:var(--ink);border-radius:10px;padding:6px 10px 6px 12px}.offline{color:var(--sun);font-size:.8rem;font-weight:700}.icon-btn{border:2px solid var(--paper);width:38px;height:38px;color:var(--paper);cursor:pointer;background:0 0;border-radius:50%;place-items:center;font-size:1rem;display:grid}.party-main{flex:1;align-content:start;gap:18px;width:min(720px,100% - 32px);margin:0 auto;padding:22px 0 120px;display:grid}.party.tv .party-main{width:min(1100px,100% - 48px)}.party-wait{text-align:center;font:700 1.3rem var(--display);margin-top:20vh}.panel{background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:26px;gap:12px;padding:22px;display:grid}.panel.center{text-align:center;justify-items:center}.lbl{text-transform:uppercase;letter-spacing:.08em;opacity:.8;font-size:.78rem;font-weight:800}.hint{opacity:.85;font-size:.92rem}.center{text-align:center}.hand.big{font-size:2rem;line-height:1.1}.field{width:100%;min-width:0;font:700 1.15rem var(--body);border:2px solid var(--ink);background:var(--cloud);color:var(--ink);border-radius:14px;padding:14px 16px}.field.code{font:700 1.3rem var(--display);letter-spacing:.3em;text-transform:uppercase}.btn.big{width:100%;padding:18px;font-size:1.05rem}.btn.wa{color:var(--ink);background:#25d366}.link-btn{color:inherit;text-underline-offset:4px;cursor:pointer;opacity:.9;background:0 0;border:0;justify-self:center;font-size:.95rem;font-weight:800;text-decoration:underline}.or{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);align-items:center;gap:10px;font-size:.78rem;font-weight:800;display:flex}.or:before,.or:after{content:"";border-top:2px dashed #d0d0da;flex:1}.entry{gap:22px;display:grid}.entry-hero{text-align:center;justify-items:center;gap:10px;display:grid}.entry-hero h1{font-family:var(--tall);color:var(--sun);text-shadow:5px 5px 0 var(--ink);font-size:clamp(4rem,17vw,7rem);font-weight:400}.entry-hero .tilt{transform:rotate(-4deg)}.entry-hero p{max-width:30ch;font-size:1.1rem;font-weight:700}.avatar-pick{flex-wrap:wrap;gap:8px;display:flex}.avatar-pick button{background:var(--cloud);cursor:pointer;border:2px solid #0000;border-radius:16px;place-items:center;width:66px;height:62px;padding:4px;display:grid}.avatar-pick button.on{border-color:var(--ink);background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.gem{justify-items:center;gap:6px;display:grid;position:relative}.gem-name{text-overflow:ellipsis;white-space:nowrap;max-width:10ch;font-size:.9rem;font-weight:800;overflow:hidden}.gem.dim{opacity:.4}.gem.away .face{filter:grayscale();opacity:.6}.gem-badge{background:var(--green);width:20px;height:20px;color:var(--ink);border:2px solid var(--ink);border-radius:50%;place-items:center;font-size:.75rem;font-weight:900;display:grid;position:absolute;top:-4px;right:-6px}.lobby{gap:20px;display:grid}.room-code{text-align:center;justify-items:center;gap:8px;display:grid}.big-code{font:700 clamp(3.6rem, 16vw, 6rem)/1 var(--display);letter-spacing:.18em;background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:22px;padding:8px 10px 8px 26px;transform:rotate(-2deg)}.tv .big-code{font-size:9rem}.share-row{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.share-row .btn{padding:11px 16px;font-size:.82rem}.players{flex-wrap:wrap;justify-content:center;gap:16px 18px;display:flex}.players.small{gap:10px}.face{flex:none;display:block}.gem.empty svg{display:block}.deck-list{gap:18px;display:grid}.deck-group{gap:10px;display:grid}.deck-group-title{font:700 1.15rem var(--display);color:var(--party);text-transform:uppercase;text-align:center;margin-top:4px}.deck-group-sub{text-align:center;color:var(--muted);margin-top:-8px;font-size:.9rem}.deck-banner{cursor:pointer;background:0 0;border:0;border-radius:16px;width:100%;padding:0;transition:transform .1s;display:block;position:relative;overflow:hidden}.deck-banner>img{aspect-ratio:4;border-radius:16px;width:100%;height:auto;display:block}.deck-banner:hover{transform:translateY(-2px)}.deck-banner.on{outline:4px solid var(--ink);outline-offset:2px;box-shadow:6px 6px 0 var(--sun)}.deck-check{background:var(--sun);width:30px;height:30px;color:var(--ink);border:3px solid var(--ink);border-radius:50%;place-items:center;font-weight:900;display:grid;position:absolute;top:8px;right:8px}.deck-made{aspect-ratio:4;background:var(--party);color:#fff;font:700 clamp(1.1rem, 5vw, 1.6rem)/1 var(--display);text-transform:uppercase;text-align:right;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;padding:0 18px 0 8px;display:flex;overflow:hidden}.deck-made img{width:auto;height:90%}.host-panel{gap:14px}.fmt{text-transform:uppercase;letter-spacing:.08em;background:var(--sun);color:var(--ink);border-radius:999px;padding:3px 8px;font-size:.68rem;font-weight:900}.fmt.TCO{background:var(--pink);color:var(--ink)}.deck-desc{font-size:.95rem}.opts{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.seg{background:var(--cloud);border:2px solid var(--ink);border-radius:999px;padding:4px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink);background:0 0;border:0;border-radius:999px;padding:8px 12px;font-size:.85rem;font-weight:800}.seg button.on{background:var(--ink);color:var(--paper)}.toggle{cursor:pointer;align-items:center;gap:8px;font-weight:700;display:inline-flex}.toggle input{width:20px;height:20px;accent-color:var(--ink)}.round{gap:16px;display:grid}.timer{background:var(--ink);border-radius:999px;place-items:center;height:34px;display:grid;position:relative;overflow:hidden}.timer-bar{background:var(--sun);transition:width .25s linear;position:absolute;top:0;bottom:0;left:0}.timer.low .timer-bar{background:var(--red)}.timer b{font:700 1.05rem var(--display);color:var(--ink);background:var(--paper);border-radius:999px;padding:1px 12px;position:relative}.prompt{gap:10px;display:grid}.round-meta{text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:center;gap:8px;font-size:.85rem;font-weight:800;display:flex}.prompt-img{object-fit:contain;background:var(--ink);border:3px solid var(--ink);border-radius:20px;width:100%;max-height:300px}.prompt .bubble{font-size:clamp(1.15rem,3.4vw,1.45rem);line-height:1.3;box-shadow:5px 5px #00000059}.tv .prompt .bubble{font-size:2.4rem}.instr{text-align:center;color:var(--sun);font-size:1.9rem;line-height:1.1}.answer-form{gap:10px;display:flex}.answer-form .field{border-width:3px}.ticket.mine{text-align:center}.waiting{justify-items:center;gap:10px;display:grid}.options{gap:12px;display:grid}.ticket.opt{cursor:pointer;text-align:left;font:700 1.12rem var(--body);border:0;gap:2px;transition:transform .1s;display:grid}.ticket.opt:hover:not([disabled]){transform:translate(4px)}.ticket.opt.picked{background:var(--sun)}.ticket.opt[disabled]{cursor:default;opacity:.6}.ticket small{text-transform:uppercase;letter-spacing:.06em;opacity:.6;font-size:.72rem;font-weight:800}.ticket.reveal{gap:8px;display:grid}.ticket.reveal.truth{background:var(--green)}.reveal-top{justify-content:space-between;align-items:start;gap:10px;display:flex}.tag{text-transform:uppercase;letter-spacing:.06em;background:var(--ink);color:var(--paper);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:none;max-width:50%;padding:4px 9px;font-size:.7rem;font-weight:900;overflow:hidden}.voters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.voted-lbl{text-transform:uppercase;opacity:.7;font-size:.8rem;font-weight:800}.verdict{font:400 clamp(2.6rem, 10vw, 4rem)/1 var(--tall);text-transform:uppercase;background:var(--paper);color:var(--ink);box-shadow:5px 5px 0 var(--ink);border-radius:14px;justify-self:center;padding:8px 20px;transform:rotate(-3deg)}.verdict.good{background:var(--green)}.verdict.bad{background:var(--red);color:var(--paper)}.scores{background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--ink);border-radius:22px;gap:6px;margin:0;padding:14px;list-style:none;display:grid}.scores li{grid-template-columns:26px 40px 1fr auto auto;align-items:center;gap:10px;display:grid}.rank{font:700 1.1rem var(--display);text-align:center}.sname{text-overflow:ellipsis;white-space:nowrap;font-weight:800;overflow:hidden}.plus{color:#0a7a35;font-weight:900}.spts{font:700 1.3rem var(--display);text-align:right;min-width:2.2ch}.final{gap:18px;display:grid}.winner{background:url(/brand/confetti.webp) top/100% no-repeat;justify-items:center;gap:4px;padding-top:10px;display:grid}.winner .gem{animation:.9s ease-in-out infinite alternate dance}.win-name{font-size:clamp(3rem,12vw,5rem)}.win{background:var(--ink);color:var(--sun);border-radius:10px;padding:4px 16px;font-size:clamp(2.2rem,8vw,3.4rem);transform:rotate(-3deg)}.awards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.award{background:var(--ink);color:var(--paper);border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.award b{font:700 1.05rem var(--display);color:var(--sun);display:block}.award span{font-size:.88rem}@keyframes dance{0%{transform:rotate(-6deg)translateY(0)}to{transform:rotate(6deg)translateY(-8px)}}.emote-bar{background:var(--ink);z-index:20;border-radius:999px;gap:4px;padding:6px 10px;display:flex;position:fixed;bottom:12px;left:50%;transform:translate(-50%)}.emote-bar button{cursor:pointer;background:0 0;border:0;flex:none;padding:2px;transition:transform .1s}.emote-bar img{width:40px;height:auto}.emote-bar button:active{transform:scale(1.25)}.emote-float{pointer-events:none;z-index:15;position:fixed;inset:0;overflow:hidden}.emote-float img{width:64px;animation:2.4s ease-out forwards floatup;position:absolute;bottom:-80px}@keyframes floatup{to{opacity:0;transform:translateY(-80vh)rotate(18deg)}}.party-toast{background:var(--red);width:min(520px,100% - 32px);color:var(--paper);box-shadow:4px 4px 0 var(--ink);z-index:30;cursor:pointer;border-radius:16px;padding:14px 18px;font-weight:800;position:fixed;top:74px;left:50%;transform:translate(-50%)}@media (width<=560px){.party-logo{font-size:1.1rem}.answer-form{flex-direction:column}}@media (prefers-reduced-motion:reduce){.winner .gem,.emote-float img{animation:none}}.tv .ticket.opt[disabled]{opacity:1}.change-deck{background:var(--cloud);border:2px solid var(--ink);font:800 .9rem var(--body);text-transform:uppercase;letter-spacing:.04em;cursor:pointer;color:var(--ink);border-radius:999px;justify-self:center;align-items:baseline;gap:8px;padding:8px 16px;display:inline-flex}.change-deck small{color:var(--muted);text-transform:none;letter-spacing:0;font-weight:700}.deck-banner.static{cursor:default}.sticky-cta{z-index:12;padding-top:6px;position:sticky;bottom:76px}.sticky-cta:before{content:"";background:var(--paper);border-top:2px solid var(--ink);z-index:-1;position:absolute;inset:-10px -22px -14px}.screen-btn{border:2px solid var(--ink)}.join-qr{background:var(--paper);color:var(--ink);box-shadow:6px 6px 0 var(--ink);text-align:left;border-radius:22px;align-items:center;gap:18px;max-width:100%;padding:14px 20px 14px 14px;display:flex}.join-qr .qr{flex:none;width:150px;height:150px}.join-qr .qr svg{width:100%;height:100%}.join-url{font:700 1.15rem var(--display);word-break:break-all}.tv .join-qr .qr{width:220px;height:220px}.tv .join-url{font-size:1.6rem}@media (width<=520px){.join-qr{text-align:center;flex-direction:column}}.tv .lobby{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;column-gap:40px}.tv .lobby .room-code{grid-row:span 2}.tv .lobby .big-code{font-size:7rem}.tv .lobby .panel .deck-banner{justify-self:center;max-width:520px}.tv .gem-name{max-width:12ch;font-size:1.2rem}.tv .round{gap:26px}.tv .waiting .lbl{font-size:1.1rem}.host-says{align-items:center;gap:10px;display:flex}.host-says .captain{filter:drop-shadow(3px 3px #00000059);flex:none}.host-says .captain.talking{animation:.28s ease-in-out infinite alternate bob}.host-bubble{background:var(--paper);color:var(--ink);border:2px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:18px;flex:1;min-height:2.6em;padding:10px 14px;font-size:.98rem;font-weight:700;line-height:1.35;position:relative}.host-bubble:before{content:"";border:8px solid #0000;border-right:11px solid var(--ink);border-left:0;margin-top:-8px;position:absolute;top:50%;left:-11px}.host-says.big .host-bubble{border-width:3px;padding:16px 22px;font-size:clamp(1.15rem,2.4vw,1.7rem)}.tv .host-says .host-bubble{font-size:clamp(1.2rem,2.2vw,1.8rem)}@keyframes bob{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-4px)rotate(2deg)}}.sr-only{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.intro-card{text-align:center;justify-items:center;gap:18px;padding-top:6px;display:grid}.intro-title{color:var(--sun);text-shadow:6px 6px 0 var(--ink);font-size:clamp(4rem,15vw,8rem);animation:.6s cubic-bezier(.2,1.6,.4,1) both slam;transform:rotate(-4deg)}@keyframes slam{0%{opacity:0;transform:scale(2.4)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(-4deg)}}.intro-card .host-says{text-align:left;width:100%}.intro-deck{width:100%;max-width:460px}.ticket.reveal.hidden-opt{color:#0000;background:#ffffff40}.ticket.reveal.hidden-opt .tag{color:var(--paper)}.ticket.reveal.pop-in{animation:.35s cubic-bezier(.2,1.6,.4,1) popin}.ticket.reveal.house{background:var(--sun)}.tag.house{background:var(--party)}@keyframes popin{0%{opacity:0;transform:scale(.7)rotate(-3deg)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.host-says .captain.talking,.intro-title,.ticket.reveal.pop-in{animation:none}}@media (width<=420px){.party-logo{display:none}}
