/* Party mode – theme-aware: uses v12 design tokens (--th-*) with Billboard fallbacks */
.party-layer,.funhost,.funprev,#psheet{--pa:var(--th-a,#ffde00);--pa2:var(--th-a2,#ff0080);--pfg:var(--th-fg,#fff);--ppn:var(--th-p,#111);--pd:var(--th-d,Anton,'Bebas Neue',Impact,sans-serif);--pb:var(--th-b,Inter,system-ui,sans-serif);--pr:var(--th-r,.6vw);--pov:var(--th-ov,radial-gradient(circle at 50% 40%,#2a0a3a,#000 70%));}
.party-layer{position:fixed;inset:0;pointer-events:none;z-index:900;font-family:var(--pb);color:var(--pfg)}
.party-layer>*{pointer-events:none}
#pmeter{position:fixed;top:.6vw;left:50%;transform:translateX(-50%);display:flex;gap:.5vw;font:1.1vw var(--pd);letter-spacing:.05em;z-index:5}
#pmeter span{background:rgba(0,0,0,.65);padding:.25vw .8vw;border-radius:99px;border:2px solid var(--pa);white-space:nowrap}
#pmeter .i-brainrot{border-color:#ff00c8;animation:pwob 1.2s infinite}#pmeter .i-chill{border-color:#16c47f}#pmeter .pmc{border-color:#d9b45a;color:#f4ecd2}#pmeter .pmx{border-color:#ffd700;color:#ffd700}#pmeter .pmn:empty{display:none}
@keyframes pwob{50%{transform:rotate(-2deg) scale(1.05)}}
#pround{position:fixed;left:50%;bottom:5.2vw;transform:translate(-50%,200%);transition:transform .5s cubic-bezier(.2,1.6,.4,1);z-index:6}#pround.on{transform:translate(-50%,0)}
.prb{display:flex;align-items:center;gap:1vw;background:linear-gradient(90deg,#00b3ff,#7b5cff);color:#fff;padding:.7vw 1.4vw;border-radius:var(--pr);box-shadow:0 .5vw 2vw rgba(0,0,0,.6);border:3px solid #fff;max-width:70vw}
.prb .pre{font-size:3vw}.prb b{display:block;font:2vw var(--pd);text-transform:uppercase;letter-spacing:.03em}.prb span{font-size:1.1vw}.prb .prl{font:1.6vw var(--pd);background:#000;padding:.3vw .8vw;border-radius:99px;white-space:nowrap}
#ppunish{position:fixed;right:1vw;top:3vw;z-index:6}.ppb{display:flex;gap:.6vw;align-items:center;background:#ff3b5c;color:#fff;padding:.5vw .9vw;border-radius:var(--pr);max-width:28vw;font-size:1vw;box-shadow:0 .4vw 1.4vw rgba(0,0,0,.5)}.ppb b{display:block;font-size:1.15vw}
/* wheel */
#pwheel{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(0,0,0,.82);backdrop-filter:blur(6px);z-index:20}#pwheel.on{display:flex}
.pwrap{position:relative;display:flex;flex-direction:column;align-items:center;transition:transform .6s}.pwtitle{font:4vw var(--pd);color:var(--pa);text-shadow:0 .3vw 0 #000,0 0 2vw var(--pa);letter-spacing:.06em;animation:pwob 1s infinite}
.pwby{font:1.6vw var(--pd);margin:.3vw 0;color:#fff}.pwc{position:relative;width:min(44vw,78vh);height:min(44vw,78vh)}.pwc canvas{width:100%;height:100%;filter:drop-shadow(0 0 3vw rgba(255,215,0,.35))}
.pptr{position:absolute;top:-1.4vw;left:50%;width:0;height:0;border-left:1.6vw solid transparent;border-right:1.6vw solid transparent;border-top:3.2vw solid #fff;transform:translateX(-50%);filter:drop-shadow(0 .3vw .3vw #000);transform-origin:50% 0}
.pptr.kick{animation:pkick .12s}@keyframes pkick{50%{transform:translateX(-50%) rotate(-18deg)}}
.pwres{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.pwrap.landed .pwc{animation:pshrink .6s forwards}@keyframes pshrink{to{transform:scale(.55);opacity:.25}}
.pbig{background:var(--br-bg,var(--ppn));color:var(--br-fg,var(--pfg));border:.35vw solid var(--pc);border-radius:calc(var(--pr)*2);padding:2vw 3vw;text-align:center;min-width:34vw;max-width:60vw;box-shadow:0 0 0 .4vw #000,0 0 4vw var(--pc);animation:ppop .7s cubic-bezier(.2,1.8,.4,1)}
@keyframes ppop{from{transform:scale(.2) rotate(-8deg);opacity:0}}
.pbig .pcat{font:1.4vw var(--pd);color:var(--pc);letter-spacing:.1em;text-transform:uppercase}.pbig .pem{font-size:7vw;line-height:1.1}.pbig .pt{font:4vw var(--pd);text-transform:uppercase;line-height:1}.pbig .pd{font-size:1.7vw;margin-top:.8vw;opacity:.92}.pbig .pdur{display:inline-block;margin-top:1vw;background:var(--pc);color:#000;font:1.4vw var(--pd);padding:.3vw 1vw;border-radius:99px}
.pto{display:flex;align-items:center;justify-content:center;gap:1vw;margin-top:1vw;font:2.2vw var(--pd)}
/* minigame */
#pgame{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:var(--pov);z-index:15}#pgame.on{display:flex}
.pgame{width:80vw;text-align:center}.pgh{display:flex;align-items:center;justify-content:center;gap:1.4vw}.pge{font-size:6vw}.pgt{font:5vw var(--pd);text-transform:uppercase;color:var(--pa);text-shadow:0 .3vw 0 #000}
.pgcd{font:4vw var(--pd);background:#000;border:.3vw solid var(--pa);border-radius:50%;width:7vw;height:7vw;display:inline-flex;align-items:center;justify-content:center}.pgcd.hot{border-color:#ff3b5c;color:#ff3b5c;animation:pwob .5s infinite}
.pgd{font-size:1.6vw;opacity:.85;margin:.4vw 0 1.2vw}.pgq{font:2.8vw var(--pd);margin:1vw 0}
.pgopts{display:flex;flex-wrap:wrap;gap:1vw;justify-content:center}.pgo{flex:1 1 20vw;max-width:36vw;background:rgba(255,255,255,.08);border:.25vw solid rgba(255,255,255,.25);border-radius:var(--pr);padding:1vw 1.4vw;display:flex;justify-content:space-between;align-items:center;font:2.2vw var(--pd);gap:1vw}
.pgo b{background:var(--pa);color:#000;border-radius:99px;padding:0 .8vw;min-width:2.4vw}.pgo.win{background:#16c47f;border-color:#fff;animation:ppop .5s}.pgo .pav{vertical-align:middle;border-radius:50%}
.pgduel{display:flex;align-items:center;justify-content:center;gap:4vw}.pgduel>div{display:flex;flex-direction:column;align-items:center;font:2.4vw var(--pd)}.pgduel .pav{border-radius:50%;border:.4vw solid var(--pa)}.pgm{font-size:6vw}
.pgvs{font:5vw var(--pd);color:var(--pa2)}.pgbig{font:4vw var(--pd)}.pgtap{font:6vw var(--pd);padding:2vw;border-radius:var(--pr);background:#c62f2b}.pgtap.go{background:#16c47f;animation:ppop .3s}
.pgres{margin-top:1.4vw;font:3vw var(--pd);background:rgba(0,0,0,.6);border:.3vw solid #ffd700;border-radius:var(--pr);padding:1vw;animation:ppop .6s}.pgres small{font-size:1.6vw;opacity:.8}.pgroast{font-size:1.8vw;margin-top:.5vw}.pgph{margin-top:1.6vw;font-size:1.5vw;opacity:.75}
.pgcards{display:flex;align-items:center;justify-content:center;gap:2vw;margin:1vw}
/* cards */
.pcard{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:2.2em;height:3em;background:#fff;color:#111;border-radius:.25em;font:700 1em/1 Georgia,serif;box-shadow:0 .1em .3em rgba(0,0,0,.5);margin:0 .1em;vertical-align:middle}
.pcard i{font-style:normal}.pcard.red{color:#d11}.pcard.back{background:repeating-linear-gradient(45deg,#c62f2b 0 .25em,#8e1c19 .25em .5em);border:.12em solid #fff}
.pcard.sm{font-size:12px}.pcard.lg{font-size:2.4vw}.pcard.xl{font-size:5vw}.pcard.flip{animation:pflip .6s}.pcard.deal{animation:pdeal .5s both}
@keyframes pflip{from{transform:rotateY(90deg)}}@keyframes pdeal{from{transform:translateY(-6vw) rotate(20deg);opacity:0}}
/* fx */
#pfx{position:fixed;inset:0;z-index:30}.pfxi{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.86);backdrop-filter:blur(8px);animation:pfin .4s}.pfxi.small{inset:auto 1.4vw 7vw auto;background:none;backdrop-filter:none}
.pfxi.out{animation:pfout .5s forwards}@keyframes pfin{from{opacity:0}}@keyframes pfout{to{opacity:0;transform:scale(1.1)}}
.pfxcard{text-align:center}.pfl{font:3vw var(--pd);color:var(--pa);text-shadow:0 .3vw 0 #000;letter-spacing:.06em}.pflip{perspective:80vw}
.pcardbig{width:22vw;min-height:30vw;margin:1vw auto;background:linear-gradient(160deg,#ffb800,#ff00c8 60%,#7b5cff);border:.5vw solid #fff;border-radius:1.4vw;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.4vw;font-size:8vw;box-shadow:0 0 5vw rgba(255,184,0,.7);animation:pcflip 1s cubic-bezier(.2,1.4,.4,1)}
.pcardbig b{font:3vw var(--pd);text-transform:uppercase;color:#fff;text-shadow:0 .2vw 0 #000}.pcardbig small{font-size:1.2vw;color:#fff;margin-top:.6vw}.pcardbig.zap{animation:pzap .9s}
@keyframes pcflip{from{transform:rotateY(180deg) scale(.4)}}@keyframes pzap{0%{transform:scale(.3);filter:brightness(3)}60%{transform:scale(1.15) rotate(3deg)}}
.pwho{display:flex;align-items:center;justify-content:center;gap:1vw;font:2.2vw var(--pd)}.pwho .pav{border-radius:50%}.pcom{font-size:1.8vw;margin-top:1vw;font-style:italic}
.pfxtoast{display:flex;align-items:center;gap:1vw;background:var(--ppn);border:.3vw solid var(--pa);border-radius:var(--pr);padding:.8vw 1.4vw;box-shadow:0 .6vw 2vw rgba(0,0,0,.6);animation:pslide .6s cubic-bezier(.2,1.6,.4,1);max-width:36vw}
.pfxtoast small{display:block;font:1vw var(--pd);color:var(--pa);letter-spacing:.08em}.pfxtoast b{display:block;font:1.8vw var(--pd)}.pfxtoast i{font-size:1.1vw;opacity:.8}.pfxtoast .pav{border-radius:50%}.pfxtoast.gold{border-color:#ffd700}.pfxtoast.quest{border-color:#16c47f}.pfxtoast.lvl{border-color:#7b5cff}
.pbadge{font-size:3.4vw}@keyframes pslide{from{transform:translateX(120%)}}
.pwanted{width:30vw;background:#e8d3a2;color:#3b2210;border:.6vw solid #6b4423;padding:1.4vw;text-align:center;font-family:Georgia,serif;box-shadow:0 0 0 .3vw #000,0 2vw 4vw #000;transform:rotate(-3deg);animation:ppop .8s cubic-bezier(.2,1.8,.4,1)}
.pwt{font:5vw 'Rye',Georgia,serif;font-weight:900;letter-spacing:.1em}.pwi .pav{filter:sepia(.7) contrast(1.1);border:.4vw solid #3b2210;width:100%!important;height:auto!important}.pwn{font:3vw Georgia,serif;font-weight:900;text-transform:uppercase}.pwr{font:2.2vw Georgia,serif;font-weight:900;color:#8b1e1e}.pws{font-size:1.2vw;font-style:italic}
.pmyst{text-align:center}.penv{font-size:14vw;animation:penv 1.6s}.pmv{font:7vw var(--pd);color:#ffd700;text-shadow:0 0 3vw #ffd700;animation:ppop .6s .9s both}@keyframes penv{0%{transform:scale(.2) rotate(-30deg)}50%{transform:scale(1.2) rotate(10deg)}70%{transform:scale(1) rotate(-5deg)}}
.pallin{text-align:center;width:90vw}.pait{font:7vw var(--pd);color:#ff3b5c;text-shadow:0 0 3vw #ff3b5c,0 .4vw 0 #000;animation:pshake .4s 3}.pallin.res .pait{color:#ffd700;text-shadow:0 0 3vw #ffd700}
@keyframes pshake{25%{transform:translateX(-1vw) rotate(-2deg)}75%{transform:translateX(1vw) rotate(2deg)}}
.paip{display:flex;align-items:center;justify-content:center;gap:2vw}.pai{display:flex;flex-direction:column;align-items:center;gap:.6vw;font:2.4vw var(--pd);transition:.5s}.pai .pav{border-radius:50%;border:.5vw solid #fff}
.pai.win .pav{border-color:#ffd700;box-shadow:0 0 4vw #ffd700}.pai.bust{filter:grayscale(1);opacity:.6;transform:scale(.9)}.paires{font:3vw var(--pd)}.paivs{font:4vw var(--pd);color:var(--pa)}.paib{margin-top:1.4vw}.paisus{font:2vw var(--pd);margin-top:1vw;animation:pwob .8s infinite}
.pclassic{text-align:center;animation:ppop .8s}.pclassic div{font-size:10vw}.pclassic b{display:block;font:6vw var(--pd);color:#d9b45a;letter-spacing:.08em}.pclassic small{font-size:2vw}.pclassic.chaos b{color:#ff00c8;text-shadow:0 0 3vw #ff00c8}
.pshout{background:#111;border:.3vw solid #ff00c8;border-radius:1.4vw 1.4vw 1.4vw 0;padding:1vw 1.4vw;max-width:34vw;animation:pslide .5s}.pshout.hype{border-color:#16c47f}.pshout b{display:block;font:1.2vw var(--pd);color:#ff00c8}.pshout.hype b{color:#16c47f}.pshout span{font:2vw var(--pd)}.pshout i{display:block;font-size:1vw;opacity:.7}
.psnd{font-size:5vw;animation:ppop .4s;text-align:center}.psnd small{display:block;font-size:1vw}
.preact{text-align:center;display:flex;flex-direction:column;align-items:center}.preact .pav{border-radius:50%}.preact b{font:6vw var(--pd);text-shadow:0 .4vw 0 #000}.preact small{font-size:2vw;font-style:italic}
.preact.bb b{color:#7fb3ff}.preact.hero b{color:#ffd700}.preact.bluff b{color:#ff3b5c}.preact.tilt b{color:#ff7a00}.preact.tilt .pav{animation:pshake .2s infinite}
.pwalk{text-align:center;display:flex;flex-direction:column;align-items:center;animation:ppop .8s}.pwalk .pav{border-radius:50%;border:.6vw solid var(--pa);box-shadow:0 0 5vw var(--pa)}.pwalk b{font:6vw var(--pd)}.pwalk i{font-size:2.4vw}
#pfeed{position:fixed;left:1vw;top:3vw;display:flex;flex-direction:column;gap:.4vw;z-index:4;max-width:32vw}.pfl1{background:rgba(0,0,0,.7);border-left:.3vw solid var(--pa);padding:.4vw .8vw;font-size:1.1vw;border-radius:.3vw;animation:pslide .5s;transition:opacity 1s}.pfl1.fade{opacity:0}
.pconf{position:absolute;top:-5%;width:.8vw;height:1.2vw;font-style:normal;font-size:2vw;animation:pfall 3s linear forwards;pointer-events:none}@keyframes pfall{to{transform:translateY(110vh) rotate(720deg)}}
.pav{display:inline-block;vertical-align:middle}.pemo{display:inline-flex!important;align-items:center;justify-content:center;border-radius:50%;color:#fff;font-weight:800}
body.party-classic .party-layer #pfeed{display:none}
@media (max-width:800px){.party-layer #pmeter{font-size:11px;top:4px}.party-layer #pround{bottom:70px}.prb b{font-size:15px}.prb span{font-size:11px}.prb .pre{font-size:24px}.prb .prl{font-size:12px}#pgame,.pfxi:not(.small){display:none!important}#pwheel .pwtitle{font-size:28px}#pwheel .pwc{width:86vw;height:86vw}.pbig{min-width:80vw}.pbig .pt{font-size:28px}.pbig .pd{font-size:14px}.pbig .pem{font-size:50px}.pbig .pcat,.pbig .pdur{font-size:12px}#pfeed,.ppb{display:none}.pfxi.small{inset:auto 8px 80px auto}.pfxtoast{max-width:80vw}.pfxtoast b{font-size:15px}.pfxtoast small,.pfxtoast i{font-size:11px}.pbadge{font-size:28px}}
/* ---------- phone panel ---------- */
#pfab{position:fixed;right:14px;bottom:14px;z-index:1000;width:64px;height:64px;border-radius:50%;border:3px solid #fff;background:linear-gradient(135deg,#ff00c8,#7b5cff);font-size:30px;box-shadow:0 6px 20px rgba(0,0,0,.5);color:#fff}
#pfab i{position:absolute;top:-4px;right:-4px;background:#ff3b5c;color:#fff;border-radius:99px;font:700 13px system-ui;min-width:20px;padding:2px 5px;font-style:normal}#pfab i:empty{display:none}#pfab.ping{animation:pglow .9s infinite}@keyframes pglow{50%{box-shadow:0 0 0 10px rgba(255,0,200,.35),0 6px 20px rgba(0,0,0,.5)}}
#psheet{position:fixed;inset:0;z-index:1001;background:var(--th-pg,#0b0b12);color:var(--th-fg,#fff);font-family:var(--th-b,system-ui);display:none;flex-direction:column}#psheet.on{display:flex}
.psh{display:flex;align-items:center;gap:8px;padding:10px 12px;background:linear-gradient(90deg,#ff00c8,#7b5cff)}.psh b{font:22px var(--th-d,Anton,sans-serif);letter-spacing:.05em}.psh span{flex:1;font-size:13px}.psh button{background:#000;color:#fff;border:0;border-radius:50%;width:34px;height:34px;font-size:16px}
.ptabs{display:flex;overflow-x:auto;background:#000}.ptabs button{flex:1;background:none;border:0;color:#aaa;padding:8px 4px;font-size:20px;border-bottom:3px solid transparent;min-width:56px}.ptabs button small{display:block;font-size:10px}.ptabs button.on{color:#fff;border-color:var(--th-a,#ffde00)}
.pbody{flex:1;overflow-y:auto;padding:12px;padding-bottom:90px}
.pbtn{background:var(--th-a,#ffde00);color:var(--th-ai,#000);border:0;border-radius:12px;padding:10px 14px;font:700 15px system-ui;margin:3px}.pbtn.ghost{background:rgba(255,255,255,.1);color:inherit}.pbtn.on{outline:3px solid #fff;background:#16c47f;color:#fff}.pbtn.wait{opacity:.6}.pbtn.sm{padding:6px 10px;font-size:13px}.pbtn.big{font-size:20px;padding:16px}.pbtn.red{color:#d11}
.pbtn.mega{display:block;width:100%;font:26px var(--th-d,Anton,sans-serif);padding:18px;margin:10px 0;letter-spacing:.04em}.pbtn.mega.allin{background:linear-gradient(135deg,#ff3b5c,#ff7a00);color:#fff;font-size:40px;animation:pglow 1.5s infinite}.pbtn.wide{display:block;width:100%;text-align:left}
.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pgrid.three{grid-template-columns:repeat(3,1fr)}.pgrid.four{grid-template-columns:repeat(4,1fr)}.pgrid.four small{display:block;font-size:9px;font-weight:400}
.pcardp{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:12px;margin-bottom:10px}.pcardp .pbig{min-width:0;max-width:none;padding:12px}.pcardp .pbig .pt{font-size:24px}.pcardp .pbig .pd{font-size:14px}.pcardp .pbig .pem{font-size:40px}.pcardp .pbig .pcat,.pcardp .pbig .pdur{font-size:12px}
.pgh2{display:flex;align-items:center;gap:8px;font-size:22px}.pgh2 b{flex:1}.pgh2 .pgcd{width:44px;height:44px;font-size:20px;border-width:3px}.pgq2{font:20px var(--th-d,Anton,sans-serif);margin:8px 0}.pdone{font:24px var(--th-d,Anton,sans-serif);text-align:center;padding:14px;color:#16c47f}.pmut{opacity:.65;font-size:12px}.pempty{text-align:center;padding:30px 10px;opacity:.85}
.ptap{width:100%;height:46vh;border:0;border-radius:20px;background:#c62f2b;color:#fff;font:44px var(--th-d,Anton,sans-serif)}.ptap.go{background:#16c47f}
.prow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:6px 0}.prow input,.prow select,#psheet select{flex:1;min-width:0;padding:10px;border-radius:10px;border:1px solid #444;background:#111;color:#fff;font-size:16px}.pnm{min-width:64px;font-size:13px;opacity:.8}
.pmem{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pmem button{aspect-ratio:3/4;font-size:28px;border-radius:10px;border:0;background:repeating-linear-gradient(45deg,#c62f2b 0 6px,#8e1c19 6px 12px);color:#fff}.pmem button.up{background:#fff}
.ppow{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(255,184,0,.2),rgba(255,0,200,.2));border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:10px;margin-bottom:8px}.ppe{font-size:36px}.ppow div{flex:1}.ppow p{margin:2px 0;font-size:12px;opacity:.85}
.pxp{margin-bottom:10px}.pbar{height:12px;background:#222;border-radius:99px;overflow:hidden;margin:4px 0}.pbar i{display:block;height:100%;background:linear-gradient(90deg,#16c47f,#ffde00)}
.pq{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.06);border-radius:12px;padding:10px;margin-bottom:6px}.pq span{font-size:24px}.pq div{flex:1}.pq small{display:block;opacity:.7}.pq.done{opacity:.55}
.pbadges{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.pbadges span{background:rgba(255,255,255,.08);border-radius:10px;padding:6px 8px;font-size:22px;text-align:center}.pbadges small{display:block;font-size:9px}
.pavs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 10px}.pavs button{background:rgba(255,255,255,.06);border:2px solid transparent;border-radius:12px;padding:6px;color:inherit}.pavs button.on{border-color:#ff3b5c;background:rgba(255,59,92,.25)}.pavs small{display:block;font-size:11px}.pavs .pav{border-radius:50%}
.pcslot{min-width:44px;height:56px;border-radius:8px;border:2px dashed #555;background:none;color:#aaa;font-size:20px}.ppick{background:#000;border-radius:12px;padding:6px}.pranks{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.pranks .pbtn{margin:0;padding:10px 0}
.pchips{display:flex;flex-wrap:wrap;gap:6px}.pchips button{background:rgba(255,255,255,.1);color:inherit;border:0;border-radius:99px;padding:8px 12px;font-size:13px}
.plb{display:flex;justify-content:space-between;padding:4px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.pavmk{display:flex;gap:10px;align-items:flex-start}.pavprev .pav{border-radius:20px}.pavctl{flex:1}.pavctl .prow{margin:2px 0}.pavctl b{min-width:34px;text-align:center;font-size:12px}
.pstats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.pstats span{background:rgba(255,255,255,.06);border-radius:10px;padding:6px;font-size:18px}.pstats b{display:block;font-size:20px}.pstats small{font-size:10px;opacity:.7}
/* ---------- host Fun tab ---------- */
.funhost{display:flex;flex-direction:column;gap:12px;padding-bottom:80px}
.fcard{background:var(--th-p,var(--card,#14161c));border:1px solid var(--th-bd,var(--line,#2a2d36));border-radius:var(--th-r,14px);overflow:hidden}.fch{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;font:700 15px var(--th-b,system-ui);letter-spacing:.04em;cursor:pointer;user-select:none}.fcb{padding:4px 16px 16px}
.fcard.hero{border:2px solid var(--th-a,#ffde00)}.fbadge{background:#ff3b5c;color:#fff;border-radius:99px;padding:1px 8px;font-style:normal;margin-left:6px}
.fmain{display:flex;gap:10px;flex-wrap:wrap;align-items:stretch}.ftoggle{flex:1;min-width:220px;padding:16px;border-radius:12px;border:2px solid #444;background:#222;color:#fff;font:800 18px system-ui;cursor:pointer}.ftoggle.on{background:#16c47f;border-color:#fff}
.fchaos{flex:1;min-width:220px;padding:14px;border-radius:12px;border:0;background:linear-gradient(135deg,#ff00c8,#ff3b5c,#ffb800);color:#fff;font:900 22px system-ui;cursor:pointer;box-shadow:0 6px 20px rgba(255,0,200,.35)}.fchaos small{display:block;font-size:12px;font-weight:500}.fchaos:disabled{opacity:.35;cursor:not-allowed}.fchaos:not(:disabled):hover{transform:scale(1.02)}
.fint{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.fint button{background:rgba(255,255,255,.05);border:2px solid transparent;border-radius:12px;padding:10px;color:inherit;text-align:left;cursor:pointer}.fint button.on{border-color:var(--th-a,#ffde00);background:rgba(255,222,0,.1)}.fint b{display:block;font-size:16px}.fint small{opacity:.7;font-size:12px}
.frow2{display:grid;grid-template-columns:1fr 1fr;gap:16px}.frow2 label{display:block;margin:4px 0;font-size:14px}.frow2 input[type=number]{width:60px}.flbl{font:700 12px system-ui;letter-spacing:.08em;opacity:.7;margin:10px 0 4px;text-transform:uppercase}.fphase{margin-top:8px}
.fbtn{background:var(--th-a,#ffde00);color:var(--th-ai,#000);border:0;border-radius:10px;padding:8px 12px;font:700 13px system-ui;cursor:pointer;margin:2px}.fbtn.ghost{background:rgba(255,255,255,.08);color:inherit}.fbtn.ok{background:#16c47f;color:#fff}.fbtn.hot{background:linear-gradient(135deg,#ff3b5c,#ff7a00);color:#fff}.fbtn.sm{padding:5px 9px;font-size:12px}.fbtn.xs{padding:2px 6px;font-size:12px}.fbtn.xl{font-size:18px;padding:12px 18px}
.frow{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:6px 0}.frow input,.frow select,.fwr select{padding:6px;border-radius:8px;background:#111;color:#fff;border:1px solid #333}.frow input{flex:1;min-width:140px}.fmut{opacity:.65;font-size:13px;padding:4px 0}
.fq{display:flex;gap:8px;align-items:center;justify-content:space-between;background:rgba(255,255,255,.05);border-radius:10px;padding:8px 10px;margin:4px 0}.fq span{flex:1}.fq.big{border:2px solid #ffb800}.fq small{display:block;opacity:.7;font-size:12px}.fq .pav{border-radius:50%;vertical-align:middle}
.factive{margin:10px 0;background:rgba(0,0,0,.35);border-radius:12px;padding:10px;font-size:9px}.factive .pbig{font-size:9px;min-width:0;max-width:none;padding:12px;box-shadow:none;animation:none}.factive .pbig .pt{font-size:26px}.factive .pbig .pd{font-size:14px}.factive .pbig .pem{font-size:40px}.factive .pbig .pcat,.factive .pbig .pdur{font-size:12px}
.fgame .pgame{width:auto;font-size:12px}.fgame .pgt{font-size:28px}.fgame .pge{font-size:32px}.fgame .pgcd{font-size:20px;width:44px;height:44px}.fgame .pgd,.fgame .pgph{font-size:12px}.fgame .pgq{font-size:18px}.fgame .pgo{font-size:15px;padding:6px 10px}.fgame .pgbig,.fgame .pgres{font-size:20px}.fgame .pgduel>div{font-size:15px}.fgame .pgm{font-size:28px}.fgame .pgvs{font-size:24px}.fgame .pav{width:44px!important;height:44px!important}.fgame .pcard.xl{font-size:28px}.fgame .pgtap{font-size:24px}
.fwheel{display:flex;gap:16px;flex-wrap:wrap}.fwheel canvas{width:300px;height:300px}.fwl{flex:1;min-width:320px}.fwr{display:flex;align-items:center;gap:4px;margin:3px 0}.fwr b{min-width:18px;text-align:center}.fdot{width:12px;height:12px;border-radius:50%}
.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.fopt{text-align:left;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px;color:inherit;cursor:pointer}.fopt:hover{border-color:var(--th-a,#ffde00);background:rgba(255,222,0,.08)}.fopt b{display:block;font-size:14px}.fopt small{display:block;opacity:.75;font-size:12px;margin:4px 0}.fopt i{font-size:11px;opacity:.6}
.ftbl{width:100%;border-collapse:collapse;font-size:13px}.ftbl td,.ftbl th{padding:5px;border-bottom:1px solid rgba(255,255,255,.07);text-align:left}.ftbl tr.out{opacity:.45}.ftbl .pav{border-radius:50%;vertical-align:middle}.fpc{font-size:16px}.fchk{background:rgba(255,255,255,.06);padding:6px 10px;border-radius:99px}
.fhand{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.07)}.fhand span{flex:1}.frow.wrap{flex-wrap:wrap}
.funprev{position:fixed;right:16px;bottom:16px;width:min(560px,40vw);aspect-ratio:16/9;background:#000;border:3px solid var(--th-a,#ffde00);border-radius:14px;overflow:hidden;z-index:950;display:none;box-shadow:0 10px 40px rgba(0,0,0,.6)}.funprev.on{display:block}
.fpl{position:absolute;top:6px;left:8px;font:700 11px system-ui;letter-spacing:.08em;z-index:2;background:#000;padding:2px 6px;border-radius:6px}.fpbox{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:6px;background:var(--th-ov,radial-gradient(circle,#2a0a3a,#000))}
.fpbox .pbig{transform:scale(.55);min-width:400px;max-width:520px;padding:20px 30px}.fpbox .pbig .pt{font-size:40px}.fpbox .pbig .pd{font-size:16px}.fpbox .pbig .pem{font-size:70px}.fpbox .pbig .pcat,.fpbox .pbig .pdur{font-size:14px}
@media (max-width:800px){.frow2,.fint{grid-template-columns:1fr}}

.fcb input[type=radio],.fcb input[type=checkbox]{width:auto!important;display:inline-block!important;margin:0 6px 0 0;vertical-align:middle}.frow2 label{display:flex!important;align-items:center;gap:6px}.fgame .pemo{font-size:22px!important}

.prbook{max-width:1100px;margin:30px auto;padding:0 12px}.prbook h1{font-size:30px}.prs h2{margin-top:26px;border-bottom:2px solid var(--th-a,#ffde00);padding-bottom:4px}.prg{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:8px}
.prr{display:flex;gap:10px;background:rgba(255,255,255,.04);border-radius:10px;padding:8px 10px}.pre2{font-size:26px}.prr p{margin:2px 0 0;font-size:14px;opacity:.85}.prr small{opacity:.6}
@media print{body{background:#fff!important;color:#000!important}#bg,.hbar a,.btn{display:none!important}.prr{break-inside:avoid;border:1px solid #ccc}.prr p{opacity:1}}

html[data-motion="0"] .party-layer *,html[data-motion="0"] #psheet *{animation:none!important;transition:none!important}
.pwanted{background:var(--th-poster-bg,#e8d3a2)}

/* v13.1 */
.pseatmap{position:relative;width:min(70vw,720px);height:min(40vw,400px);margin:18px auto 0;border-radius:50%;background:radial-gradient(ellipse,#1b6b3a,#0c3b20);border:8px solid #5a3a1a}
.pseat{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;font-size:14px;color:#fff;transition:all .6s}
.pseat .psn{font-size:13px;opacity:.7;line-height:1}.pseat .psm{font-size:18px;font-weight:800;line-height:1.1;text-shadow:0 2px 4px #000}.pseat.hl{transform:translate(-50%,-50%) scale(1.35);filter:drop-shadow(0 0 14px var(--th-a,#ffde00))}
.pdbtn{position:absolute;right:-14px;top:-6px;background:#fff;color:#000;border-radius:50%;width:26px;height:26px;display:grid;place-items:center;font-weight:900;box-shadow:0 0 12px #fff}
.preplay{background:rgba(0,0,0,.85);padding:30px 40px;border-radius:24px;min-width:50vw;text-align:left;font-family:var(--th-d,Anton,sans-serif)}
.prpt{font-size:28px;color:var(--th-a,#ffde00);letter-spacing:4px;margin-bottom:12px}.prl1{font-size:clamp(22px,3vw,44px);color:#fff;animation:prtype .6s steps(20) both;overflow:hidden;white-space:nowrap}
@keyframes prtype{from{max-width:0}to{max-width:100%}}
.precap{position:fixed;left:50%;bottom:9vh;transform:translateX(-50%);background:var(--br-bg,rgba(0,0,0,.85));color:var(--br-fg,#fff);padding:18px 30px;border-radius:20px;border:3px solid var(--th-a,#ffde00);text-align:center;max-width:80vw}
.precap small{display:block;letter-spacing:3px;opacity:.75}.precap b{display:block;font-size:clamp(20px,2.4vw,36px)}.precap i{opacity:.8}
.pboss b{color:#ff3b5c;text-shadow:0 0 30px #ff3b5c}.pjack.mega b{background:linear-gradient(90deg,#ff3b5c,#ffde00,#16c47f,#2a6cff,#7b5cff);-webkit-background-clip:text;color:transparent;font-size:1.3em}
.pteams{display:flex;gap:24px;align-items:center;justify-content:center;margin:14px 0}.pteams .ta,.pteams .tb{display:flex;gap:4px;flex-wrap:wrap;max-width:36vw}
.pgemo{font-size:clamp(60px,9vw,140px);text-align:center;margin:10px 0}.pgchips{display:flex;gap:24px;justify-content:center;font-size:38px}.pgchips b{display:block;font-size:24px}.pgteam{text-align:center;font-size:34px;font-weight:900}
.pfxtoast.combo small{color:#ff7a00}
html[data-motion="0"] .prl1{animation:none}
.pxpt{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:9999;background:#16c47f;color:#fff;font-weight:900;padding:8px 16px;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.4);animation:pxpt 2.4s ease both;pointer-events:none}
@keyframes pxpt{0%{opacity:0;transform:translate(-50%,-20px)}12%{opacity:1;transform:translate(-50%,0)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-10px)}}
.pcombo{display:inline-block;padding:2px 8px;border-radius:999px;background:#ff7a00;color:#fff;font-weight:900;margin-left:6px}
.ptapbig{width:100%;height:42vh;font-size:40px;font-weight:900;border-radius:24px;border:0;background:var(--th-a,#ffde00);color:#000;touch-action:manipulation}
