:root{--red:#c8352b;--red2:#e8343f;--gold:#f2c230;--gold2:#ffe39a;--cream:#fff3d6;--purple:#3d1a5c;--purple2:#5c2a7e;--jade:#2f8f83;--ink:#2b1230;--panel:rgba(43,18,48,.88);--line:rgba(242,194,48,.45);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%;overflow:hidden;background:#1b0f3a;color:#fff;font-family:"Baloo 2",system-ui,sans-serif;overscroll-behavior:none}body{user-select:none;-webkit-user-select:none;touch-action:none}input{user-select:text;-webkit-user-select:text}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}[hidden]{display:none!important}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}.btn{font-weight:800;border-radius:999px;padding:10px 22px;transition:transform .08s,filter .15s;letter-spacing:.3px}.btn:active{transform:translateY(3px)}.btn.gold{color:#5a1210;background:linear-gradient(#ffe68a,#f2b51f);box-shadow:0 5px #b07a0d,0 8px 18px #00000059;text-shadow:0 1px 0 rgba(255,255,255,.5)}.btn.gold:active{box-shadow:0 2px #b07a0d}.btn.gold:hover{filter:brightness(1.06)}.btn.ghost{background:#ffffff1f;border:1.5px solid rgba(255,255,255,.25)}.btn.big{font-size:22px;padding:13px 40px}.btn.icon{padding:8px 12px;font-size:20px}.btn:disabled{filter:grayscale(1);opacity:.6;pointer-events:none}.screen{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:10;padding:16px;transition:opacity .5s}.screen.off{opacity:0;pointer-events:none}#intro{background:radial-gradient(ellipse at center,#1b0f3a1a,#1b0f3abf 80%)}.intro-box{text-align:center;max-width:620px;animation:rise .8s ease both}.logo{max-width:220px;max-height:140px;margin:0 auto 6px;display:block;filter:drop-shadow(0 6px 12px rgba(0,0,0,.4))}.kicker{color:var(--gold2);letter-spacing:3px;font-weight:700;font-size:15px;text-transform:uppercase}h1{line-height:.95;margin:6px 0 10px;text-shadow:0 5px 0 #6b1420,0 10px 30px rgba(0,0,0,.6)}h1 .t1{display:block;font-size:clamp(48px,13vw,104px);background:linear-gradient(#fff6c8,#f2c230 60%,#e08a1a);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 0 #7a1d24)}h1 .t2{display:block;font-size:clamp(28px,7vw,48px);color:#fff}h1 .t2 b{color:var(--gold);font-size:1.3em}.intro-box p{opacity:.92;font-size:clamp(15px,3.8vw,18px);margin:0 auto 22px;max-width:520px;text-shadow:0 2px 6px rgba(0,0,0,.6)}.online-hint{margin-top:14px;font-size:14px;opacity:.85}@keyframes rise{0%{opacity:0;transform:translateY(24px)}}.panel{background:var(--panel);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1.5px solid var(--line);border-radius:22px;box-shadow:0 20px 50px #00000073}#create{justify-content:flex-start;padding-left:max(16px,6vw)}.create-panel{width:min(430px,100%);padding:18px 20px 20px;max-height:calc(100% - 8px);overflow:auto;animation:rise .5s ease both}.create-panel h2{font-size:26px;color:var(--gold2);margin-bottom:4px}.lbl{display:block;font-size:13px;opacity:.75;margin:12px 0 6px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.name-row{display:flex;gap:8px}.name-row input,.srv-pick input,.chat-form input{flex:1;min-width:0;font:inherit;font-size:17px;padding:9px 14px;border-radius:14px;border:2px solid transparent;background:var(--cream);color:var(--ink);outline:none}.name-row input:focus,.srv-pick input:focus,.chat-form input:focus{border-color:var(--gold)}.err{color:#ff9a9a;font-size:14px;min-height:0;margin-top:4px}.chars{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.char{padding:8px 4px 6px;border-radius:14px;background:#ffffff12;border:2px solid transparent;text-align:center;transition:.15s}.char .ico{font-size:28px;line-height:1.1}.char b{display:block;font-size:15px}.char small{display:block;font-size:11px;opacity:.7;line-height:1.2}.char.on{border-color:var(--gold);background:#f2c2302e;transform:translateY(-2px)}.swatches{display:flex;gap:8px;flex-wrap:wrap}.sw{width:32px;height:32px;border-radius:50%;border:3px solid rgba(255,255,255,.3)}.sw.on{border-color:#fff;box-shadow:0 0 0 3px var(--gold)}.srv-row{display:flex;align-items:center;gap:10px;margin:16px 0 4px;font-weight:600}.switch{position:relative;width:46px;height:26px;flex:none}.switch input{opacity:0;width:0;height:0}.switch span{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff3;border-radius:99px;transition:.2s}.switch span:after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:.2s}.switch input:checked+span{background:var(--jade)}.switch input:checked+span:after{transform:translate(20px)}.srv-pick{margin-top:6px}.srv-list{max-height:140px;overflow:auto;margin-top:6px;display:flex;flex-direction:column;gap:4px}.srv-item{padding:6px 12px;border-radius:10px;background:#ffffff12;text-align:left}.srv-item.on{background:var(--jade)}.create-panel .btn.big{width:100%;margin-top:18px}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}#hud .fire-meter,#hud .act-btn,#hud .seat-bar,#hud .joy,#hud .conn{pointer-events:auto}.top{position:absolute;top:calc(10px + var(--safe-t));left:12px;right:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;pointer-events:none}.top>*{pointer-events:auto}.me-badge{display:flex;align-items:center;gap:8px;background:var(--panel);border:1.5px solid var(--line);padding:4px 14px 4px 4px;border-radius:999px;max-width:46vw}.me-badge .av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:var(--red);flex:none}.me-badge .who{display:flex;flex-direction:column;text-align:left;line-height:1.1;min-width:0}.me-badge b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-badge small{opacity:.75;font-size:12px}.title-mini{font-weight:800;color:var(--gold2);text-shadow:0 2px 0 #6b1420;font-size:18px;padding-top:6px;pointer-events:none}.title-mini span{color:#fff}.top-r{display:flex;gap:6px}.pill{background:var(--panel);border:1.5px solid var(--line);border-radius:999px;padding:6px 14px;font-weight:700;min-height:40px}.pill.icon{padding:6px 11px}.fire-meter{position:absolute;top:calc(62px + var(--safe-t));right:12px;width:210px;background:var(--panel);border:1.5px solid var(--line);border-radius:14px;padding:6px 10px;font-size:13px;font-weight:700}.fire-meter .bar{height:8px;background:#ffffff26;border-radius:9px;overflow:hidden;margin:4px 0 2px}.fire-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f2c230,#ff6b6b,#c77dff);transition:width .4s}.fire-meter small{opacity:.8}.fire-meter.pop{animation:pop .6s}@keyframes pop{40%{transform:scale(1.12)}}.feed{position:absolute;left:12px;bottom:calc(150px + var(--safe-b));width:min(330px,70vw);display:flex;flex-direction:column;gap:4px;pointer-events:none}.feed div{background:#1b0a23b3;padding:4px 10px;border-radius:10px;font-size:14px;animation:rise .3s ease both;transition:opacity 1s}.feed div b{color:var(--gold2)}.feed div.sys{color:#9ff3e4}.conn{position:absolute;top:calc(64px + var(--safe-t));left:50%;transform:translate(-50%);background:#8e1f2a;padding:6px 16px;border-radius:999px;font-weight:700;font-size:14px}.act-btn{position:absolute;left:50%;bottom:calc(96px + var(--safe-b));transform:translate(-50%);font-weight:800;font-size:20px;color:#5a1210;background:linear-gradient(#ffe68a,#f2b51f);padding:10px 28px;border-radius:999px;box-shadow:0 5px #b07a0d,0 0 0 4px #fff3,0 10px 25px #0006;animation:bob 1.4s ease-in-out infinite;white-space:nowrap}@keyframes bob{50%{transform:translate(-50%,-5px)}}.seat-bar{position:absolute;left:50%;bottom:calc(96px + var(--safe-b));transform:translate(-50%);display:flex;gap:10px}.bottom{position:absolute;left:0;right:0;bottom:calc(12px + var(--safe-b));display:flex;justify-content:center;align-items:flex-end;pointer-events:none}.bottom>*{pointer-events:auto}.emotes{display:flex;gap:4px;background:var(--panel);border:1.5px solid var(--line);border-radius:20px;padding:5px}.emo{display:flex;flex-direction:column;align-items:center;min-width:56px;padding:4px 6px;border-radius:14px;transition:.12s}.emo:hover{background:#ffffff1a}.emo:active{transform:scale(.9)}.emo span{font-size:22px;line-height:1.1}.emo small{font-size:11px;font-weight:700;opacity:.85;white-space:nowrap}.bottom-r{position:absolute;right:12px;bottom:0;display:flex;flex-direction:column;gap:8px}.round{width:52px;height:52px;border-radius:50%;background:var(--panel);border:1.5px solid var(--line);font-size:24px}.joy{position:absolute;left:18px;bottom:calc(92px + var(--safe-b));width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,#ffffff24,#ffffff0f);border:2px solid rgba(255,255,255,.3);display:none;touch-action:none;pointer-events:auto}.joy:before{content:"";position:absolute;top:-30px;right:-30px;bottom:-30px;left:-30px;border-radius:50%}.joy b{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.joy b:before,.joy b:after{content:"";position:absolute;left:50%;top:50%;width:0;height:0;border:7px solid transparent}.joy b:before{border-bottom-color:#ffffff73;transform:translate(-50%,-62px)}.joy b:after{border-top-color:#ffffff73;transform:translate(-50%,48px)}.joy.active{border-color:var(--gold)}.joy i{position:absolute;left:50%;top:50%;width:62px;height:62px;margin:-31px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff3b0,#f2b51f 70%);box-shadow:0 4px 12px #0006}.touch .joy{display:block}.touch .help{display:none}.help{position:absolute;left:50%;transform:translate(-50%);bottom:calc(84px + var(--safe-b));font-size:13px;opacity:.75;text-shadow:0 1px 4px #000;pointer-events:none;white-space:nowrap}.has-act .help{display:none}#labels{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:4;overflow:hidden}#labels.hidden{display:none}.tag{position:absolute;left:0;top:0;background:#2b1230c7;padding:1px 9px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;will-change:transform}.tag b{background:var(--jade);border-radius:6px;padding:0 5px;margin-right:4px;font-size:11px}.tag.me{background:#c8352be6;border:1px solid var(--gold)}.bubble{position:absolute;left:0;top:0;max-width:220px;background:#fff;color:var(--ink);padding:5px 11px;border-radius:14px;font-size:14px;font-weight:600;opacity:0;transition:opacity .25s;will-change:transform;white-space:normal;text-align:center;line-height:1.25}.bubble:after{content:"";position:absolute;left:50%;bottom:-6px;margin-left:-6px;border:6px solid transparent;border-top-color:#fff;border-bottom:0}.bubble.on{opacity:1}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0a041480;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}}.sheet{width:min(460px,100%);max-height:85vh;overflow:auto;padding:16px 18px 18px;animation:rise .25s ease both}.sheet-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:19px;color:var(--gold2)}.x{width:34px;height:34px;border-radius:50%;background:#ffffff1f;font-size:16px}.muted{opacity:.75;font-size:14px;margin-bottom:10px}.presets{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.presets button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:999px;font-size:14px;text-align:left}.chat-form{display:flex;gap:8px}.zones{display:grid;gap:8px}.zone{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;background:#ffffff12;text-align:left;border:1.5px solid transparent}.zone:hover{border-color:var(--gold)}.zone span{font-size:28px}.zone b{display:block}.zone small{opacity:.7}.rooms{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}.room{padding:10px;border-radius:14px;background:#ffffff12;border:1.5px solid transparent;text-align:left}.room.on{border-color:var(--gold);background:#f2c23026}.room.full{opacity:.5}.room small{display:block;opacity:.75}.info-wip{text-align:center;padding:10px 0}.info-wip .big-ico{font-size:56px}.info-wip p{opacity:.85;margin-top:6px}.tagline{display:inline-block;background:var(--jade);padding:2px 10px;border-radius:99px;font-size:13px;font-weight:700;margin-top:8px}.candle-ui{position:fixed;left:0;right:0;bottom:calc(30px + var(--safe-b));z-index:15;display:flex;flex-direction:column;align-items:center;gap:14px;padding:0 16px;animation:rise .4s}.candle-msg{font-size:clamp(20px,5vw,30px);font-weight:800;text-align:center;text-shadow:0 3px 0 #6b1420,0 6px 20px rgba(0,0,0,.6);max-width:640px}.candle-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.fade{position:fixed;top:0;right:0;bottom:0;left:0;background:#1b0f3a;opacity:0;pointer-events:none;transition:opacity .35s;z-index:30}.fade.on{opacity:1}.toast{position:fixed;left:50%;top:calc(110px + var(--safe-t));transform:translate(-50%,-10px);background:#14081ceb;border:1.5px solid var(--line);padding:8px 18px;border-radius:999px;opacity:0;transition:.3s;z-index:40;font-weight:600;text-align:center;max-width:90vw;pointer-events:none}.toast.on{opacity:1;transform:translate(-50%)}@media(max-width:760px){#create{align-items:flex-end;padding:8px;justify-content:center}.create-panel{max-height:60vh;padding:14px 14px 16px}.create-panel h2{font-size:22px}.title-mini{display:none}.fire-meter{width:170px;top:calc(58px + var(--safe-t))}.emo{min-width:44px;padding:3px}.emo small{display:none}.emo span{font-size:24px}.bottom{justify-content:flex-start;padding-left:10px}.bottom-r{flex-direction:row}.round{width:46px;height:46px;font-size:21px}.joy{bottom:calc(80px + var(--safe-b))}.feed{bottom:calc(220px + var(--safe-b));font-size:13px}.act-btn,.seat-bar{bottom:calc(84px + var(--safe-b));left:auto;right:12px;transform:none;animation:none}}@media(max-width:400px){.emotes{gap:0}.emo{min-width:38px}}.seat-bar .btn.ghost,.candle-actions .btn.ghost{background:var(--panel);border-color:var(--line)}.touch .feed{bottom:calc(260px + var(--safe-b))}.mg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;flex-direction:column;background:radial-gradient(ellipse at top,#4a2070,#1b0f3a 70%);animation:fadeIn .25s}.mg-top{display:flex;align-items:center;gap:10px;padding:calc(8px + var(--safe-t)) 12px 8px;background:linear-gradient(var(--accent,#8a4fd1),rgba(0,0,0,.25));border-bottom:2px solid var(--gold)}.mg-title{font-weight:800;font-size:19px;color:var(--gold2);white-space:nowrap;display:flex;gap:6px;align-items:center;text-shadow:0 2px 0 rgba(0,0,0,.35)}.mg-hud{flex:1;display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.mg-hud b{background:#0000004d;border-radius:999px;padding:3px 12px;font-size:17px;white-space:nowrap}.mg-hud b:empty{display:none}.mg-hud .warn{color:#ff8a8a;animation:pop .5s infinite}.mg-close{flex:none}.mg-stage{flex:1;position:relative;min-height:0;display:flex;align-items:center;justify-content:center;touch-action:none;overflow:hidden}.mg-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}.mg-flash{position:absolute;left:0;right:0;top:38%;display:flex;justify-content:center;pointer-events:none;z-index:2}.mg-pop{position:absolute;font-weight:800;font-size:clamp(26px,7vw,44px);color:#fff;text-shadow:0 3px 0 #6b1420,0 0 18px rgba(0,0,0,.5);animation:popup .9s ease-out forwards;white-space:nowrap}.mg-pop.perfect,.mg-pop.gold{color:var(--gold2)}.mg-pop.good{color:#9ff3e4}.mg-pop.bad{color:#ff8a8a}.mg-pop.big{font-size:clamp(36px,10vw,64px);color:var(--gold2)}@keyframes popup{0%{transform:scale(.5);opacity:0}20%{transform:scale(1.15);opacity:1}to{transform:translateY(-50px);opacity:0}}.mg-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(420px,calc(100% - 32px));max-height:calc(100% - 90px);overflow:auto;background:var(--panel);border:2px solid var(--line);border-radius:22px;padding:18px 20px 20px;text-align:center;z-index:3;box-shadow:0 20px 60px #00000080;animation:rise .3s}.mg-big-ico{font-size:58px;line-height:1}.mg-panel h3{font-size:26px;color:var(--gold2);margin:4px 0 8px}.mg-panel ul{text-align:left;padding-left:20px;margin:0 0 12px;display:grid;gap:6px;font-size:15px;line-height:1.35}.mg-panel ul b{color:var(--gold2)}.mg-best{font-size:14px;opacity:.85;margin-bottom:12px;min-height:1px}.mg-best b{color:var(--gold2)}.mg-count{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;z-index:4;font-size:clamp(70px,22vw,140px);font-weight:800;color:var(--gold2);text-shadow:0 6px 0 #6b1420;pointer-events:none}.mg-count.go{animation:countIn .45s ease-out}@keyframes countIn{0%{transform:scale(2);opacity:0}}.mg-newbest{display:inline-block;background:linear-gradient(#ffe68a,#f2b51f);color:#5a1210;font-weight:800;padding:4px 16px;border-radius:999px;margin-bottom:6px;animation:pop .6s 2}.mg-label{opacity:.75;font-size:14px}.mg-score{font-size:68px;font-weight:800;line-height:1;color:var(--gold2);text-shadow:0 4px 0 #6b1420}.mg-stats{display:flex;justify-content:center;gap:12px;margin:12px 0}.mg-stats div{background:#ffffff14;border-radius:14px;padding:6px 16px;min-width:110px}.mg-stats small{display:block;opacity:.7;font-size:12px}.mg-stats b{font-size:24px}.mg-err{color:#ffb0b0;font-size:14px;margin:8px 0}.mg-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:12px}.mg-actions .btn.ghost{background:#ffffff1a}.g2048-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.g2048{--n:4;--gap:10px;--size:min(88vw, calc(100vh - 220px) ,460px);position:relative;width:var(--size);height:var(--size);background:#3a1d52;border:3px solid var(--gold);border-radius:18px;box-shadow:inset 0 0 30px #0006,0 10px 30px #0006}.g2048 .cell,.g2048 .tile{position:absolute;width:calc((var(--size) - var(--gap) * 5) / 4);height:calc((var(--size) - var(--gap) * 5) / 4);left:0;top:0;transform:translate(calc(var(--gap) + var(--c) * ((var(--size) - var(--gap) * 5) / 4 + var(--gap))),calc(var(--gap) + var(--r) * ((var(--size) - var(--gap) * 5) / 4 + var(--gap))))}.g2048 .cell{background:#ffffff12;border-radius:14px}.g2048 .tile{transition:transform .1s ease-in-out;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:1}.g2048 .pill{width:78%;height:66%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 8%,var(--a) 30%,var(--b) 100%);box-shadow:0 4px #00000040,inset 0 -4px 8px #00000026;display:grid;place-items:center}.g2048 .pill b{font-size:calc(var(--size) / 15);color:#3a1220;text-shadow:0 1px 0 rgba(255,255,255,.6)}.g2048 .tile small{font-size:calc(var(--size) / 34);font-weight:700;margin-top:2px;white-space:nowrap;text-shadow:0 1px 2px #000}.g2048 .tile.new .pill{animation:tileIn .18s ease-out}.g2048 .tile.merge .pill{animation:tilePop .2s ease-out}.g2048 .tile.glow .pill{box-shadow:0 0 18px var(--a),0 4px #00000040}@keyframes tileIn{0%{transform:scale(0)}}@keyframes tilePop{50%{transform:scale(1.22);filter:brightness(1.4)}}.g2048.nudge{animation:nudge .2s}@keyframes nudge{30%{transform:translate(-5px)}70%{transform:translate(5px)}}.g2048-hint{font-size:13px;opacity:.6}.lb-tabs{display:flex;gap:4px;overflow-x:auto;margin-bottom:10px;padding-bottom:2px}.lb-tabs button{flex:none;padding:6px 12px;border-radius:999px;background:#ffffff14;font-weight:700;font-size:14px;white-space:nowrap}.lb-tabs button.on{background:var(--gold);color:#5a1210}.lb-list{display:grid;gap:4px}.lb-row{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:12px;background:#ffffff0d}.lb-row.me{background:#f2c23033;border:1px solid var(--gold)}.lb-row .rk{width:30px;text-align:center;font-weight:800;font-size:18px}.lb-row .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:17px;flex:none}.lb-row .nm{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lb-row .nm b{background:var(--jade);border-radius:6px;padding:0 5px;margin-right:4px;font-size:11px}.lb-row .sc{font-weight:800;color:var(--gold2)}.lb-me{margin-top:10px;font-size:14px;opacity:.85;text-align:center}.lb-empty{text-align:center;opacity:.7;padding:20px 0}.lb-play{display:block;margin:12px auto 0}.lb-tabs{scrollbar-width:none}.lb-tabs::-webkit-scrollbar{display:none}.mg-panel{animation:mgIn .3s ease both}@keyframes mgIn{0%{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}@media(max-width:520px){.mg-top{gap:6px;padding-left:10px;padding-right:8px}.mg-title{font-size:0;gap:0}.mg-title span{font-size:24px}.mg-hud{gap:5px;flex-wrap:nowrap}.mg-hud b{font-size:15px;padding:3px 9px}.mg-panel{padding:14px 14px 16px}.mg-panel ul{font-size:14px}}.pill span{font-size:13px}.zlabel{position:absolute;left:0;top:0;pointer-events:auto;cursor:pointer;background:#1b0a23d1;border:1.5px solid var(--line);color:#fff;font-weight:700;font-size:13px;padding:3px 11px;border-radius:999px;white-space:nowrap;display:flex;gap:4px;align-items:center;will-change:transform;box-shadow:0 4px 12px #0000004d}.zlabel:hover{border-color:var(--gold);color:var(--gold2)}body:not(.overview) .zlabel{opacity:.85;font-size:12px;padding:2px 9px}.overview .emotes,.overview .joy,.overview .act-btn,.overview .seat-bar,.overview .help,.overview .feed{display:none!important}.overview #labels .tag,.overview #labels .bubble{opacity:.7}.ov-ctrl{display:none;position:absolute;right:12px;top:50%;transform:translateY(-50%);flex-direction:column;align-items:center;gap:6px;background:var(--panel);border:1.5px solid var(--line);border-radius:18px;padding:8px;pointer-events:auto}.overview .ov-ctrl{display:flex}.ov-ctrl button{width:38px;height:38px;border-radius:50%;background:#ffffff1a;font-size:18px;font-weight:800}.ov-ctrl button:active{background:var(--gold);color:#5a1210}.ov-pad{display:grid;grid-template-columns:repeat(3,32px);grid-template-rows:repeat(3,32px);gap:2px}.ov-pad button{width:32px;height:32px;font-size:12px}.ov-pad [data-ov=u]{grid-area:1/2}.ov-pad [data-ov=l]{grid-area:2/1}.ov-pad [data-ov=r]{grid-area:2/3}.ov-pad [data-ov=d]{grid-area:3/2}.ov-bar{display:none;position:absolute;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);align-items:center;gap:14px;background:var(--panel);border:1.5px solid var(--line);border-radius:18px;padding:10px 12px 10px 18px;pointer-events:auto;max-width:calc(100vw - 24px)}.overview .ov-bar{display:flex}.ov-bar b{display:block;color:var(--gold2)}.ov-bar small{opacity:.75;font-size:12px}.overview .bottom{display:none}.side{position:fixed;z-index:12;right:0;top:0;bottom:0;width:320px;border-radius:0;border-width:0 0 0 1.5px;padding:calc(10px + var(--safe-t)) 12px 12px;display:flex;flex-direction:column;animation:slideIn .25s ease}@keyframes slideIn{0%{transform:translate(30px);opacity:0}}.side-open #hud .top,.side-open .fire-meter,.side-open .ov-ctrl{right:332px}.side-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:8px}.side-tabs button{flex:1;padding:8px 0;font-weight:700;opacity:.7;border-bottom:2px solid transparent}.side-tabs button.on{opacity:1;color:var(--gold2);border-bottom-color:var(--gold)}.side-tabs .x{flex:none;width:32px;height:32px;margin:2px 0 4px;opacity:1}.side-body{overflow:auto;flex:1;display:flex;flex-direction:column;gap:5px}.side-group{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--gold);opacity:.8;margin:8px 2px 2px}.side-zone,.side-item{display:flex;align-items:center;gap:8px;text-align:left;padding:9px 12px;border-radius:12px;background:#ffffff0f;border:1px solid transparent}.side-zone:hover,.side-item:hover{border-color:var(--gold)}.side-zone .ic{font-size:20px}.side-zone b,.side-item{flex:1;font-weight:600}.side-zone em,.side-item em{font-style:normal;font-size:11px;font-weight:700;padding:1px 8px;border-radius:99px;margin-left:auto}.t-play{background:#3fb5a540;color:#8ff0df}.t-see{background:#f2c23033;color:var(--gold2)}.t-soon{background:#ffffff1a;color:#ccc}.side-back{align-self:flex-start;font-size:13px;opacity:.8;padding:2px 0}.side-title{font-size:24px;color:var(--gold2);line-height:1.15}.side-desc{opacity:.9;font-size:14px;line-height:1.45;margin:2px 0 6px}.side-items{display:flex;flex-direction:column;gap:5px}.side-go{margin-top:10px}.sched{display:flex;gap:12px;padding:8px 10px;border-radius:12px;background:#ffffff0d}.sched b{color:var(--gold2);min-width:62px}.sched span{display:block;font-weight:600}.sched small{opacity:.7;font-size:12px}@media(max-width:760px){.pill span{display:none}.side{top:auto;left:0;width:auto;height:62vh;border-radius:22px 22px 0 0;border-width:1.5px 0 0;padding-bottom:calc(12px + var(--safe-b))}.side-open #hud .top,.side-open .fire-meter,.side-open .ov-ctrl{right:12px}.ov-ctrl{top:auto;bottom:calc(100px + var(--safe-b));transform:none}.ov-bar{left:12px;right:12px;transform:none;padding:8px 10px 8px 14px}.ov-bar small,.side-open .ov-bar,.side-open .ov-ctrl{display:none}}.side.panel{background:#1f0d2af7}@media(max-width:760px){#btnFull{display:none}.pill{padding:5px 10px;min-height:38px}.top-r{gap:4px}.me-badge{max-width:38vw;padding-right:10px}.fire-meter{width:150px;font-size:12px}.fire-meter small{display:block;line-height:1.2}.ov-ctrl .ov-pad,.ov-ctrl [data-ov=rl],.ov-ctrl [data-ov=rr]{display:none}.ov-ctrl{bottom:calc(96px + var(--safe-b));padding:6px}}.flappy-wrap{position:relative;width:min(100%,calc((100vh - 120px) * 16 / 9));aspect-ratio:16/9;max-height:100%;border:3px solid var(--gold);border-radius:14px;overflow:hidden;background:#0d0820;box-shadow:0 10px 30px #00000073}.flappy-wrap iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0;display:block}.flappy-load{position:absolute;top:0;right:0;bottom:0;left:0;display:none;place-items:center;font-weight:700;color:var(--gold2)}.flappy-wrap.loading .flappy-load{display:grid}.flappy-rotate{display:none;position:absolute;left:0;right:0;bottom:calc(14px + var(--safe-b));text-align:center;font-size:14px;opacity:.85}@media(orientation:portrait){.flappy-rotate{display:block}}.mg-stage:has(.flappy-wrap){padding:8px}#intro{overflow:auto;align-items:flex-start}#intro .intro-box{margin:auto;padding:8px 0}#intro h1 .t1{font-size:clamp(40px,9vw,78px)}#intro h1 .t2{font-size:clamp(24px,5vw,38px)}#intro .intro-box p{margin-bottom:12px}.intro-flappy{width:min(560px,92vw,calc((100vh - 360px) * 16 / 9));min-width:min(300px,92vw);margin:0 auto 10px}.if-head{font-size:14px;margin-bottom:6px;opacity:.95}.if-head b{color:var(--gold2)}.if-head small{opacity:.7}.if-box{position:relative;aspect-ratio:16/9;border:3px solid var(--gold);border-radius:14px;overflow:hidden;background:#0d0820;box-shadow:0 10px 30px #00000080}.if-box iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.load-bar{width:min(420px,80vw);height:8px;margin:6px auto 4px;background:#ffffff26;border-radius:9px;overflow:hidden}.load-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f2c230,#ff8a5c);transition:width .4s}.load-txt{font-size:14px;opacity:.85;margin-bottom:10px;min-height:20px}#btnEnter.ready{animation:pop 1.2s ease-in-out 2}.acc-box{background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:16px;padding:10px 12px;margin:8px 0 4px;display:flex;flex-direction:column;gap:8px}.acc-box.on{border-color:#3fb5a599;background:#3fb5a51f}.acc-row{display:flex;align-items:center;gap:10px}.acc-row>div{flex:1;min-width:0;line-height:1.2}.acc-row small{display:block;opacity:.75;font-size:12px}.acc-ok{width:30px;height:30px;border-radius:50%;background:var(--jade);display:grid;place-items:center;font-weight:800;flex:none}.acc-ic{font-size:24px}.acc-row .btn{padding:6px 14px;font-size:14px}.acc-btns{display:flex;gap:8px}.acc-btns .btn{flex:1;padding:8px 10px;font-size:15px}.acc-title{font-weight:800;color:var(--gold2)}.acc-box input{font:inherit;font-size:16px;padding:9px 12px;border-radius:12px;border:2px solid transparent;background:var(--cream);color:var(--ink);outline:none}.acc-box input:focus{border-color:var(--gold)}.acc-note{opacity:.75;font-size:12px;line-height:1.35}.acc-switch{font-size:13px;opacity:.8;text-decoration:underline}.tag i.acc{font-style:normal;color:#8ff0df;margin-left:4px;font-weight:800}.lb-guest{background:#f2c2301f;border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin-bottom:8px;line-height:1.4}#lbReg{margin:0 auto;display:block}.mg-guest{background:#f2c2301f;border:1px solid var(--line);border-radius:12px;padding:8px 10px;margin:8px 0;font-size:14px;line-height:1.4}.mg-reg{color:var(--gold2);font-weight:800;text-decoration:underline}.tag.pick{pointer-events:auto;cursor:pointer}.tag.pick:hover{border:1px solid var(--gold)}.player-sheet{width:min(360px,100%)}.pl-row{display:flex;align-items:center;gap:12px;margin:4px 0 12px}.pl-av{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;font-size:26px;flex:none}.pl-name{font-size:18px;font-weight:700;line-height:1.3}.pl-name i{font-style:normal;background:var(--jade);border-radius:6px;padding:0 5px;margin-right:4px;font-size:12px}.pl-name em{font-style:normal;color:#8ff0df}.pl-acts{display:flex;flex-direction:column;gap:8px}.duel .duel-body{flex:1;position:relative;overflow:auto;display:flex;flex-direction:column;align-items:center;padding:10px 10px calc(14px + var(--safe-b))}.duel .mg-panel{position:relative;left:auto;top:auto;transform:none;margin:auto;animation:rise .3s ease both}.duel-start{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.duel-start .btn.big{font-size:19px;padding:12px 24px}.duel-or{margin:14px 0 6px;opacity:.75;font-size:14px}.duel-join{display:flex;gap:8px;justify-content:center}.duel-join input{width:150px;text-align:center;letter-spacing:4px;font:800 20px "Baloo 2",sans-serif;text-transform:uppercase;padding:8px;border-radius:12px;border:2px solid transparent;background:var(--cream);color:var(--ink);outline:none}.duel-join input:focus{border-color:var(--gold)}.duel-tip{font-size:13px;opacity:.8;margin-top:10px}.duel-link{margin-top:12px;font-size:14px;color:var(--gold2);text-decoration:underline}.duel-code{font:800 46px/1 "Baloo 2",monospace;letter-spacing:8px;color:var(--gold2);text-shadow:0 3px 0 #6b1420;margin:2px 0 10px}.duel-share{display:flex;gap:8px;justify-content:center;margin-bottom:12px}.duel-share .btn{padding:7px 14px;font-size:14px}.dp-list{display:grid;gap:6px;margin-bottom:10px;text-align:left}.dp{display:flex;align-items:center;gap:10px;padding:7px 10px;border-radius:14px;background:#ffffff12;border:1.5px solid transparent;position:relative}.dp.me{border-color:var(--gold)}.dp.off{opacity:.55}.dp.empty{border-style:dashed;border-color:#ffffff40}.dp-av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:20px;flex:none;background:#ffffff1f}.dp>div:nth-child(2){flex:1;min-width:0;line-height:1.2}.dp b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dp b i{font-style:normal;background:var(--jade);border-radius:6px;padding:0 4px;margin-right:4px;font-size:11px}.dp b em{font-style:normal;color:#8ff0df}.dp small{opacity:.75;font-size:12px}.dp-mark{font:900 22px "Baloo 2";width:30px;text-align:center}.cx,.dp-mark.x{color:#ff6b6b}.co,.dp-mark.o{color:#6bb8ff}.duel-rules{text-align:left;padding-left:18px;font-size:13px;opacity:.85;display:grid;gap:3px;margin:4px 0 12px}.duel-search{font-size:54px;animation:bob 1.2s ease-in-out infinite}.duel-players{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center;width:min(720px,100%)}.dside{position:relative;display:flex;align-items:center;gap:6px;border-radius:16px;transition:.2s}.dside .dp{flex:1;min-width:0}.dside.turn .dp{border-color:var(--gold);box-shadow:0 0 0 3px #f2c23059;background:#f2c2301f}.dvs{font-weight:900;color:var(--gold2);font-size:18px}.dp-score{font:900 28px "Baloo 2";color:var(--gold2);min-width:28px;text-align:center}.duel-bubble{position:absolute;left:50%;top:-8px;transform:translate(-50%,-100%);background:#fff;color:var(--ink);font-weight:800;padding:4px 12px;border-radius:14px;white-space:nowrap;animation:popup 2.5s ease-out forwards;z-index:3;font-size:18px}.duel-turn{margin-top:8px;font-size:15px;min-height:22px}.duel-turn.mine{color:var(--gold2)}.duel-timer{width:min(520px,90%);height:6px;background:#ffffff1f;border-radius:6px;overflow:hidden;margin:4px 0 8px}.duel-timer i{display:block;height:100%;background:linear-gradient(90deg,#3fb5a5,#f2c230);transition:width .2s linear}.duel-timer i.low{background:#ff6b6b}.duel-board-wrap{display:flex;justify-content:center;width:100%}.caro{--n:15;--size:min(96vw, calc(100vh - 290px) ,600px);display:grid;grid-template-columns:repeat(var(--n),1fr);width:var(--size);height:var(--size);background:#fff3d6;border:3px solid var(--gold);border-radius:10px;overflow:hidden;box-shadow:0 10px 30px #0006}.cc{border:0;border-right:1px solid #d8c08e;border-bottom:1px solid #d8c08e;background:none;font:900 calc(var(--size) / 22) "Baloo 2",sans-serif;display:grid;place-items:center;padding:0;line-height:1;cursor:pointer;color:transparent}.cc:hover:not(:disabled){background:#f2c23040}.cc.mX{color:#e8343f}.cc.mO{color:#2f6fd1}.cc:disabled{cursor:default}.cc.last{background:#f2c23059}.cc.win{background:#ffe066;animation:pop .6s 3}.mem{--size:min(94vw, calc(100vh - 300px) ,520px);display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:var(--size);height:var(--size)}.card{position:relative;border:0;padding:0;background:none;perspective:600px;cursor:pointer}.card .back,.card .face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;backface-visibility:hidden;transition:transform .35s}.card .back{background:linear-gradient(135deg,#7b3fbf,#3d1a5c);border:2px solid var(--gold);color:var(--gold2);font-size:calc(var(--size) / 9)}.card .face{background:#fff3d6;color:var(--ink);transform:rotateY(180deg);border:2px solid #d8c08e}.card .face b{font-size:calc(var(--size) / 9);line-height:1.1}.card .face small{font-size:calc(var(--size) / 38);font-weight:700}.card.up .back{transform:rotateY(180deg)}.card.up .face{transform:rotateY(0)}.card.got.p0 .face{border-color:#f2c230;box-shadow:0 0 0 3px #f2c23099}.card.got.p1 .face{border-color:#3fb5a5;box-shadow:0 0 0 3px #3fb5a599}.card.miss .face{animation:nudge .3s}.card.hit .face{animation:pop .5s}.duel-emotes{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-top:10px}.duel-emotes button{background:#ffffff1a;border-radius:999px;padding:4px 10px;font-size:15px}.duel-emotes button:active{transform:scale(.9)}.duel-resign{margin-top:10px;padding:6px 16px;font-size:14px}.duel-result{margin-top:12px!important}.duel-res{font:900 34px "Baloo 2";margin-bottom:2px}.duel-res.win{color:var(--gold2)}.duel-res.lose{color:#ff9a9a}.duel-res.draw{color:#9ff3e4}.duel-toast{position:absolute;left:50%;top:70px;transform:translate(-50%);background:#14081ceb;border:1.5px solid var(--line);padding:6px 16px;border-radius:999px;opacity:0;transition:.3s;pointer-events:none;z-index:5;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis}.duel-toast.on{opacity:1}.lb-head{display:grid;grid-template-columns:30px 1fr 30px 30px 30px 46px;gap:6px;font-size:11px;opacity:.6;padding:0 10px;text-align:center}.lb-head span:nth-child(2){text-align:left}.lb-row.duel{display:grid;grid-template-columns:30px 30px 1fr 30px 30px 30px 46px;gap:6px}.lb-row.duel .w,.lb-row.duel .l,.lb-row.duel .dd{text-align:center;font-weight:700}.lb-row.duel .w{color:#8ff0df}.lb-row.duel .l{color:#ff9a9a}.lb-row.duel .dd{opacity:.8}@media(max-width:520px){.duel-players{grid-template-columns:1fr auto 1fr;gap:4px}.dp{padding:5px 6px;gap:6px}.dp-av{width:28px;height:28px;font-size:16px}.dp small{display:none}.caro{--size:min(96vw, calc(100vh - 270px) )}}.ticket-no{font:900 34px "Baloo 2",monospace;letter-spacing:3px;color:var(--gold2);background:#ffffff14;border:2px dashed var(--gold);border-radius:12px;padding:4px 16px;margin:8px auto;display:inline-block}.tag.npc{background:#ff8fb1c7;font-size:12px}.disco-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;pointer-events:none;display:flex;flex-direction:column;justify-content:space-between;padding:max(12px,env(safe-area-inset-top)) 12px max(14px,env(safe-area-inset-bottom))}.disco-ui[hidden]{display:none}.disco-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;flex-wrap:wrap}.disco-title{font-weight:900;font-size:18px;letter-spacing:.5px;color:#fff;padding:8px 14px;border-radius:14px;background:linear-gradient(90deg,#ff3d7fcc,#a35bffcc,#3de1ffcc,#ff3d7fcc);background-size:300% 100%;animation:discoGrad 3s linear infinite;text-shadow:0 2px 0 #0006}.disco-title b{color:#ffe39a}.disco-stats{display:flex;gap:8px}.disco-stats span{background:#12061fcc;border:1px solid #a35bff;color:#d9c8ff;padding:6px 12px;border-radius:12px;font-size:13px}.disco-stats b{color:#ffe03d;font-size:18px;margin-left:4px}.disco-judge{align-self:center;font-size:44px;font-weight:900;color:#fff;text-shadow:0 0 18px currentColor,0 3px 0 #0008;opacity:0}.disco-judge.show{animation:judgePop .6s ease-out}.disco-judge.perfect{color:#ffe03d}.disco-judge.good{color:#3dff8b}.disco-judge.miss{color:#ff7a9a}.disco-bottom{display:flex;flex-direction:column;align-items:center;gap:10px}.disco-bottom>*{pointer-events:auto}.disco-hint{color:#fff;font-size:13px;background:#12061fb3;padding:5px 12px;border-radius:10px;text-align:center}.disco-hint b{color:#ffe03d}.disco-beat{width:min(320px,80vw);height:10px;border-radius:6px;background:#12061fcc;border:1px solid #a35bff;overflow:hidden}.disco-beat i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#3de1ff,#ff3d7f);transform-origin:left}.disco-moves{display:grid;grid-template-columns:repeat(4,minmax(64px,96px));gap:10px}.disco-moves button{border:2px solid #ffffff55;border-radius:16px;padding:10px 4px 8px;background:linear-gradient(180deg,#3a1d52,#12061f);color:#fff;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;transition:transform .08s,border-color .1s}.disco-moves button span{font-size:28px;line-height:1}.disco-moves button small{font-size:11px;opacity:.9}.disco-moves button.on{border-color:#ffe03d;box-shadow:0 0 14px #ffe03d88}.disco-moves button:active{transform:scale(.92)}.disco-ui.beat .disco-moves button:not(.on){border-color:#3de1ff}@keyframes discoGrad{to{background-position:300% 0}}@keyframes judgePop{0%{opacity:0;transform:scale(.5)}25%{opacity:1;transform:scale(1.15)}to{opacity:0;transform:scale(1) translateY(-20px)}}.disco-field{position:absolute;left:4%;right:4%;top:13%;bottom:24%;pointer-events:none}.disco-judge{position:absolute;left:0;right:0;top:40%;text-align:center;white-space:nowrap;pointer-events:none}.disco-judge.great{color:#3de1ff}.rb{position:absolute;width:78px;height:78px;margin:-39px 0 0 -39px;border-radius:50%;pointer-events:auto;cursor:pointer;touch-action:none;background:radial-gradient(circle at 34% 30%,#ffffffee 0 12%,color-mix(in srgb,var(--c) 70%,#fff) 26%,var(--c) 62%,color-mix(in srgb,var(--c) 60%,#000) 100%);box-shadow:0 0 18px var(--c),inset 0 -6px 12px #0004;border:3px solid #fff;display:grid;place-items:center}.rb b{font-size:30px;font-weight:900;color:#fff;text-shadow:0 2px 0 #0007;pointer-events:none}.rb-ring{position:absolute;left:50%;top:50%;width:78px;height:78px;border-radius:50%;border:4px solid var(--c);box-shadow:0 0 10px var(--c);pointer-events:none}.rb.pop{animation:rbPop .38s ease-out forwards;pointer-events:none}.rb.pop .rb-ring,.rb.miss .rb-ring{display:none}.rb.miss{animation:rbMiss .38s ease-in forwards;pointer-events:none;filter:grayscale(1)}.rb:after{content:attr(data-j);position:absolute;top:-26px;left:50%;transform:translate(-50%);font-size:15px;font-weight:900;color:#fff;text-shadow:0 0 8px var(--c);text-transform:uppercase}@keyframes rbPop{to{transform:scale(1.7);opacity:0}}@keyframes rbMiss{to{transform:translateY(26px) scale(.7);opacity:0}}@media(max-width:600px){.rb,.rb-ring{width:64px;height:64px}.rb{margin:-32px 0 0 -32px}.disco-title{font-size:14px}.disco-judge{font-size:34px}}.disco-modes{display:flex;gap:6px;pointer-events:auto}.disco-modes button{border:2px solid #ffffff44;background:#12061fd9;color:#fff;font:inherit;font-weight:800;font-size:13px;padding:6px 12px;border-radius:12px;cursor:pointer}.disco-modes button.on{border-color:#ffe03d;background:linear-gradient(180deg,#7a2bd1,#3a1d52);box-shadow:0 0 10px #ffe03d66}.disco-ui .disco-field{display:none}.disco-ui[data-mode=bub] .disco-field{display:block}.disco-ui[data-mode=bub] .aud-panel{display:none}.disco-field:before{content:"";position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;border-radius:28px;background:radial-gradient(ellipse at center,#0b0614aa,#0b061400 75%);pointer-events:none}.rb{box-shadow:0 0 0 4px #0b0614,0 0 18px var(--c),inset 0 -6px 12px #0004}.rb-ring{box-shadow:0 0 0 3px #0b0614cc,0 0 10px var(--c)}.aud-panel{width:min(760px,96vw);background:linear-gradient(180deg,#160a26f2,#0b0614f7);border:2px solid #a35bff;border-radius:18px;padding:10px 12px 12px;box-shadow:0 6px 24px #000a,inset 0 0 18px #a35bff33;display:flex;flex-direction:column;gap:10px}.aud-arrows{min-height:54px;display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.aud-arrows span{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-size:30px;font-weight:900;color:#fff;background:linear-gradient(180deg,#3de1ff,#2a7dd8);box-shadow:0 3px #123a6b,0 0 8px #3de1ff88}.aud-arrows span.ok{background:linear-gradient(180deg,#ffe03d,#f28b1e);box-shadow:0 3px #8a4a10,0 0 12px #ffe03d;transform:scale(.92)}.aud-arrows.wrong span{animation:audShake .25s}.aud-arrows.fail span{filter:grayscale(1) brightness(.6)}.aud-arrows.done span{background:linear-gradient(180deg,#3dff8b,#1fa85a);box-shadow:0 3px #0e5a2c,0 0 12px #3dff8b}.aud-bar{display:flex;align-items:center;gap:8px}.aud-lvl{color:#ffe03d;font-weight:900;font-size:13px;min-width:40px}.aud-track{position:relative;flex:1;height:22px;border-radius:11px;background:linear-gradient(90deg,#2b1640,#4a2470 70%,#2b1640);border:2px solid #ffffff33;overflow:visible}.aud-target{position:absolute;top:-6px;bottom:-6px;width:14px;margin-left:-7px;border-radius:6px;background:linear-gradient(180deg,#fff6b0,#ffe03d);box-shadow:0 0 14px #ffe03d}.aud-track.near .aud-target{animation:audPulse .25s infinite alternate}.aud-cursor{position:absolute;top:50%;width:22px;height:22px;margin:-11px 0 0 -11px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#ff3d7f 60%,#a3124a);box-shadow:0 0 12px #ff3d7f}.aud-pad{display:flex;justify-content:space-between;align-items:center;gap:12px}.aud-power{order:1}.aud-dpad{order:2;--k: 64px;display:grid;grid-template:repeat(3,var(--k)) / repeat(3,var(--k));gap:6px;flex:0 0 auto}.aud-dpad button,.aud-power{border:2px solid #ffffff55;color:#fff;font:inherit;font-weight:900;cursor:pointer;touch-action:none;user-select:none;-webkit-user-select:none}.aud-dpad button{border-radius:16px;font-size:calc(var(--k) * .42);background:linear-gradient(180deg,#3a1d52,#1b0d2b);box-shadow:0 3px #0006}.aud-dpad button:active,.aud-power:active{transform:scale(.92);filter:brightness(1.3)}.aud-dpad .u{grid-area:1 / 2}.aud-dpad .l{grid-area:2 / 1}.aud-dpad .r{grid-area:2 / 3}.aud-dpad .d{grid-area:3 / 2}.aud-power{flex:1;max-width:300px;height:150px;border-radius:20px;font-size:30px;letter-spacing:2px;background:linear-gradient(180deg,#ff5c9a,#c2185b);box-shadow:0 5px #6d0f33,0 0 18px #ff3d7f88;display:flex;flex-direction:column;align-items:center;justify-content:center}.aud-power small{font-size:11px;opacity:.8;letter-spacing:1px}@media(pointer:fine){.aud-pad{opacity:.9}.aud-dpad{--k: 44px}.aud-power{height:110px}}@media(max-width:600px)and (pointer:coarse){.aud-dpad{--k: 58px;gap:5px}.aud-power{height:130px;font-size:26px}}@media(max-height:500px)and (pointer:coarse){.aud-dpad{--k: 50px;gap:4px}.aud-power{height:110px}}@keyframes audShake{0%,to{transform:translate(0);background:#ff3d5a}50%{transform:translate(-5px);background:#ff3d5a}}@keyframes audPulse{to{box-shadow:0 0 26px #fff6b0;transform:scaleY(1.15)}}@media(max-width:600px){.aud-arrows span{width:34px;height:34px;font-size:22px}.disco-top{gap:4px}.disco-modes button{font-size:11px;padding:4px 8px}}.aud-bar{justify-content:center}.aud-bar .aud-track{flex:0 1 62%;height:16px}.aud-row{display:flex;align-items:center;gap:8px;padding:6px 10px 6px 14px;border-radius:999px;background:linear-gradient(180deg,#2a1440ee,#120822f2);border:2px solid #c9a7ff;box-shadow:inset 0 2px 6px #fff2,inset 0 -3px 8px #0008,0 0 14px #a35bff66}.aud-lvl{color:#fff;font-weight:900;font-size:11px;letter-spacing:1px;line-height:1;text-align:center;min-width:44px;text-shadow:0 0 6px #a35bff}.aud-lvl b{display:block;font-size:20px;color:#ffe03d}.aud-arrows{flex:1;min-height:48px;gap:5px;flex-wrap:nowrap;justify-content:center}.aud-arrows span{width:44px;height:44px;border-radius:50%;padding:0;flex:0 0 auto;background:radial-gradient(circle at 35% 28%,#fff,#e6eefc 55%,#b9c8e6);border:2px solid #ffffff;box-shadow:0 2px #5b6b8c,0 0 0 2px #1d2f55,0 0 8px #8fd3ff88;transform:none;transition:background .08s,transform .08s}.aud-arrows span i{display:grid;place-items:center;width:100%;height:100%}.aud-arrows span svg{width:70%;height:70%;fill:#1e7bf2;stroke:#0a3f8f;stroke-width:1.2;stroke-linejoin:round;filter:drop-shadow(0 1px 0 #ffffffaa)}.aud-arrows span.ok{background:radial-gradient(circle at 35% 28%,#fff7c2,#ffd23d 55%,#f08a1c);border-color:#fff3a0;box-shadow:0 2px #8a4a10,0 0 0 2px #5a2a05,0 0 12px #ffd23d;transform:scale(.94)}.aud-arrows span.ok svg{fill:#c2410c;stroke:#7c2d12}.aud-arrows.done span{background:radial-gradient(circle at 35% 28%,#eaffef,#6df29d 55%,#1fa85a);border-color:#c9ffd9;box-shadow:0 2px #0e5a2c,0 0 0 2px #0b3d1e,0 0 12px #3dff8b}.aud-arrows.done span svg{fill:#0b6b34;stroke:#063d1d}.aud-arrows.fail span{filter:grayscale(1) brightness(.55)}.aud-arrows.wrong span{animation:audShake2 .28s}@keyframes audShake2{0%,to{transform:translate(0)}25%{transform:translate(-4px);background:#ff8a9a}75%{transform:translate(4px);background:#ff8a9a}}@media(max-width:600px){.aud-row{padding:4px 6px 4px 8px;gap:4px}.aud-lvl{min-width:34px;font-size:9px}.aud-lvl b{font-size:16px}.aud-arrows{gap:3px;min-height:36px}.aud-arrows span{width:32px;height:32px}}h1 .title-art{display:none}h1.has-art{text-shadow:none;margin:2px auto 6px}h1.has-art .title-art{display:block;width:min(100%,560px);height:auto;margin:0 auto;filter:drop-shadow(0 8px 18px rgba(0,0,0,.45));animation:titlePop .9s cubic-bezier(.2,1.4,.4,1) both}h1.has-art .t1,h1.has-art .t2{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@keyframes titlePop{0%{opacity:0;transform:scale(.7) translateY(10px)}}@media(max-height:700px){h1.has-art .title-art{width:min(100%,420px)}}.poster-view{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#0b0614e6;display:grid;place-items:center;padding:16px;cursor:zoom-out;animation:pvIn .2s ease}.poster-view[hidden]{display:none}.poster-view img{max-width:min(96vw,1280px);max-height:88vh;border-radius:10px;box-shadow:0 10px 40px #000c,0 0 0 2px #f2c23088;animation:pvZoom .25s cubic-bezier(.2,1.3,.4,1)}.poster-view .cx{position:absolute;top:max(12px,env(safe-area-inset-top));right:12px;width:42px;height:42px;border-radius:50%;border:2px solid #ffffff66;background:#12061f;color:#fff;font-size:18px;cursor:pointer}@keyframes pvIn{0%{opacity:0}}@keyframes pvZoom{0%{transform:scale(.7);opacity:0}}.wish-book{width:min(880px,100%);max-height:90vh;display:flex;flex-direction:column;border-radius:22px;overflow:hidden;background:linear-gradient(180deg,#3a1d6e,#5c2a8a);border:3px solid #f2c230;box-shadow:0 14px 40px #000a;animation:rise .25s ease both}.wish-head{display:flex;align-items:center;gap:10px;padding:12px 16px;color:#ffe39a}.wish-head b{font-size:20px;letter-spacing:.5px}.wish-head small{color:#d9c8ff;flex:1}.wish-notes{flex:1;overflow:auto;margin:0 12px;padding:16px;border-radius:16px;min-height:220px;background:#fbf3e4 repeating-linear-gradient(0deg,transparent 0 27px,#eadfcb 27px 28px);display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;align-content:start}.wish-note{position:relative;padding:18px 14px 12px;border-radius:4px;color:#3a2a3e;box-shadow:0 4px 10px #0002;font-size:15px;line-height:1.35;word-break:break-word}.wish-note:before{content:"";position:absolute;top:-8px;left:50%;width:64px;height:18px;margin-left:-32px;background:#ffffffa8;transform:rotate(-2deg)}.wish-note .who{margin-top:8px;text-align:right;font-weight:800;color:#7a1d24;font-size:13px}.wish-note .who i{font-style:normal;opacity:.7;margin-right:4px}.wish-note .when{position:absolute;top:4px;right:8px;font-size:11px;opacity:.55}.wish-note.mine{outline:2px dashed #e8343f}.wish-note.new{animation:wishPop .5s cubic-bezier(.2,1.4,.4,1)}.wish-empty{grid-column:1 / -1;text-align:center;color:#8a6a9a;padding:40px 0;font-weight:700}.wish-more{margin:8px auto 0}.wish-form{padding:12px 14px 14px;display:flex;flex-direction:column;gap:8px}.wish-form textarea{width:100%;resize:none;border-radius:12px;border:2px solid #c9a7ff;padding:10px 12px;font:inherit;font-size:15px;background:#fffaf2;color:#3a2a3e}.wish-row{display:flex;align-items:center;gap:10px}.wish-colors{display:flex;gap:6px;flex:1}.wish-colors button{width:26px;height:26px;border-radius:50%;border:2px solid #ffffff88;cursor:pointer}.wish-colors button.on{border-color:#ffe03d;box-shadow:0 0 0 2px #ffe03d}.wish-len{color:#d9c8ff;font-size:12px}@keyframes wishPop{0%{transform:scale(.6) rotate(-6deg);opacity:0}}@media(max-width:600px){.wish-notes{grid-template-columns:repeat(2,1fr);gap:10px;padding:10px}.wish-note{font-size:13px}.wish-head b{font-size:16px}}.photo-ui{position:fixed;top:0;right:0;bottom:0;left:0;z-index:25;pointer-events:none}.photo-ui[hidden]{display:none}.ph-frame{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.ph-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.ph-sticker{position:absolute;transform:translate(-50%,-50%);font-size:clamp(40px,7vmin,72px);line-height:1;cursor:grab;pointer-events:auto;-webkit-user-select:none;user-select:none;touch-action:none;filter:drop-shadow(0 3px 4px #0006)}.ph-flash{position:absolute;top:0;right:0;bottom:0;left:0;background:#fff;opacity:0;pointer-events:none}.ph-flash.on{animation:phFlash .45s ease-out}.ph-top{position:absolute;top:max(10px,env(safe-area-inset-top));left:10px;right:10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap;pointer-events:auto}.ph-title{font-weight:900;color:#fff;background:#12061fcc;padding:6px 12px;border-radius:12px}.ph-chips{display:flex;gap:6px;flex:1;flex-wrap:wrap}.ph-chips button{border:2px solid #ffffff44;background:#12061fd9;color:#fff;font:inherit;font-weight:700;font-size:13px;padding:5px 10px;border-radius:12px;cursor:pointer}.ph-chips button.on{border-color:#ffe03d;background:linear-gradient(180deg,#7a2bd1,#3a1d52)}.ph-bottom{position:absolute;left:0;right:0;bottom:max(10px,env(safe-area-inset-bottom));display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.ph-bottom>*{pointer-events:auto}.ph-tray{display:flex;align-items:center;gap:6px;background:#12061fd9;border:1px solid #a35bff;border-radius:16px;padding:5px 8px;max-width:96vw;overflow-x:auto}.ph-tray>span{color:#d9c8ff;font-size:12px;font-weight:700;margin-right:2px;white-space:nowrap}.ph-tray>div{display:flex;gap:4px}.ph-tray button,.ph-mini{border:none;background:#ffffff14;color:#fff;border-radius:10px;font:inherit;font-size:22px;min-width:40px;height:40px;cursor:pointer}.ph-tray button:active{transform:scale(.9)}.ph-tray button small{display:block;font-size:10px;line-height:1}.ph-shoot{width:72px;height:72px;border-radius:50%;border:5px solid #fff;background:#ff3d7f;box-shadow:0 4px 16px #000a;cursor:pointer;display:grid;place-items:center}.ph-shoot i{width:50px;height:50px;border-radius:50%;background:#fff;opacity:.25}.ph-shoot:active{transform:scale(.92)}.ph-hint{color:#fff;font-size:11px;opacity:.8;text-shadow:0 1px 3px #000}.ph-result{width:min(720px,100%)}.ph-result img{width:100%;border-radius:10px;display:block;margin:8px 0 12px;box-shadow:0 4px 14px #0005}.ph-actions{display:flex;gap:10px;justify-content:center}.ph-actions a.btn{text-decoration:none}@keyframes phFlash{0%{opacity:.95}to{opacity:0}}#mPhoto{z-index:40;background:#0a0414d1}.g2048.skin{background:url(../assets/g2048/board.webp) center/100% 100% no-repeat;border:none;border-radius:12px;box-shadow:0 10px 30px #00000073}.g2048.skin .cell{display:none}.g2048.skin .tile{width:calc(var(--size) * .2418);height:calc(var(--size) * .2418);transform:translate(calc(var(--size) * (var(--c) * .2544 - .003)),calc(var(--size) * (var(--r) * .2544 - .003)))}.g2048 .tile.art i{position:absolute;top:0;right:0;bottom:0;left:0;background:center/contain no-repeat;filter:drop-shadow(0 4px 4px rgba(40,20,80,.35))}.g2048 .tile.art.new i{animation:tileIn .18s ease-out}.g2048 .tile.art.merge i{animation:tilePop .22s ease-out}.g2048 .tile.art.super b{position:relative;z-index:1;font-size:calc(var(--size) / 17);font-weight:900;color:#fff;text-shadow:0 2px 0 #7a1d24,0 0 8px #ffb300}@media(min-width:601px)and (min-height:501px){.mg{inset:auto;left:50%;top:50%;transform:translate(-50%,-50%);width:min(760px,96vw);height:min(880px,94vh);border-radius:22px;border:3px solid var(--gold);overflow:hidden;box-shadow:0 0 0 100vmax #0a04149e,0 24px 70px #0009}.mg-top{padding-top:10px}}.g48-fit{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.g48-box{position:absolute;left:50%;top:50%;width:938px;height:830px;margin:-415px 0 0 -469px;transform-origin:50% 50%}.g48-frame{position:absolute;left:0;top:25px;width:938px;height:781px;pointer-events:none;-webkit-user-select:none;user-select:none}.g48-title{position:absolute;left:192px;top:0;width:554px;height:84px;background:url(../assets/g2048/title.webp) center/100% 100% no-repeat;display:flex;align-items:center;justify-content:center;padding-top:3px;font-size:34px;font-weight:900;letter-spacing:1px;color:#552eaf}.g48-stats{position:absolute;left:180px;top:92px;width:579px;display:flex;justify-content:space-around;text-align:center}.g48-stats span{display:block;font-size:30px;font-weight:900;color:#552eaf;line-height:1.1}.g48-stats p{margin:0;font-size:15px;font-weight:700;color:#797683;text-transform:uppercase}.g48-box .g2048{--size: 579px;position:absolute;left:180px;top:156px}.g48-hint{position:absolute;left:0;right:0;top:784px;text-align:center;font-size:17px;color:#e8dcff;opacity:.8}@media(max-width:760px),(max-height:500px){.title-mini{display:none}.top{left:8px;right:8px;gap:6px}.me-badge{padding:3px 10px 3px 3px;gap:6px;max-width:42vw}.me-badge .av{width:32px;height:32px;font-size:18px}.me-badge b{font-size:14px}.me-badge small{font-size:11px}.top-r{gap:5px}.pill{min-height:36px;min-width:36px;padding:4px 9px;font-size:15px}.pill span:not(#onlineN){display:none}.fire-meter{width:132px;top:calc(52px + var(--safe-t));right:8px;padding:4px 8px;font-size:11px;border-radius:12px}.fire-meter>span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fire-meter .bar{height:6px;margin:3px 0 1px}.fire-meter small{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.feed{top:calc(52px + var(--safe-t));bottom:auto;left:8px;width:min(250px,calc(100vw - 160px));gap:3px}.feed div{font-size:12px;padding:3px 8px;line-height:1.3}.feed div:nth-last-child(n+4){display:none}.emotes{padding:3px;border-radius:16px}.emo{min-width:40px;padding:3px 2px}.emo small{display:none}.emo span{font-size:22px}.round{width:44px;height:44px;font-size:20px}.toast{top:calc(96px + var(--safe-t));font-size:14px}.bubble{max-width:170px;font-size:13px}.tag{font-size:12px}.modal{padding:8px}.sheet{max-height:calc(100dvh - 16px);padding:12px 14px 14px}.sheet-h{font-size:17px}.mg-title{font-size:0}.mg-title>*{font-size:22px}.mg-hud b{font-size:15px;padding:2px 10px}.mg-panel{padding:14px 14px 16px;border-radius:18px}.mg-panel h3{font-size:22px}.mg-panel ul{font-size:14px}.mg-score{font-size:54px}.mg-stats div{min-width:90px;padding:5px 10px}}@media(max-width:760px)and (min-height:501px){.joy{width:128px;height:128px;left:14px;bottom:calc(76px + var(--safe-b))}.joy i{width:54px;height:54px;margin:-27px}}@media(max-height:500px){#intro .intro-box p,#intro .kicker{display:none}h1.has-art .title-art{width:min(100%,300px)}#intro .load-txt{margin:4px 0}.create-panel{max-height:calc(100dvh - 16px)}.joy{width:112px;height:112px;left:12px;bottom:calc(10px + var(--safe-b))}.joy i{width:48px;height:48px;margin:-24px}.joy b:before{transform:translate(-50%,-50px)}.joy b:after{transform:translate(-50%,38px)}.bottom{justify-content:center;padding-left:0;bottom:calc(6px + var(--safe-b))}.bottom-r{flex-direction:column;bottom:0;right:8px;gap:6px}.round{width:40px;height:40px;font-size:18px}.emo{min-width:36px}.emo span{font-size:20px}.act-btn,.seat-bar{left:50%;right:auto;transform:translate(-50%);bottom:calc(56px + var(--safe-b));font-size:16px;padding:7px 20px}.feed{width:min(260px,34vw)}.mg-top{padding-top:calc(4px + var(--safe-t));padding-bottom:4px}.mg-title{font-size:17px;gap:6px}.mg-title>*{font-size:20px}.mg-panel{max-height:calc(100% - 16px)}.mg-big-ico{font-size:40px}.duel .duel-body:has(.duel-board-wrap){display:grid;grid-template-columns:auto minmax(180px,1fr);grid-auto-rows:min-content;column-gap:14px;align-items:start;align-content:center}.duel .duel-body:has(.duel-board-wrap)>.duel-board-wrap{grid-column:1;grid-row:1 / span 6;width:auto}.duel .duel-body:has(.duel-board-wrap)>:not(.duel-board-wrap){grid-column:2}.duel-players{grid-template-columns:1fr;width:100%;gap:4px}.caro{--size: calc(100dvh - 90px) }.mem{--size: calc(100dvh - 96px) ;gap:5px}.disco-ui{padding:6px 10px}.disco-title{font-size:13px;padding:5px 10px}.disco-stats span{padding:3px 8px;font-size:11px}.disco-stats b{font-size:14px}.disco-hint{display:none}.disco-bottom{gap:4px}.aud-panel{width:100%;background:none;border:0;box-shadow:none;padding:0;gap:0;position:relative;min-height:136px;justify-content:flex-end}.aud-lane{width:min(460px,calc(100vw - 330px));margin:0 auto;background:linear-gradient(180deg,#160a26f2,#0b0614f7);border:2px solid #a35bff;border-radius:14px;padding:6px 8px}.aud-pad{position:absolute;inset:auto 0 0 0;pointer-events:none;align-items:flex-end}.aud-pad>*{pointer-events:auto}.aud-dpad{--k: 42px;gap:4px}.aud-power{flex:0 0 140px;height:96px;font-size:22px}#btnDiscoExit{padding:4px 14px;font-size:13px}}@media(max-width:360px){.emo{min-width:36px}.pill{padding:4px 7px}.me-badge{max-width:38vw}}@media(max-width:520px){.wish-row{flex-wrap:wrap;gap:8px}.wish-colors{gap:5px}#wishSend{flex:1 0 100%;white-space:nowrap;padding:10px 14px}}.ph-tray,.ph-chips{scrollbar-width:none}.ph-tray::-webkit-scrollbar,.ph-chips::-webkit-scrollbar{display:none}.ph-chips button{white-space:nowrap;flex:none}@media(max-width:760px),(max-height:500px){.ph-top{display:grid;grid-template-columns:1fr auto;gap:6px;left:8px;right:8px}.ph-title{font-size:14px;padding:5px 10px;justify-self:start}#phExit{grid-column:2;grid-row:1;justify-self:end;padding:6px 12px;font-size:13px}.ph-chips{grid-column:1 / -1;flex-wrap:nowrap;overflow-x:auto;gap:5px}.ph-chips button{font-size:12px;padding:4px 9px}.ph-bottom{gap:6px}.ph-tray{max-width:calc(100vw - 16px);padding:4px 6px}.ph-tray button,.ph-mini{min-width:38px;height:38px;font-size:20px}.ph-tray button small{display:none}.ph-shoot{width:62px;height:62px;border-width:4px}.ph-shoot i{width:42px;height:42px}.ph-hint{display:none}}@media(max-height:500px){.ph-bottom{flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:flex-end;padding:0 8px}.ph-tray{max-width:calc(50vw - 50px)}.ph-hint{display:none}}@keyframes sheetUp{0%{transform:translateY(100%)}}@media(max-width:760px){.side{animation:sheetUp .25s ease}}
