:root{--ink:#23202b;--night:#2a1a4a;--glow:#4b2a86;--cream:#fff8ec;--gold:#ffb627;--red:#c92a2a;--text:#fff8ec;--accent-text:#ffb627;--surface:#ffffff1f;--line:#ffffff4d;--log-bg:#00000080;--log-head:#1d1a2e;--log-line:#ffffff8c;--log-text:#fff8ec;--seat-filter:none;--danger-text:#ff8a80;--safe-text:#7ee2a8;--safe:#1f9d55;--scrim:#140a28bf;--back:#2a1a4a;--back-accent:#ffb627;--back-ink:#23202b;--card-w:min(24vw, 96px);color:var(--text);font-family:Trebuchet MS,Verdana,sans-serif}:root[data-palette=paper]{--ink:#2b2320;--night:#f1e4cb;--glow:#fff6e3;--cream:#fffdf7;--gold:#ff9a3d;--red:#c8321f;--text:#2b2320;--accent-text:#a93a0c;--surface:#2b232014;--line:#2b232059;--log-bg:#fffdf7cc;--log-head:#f1e4cb;--log-line:#2b232059;--log-text:#2b2320;--seat-filter:brightness(.45) saturate(2);--danger-text:#b3261a;--safe-text:#14733d;--safe:#14733d;--scrim:#2b232099;--back:#2b2320;--back-accent:#ff9a3d;--back-ink:#2b2320}:root[data-palette=pool]{--ink:#0b2b33;--night:#19b8a8;--glow:#7ce9dc;--cream:#fff;--gold:#ffe14d;--red:#e0245e;--text:#0b2b33;--accent-text:#5e0b3b;--surface:#ffffff52;--line:#0b2b3373;--log-bg:#ffffffd1;--log-head:#c9f5ef;--log-line:#0b2b3373;--log-text:#0b2b33;--seat-filter:brightness(.45) saturate(2);--danger-text:#b3123f;--safe-text:#0a6b4f;--safe:#0a7d5c;--scrim:#0b2b33b3;--back:#0b2b33;--back-accent:#ffe14d;--back-ink:#0b2b33}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle at 50% 0, var(--glow), var(--night) 70%);overscroll-behavior:none;margin:0;overflow-x:hidden}button,input{font:inherit}button{border:3px solid var(--ink);background:var(--cream);color:var(--ink);cursor:pointer;border-radius:12px;padding:10px 14px;font-weight:800}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--gold);box-shadow:0 4px 0 var(--ink)}button.primary:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}button.small{padding:6px 12px}button.link{color:inherit;background:0 0;border:0;text-decoration:underline}input{border:3px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:12px;padding:10px 12px}.corner{z-index:30;gap:4px;display:flex;position:fixed;top:6px;right:6px}.corner button{border-width:2px;padding:2px 8px;font-size:12px}.settings{display:flex}.settings-card{border:3px solid var(--ink);background:var(--cream);width:232px;color:var(--ink);box-shadow:0 4px 0 var(--ink);border-radius:14px;gap:6px;padding:8px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.settings-card h3{margin:0;font-size:16px}.settings-card>div{justify-content:space-between;align-items:center;gap:8px;font-size:14px;font-weight:800;display:flex}.settings-card p{gap:8px;margin:0;display:flex}.settings-card>.install-steps{flex-direction:column;align-items:flex-start;gap:2px}.settings-card .install-steps small{font-weight:600}.corner .settings-card button{border-radius:10px;width:40px;height:40px;padding:0;font-size:18px}.corner .settings-card .choice{font-size:13px}.corner .settings-card .choice[aria-pressed=true]{background:var(--gold)}.corner .settings-card .swatch{border-radius:50%}.corner .settings-card .swatch[aria-pressed=true]{outline:3px solid var(--ink);outline-offset:2px}.corner .settings-card .swatch.paper{background:linear-gradient(135deg,#f1e4cb 50%,#c8321f 50%)}.corner .settings-card .swatch.classic{background:linear-gradient(135deg,#2a1a4a 50%,#ffb627 50%)}.corner .settings-card .swatch.pool{background:linear-gradient(135deg,#19b8a8 50%,#ffe14d 50%)}.home,.lobby{text-align:center;flex-direction:column;justify-content:center;gap:14px;max-width:380px;min-height:100%;margin:0 auto;padding:24px 16px;display:flex}.logo{color:var(--accent-text);text-shadow:4px 4px 0 var(--ink);margin:0;font-size:72px;transform:rotate(-4deg)}.tagline{margin:0;font-style:italic}.resume-banner{border:3px solid var(--gold);background:var(--surface);border-radius:12px;gap:8px;padding:12px;display:grid}.resume-banner h2{color:var(--accent-text);margin:0;font-size:20px}.resume-banner p{margin:0}.home label{text-align:left;gap:4px;font-weight:800;display:grid}.join-row{gap:8px;display:flex}.join-row input{text-transform:uppercase}.room-code{letter-spacing:8px;color:var(--accent-text);margin:0;font-size:48px;font-weight:800}.lobby-players{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lobby-players li{background:var(--surface);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:8px;display:flex}.avatar-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;display:grid}.avatar-picker button{place-items:center;padding:3px;display:grid}.avatar-picker .cat-avatar{aspect-ratio:1;width:min(34px,100%);height:auto}.avatar-picker .selected{background:var(--gold)}.avatar-picker button:disabled{opacity:.3}.lobby-players .offline{opacity:.5}.ai-levels{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ai-levels .selected{background:var(--gold);font-weight:800}.hint{margin:0;font-size:14px}.account{background:var(--surface);border-radius:12px;gap:8px;padding:10px;display:grid}.account h2{margin:0;font-size:20px}.account p{margin:0}.account label{text-align:left;gap:4px;font-weight:800;display:grid}.account-links{flex-wrap:wrap;justify-content:center;gap:4px 12px;display:flex}.account-error{color:var(--danger-text);font-weight:800}.account button.danger{color:var(--danger-text)}.home input[readonly]{opacity:.75}.friends h3{margin:4px 0 0;font-size:16px}.admin{gap:12px;max-width:720px;margin:0 auto;padding:24px 16px;display:grid}.admin-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.admin-head h2{margin:0}.admin-totals{grid-template-columns:repeat(3,1fr);gap:8px;margin:0;display:grid}.admin-totals div{background:var(--surface);text-align:center;border-radius:12px;gap:2px;padding:10px 6px;display:grid}.admin-totals dt{font-size:13px}.admin-totals dd{color:var(--accent-text);margin:0;font-size:26px;font-weight:800}.admin-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-list li{background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:4px;min-width:0;padding:10px 12px;display:grid}.admin-list li.suspended{border-color:var(--danger-text)}.admin-who{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-who strong,.admin-email{overflow-wrap:anywhere}.admin-tag{border:1px solid var(--line);border-radius:999px;padding:1px 8px;font-size:12px;font-weight:800}.admin-tag.warn{color:var(--danger-text);border-color:var(--danger-text)}.admin-facts{flex-wrap:wrap;gap:2px 14px;font-size:14px;display:flex}.admin-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-actions:empty{display:none}.admin-pages{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;display:flex}.friends-add{gap:8px;display:flex}.friends-add input{flex:1;min-width:0}.friends-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.friends-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 10px;display:flex}.friends-list li>span:first-child{overflow-wrap:anywhere;font-weight:800}.presence{font-size:14px}.presence.online{color:var(--accent-text);font-weight:800}.presence.offline{opacity:.6}.invites{gap:8px;margin:0;padding:0;list-style:none;display:grid}.invite{background:var(--surface);outline:3px solid var(--gold);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px;display:flex}.member-mark{color:var(--accent-text);margin-left:3px;font-size:.85em}.players{gap:6px;margin:0;padding:0 146px 0 0;list-style:none;display:flex;overflow-x:auto}.players li{background:var(--surface);border-radius:10px;justify-items:center;min-width:62px;padding:4px 6px;font-size:12px;display:grid;position:relative}.players .current{background:var(--gold);color:var(--ink);animation:1.2s ease-in-out infinite bob}.players .dead{opacity:.85}.avatar{font-size:20px;line-height:1}.cat-avatar{width:28px;height:28px;display:block;position:relative}.cat-avatar svg{width:100%;height:100%;display:block}.cat-avatar>span{position:absolute;inset:0}.cat-avatar .lids{opacity:0;animation:5s step-end infinite blink;animation-delay:calc(var(--seat) * -1.3s)}.players .sweat:before{content:"💧";font-size:13px;animation:1s ease-in infinite drip;position:absolute;top:2px;right:8px}.players .yawn:after{content:"💤";font-size:14px;animation:1.2s ease-in-out infinite bob;position:absolute;top:0;left:4px}.players .yawn .lids{opacity:1;animation:none}.players .dizzy .avatar{animation:1s ease-out dizzy}.players .dizzy:after{content:"💫";font-size:16px;animation:.3s ease-in-out infinite bob;position:absolute;top:-2px;left:50%}.players .dash .avatar{animation:.9s ease-in-out dash}.players .dash:before{content:"💨";font-size:16px;position:absolute;top:8px;left:2px}.avatar.ghost{width:26px;height:26px;margin-top:-4px;animation:2.4s ease-in-out infinite haunt}.avatar.ghost svg{width:100%;display:block}.pname{white-space:nowrap;text-overflow:ellipsis;max-width:70px;font-weight:800;overflow:hidden}.offline-tag{color:var(--danger-text);font-size:10px}.float{pointer-events:none;font-size:26px;animation:1.8s ease-out forwards rise;position:absolute;top:0}.float small{display:none}.float[data-away] small{text-align:center;font-size:10px;font-weight:800;display:block}.float.fixed{left:clamp(20px, var(--x), calc(100vw - 20px));z-index:16;position:fixed;translate:-50%}.bubble small{opacity:.7;font-size:10px;font-weight:800;display:block}.bubble{left:clamp(70px, var(--x), calc(100vw - 70px));z-index:16;border:2px solid var(--ink);background:var(--cream);width:max-content;max-width:128px;color:var(--ink);text-align:center;pointer-events:none;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:800;animation:.2s ease-out land;position:fixed;translate:-50%}.owed{color:var(--accent-text);font-weight:800}.countdown{background:var(--line);border-radius:3px;grid-column:1/-1;height:6px;overflow:hidden}.countdown div{background:var(--gold);height:100%;transition:width .1s linear}.pile-column{justify-items:end;display:grid;position:relative}.pile-column.nervous{animation:.5s linear infinite nervous}.pile-column.panic{animation:.16s linear infinite nervous}.pile-column.hiccup{animation:.5s ease-out 2 hiccup}.burst-card{z-index:7;border:2px solid var(--ink);background:var(--back);border-radius:5px;width:34px;height:48px;animation:.8s ease-out both burst-card;position:absolute;top:40%;right:18px}.pile-eye{z-index:7;width:calc(var(--pile-w) + 16px);animation:1.2s ease-in-out both eye-open;position:absolute;top:12%;right:-8px}.fx-iris{animation:1.1s ease-in-out look}.flyer{z-index:18;pointer-events:none;width:58px;margin:-29px 0 0 -29px;animation:.75s cubic-bezier(.5,0,.9,.6) both fly;position:fixed}.flyer svg{width:100%;display:block}.flyer.steal,.flyer.favor{animation:.95s ease-in-out both fly-slow}.pile3d{width:var(--pile-w);aspect-ratio:300/420;position:relative;transform:perspective(700px)rotateX(16deg)}.pile-layer{background:#fff8ec;border:1px solid #b9a98f;border-radius:12px;position:absolute;inset:0}.pile{background:0 0;border:0;width:100%;padding:0;line-height:0;transition:transform .12s;position:absolute;inset:0}.pile svg{width:100%;height:auto}.pile:not(:disabled):hover{transform:translateY(-4px)rotate(-1deg)}.discard{--pile-w:var(--center-w);width:var(--center-w);border-radius:12px;transition:filter .12s}.discard:before{content:"";border:2px dashed var(--line);border-radius:12px;position:absolute;inset:0}.discard-empty{place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.discard-card{transform:rotate(var(--tilt));position:absolute;inset:0}.discard-card.top{animation:.42s cubic-bezier(.2,1.4,.4,1) slam}.discard-card.top:after{content:"";border:4px solid var(--gold);opacity:0;pointer-events:none;border-radius:18px;animation:.5s ease-out ring;position:absolute;inset:-6px}.card{background:0 0;border:0;width:100%;padding:0;line-height:0;display:block}.card svg{width:100%;height:auto}.card:disabled{opacity:1}.log{color:var(--log-text);background:var(--log-bg);border:2px solid var(--log-line);border-radius:10px;margin:0;padding:0 8px 6px;font-size:13px;line-height:1.35;list-style:none;overflow-y:auto}.log li{padding:1px 0}.log-title{display:none}.log-turn{color:color-mix(in srgb, var(--log-text) 75%, transparent);align-items:center;gap:6px;margin-top:8px;font-size:12px;font-weight:800;display:flex}.log-turn:before,.log-turn:after{content:"";border-top:1px solid var(--line);flex:1}.log-name{filter:var(--seat-filter);font-weight:800}.log-danger{color:var(--danger-text);font-weight:800}.log-safe{color:var(--safe-text);font-weight:800}.log-key{color:var(--accent-text);font-weight:800}.log-quiet{color:color-mix(in srgb, var(--log-text) 85%, transparent)}.log-speech{color:color-mix(in srgb, var(--log-text) 65%, transparent);font-style:italic}.spectator{text-align:center;margin:0;font-weight:800}.emojis{flex:1;gap:2px;display:flex}.emojis button{background:0 0;border:0;padding:2px 4px;font-size:20px}.taunts{scrollbar-width:none;flex:1 0 100%;order:1;gap:4px;min-width:0;display:flex;overflow-x:auto}.taunts button{white-space:nowrap;border-width:2px;border-radius:10px;flex:none;padding:2px 8px;font-size:12px}.card-preview{z-index:44;pointer-events:none;filter:drop-shadow(0 10px 18px #0009);width:min(72vw,48vh);animation:.15s ease-out land;position:fixed;top:50%;left:50%;translate:-50% -50%}.drag-ghost{z-index:45;width:var(--card-w);pointer-events:none;filter:drop-shadow(0 8px 10px #00000080);position:fixed;transform:translate(-50%,-60%)rotate(4deg)scale(1.1)}.modal{z-index:20;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal-box{border:3px solid var(--ink);background:var(--cream);width:min(100%,460px);max-height:90dvh;color:var(--ink);text-align:center;border-radius:16px;gap:10px;padding:14px;animation:.2s ease-out land;display:grid;overflow-y:auto}.modal-box h3{margin:0}.choices{grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;display:grid}.modal-cards{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.range-labels{justify-content:space-between;display:flex}.winner-dance{justify-items:center;display:grid}.winner-dance .cat-avatar{width:120px;height:120px;animation:.6s ease-in-out infinite alternate dance}.judges{flex-wrap:wrap;justify-content:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}.judges li{justify-items:center;font-size:12px;display:grid}.ai-level{margin:0;font-size:12px;font-weight:800}.judge-score{border:2px solid var(--ink);background:#fff;border-radius:4px;padding:1px 6px;font-weight:800}.confetti{z-index:21;pointer-events:none;position:fixed;inset:0;overflow:hidden}.confetti span{width:9px;height:14px;animation:linear infinite fall;position:absolute;top:-14px}.modal-box input[type=range]{border:0;padding:0}.rules{z-index:25;background:var(--night);padding-top:34px;position:fixed;inset:0}.rules-scroll{height:100%;overflow-y:auto}.rules-page{max-width:560px;margin:0 auto;padding:10px 16px 24px}.rules-close{border-width:2px;padding:2px 8px;font-size:12px;position:fixed;top:6px;left:6px}.rules h2{color:var(--accent-text);margin:0 0 8px}.rules h3{color:var(--accent-text);margin:18px 0 6px}.rules p{margin:0 0 6px}.rules-kinds{gap:8px;margin:0;padding:0;list-style:none;display:grid}.rules-kinds li{background:var(--surface);border-radius:10px;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:10px;padding:6px;display:grid}.rules-card{line-height:0}.rules-card svg{width:100%;height:auto}.rules-count{color:var(--accent-text);font-weight:800}.rules-kinds p{margin:2px 0 0;font-size:14px}.toast{z-index:40;background:var(--red);color:#fff;border-radius:10px;padding:8px 14px;font-weight:800;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.stamp{z-index:6;border:5px solid var(--red);color:var(--red);background:color-mix(in srgb, var(--cream) 85%, transparent);white-space:nowrap;pointer-events:none;border-radius:12px;padding:2px 12px;font-size:clamp(28px,7vh,52px);font-weight:800;animation:.3s cubic-bezier(.3,1.6,.5,1) stamp;position:absolute;top:50%;left:50%;translate:-50% -50%;rotate:-12deg}.stamp.revives{border-color:var(--safe);color:var(--safe);rotate:9deg}.thump{animation:.3s ease-out thump}.kitten-moment{z-index:50;color:#fff8ec;pointer-events:none;background:var(--scrim);place-content:center;justify-items:center;gap:8px;animation:.15s ease-out fade-in,.12s linear infinite tremble;display:grid;position:fixed;inset:0}.kitten-moment.exploded{background:#781e0acc;animation:.55s linear blast}.kitten-label{text-align:center;margin:0;font-size:clamp(18px,3.4vh,30px);font-weight:800}.kitten-stage{aspect-ratio:1;width:min(70vw,44vh);position:relative}.kitten-stage>div{position:absolute;inset:0}.kitten-stage svg{width:100%;height:100%;display:block;overflow:visible}.fx-kitten{animation:.28s cubic-bezier(.3,1.6,.5,1) kitten-in}.fx-spark{transform-box:fill-box;transform-origin:50%;animation:.14s linear infinite alternate fizz}.kitten-moment.defused{animation:none}.kitten-moment.defused .fx-spark{display:none}.fx-burst{animation:.5s ease-out forwards burst}.fx-charred{animation:.3s ease-out .1s backwards land}.fx-smoke{animation:1s ease-out forwards cough}.fx-snip{animation:.15s ease-out land}.fx-blade-a,.fx-blade-b{transform-box:view-box;transform-origin:205px 24px}.fx-blade-a{animation:.2s ease-in forwards snip-a}.fx-blade-b{animation:.2s ease-in forwards snip-b}.kitten-boom{color:var(--gold);text-shadow:4px 4px 0 var(--red), -2px -2px 0 var(--ink);margin:0;font-size:clamp(56px,13vh,120px);font-weight:800;line-height:1;animation:.25s cubic-bezier(.3,1.6,.5,1) kitten-in}.kitten-phew{margin:0;font-size:clamp(22px,4vh,36px);font-style:italic;animation:.3s ease-out land}@keyframes slam{0%{transform:translateY(70px) scale(1.5) rotate(calc(var(--tilt) - 18deg));opacity:.2}70%{transform:translateY(-4px) scale(.96) rotate(var(--tilt));opacity:1}}@keyframes ring{0%{opacity:1;transform:scale(.9)}to{opacity:0;transform:scale(1.25)}}@keyframes bob{50%{transform:translateY(-2px)}}@keyframes land{0%{opacity:0;transform:scale(.8)rotate(-3deg)}}@keyframes rise{to{opacity:0;transform:translateY(-46px)scale(1.4)}}@keyframes pulse{to{transform:scale(1.06)}}@keyframes blink{0%,95%{opacity:0}96%,to{opacity:1}}@keyframes drip{0%{opacity:1;transform:translateY(-3px)}to{opacity:0;transform:translateY(14px)}}@keyframes dizzy{to{transform:rotate(1080deg)}}@keyframes dash{40%{opacity:0;transform:translate(46px)}41%{opacity:0;transform:translate(-46px)}to{transform:none}}@keyframes nervous{25%{transform:translate(-1px)}75%{transform:translate(1px)}}@keyframes hiccup{40%{transform:translateY(-14px)scaleY(1.08)rotate(-3deg)}}@keyframes burst-card{45%{transform:translate(var(--x), var(--y)) rotate(var(--r))}to{opacity:0;transform:none}}@keyframes eye-open{0%,to{transform:scaleY(0)}18%,82%{transform:scaleY(1)}}@keyframes look{30%{transform:translate(-22px)}65%{transform:translate(22px)}}@keyframes fly{0%{transform:scale(.6)}75%{transform:translate(var(--dx), var(--dy)) scale(1.5);opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(1.9);opacity:0}}@keyframes fly-slow{0%{opacity:0;transform:scale(.7)}20%{opacity:1}85%{transform:translate(var(--dx), var(--dy)) scale(1);opacity:1}to{transform:translate(var(--dx), var(--dy)) scale(.7);opacity:0}}@keyframes dance{0%{transform:rotate(-12deg)translateY(4px)}to{transform:rotate(12deg)translateY(-8px)}}@keyframes fall{to{transform:translateY(110vh)rotate(720deg)}}@keyframes stamp{0%{opacity:0;scale:3.2}}@keyframes thump{40%{transform:translateY(6px)scale(.97)}}@keyframes haunt{50%{transform:translateY(-4px)rotate(4deg)}}@keyframes fade-in{0%{opacity:0}}@keyframes tremble{25%{transform:translate(-3px,2px)}75%{transform:translate(3px,-2px)}}@keyframes blast{15%{transform:translate(-14px,8px)}35%{transform:translate(14px,-8px)}55%{transform:translate(-9px,-5px)}75%{transform:translate(7px,5px)}}@keyframes kitten-in{0%{opacity:0;transform:scale(.2)rotate(-14deg)}}@keyframes fizz{to{transform:scale(1.5)rotate(40deg)}}@keyframes burst{0%{transform:scale(.1)rotate(-30deg)}60%{opacity:1}to{opacity:0;transform:scale(1.7)rotate(12deg)}}@keyframes cough{0%{opacity:0;transform:translateY(26px)scale(.5)}40%{opacity:1}to{opacity:0;transform:translateY(-44px)scale(1.5)}}@keyframes snip-a{0%{transform:rotate(-26deg)}to{transform:rotate(0)}}@keyframes snip-b{0%{transform:rotate(26deg)}to{transform:rotate(0)}}@media (width>=700px){:root{--card-w:90px}}@media (width>=1000px) and (height>=650px){:root{--card-w:150px}.log{font-size:14px}.log-title{z-index:1;background:var(--log-head);border-bottom:2px solid var(--log-line);color:var(--accent-text);margin:0 -8px;font-weight:800;display:block;position:sticky;top:0;padding:4px 8px!important}.emojis button{font-size:26px}.taunts button{font-size:14px}}.table{--area:color-mix(in srgb, var(--text) 8%, transparent);grid-template-rows:auto auto minmax(170px,1fr) minmax(0,auto) auto;grid-template-columns:minmax(0,1fr);gap:6px;height:100dvh;padding:6px;display:grid;overflow:hidden}.table .players,.table-stage,.table .table-spectator,.table-hand,.table-bar,.table-side{background:var(--area);border-radius:12px}.table .players{grid-row:1;gap:4px;padding:4px;overflow:visible}.table .players li{grid-template-columns:auto;min-width:42px;padding:2px}.table .players .pname{max-width:44px;font-size:10px}.table .players .pcount{font-size:11px;font-weight:800}.table-ticker{grid-row:2;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;display:grid}.table-ticker button{color:inherit;background:0 0;border:0;padding:0;font-weight:400}.table-ticker .table-line{min-width:0;color:var(--log-text);text-align:left;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;font-size:13px;overflow:hidden;background:var(--log-bg)!important;padding:3px 8px!important}.table-log-open{font-size:22px;line-height:1;position:relative}.table-log-open b{background:var(--red);color:#fff;text-align:center;border-radius:99px;min-width:16px;padding:0 3px;font-size:11px;font-weight:800;position:absolute;top:-6px;right:-4px}.table-side{display:none}.table-panel{z-index:12;border:3px solid var(--ink);background:var(--night);border-radius:14px;grid-template-rows:minmax(0,1fr) auto auto auto;gap:8px;max-height:62dvh;padding:8px;display:grid;position:fixed;top:80px;left:8px;right:8px}.table-panel .small{justify-self:end}.table-exits{flex-wrap:wrap;justify-content:center;gap:4px 12px;display:flex}.table-exits button.danger{color:var(--danger-text)}.table-exits-menu summary{cursor:pointer;text-align:center;font-size:13px}.table .table-log{height:auto;min-height:0;max-height:40dvh}.table-talk{gap:4px;min-width:0;display:grid}.table-talk .taunts{flex-wrap:wrap;flex:none;order:0;overflow:visible}.table-talk .taunts button{flex:none}.table-talk .emojis{flex-wrap:wrap;flex:none}.table-stage{grid-row:3;grid-template-rows:minmax(0,1fr);grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:8px;min-height:0;padding:8px;display:grid;position:relative;container:stage/size}.table-stage.droppable{outline:3px dashed color-mix(in srgb, var(--gold) 50%, transparent);outline-offset:-2px}.table-stage.over{outline-color:var(--gold);filter:drop-shadow(0 0 10px var(--gold))}.table-actor{flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;height:100%;min-height:0;display:flex}.table-actor .cat-avatar{width:min(64px,12dvh);height:min(64px,12dvh)}.table-actor h2{color:var(--accent-text);text-align:center;margin:0;font-size:clamp(18px,3dvh,24px)}.table-actor .countdown{width:100%}.table .table-draw{--pile-max:120px;--pile-w:min(var(--pile-max), 100cqw - 80px, calc((100cqh - var(--thick) - 8px) * 5 / 7));flex:0 1 calc(var(--pile-max) * 7 / 5 + var(--thick) + 8px);justify-content:center;align-self:stretch;align-items:flex-start;gap:10px;min-height:0;font-size:22px;display:flex;container-type:size}.table-draw>b{align-self:center}.table-last{--center-w:min(120px, calc((100cqh - var(--thick) - 42px) * 5 / 7));text-align:center;align-content:center;justify-self:center;justify-items:center;width:min(100%,140px);height:100%;min-height:0;display:grid;container-type:size}.table-last p{margin:calc(var(--thick) + 6px) 0 0;font-size:12px;line-height:1.2}.table .pile:disabled{opacity:1}@container stage (height<=240px){.table-actor{grid-template-rows:auto auto auto minmax(0,1fr);grid-template-columns:auto minmax(0,1fr);align-items:center;display:grid}.table-actor .cat-avatar{width:32px;height:32px}.table-actor h2{text-align:left;font-size:15px}.table-actor .owed,.table-actor .countdown{grid-column:1/-1}.table-actor .table-draw{grid-area:4/1/auto/-1;height:100%}}.table-stage.reacting{grid-template-columns:auto minmax(0,1fr);justify-content:center;gap:14px}.table-react-card{justify-self:end;position:relative}.table-react-card .card svg{width:auto;height:min(100cqh,240px);display:block}.table-react-side{gap:8px;display:grid}.table-react-side p{margin:0;font-size:17px;line-height:1.3}.table-react-side .react-target-me{color:var(--danger-text)}.table-react-side .countdown{border-radius:6px;height:12px}.table-react-side .countdown div{background:var(--red)}.table-choosing{grid-column:1/-1;justify-content:center;align-items:center;gap:12px;min-height:0;display:flex}.table-choosing>.card{flex:none;width:96px}.table-choices{flex:1;gap:5px;min-width:0;max-width:300px;display:grid}.table-choices h2{color:var(--accent-text);margin:0;font-size:22px}.table-choices button:not(.link){text-align:left;border-width:2px;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:8px;padding:4px 8px;display:grid}.table-choice-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-note{text-align:center;grid-column:1/-1}.table-note h2{color:var(--accent-text);margin:0;font-size:20px}.table .table-spectator{text-align:center;grid-row:4/6;justify-items:center;gap:6px;padding:12px 0;display:grid}.table-spectator .avatar.ghost{width:44px;height:44px}.table-hand{border-radius:12px 12px 0 0;grid-row:4;grid-template-columns:repeat(4,minmax(0,1fr));align-content:end;gap:8px 6px;min-height:0;margin-bottom:-6px;padding:13px 4px 6px;display:grid;overflow-y:auto}.table-hand button{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;cursor:grab;background:0 0;border:0;padding:0;line-height:0;transition:transform .12s,opacity .12s;animation:.25s ease-out land;display:block;position:relative}.table-face{display:block;position:relative}.table-face svg{width:100%;height:auto;display:block}.table-under{background:var(--cream);border:1px solid #b9a98f;border-radius:9px;position:absolute;inset:4px -3px -4px 3px}.table-hand b{z-index:1;border:2px solid var(--ink);background:var(--gold);color:var(--ink);border-radius:99px;padding:2px 5px;font-size:11px;line-height:1;position:absolute;top:-6px;right:-3px}.table-hand .lifted{filter:drop-shadow(0 0 6px var(--gold));transform:translateY(-6px)}.table-hand .offer{filter:drop-shadow(0 0 5px var(--gold));cursor:pointer}.table-hand .faded{opacity:.3}.table-hand.dim button{opacity:.35}.table-hand.dim button.live{opacity:1;filter:drop-shadow(0 0 10px var(--red));animation:.5s ease-in-out infinite alternate pulse;transform:translateY(-6px)}.table-bar{box-sizing:content-box;border-radius:0 0 12px 12px;grid-row:5;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-height:50px;padding:0 6px 6px;display:grid}.table-bar button:only-child{grid-column:1/-1}.table-non{background:var(--red);color:#fff;font-size:20px}.table-non:not(:disabled){animation:.5s ease-in-out infinite alternate pulse}.table.reading{grid-template-rows:auto auto minmax(0,1fr) auto}.table.reading .table-stage,.table.reading .table-hand,.table.reading .table-ticker,.table.reading .table-spectator{display:none}.table.reading .table-panel{grid-row:3;grid-template-rows:minmax(0,1fr);min-height:0;max-height:none;position:static}.table.reading .table-log{height:100%;max-height:none}.table.reading .table-bar{border-radius:12px;grid-row:4;padding:6px}.table .players.max{scrollbar-width:none;overscroll-behavior-x:contain;position:relative;overflow:auto hidden}.table .players.max::-webkit-scrollbar{display:none}.table .players.max li{flex:none}.table.max .table-choices{max-height:100cqh;overflow-y:auto}@media (width<=699px){.corner>button,.settings>button{padding:2px 6px}:root{--corner-w:100px}:root:has(.corner-board){--corner-w:129px}.table .players{margin-right:var(--corner-w)}.table .players:not(.max) li{flex:0 48px;min-width:0}.table:has(>.table-hand){grid-template-rows:auto auto minmax(170px, 1fr) minmax(0, calc(var(--rows) * ((100vw - 38px) * 7 / 20 + 8px) + 12px)) auto}.table-hand{container-type:size}.table-hand button{width:min(100%, calc((100cqh - (var(--rows) - 1) * 8px) / var(--rows) * 5 / 7));justify-self:center}}@media (width>=700px){:root{--log-w:clamp(220px, 20vw, 280px)}.table{grid-template-columns:130px minmax(0, 1fr) var(--log-w);grid-template-rows:minmax(150px,1fr) minmax(0,auto) auto;padding:8px}.table .players{flex-direction:column;grid-area:1/1/4;justify-content:space-around}.table .players li{min-width:0;font-size:14px}.table .players .pname{max-width:100px;font-size:inherit}.table .cat-avatar{width:40px;height:40px}.table-ticker,.table-panel{display:none}.table-side{grid-area:1/3/4;grid-template-rows:minmax(0,1fr) auto auto;gap:8px;min-height:0;margin-top:34px;padding:6px;display:grid}.table .table-log{height:100%;max-height:none}.table-side .table-log{border:0}.table-stage{grid-area:1/2}.table-actor .cat-avatar{width:min(110px,26cqh);height:min(110px,26cqh)}.table-actor h2{font-size:clamp(18px,8cqh,34px)}.table-last{--center-w:min(150px, calc((100cqh - var(--thick) - 42px) * 5 / 7));width:auto}.table .table-spectator{grid-area:2/2/4}.table-hand{grid-area:2/2}.table .table-draw{--pile-max:96px}.table-hand{grid-template-columns:repeat(auto-fit,112px);justify-content:center;max-height:54dvh}.table-bar{grid-area:3/2;grid-template-columns:220px 220px;justify-content:center}.table.reading{grid-template-rows:minmax(0,1fr) auto}.table.reading .table-panel{grid-area:1/2/auto/4;margin-top:34px;display:grid}.table.reading .table-bar{grid-area:2/2/auto/4}.table.reading .table-side{display:none}.table.max{grid-template-columns:210px minmax(0, 1fr) var(--log-w)}.table .players.max{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-content:stretch;gap:4px;display:grid;overflow:visible}.table .players.max li{align-content:center;min-width:0;padding:2px 4px;font-size:13px}.table .players.max .pname{max-width:84px}.table.max .players .cat-avatar{width:36px;height:36px}.table.max .players .avatar.ghost{width:30px;height:30px}}@media (width>=700px) and (height<=700px){.table.max .players .cat-avatar{width:26px;height:26px}.table.max .players .avatar.ghost{width:24px;height:24px}.table .players.max li{padding:1px 4px;font-size:11px}.table .players.max .pcount{font-size:11px}.table-hand{grid-template-columns:repeat(auto-fit,86px)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}.flyer,.confetti,.burst-card{display:none}}.competition{max-width:420px}.competition .lobby-players{max-height:40vh;overflow-y:auto}.competition-name{text-align:left;gap:4px;font-weight:800;display:grid}.seat[hidden]{display:none}.round{gap:6px;display:grid}.round summary{cursor:pointer}.round summary h3{margin:4px 0;display:inline}.competition .step{font-weight:700}.podium ol{gap:6px;margin:0;padding:0;list-style:none;display:grid}.podium li{justify-content:center;align-items:center;gap:8px;display:flex}.podium .medal{font-size:1.4rem}.podium li.champion{font-size:1.3rem;font-weight:800}.round .mine{outline:2px solid #fff9}.round .qualified{font-weight:800}.competition .champion{font-size:1.3rem;font-weight:800}.competition .out{opacity:.85}.break-time{font-variant-numeric:tabular-nums;font-weight:700}.kitten-moment.exploded:has(.gg-burst){background:#30125cd9}.kitten-moment:has(.gg-burst) .kitten-boom{text-shadow:4px 4px 0 #7b3fc4, -2px -2px 0 var(--ink)}.gg-wisp{transform-box:fill-box;transform-origin:bottom;animation:1.4s ease-in-out infinite alternate gg-curl}.gg-drop{animation:.25s cubic-bezier(.3,1.4,.6,1) both gg-drop}.gg-land{animation:.5s ease-out .15s both gg-land}.gg-rise{animation:.7s ease-out both gg-rise}@keyframes gg-curl{0%{transform:rotate(-6deg)scaleY(.95)}to{transform:rotate(6deg)scaleY(1.05)}}@keyframes gg-drop{0%{opacity:0;transform:translateY(-90px)}}@keyframes gg-land{0%{opacity:0;transform:translateY(-60px)rotate(-20deg)}}@keyframes gg-rise{0%{opacity:0;transform:translateY(40px)}}.theme-banner{box-sizing:border-box;text-align:center;background:linear-gradient(160deg, var(--banner-from), var(--banner-to));width:100%;max-width:480px;color:var(--banner-ink);border-radius:16px;justify-items:center;gap:4px;padding:12px;display:grid}.theme-banner .hint{color:var(--banner-ink);margin:0}.theme-title{color:var(--banner-accent);margin:4px 0 0;font-size:1.3em;font-weight:800}.theme-fan{justify-content:center;margin:6px 0;display:flex}.theme-fan>span{filter:drop-shadow(0 2px 4px #00000059);margin:0 -10px;display:block}.theme-fan>span:first-child{transform:rotate(-12deg)translateY(6px)}.theme-fan>span:nth-child(2){transform:rotate(-4deg)}.theme-fan>span:nth-child(3){transform:rotate(4deg)}.theme-fan>span:nth-child(4){transform:rotate(12deg)translateY(6px)}.theme-fan svg{width:100%;height:auto;display:block}.theme-fan-banner>span{width:72px}.theme-fan-row>span{width:40px}.theme-fan-row{flex:none;margin:0 10px 0 0}.theme-sheet{z-index:50;background:var(--scrim);justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.theme-sheet-body{box-sizing:border-box;background:var(--night);width:min(480px,100%);max-height:90dvh;color:var(--text);border-radius:18px 18px 0 0;gap:8px;padding:14px;display:grid;overflow-y:auto}.theme-rows{gap:8px;display:grid}.theme-row{text-align:left;border:2px solid var(--line,var(--ink));background:var(--surface);color:var(--text);border-radius:12px;align-items:center;padding:8px;display:flex}.theme-row.selected{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold)}
