:root{--bg:#06080d;--bg-2:#0b0e15;--tile:#121620;--tile-2:#1a1f2b;--line:#ffffff12;--text:#f3f5fa;--muted:#8a90a2;--ink:#07090c;--neon:#c8ff1f;--neon-2:#7dff3a;--neon-soft:#c8ff1f24;--neon-glow:#c8ff1f47;--hero:linear-gradient(118deg, #eeff45 0%, #b6ff2a 42%, #4df59a 100%);--cyan:#2de2ff;--magenta:#ff3dae;--violet:#8b5cff;--orange:#ff8a2a;--coral:#ff4d61;--yellow:var(--neon);--mint:var(--neon-2);--sky:var(--cyan);--lilac:var(--violet);--pink:var(--magenta);--surface:var(--tile);--surface-2:var(--tile-2);--coin:linear-gradient(135deg, #eeff45, #7dff3a 55%, #2de2ff);--r-tile:18px;--r-btn:12px;--display:"Archivo Black", "Inter", system-ui, sans-serif;--body:"Inter", system-ui, -apple-system, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-accent=violet]{--neon:#b07cff;--neon-2:#4d7cff;--neon-soft:#b07cff29;--neon-glow:#b07cff52;--hero:linear-gradient(118deg, #e14dff 0%, #8b5cff 45%, #3a7bff 100%);--coin:linear-gradient(135deg, #e14dff, #8b5cff 55%, #2de2ff)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;font-weight:600;overflow-x:hidden}button,input{font:inherit;color:inherit}a{color:inherit}.app{max-width:480px;min-height:100%;padding:calc(env(safe-area-inset-top) + 16px) 16px calc(env(safe-area-inset-bottom) + 24px);flex-direction:column;margin:0 auto;display:flex;position:relative}.app.with-nav{padding-bottom:calc(env(safe-area-inset-bottom) + 96px)}.rays:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(60vmax 40vmax at 10% -5%, var(--neon-soft), transparent 60%), radial-gradient(50vmax 40vmax at 100% 45%, #8b5cff1a, transparent 60%), radial-gradient(50vmax 35vmax at 0% 100%, #2de2ff12, transparent 60%), var(--bg);position:fixed;inset:0}.display{font-family:var(--display);letter-spacing:-.5px;color:var(--text);text-transform:uppercase;margin:0;font-weight:400;line-height:.98}.display .neon,.display.neon{color:var(--neon)}.display.sm{font-size:24px}.display.md{font-size:32px}.display.lg{font-size:50px}.muted{color:var(--muted)}.neon-text{color:var(--neon)}.center{text-align:center}.grow{flex:1}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:10px;display:flex}.between{justify-content:space-between}.btn{border-radius:var(--r-btn);letter-spacing:.2px;cursor:pointer;-webkit-user-select:none;user-select:none;border:0;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:0 22px;font-size:16px;font-weight:800;text-decoration:none;transition:transform 80ms,filter .15s,opacity .2s;display:inline-flex}.btn:active{transform:scale(.98)}.btn.block{width:100%}.btn-primary{background:var(--neon);color:var(--ink);box-shadow:0 8px 28px var(--neon-glow)}.btn-primary:after{content:"→";margin-left:2px;font-size:18px}.btn-primary.no-arrow:after{content:none}.btn-cream{background:var(--text);color:var(--ink)}.btn-ghost{background:var(--tile-2);color:var(--text);border:1px solid var(--line)}.btn-ink{background:var(--ink);color:var(--text)}.btn-ink:after{content:"→";color:var(--neon)}.btn-danger{background:var(--coral);color:var(--ink)}.btn[disabled]{opacity:.4;pointer-events:none;box-shadow:none}.btn .coin-ico{width:26px;height:26px}.icon-btn{border:1px solid var(--line);background:var(--tile);cursor:pointer;border-radius:12px;place-items:center;width:44px;height:44px;font-size:16px;display:grid}.pill{background:var(--tile);border:1px solid var(--line);border-radius:12px;align-items:center;gap:8px;height:40px;padding:0 14px 0 6px;font-weight:800;display:inline-flex}.pill.plain{padding:0 14px;text-decoration:none}.chip{background:var(--tile-2);color:var(--text);border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.chip.yellow{background:var(--neon);color:var(--ink)}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:.5px;padding-left:2px;font-size:13px;font-weight:700}.input{border-radius:var(--r-btn);border:1px solid var(--line);background:var(--tile);outline:none;width:100%;height:54px;padding:0 16px;font-size:16px;font-weight:700}.input:focus{border-color:var(--neon);box-shadow:0 0 0 3px var(--neon-soft)}.input.bad{border-color:var(--coral)}.field .err{color:var(--coral);padding-left:2px;font-size:13px}.field .hint{color:var(--muted);padding-left:2px;font-size:13px}.alert{color:var(--coral);border-radius:var(--r-btn);background:#ff4d611f;padding:12px 14px;font-size:14px}.seg{background:var(--tile);border:1px solid var(--line);border-radius:14px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.seg button{height:48px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:14px;font-weight:800}.seg button.on{background:var(--neon);color:var(--ink)}.tile{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);border-radius:var(--r-tile);color:var(--text);flex-direction:column;gap:4px;padding:14px;text-decoration:none;display:flex;position:relative;overflow:hidden}.tile h3{margin:0;font-size:16px;font-weight:800}.tile p{color:var(--muted);margin:0;font-size:12.5px}.tile .big-num{color:var(--neon);font-weight:900}.tile .sticker{position:absolute;top:10px;right:10px}.tile.soon{opacity:.75}.tile.small{justify-content:center;min-height:64px;padding-right:48px}.tile.small .sticker{margin-top:-17px;top:50%;right:8px}.tile.small h3{font-size:15px}.code-ghost{gap:4px;display:flex}.code-ghost span{background:var(--bg);border:1px solid var(--line);height:34px;font-family:var(--display);color:var(--neon);opacity:.45;border-radius:7px;flex:1;place-items:center;font-size:15px;display:grid}.tile:active{transform:scale(.985)}.hero{background:var(--hero);color:var(--ink);box-shadow:0 18px 50px var(--neon-glow);border-radius:22px;margin:14px 4px 18px;padding:18px 18px 16px;position:relative;overflow:visible;transform:rotate(-2.2deg)}.hero:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(90px 90px at 78% 110%,#2de2ff8c,#0000 70%),radial-gradient(60px 60px at 20% -10%,#ffffff80,#0000 70%);position:absolute;inset:0}.hero>*{position:relative}.hero h2{font-family:var(--display);text-transform:uppercase;max-width:70%;margin:0;font-size:26px;line-height:1}.hero p{opacity:.75;margin:6px 0 14px;font-size:13.5px;font-weight:700}.hero .hero-sticker{filter:drop-shadow(0 8px 10px #00000059);position:absolute;top:-34px;right:-6px;transform:rotate(12deg)}.hero .hero-bar{background:#07090c1f;border-radius:14px;justify-content:space-between;align-items:center;gap:10px;padding:6px 6px 6px 12px;display:flex}.hero .hero-bar b{font-size:15px}.hero .btn{min-height:44px;padding:0 16px;font-size:15px}.bento{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.bento .col{flex-direction:column;gap:10px;display:flex}.section-title{justify-content:space-between;align-items:baseline;margin:24px 2px 10px;display:flex}.section-title h2{margin:0;font-size:16px;font-weight:800}.songs{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.song{background:var(--tile);border:1px solid var(--line);border-radius:14px;overflow:hidden}.song .art{aspect-ratio:1;font-family:var(--display);color:var(--ink);place-items:center;font-size:26px;display:grid}.song .meta{padding:7px 9px 9px}.song .meta b{white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;display:block;overflow:hidden}.song .meta span{color:var(--muted);font-size:11.5px}.tabbar{width:100%;max-width:480px;padding:10px 14px calc(env(safe-area-inset-bottom) + 12px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:8;background:linear-gradient(#0000,#06080deb 22%);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar a,.tabbar button{color:var(--muted);cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;padding:0;font-size:11px;font-weight:700;text-decoration:none;display:flex}.tabbar .ico{border-radius:11px;place-items:center;width:44px;height:36px;display:grid}.tabbar .on{color:var(--text)}.tabbar .on .ico{background:var(--neon);color:var(--ink);box-shadow:0 6px 20px var(--neon-glow)}.mascot{display:block;overflow:visible}.mascot.bob{animation:1.6s ease-in-out infinite bob}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.mascot .foot-l{transform-origin:50% 0;animation:.8s ease-in-out infinite step}.mascot .foot-r{transform-origin:50% 0;animation:.8s ease-in-out infinite reverse step}@keyframes step{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.stage{place-items:center;display:grid;position:relative}.stage .shadow{background:var(--neon-soft);filter:blur(3px);border-radius:50%;width:44%;height:12px;margin-top:-6px}.spark{font-size:14px;animation:2.4s ease-in-out infinite twinkle;position:absolute}@keyframes twinkle{0%,to{opacity:.2;transform:scale(.8)}50%{opacity:1;transform:scale(1.1)}}.code-tiles{justify-content:center;gap:8px;display:flex}.code-tiles span{background:var(--tile);border:1px solid var(--line);border-bottom:3px solid var(--neon);width:54px;height:64px;color:var(--neon);font-family:var(--display);border-radius:12px;place-items:center;font-size:32px;display:grid}.code-input{text-align:center;height:80px;font-family:var(--display);letter-spacing:14px;text-transform:uppercase;color:var(--neon);padding-left:14px;font-size:40px}.players{grid-template-columns:1fr 1fr 1fr;gap:10px;display:grid}.player{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-height:128px;padding:10px 6px 12px;animation:.35s cubic-bezier(.2,1.4,.4,1) pop;display:flex;position:relative}@keyframes pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.player .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding:0 4px;font-size:13.5px;font-weight:800;overflow:hidden}.player .crown{font-size:14px;position:absolute;top:6px;left:8px}.player .me{padding:2px 6px;font-size:10.5px;position:absolute;top:8px;right:8px}.player.off{opacity:.4}.player.empty{color:var(--muted);background:0 0;border:1px dashed #ffffff1f;justify-content:center;font-size:12.5px;animation:none}.sticky-bottom{background:linear-gradient(transparent, var(--bg) 30%);padding-top:14px;padding-bottom:4px;position:sticky;bottom:0}.overlay{z-index:10;background:#06080df0;place-items:center;padding:24px;animation:.25s fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.chip.timer{font-variant-numeric:tabular-nums;justify-content:center;min-width:50px;padding:8px 10px;font-size:14px}.chip.timer.hot{background:var(--coral);color:var(--ink);animation:1s ease-in-out infinite pulse}@keyframes pulse{50%{transform:scale(1.08)}}.lyrics{color:var(--text);scrollbar-width:none;max-height:58vh;margin:0 -4px;padding:26px 4px 90px;position:relative;overflow-y:auto;-webkit-mask-image:linear-gradient(#0000 0,#000 34px calc(100% - 110px),#0000 100%);mask-image:linear-gradient(#0000 0,#000 34px calc(100% - 110px),#0000 100%)}.lyrics::-webkit-scrollbar{display:none}.lyrics p{letter-spacing:-.6px;margin:0 0 18px;font-size:27px;font-weight:900;line-height:1.18}.lyrics.small{max-height:30vh}.lyrics.small p{margin-bottom:8px;font-size:16px}.big-play{text-transform:uppercase;min-height:66px;font-size:20px;font-family:var(--display);letter-spacing:.5px}.big-play:after{content:none}.play-ico{background:var(--ink);width:34px;height:34px;color:var(--neon);border-radius:9px;place-items:center;font-size:14px;display:inline-grid}.progress{background:var(--tile-2);border-radius:4px;height:8px;overflow:hidden}.progress span{background:var(--hero);border-radius:inherit;height:100%;transition:width .1s linear;display:block}.rec-dot{background:var(--coral);border-radius:50%;width:10px;height:10px;animation:.9s ease-in-out infinite pulse}.sent{text-align:center;color:var(--neon);padding:10px 0;font-size:17px;font-weight:800}.countdown span{font-family:var(--display);color:var(--neon);text-shadow:0 0 60px var(--neon-glow);font-size:170px;animation:.8s ease-out bump}@keyframes bump{0%{opacity:0;transform:scale(1.8)}30%{opacity:1}to{transform:scale(1)}}.eq{justify-content:center;align-items:flex-end;gap:6px;height:44px;margin:14px 0 4px;display:flex}.eq span{background:var(--neon);border-radius:3px;width:7px;animation:.9s ease-in-out infinite alternate eq}.eq span:nth-child(3n){background:var(--cyan)}.eq span:nth-child(3n+1){background:var(--violet)}@keyframes eq{0%{height:8px}to{height:44px}}.vote-list{flex-direction:column;gap:10px;display:flex}.vote-card{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:8px 10px 8px 12px;transition:border-color .15s,transform .1s;display:flex}.vote-card:active{transform:scale(.985)}.vote-card.on{border-color:var(--neon);background:var(--neon-soft);box-shadow:0 0 0 1px var(--neon) inset}.vote-card.mine{opacity:.45;cursor:default}.vote-card.absent{opacity:.35;filter:grayscale();cursor:default;pointer-events:none}.vote-card .name{font-size:16px;font-weight:800}.vote-card .votes{color:var(--muted);font-weight:800}.scoreboard{background:var(--tile);border:1px solid var(--line);border-radius:16px;flex-direction:column;gap:8px;padding:12px 14px;font-size:14.5px;display:flex}.podium{flex-direction:column;gap:8px;margin-top:22px;display:flex}.podium-row{background:var(--tile);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-size:15px;display:flex}.podium-row .rank{font-family:var(--display);width:26px;color:var(--muted);font-size:22px}.podium-row.first{background:var(--hero);color:var(--ink);border:0}.podium-row.first .rank,.podium-row.first .muted{color:var(--ink)}.podium-row .name{font-weight:800}.skip{background:var(--tile-2);color:var(--muted);border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:800}.skip.danger{color:#ff5a6e;border-color:#ff5a6e}.avatar{object-fit:cover;color:var(--ink);border-radius:30%;flex:none;place-items:center;font-weight:900;display:inline-grid}.profile-pill{padding:0 4px 0 12px;text-decoration:none}.avatar-edit{cursor:pointer;background:0 0;border:0;padding:0;position:relative}.avatar-edit .avatar{border:3px solid var(--neon);box-shadow:0 10px 40px var(--neon-glow)}.avatar-edit .cam{background:var(--neon);border:3px solid var(--bg);border-radius:10px;place-items:center;width:36px;height:36px;font-size:16px;display:grid;position:absolute;bottom:-6px;right:-6px}.set-title{color:var(--muted);text-transform:uppercase;letter-spacing:.8px;margin:26px 0 8px 4px;font-size:12.5px;font-weight:800}.set-group{background:var(--tile);border:1px solid var(--line);border-radius:16px;overflow:hidden}.set-row{text-align:left;width:100%;min-height:54px;color:var(--text);cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0 16px;font-size:15.5px;font-weight:700;text-decoration:none;display:flex}.set-row+.set-row{border-top:1px solid var(--line)}.set-row:active{background:var(--tile-2)}.set-row .muted{text-overflow:ellipsis;white-space:nowrap;max-width:55%;font-size:14.5px;overflow:hidden}.set-row .chev{color:var(--muted);font-size:20px}.set-row .danger{color:var(--coral)}.err-text{color:var(--coral);font-size:14px}.sheet-back{z-index:20;background:#000000a6;justify-content:center;align-items:flex-end;animation:.2s fade;display:flex;position:fixed;inset:0}.sheet{background:var(--bg-2);border:1px solid var(--line);width:100%;max-width:480px;padding:20px 16px calc(env(safe-area-inset-bottom) + 24px);border-radius:22px 22px 0 0;animation:.25s cubic-bezier(.2,.9,.3,1) up}@keyframes up{0%{transform:translateY(100%)}}.toast{left:50%;bottom:calc(env(safe-area-inset-bottom) + 100px);background:var(--text);color:var(--ink);z-index:30;white-space:nowrap;border-radius:12px;padding:12px 18px;font-weight:800;animation:.2s fade;position:fixed;transform:translate(-50%)}.toast.bad{background:var(--coral)}.draft{background:var(--neon-soft);color:var(--neon);border-radius:12px;margin-bottom:14px;padding:10px 14px;font-size:13.5px}.prose{color:#d6d9e2;font-size:15px;font-weight:500;line-height:1.6}.prose h3{color:var(--neon);text-transform:uppercase;letter-spacing:.5px;margin:22px 0 6px;font-size:15px;font-weight:800}.prose ul{margin:6px 0;padding-left:20px}.prose li{margin:4px 0}.prose b{color:var(--text);font-weight:800}.app.home{padding-bottom:calc(env(safe-area-inset-bottom) + 32px);gap:18px}.home-head{text-align:center;margin:14px 0 6px}.home-head p{margin:8px 0 0;font-size:15px}.home .hero{text-align:center;flex-direction:column;align-items:center;margin:34px 0 6px;padding:84px 22px 26px;display:flex;transform:none}.home .hero h2{max-width:none;font-size:30px}.home .hero p{margin:10px 0 20px;font-size:14.5px}.home .hero .btn{min-height:52px;padding:0 26px;font-size:16px}.home .hero .hero-sticker{top:-40px;left:50%;right:auto;transform:translate(-50%)rotate(-6deg)}.hero-tag{background:var(--ink);color:var(--neon);text-transform:uppercase;letter-spacing:.5px;border-radius:8px;padding:5px 9px;font-size:11.5px;font-weight:800;position:absolute;top:14px;right:14px}.tile.block-tile,.tile.mini-tile{text-align:center;font:inherit;cursor:pointer;align-items:center;gap:6px;padding:24px 20px}.tile.block-tile .sticker,.tile.mini-tile .sticker{margin-bottom:8px;position:static}.tile.block-tile h3{font-size:20px}.tile.block-tile p{font-size:14px}.tile.block-tile .code-ghost{width:100%;max-width:280px;margin:14px 0 4px}.tile.block-tile .btn{width:100%;max-width:280px;min-height:50px;margin-top:12px}.duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.tile.mini-tile{padding:20px 12px}.tile.mini-tile h3{font-size:15px}.timebar{background:var(--tile-2);border-radius:3px;height:6px;margin:-4px 0 16px;overflow:hidden}.timebar span{border-radius:inherit;background:var(--neon);height:100%;transition:width .25s linear;display:block}.timebar.hot span{background:var(--coral)}.mic-level{justify-content:center;align-items:center;gap:4px;height:44px;display:flex}.mic-level span{background:var(--neon);border-radius:3px;width:6px;min-height:5px;transition:height 80ms linear}.rec-btn{border:1px solid var(--line);border-radius:var(--r-btn);background:var(--tile-2);width:100%;min-height:66px;color:var(--text);cursor:pointer;align-items:center;gap:12px;padding:0 18px;font-size:16px;font-weight:800;display:flex;position:relative;overflow:hidden}.rec-btn .rec-fill{width:var(--p);background:var(--neon-soft);border-right:2px solid var(--neon);transition:width .1s linear;position:absolute;inset:0 auto 0 0}.rec-btn>span:not(.rec-fill){position:relative}.rec-btn .rec-label{align-items:center;gap:8px;display:inline-flex}.rec-btn .rec-time{font-variant-numeric:tabular-nums;color:var(--neon);margin-left:auto}.rec-btn .rec-stop{background:var(--coral);color:var(--ink);border-radius:8px;padding:6px 10px;font-size:13px}.steps{scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.steps::-webkit-scrollbar{display:none}.step{background:var(--tile);border:1px solid var(--line);opacity:.55;border-radius:12px;flex:1 0 auto;align-items:center;gap:8px;min-width:92px;padding:8px 10px;display:flex}.step .step-num{background:var(--tile-2);border-radius:6px;place-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:grid}.step .step-name{white-space:nowrap;font-size:13px;font-weight:800}.step.done{opacity:.8}.step.absent{opacity:.3;filter:grayscale()}.step.done .step-num{background:var(--neon-soft);color:var(--neon)}.step.now{opacity:1;border-color:var(--neon);background:var(--neon-soft)}.step.now .step-num{background:var(--neon);color:var(--ink)}.intro{text-align:center;align-items:center;gap:10px}.intro-kicker{text-transform:uppercase;letter-spacing:2px;font-size:13px;font-weight:800}.intro-count{font-family:var(--display);color:var(--neon);text-shadow:0 0 60px var(--neon-glow);font-size:150px;line-height:1;animation:.9s cubic-bezier(.2,1.4,.4,1) tick}@keyframes tick{0%{transform:scale(1.5)}to{transform:scale(1)}}.intro-players{flex-wrap:wrap;justify-content:center;gap:14px;margin:24px 0 8px;display:flex}.intro-player{flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:800;display:flex}.rules-hero{text-align:center;margin:4px 0 18px}.rules-crew{filter:drop-shadow(0 10px 18px var(--neon-glow));justify-content:center;align-items:flex-end;gap:4px;margin-bottom:14px;display:flex}.rules-hero h1{margin:0 0 8px;line-height:1.05}.rules-hero p{max-width:320px;margin:0 auto;font-size:15px}.rules-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:26px;display:grid}.rules-facts div{background:var(--tile);border:1px solid var(--line);text-align:center;border-radius:14px;flex-direction:column;gap:2px;padding:12px 6px;display:flex}.rules-facts b{font-family:var(--display);color:var(--neon);font-size:22px}.rules-facts span{color:var(--muted);font-size:12.5px}.rules-title{font-family:var(--display);text-transform:uppercase;margin:0 0 12px;font-size:20px}.rules-steps{flex-direction:column;gap:10px;margin:0 0 26px;padding:0;list-style:none;display:flex;position:relative}.rules-steps:before{content:"";background:linear-gradient(var(--neon), transparent);opacity:.35;width:2px;position:absolute;top:20px;bottom:20px;left:22px}.tile.rules-step{flex-direction:row;align-items:center;gap:14px;min-height:0;padding:14px 14px 14px 12px;position:relative;overflow:visible}.tile.rules-step .sticker{flex:none;position:static}.tile.rules-step h3{margin-bottom:3px;font-size:17px}.tile.rules-step p{font-size:13.5px;line-height:1.4}.rules-num{background:var(--neon);width:24px;height:24px;color:var(--ink);font-family:var(--display);z-index:1;border-radius:8px;place-items:center;font-size:13px;display:grid;position:absolute;top:-6px;left:-6px}.tile.rules-points{gap:12px;margin-bottom:12px;padding:16px}.rules-point{grid-template-columns:96px 1fr;align-items:center;gap:8px;display:grid}.rules-point .chips{gap:6px;display:flex}.rules-point p{color:var(--text);margin:0;font-size:14px}.rules-points>p{color:var(--text);margin:0;font-size:14px;line-height:1.45}.rules-points b{font-weight:800}.rules-podium{justify-content:center;align-items:flex-end;gap:8px;margin:6px 0 2px;display:flex}.rules-podium div{flex-direction:column;align-items:center;gap:4px;display:flex}.rules-podium span{width:64px;font-family:var(--display);background:var(--tile-2);color:var(--muted);border-radius:10px 10px 4px 4px;place-items:center;font-size:20px;display:grid}.rules-podium .p1 span{background:var(--hero);height:58px;color:var(--ink)}.rules-podium .p2 span{height:40px}.rules-podium .p3 span{height:28px}.tile.rules-anon{flex-direction:row;align-items:center;gap:14px;min-height:0;padding:16px}.tile.rules-anon .sticker{flex:none;position:static}.tile.rules-anon h3{margin-bottom:3px;font-size:16px}.tile.rules-anon p{font-size:13.5px;line-height:1.4}.rules-point .chip{white-space:nowrap;flex:none}.version-tag{color:var(--muted);border:1px solid var(--line);letter-spacing:.3px;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:800}.code-entry{cursor:text;gap:6px;width:100%;max-width:280px;margin:14px 0 4px;display:flex;position:relative}.code-entry input{opacity:0;cursor:text;border:0;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.code-entry span{background:var(--bg);border:1px solid var(--line);height:50px;font-family:var(--display);color:var(--neon);border-radius:10px;flex:1;place-items:center;font-size:22px;transition:border-color .15s,box-shadow .15s;display:grid}.code-entry:focus-within span.cursor{border-color:var(--neon);box-shadow:0 0 0 3px var(--neon-soft);animation:1s steps(2,end) infinite caret}.code-entry.bad span{border-color:var(--coral);color:var(--coral);animation:.35s shake}.code-entry.busy span{opacity:.6}.code-error{color:var(--coral)!important;margin-top:4px!important;font-size:13px!important}@keyframes caret{50%{border-color:var(--line);box-shadow:none}}@keyframes shake{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.record{flex-direction:column;flex:1;display:flex}.lyrics{scroll-behavior:smooth}.record.focus .lyrics{max-height:66vh;padding-bottom:12vh}.record.focus .lyrics p{font-size:30px}.ready-row{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:2px;display:flex}.ready{opacity:.3;filter:grayscale();transition:opacity .3s,filter .3s,transform .3s;position:relative}.ready.ok{opacity:1;filter:none;transform:translateY(-2px)}.ready-check{background:var(--neon);width:17px;height:17px;color:var(--ink);border-radius:50%;place-items:center;font-size:11px;font-weight:900;animation:.4s ease-out bump;display:grid;position:absolute;bottom:-2px;right:-4px}.banner{z-index:20;pointer-events:none;background:#06080dd1;flex-direction:column;justify-content:center;align-items:center;gap:8px;animation:1.3s forwards banner;display:flex;position:fixed;inset:0}.banner-big{font-family:var(--display);text-transform:uppercase;color:var(--neon);text-shadow:0 0 40px var(--neon-glow);font-size:58px;animation:.6s ease-out bump}.banner-small{color:var(--text);font-size:17px;font-weight:800}@keyframes banner{0%{opacity:0}12%{opacity:1}78%{opacity:1}to{opacity:0}}.listen-stage .glow{background:radial-gradient(var(--neon-glow), transparent 68%);border-radius:50%;width:190px;height:190px;transition:opacity 70ms linear,transform 70ms linear;position:absolute}.eq.live span{min-height:6px;transition:height 70ms linear;animation:none}.take-progress{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;align-items:center;gap:10px;margin-top:10px;font-size:13px;display:grid}.vote-card.result{cursor:default;position:relative;overflow:hidden}.vote-card.result>:not(.result-bar){position:relative}.result-bar{background:var(--neon-soft);transition:width .4s cubic-bezier(.2,.9,.3,1.2);position:absolute;top:0;bottom:0;left:0}.vote-card.result .votes{animation:.35s ease-out bump}.vote-card.win{box-shadow:0 0 0 1px var(--neon) inset, 0 0 24px var(--neon-glow)}.pop-in{animation:.5s ease-out bump}.podium-row.rise{animation:.45s ease-out backwards rise}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.confetti{pointer-events:none;z-index:15;position:fixed;inset:0;overflow:hidden}.confetti span{border-radius:2px;height:7px;animation:linear forwards fall;position:absolute;top:-20px}@keyframes fall{to{opacity:.9;top:105%;transform:translate(30px)rotate(540deg)}}.qr-sheet{background:var(--tile);border:1px solid var(--line);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:14px;width:100%;max-width:340px;padding:22px;display:flex}.qr{background:#fff;border-radius:14px;width:220px;height:220px;padding:10px}.qr svg{width:100%;height:100%;display:block}.code-tiles.small span{width:40px;height:46px;font-size:22px}.tile.mic-test{margin-top:14px;padding:14px 16px}.tile.mic-test h3{font-size:15px}.tile.mic-test .mic-level{margin-top:10px}.avatar-round{object-fit:cover;border:2px solid var(--neon);box-shadow:0 0 14px var(--neon-glow);background:var(--tile-2);border-radius:50%;flex:none}.avatar-round.empty{background:var(--hero);color:var(--ink);font-family:var(--display);border:0;place-items:center;display:inline-grid}.me-link{color:var(--text);align-items:center;gap:10px;font-size:15px;font-weight:800;text-decoration:none;display:inline-flex}.me-link:active{transform:scale(.97)}.photo-btn{cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;position:relative}.photo-edit{background:var(--ink);width:30px;height:30px;color:var(--neon);border:2px solid var(--neon);border-radius:50%;place-items:center;font-size:14px;display:grid;position:absolute;bottom:2px;right:2px}.link-btn{color:var(--neon);font:inherit;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:800}.link-btn.muted{color:var(--muted)}.shop-look{background:linear-gradient(160deg, var(--tile-2), var(--tile));border:1px solid var(--line);border-radius:var(--r-tile);align-items:center;gap:14px;margin-bottom:12px;padding:12px 14px;display:flex}.shop-name{flex-wrap:wrap;align-items:center;gap:8px;margin:2px 0;font-size:19px;font-weight:900;display:flex}.name-tag{background:var(--tile-2);border:1px solid var(--line);color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:4px;padding:3px 8px;font-size:12px;font-weight:800;line-height:1.3;display:inline-flex}.name-tag.big{border-radius:12px;padding:8px 12px;font-size:18px}.test-coins{border:1px dashed var(--neon);width:100%;color:var(--neon);font:inherit;cursor:pointer;background:0 0;border-radius:12px;margin-bottom:14px;padding:10px;font-size:13.5px;font-weight:800}.shop-tabs{grid-template-columns:repeat(3,1fr);margin-bottom:14px}.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.shop-item{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:12px;display:flex}.shop-item.worn{border-color:var(--neon);box-shadow:0 0 0 1px var(--neon) inset, 0 0 22px var(--neon-soft)}.shop-item h3{margin:0;font-size:15px;font-weight:800}.shop-item p{color:var(--muted);margin:0;font-size:12px;line-height:1.35}.shop-preview{place-items:center;height:92px;display:grid}.shop-btn{border:1px solid var(--line);background:var(--tile-2);width:100%;min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;margin-top:auto;font-size:14px;font-weight:800;display:inline-flex}.shop-btn.buy{background:var(--neon);color:var(--ink);border:0}.shop-btn.buy:disabled{background:var(--tile-2);color:var(--muted)}.shop-btn.worn{border-color:var(--neon);color:var(--neon);background:0 0}.player .name-tag{margin-top:2px;padding:2px 6px;font-size:11px}.intro-player .name-tag{padding:1px 5px;font-size:10.5px}.podium-row.first .name-tag{color:var(--ink);background:#07090c24;border-color:#0000}.song-head{align-items:center;gap:12px;margin-bottom:2px;display:flex}.song-play{background:var(--neon);width:46px;height:46px;color:var(--ink);cursor:pointer;box-shadow:0 0 20px var(--neon-glow);border:0;border-radius:50%;flex:none;place-items:center;padding-left:3px;font-size:16px;font-weight:900;display:grid}.song-play.on{background:var(--tile-2);color:var(--neon);box-shadow:0 0 0 2px var(--neon) inset;padding-left:0;font-size:13px}.preset-list{gap:8px;display:grid}.preset-card{text-align:left;background:var(--tile);border:1px solid var(--line);color:inherit;font:inherit;cursor:pointer;border-radius:16px;align-items:flex-start;gap:12px;padding:14px;display:flex}.preset-card b{align-items:center;font-size:16px;font-weight:800;display:flex}.preset-card .preset-hint{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.35;display:block}.preset-card.on{border-color:var(--neon);background:var(--neon-soft);box-shadow:0 0 0 1px var(--neon) inset}.preset-radio{border:2px solid var(--muted);border-radius:50%;flex:none;width:20px;height:20px;margin-top:2px}.preset-card.on .preset-radio{border-color:var(--neon);background:radial-gradient(circle, var(--neon) 0 45%, transparent 50%)}.mic-try{min-height:0;display:block}.mic-device{gap:6px;margin-bottom:12px;font-size:13px;display:grid}.mic-result{margin-top:14px}.mic-result>p:first-child{margin:0 0 10px;font-size:14.5px;font-weight:800}.mic-result .ok{color:var(--neon)}.mic-result .warn{color:var(--coral)}.switch-row{text-align:left;align-items:center;gap:12px;padding:12px 16px}.switch{background:var(--tile-2);border:1px solid var(--line);border-radius:14px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.switch:after{content:"";background:var(--muted);border-radius:50%;width:20px;height:20px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.switch.on{background:var(--neon);border-color:var(--neon)}.switch.on:after{background:var(--ink);transform:translate(18px)}.feedback-btn{border:1px dashed var(--line);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border-radius:18px;align-items:center;gap:12px;margin-top:14px;padding:14px 16px;display:flex}.feedback-btn:active{background:var(--tile)}.feedback-btn b{font-size:15.5px;font-weight:800;display:block}.feedback-btn span span,.feedback-btn .grow>span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.feedback-btn .chev{color:var(--muted);font-size:20px}.feedback-ico{font-size:22px}.seg.seg-3{grid-template-columns:1fr 1fr 1fr}.seg.seg-3 button{padding:0 4px;font-size:13px}.feedback-text{resize:vertical;height:auto;min-height:120px;padding:12px 14px;font-family:inherit;line-height:1.4}.feedback-thumb{object-fit:cover;border:1px solid var(--line);border-radius:10px;width:56px;height:56px}.online-list{gap:8px;margin-top:22px;display:grid}.online-row{background:var(--tile);border:1px solid var(--line);border-radius:14px;align-items:center;gap:12px;padding:10px 14px;font-weight:800;animation:.35s both up;display:flex}.seg.seg-4{grid-template-columns:repeat(4,1fr)}.seg.seg-4 button{padding:0 2px;font-size:13px}.chip.level{flex:none;font-weight:800}.chip.level.facile{color:var(--neon-2);background:#7dff3a24}.chip.level.moyen{color:var(--orange);background:#ff8a2a24}.chip.level.difficile{color:var(--coral);background:#ff4d6124}.training-list{gap:8px;display:grid}.training-song{background:var(--tile);border:1px solid var(--line);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:14px 16px;display:flex}.training-song:active{background:var(--tile-2)}.training-song b{font-size:16px;font-weight:800;display:block}.training-song .grow>span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.training-song .chev{color:var(--muted);font-size:20px}.bar-right{white-space:nowrap;justify-content:flex-end;width:46px;display:flex;overflow:visible}.btn.listen-beat{min-height:44px;font-size:14px}.lobby-cols,.lobby-side,.lobby-main,.profile-cols,.profile-settings{display:contents}@media (hover:hover){.tile,.vote-card,.shop-item,.training-song,.preset-card{transition:transform .15s,border-color .15s,box-shadow .15s}a.tile:hover,.tile.home-join:hover,.training-song:hover,.preset-card:hover{border-color:#ffffff2e;transform:translateY(-2px);box-shadow:0 14px 40px #00000059}.vote-card:not(.mine):not(.result):not(.absent):hover{border-color:var(--neon)}.btn:hover{filter:brightness(1.08)}.btn-ghost:hover,.icon-btn:hover,.shop-btn:hover{border-color:#fff3}.set-row:hover{background:var(--tile-2)}.feedback-btn:hover{background:var(--tile)}}@media (width>=900px){.app{max-width:560px;padding:40px 24px 48px}.app.with-nav{padding-bottom:110px}.app.wide{max-width:1200px;padding:32px 40px 56px}.display.md{font-size:40px}.toast{bottom:40px}.sheet-back{align-items:center;padding:24px}.sheet{border-radius:22px;max-width:520px;padding:26px 24px;animation:.25s cubic-bezier(.2,1.2,.4,1) pop}.qr-sheet{max-width:420px}.qr-sheet .qr{width:300px;height:300px}.app.home{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"top top top""head head head""hero hero join""hero hero create""train shop rules""fb fb fb";align-content:start;gap:20px;display:grid}.home-top{grid-area:top}.home-head{text-align:left;grid-area:head;margin:18px 0 0}.home-head .display{font-size:56px}.home-head p{font-size:17px}.home .duo{display:contents}.home .duo>:first-child{grid-area:shop}.home .duo>:last-child{grid-area:rules}.home-join{grid-area:join}.home-create{grid-area:create}.home-train{grid-area:train}.home-fb{grid-area:fb;margin-top:4px}.home .hero.home-hero{text-align:left;border-radius:28px;grid-area:hero;justify-content:flex-end;align-items:flex-start;min-height:440px;margin:0;padding:48px 46px;overflow:hidden}.home .hero.home-hero:before{background:radial-gradient(320px 320px at 82% 40%,#ffffff61,#0000 70%),radial-gradient(260px 200px at 90% 110%,#2de2ff8c,#0000 70%)}.home .hero.home-hero h2{max-width:60%;font-size:68px}.home .hero.home-hero p{max-width:46%;margin:14px 0 26px;font-size:18px}.home .hero.home-hero .btn{min-height:60px;padding:0 30px;font-size:18px}.home .hero.home-hero .hero-sticker{top:50%;left:auto;right:9%;transform:translateY(-58%)rotate(-6deg)}.home .hero.home-hero .hero-sticker .mascot{zoom:2.6}.home .tile.block-tile{justify-content:center;padding:28px 24px}.home .tile.mini-tile{justify-content:center;padding:28px 20px}.home .tile.mini-tile h3{font-size:18px}.home .tile.mini-tile p{font-size:14px}.app.lobby{max-width:1280px}.lobby-cols{grid-template-columns:400px minmax(0,1fr);align-items:start;gap:36px;display:grid}.lobby-side{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);border-radius:26px;flex-direction:column;align-items:center;padding:28px 26px;display:flex;position:sticky;top:24px}.lobby-side .code-tiles span{width:60px;height:72px;font-size:38px}.lobby-side>.row{margin-bottom:0!important}.lobby-main{flex-direction:column;gap:18px;display:flex}.lobby-main>.grow{display:none}.qr-panel{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:22px;display:flex}.qr-panel .qr{width:290px;height:290px;box-shadow:0 0 0 6px var(--neon-soft), 0 20px 60px #00000073}.qr-hint{margin:10px 0 0;font-size:15px;font-weight:800}.qr-url{word-break:break-all;margin:0;font-size:13px}.lobby .players{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.lobby .player{border-radius:20px;justify-content:center;gap:8px;min-height:190px;padding:22px 8px 16px}.lobby .player .mascot{zoom:1.35}.lobby .player .name{font-size:17px}.lobby .player.empty{font-size:14px}.lobby .tile.mic-test{margin-top:0}.lobby .sticky-bottom{background:0 0;padding-top:0;position:static}.lobby .sticky-bottom .btn{min-height:64px;font-size:18px}.app.game{max-width:1120px}.game .sticky-bottom{background:0 0;width:100%;max-width:560px;margin:0 auto;padding-top:18px;position:static}.game .display.md{font-size:48px}.record{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) 380px;align-items:start;column-gap:44px;display:grid}.record .song-head{grid-area:1/1/2/2}.record .lyrics{grid-area:2/1/3/2;max-height:66vh}.record.focus .lyrics{grid-area:1/1/3/2;max-height:74vh}.record>.grow{display:none}.lyrics p{margin-bottom:22px;font-size:36px}.record.focus .lyrics p{font-size:44px}.game .record .sticky-bottom{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);border-radius:24px;grid-area:1/2/3/3;align-self:center;gap:14px;max-width:none;margin:0;padding:24px 22px;position:sticky;top:24px}.phase-listen .steps{flex-wrap:wrap;justify-content:center;overflow:visible}.phase-listen .step{flex:none;padding:10px 14px}.phase-listen .listen-stage{margin:46px 0 34px!important}.phase-listen .listen-stage .mascot{zoom:1.5}.phase-listen .listen-stage .glow{width:320px;height:320px}.phase-listen .display.md{font-size:60px}.phase-listen .eq{gap:8px;height:80px}.phase-listen .eq span{width:10px}.phase-listen .take-progress{width:100%;max-width:640px;margin:20px auto 0}.phase-listen .btn-cream.block{max-width:420px;margin:16px auto!important}.phase-vote .vote-list,.phase-result .vote-list{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.game .vote-card{border-radius:18px;min-height:84px;padding:14px 16px}.game .vote-card .name{font-size:18px}.phase-result h3,.phase-result .scoreboard{width:100%;max-width:720px;margin-left:auto!important;margin-right:auto!important}.phase-result .scoreboard{padding:16px 20px;font-size:16px}.phase-final .stage .mascot{zoom:1.4}.phase-final h1.display{font-size:76px!important}.podium{width:100%;max-width:720px;margin:26px auto 0}.podium-row{padding:14px 18px;font-size:17px}.podium-row .rank{width:32px;font-size:26px}.intro-count{font-size:240px}.intro-players{gap:28px}.intro-player{font-size:15px}.intro-player .mascot{zoom:1.5}.app.profile{max-width:1040px}.profile-cols{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:40px;display:grid}.profile-id{background:linear-gradient(160deg, var(--tile-2), var(--tile) 60%);border:1px solid var(--line);border-radius:24px;padding:34px 24px;position:sticky;top:24px}.profile-settings{display:block}.profile-settings>.set-title:first-child{margin-top:0}.app.shop{max-width:1120px}.shop .shop-look{gap:20px;padding:20px 26px}.shop .test-coins,.shop .shop-tabs{max-width:560px;margin-left:auto;margin-right:auto}.shop .test-coins{display:block}.shop .shop-tabs{width:100%}.shop .shop-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.shop .shop-item{gap:8px;padding:18px 16px}.shop .shop-preview{height:120px}}@media (width>=1300px){.shop .shop-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
