@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/9ffc08a38813e78e-s.0y4xxz2y19qqs.woff2)format("woff2");unicode-range:U+307-308,U+590-5FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/44c9372a001b48d5-s.0yczt4r3j28ff.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(../media/61715dc81dd9b4e8-s.p.0ez3bnoxb63ra.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka Fallback;src:local(Arial);ascent-override:95.64%;descent-override:23.17%;line-gap-override:0.0%;size-adjust:101.84%}.aFszna_className{font-family:Fredoka,Fredoka Fallback;font-style:normal}.aFszna_variable{--font-fredoka:"Fredoka", "Fredoka Fallback"}
:root{--ink:#3b2748;--ink-soft:#6e5a7b;--cream:#fffaf6;--panel:#fffaf6e6;--line:#3b27481a;--pink:#ff6f9a;--pink-deep:#e5508a;--pink-soft:#ffe3ec;--mint:#4fc597;--gold:#ffc93d;--shadow:0 14px 34px #50285a2e, 0 2px 6px #50285a1a;--radius:26px;--font:var(--font-fredoka), ui-rounded, "SF Pro Rounded", system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overscroll-behavior:none;background:#f6ede8;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}kbd{font-family:var(--font)}.app,.stage{position:fixed;inset:0}.game-canvas{touch-action:none;width:100%;height:100%;display:block}.ui{pointer-events:none;z-index:10;position:fixed;inset:0}.ui>*{pointer-events:auto}.btn{background:var(--cream);border:0;border-radius:999px;justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:0 24px;font-size:18px;font-weight:600;transition:transform .15s cubic-bezier(.2,.9,.3,1.4),box-shadow .15s;display:inline-flex;box-shadow:0 6px 16px #50285a24,inset 0 -3px #3b27480f}.btn:hover{transform:translateY(-2px)scale(1.02)}.btn:active{transform:translateY(1px)scale(.98)}.btn:focus-visible,.choice:focus-visible,.char:focus-visible{outline:3px solid var(--pink);outline-offset:3px}.btn-primary{color:#fff;background:linear-gradient(180deg, #ff8ab0, var(--pink-deep));box-shadow:0 8px 20px #e5508a59,inset 0 -3px #00000014}.btn-ghost{box-shadow:inset 0 0 0 2px var(--line);background:#ffffffb3}.btn kbd{color:inherit;opacity:.8;background:#3b274814;border-radius:8px;padding:2px 8px;font-size:12px;font-weight:600}.loader{background:#f6ede8;place-content:center;justify-items:center;gap:10px;display:grid;position:fixed;inset:0}.loader p{margin:0;font-weight:600}.loader-shuttle{animation:1.2s cubic-bezier(.45,0,.55,1) infinite shuttle-hop}@keyframes shuttle-hop{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-36px)rotate(180deg)}}.title-screen{pointer-events:none;justify-items:start;gap:18px;display:grid;position:absolute;top:50%;left:max(24px,6vw);transform:translateY(-50%)}.title-screen>*{pointer-events:auto;animation:.6s cubic-bezier(.2,.9,.3,1.2) both rise}.title-screen>:nth-child(2){animation-delay:80ms}.title-screen>:nth-child(3){animation-delay:.16s}@keyframes rise{0%{opacity:0;transform:translateY(18px)}}.logo{letter-spacing:-.02em;margin:0;font-size:clamp(64px,11vw,132px);font-weight:700;line-height:.88;display:grid}.logo-a,.logo-b{z-index:0;position:relative}.logo-a:before,.logo-b:before{content:attr(data-text);z-index:-1;color:#fff;-webkit-text-stroke:.2em #fff;position:absolute;inset:0}.logo-a{color:#ff8fb4}.logo-a:before{text-shadow:0 10px 24px #e5508a59}.logo-b{color:var(--ink);margin-left:.5em}.logo-b:before{text-shadow:0 10px 24px #3b27484d}.tagline{background:var(--cream);border-radius:999px;margin:0;padding:6px 14px;font-size:16px;font-weight:500;box-shadow:0 4px 12px #50285a1f}.title-menu{gap:12px;width:min(260px,70vw);margin-top:10px;display:grid}.leaderboard{top:calc(max(16px, env(safe-area-inset-top)) + 58px);right:max(16px, env(safe-area-inset-right));width:300px;padding:18px 18px 14px;animation:.6s cubic-bezier(.2,.9,.3,1.2) .2s both rise;position:absolute}.leaderboard header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.leaderboard h3{margin:0}.leaderboard header small{color:var(--ink-soft);font-size:12px;font-weight:600}.leaderboard ol{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.leaderboard li{min-height:52px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;grid-template-columns:26px auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px 8px 10px;display:grid}.leaderboard li.rank-1{box-shadow:inset 0 0 0 2px #ffd36e}.lb-skeleton{animation:1.2s ease-in-out infinite pulse;background:#fff9!important}@keyframes pulse{50%{opacity:.5}}.lb-av{display:inline-flex;position:relative}.crown{filter:drop-shadow(0 1px 1px #50281459);pointer-events:none;width:26px;height:18px;position:absolute;top:-15px;left:50%;transform:translate(-50%)rotate(-12deg)}.medal{color:#fff;background:#c9b8a6;border-radius:50%;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid;box-shadow:inset 0 -2px #0000001f}.rank-1 .medal{background:linear-gradient(#ffd96a,#f0a21a)}.rank-2 .medal{background:linear-gradient(#e3e7ef,#a9b0bf)}.rank-3 .medal{background:linear-gradient(#f2b98a,#c97c45)}.lb-name{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.lb-wins{justify-items:end;line-height:1;display:grid}.lb-wins b{font-size:20px}.lb-wins small{letter-spacing:.06em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:600}.lb-empty{color:var(--ink-soft);margin:12px 2px 4px;font-weight:600}.lb-foot{color:var(--ink-soft);margin:10px 2px 0;font-size:14px}.lb-all-link{font-size:14px}.lb-sheet-wrap{z-index:30}.lb-sheet{width:min(640px,100%)}.lb-sheet header>span{gap:2px;display:grid}.lb-sheet header small{color:var(--ink-soft);font-weight:600}.lb-row{text-align:right;grid-template-columns:34px 40px minmax(0,1fr) 56px 56px 76px;align-items:center;gap:10px;display:grid}.lb-row>:nth-child(2),.lb-row>:nth-child(3){text-align:left}.lb-row>:first-child{justify-self:center}.lb-head{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);padding:0 14px 8px 12px;font-size:12px;font-weight:700}.lb-all{gap:8px;margin:0 0 14px;padding:0;list-style:none;display:grid}.lb-all li{min-height:54px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:16px;padding:10px 14px 8px 12px}.lb-all li.rank-1{box-shadow:inset 0 0 0 2px #ffd36e}.lb-all li.me{background:color-mix(in srgb, var(--pink) 12%, white);box-shadow:inset 0 0 0 2px var(--pink)}.lb-all li b{font-size:19px}.lb-rank{color:var(--ink-soft);font-weight:700}.lb-you{color:#fff;background:var(--pink-deep);vertical-align:2px;border-radius:999px;margin-left:8px;padding:1px 8px;font-size:11px;font-style:normal;font-weight:700}.lb-loading{text-align:center}.panel{background:var(--panel);-webkit-backdrop-filter:blur(14px)saturate(1.2);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.panel h2{margin:0 0 16px;font-size:28px;font-weight:700}.panel h3{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);margin:18px 0 10px;font-size:14px;font-weight:600}.panel h3:first-child{margin-top:0}.select-screen{pointer-events:none;justify-content:space-between;align-items:center;gap:24px;padding:24px;display:flex;position:absolute;inset:0}.select-screen>.panel{pointer-events:auto;width:min(380px,42vw);max-height:calc(100% - 16px);animation:.45s cubic-bezier(.2,.9,.3,1.2) both rise;overflow-y:auto}.char-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.char{--accent:var(--pink);box-shadow:inset 0 0 0 2px var(--line);background:#fffc;border:0;border-radius:20px;justify-items:center;gap:6px;padding:12px 6px 10px;font-weight:600;transition:transform .15s,box-shadow .15s;display:grid;position:relative}.char:hover:not(:disabled){transform:translateY(-2px)}.char.on{box-shadow:inset 0 0 0 3px var(--accent), 0 6px 16px #50285a24;background:#fff}.char.on:after{content:"✓";color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;display:grid;position:absolute;top:6px;right:8px}.char.locked{opacity:.8}.char.locked>span{color:var(--ink-soft)}.char.peek{opacity:1;box-shadow:inset 0 0 0 3px var(--ink), 0 6px 16px #50285a24}.char-progress{color:var(--ink-soft);margin-top:-4px;font-size:12px;font-weight:700}.char .lock{top:6px;right:6px}.unlock-bar{background:#fff;border-radius:999px;height:10px;margin-top:10px;overflow:hidden}.unlock-bar i{background:var(--accent);border-radius:999px;min-width:10px;height:100%;display:block}.char.locked .avatar img{filter:grayscale(.6)brightness(1.05)}.lock{background:var(--ink);border-radius:50%;width:22px;height:22px;position:absolute;top:10px;right:12px}.lock:before{content:"";background:#fff;border-radius:2px;width:8px;height:6px;position:absolute;top:10px;left:7px}.lock:after{content:"";box-sizing:border-box;border:2px solid #fff;border-bottom:0;border-radius:4px 4px 0 0;width:6px;height:7px;position:absolute;top:5px;left:8px}.avatar{border-radius:50%;flex:none;display:inline-block;overflow:hidden;box-shadow:inset 0 0 0 2px #ffffffb3}.avatar img{object-fit:cover;width:100%;height:100%;display:block}.char-info{--accent:var(--pink);background:color-mix(in srgb, var(--accent) 18%, white);border-radius:18px;margin-top:14px;padding:14px 18px}.char-info b{font-size:22px}.char-info .tag{letter-spacing:.1em;text-transform:uppercase;vertical-align:3px;background:#fff;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.char-info p{color:var(--ink-soft);margin:6px 0 0}.choices{gap:8px;display:grid}.choices.compact{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}.choice{text-align:left;box-shadow:inset 0 0 0 2px var(--line);background:#ffffffbf;border:0;border-radius:16px;gap:2px;padding:12px 16px;transition:box-shadow .15s,background .15s;display:grid}.choice b{font-size:17px;font-weight:600}.choice small{color:var(--ink-soft);font-size:13px;line-height:1.3}.choice.on{box-shadow:inset 0 0 0 3px var(--pink);background:#fff}.row{gap:12px;margin-top:22px;display:flex}.row .btn{flex:1;justify-content:center}.sheet-wrap,.modal-wrap{-webkit-backdrop-filter:blur(3px);background:#f6ede859;place-items:center;padding:16px;animation:.2s both fade;display:grid;position:absolute;inset:0}.modal-wrap.over{background:radial-gradient(#fff0f659,#3b274840)}@keyframes fade{0%{opacity:0}}.sheet{width:min(1040px,100%);max-height:calc(100vh - 32px);padding:28px;animation:.35s cubic-bezier(.2,.9,.3,1.2) both rise;overflow-y:auto}.sheet header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.sheet header h2{margin:0}.move-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.move{box-shadow:inset 0 0 0 2px var(--line);background:linear-gradient(160deg,#e7fbf2,#fff6f9);border-radius:20px;align-content:start;display:grid;overflow:hidden}.move-art{aspect-ratio:16/9;background:linear-gradient(160deg,#f8efe9,#e9f7f0);position:relative}.move-art img{object-fit:cover;width:100%;height:100%;animation:.35s both fade;display:block}.art-wait{background:linear-gradient(100deg,#0000 30%,#ffffff8c 50%,#0000 70%) -100% 0/200% 100%;animation:1.2s linear infinite shimmer;position:absolute;inset:0}@keyframes shimmer{to{background-position:100% 0}}.move-keys{align-items:flex-end;display:flex;position:absolute;bottom:12px;left:12px}.move-keys .arrow-pad .key{border-radius:10px;min-width:34px;height:34px;margin:1px}.move-keys .arrow-pad{-webkit-backdrop-filter:blur(6px);background:#ffffffb8;border-radius:16px;padding:5px 6px}.move-text{padding:12px 18px 16px}.move-text b{font-size:20px}.move-text p{color:var(--ink-soft);margin:4px 0 0}.pad{color:#fff;background:var(--ink);vertical-align:3px;border-radius:999px;place-items:center;min-width:26px;height:26px;margin-left:6px;padding:0 6px;font-size:11px;display:inline-grid}.key{color:#fff;background:linear-gradient(180deg, #ff8ab0, var(--pink-deep));border-radius:12px;place-items:center;min-width:44px;height:44px;margin:2px;padding:0 10px;font-size:18px;font-weight:600;display:inline-grid;box-shadow:0 4px #c43f74,0 6px 14px #e5508a4d}.key.wide{min-width:90px}.tips .key,.arrow-pad .key{color:var(--ink);background:#fff;box-shadow:0 3px #3b274826,0 4px 10px #50285a1f}.arrow-pad{justify-items:center;display:grid}.key svg{fill:currentColor;width:14px;height:14px}.key.arrows{grid-auto-flow:column;gap:2px}.key.arrows svg{width:11px;height:11px}.tips{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:20px;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px;padding:16px 18px;display:grid}.tips p{align-items:center;gap:10px;margin:0;line-height:1.35;display:flex}.tips .key{flex:none;min-width:64px;height:32px;font-size:13px}.ring-icon{border:4px solid var(--gold);width:30px;height:30px;box-shadow:inset 0 0 0 5px #fff, inset 0 0 0 9px var(--gold);border-radius:50%;flex:none}.settings-cols{grid-template-columns:1fr 1fr;gap:28px;display:grid}.segmented{background:#3b274812;border-radius:999px;grid-template-columns:repeat(4,1fr);padding:5px;display:grid}.segmented button{background:0 0;border:0;border-radius:999px;padding:10px 0;font-weight:600}.segmented button.on{color:var(--pink-deep);background:#fff;box-shadow:0 3px 10px #50285a24}.toggles{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:18px;margin-top:12px;overflow:hidden}.toggle-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px 18px;display:flex;position:relative}.toggle-row+.toggle-row{border-top:2px solid var(--line)}.toggle-row span{display:grid}.toggle-row b{font-size:17px;font-weight:600}.toggle-row small{color:var(--ink-soft);font-size:14px}.toggle-row input{opacity:0;pointer-events:none;position:absolute}.switch{background:#e5dfe8;border-radius:999px;flex:none;width:58px;height:34px;transition:background .2s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:26px;height:26px;transition:transform .2s cubic-bezier(.2,.9,.3,1.3);position:absolute;top:4px;left:4px;box-shadow:0 2px 6px #3b274840}.toggle-row input:checked+.switch{background:var(--pink-deep)}.toggle-row input:checked+.switch:after{transform:translate(24px)}.toggle-row input:focus-visible+.switch{outline:3px solid var(--pink);outline-offset:2px}.volume{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:18px;align-items:center;gap:14px;padding:14px 18px;font-weight:600;display:flex}.volume input{accent-color:var(--pink-deep);flex:1}.saved-note{color:var(--ink-soft);margin:18px 0 0;font-size:14px}.modal{text-align:center;gap:10px;width:min(340px,100%);animation:.35s cubic-bezier(.2,.9,.3,1.2) both rise;display:grid}.modal h2{margin-bottom:6px}.modal .btn{justify-content:center}.result{width:min(400px,100%)}.result.won h2{color:var(--pink-deep)}.final{justify-content:center;align-items:center;gap:18px;margin-bottom:6px;display:flex}.final span{justify-items:center;gap:4px;font-weight:600;display:grid}.final b{font-size:48px;font-weight:700}.final i{opacity:.4;font-style:normal}.stats{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 8px;display:grid}.stats div{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:14px;padding:10px}.stats dt{color:var(--ink-soft);font-size:13px}.stats dd{margin:0;font-size:24px;font-weight:700}.unlock-note{background:var(--pink-soft);color:var(--pink-deep);border-radius:14px;margin:0 0 6px;padding:10px;font-weight:600}.pause-btn{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));background:var(--cream);border:0;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;position:absolute;box-shadow:0 6px 16px #50285a29}.pause-btn svg{width:22px;fill:var(--ink)}.scoreboard{top:max(14px, env(safe-area-inset-top));background:var(--cream);box-shadow:var(--shadow);pointer-events:none;white-space:nowrap;border-radius:999px;align-items:center;gap:10px;padding:8px 12px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.sb-side{align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.sb-score{min-width:46px;height:40px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:14px;place-items:center;padding:0 8px;font-size:26px;font-weight:700;animation:.35s cubic-bezier(.2,.9,.3,1.6) bump;display:grid}.sb-score.gp{color:#fff;background:var(--pink-deep)}@keyframes bump{0%{transform:scale(1.35)}}.sb-sep{background:var(--line);border-radius:2px;width:2px;height:26px}.sb-avatars{display:flex}.sb-side.pair .sb-av+.sb-av{margin-left:-8px}.sb-av{border-radius:50%;display:inline-flex}.sb-av .avatar{box-shadow:0 0 0 2px #fff}.sb-av.serving .avatar{box-shadow:0 0 0 2px #fff, 0 0 0 4px var(--gold)}.sb-side.pair .sb-name{text-overflow:ellipsis;white-space:nowrap;max-width:190px;font-size:15px;overflow:hidden}.final-avatars{gap:4px;display:flex!important}.serve-dot{background:var(--gold);border-radius:50%;width:12px;height:12px;box-shadow:0 0 0 3px #ffc93d4d}.hud-right{top:max(20px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));pointer-events:none;justify-items:end;gap:8px;display:grid;position:absolute}.chip{background:var(--cream);pointer-events:none;border-radius:999px;align-items:center;gap:6px;padding:8px 14px 8px 10px;font-weight:600;display:flex;box-shadow:0 6px 16px #50285a24}.chip svg{width:18px;height:18px;fill:var(--pink-deep)}.serve-hint{top:calc(max(14px, env(safe-area-inset-top)) + 70px);box-shadow:var(--shadow);pointer-events:none;background:#fffaf6eb;border-radius:20px;justify-items:center;gap:2px;padding:10px 20px;font-size:18px;font-weight:700;animation:.3s both rise;display:grid;position:absolute;left:50%;transform:translate(-50%)}.serve-hint span{color:var(--ink-soft);font-size:14px;font-weight:500}.serve-hint kbd{background:var(--pink-soft);color:var(--pink-deep);border-radius:6px;padding:0 6px;font-weight:700}.keys-hint{left:max(16px, env(safe-area-inset-left));bottom:max(16px, env(safe-area-inset-bottom));pointer-events:none;background:#fffaf6e6;border-radius:999px;padding:10px 16px;font-size:15px;position:absolute;box-shadow:0 4px 12px #50285a1f}.keys-hint b{color:var(--pink-deep);margin-left:8px;font-weight:600}.keys-hint b:first-child{margin-left:0}.callout{pointer-events:none;justify-items:center;gap:4px;animation:1.6s cubic-bezier(.2,.9,.3,1.3) both callout;display:grid;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}.callout.tone-win,.callout.tone-lose{animation-duration:2.4s;top:16%}.callout-text{color:#fff;-webkit-text-stroke:7px #ff7a6b;paint-order:stroke fill;text-shadow:0 10px 24px #ff7a6b59;font-size:clamp(56px,10vw,110px);font-weight:700;line-height:1}.tone-out .callout-text{-webkit-text-stroke-color:#7c6cf0;text-shadow:0 10px 24px #7c6cf059}.tone-win .callout-text{-webkit-text-stroke-color:var(--pink-deep)}.tone-lose .callout-text{-webkit-text-stroke-color:var(--ink-soft);font-size:clamp(44px,7vw,80px)}.callout-sub{background:var(--ink);color:#fff;border-radius:999px;padding:6px 16px;font-size:17px;font-weight:600}@keyframes callout{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}14%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}22%{transform:translate(-50%,-50%)scale(1)}78%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-62%)scale(.96)}}.pops{pointer-events:none;position:absolute;inset:0}.pop{color:#fff;-webkit-text-stroke:5px var(--ink);paint-order:stroke fill;white-space:nowrap;font-size:22px;font-weight:700;animation:1.1s cubic-bezier(.2,.9,.3,1.3) both pop;position:absolute;transform:translate(-50%,-50%)}.pop-perfect{color:#fff6c9;-webkit-text-stroke-color:#f0a21a;font-size:30px}.pop-late,.pop-miss{color:#fff;-webkit-text-stroke-color:#8f7d9a}.pop-shot{-webkit-text-stroke-color:var(--pink-deep)}@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%)scale(.5)}18%{opacity:1;transform:translate(-50%,-60%)scale(1.1)}70%{opacity:1;transform:translate(-50%,-90%)scale(1)}to{opacity:0;transform:translate(-50%,-130%)scale(.95)}}.fps{color:#fff;pointer-events:none;background:#3b2748bf;border-radius:10px;padding:4px 10px;font-size:13px;font-weight:600;position:absolute;bottom:12px;right:12px}.chip.ping i{background:var(--mint);border-radius:50%;width:10px;height:10px}.chip.ping.meh i{background:var(--gold)}.chip.ping.bad i{background:#ff6b6b}.modal-note{color:var(--ink-soft);margin:-4px 0 6px}.btn:disabled{opacity:.6;cursor:default;transform:none}.name-field{letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);gap:6px;font-size:14px;font-weight:600;display:grid}.name-row{gap:8px;display:flex}.name-row input,.join-row input{min-width:0;height:48px;font:600 18px var(--font);color:var(--ink);letter-spacing:normal;text-transform:none;box-shadow:inset 0 0 0 2px var(--line);-webkit-user-select:text;user-select:text;background:#fff;border:0;border-radius:16px;outline:none;flex:1;padding:0 16px}.name-row input:focus,.join-row input:focus{box-shadow:inset 0 0 0 3px var(--pink)}.dice{width:48px;height:48px;color:var(--pink-deep);box-shadow:inset 0 0 0 2px var(--line);background:#fff;border:0;border-radius:16px;place-items:center;display:grid}.dice svg{fill:currentColor;width:24px}.compact-grid .char{padding:10px 4px 8px;font-size:14px}.online-screen .options .btn{justify-content:center}.online-screen .options>.btn,.online-screen .setup-body>.btn{width:100%}.hint{color:var(--ink-soft);margin:8px 2px 0;font-size:14px}.row.tight{align-items:stretch;margin-top:10px}.row.tight .choices{flex:1}.join-row{gap:8px;margin-top:10px;display:flex}.join-row input{letter-spacing:.3em;text-transform:uppercase}.net-error{color:#b43c3c;background:#ffe6e6;border-radius:14px;margin:12px 0 0;padding:10px 14px;font-weight:600}.net-wait{text-align:center;justify-items:center;gap:12px;padding:18px 0 6px;display:grid}.net-wait>b{font-size:22px}.net-wait small{color:var(--ink-soft);font-size:14px}.net-wait .invite{overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;max-width:100%}.party-code{letter-spacing:.18em;box-shadow:inset 0 0 0 3px var(--pink);background:#fff;border-radius:20px;padding:4px 18px 4px 28px;font-size:54px!important}.waiting{align-items:center;gap:8px;font-weight:600;display:flex}.spinner{border:5px solid var(--pink-soft);border-top-color:var(--pink-deep);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite spin}.spinner.small{border-width:3px;width:18px;height:18px}@keyframes spin{to{transform:rotate(1turn)}}.account-chip{top:max(16px, env(safe-area-inset-top));right:max(16px, env(safe-area-inset-right));background:var(--cream);border:0;border-radius:999px;align-items:center;gap:8px;height:46px;padding:0 18px 0 8px;font-size:16px;font-weight:600;display:flex;position:absolute;box-shadow:0 6px 16px #50285a29}.account-chip>span:only-child{padding-left:10px}.account{width:min(860px,100%)}.auth{gap:14px;max-width:440px;margin:0 auto;display:grid}.auth-tabs{grid-template-columns:1fr 1fr}.auth-lead{color:var(--ink-soft);margin:0}.auth-form{gap:14px;display:grid}.auth-form .btn{justify-content:center;margin-top:4px}.field{gap:6px;display:grid}.field>span,.field>label{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:14px;font-weight:600}.field input,.pw-row input{width:100%;min-width:0;height:48px;font:500 17px var(--font);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);-webkit-user-select:text;user-select:text;background:#fff;border:0;border-radius:16px;outline:none;padding:0 16px}.field input:focus,.pw-row input:focus{box-shadow:inset 0 0 0 3px var(--pink)}.pw-row{display:block;position:relative}.pw-row input{padding-right:76px}.pw-toggle{background:#3b274812;border:0;border-radius:12px;height:34px;padding:0 12px;font-size:13px;font-weight:600;position:absolute;top:7px;right:7px}.field-note{color:var(--ink-soft);font-size:14px}.field-note.ok{color:#2f9e6e;font-weight:600}.field-note.bad{color:#c43c5a;font-weight:600}.link{color:var(--pink-deep);text-underline-offset:2px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.profile-head{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:20px;align-items:center;gap:16px;padding:16px;display:flex}.profile-id{flex:1;gap:6px;min-width:0;display:grid}.profile-id small{color:var(--ink-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile h3{margin-top:22px}.profile h3 .count{letter-spacing:0;color:var(--pink-deep);margin-left:8px}.stats-wide{grid-template-columns:repeat(4,1fr)}.stats-wide small{color:var(--ink-soft);font-size:12px;display:block}.ach-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin:0;padding:0;list-style:none;display:grid}.ach{box-shadow:inset 0 0 0 2px var(--line);opacity:.6;background:#fff9;border-radius:16px;gap:2px;padding:12px;display:grid}.ach i{color:var(--ink-soft);font-size:20px;font-style:normal}.ach b{font-weight:600}.ach small{color:var(--ink-soft);font-size:12px;line-height:1.3}.ach.earned{opacity:1;background:#fff8e0;box-shadow:inset 0 0 0 2px #ffd36e}.ach.earned i{color:#f0a21a}.history{gap:6px;margin:0;padding:0;list-style:none;display:grid}.history li{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:10px 14px;display:grid}.wl{color:#fff;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.wl.w{background:var(--mint)}.wl.l{background:#b9a9c2}.vs{font-weight:600;display:grid}.vs small,.history .when{color:var(--ink-soft);font-size:13px;font-weight:500}.save-note{color:var(--ink-soft);margin:0 0 6px;font-weight:600}.save-note.ok{color:#2f9e6e}.save-note.bad{color:#c43c5a}.new-ach{color:#c7811a;margin-top:4px;display:block}.setup-summary,.setup-quick{display:none}.room{gap:12px;min-width:0;display:grid}.room-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.room-head>span{display:grid}.room-head small{color:var(--ink-soft);font-weight:600}.room-head .party-code{letter-spacing:.18em;padding:2px 10px 2px 16px;font-size:28px!important}.room-head .btn{min-height:42px;padding:0 16px;font-size:15px}.room-teams{grid-template-columns:1fr 1fr;gap:10px;display:grid}.room-team{background:#3b27480d;border-radius:18px;gap:8px;min-width:0;padding:10px;display:grid}.room-team.mine{background:color-mix(in srgb, var(--pink) 12%, white)}.room-team h3{margin:0 2px}.room-slot{min-height:58px;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:14px;align-items:center;gap:10px;padding:8px 10px;display:flex}.room-slot.open{box-shadow:inset 0 0 0 2px var(--line);background:0 0;border:2px dashed #0000;flex-direction:column;justify-content:center;align-items:flex-start;gap:0}.room-name{min-width:0;display:grid}.room-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.room-name small{color:var(--pink-deep);font-size:12px;font-weight:600}.room-empty{color:var(--ink-soft);font-weight:600}.sponsor{box-shadow:inset 0 0 0 2px var(--line);background:linear-gradient(140deg,#fff0f5,#fff8f1);border-radius:20px;grid-template-columns:minmax(220px,.9fr) 1.1fr;gap:22px;margin-top:22px;padding:20px;display:grid}.sponsor-board{box-shadow:inset 0 0 0 6px var(--ink), 0 8px 18px #3b27482e;text-align:center;background:#fff8f1;border-radius:14px;align-self:start;justify-items:center;gap:6px;padding:22px 12px;display:grid}.sponsor-board b{font-size:30px;font-weight:700;line-height:1.1}.sponsor-board span{letter-spacing:.14em;text-transform:uppercase;color:var(--pink-deep);font-size:14px;font-weight:600}.sponsor-body h3{margin-top:0}.sponsor-body p{color:var(--ink-soft);margin:0 0 10px}.sponsor-body ul{color:var(--ink);margin:0 0 14px;padding-left:20px}.sponsor-body li{margin:4px 0}.sponsor-body li::marker{color:var(--pink-deep)}.sponsor-form textarea{width:100%;font:500 16px var(--font);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line);resize:vertical;-webkit-user-select:text;user-select:text;background:#fff;border:0;border-radius:16px;outline:none;padding:12px 16px}.sponsor-form textarea:focus{box-shadow:inset 0 0 0 3px var(--pink)}.sponsor-form .row.tight .btn{flex:1;justify-content:center}.sponsor-done{background:#e6f8ef;border-radius:14px;padding:14px 16px;font-weight:600;color:#2f7d58!important}.sponsor-actions{margin-top:0}.sponsor-actions .btn{flex:0 auto}.admin{-webkit-user-select:text;user-select:text;width:min(900px,100%)}.admin-tools{gap:8px;display:flex}.admin-filter{grid-template-columns:repeat(5,1fr);margin-bottom:14px}.admin-filter button{justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-filter .count{background:#3b274814;border-radius:999px;min-width:22px;padding:1px 6px;font-size:12px}.admin-filter button.on .count{color:#fff;background:var(--pink-deep)}.admin-empty{text-align:center;padding:26px 0}.admin-entry{box-shadow:inset 0 0 0 2px var(--line);background:linear-gradient(140deg,#fff0f5,#fff8f1);border-radius:20px;justify-content:space-between;align-items:center;gap:14px;margin-top:12px;padding:14px 16px;display:flex}.admin-entry span{display:grid}.admin-entry small{color:var(--ink-soft)}.requests{gap:10px;margin:0;padding:0;list-style:none;display:grid}.request{box-shadow:inset 0 0 0 2px var(--line);background:#fff;border-radius:18px;gap:8px;padding:16px 18px;display:grid}.request.is-approved{box-shadow:inset 0 0 0 2px #4fc5978c}.request.is-declined{opacity:.72}.request-head{align-items:center;gap:10px;display:flex}.request-brand{overflow-wrap:anywhere;font-size:19px}.request-head .when{white-space:nowrap;margin-left:auto}.request .when{color:var(--ink-soft);font-size:13px;font-weight:500}.status-pill{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:700}.status-pill.new{color:#a8336a;background:var(--pink-soft)}.status-pill.contacted{color:#7a5a00;background:#fff1c7}.status-pill.approved{color:#24714f;background:#def6ea}.status-pill.declined{color:#6e5a7b;background:#eee8f1}.request-contact{overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:6px 16px;font-weight:600;display:flex}.request-contact a{color:var(--pink-deep);text-underline-offset:2px}.request-contact .tag{color:var(--ink-soft);background:#3b274812;border-radius:8px;padding:2px 8px;font-size:12px}.request-msg{white-space:pre-wrap;overflow-wrap:anywhere;background:#fbf6f2;border-radius:12px;margin:0;padding:10px 12px}.request-msg.none{color:var(--ink-soft);background:0 0;padding:0;font-style:italic}.request-foot{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.request-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.request-actions .btn{min-height:40px;padding:0 16px;font-size:15px}.request-actions .btn.danger{color:#b43c3c}.touch{pointer-events:none;height:0;position:absolute;inset:auto 0 0}.stick{left:max(18px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#fffaf673;border-radius:50%;width:150px;height:150px;position:absolute;box-shadow:inset 0 0 0 3px #fffc}.knob{background:var(--cream);pointer-events:none;border-radius:50%;width:64px;height:64px;margin:-32px 0 0 -32px;position:absolute;top:50%;left:50%;box-shadow:0 6px 14px #50285a40}.touch-buttons{right:max(14px, env(safe-area-inset-right));bottom:max(14px, env(safe-area-inset-bottom));pointer-events:auto;grid-template-columns:repeat(3,70px);grid-template-areas:"dive drop smash""jump jump clear";gap:10px;display:grid;position:absolute}.tbtn{color:#fff;background:linear-gradient(180deg, #ff8ab0, var(--pink-deep));touch-action:none;border:0;border-radius:50%;height:70px;font-size:14px;font-weight:700;box-shadow:0 5px #c43f74,0 8px 16px #50285a40}.tbtn:active{transform:translateY(3px);box-shadow:0 2px #c43f74}.tbtn.smash{grid-area:smash}.tbtn.clear{background:linear-gradient(#ffd86b,#f5a524);grid-area:clear;box-shadow:0 5px #c7811a}.tbtn.drop{background:linear-gradient(#8fe3c0,#3fb487);grid-area:drop;box-shadow:0 5px #2d8c68}.tbtn.jump{background:linear-gradient(#a9b6ff,#6f7ff0);border-radius:999px;grid-area:jump;box-shadow:0 5px #5160c8}.tbtn.dive{background:linear-gradient(#d1c2ff,#9c86f2);grid-area:dive;box-shadow:0 5px #7b66cf}@media (max-width:860px){.move-grid,.tips{grid-template-columns:1fr 1fr}.settings-cols{grid-template-columns:1fr;gap:0}.settings-cols>div+div h3{margin-top:18px}}@media (max-width:720px){.select-screen{pointer-events:auto;flex-direction:column;justify-content:space-between;align-items:stretch;gap:10px;padding:12px;overflow-y:auto}.select-screen>.panel{width:100%;max-height:none;padding:16px;overflow:visible}.select-screen>.picker{flex-shrink:0}.select-screen:not(.online-screen)>.options,.online-screen>.options.folded{z-index:2;position:sticky;bottom:0}.sb-name,.keys-hint{display:none}.hud-right{top:calc(max(14px, env(safe-area-inset-top)) + 62px)}.serve-hint{top:calc(max(14px, env(safe-area-inset-top)) + 112px);white-space:nowrap}.choices:not(.compact) .choice small{display:none}.title-screen{top:auto;left:16px;right:16px;bottom:max(24px, env(safe-area-inset-bottom));transform:none}.title-menu{width:100%}.leaderboard{top:calc(max(16px, env(safe-area-inset-top)) + 56px);width:auto;padding:12px 14px 10px;left:16px;right:16px}.leaderboard ol{gap:6px;margin-top:8px}.leaderboard li{min-height:42px;padding:4px 10px 4px 8px}.lb-foot{display:none}.lb-row{grid-template-columns:28px 36px minmax(0,1fr) 44px 48px;gap:8px}.lb-rate{display:none}.sheet{padding:18px}}@media (max-width:720px),(orientation:landscape) and (max-height:500px){.char-grid{grid-template-columns:repeat(6,1fr);gap:6px}.char{padding:8px 2px 6px;font-size:12px}.char .avatar{width:44px!important;height:44px!important}.char.on:after{display:none}.select-screen .char-grid{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;grid-template-rows:repeat(2,auto);grid-template-columns:none;grid-auto-columns:calc(18.1818% - 5.45455px);grid-auto-flow:column;margin:0 -16px;padding:2px 16px 4px;scroll-padding:0 16px;overflow-x:auto}.select-screen .char-grid::-webkit-scrollbar{display:none}.select-screen .char{scroll-snap-align:start}.setup-summary{text-align:left;width:100%;box-shadow:inset 0 0 0 2px var(--line);background:#fff;border:0;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;display:flex}.setup-text{min-width:0;display:grid}.setup-text small{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);font-size:11px;font-weight:700}.setup-text b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.setup-toggle{color:var(--pink-deep);flex-shrink:0;align-items:center;gap:4px;font-size:14px;font-weight:700;display:flex}.setup-toggle svg{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;transition:transform .2s}.options.open .setup-toggle svg{transform:rotate(180deg)}.options.folded .setup-body,.options.folded .options-back{display:none}.options.folded .setup-quick{display:flex}.options.folded .row{margin-top:12px}.options.open .setup-body h3:first-child{margin-top:14px}}@media (orientation:landscape) and (max-height:500px){.title-screen{gap:8px}.logo{font-size:clamp(44px,16vh,80px)}.tagline{padding:4px 12px;font-size:14px}.title-menu{gap:8px;width:230px;margin-top:2px}.title-menu .btn{min-height:40px;font-size:16px}.leaderboard{top:calc(max(12px, env(safe-area-inset-top)) + 54px);width:260px;padding:12px 14px 10px}.leaderboard ol{gap:6px;margin-top:8px}.leaderboard li{min-height:40px;padding:4px 10px 4px 8px}.leaderboard .avatar{width:28px!important;height:28px!important}.lb-foot{display:none}.select-screen{align-items:flex-start;gap:12px;padding:12px}.select-screen>.panel{max-height:calc(100% - 4px);padding:16px}.select-screen>.panel h2{font-size:24px}.select-screen>.options.folded{align-self:flex-end}.char-info{margin-top:8px;padding:8px 12px}.char-info b{font-size:18px}.modal-wrap,.sheet-wrap{padding:8px}.sheet{max-height:calc(100vh - 16px);padding:18px}.result{grid-template-columns:repeat(3,1fr);width:min(640px,100%);max-height:calc(100vh - 16px);overflow-y:auto}.result>:not(.btn){grid-column:1/-1}.result h2{margin-bottom:0}.result .stats{grid-template-columns:repeat(4,1fr);margin-bottom:0}.result .stats div{padding:6px}.final b{font-size:36px}.final .avatar{width:40px!important;height:40px!important}}@media (max-width:720px) and (max-height:739px){.leaderboard{display:none}}@media (max-width:640px){.sponsor{grid-template-columns:1fr}.admin header{flex-wrap:wrap}.admin-tools .btn{min-height:42px;padding:0 16px;font-size:16px}.admin-filter{border-radius:20px;flex-wrap:wrap;gap:2px;display:flex}.admin-filter button{flex:1 0 auto;padding:8px 12px}.request-head{flex-wrap:wrap}.request-actions{margin-left:0}.stats-wide,.ach-grid{grid-template-columns:1fr 1fr}.profile-head{flex-wrap:wrap}}@media (max-width:520px){.move-grid,.tips{grid-template-columns:1fr}.move-keys{min-height:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
