#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)}.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)}.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)}.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%);display:flex;flex-direction:column;gap:12px}.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:nth-child(1) .pos{background:var(--sun);color:#fff}.rank-row:nth-child(2) .pos{background:#b8c2d6;color:#fff}.rank-row:nth-child(3) .pos{background:#e09a5c;color:#fff}.rank-row .avatar{width:48px;height:48px;font-size:26px}.rank-row .nm{flex:1;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] .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}.roster{position:fixed;left:18px;bottom:16px;display:flex;gap:8px;align-items:flex-end;z-index:20;max-width:calc(100vw - 420px);flex-wrap:wrap}.r-face{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;transition:opacity var(--t2) ease,transform var(--t3) var(--pop)}.r-face .avatar{width:40px;height:40px;font-size:22px;box-shadow:inset 0 -3px rgba(0,0,0,.14),0 0 0 2px #fff}.r-face.done{transform:translateY(-4px)}.r-face .r-ok{position:absolute;top:-6px;right:-6px;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;animation:popIn var(--t3) var(--pop) backwards}.r-face.off .avatar{filter:grayscale(1);opacity:.5}.r-face .x-mark{width:40px;height:40px;font-size:26px;top:0}.r-more{font-weight:900;color:var(--ink-3)}.rank-row [data-sig]{margin-right:6px}@keyframes coachIn{0%{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}@keyframes coachFade{to{opacity:.25;filter:saturate(.3);transform:scale(.96)}}@keyframes coachWin{0%{transform:scale(1)}40%{transform:scale(1.08);box-shadow:0 7px 0 var(--lipc),0 0 0 6px #fff,0 0 0 11px var(--mint)}to{transform:scale(1.04);box-shadow:0 7px 0 var(--lipc),0 0 0 6px #fff,0 0 0 11px var(--mint)}}.coach{flex:1;min-height:0;display:flex;flex-direction:column;gap:clamp(10px,2vh,22px)}.coach-head{display:flex;align-items:center;gap:18px}.coach-head .bubble{width:84px;height:84px;border-radius:26px;display:grid;place-items:center;font-size:48px;background:var(--cc);box-shadow:inset 0 -6px rgba(0,0,0,.15)}.coach-head .title{font-size:clamp(34px,4vw,60px)}.coach-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(280px,34%) 1fr;gap:clamp(16px,2.4vw,36px)}.coach-tips{list-style:none;display:flex;flex-direction:column;gap:14px;justify-content:center}.coach-tips li{padding:16px 20px;border-radius:var(--r-m);background:#fff;box-shadow:0 0 0 2px var(--line),0 6px 0 var(--lip);font-family:var(--display);font-weight:600;font-size:clamp(18px,1.7vw,28px);line-height:1.3;animation:coachIn .5s var(--pop) var(--at) backwards}.coach-demo{min-height:0;display:flex;flex-direction:column;gap:10px;padding:clamp(12px,1.6vw,22px);border-radius:var(--r-l);background:rgba(255,255,255,.6);box-shadow:inset 0 0 0 3px var(--line)}.coach-prompt{font-family:var(--display);font-weight:600;font-size:clamp(20px,2vw,32px);text-align:center}.coach-stage{--vs: min(9vh, 6vw);flex:1;min-height:120px}.coach-tiles{gap:10px}.coach-tiles .tile{min-height:clamp(52px,7vh,80px);animation:none}.coach-tiles .tile .opt{font-size:clamp(26px,3.4vh,40px)}.coach-tiles .tile.coach-wrong{animation:coachFade .5s ease var(--at) forwards}.coach-tiles .tile.coach-right{animation:coachWin .7s var(--pop) var(--at) forwards}.coach-steps{list-style:none;display:flex;flex-direction:column;gap:8px}.coach-steps li{display:flex;gap:12px;align-items:center;padding:10px 14px;border-radius:16px;background:var(--ink);color:#fff;font-weight:800;font-size:clamp(16px,1.5vw,24px);animation:coachIn .45s var(--pop) var(--at) backwards}.coach-steps li b{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--cc)}.coach-go{align-self:center;font-family:var(--display);font-weight:700;font-size:clamp(26px,2.6vw,40px);color:var(--mint);animation:coachIn .5s var(--pop) var(--at) backwards}body[data-mode=phone] .coach-body{grid-template-columns:1fr}.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}.coach-body>*{min-width:0}.coach-demo{overflow:hidden}.coach-stage>*{max-width:100%}
