#app{position:fixed;top:0;right:0;bottom:0;left:0}.host .screen{padding:clamp(16px,2.6vw,44px);gap:clamp(12px,2vh,24px)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.topbar .right{display:flex;gap:10px;align-items:center}.icon-btn{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;font-size:22px;background:#fff;box-shadow:0 0 0 2px var(--line),0 4px 0 var(--lip);transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease)}.icon-btn:active{transform:translateY(4px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.lobby-grid{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,27%) 1fr;grid-template-rows:minmax(0,1fr);gap:clamp(16px,2.2vw,32px)}.join{min-height:0;overflow:hidden;padding:clamp(18px,2.4vw,32px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}.join .qr-wrap{width:34vh;height:34vh;max-width:100%;flex:none;padding:12px;border-radius:24px;background:#fff;box-shadow:0 0 0 3px var(--ink)}.join .qr-wrap img{width:100%;height:100%;display:block;image-rendering:pixelated}.code{display:flex;gap:10px;justify-content:center}.code span{width:clamp(48px,5vw,76px);height:clamp(58px,6vw,92px);border-radius:18px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:clamp(34px,4vw,60px);color:#fff;box-shadow:0 6px rgba(0,0,0,.18);animation:popIn var(--t4) var(--pop) backwards;animation-delay:var(--d)}.code span:nth-child(1){background:var(--tomato)}.code span:nth-child(2){background:var(--ocean)}.code span:nth-child(3){background:var(--sun)}.code span:nth-child(4){background:var(--mint)}.howto{display:flex;align-items:center;gap:8px;margin-top:4px}.howto span{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:26px}.howto small{font-size:12px;font-weight:800;color:var(--ink-3);letter-spacing:.04em}.howto i{font-style:normal;color:var(--dot);font-size:22px;font-weight:900}.join .url{font-size:clamp(15px,1.3vw,20px);color:var(--ink-2);word-break:break-all}.join .url b{color:var(--ink)}.setup{display:flex;flex-direction:column;gap:clamp(10px,1.5vh,18px);min-height:0;min-width:0}.setup-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.setup-head h2{font-size:clamp(26px,2.4vw,42px);margin-top:4px}.presets{display:flex;gap:10px;flex-wrap:wrap}.preset{height:40px;padding:0 16px;border-radius:999px;background:#fff;font-weight:800;font-size:15px;color:var(--ink-2);box-shadow:0 0 0 2px var(--line),0 4px 0 var(--lip);transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),background var(--t1) ease,color var(--t1) ease}.preset:active{transform:translateY(4px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.preset.on{background:var(--grape);color:#fff;box-shadow:0 0 0 2px var(--grape),0 4px 0 var(--grape-lip)}.tabs-row{display:flex;align-items:center;gap:12px}.tabs{flex:1;min-width:0;display:flex;gap:6px;padding:5px;border-radius:999px;background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 2px var(--line)}.tab{flex:1 1 auto;min-width:0;height:48px;padding:0 12px;border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--display);font-weight:600;font-size:19px;color:var(--ink-2);transition:background var(--t1) ease,color var(--t1) ease,transform var(--t1) var(--ease),box-shadow var(--t3) var(--ease)}.tab .ic{font-size:22px;line-height:1}.tab .nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab small{flex:none;font-family:var(--body);font-size:13px;font-weight:900;color:var(--ink-3);background:#fff;border-radius:999px;padding:2px 9px;box-shadow:0 0 0 2px var(--line);transition:background var(--t1) ease,color var(--t1) ease}.tab.has small{background:var(--mint);color:#fff;box-shadow:none}.tab:hover{background:rgba(255,255,255,.9)}.tab:active{transform:scale(.97)}.tab.on{background:var(--ink);color:#fff;box-shadow:0 4px #0b0e22}.pick-all{flex:none;height:48px;padding:0 18px;border-radius:999px;background:#fff;white-space:nowrap;font-weight:800;font-size:15px;color:var(--ink-2);box-shadow:0 0 0 2px var(--line),0 4px 0 var(--lip);transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),background var(--t1) ease,color var(--t1) ease}.pick-all:active{transform:translateY(4px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.pick-all.on{background:var(--mint);color:#fff;box-shadow:0 0 0 2px var(--mint),0 4px 0 var(--mint-lip)}.cats{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px;padding:6px 6px 12px;align-content:start}.cat{--cc: var(--ocean);position:relative;text-align:left;padding:12px 14px;border-radius:var(--r-m);min-width:0;background:#fff;box-shadow:0 0 0 2px var(--line),0 5px 0 var(--lip);display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center;transition:transform var(--t1) var(--ease),box-shadow var(--t3) var(--ease),background var(--t1) ease;animation:popIn var(--t4) var(--pop) backwards;animation-delay:var(--d)}.cat>span{min-width:0}.cat:active{transform:translateY(5px) scale(.98);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.cat .bubble{grid-row:span 2;width:50px;height:50px;border-radius:16px;display:grid;place-items:center;font-size:28px;background:var(--cc);box-shadow:inset 0 -5px rgba(0,0,0,.15)}.cat .name{font-family:var(--display);font-weight:600;font-size:19px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat .blurb{font-size:13px;color:var(--ink-3);line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cat .stats{grid-column:1 / -1;display:flex;gap:12px;align-items:center;margin-top:6px;font-size:13px;font-weight:800;color:var(--ink-2);white-space:nowrap}.cat .stats .diff-dots{margin-left:auto;color:var(--cc)}.cat .tick{position:absolute;top:-8px;right:-8px;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cc);color:#fff;font-size:16px;transform:scale(0);transition:transform var(--t3) var(--pop);box-shadow:0 0 0 3px #fff}.cat.on{box-shadow:0 0 0 4px var(--cc),0 5px 0 var(--cc)}.cat.on .tick{transform:scale(1)}.cat.none{opacity:.38;filter:grayscale(.7);box-shadow:0 0 0 2px var(--line)}.cat.none .tick{display:none}.cat .diff-dots i.cur{transform:scale(1.5)}.picked{display:flex;align-items:center;gap:8px;min-height:40px;overflow-x:auto;overflow-y:hidden;padding:4px 6px;flex:none}.picked::-webkit-scrollbar{display:none}.pk-head{flex:none;font-weight:800;font-size:14px;color:var(--ink-2);margin-right:4px;white-space:nowrap}.pk{flex:none;height:34px;display:flex;align-items:center;gap:6px;padding:0 8px 0 5px;border-radius:999px;background:#fff;box-shadow:0 0 0 2px var(--cc);font-weight:800;font-size:14px;color:var(--ink);white-space:nowrap;animation:popIn var(--t3) var(--pop) backwards;transition:transform var(--t1) var(--ease),background var(--t1) ease}.pk .ic{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:14px;background:var(--cc);overflow:hidden}.pk .ic img.art{width:100%;height:100%;object-fit:cover}.pk i{font-style:normal;font-size:12px;color:var(--ink-3)}.pk:hover i{color:var(--tomato)}.pk:active{transform:scale(.95)}.setbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px clamp(14px,2vw,32px)}.setbar-item{display:flex;flex-direction:column;gap:6px;flex:none}.setbar .seg{flex-wrap:nowrap}.set-btn{flex:none;height:56px;padding:0 16px 0 12px;border-radius:18px;background:#fff;display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;color:var(--ink);box-shadow:0 0 0 2px var(--line),0 4px 0 var(--lip);transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease)}.set-btn:active{transform:translateY(4px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.set-btn .gear{font-size:24px;line-height:1}.set-btn .sum{display:flex;gap:6px}.set-btn .sum i{font-style:normal;display:flex;align-items:center;gap:4px;height:30px;padding:0 9px;border-radius:999px;background:var(--paper);font-size:15px;transition:opacity var(--t1) ease}.set-btn .sum b{font-size:13px;font-weight:800;color:var(--ink-2)}.set-btn .sum i.off{opacity:.4}body[data-wide=n] .set-btn .sum b,body[data-wide=n] .setbar .diff-dots{display:none}body[data-wide=n] .tab{font-size:17px;gap:6px;padding:0 10px}body[data-wide=n] .pick-all{padding:0 14px}body[data-short=y].host .screen{gap:10px}body[data-short=y] .join{gap:8px;padding:14px}body[data-short=y] .join .qr-wrap{width:30vh;height:30vh;padding:8px;border-radius:18px}body[data-short=y] .howto{display:none}body[data-short=y] .code span{width:8.5vh;height:10vh;font-size:7vh;border-radius:14px}body[data-short=y] .setup{gap:10px}body[data-short=y] .setup-head h2{font-size:28px;margin-top:2px}body[data-short=y] .presets .preset{height:36px;font-size:14px}body[data-short=y] .tab,body[data-short=y] .pick-all{height:42px}body[data-short=y] .setbar{align-items:center}body[data-short=y] .setbar-item{flex-direction:row;align-items:center;gap:10px}body[data-short=y] .setbar .seg button{height:42px}body[data-short=y] .set-btn{height:50px}body[data-short=y] .players-strip{min-height:62px;padding:6px 14px}body[data-short=y] .face .avatar{width:40px;height:40px;font-size:21px}.scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;background:rgba(30,35,64,.36);opacity:0;visibility:hidden;transition:opacity var(--t2) ease,visibility 0s linear var(--t2)}.scrim.open{opacity:1;visibility:visible;transition:opacity var(--t3) ease,visibility 0s}.sheet{position:absolute;left:16px;right:16px;bottom:clamp(16px,4vh,48px);z-index:21;max-width:1040px;margin:0 auto;padding:clamp(20px,2.6vh,32px) clamp(22px,2.4vw,40px);border-radius:32px;background:#fff;box-shadow:0 0 0 2px var(--line),0 10px 0 var(--lip),0 30px 80px rgba(30,35,64,.22);opacity:0;visibility:hidden;transform:translateY(32px);transition:transform var(--t2) var(--ease),opacity var(--t2) ease,visibility 0s linear var(--t2)}.sheet.open{opacity:1;visibility:visible;transform:none;transition:transform var(--t4) var(--ease),opacity var(--t3) ease,visibility 0s}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:clamp(14px,2.4vh,26px)}.sheet-head h2{font-size:clamp(26px,2.2vw,38px)}.sheet-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(18px,3vh,30px) clamp(24px,3vw,48px)}.sheet .opt .eyebrow{margin-bottom:10px}.sheet .hint{margin-top:8px;font-size:14px;color:var(--ink-3);line-height:1.35}.sheet .hint b{color:var(--ink);font-size:16px}.lobby-foot{display:flex;align-items:center;gap:20px}.players-strip{flex:1;min-width:0;display:flex;align-items:center;gap:14px;min-height:76px;padding:10px 18px;border-radius:var(--r-l);background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 2px var(--line);overflow:hidden}.players-strip .count{font-family:var(--display);font-weight:600;font-size:22px;white-space:nowrap}.players-strip .faces{display:flex;gap:10px;overflow:hidden;flex-wrap:nowrap}.face{display:flex;flex-direction:column;align-items:center;gap:2px;animation:popIn var(--t4) var(--pop) backwards;position:relative}.face .avatar{width:50px;height:50px;font-size:26px}.face small{font-size:12px;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}.face.off{opacity:.35}.face.seen{animation:none}.btn.ghost.on-mix{--bg: var(--ink);color:#fff;box-shadow:0 0 0 2px var(--ink),0 4px #0b0e22}.face button.kick{position:absolute;top:-4px;right:-4px;width:22px;height:22px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;opacity:0;transition:opacity var(--t1) ease}.face:hover button.kick{opacity:1}.waiting{color:var(--ink-3);font-weight:800;display:flex;align-items:center;gap:10px}.waiting i{width:10px;height:10px;border-radius:50%;background:var(--sun);animation:pulse 1.2s var(--ease) infinite}.go{display:flex;align-items:center;gap:18px}.estimate{text-align:right}.estimate b{display:block;font-family:var(--display);font-weight:600;font-size:26px}.intro{flex:1;display:grid;place-items:center}.intro-card{--cc: var(--ocean);text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px;animation:popIn var(--t4) var(--pop) backwards}.intro-card .bubble{width:clamp(120px,18vh,200px);height:clamp(120px,18vh,200px);border-radius:30%;display:grid;place-items:center;font-size:clamp(64px,10vh,120px);background:var(--cc);box-shadow:inset 0 -12px rgba(0,0,0,.15),0 12px rgba(0,0,0,.08);animation:squish .7s var(--ease) .25s both}.intro-card h1{font-size:clamp(44px,6vw,96px)}.intro-card .meta{display:flex;gap:12px}.intro-bar{width:min(420px,70vw);height:12px;border-radius:99px;background:#fff;box-shadow:inset 0 0 0 2px var(--line);overflow:hidden}.intro-bar i{display:block;height:100%;background:var(--cc);transform-origin:left;animation:drain var(--dur) linear both}@keyframes drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.q-top{display:flex;align-items:center;justify-content:space-between;gap:16px}.q-meta{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.pill.cat-pill{background:var(--cc);color:#fff;box-shadow:0 4px rgba(0,0,0,.15)}.cat-pill .cp-nm{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pill.join-pill b{color:var(--ink);letter-spacing:.08em}.q-right{display:flex;align-items:center;gap:14px}.answered{font-size:18px}.answered b{font-family:var(--display);font-size:22px;color:var(--ink)}.answered .an-n,.answered .an-t{white-space:nowrap}.q-prompt{text-align:center;font-size:clamp(30px,4.2vw,64px);animation:popIn var(--t4) var(--pop) backwards}.q-prompt.memo{color:var(--grape)}.stage{flex:1;min-height:0}.host .tiles{gap:clamp(10px,1.4vw,20px)}.host .tile{min-height:clamp(76px,12vh,130px)}.host .tile .opt{font-size:clamp(36px,5.2vh,64px)}.host .tile .slot-ico{width:clamp(30px,4vh,46px);height:clamp(30px,4vh,46px)}.reveal-strip{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;min-height:44px}.reveal-strip .pill{animation:popIn var(--t4) var(--pop) backwards;animation-delay:var(--d)}.reveal-strip .explain{background:var(--ink);color:#fff;box-shadow:0 4px #0b0e22;height:auto;min-height:44px;padding:8px 18px;white-space:normal;font-size:clamp(16px,1.5vw,22px)}.reveal-strip .fast{background:var(--sun);color:var(--ink);box-shadow:0 4px 0 var(--sun-lip);gap:5px}.reveal-strip .fast .f-who{min-width:0;overflow:hidden;text-overflow:ellipsis}.reveal-strip .fast .f-who>img.emoji:first-child{filter:drop-shadow(1px 0 0 var(--ink)) drop-shadow(-1px 0 0 var(--ink)) drop-shadow(0 1px 0 var(--ink)) drop-shadow(0 -1px 0 var(--ink))}.rv-chips{display:contents}.board{flex:1;display:flex;flex-direction:column;align-items:center;gap:18px;min-height:0}.board h1{font-size:clamp(40px,5vw,72px)}.ranks{list-style:none;width:min(900px,100%);flex:1 1 auto;min-height:0;overflow:hidden;padding:2px 6px 8px;display:flex;flex-direction:column;gap:12px}.rank-row.cut{display:none}.rank-row{height:clamp(60px,7.6vh,78px);display:flex;align-items:center;gap:16px;padding:0 22px 0 14px;border-radius:var(--r-m);background:#fff;box-shadow:0 0 0 2px var(--line),0 6px 0 var(--lip);transition:transform .7s var(--ease)}.rank-row .pos{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;font-family:var(--display);font-weight:700;font-size:22px;background:var(--paper)}.rank-row .pos.pl1{background:var(--sun);color:#fff}.rank-row .pos.pl2{background:#b8c2d6;color:#fff}.rank-row .pos.pl3{background:#e09a5c;color:#fff}.rank-row .avatar{width:48px;height:48px;font-size:26px}.rank-row .nm{flex:1;min-width:0;font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,28px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rank-row .streak{font-size:18px;color:var(--tomato)}.rank-row .gain{padding:4px 12px;border-radius:999px;background:var(--mint);color:#fff;font-weight:900;animation:popIn var(--t4) var(--pop) .5s backwards}.rank-row .gain.zero{background:var(--paper);color:var(--ink-3)}.rank-row .score{font-family:var(--display);font-weight:700;font-size:clamp(22px,2.2vw,32px);min-width:90px;text-align:right;font-variant-numeric:tabular-nums}.rank-row .move{width:22px;font-size:16px;text-align:center}.rank-row .move.up{color:var(--mint)}.rank-row .move.down{color:var(--tomato)}.final{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(14px,2.4vh,28px)}.final h1{font-size:clamp(44px,6vw,92px)}.podium{display:flex;align-items:flex-end;gap:clamp(12px,2vw,28px)}.pod{display:flex;flex-direction:column;align-items:center;gap:10px;width:clamp(140px,16vw,230px)}.pod .avatar{width:clamp(70px,9vh,110px);height:clamp(70px,9vh,110px);font-size:clamp(38px,5vh,60px);animation:popIn var(--t4) var(--pop) backwards;animation-delay:var(--d)}.pod .nm{font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,30px);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pod .pts{color:var(--ink-2)}.pod .block{width:100%;border-radius:22px 22px 10px 10px;display:grid;place-items:start center;padding-top:14px;font-family:var(--display);font-weight:700;font-size:clamp(36px,5vh,64px);color:#fff;box-shadow:inset 0 -10px rgba(0,0,0,.12);transform-origin:bottom;animation:barGrow .7s var(--ease) both;animation-delay:var(--d)}.pod.p1 .block{height:clamp(150px,26vh,300px);background:var(--sun)}.pod.p2 .block{height:clamp(110px,18vh,210px);background:var(--ocean)}.pod.p3 .block{height:clamp(80px,12vh,150px);background:var(--tomato)}.pod.p1 .avatar{animation:popIn var(--t4) var(--pop) backwards,bob 2.4s var(--ease) 1.2s infinite}.rest{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;max-width:900px}.final-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.host .screen.with-hud{padding-bottom:86px}.ring.done .bar{stroke:var(--mint)}.ring.done .num{color:var(--mint);font-size:40px;animation:popIn var(--t4) var(--pop) backwards}.hud{position:fixed;right:18px;bottom:18px;display:flex;gap:10px;z-index:20}.hud .icon-btn{width:auto;padding:0 16px;gap:8px;display:inline-flex;align-items:center;font-weight:800;font-size:16px}body[data-mode=phone]{overflow:auto}body[data-mode=phone] #app{position:relative;min-height:100%}body[data-mode=phone] .screen{position:relative;min-height:100vh}body[data-mode=phone] .lobby-grid{grid-template-columns:1fr}body[data-mode=phone] .cats{overflow:visible;grid-template-columns:1fr 1fr}body[data-mode=phone] .cat{grid-template-columns:1fr;padding:12px}body[data-mode=phone] .cat .bubble{grid-row:auto;width:46px;height:46px;font-size:26px}body[data-mode=phone] .cat .blurb{display:none}body[data-mode=phone] .tabs{overflow-x:auto;border-radius:22px}body[data-mode=phone] .tab{flex:none;height:42px;font-size:16px}body[data-mode=phone] .tabs-row,body[data-mode=phone] .setbar,body[data-mode=phone] .setbar .seg{flex-wrap:wrap}body[data-mode=phone] .set-btn .lbl,body[data-mode=phone] .set-btn .sum{display:none}body[data-mode=phone] .set-btn{height:52px;padding:0 14px}body[data-mode=phone] .scrim,body[data-mode=phone] .sheet{position:fixed}body[data-mode=phone] .sheet{left:8px;right:8px;bottom:8px;max-height:86vh;overflow:auto;border-radius:26px}body[data-mode=phone] .sheet-grid{grid-template-columns:1fr}body[data-mode=phone] .lobby-foot{flex-direction:column;align-items:stretch;position:-webkit-sticky;position:sticky;bottom:0;background:var(--paper);padding-top:10px}body[data-mode=phone] .go{justify-content:space-between}body[data-mode=phone] .tiles{grid-template-columns:1fr}body[data-mode=phone] #tiles{grid-template-columns:1fr 1fr}body[data-mode=phone] #tiles .tile{padding:10px 12px;gap:10px}body[data-mode=phone] .hud{bottom:10px;right:10px}body[data-mode=phone] .q-top{align-items:flex-start}body[data-mode=phone] .q-meta .pill:nth-child(n+3){display:none}body[data-mode=phone] .ring{width:64px;height:64px}body[data-mode=phone] .ring .num{font-size:26px}body[data-mode=tablet] .lobby-grid{grid-template-columns:minmax(250px,32%) 1fr}body[data-mode=tablet] .tab .nm{display:none}body[data-mode=tablet] .setbar{flex-wrap:wrap}.face .sig-slot{display:block;height:14px}.x-mark{position:absolute;top:-2px;left:50%;transform:translate(-50%);width:50px;height:50px;display:grid;place-items:center;font-size:34px;font-weight:900;color:var(--tomato);text-shadow:0 2px 0 #fff;pointer-events:none}.face.off .avatar{filter:grayscale(1)}.face.off{opacity:.6}.rank-row [data-sig]{margin-right:6px}.q-faces{display:flex;align-items:center;padding-top:6px}.qf{position:relative;display:block;transition:transform var(--t2) var(--ease),opacity var(--t2) ease}.qf.done{transition:transform var(--t3) var(--ease),opacity var(--t2) ease}.qf+.qf{margin-left:-10px}.qf .avatar{width:44px;height:44px;font-size:24px;box-shadow:inset 0 -3px rgba(0,0,0,.14),0 0 0 3px var(--paper)}.qf.done{transform:translateY(-6px)}.qf .r-ok{position:absolute;top:-6px;right:-4px;width:20px;height:20px;border-radius:50%;background:var(--mint);color:#fff;font-size:12px;display:grid;place-items:center;box-shadow:0 0 0 2px #fff;transform:scale(0);transition:transform var(--t1) var(--ease)}.qf.done .r-ok{transform:scale(1);transition:transform var(--t3) var(--pop)}.qf .x-mark{display:none;width:44px;height:44px;font-size:28px;top:0}.qf.off .x-mark{display:grid}.qf.off .avatar{filter:grayscale(1);opacity:.5}.qf-more{margin-left:6px;height:32px;min-width:40px;padding:0 9px;border-radius:999px;display:grid;place-items:center;background:#fff;box-shadow:0 0 0 2px var(--line);font-weight:900;font-size:15px;color:var(--ink-2)}.answered .off-n{font-style:normal;font-size:14px;color:#fff;background:var(--tomato);border-radius:999px;padding:1px 7px}body[data-mode=tv] .qf .avatar{width:54px;height:54px;font-size:30px}body[data-mode=tv] .qf .x-mark{width:54px;height:54px}body[data-mode=tv] .qf .r-ok{width:24px;height:24px;font-size:14px}body[data-mode=phone] .q-faces{display:none}body[data-mode=tablet] .q-meta .pill:nth-child(3){display:none}.crown{position:absolute;top:-14px;left:50%;transform:translate(-50%) rotate(-12deg);font-size:22px;filter:drop-shadow(0 2px 0 rgba(0,0,0,.15))}.crown.sm{top:-16px;font-size:18px}.no-tv{margin-top:2px;min-height:40px;padding:0 14px;border-radius:999px;background:var(--paper);box-shadow:inset 0 0 0 2px var(--line);font-weight:800;font-size:14px;color:var(--ink-2);transition:transform var(--t1) var(--ease),background var(--t1) ease}.no-tv:hover{background:#fff}.no-tv:active{transform:scale(.97)}.no-tv[data-armed]{background:var(--tomato);color:#fff;box-shadow:none;animation:squish .4s var(--ease)}body[data-short=y] .no-tv{min-height:36px;font-size:13px}.chooser{flex:1;min-height:0;overflow-y:auto;width:100%;max-width:520px;margin:0 auto;display:flex;flex-direction:column;gap:18px}.ch-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.ch-mid{margin:auto 0;display:flex;flex-direction:column;gap:18px}.ch-title{font-size:32px}.ch-list{display:flex;flex-direction:column;gap:14px}.ch-opt{display:flex;align-items:center;gap:14px;min-height:84px;padding:12px 16px;border-radius:var(--r-m);text-align:left;background:#fff;box-shadow:0 0 0 2px var(--line),0 6px 0 var(--lip);animation:popIn var(--t4) var(--pop) backwards;animation-delay:var(--d);transition:transform var(--t1) var(--ease),box-shadow var(--t1) var(--ease),opacity var(--t1) ease}.ch-opt:active{transform:translateY(6px);box-shadow:0 0 0 2px var(--line),0 0 0 var(--lip)}.ch-opt .ic{flex:none;width:56px;height:56px;border-radius:18px;display:grid;place-items:center;font-size:30px;background:var(--paper)}.ch-opt .tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ch-opt b{font-family:var(--display);font-weight:600;font-size:21px;line-height:1.15}.ch-opt small{font-size:14px;color:var(--ink-3);font-weight:800}.ch-opt i{font-style:normal;font-size:28px;font-weight:900;color:var(--dot)}.ch-opt.main{background:var(--mint);color:#fff;box-shadow:0 6px 0 var(--mint-lip)}.ch-opt.main:active{box-shadow:0 0 0 var(--mint-lip)}.ch-opt.main .ic{background:rgba(255,255,255,.25)}.ch-opt.main small,.ch-opt.main i{color:rgba(255,255,255,.85)}.ch-opt.busy{opacity:.6;pointer-events:none}.ch-back{align-self:center;min-height:44px;padding:0 16px;border-radius:999px;font-weight:800;color:var(--ink-2);box-shadow:inset 0 0 0 2px var(--line)}body[data-mode=phone] .chooser{min-height:calc(100vh - (2*clamp(16px,2.6vw,44px)))}@media (max-height: 520px){.chooser{max-width:760px}.ch-list{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}.ch-opt{flex-direction:column;text-align:center;min-height:0;padding:12px 10px;gap:8px}.ch-opt i{display:none}.ch-title{font-size:26px}}@media (max-height: 420px){.chooser,.ch-mid{gap:10px}.ch-title{font-size:22px}.ch-opt{padding:8px 10px;gap:6px}.ch-opt .ic{width:44px;height:44px;font-size:24px;border-radius:14px}.ch-opt b{font-size:18px}.ch-opt small{font-size:12px}.ch-back{min-height:40px}}body[data-mode=phone] .screen.q-screen{position:absolute;min-height:0;padding-bottom:68px;gap:10px}body[data-mode=phone] .q-screen .q-prompt{font-size:24px}body[data-mode=phone] .q-screen .tile{min-height:60px}body[data-mode=phone] .q-screen .reveal-strip{min-height:0;gap:6px 8px}body[data-mode=phone] .q-screen .reveal-strip .pill{height:34px;padding:0 12px;font-size:14px;box-shadow:0 0 0 2px var(--line),0 3px 0 var(--lip)}body[data-mode=phone] .q-screen .reveal-strip .explain{height:auto;min-height:34px;padding:6px 14px;font-size:15px;line-height:1.25;box-shadow:0 3px #0b0e22}body[data-mode=phone] .q-screen .reveal-strip .fast{box-shadow:0 3px 0 var(--sun-lip)}body[data-low=y] .screen.q-screen{position:absolute;min-height:0;padding:10px 14px 58px;gap:8px 14px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"top top" "prompt tiles" "stage tiles" "strip strip"}body[data-low=y] .q-screen .q-top{grid-area:top}body[data-low=y] .q-screen .q-prompt{grid-area:prompt;font-size:clamp(20px,6vh,30px)}body[data-low=y] .q-screen .stage{grid-area:stage;--vs: min(5vw, 9vh)}body[data-low=y].host .screen.q-screen.with-hud{padding:10px 14px 8px;grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"top top" "prompt tiles" "stage tiles" "stage strip" "foot foot"}body[data-low=y].host .screen.q-screen.with-hud.rv-wide{grid-template-areas:"top top" "prompt tiles" "stage tiles" "strip strip" "foot foot"}body[data-low=y] .q-screen .hud{position:static;grid-area:foot;justify-self:end;align-self:end;margin-right:-4px}body[data-low=y] .q-screen .reveal-strip{display:contents}body[data-low=y] .q-screen .reveal-strip .explain{grid-area:strip;justify-self:stretch;justify-content:center;text-align:center}body[data-low=y] .q-screen .rv-chips{grid-area:foot;justify-self:start;align-self:center;min-width:0;max-width:calc(100% - var(--hudw, 240px) - 12px);display:flex;align-items:center;gap:8px}body[data-low=y] .q-screen .rv-chips .pill{flex:0 1 auto;min-width:0}body[data-low=y] .q-screen .rv-chips .got{flex:none}body[data-low=y] .q-screen .reveal-strip .pill{height:34px;padding:0 12px;font-size:14px;box-shadow:0 0 0 2px var(--line),0 3px 0 var(--lip)}body[data-low=y] .q-screen .reveal-strip .explain{height:auto;min-height:34px;padding:6px 12px;font-size:14px;line-height:1.25;box-shadow:0 3px #0b0e22}body[data-low=y] .q-screen .reveal-strip .fast{box-shadow:0 3px 0 var(--sun-lip)}body[data-low=y] .q-screen .tiles{grid-area:tiles;grid-template-columns:1fr 1fr;grid-auto-rows:minmax(52px,1fr)}body[data-low=y] .q-screen .tile{min-height:52px;padding:8px 12px;gap:10px}body[data-low=y] .q-screen .tiles.revealed{grid-auto-rows:minmax(44px,1fr)}body[data-low=y] .q-screen .tiles.revealed .tile{min-height:44px}body[data-low=y] .q-screen .tile .opt{font-size:clamp(22px,7vh,36px)}body[data-low=y] .q-screen .tile .meta,body[data-mode=phone] .q-screen .tile .meta{top:4px;right:6px;font-size:13px}body[data-low=y] .q-screen .tile .count,body[data-mode=phone] .q-screen .tile .count{min-width:24px;height:22px;padding:0 6px}body[data-low=y] .q-screen .tile .who,body[data-mode=phone] .q-screen .tile .who{left:8px;bottom:3px;font-size:13px}body[data-low=y] .q-screen .tile .check,body[data-mode=phone] .q-screen .tile .check{width:34px;height:34px;font-size:19px;top:-4px;right:-4px}body[data-low=y] .q-screen .ring{width:56px;height:56px}body[data-low=y] .q-screen .ring .num{font-size:22px}body[data-low=y] .hud{bottom:8px;right:10px}body[data-low=y] .hud .icon-btn{height:40px;padding:0 12px;font-size:14px}body[data-low=y][data-mode=phone] .lobby-foot{position:static}body[data-mode=phone] .screen.board-screen{position:absolute;min-height:0}body[data-low=y].host .screen.with-hud{padding-top:10px;padding-bottom:56px}body[data-low=y] .board{gap:8px}body[data-low=y] .board h1{font-size:28px}body[data-low=y] .ranks{gap:8px}body[data-low=y] .rank-row{height:46px;gap:10px;padding:0 16px 0 8px}body[data-low=y] .rank-row .pos{width:32px;height:32px;font-size:17px;border-radius:10px}body[data-low=y] .rank-row .avatar{width:34px;height:34px;font-size:19px}body[data-low=y] .rank-row .nm{font-size:19px}body[data-low=y] .rank-row .score{min-width:60px;font-size:22px}body[data-mode=phone] .q-top{gap:8px}body[data-mode=phone] .q-meta{flex:0 1 auto;min-width:0;flex-wrap:nowrap;gap:8px}body[data-mode=phone] .q-meta .pill{flex:none;padding:0 12px}body[data-mode=phone] .q-meta .cat-pill{flex:0 1 auto;min-width:0}@media (max-width: 430px){body[data-mode=phone] .q-meta .cp-nm{display:none}}body[data-mode=phone] .q-right{flex:none;gap:8px}body[data-mode=phone] .answered{padding:0 12px;font-size:16px}body[data-mode=phone] .answered.words{display:none}body[data-mode=phone] .rank-row{gap:8px;padding:0 12px 0 8px;height:56px}body[data-mode=phone] .rank-row .pos{width:32px;height:32px;font-size:17px;border-radius:10px}body[data-mode=phone] .rank-row .avatar{width:36px;height:36px;font-size:20px}body[data-mode=phone] .rank-row .nm{font-size:18px}body[data-mode=phone] .rank-row [data-sig]{display:none}body[data-mode=phone] .rank-row .move{width:14px;font-size:13px}body[data-mode=phone] .rank-row .gain{padding:2px 8px;font-size:13px}body[data-mode=phone] .rank-row .score{min-width:0;font-size:21px}.host .screen.tc-screen{padding:clamp(14px,3vh,44px) clamp(14px,4vw,96px)}.host .screen.tc-screen.with-hud{padding-bottom:86px}.tc-shell{position:relative;z-index:1;flex:1;min-height:0;display:flex;justify-content:center}.host .tc-card{flex:1;max-width:1760px;gap:clamp(8px,1.3vh,18px);padding:clamp(12px,2.2vh,30px) clamp(14px,2.2vw,40px) clamp(16px,2.6vh,34px)}.host .tc-head{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.host .tc-head .demo-badge{grid-column:2;font-size:clamp(18px,calc(1.1vw + 1.2vh),42px)}.host .tc-head .tc-cat{grid-column:1;grid-row:1;justify-self:start;max-width:100%;font-size:clamp(15px,calc(.7vw + .8vh),26px)}.host .tc-head .tc-round{grid-column:3;grid-row:1;justify-self:end}.host .tc-main,.host .tc-left{gap:clamp(8px,1.3vh,18px)}.host .tc-prompt{font-size:clamp(24px,calc(1.6vw + 2.2vh),60px)}.host .tc-stage{--vs: min(13vh, 9vw)}.host .tc-tiles{gap:clamp(10px,1.4vw,20px)}.host .tc-tiles .tile{min-height:clamp(62px,9.5vh,116px)}.host .tc-tiles .tile .opt{font-size:clamp(30px,4.6vh,58px)}.host .tc-tiles .tile .slot-ico{width:clamp(28px,3.8vh,44px);height:clamp(28px,3.8vh,44px)}body[data-low=y].host .screen.tc-screen{padding:6px 10px 56px}body[data-low=y] .tc-card{gap:6px;padding:8px 14px 12px;border-radius:22px}body[data-low=y] .tc-main{flex-direction:row;gap:14px}body[data-low=y] .tc-left{flex:1.3;gap:6px}body[data-low=y] .tc-tiles{flex:1;min-width:0;grid-auto-rows:1fr;gap:10px}body[data-low=y] .tc-tiles .tile{min-height:52px;flex-direction:column;justify-content:center;gap:2px;padding:6px;border-radius:18px}body[data-low=y] .tc-tiles .tile .opt{flex:none;font-size:clamp(22px,7vh,40px)}body[data-low=y] .tc-tiles .tile .slot-ico{width:20px;height:20px}body[data-low=y] .tc-prompt{font-size:clamp(17px,5vh,30px)}body[data-low=y] .tc-stage{min-height:70px}body[data-low=y] .tc-card .demo-cap{--capfs: clamp(14px, 4.4vh, 22px);min-height:0}body[data-low=y] .tc-head .demo-badge,body[data-low=y] .tc-head .tc-cat{font-size:13px}body[data-low=y] .tc-card .demo-prog{height:7px}body[data-mode=phone] .screen.tc-screen{position:absolute;min-height:0;padding:10px 10px 68px}body[data-mode=phone] .tc-card{padding:12px;gap:8px;border-radius:26px}body[data-mode=phone] .tc-head .demo-badge{font-size:15px}body[data-mode=phone] .demo-badge:after,body[data-low=y] .tc-head .demo-badge:after{top:-4px;right:-4px;bottom:-4px;left:-4px}body[data-mode=phone] .tc-head .tc-round{display:none}body[data-mode=phone] .tc-prompt{font-size:21px}body[data-mode=phone] .tc-card .demo-cap{--capfs: 17px}@media (max-width: 430px){body[data-mode=phone] .tc-cat .nm{display:none}}.q-badge{font-size:clamp(16px,calc(.6vw + 1vh),26px);flex:none;margin-right:6px}.q-cap{display:none}.pr-solve .q-cap{display:grid;flex:none}.pr-solve .reveal-strip{display:none}.host .pr-solve .tiles .tile{min-height:clamp(60px,9vh,110px)}.host .pr-solve .tiles .tile .opt{font-size:clamp(30px,4.6vh,56px)}.pr-screen .demo-cap{--capfs: clamp(17px, calc(1.2vw + 1vh) , 36px);min-height:calc(var(--capfs) * 2.7)}.answered.got{background:var(--mint);color:#fff;box-shadow:0 4px 0 var(--mint-lip)}.answered.got .an-t{font-weight:900}.tiles.pr-revealed .tile:not(.pr-right){opacity:.8}.q-screen .tiles.pr-revealed .tile .meta{top:auto;bottom:10px}.q-screen .tiles.pr-revealed .tile.pr-right .meta{right:54px}body[data-low=y] .q-screen .tiles.pr-revealed .tile .meta,body[data-mode=phone] .q-screen .tiles.pr-revealed .tile .meta{top:auto;bottom:4px}body[data-low=y] .q-screen .tiles.pr-revealed .tile.pr-right .meta,body[data-mode=phone] .q-screen .tiles.pr-revealed .tile.pr-right .meta{right:36px}body[data-low=y] .pr-solve .q-cap{grid-area:strip;align-self:center}body[data-low=y] .pr-screen .demo-cap{--capfs: clamp(13px, 4vh, 20px);min-height:0}body[data-mode=phone] .q-badge{font-size:13px;padding:.34em .7em .36em}body[data-mode=phone] .pr-screen .q-meta .pill:nth-child(n+2){display:none}body[data-mode=tablet] .pr-screen .q-meta .pill:nth-child(3){display:inline-flex}.intro-card .real-go>span{font-size:clamp(22px,calc(1.2vw + 1.6vh),44px)}body[data-low=y] .intro-card .real-go>span{font-size:18px}.hs-tv{flex:none;display:flex;flex-direction:column;align-items:center;gap:clamp(8px,1.4vh,18px)}.hs-tv:empty{display:none}.hs-tv .hs-slots-view{font-size:clamp(40px,8.4vh,104px);gap:.26em}.q-screen.hands-q .tiles{display:none}.stage.hs-stage .hs-sticks-view{font-size:calc(var(--vs) * 1.45)}.hs-stage .hs-view .hs-chip{font-size:.2em}.hs-tv-hint{height:auto;min-height:40px;padding:.4em 1em;gap:.35em;font-size:clamp(16px,2.8vh,34px);color:var(--ink);animation:popIn var(--t4) var(--pop) .2s backwards}.tc-hands{flex:none}.tc-hands .hs-slots-view{font-size:clamp(36px,7.4vh,92px)}.tc-screen.hands-sticks .tc-left{flex:1 1 auto}body[data-mode=phone] .hs-tv .hs-slots-view{font-size:40px}body[data-low=y] .q-screen.hands-q .hs-tv{grid-area:tiles;justify-content:center}body[data-low=y] .q-screen.hands-q .hs-tv .hs-slots-view{font-size:clamp(30px,11vh,56px)}body[data-low=y] .screen.q-screen.hands-sticks{grid-template-areas:"top top" "prompt prompt" "stage stage" "strip strip"}body[data-low=y].host .screen.q-screen.hands-sticks.with-hud,body[data-low=y].host .screen.q-screen.hands-sticks.with-hud.rv-wide{grid-template-areas:"top top" "prompt prompt" "stage stage" "strip strip" "foot foot"}body[data-low=y] .q-screen.hands-sticks .hs-tv{grid-area:strip}body[data-low=y] .q-screen .hs-tv-hint{min-height:30px;font-size:14px;padding:4px 12px;box-shadow:0 0 0 2px var(--line),0 3px 0 var(--lip)}body[data-low=y] .hs-stage .hs-view .hs-chip{font-size:max(.2em,13px)}body[data-low=y] .tc-hands .hs-slots-view{font-size:clamp(28px,10vh,52px)}body[data-low=y] .tc-screen.hands-q .tc-hands{flex:1 1 0;min-width:0;justify-content:center}
