:root{--u:min(1vw, 1.78vh);--bg:#1a0b2e;--bg-2:#2a1248;--ink:#fff6fb;--ink-soft:#d9c8f0;--pink:#ff4fa3;--pink-2:#ff8cc6;--purple:#8b5cf6;--gold:#ffd166;--card:#fff8fc;--card-ink:#22103d;--f-pink:#3d9bff;--f-ring:#ff4d6a;--f-mid:#2ed47a;--f-idx:#a45cff;--f-thumb:#c8c0dc;--font-head:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--font-text:"Lexend", "Segoe UI", system-ui, sans-serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-text);font-size:calc(var(--u) * 1.6);overflow:hidden}.stage{background:radial-gradient(ellipse 40% 60% at 12% -10%, #ff4fa359, transparent 70%), radial-gradient(ellipse 40% 60% at 88% -10%, #8b5cf666, transparent 70%), radial-gradient(ellipse 70% 30% at 50% 110%, #ff4fa340, transparent 70%), linear-gradient(180deg, var(--bg) 0%, var(--bg-2) 100%);min-height:100dvh}.center{place-items:center;padding:16px;display:grid}h1,h2{font-family:var(--font-head);margin:0;font-weight:800;line-height:1.1}.btn{font:800 calc(var(--u) * 1.7) var(--font-head);color:#fff;background:linear-gradient(135deg, var(--pink), var(--purple));padding:calc(var(--u) * .7) calc(var(--u) * 2.4);cursor:pointer;border:0;border-radius:999px;transition:transform .12s,box-shadow .12s;box-shadow:0 0 0 3px #ffffff26,0 8px 24px #ff4fa359}.btn:hover{transform:translateY(-2px);box-shadow:0 0 0 3px #ffffff4d,0 10px 30px #ff4fa380}.btn:focus-visible{outline:4px solid var(--gold);outline-offset:3px}.btn-big{font-size:calc(var(--u) * 2.3);padding:calc(var(--u) * .9) calc(var(--u) * 3.2)}.btn-ghost{box-shadow:inset 0 0 0 3px var(--pink-2);background:0 0}.panel{border-radius:calc(var(--u) * 2);padding:calc(var(--u) * 2.5) calc(var(--u) * 3);text-align:center;background:#241040d9;border:2px solid #ff8cc680;box-shadow:0 0 40px #ff4fa340}.panel p{color:var(--ink-soft);line-height:1.5}.coin{background:radial-gradient(circle at 35% 35%, #fff3b0, var(--gold) 55%, #e09b1a);vertical-align:-.12em;border-radius:50%;width:1em;height:1em;display:inline-block;box-shadow:inset 0 0 0 2px #b8740f}.home{place-items:center;padding:16px;display:grid}.home-card{text-align:center;justify-items:center;gap:calc(var(--u) * 1.2);display:grid}.logo{font-size:calc(var(--u) * 9);background:linear-gradient(90deg, var(--pink-2), #fff, #c9a8ff);color:#0000;text-shadow:0 0 40px #ff4fa373;-webkit-background-clip:text;background-clip:text}.home-sub{font-size:calc(var(--u) * 2);color:var(--ink-soft);margin:0}.home-actions{gap:calc(var(--u) * 1.5);margin-top:calc(var(--u) * 1);flex-wrap:wrap;justify-content:center;display:flex}.coins{font-size:calc(var(--u) * 1.8);color:var(--gold);margin:0}.koppel{justify-items:center;gap:calc(var(--u) * 1);max-width:640px;display:grid}.koppel h1{font-size:calc(var(--u) * 4)}.koppel.is-ok h1{color:var(--pink-2)}.cat{width:calc(var(--u) * 8);height:auto}.cat-big{width:calc(var(--u) * 14);filter:drop-shadow(0 0 24px #ff4fa380)}.cat-head,.cat-ear{fill:#ffe9f4;stroke:#22103d;stroke-width:3px}.cat-ear-in{fill:var(--pink-2)}.cat-eye{fill:#22103d}.cat-shine{fill:#fff}.cat-nose{fill:var(--pink)}.cat-mouth{fill:none;stroke:#22103d;stroke-width:2.5px;stroke-linecap:round}.cat-blush{fill:var(--pink-2);opacity:.6}.cat-star{fill:var(--gold);stroke:#22103d;stroke-width:2px}.mascot{right:calc(var(--u) * 1.5);top:calc(var(--u) * 6);pointer-events:none;flex-direction:row-reverse;align-items:center;gap:8px;display:flex;position:fixed}.mascot .bubble{font:800 calc(var(--u) * 1.8) var(--font-head);color:var(--card-ink);opacity:0;background:#fff;border-radius:18px;padding:6px 16px;transition:opacity .2s,transform .2s;transform:scale(.8)}.mascot.is-talking .bubble{opacity:1;transform:none}.mascot.is-talking .cat{animation:.5s 2 bop}@keyframes bop{50%{transform:translateY(-8px)rotate(-4deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.f-pink{--fc:var(--f-pink)}.f-ring{--fc:var(--f-ring)}.f-mid{--fc:var(--f-mid)}.f-idx{--fc:var(--f-idx)}.f-thumb{--fc:var(--f-thumb)}.kb{--k:calc(var(--u) * 4.4);gap:calc(var(--u) * .5);justify-content:center;display:grid}.kb-row{gap:calc(var(--u) * .5);display:flex}.kb-row-1{padding-left:calc(var(--k) * .3)}.kb-row-2{padding-left:calc(var(--k) * .8)}.kb-row-3{padding-left:calc(var(--k) * .6);justify-content:center}.kb-key{width:var(--k);height:var(--k);border-radius:calc(var(--k) * .22);font:600 calc(var(--k) * .42) var(--font-text);color:#6d5a8c;background:#22123a;border:2px solid #33204f;place-items:center;transition:background .15s,transform .15s,box-shadow .15s;display:grid;position:relative}.kb-space{width:calc(var(--k) * 6.2)}.kb-key.is-known{color:#fff;background:color-mix(in srgb, var(--fc) 28%, #22123a);border-color:var(--fc)}.kb-key.is-next{color:#fff;background:var(--fc);box-shadow:0 0 0 3px #ffffff59, 0 0 22px var(--fc);border-color:#fff;animation:1.2s ease-in-out infinite glow;transform:translateY(-3px)scale(1.08)}.kb-bump:after{content:"";opacity:.8;background:currentColor;border-radius:2px;width:28%;height:3px;position:absolute;bottom:16%}.kb-key.is-nudge{animation:.4s shake}@keyframes glow{50%{box-shadow:0 0 0 6px var(--gold), 0 0 40px #ffd166cc}}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.hands{justify-content:center;align-items:center;gap:calc(var(--u) * 2);display:flex}.hand{width:calc(var(--u) * 7.2);height:auto}.hand-palm{fill:#3a2160;stroke:#5b3a8a;stroke-width:2px}.hand-finger{fill:color-mix(in srgb, var(--fc) 30%, #3a2160);stroke:#5b3a8a;stroke-width:2px;transition:fill .15s}.hand-finger.is-on{fill:var(--fc);stroke:#fff;stroke-width:3px;filter:drop-shadow(0 0 6px var(--fc))}.hands-text{min-width:calc(var(--u) * 26);text-align:center;font-size:calc(var(--u) * 1.8);color:var(--ink-soft);margin:0}.hands-text strong{color:#fff}.hands-key{background:var(--fc);color:#fff;border-radius:.4em;min-width:1.8em;padding:0 .4em;font-weight:600;display:inline-block}@media (prefers-reduced-motion:reduce){.kb-key.is-next{transform:none}.kb-key.is-nudge{animation:.4s flash!important}}@keyframes flash{50%{color:var(--card-ink);background:#fff}}.lesson{height:100dvh;padding:calc(var(--u) * 1.2) 16px calc(var(--u) * 1.4);gap:calc(var(--u) * .8);grid-template-rows:auto 1fr auto;display:grid;overflow:hidden}.lesson-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.steps{gap:calc(var(--u) * .6);counter-reset:step;margin:0;padding:0;list-style:none;display:flex}.steps li{counter-increment:step;font:800 calc(var(--u) * 1.5) var(--font-head);padding:calc(var(--u) * .35) calc(var(--u) * 1.2);color:var(--ink-soft);background:#ffffff0f;border:2px solid #ffffff1a;border-radius:999px}.steps li:before{content:counter(step) ". ";opacity:.7}.steps li.is-done{color:var(--pink-2)}.steps li.is-done:before{content:"✓ "}.steps li.is-now{color:#fff;background:linear-gradient(135deg, var(--pink), var(--purple));border-color:#0000;box-shadow:0 0 18px #ff4fa380}.clock{font:800 calc(var(--u) * 1.8) var(--font-head);align-items:center;gap:10px;display:flex}.clock-bar{width:calc(var(--u) * 14);height:calc(var(--u) * .9);background:#ffffff1f;border-radius:999px;overflow:hidden}.clock-bar span{background:linear-gradient(90deg, var(--pink), var(--gold));width:0;height:100%;transition:width .2s linear;display:block}.lesson-body{align-content:center;justify-items:center;gap:calc(var(--u) * 1.2);min-height:0;display:grid}.part-head{text-align:center}.part-title{font-size:calc(var(--u) * 3.4);color:#fff;text-shadow:0 0 24px #ff4fa399}.part-hint{color:var(--ink-soft);font-size:calc(var(--u) * 1.7);margin:4px 0 0}.textcard{width:min(100%, calc(var(--u) * 90));background:var(--card);color:var(--card-ink);border-radius:calc(var(--u) * 1.8);padding:calc(var(--u) * 1.6) calc(var(--u) * 2.4);box-shadow:0 0 0 4px #ff8cc699,0 0 50px #ff4fa359}.line{font:600 calc(var(--u) * 4.2) var(--font-text);letter-spacing:.04em;white-space:pre;text-align:center;min-height:1.4em;overflow:hidden}.line-next{font:400 calc(var(--u) * 2) var(--font-text);letter-spacing:.06em;text-align:center;color:#a08bbf;min-height:1.4em;margin-top:calc(var(--u) * .6);white-space:pre;overflow:hidden}.ch{border-radius:.15em;padding:0 .02em;display:inline-block;position:relative}.ch.is-space{min-width:.55em}.ch.is-space:after{content:"";background:#c9b5e6;border-radius:50%;width:.14em;height:.14em;margin-left:-.07em;position:absolute;bottom:.32em;left:50%}.ch.is-done{color:#c4b2dd}.ch.is-done.is-space:after{opacity:.4}.ch.is-current{color:var(--card-ink);box-shadow:inset 0 -.12em 0 var(--pink);background:#ffd9ec}.ch.is-current.is-space:after{background:var(--pink);width:.2em;height:.2em;margin-left:-.1em}.ch.is-nudge{background:#ffe7a8;animation:.4s shake}.lesson-bottom{justify-items:center;gap:calc(var(--u) * .6);display:grid}.lesson .mascot{top:auto;bottom:calc(var(--u) * 1.5);right:calc(var(--u) * 2);flex-direction:column-reverse;align-items:flex-end}.lesson .mascot .cat{width:calc(var(--u) * 6)}.game-slot{width:min(100%, calc(var(--u) * 70))}.minigame h2{font-size:calc(var(--u) * 4);color:var(--pink-2)}.minigame p{font-size:calc(var(--u) * 2)}.banner{font:800 calc(var(--u) * 3.4) var(--font-head);padding:calc(var(--u) * 1.4) calc(var(--u) * 3);background:linear-gradient(135deg, var(--pink), var(--purple));white-space:nowrap;border-radius:999px;animation:.35s pop;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 60px #ff4fa399}@keyframes pop{0%{opacity:0;transform:translate(-50%,-50%)scale(.6)}}.overlay{background:#10061ebf;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.overlay-card{justify-items:center;gap:calc(var(--u) * .8);background:#26113f;max-width:640px;display:grid}.overlay-card h2{font-size:calc(var(--u) * 4.4);color:var(--pink-2)}.overlay-card p{font-size:calc(var(--u) * 2);margin:0}.overlay-card .small{font-size:calc(var(--u) * 1.5)}.newkey{min-width:calc(var(--u) * 10);height:calc(var(--u) * 10);padding:0 calc(var(--u) * 1.5);border-radius:calc(var(--u) * 2);font:800 calc(var(--u) * 6) var(--font-head);background:var(--fc);color:#fff;box-shadow:0 0 0 4px #fff, 0 0 50px var(--fc);place-items:center;animation:.5s pop-key;display:grid}@keyframes pop-key{0%{transform:scale(.3)rotate(-12deg)}}.review{width:min(100%, calc(var(--u) * 70))}.review-card{justify-items:center;gap:calc(var(--u) * 1);display:grid}.review-card h2{font-size:calc(var(--u) * 4.4)}.stars{gap:calc(var(--u) * 1.2);display:flex}.star svg{width:calc(var(--u) * 8);fill:#3b2560;stroke:#5b3a8a;stroke-width:1px;height:auto}.star.is-on svg{fill:var(--gold);stroke:#fff;filter:drop-shadow(0 0 14px #ffd166cc);animation:.5s both star-in;animation-delay:calc(var(--i) * .25s)}@keyframes star-in{0%{transform:scale(0)rotate(-90deg)}}.review-stats{gap:calc(var(--u) * .6);font-size:calc(var(--u) * 2);margin:0;padding:0;list-style:none;display:grid}.review-stats .big,.review-stats b{font:800 calc(var(--u) * 2.8) var(--font-head);color:var(--pink-2)}.review-empty{font-size:calc(var(--u) * 2)}.better{font:800 calc(var(--u) * 2.2) var(--font-head);background:var(--gold);border-radius:999px;margin:0;padding:4px 18px;color:var(--card-ink)!important}.review-new{font-size:calc(var(--u) * 1.9);margin:0}.keycap{background:var(--purple);color:#fff;border-radius:.3em;padding:0 .5em;font-weight:600;display:inline-block}.review-actions{gap:calc(var(--u) * 1.5);margin-top:calc(var(--u) * .8);display:flex}@media (prefers-reduced-motion:reduce){.ch.is-nudge{animation:.4s flash!important}}.figure{width:100%;height:auto;display:block;overflow:visible}.item-thumb{width:100%;height:100%;display:block;overflow:visible}.item-thumb.is-silhouette *{fill:#4a2f72!important;stroke:#4a2f72!important;fill-opacity:1!important;opacity:1!important}.map-top{padding:calc(var(--u) * 1.2) calc(var(--u) * 2.5);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;display:grid}.map-top>:first-child{justify-self:start}.map-top>:last-child{justify-self:end}.map-top-right{align-items:center;gap:calc(var(--u) * 1.6);display:flex}.map-logo{font-size:calc(var(--u) * 4.2);color:var(--pink-2);text-shadow:0 0 30px #ff4fa373}.artist{justify-items:start;line-height:1.15;display:grid}.artist-label{font-size:calc(var(--u) * 1.3);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.08em}.artist-name{font:800 calc(var(--u) * 2.6) var(--font-head);color:var(--pink-2);overflow-wrap:anywhere}.link-btn{cursor:pointer;color:var(--ink-soft);font:600 calc(var(--u) * 1.3) var(--font-text);background:0 0;border:0;padding:2px 0;text-decoration:underline}.link-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.map{grid-template-rows:auto 1fr auto;height:100dvh;display:grid;overflow:auto}.tour{padding:0 calc(var(--u) * 3);grid-template-rows:auto 1fr auto;min-height:0;display:grid}.tour-title{text-align:center;font-size:calc(var(--u) * 2.6);color:var(--ink)}.route{min-height:calc(var(--u) * 18);margin:calc(var(--u) * 2) calc(var(--u) * 4) calc(var(--u) * 3);position:relative}.route-line{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.route-line path{fill:none;stroke:#ff8cc68c;stroke-width:6px;stroke-dasharray:2 16;stroke-linecap:round;vector-effect:non-scaling-stroke}.station{left:var(--x);top:var(--y);color:var(--ink);font:inherit;background:0 0;border:0;justify-items:center;gap:4px;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}button.station{cursor:pointer}.station-dot{min-width:calc(var(--u) * 7);height:calc(var(--u) * 7);padding:0 calc(var(--u) * .8);background:linear-gradient(135deg, var(--pink), var(--purple));font:800 calc(var(--u) * 2) var(--font-head);border-radius:999px;justify-content:center;align-items:center;gap:4px;transition:transform .15s;display:flex;box-shadow:0 0 0 4px #ffffffd9,0 8px 24px #ff4fa373}.station.is-locked .station-dot{min-width:0;width:calc(var(--u) * 7);padding:0;position:relative}.station-dot .keycap{background:#ffffff38}button.station:hover .station-dot{transform:scale(1.08)}button.station:focus-visible .station-dot{outline:4px solid var(--gold);outline-offset:4px}.station.is-next .station-dot{animation:1.6s ease-in-out infinite glow}.station-label{font:800 calc(var(--u) * 1.5) var(--font-head)}.station.is-locked .station-dot{color:#7c62a3;background:#2f1a4d;box-shadow:0 0 0 3px #4a2f72}.station-lock{width:calc(var(--u) * 2.6);height:calc(var(--u) * 2.6);color:#c7b5e6;background:#4a2f72;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-4px;right:-4px}.station-lock svg{fill:currentColor;width:60%;height:60%}.station.is-locked .station-label{color:#8b74ad}.mini-stars{gap:2px;display:flex}.mini-stars svg{width:calc(var(--u) * 1.8);fill:#3b2560;stroke:#6a4a9a;stroke-width:1.5px;height:auto}.mini-stars .is-on svg{fill:var(--gold);stroke:#fff}.map-actions{justify-content:center;align-items:flex-end;gap:calc(var(--u) * 3);display:flex}.map-star{width:calc(var(--u) * 10);filter:drop-shadow(0 0 18px #ff4fa366)}.map-star[data-figure=pom]{transform:scaleX(-1)}.map-buttons{justify-items:center;gap:calc(var(--u) * 1);padding-bottom:calc(var(--u) * 2);display:grid}.worlds{padding:calc(var(--u) * 1) calc(var(--u) * 3) calc(var(--u) * 1.6)}.world-strip{gap:calc(var(--u) * .8);grid-template-columns:repeat(12,1fr);margin:0;padding:0;list-style:none;display:grid}.world{padding:calc(var(--u) * .6) 4px;border-radius:calc(var(--u) * 1.2);justify-items:center;gap:2px;display:grid}.world-n{font:800 calc(var(--u) * 2.4) var(--font-head);line-height:1}.world-name{font-size:calc(var(--u) * 1.15)}.world.is-open{background:linear-gradient(135deg, var(--pink), var(--purple));box-shadow:0 0 0 3px #fff}.world.is-soon{color:#6f5596;background:#241240;box-shadow:inset 0 0 0 2px #3a2360}.world.is-soon .world-n{color:#0000;-webkit-text-stroke:2px #5b3f86}.name-screen{height:100dvh;overflow:auto}.name-card{justify-items:center;gap:calc(var(--u) * .8);width:min(100%,720px);padding-block:calc(var(--u) * 1.8);display:grid}.name-card h1{font-size:calc(var(--u) * 3.6);color:var(--pink-2)}.name-card>p{font-size:calc(var(--u) * 1.8);margin:0}.name-stars{gap:12px;display:flex}.name-stars .figure{width:calc(var(--u) * 8)}.name-stars .figure-pom{transform:scaleX(-1)}.name-label{font:800 calc(var(--u) * 1.8) var(--font-head);margin-top:calc(var(--u) * .5)}.name-field{width:min(100%,480px);position:relative}.name-field input{width:100%;font:800 calc(var(--u) * 3) var(--font-head);text-align:center;padding:calc(var(--u) * .6) calc(var(--u) * 5) calc(var(--u) * .6) calc(var(--u) * 5);border:3px solid var(--pink-2);color:var(--card-ink);background:#fff;border-radius:999px}.name-field input:focus{outline:4px solid var(--gold);outline-offset:2px}.name-count{right:calc(var(--u) * 1.6);color:#8a78a8;font-size:calc(var(--u) * 1.4);position:absolute;top:50%;transform:translateY(-50%)}.name-count.is-full{color:var(--pink);font-weight:600}.name-ideas{font-size:calc(var(--u) * 1.5);color:var(--ink-soft);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.chip{font:600 calc(var(--u) * 1.5) var(--font-text);color:var(--ink);cursor:pointer;background:#ffffff14;border:2px solid #ff8cc680;border-radius:999px;padding:4px 14px}.chip:hover{background:#ff8cc633}.chip:focus-visible{outline:3px solid var(--gold)}.name-msg{min-height:1.5em;font:800 calc(var(--u) * 1.8) var(--font-head);margin:0;color:var(--gold)!important}.name-actions{gap:calc(var(--u) * 1.5);display:flex}.btn:disabled{opacity:.6;cursor:wait;transform:none}.is-shake{animation:.4s shake}.review-main{justify-items:center;gap:calc(var(--u) * 1);display:grid}.review:has(.has-items){width:min(100%, calc(var(--u) * 100))}.review-card.has-items{align-items:center;column-gap:calc(var(--u) * 3);grid-template-columns:minmax(0,1fr) auto}.review-card.has-items .review-actions{grid-column:1/-1;justify-self:center}.review-card.has-items .star svg{width:calc(var(--u) * 6.5)}.review-card.has-items .new-items-row{gap:calc(var(--u) * 1);flex-direction:column}.new-items{border:2px dashed var(--gold);border-radius:calc(var(--u) * 1.5);padding:calc(var(--u) * .8) calc(var(--u) * 2);background:#ffd1661f;justify-items:center;gap:6px;display:grid}.new-items h3{font:800 calc(var(--u) * 2.6) var(--font-head);color:var(--gold);margin:0}.new-items-row{gap:calc(var(--u) * 2);display:flex}.new-item{justify-items:center;gap:2px;display:grid}.new-item .item-thumb{width:calc(var(--u) * 8);height:calc(var(--u) * 6.5);animation:.6s pop-key}.new-item .item-name{font:800 calc(var(--u) * 1.8) var(--font-head)}.new-item .item-for{font-size:calc(var(--u) * 1.3);color:var(--ink-soft)}@media (width<=700px){.map-top{grid-template-columns:1fr auto}.map-top .map-logo{display:none}.world-strip{grid-template-columns:repeat(6,1fr)}.map-star{width:22vw}}.parent-link{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(10px + env(safe-area-inset-bottom,0px));opacity:.6;font-size:.85rem;position:fixed}.parent-link:hover,.parent-link:focus-visible{opacity:1}.wardrobe{grid-template-rows:auto 1fr;height:100dvh;display:grid;overflow:hidden}.wardrobe-body{gap:calc(var(--u) * 2.5);padding:0 calc(var(--u) * 2.5) calc(var(--u) * 2);grid-template-columns:minmax(0,5fr) minmax(0,6fr);min-height:0;display:grid}.dressing{justify-content:center;align-items:flex-end;gap:calc(var(--u) * 1);padding-bottom:calc(var(--u) * 4);display:flex;position:relative}.dress-star{z-index:1;justify-items:center;width:46%;margin:0;display:grid;position:relative}.dress-figure{filter:drop-shadow(0 0 22px #ff4fa359);width:100%}.dress-figure .item-layer{animation:.35s pop-key}.dress-star figcaption{font:800 calc(var(--u) * 2.2) var(--font-head);background:#ffffff1a;border-radius:999px;margin-top:4px;padding:2px 18px}.podium{left:4%;right:4%;bottom:calc(var(--u) * 1);height:calc(var(--u) * 9);background:radial-gradient(at 50% 30%,#ff8cc68c,#8b5cf640 60%,#0000 72%);border-radius:50%;position:absolute}.shelf{gap:calc(var(--u) * 1);grid-template-rows:auto auto 1fr;min-height:0;display:grid;position:relative}.tabs{gap:8px;display:flex}.tabs button{font:800 calc(var(--u) * 2) var(--font-head);color:var(--ink-soft);padding:calc(var(--u) * .4) calc(var(--u) * 2.4);cursor:pointer;background:#ffffff0f;border:2px solid #0000;border-radius:999px}.tabs button[aria-selected=true]{color:#fff;background:linear-gradient(135deg, var(--pink), var(--purple))}.tabs button:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.shelf-hint{color:var(--ink-soft);font-size:calc(var(--u) * 1.5);margin:0}.item-grid{gap:calc(var(--u) * 1.2);grid-template-columns:repeat(4,minmax(0,1fr));align-content:start;min-height:0;padding:6px;display:grid;overflow:auto}.item{padding:calc(var(--u) * 1) calc(var(--u) * .6);border-radius:calc(var(--u) * 1.4);color:var(--ink);font:inherit;text-align:center;background:#241040d9;border:2px solid #ff8cc659;align-content:start;justify-items:center;gap:2px;display:grid;position:relative}.item .item-thumb{width:80%;height:calc(var(--u) * 7)}.item-name{font:800 calc(var(--u) * 1.65) var(--font-head);line-height:1.1}.item-for{font-size:calc(var(--u) * 1.2);color:var(--ink-soft)}button.item{cursor:pointer;transition:transform .12s,border-color .12s}button.item:hover{border-color:var(--pink-2);transform:translateY(-3px)}button.item:focus-visible{outline:4px solid var(--gold);outline-offset:2px}.item.is-on{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold), 0 0 22px #ffd16666}.item-badge{font:800 calc(var(--u) * 1.2) var(--font-head);background:var(--gold);color:var(--card-ink);border-radius:999px;padding:0 10px;position:absolute;top:6px;right:6px}.item-key{min-width:1.8em;font:800 calc(var(--u) * 1.3) var(--font-head);background:var(--purple);color:#fff;border-radius:6px;padding:0 6px;position:absolute;top:6px;left:6px}.item.is-locked{background:#1c0c32cc;border-style:dashed;border-color:#4a2f72}.item.is-locked .item-name{color:#9b85c0}.item.is-locked .item-key{background:#4a2f72}.btn-buy{font-size:calc(var(--u) * 1.6);padding:calc(var(--u) * .3) calc(var(--u) * 1.6);margin-top:4px}.is-short .btn-buy{background:#3b2560;box-shadow:inset 0 0 0 2px #6a4a9a}.item-short{font-size:calc(var(--u) * 1.15);color:var(--gold)}.toast{z-index:5;width:max-content;max-width:100%;font:800 calc(var(--u) * 1.8) var(--font-head);color:var(--card-ink);background:#fff;border-radius:18px;margin:0;padding:10px 22px;animation:.3s pop-key;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000059}.toast[data-kind=ok]{background:var(--gold)}@media (width<=800px){.wardrobe{height:auto;min-height:100dvh;overflow:auto}.wardrobe-body{grid-template-columns:1fr}.item-grid{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}}.lesson[data-part=game] .lesson-body{align-content:stretch}.lesson[data-part=game] .game-slot{width:min(100%, calc(var(--u) * 120));height:100%;min-height:0;display:grid}.lesson[data-part=game] .mascot{display:none}.mg{border-radius:calc(var(--u) * 2);background:radial-gradient(at 50% 110%,#ff4fa359,#0000 60%),linear-gradient(#12051f 0%,#2a0f4a 70%,#3a1560 100%);grid-template-rows:auto 1fr auto;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ff8cc659,0 0 50px #8b5cf64d}.mg-head{text-align:center;padding:calc(var(--u) * 1) 16px 0;z-index:2;position:relative}.mg-title{font-size:calc(var(--u) * 3.2);color:#fff;text-shadow:0 0 24px #ff4fa3b3}.mg-hint{color:var(--ink-soft);font-size:calc(var(--u) * 1.6);margin:2px 0 0}.mg-sky{min-height:0;position:relative}.mg-notes{inset:calc(var(--u) * 1) 0 calc(var(--u) * 6);position:absolute}.mg-score{top:calc(var(--u) * .6);right:calc(var(--u) * 1.4);z-index:3;font:800 calc(var(--u) * 1.8) var(--font-head);padding:calc(var(--u) * .3) calc(var(--u) * 1.2);color:var(--ink);background:#ffffff1a;border-radius:999px;position:absolute}.mg-score b{color:var(--gold);font-size:1.3em}.mg-score-note{color:var(--pink-2)}.mg-beam{clip-path:polygon(45% 0,55% 0,100% 100%,0 100%);transform-origin:50% 0;pointer-events:none;background:linear-gradient(#ffffff29,#0000 85%);width:28%;height:120%;animation:7s ease-in-out infinite alternate mg-sweep;position:absolute;top:-10%}.mg-beam-1{--a:-14deg;--b:10deg;background:linear-gradient(#ff8cc64d,#0000 85%);left:4%}.mg-beam-2{--a:8deg;--b:-8deg;animation-duration:9s;left:36%}.mg-beam-3{--a:14deg;--b:-10deg;background:linear-gradient(#a45cff52,#0000 85%);animation-duration:8s;right:4%}@keyframes mg-sweep{0%{transform:rotate(var(--a))}to{transform:rotate(var(--b))}}.mg-note{width:calc(var(--u) * 7.4);height:calc(var(--u) * 7.4);background:radial-gradient(circle at 35% 30%, #fff, hsl(var(--hue) 95% 82%) 45%, hsl(var(--hue) 85% 62%));box-shadow:0 0 0 4px #fff, 0 0 30px hsl(var(--hue) 95% 70% / .9);color:var(--card-ink);will-change:transform;z-index:2;border-radius:50%;place-items:center;display:grid;position:absolute;top:0}.mg-note:after{content:"♪";font-size:calc(var(--u) * 2.4);color:#fff;text-shadow:0 0 8px hsl(var(--hue) 95% 70%);position:absolute;top:-.45em;right:-.35em}.mg-letter{font:800 calc(var(--u) * 4.4) var(--font-text);line-height:1;animation:1.4s ease-in-out infinite mg-bob;display:block}@keyframes mg-bob{50%{transform:translateY(-4px)rotate(-5deg)}}.mg-note.is-nudge .mg-letter{animation:.4s shake}.mg-note.is-nudge{box-shadow:0 0 0 5px var(--gold), 0 0 34px var(--gold)}.mg-note.is-caught{opacity:0;transition:opacity .45s,scale .45s;scale:1.6}.mg-note.is-drift{opacity:0;translate:0 calc(var(--u) * 3);transition:opacity .85s,translate .85s}.mg-sparkle{top:calc(var(--u) * 3.7);z-index:3;pointer-events:none;width:0;height:0;position:absolute}.mg-sparkle i{background:var(--gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px;animation:.7s ease-out forwards mg-burst;position:absolute;top:-6px;left:-6px}.mg-sparkle i:first-child{--dx:0;--dy:-60px}.mg-sparkle i:nth-child(2){--dx:52px;--dy:-30px;background:var(--pink-2)}.mg-sparkle i:nth-child(3){--dx:52px;--dy:30px}.mg-sparkle i:nth-child(4){--dx:0;--dy:60px;background:#c9a8ff}.mg-sparkle i:nth-child(5){--dx:-52px;--dy:30px}.mg-sparkle i:nth-child(6){--dx:-52px;--dy:-30px;background:var(--pink-2)}@keyframes mg-burst{0%{opacity:1;transform:translate(0)scale(.4)}to{transform:translate(var(--dx), var(--dy)) scale(1.4) rotate(90deg);opacity:0}}.mg-stage{height:calc(var(--u) * 13);justify-content:center;align-items:flex-end;gap:calc(var(--u) * 22);display:flex;position:relative}.mg-floor{height:calc(var(--u) * 3.4);background:linear-gradient(#ff8cc6,#8b5cf6);border-top:3px solid #fff;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -6px 30px #ff4fa399}.mg-dancer{z-index:1;margin-bottom:calc(var(--u) * 1.4);position:relative}.mg-dancer .figure{width:calc(var(--u) * 10);filter:drop-shadow(0 0 16px #ffffff40);height:auto;display:block}.mg-dancer.is-dancing{animation:.6s mg-dance}.mg-pom.is-dancing{animation-name:mg-dance-2}@keyframes mg-dance{30%{transform:translateY(-18px)rotate(-8deg)}65%{transform:translateY(-6px)rotate(6deg)}}@keyframes mg-dance-2{30%{transform:translateY(-18px)rotate(8deg)}65%{transform:translateY(-6px)rotate(-6deg)}}.mg-dancer.is-bowing{animation:1.2s .2s both mg-bow}@keyframes mg-bow{40%,70%{transform:rotate(0)translateY(6px)scaleY(.9)}}.mg-cheer{left:50%;bottom:calc(var(--u) * 5);font:800 calc(var(--u) * 2.6) var(--font-head);color:var(--gold);text-shadow:0 0 18px #ffd166b3;z-index:2;position:absolute;transform:translate(-50%)}.mg-end{z-index:5;background:#10061e8c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.mg-end-card{justify-items:center;gap:calc(var(--u) * .8);text-align:center;background:#26113f;animation:.45s pop-key;display:grid}.mg-end-card h2{font-size:calc(var(--u) * 5);color:var(--pink-2);text-shadow:0 0 24px #ff4fa399}.mg-end-count{font-size:calc(var(--u) * 2.2);margin:0}.mg-end-count b{font:800 calc(var(--u) * 3.2) var(--font-head);color:var(--gold)}.mg-end-sub{font-size:calc(var(--u) * 1.7);margin:0}.mg.is-over .mg-beam{animation-duration:2.5s}.mg.is-calm .mg-letter,.mg.is-calm .mg-beam{animation:none}.mg.is-calm .mg-dancer.is-dancing{filter:drop-shadow(0 0 18px var(--gold));animation:none}.mg.is-calm .mg-dancer.is-bowing{animation:none}.mg.is-calm .mg-sparkle i{animation-duration:.5s;--dx:0!important;--dy:0!important}.mg.is-calm .mg-note.is-drift{translate:none}.mg.is-calm .mg-note.is-nudge .mg-letter{animation:.4s flash}@media (prefers-reduced-motion:reduce){.mg-letter,.mg-beam,.mg-dancer.is-dancing,.mg-dancer.is-bowing{animation:none!important}.mg-note.is-nudge .mg-letter{animation:.4s flash!important}}.zg{border-radius:calc(var(--u) * 2);background:linear-gradient(#12051f 0%,#24093f 60%,#2f0f52 100%);grid-template-rows:auto 1fr;min-height:0;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 3px #ff8cc659,0 0 50px #8b5cf64d}.zg-defs{width:0;height:0;position:absolute;overflow:hidden}.zg-head{text-align:center;padding:calc(var(--u) * .9) 16px calc(var(--u) * .3);z-index:2;position:relative}.zg-title{font-size:calc(var(--u) * 3.2);color:#fff;text-shadow:0 0 24px #ff4fa3b3}.zg-hint{min-height:1.4em;color:var(--ink-soft);font-size:calc(var(--u) * 1.65);margin:2px 0 0}.zg-scene{isolation:isolate;min-height:0;position:relative;overflow:hidden}.zg-wall{z-index:0;background:radial-gradient(ellipse 34% 55% at 50% 62%, #ff4fa347, transparent 70%), radial-gradient(ellipse 30% 50% at 12% 20%, #8b5cf647, transparent 70%), radial-gradient(ellipse 30% 50% at 88% 20%, #ff4fa32e, transparent 70%), repeating-linear-gradient(90deg, #ffffff06 0 2px, transparent 2px calc(var(--u) * 6)), linear-gradient(180deg, #14051f 0%, #2a0d4a 65%, #3a1462 100%);position:absolute;inset:0}.zg-valance{height:calc(var(--u) * 2.5);z-index:3;pointer-events:none;background:linear-gradient(180deg, #4a1460, #7d2584) 0 0 / 100% calc(var(--u) * .7) no-repeat, radial-gradient(circle at 50% 0, #7d2584 calc(var(--u) * 1.75), #ffd166 calc(var(--u) * 1.8) calc(var(--u) * 2.05), transparent calc(var(--u) * 2.1)) 0 0 / calc(var(--u) * 4.2) 100% repeat-x;filter:drop-shadow(0 4px 8px #00000073);position:absolute;top:0;left:0;right:0}.zg-lights{left:0;top:calc(var(--u) * 1.2);width:100%;height:calc(var(--u) * 6.5);z-index:1;position:absolute}.zg-bulb{animation:3.2s ease-in-out infinite zg-twinkle;animation-delay:var(--d)}@keyframes zg-twinkle{50%{opacity:.55}}.zg-spot{top:0;left:50%;bottom:calc(var(--u) * 4);width:calc(var(--u) * 40);clip-path:polygon(44% 0,56% 0,90% 100%,10% 100%);z-index:1;pointer-events:none;background:linear-gradient(#ffffff05,#ffe2f221 55%,#ffc8e633);position:absolute;transform:translate(-50%)}.zg-neon{left:50%;bottom:calc(var(--u) * 9.6);width:calc(var(--u) * 17.5);z-index:1;filter:drop-shadow(0 0 3px #ff4fa3)drop-shadow(0 0 14px #ff4fa3bf);animation:5s ease-in-out infinite alternate zg-neon;position:absolute;transform:translate(-50%)}@keyframes zg-neon{0%{opacity:.72}to{opacity:1}}.zg-curtain{width:calc(var(--u) * 10.5);z-index:3;pointer-events:none;height:100%;position:absolute;top:0;bottom:0}.zg-curtain-l{left:0}.zg-curtain-r{right:0;transform:scaleX(-1)}.zg-floor{height:calc(var(--u) * 6.5);z-index:1;background:radial-gradient(40% 90% at 50% 0,#ff8cc64d,#0000 70%),linear-gradient(#2b0e4c,#160626);border-top:2px solid #ff8cc659;position:absolute;bottom:0;left:0;right:0}.zg-platform{left:50%;bottom:calc(var(--u) * .6);width:calc(var(--u) * 38);z-index:2;filter:drop-shadow(0 0 22px #ff4fa373);position:absolute;transform:translate(-50%)}.zg-lamp{animation:2.6s ease-in-out infinite zg-twinkle;animation-delay:var(--d)}.zg-speaker{left:calc(var(--u) * 13);bottom:calc(var(--u) * 1.2);width:calc(var(--u) * 8);z-index:2;position:absolute}.zg-speaker svg{filter:drop-shadow(0 8px 14px #00000073);width:100%;height:auto;display:block}.zg-cone{transform-box:fill-box;transform-origin:50%}.zg-speaker.is-thump .zg-cone-b{animation:.26s ease-out zg-thump}@keyframes zg-thump{35%{transform:scale(1.09)}}.zg-suki,.zg-mochi{z-index:4;position:absolute}.zg-suki{left:50%;bottom:calc(var(--u) * 5.6);width:calc(var(--u) * 14.5);transform:translate(-50%)}.zg-mochi{right:calc(var(--u) * 14);bottom:calc(var(--u) * 1.4);width:calc(var(--u) * 11)}.zg-body{transform-origin:50% 100%;animation:3.2s ease-in-out infinite zg-breathe}.zg-mochi .zg-body{animation:2.4s ease-in-out infinite zg-bob}@keyframes zg-breathe{50%{transform:translateY(calc(var(--u) * -.25)) scaleY(1.01)}}@keyframes zg-bob{50%{transform:translateY(calc(var(--u) * -.4)) rotate(1.5deg)}}.zg-figure{transform-origin:50% 92%;filter:drop-shadow(0 0 16px #ffffff38);width:100%;height:auto;transition:rotate .35s;display:block}.zg-mouth,.zg-waves{opacity:0;transition:opacity 80ms}.zg-waves{transform-box:view-box;transform-origin:150px 103px}.zg-suki.is-singing .zg-mouth,.zg-suki.is-jump .zg-mouth{opacity:1}.zg-suki.is-singing .zg-waves{opacity:.9;animation:.38s ease-out zg-waves}@keyframes zg-waves{0%{opacity:.2;transform:scale(.7)}}.zg-suki.is-singing .zg-figure{animation:.38s ease-out zg-sing}@keyframes zg-sing{40%{transform:translateY(calc(var(--u) * -.6)) scale(1.025, .985)}}.zg-suki.is-nod .zg-figure{animation:.42s zg-nod}@keyframes zg-nod{35%{transform:rotate(-3deg) translateY(calc(var(--u) * -.3))}70%{transform:rotate(2deg)}}.zg-suki.is-tilt .zg-figure{rotate:-9deg}.is-jump .zg-figure{animation:.9s cubic-bezier(.3,.7,.4,1) zg-jump}@keyframes zg-jump{0%{transform:none}15%{transform:scale(1.06,.9)}40%{transform:translateY(calc(var(--u) * -3.2)) scale(.96, 1.05) rotate(-4deg)}65%{transform:translateY(calc(var(--u) * -.4)) rotate(3deg)}80%{transform:scale(1.04,.95)}}.zg-mochi.is-hop .zg-figure{animation:.6s zg-hop}@keyframes zg-hop{40%{transform:translateY(calc(var(--u) * -1.2)) rotate(4deg)}}.zg-wave{transform-box:view-box;transform-origin:128px 170px;animation:2.4s ease-in-out infinite zg-wave}.zg-mochi.is-waving .zg-wave{animation-duration:.9s}@keyframes zg-wave{0%,40%,to{transform:rotate(0)}55%{transform:rotate(-16deg)}70%{transform:rotate(6deg)}85%{transform:rotate(-12deg)}}.zg-think{width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);color:var(--purple);font:800 calc(var(--u) * 2.4) / 1 var(--font-head);box-shadow:0 0 0 3px var(--pink-2), 0 6px 16px #00000059;opacity:0;pointer-events:none;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:-2%;left:-4%;transform:scale(.4)}.zg-think:after{content:"";width:26%;height:26%;box-shadow:0 0 0 2px var(--pink-2);background:#fff;border-radius:50%;position:absolute;bottom:-14%;right:2%}.zg-think.is-on{animation:1s both zg-think}@keyframes zg-think{20%,80%{opacity:1;transform:none}to{opacity:0;transform:scale(.9)}}.zg-hud{top:calc(var(--u) * 3);left:calc(var(--u) * 1.4);right:calc(var(--u) * 1.4);z-index:6;pointer-events:none;justify-content:space-between;align-items:flex-start;display:flex;position:absolute}.zg-level,.zg-score{align-items:center;gap:calc(var(--u) * .6);font:800 calc(var(--u) * 1.8) var(--font-head);padding:calc(var(--u) * .35) calc(var(--u) * 1.3);color:var(--ink);background:#12051fb8;border-radius:999px;display:inline-flex;box-shadow:0 0 0 2px #ff8cc673,0 6px 18px #00000059}.zg-level-label{color:var(--ink-soft)}.zg-level b,.zg-score b{color:var(--gold);font-size:1.35em;line-height:1}.zg-level.is-up{animation:.8s cubic-bezier(.22,1,.36,1) zg-up}@keyframes zg-up{30%{box-shadow:0 0 0 3px var(--gold), 0 0 26px #ffd166b3;transform:scale(1.22)rotate(-3deg)}}.zg-score-icon{color:var(--pink-2);display:inline-grid}.zg-score-icon svg{width:1.1em;height:1.1em}.zg-screen{left:50%;top:calc(var(--u) * 3.4);width:min(calc(100% - var(--u) * 30), calc(var(--u) * 80));padding:calc(var(--u) * 2.5) calc(var(--u) * 2) calc(var(--u) * 1.6);border-radius:calc(var(--u) * 2.4);box-shadow:0 0 0 3px var(--pink-2), 0 0 30px #ff4fa373, inset 0 0 30px #8b5cf659;z-index:5;background:radial-gradient(70% 120% at 50% 0,#8b5cf647,#0000 70%),linear-gradient(#1a0830eb,#2e0e52eb);transition:box-shadow .35s;position:absolute;transform:translate(-50%)}.zg-screen:before,.zg-screen:after{content:"";width:calc(var(--u) * .9);height:calc(var(--u) * .9);background:var(--pink-2);box-shadow:0 0 10px var(--pink);border-radius:50%;position:absolute;top:50%;transform:translateY(-50%)}.zg-screen:before{left:calc(var(--u) * .6)}.zg-screen:after{right:calc(var(--u) * .6)}.zg[data-phase=you] .zg-screen{box-shadow:0 0 0 3px var(--gold), 0 0 34px #ffd16673, inset 0 0 30px #ffd16626}.zg[data-phase=you] .zg-screen:before,.zg[data-phase=you] .zg-screen:after{background:var(--gold);box-shadow:0 0 10px var(--gold)}.zg-pill{padding:calc(var(--u) * .4) calc(var(--u) * 1.6);font:800 calc(var(--u) * 2.1) / 1.1 var(--font-head);white-space:nowrap;color:var(--card-ink);z-index:2;background:#d9c8ff;border-radius:999px;align-items:center;gap:.4em;display:inline-flex;position:absolute;top:0;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #fff,0 0 22px #c9a8ffb3}.zg-pill svg{width:1.05em;height:1.05em}.zg-pill.is-you{background:var(--gold);box-shadow:0 0 0 3px #fff,0 0 26px #ffd166cc}.zg-pill.is-oops{background:var(--pink-2);box-shadow:0 0 0 3px #fff,0 0 22px #ff8cc6b3}.zg-pill.is-party{background:linear-gradient(90deg, var(--gold), var(--pink-2));box-shadow:0 0 0 3px #fff,0 0 30px #ffd166e6}.zg-pill.is-pop{animation:.45s cubic-bezier(.22,1,.36,1) zg-pill}@keyframes zg-pill{0%{transform:translate(-50%,-50%)scale(.6)}}.zg-ribbon{left:calc(var(--u) * 1.5);right:calc(var(--u) * 1.5);width:calc(100% - var(--u) * 3);height:calc(var(--u) * 6);opacity:.6;pointer-events:none;position:absolute;top:52%;transform:translateY(-50%)}.zg-ribbon path{animation:6s linear infinite zg-flow}@keyframes zg-flow{to{stroke-dashoffset:-280px}}.zg-bubbles{--gap:calc(var(--u) * 1.3);justify-content:center;align-items:center;gap:var(--gap);min-height:calc(var(--u) * 9.4);display:flex;position:relative;container-type:inline-size}.zg-bubble{--b:min(calc(var(--u) * 8.2), calc((100cqi - (var(--n) - 1) * var(--gap)) / var(--slots)));width:var(--b);height:var(--b);translate:0 var(--wy,0);flex:none;position:relative}.zg-bubble:nth-child(odd){--wy:calc(var(--u) * -.45)}.zg-bubble:nth-child(2n){--wy:calc(var(--u) * .45)}.zg-bubble.is-space{width:calc(var(--b) * 1.6)}.zg-b-face{background:#ffffff0a;border:3px dashed #ffffff47;border-radius:999px;place-items:center;transition:background .25s,box-shadow .25s,border-color .25s;display:grid;position:absolute;inset:0;overflow:hidden}.zg-b-face>*{grid-area:1/1}.zg-b-letter{font:800 calc(var(--b) * .5) / 1 var(--font-text);color:#fff;text-shadow:0 2px #22103d59;opacity:0;transition:opacity .2s,transform .3s cubic-bezier(.22,1,.36,1);position:relative;transform:scale(.5)}.zg-bubble.is-space .zg-b-letter{font-size:calc(var(--b) * .3);font-weight:700}.zg-b-note{width:calc(var(--b) * .36);color:#8c74c4;opacity:0;transition:opacity .25s;display:grid;position:relative}.zg-b-note svg{width:100%;height:auto}.zg-bubble.is-sung .zg-b-face,.zg-bubble.is-lit .zg-b-face{background:radial-gradient(circle at 30% 25%, #ffffffd9 0 7%, transparent 8%), radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--fc) 40%, #fff), var(--fc) 72%, color-mix(in srgb, var(--fc) 70%, #12051f));box-shadow:0 0 0 4px #fff, 0 0 28px var(--fc), inset 0 -.4em .8em #0000002e;border:0}.zg-bubble.is-sung .zg-b-letter,.zg-bubble.is-lit .zg-b-letter,.zg-bubble.is-help .zg-b-letter{opacity:1;transform:none}.zg-bubble.is-sung,.zg-bubble.is-pop{animation:.45s cubic-bezier(.22,1,.36,1) zg-pop}@keyframes zg-pop{0%{transform:scale(.3)}60%{transform:scale(1.14)}}.zg-bubble.is-hidden .zg-b-face{background:radial-gradient(circle at 30% 25%,#fffffff2 0 7%,#0000 8%),radial-gradient(circle at 50% 42%,#f7f1ff,#c4b0ee 70%,#9d86d4);border:0;box-shadow:0 0 0 4px #ffffffd9,0 0 18px #c9a8ff8c}.zg-bubble.is-hidden .zg-b-face:before{content:"";animation:2.8s ease-in-out infinite zg-shimmer;animation-delay:calc(var(--i) * .2s);background:linear-gradient(105deg,#0000 38%,#fffc 50%,#0000 62%);position:absolute;inset:-30%;transform:translate(-110%)}@keyframes zg-shimmer{55%,to{transform:translate(110%)}}.zg-bubble.is-hidden:not(.is-help) .zg-b-note{opacity:.6}.zg-bubble.is-help .zg-b-letter{color:#5b3a8a;text-shadow:none;opacity:.85}.zg-bubble.is-help .zg-b-face{outline:3px dashed var(--gold);outline-offset:5px}.zg-bubble.is-help{animation:.45s zg-pop}.zg-bubble.is-now{z-index:1}.zg-bubble.is-now .zg-b-face{box-shadow:0 0 0 4px var(--gold), 0 0 26px #ffd166d9;animation:1.4s ease-in-out infinite zg-now}@keyframes zg-now{50%{transform:scale(1.06)}}.zg-bubble.is-now:after{content:"";left:50%;bottom:calc(100% + var(--u) * .5);border:calc(var(--u) * .75) solid transparent;border-top-color:var(--gold);filter:drop-shadow(0 0 6px #ffd166cc);animation:1.4s ease-in-out infinite zg-arrow;position:absolute;transform:translate(-50%)}@keyframes zg-arrow{50%{transform:translate(-50%, calc(var(--u) * -.4))}}.zg-bubble.is-shake .zg-b-face{animation:.45s zg-shake}@keyframes zg-shake{20%{transform:translate(-7px)rotate(-4deg)}40%{transform:translate(7px)rotate(4deg)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.zg-bubble.is-party{animation:.55s both zg-cheer;animation-delay:calc(var(--i) * .15s)}@keyframes zg-cheer{45%{transform:translateY(calc(var(--u) * -1.2)) scale(1.16);filter:brightness(1.2)}}.zg-toast{padding:calc(var(--u) * .35) calc(var(--u) * 1.4);color:var(--card-ink);font:800 calc(var(--u) * 1.7) var(--font-head);box-shadow:0 0 0 3px var(--pink-2), 0 6px 18px #00000059;white-space:nowrap;opacity:0;pointer-events:none;z-index:2;background:#fff;border-radius:999px;transition:opacity .2s,transform .25s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:50%;transform:translate(-50%,50%)scale(.8)}.zg-toast:empty{display:none}.zg-toast.is-on{opacity:1;transform:translate(-50%,50%)}.zg-fx{z-index:7;pointer-events:none;position:absolute;inset:0}.zg-fly,.zg-heart,.zg-spark{will-change:transform, opacity;position:absolute;top:0;left:0}.zg-fly{width:calc(var(--u) * 3);height:calc(var(--u) * 3);margin:calc(var(--u) * -1.5) 0 0 calc(var(--u) * -1.5);color:#ffe7f3;filter:drop-shadow(0 0 8px #ff4fa3)}.zg-heart,.zg-spark{width:calc(var(--u) * 3);height:calc(var(--u) * 3);margin:calc(var(--u) * -1.5) 0 0 calc(var(--u) * -1.5);color:hsl(var(--h) 100% 70%);filter:drop-shadow(0 0 8px hsl(var(--h) 100% 62%))}.zg-heart path,.zg-spark path{stroke:#fff;stroke-width:1.6px;stroke-linejoin:round}.zg-spark{color:var(--gold);width:calc(var(--u) * 2.4);height:calc(var(--u) * 2.4);margin:calc(var(--u) * -1.2) 0 0 calc(var(--u) * -1.2)}.zg-fly svg,.zg-heart svg,.zg-spark svg{width:100%;height:100%;display:block}.zg-end{z-index:10;background:#10061e8c;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.zg-end-card{justify-items:center;gap:calc(var(--u) * .8);text-align:center;max-width:calc(var(--u) * 60);background:#26113f;animation:.45s zg-pop;display:grid}.zg-end-card h2{font-size:calc(var(--u) * 5);color:var(--pink-2);text-shadow:0 0 24px #ff4fa399}.zg-end-count{font-size:calc(var(--u) * 2.2);margin:0}.zg-end-count b{font:800 calc(var(--u) * 3.2) var(--font-head);color:var(--gold)}.zg-end-sub{font-size:calc(var(--u) * 1.7);margin:0}.zg.is-over .zg-bubble{opacity:.5}.zg.is-calm .zg-body,.zg.is-calm .zg-bulb,.zg.is-calm .zg-lamp,.zg.is-calm .zg-neon,.zg.is-calm .zg-wave,.zg.is-calm .zg-ribbon path,.zg.is-calm .zg-bubble.is-hidden .zg-b-face:before,.zg.is-calm .zg-bubble.is-now .zg-b-face,.zg.is-calm .zg-bubble.is-now:after,.zg.is-calm .zg-bubble.is-party,.zg.is-calm .zg-bubble.is-sung,.zg.is-calm .zg-bubble.is-pop,.zg.is-calm .zg-bubble.is-help,.zg.is-calm .zg-speaker .zg-cone-b,.zg.is-calm .zg-figure,.zg.is-calm .zg-waves,.zg.is-calm .zg-level.is-up,.zg.is-calm .zg-pill.is-pop{animation:none!important}.zg.is-calm .zg-bubble.is-hidden .zg-b-face:before{opacity:.25;transform:none}.zg.is-calm .zg-bubble.is-shake .zg-b-face{animation:.6s zg-soft!important}.zg.is-calm .zg-figure{transition:rotate .6s}.zg.is-calm .zg-suki.is-tilt .zg-figure{rotate:-5deg}.zg.is-calm .zg-b-letter{transition:opacity .35s;transform:none}@keyframes zg-soft{50%{box-shadow:0 0 0 5px var(--pink-2), 0 0 24px var(--pink-2)}}@media (prefers-reduced-motion:reduce){.zg-body,.zg-bulb,.zg-lamp,.zg-neon,.zg-wave,.zg-ribbon path,.zg-figure,.zg-waves,.zg-bubble,.zg-bubble:after,.zg-b-face:before,.zg-cone{animation:none!important}.zg-bubble.is-shake .zg-b-face{animation:.6s zg-soft!important}}.rn{--ground:20.4%;border-radius:calc(var(--u) * 2);isolation:isolate;-webkit-user-select:none;user-select:none;background:#12051f;width:100%;height:100%;min-height:0;position:relative;overflow:hidden;box-shadow:0 0 50px #8b5cf64d}.rn>*{position:absolute}.rn-sky{background:radial-gradient(70% 30% at 30% 78%,#ffbe8273,#0000 70%),linear-gradient(#24104f 0%,#4b1d7d 30%,#9a3487 58%,#f0687f 80%,#ffa77d 100%);inset:0}.rn-sky-night{opacity:0;will-change:opacity;background:radial-gradient(60% 35% at 50% 82%,#ff4fa34d,#0000 70%),linear-gradient(#05021a 0%,#110638 38%,#26104f 66%,#4a1a6e 100%)}.rn-stars{opacity:.25;will-change:opacity;width:100%;height:64%;top:0;left:0}.rn-stars svg{width:100%;height:100%;position:absolute;inset:0}.rn-tw{animation:3.6s ease-in-out infinite rn-twinkle}.rn-tw-2{animation-delay:-1.8s}@keyframes rn-twinkle{50%{opacity:.15}}.rn-moon{width:calc(var(--u) * 12);height:calc(var(--u) * 12);will-change:transform;top:5%;left:57%}.rn-moon svg{width:100%;height:100%;display:block}.rn-strip{will-change:transform;pointer-events:none;left:0}.rn-strip svg{height:100%;display:block}.rn-far{opacity:.85;height:46%;bottom:27%}.rn-mid{height:41%;bottom:16%}.rn-floor{height:22%;bottom:0}.rn-horizon{pointer-events:none;background:linear-gradient(#0000,#ff4fa359);height:5%;bottom:21%;left:0;right:0}.rn-speed{opacity:0;pointer-events:none;inset:26% 0 24%}.rn-speed i{background:linear-gradient(90deg,#0000,#ffecfab3 70%,#0000);border-radius:4px;width:12%;height:4px;animation:.5s linear infinite rn-streak;position:absolute;right:-12%}.rn-speed i:first-child{animation-delay:-.1s;top:6%}.rn-speed i:nth-child(2){width:8%;animation-delay:-.35s;top:24%}.rn-speed i:nth-child(3){animation-delay:-.2s;top:41%}.rn-speed i:nth-child(4){width:15%;animation-delay:-.42s;top:58%}.rn-speed i:nth-child(5){width:9%;animation-delay:-.05s;top:74%}.rn-speed i:nth-child(6){animation-delay:-.28s;top:90%}@keyframes rn-streak{to{transform:translate(-1100%)}}.rn-world{left:0;bottom:var(--ground);width:100%;height:0}.rn-world>*{will-change:transform;position:absolute;bottom:0;left:0}.rn-ob{width:calc(var(--u) * 9);height:calc(var(--u) * 9);margin-left:calc(var(--u) * -4.5)}.rn-prop{width:100%;height:100%;filter:drop-shadow(0 calc(var(--u) * .4) calc(var(--u) * .5) #00000073);position:absolute;bottom:0;left:0;overflow:visible}.rn-prop-3 .rn-prop{height:112%}.rn-prop-5 .rn-prop{width:118%;left:-9%}.rn-ob.is-gone>*{animation:.55s forwards rn-gone}@keyframes rn-gone{to{opacity:0;transform:translateY(calc(var(--u) * 2)) scale(.6)}}.rn-sign{left:50%;bottom:calc(100% + var(--u) * 3);animation:2.6s ease-in-out infinite rn-bob;animation-delay:calc(var(--d) * -1);z-index:2;position:absolute;transform:translate(-50%)}@keyframes rn-bob{50%{translate:0 calc(var(--u) * -.6)}}.rn-sign-shake{perspective:calc(var(--u) * 40);opacity:.62;transform-origin:50% 100%;transition:scale .3s cubic-bezier(.22,1,.36,1),opacity .3s;scale:.78}.rn-sign.is-active .rn-sign-shake,.rn-sign.is-cleared .rn-sign-shake{opacity:1;scale:1}.rn-sign.is-shake .rn-sign-shake{animation:.4s rn-shake}@keyframes rn-shake{20%,60%{transform:translateX(calc(var(--u) * -.7)) rotate(-2deg)}40%,80%{transform:translateX(calc(var(--u) * .7)) rotate(2deg)}}.rn-sign-card{transform-style:preserve-3d;transition:transform .5s cubic-bezier(.22,1,.36,1);position:relative}.rn-sign.is-cleared .rn-sign-card{transform:rotateY(180deg)}.rn-sign-front{padding:calc(var(--u) * .5) calc(var(--u) * 1.3) calc(var(--u) * .75);color:var(--card-ink);border-radius:calc(var(--u) * 1.4);font:800 calc(var(--u) * 4.4) var(--font-text);white-space:nowrap;box-shadow:0 0 0 calc(var(--u) * .35) #b99cf0, 0 calc(var(--u) * .6) calc(var(--u) * 1.4) #0006;backface-visibility:hidden;background:#fff8fc;line-height:1.05;transition:box-shadow .3s;display:flex}.rn-sign.is-active .rn-sign-front{box-shadow:0 0 0 calc(var(--u) * .45) var(--pink), 0 0 0 calc(var(--u) * .85) #fff, 0 0 calc(var(--u) * 3) #ff4fa3d9}.rn.is-wait .rn-sign.is-active .rn-sign-front{animation:1.4s ease-in-out infinite rn-call}@keyframes rn-call{50%{box-shadow:0 0 0 calc(var(--u) * .45) var(--gold), 0 0 0 calc(var(--u) * .85) #fff, 0 0 calc(var(--u) * 4) #ffd166e6}}.rn-sign.is-shake .rn-sign-front{box-shadow:0 0 0 calc(var(--u) * .45) var(--gold), 0 0 0 calc(var(--u) * .85) #fff, 0 0 calc(var(--u) * 3) #ffd166e6}.rn-ch{text-align:center;min-width:.56em;display:inline-block;position:relative}.rn-ch.is-done{color:#e8338f;animation:.28s cubic-bezier(.22,1,.36,1) rn-letter}@keyframes rn-letter{40%{transform:translateY(-.12em)scale(1.25)}}.rn-ch.is-cur:after{content:"";background:var(--pink);border-radius:99px;height:.13em;animation:1.2s ease-in-out infinite rn-cursor;position:absolute;bottom:-.1em;left:10%;right:10%}.rn-sign:not(.is-active) .rn-ch.is-cur:after{display:none}@keyframes rn-cursor{50%{opacity:.35;transform:scaleX(.7)}}.rn-sign-back{backface-visibility:hidden;place-items:center;display:grid;position:absolute;inset:-18% 0;transform:rotateY(180deg)}.rn-sign-back svg{aspect-ratio:1;width:auto;height:100%;filter:drop-shadow(0 0 calc(var(--u) * 1.2) #ffd166e6);overflow:visible}.rn-sign-tail{left:50%;bottom:calc(var(--u) * -1.1);width:calc(var(--u) * 2.2);height:calc(var(--u) * 1.3);clip-path:polygon(0 0,100% 0,50% 100%);background:#fff8fc;transition:opacity .2s;position:absolute;translate:-50%}.rn-sign.is-cleared .rn-sign-tail{opacity:0}.rn-sign.is-got{opacity:0;transition:opacity .15s}.rn-pick{width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);margin:0 0 calc(var(--u) * -1.8) calc(var(--u) * -1.8)}.rn-pick svg{width:100%;height:100%;filter:drop-shadow(0 0 calc(var(--u) * .7) #ff8cc6e6);animation:1.6s ease-in-out infinite rn-float;animation-delay:calc(var(--d) * -1);display:block;overflow:visible}@keyframes rn-float{50%{transform:translateY(calc(var(--u) * -.6)) rotate(8deg)}}.rn-pick.is-got svg{animation:.4s ease-out forwards rn-got}@keyframes rn-got{to{opacity:0;transform:scale(2)}}.rn-hall{width:calc(var(--u) * 33);margin-left:calc(var(--u) * -16.5)}.rn-hall svg{width:100%;height:auto;filter:drop-shadow(0 0 calc(var(--u) * 2) #8b5cf680);display:block;overflow:visible}.rn-bulb{fill:#6b4a8a}.rn-hall.is-lit .rn-bulb{fill:var(--gold);animation:1.2s ease-in-out infinite rn-bulb;animation-delay:calc(var(--i) * -.4s)}@keyframes rn-bulb{50%{fill:#fff6d6}}.rn-hall-name{fill:#7a4a9a;transition:fill .4s}.rn-hall.is-lit .rn-hall-name{fill:var(--pink-2)}.rn-hall-glow{opacity:0;transition:opacity .6s}.rn-hall.is-lit .rn-hall-glow{opacity:1}.rn-hall-beams{opacity:0;transition:opacity .8s}.rn-hall.is-lit .rn-hall-beams{opacity:1}.rn-beam{transform-box:fill-box;transform-origin:50% 100%;animation:3s ease-in-out infinite alternate rn-sweep}.rn-beam-1{--a:-14deg;--b:10deg}.rn-beam-2{--a:12deg;--b:-10deg;animation-duration:3.6s}@keyframes rn-sweep{0%{transform:rotate(var(--a))}to{transform:rotate(var(--b))}}.rn-hall.is-lit .rn-hall-heart{fill:#ff8cc6}.rn-shadow{left:22%;bottom:calc(var(--ground) - var(--u) * .8);width:calc(var(--u) * 8);height:calc(var(--u) * 1.6);will-change:transform, opacity;background:radial-gradient(closest-side,#0a021499,#0000);border-radius:50%;transform:translate(-50%)}.rn-mochi{left:22%;bottom:calc(var(--ground) - var(--u) * .3);width:calc(var(--u) * 10.5);margin-left:calc(var(--u) * -5.25);transform-origin:50% 100%;will-change:transform}.rn-mochi-fig{transform-origin:50% 60%;will-change:transform}.rn-mochi-fig .figure{filter:drop-shadow(0 0 calc(var(--u) * 1.2) #ffc88c59)}.rn-mochi-fig .figure ellipse[cy="226"]{transform-box:fill-box}.rn-think{right:calc(var(--u) * -2.8);top:calc(var(--u) * -2.6);width:calc(var(--u) * 4.8);height:calc(var(--u) * 4.8);color:var(--purple);font:800 calc(var(--u) * 3.6) var(--font-head);box-shadow:0 0 0 calc(var(--u) * .3) var(--pink-2), 0 calc(var(--u) * .5) calc(var(--u) * 1.2) #00000059;opacity:0;background:#fff;border-radius:50%;place-items:center;line-height:1;transition:scale .3s cubic-bezier(.22,1,.36,1),opacity .2s;display:grid;position:absolute;scale:0}.rn-think:after{content:"";left:calc(var(--u) * -.2);bottom:calc(var(--u) * -.6);width:calc(var(--u) * 1.4);height:calc(var(--u) * 1.4);box-shadow:0 0 0 calc(var(--u) * .25) var(--pink-2);background:#fff;border-radius:50%;position:absolute}.rn.is-wait .rn-think{opacity:1;animation:1.8s ease-in-out infinite rn-wonder;scale:1}@keyframes rn-wonder{50%{rotate:12deg;translate:0 calc(var(--u) * -.4)}}.rn-fx{left:0;bottom:var(--ground);z-index:1;pointer-events:none;width:0;height:0}.rn-p{width:calc(var(--u) * 1.5);height:calc(var(--u) * 1.5);margin:calc(var(--u) * -.75);opacity:0;will-change:transform, opacity;position:absolute;top:0;left:0}.rn-p-spark{background:var(--c);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.rn-p-dust{width:calc(var(--u) * 2.6);height:calc(var(--u) * 2.6);margin:calc(var(--u) * -1.3);background:radial-gradient(closest-side,#ffe6f8bf,#ffe6f800);border-radius:50%}.rn-p-confetti{width:calc(var(--u) * 1);height:calc(var(--u) * 1.7);border-radius:calc(var(--u) * .2);background:var(--c)}.rn-score{top:calc(var(--u) * 1.3);left:calc(var(--u) * 1.4);z-index:3;align-items:center;gap:calc(var(--u) * .5);font:800 calc(var(--u) * 2) var(--font-head);padding:calc(var(--u) * .35) calc(var(--u) * 1.4) calc(var(--u) * .35) calc(var(--u) * .8);color:var(--ink);background:#12051f99;border-radius:999px;display:flex;box-shadow:inset 0 0 0 2px #ff8cc673}.rn-score svg{width:calc(var(--u) * 2.8);height:calc(var(--u) * 2.8)}.rn-score b{color:var(--gold);font-size:1.35em;line-height:1}.rn-score.is-bump{animation:.4s cubic-bezier(.22,1,.36,1) rn-bump}@keyframes rn-bump{40%{transform:scale(1.18)}}.rn-hint{top:calc(var(--u) * 1.5);z-index:3;font:600 calc(var(--u) * 1.7) var(--font-text);white-space:nowrap;padding:calc(var(--u) * .5) calc(var(--u) * 1.6);color:var(--ink);background:#12051f99;border-radius:999px;margin:0;transition:opacity .6s;left:50%;transform:translate(-50%)}.rn-hint.is-gone{opacity:0}.rn-suki{top:calc(var(--u) * 1.6);right:calc(var(--u) * 1.8);width:calc(var(--u) * 14);z-index:3}.rn-suki:before,.rn-suki:after{content:"";width:3px;height:calc(var(--u) * 3);background:#3b1a66;position:absolute;bottom:100%}.rn-suki:before{left:22%}.rn-suki:after{right:22%}.rn-suki-screen{aspect-ratio:4/3;border-radius:calc(var(--u) * 1.3);width:100%;box-shadow:0 0 0 calc(var(--u) * .4) var(--pink-2), 0 0 0 calc(var(--u) * .8) #2a1250, 0 0 calc(var(--u) * 2.6) #ff4fa38c;background:radial-gradient(circle at 50% 115%,#ff4fa3f2,#0000 55%),radial-gradient(circle at 20% 10%,#7fe9ff59,#0000 40%),linear-gradient(#2a0f55,#4b1d7d);transition:box-shadow .3s;position:relative;overflow:hidden}.rn-suki-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#ffffff0f 0 2px,#0000 2px 5px);position:absolute;inset:0}.rn-suki-fig{left:50%;bottom:calc(var(--u) * -4.4);width:calc(var(--u) * 11);margin-left:calc(var(--u) * -5.5);transform-origin:50% 100%;animation:3s ease-in-out infinite rn-sway;position:absolute}@keyframes rn-sway{50%{transform:rotate(-4deg) translateY(calc(var(--u) * .3))}}.rn-suki.is-cheer .rn-suki-screen{box-shadow:0 0 0 calc(var(--u) * .4) var(--gold), 0 0 0 calc(var(--u) * .8) #2a1250, 0 0 calc(var(--u) * 3.4) #ffd166cc}.rn-suki.is-cheer .rn-suki-fig{animation:.55s 3 rn-suki-jump}@keyframes rn-suki-jump{40%{transform:translateY(calc(var(--u) * -2.4)) rotate(6deg)}70%{transform:translateY(calc(var(--u) * -.6)) rotate(-4deg)}}.rn-suki-say{right:calc(100% + var(--u) * 1.2);top:calc(var(--u) * 2.4);padding:calc(var(--u) * .4) calc(var(--u) * 1.3);border-radius:calc(var(--u) * 1.4);color:var(--card-ink);font:800 calc(var(--u) * 2.1) var(--font-head);white-space:nowrap;box-shadow:0 0 0 calc(var(--u) * .3) var(--gold), 0 calc(var(--u) * .5) calc(var(--u) * 1.4) #00000059;transform-origin:100%;opacity:0;background:#fff;transition:scale .35s cubic-bezier(.22,1,.36,1),opacity .25s;position:absolute;scale:0}.rn-suki-say:empty{display:none}.rn-suki-say:after{content:"";border:calc(var(--u) * .7) solid transparent;border-left-color:#fff;position:absolute;top:50%;left:100%;translate:-2px -50%}.rn-suki.is-cheer .rn-suki-say{opacity:1;scale:1}.rn-frame{z-index:4;border-radius:inherit;pointer-events:none;inset:0;box-shadow:inset 0 0 0 3px #ff8cc659}.rn-fly{z-index:5;pointer-events:none;will-change:transform}.rn-fly svg{filter:drop-shadow(0 0 10px #ffd166e6);width:100%;height:100%;display:block;overflow:visible}.rn-sky,.rn-stars,.rn-moon,.rn-strip,.rn-speed,.rn-horizon,.rn-world,.rn-shadow,.rn-mochi{z-index:0}.rn-fx{z-index:1}.rn-end{z-index:6;background:linear-gradient(90deg,#10061e99,#10061e26 60%,#0000);place-items:center start;padding:16px 16px 16px 7%;display:grid;inset:0}.rn-end-card{justify-items:center;gap:calc(var(--u) * .8);text-align:center;background:#26113f;animation:.5s cubic-bezier(.22,1,.36,1) rn-card;display:grid}@keyframes rn-card{0%{opacity:0;transform:scale(.6)rotate(-4deg)}}.rn-end-card h2{font-size:calc(var(--u) * 5);color:var(--pink-2);text-shadow:0 0 24px #ff4fa399}.rn-end-count{font-size:calc(var(--u) * 2.2);max-width:calc(var(--u) * 46);margin:0}.rn-end-count b{font:800 calc(var(--u) * 3.4) var(--font-head);color:var(--gold)}.rn-end-sub{font-size:calc(var(--u) * 1.7);margin:0}.rn.is-calm .rn-sign,.rn.is-calm .rn-tw,.rn.is-calm .rn-pick svg,.rn.is-calm .rn-suki-fig,.rn.is-calm .rn-beam,.rn.is-calm .rn-think,.rn.is-calm .rn-ch.is-done{animation:none}.rn.is-calm .rn-speed{display:none}.rn.is-calm .rn-sign.is-shake .rn-sign-shake,.rn.is-calm .rn-suki.is-cheer .rn-suki-fig{animation:none}@media (prefers-reduced-motion:reduce){.rn-sign,.rn-tw,.rn-pick svg,.rn-suki-fig,.rn-beam,.rn-think,.rn-speed i,.rn-sign.is-shake .rn-sign-shake{animation:none!important}}.db{--r:calc(var(--u) * 2 - 3px);border-radius:calc(var(--u) * 2);isolation:isolate;background:radial-gradient(60% 50% at 50% 30%,#8b5cf647,#0000 70%),linear-gradient(#0e0419 0%,#1d0936 55%,#2a0f4a 100%);border:3px solid #ff8cc659;grid-template-rows:auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid;position:relative;box-shadow:0 0 50px #8b5cf64d}.db-head{justify-content:space-between;align-items:center;gap:calc(var(--u) * 2);padding:calc(var(--u) * .8) calc(var(--u) * 1.8) calc(var(--u) * .5);z-index:10;border-radius:var(--r) var(--r) 0 0;background:linear-gradient(#0e0419e6,#0e041900);display:flex;position:relative}.db-title{font-size:calc(var(--u) * 3.1);color:#fff;text-shadow:0 0 22px #ff4fa3bf,0 0 2px #fff;letter-spacing:.01em}.db-hint{color:var(--ink-soft);font-size:calc(var(--u) * 1.55);margin:0}.db-hud{align-items:center;gap:calc(var(--u) * 1);display:flex}.db-score,.db-combo{align-items:center;gap:calc(var(--u) * .5);font:800 calc(var(--u) * 1.7) var(--font-head);padding:calc(var(--u) * .35) calc(var(--u) * 1.3);color:var(--ink);white-space:nowrap;background:#ffffff14;border-radius:999px;display:flex;box-shadow:inset 0 0 0 2px #ffffff1f}.db-score b,.db-combo b{color:var(--gold);text-align:center;min-width:1.1ch;font-size:1.45em;line-height:1}.db-score-note{color:var(--pink-2);font-size:1.2em}.db-combo-label{color:var(--ink-soft);font-size:.85em}.db-meter{gap:calc(var(--u) * .25);margin-left:calc(var(--u) * .3);display:flex}.db-meter i{width:calc(var(--u) * .75);height:calc(var(--u) * 1.5);background-color:#ffffff24;border-radius:999px}.db-meter i.is-on{background-image:linear-gradient(180deg, var(--gold), var(--pink));box-shadow:0 0 8px #ff4fa3b3}.db.is-fever .db-meter i{background-image:none;box-shadow:0 0 8px #ffd16699}.db-combo.is-hot{box-shadow:inset 0 0 0 2px #ffd16699,0 0 18px #ffd16659}.db.is-fever .db-combo{box-shadow:inset 0 0 0 2px var(--gold), 0 0 26px #ffd16699}.db.is-fever .db-meter i:nth-child(8n+1){background-color:#ff4fa3}.db.is-fever .db-meter i:nth-child(8n+2){background-color:#ff8a3d}.db.is-fever .db-meter i:nth-child(8n+3){background-color:#ffd166}.db.is-fever .db-meter i:nth-child(8n+4){background-color:#2ed47a}.db.is-fever .db-meter i:nth-child(8n+5){background-color:#3dd6ff}.db.is-fever .db-meter i:nth-child(8n+6){background-color:#3d9bff}.db.is-fever .db-meter i:nth-child(8n+7){background-color:#a45cff}.db.is-fever .db-meter i:nth-child(8n+8){background-color:#ff6fd8}.db-stage{min-height:0;position:relative;overflow:hidden;container-type:size}.db-glow{z-index:0;pointer-events:none;background:radial-gradient(34% 46% at 50% 40%,#ff4fa359,#0000 70%),radial-gradient(30% 40% at 18% 70%,#8b5cf659,#0000 70%),radial-gradient(30% 40% at 82% 70%,#8b5cf659,#0000 70%);position:absolute;inset:0}.db.is-fever .db-glow{background:radial-gradient(40% 50% at 50% 40%,#ffd16659,#0000 70%),radial-gradient(34% 44% at 15% 65%,#3dd6ff4d,#0000 70%),radial-gradient(34% 44% at 85% 65%,#ff4fa366,#0000 70%)}.db-rig{z-index:0;pointer-events:none;height:12%;position:absolute;top:0;left:0;right:0}.db-truss{height:calc(var(--u) * 1.5);border-radius:calc(var(--u) * .3);background:repeating-linear-gradient(60deg, transparent 0 calc(var(--u) * .7), #6f6488 calc(var(--u) * .7) calc(var(--u) * .9)), repeating-linear-gradient(-60deg, transparent 0 calc(var(--u) * .7), #6f6488 calc(var(--u) * .7) calc(var(--u) * .9)), linear-gradient(180deg, #2b2240, #18102a);position:absolute;top:2.5%;left:2%;right:2%;box-shadow:inset 0 2px #a99cc8,inset 0 -2px #a99cc8,0 4px 12px #00000080}.db-lamp{top:calc(2.5% + var(--u) * 1.3);width:calc(var(--u) * 2.2);height:calc(var(--u) * 1.8);margin-left:calc(var(--u) * -1.1);border-radius:calc(var(--u) * .5) calc(var(--u) * .5) 45% 45%;background:linear-gradient(#3a2f52,#120b1e);position:absolute;box-shadow:0 2px 6px #0009}.db-lamp:after{content:"";background:var(--lc);height:40%;box-shadow:0 0 12px var(--lc), 0 0 26px var(--lc);border-radius:50%;position:absolute;bottom:-10%;left:18%;right:18%}.db-lamp-0,.db-beam-0{--x:10%;--lc:#ff4fa3;--a:18deg;--b:-6deg}.db-lamp-1,.db-beam-1{--x:29%;--lc:#b48cff;--a:10deg;--b:-14deg}.db-lamp-2,.db-beam-2{--x:50%;--lc:#ffd166;--a:-9deg;--b:9deg}.db-lamp-3,.db-beam-3{--x:71%;--lc:#b48cff;--a:14deg;--b:-10deg}.db-lamp-4,.db-beam-4{--x:90%;--lc:#ff4fa3;--a:6deg;--b:-18deg}.db-lamp{left:var(--x)}.db-beams{z-index:0;pointer-events:none;position:absolute;inset:0}.db-beam{top:calc(2.5% + var(--u) * 2.6);left:var(--x);transform-origin:50% 0;clip-path:polygon(47% 0,53% 0,100% 100%,0 100%);background:linear-gradient(180deg, color-mix(in srgb, var(--fv,var(--lc)) 55%, transparent), transparent 88%);opacity:.6;width:26cqw;height:92cqh;transform:rotate(calc((var(--a) + var(--b)) / 2));margin-left:-13cqw;position:absolute}.db-beam-2{opacity:.45}.db.is-fever .db-beam,.db.is-over .db-beam{animation:2.8s ease-in-out infinite alternate db-sweep}.db.is-fever .db-beam-1,.db.is-over .db-beam-1{animation-duration:3.4s}.db.is-fever .db-beam-3,.db.is-over .db-beam-3{animation-duration:3.1s}@keyframes db-sweep{0%{transform:rotate(var(--a))}to{transform:rotate(var(--b))}}.db.is-over .db-beam{animation-duration:2.6s}.db-wall{z-index:1;aspect-ratio:2.15;max-width:48%;height:57%;padding:calc(var(--u) * .45);border-radius:calc(var(--u) * 1.3);background:linear-gradient(#2c1d48,#120a20);position:absolute;top:9%;left:50%;transform:translate(-50%);box-shadow:0 0 0 2px #ff8cc699,0 0 34px #ff4fa373,0 14px 40px #0000008c}.db-screen{background:radial-gradient(60% 70% at 50% 55%,#7a2394 0%,#3a0f62 50%,#14051f 100%);border-radius:2px;width:100%;height:100%;position:relative;overflow:hidden}.db-tint{background-color:var(--fv,transparent);opacity:.32;transition:background-color .35s;position:absolute;inset:0}.db[data-hue="0"]{--fv:#ff4fa3}.db[data-hue="1"]{--fv:#ff8a3d}.db[data-hue="2"]{--fv:#ffd166}.db[data-hue="3"]{--fv:#2ed47a}.db[data-hue="4"]{--fv:#3dd6ff}.db[data-hue="5"]{--fv:#a45cff}.db-rays{background:repeating-conic-gradient(from 0deg at 50% 50%, #ff8cc633 0 9deg, transparent 9deg 22.5deg);position:absolute;inset:0}.db.is-fever .db-rays{background:repeating-conic-gradient(from 4deg at 50% 50%, #ffe6a052 0 9deg, transparent 9deg 22.5deg)}.db-wall-ring{aspect-ratio:1;opacity:0;border-radius:50%;width:30%;margin:-15% 0 0 -15%;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 0 3px #ffd166d9,0 0 18px #ffd16699}.db-heart{filter:drop-shadow(0 0 14px #ff4fa3e6);width:22%;margin:-10.1% 0 0 -11%;position:absolute;top:46%;left:50%}.db-heart svg,.db-face,.db-twinkle{width:100%;height:auto;display:block}.db-face{fill:none;stroke-width:4.5px;stroke-linejoin:round;stroke-linecap:round;width:21%;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;top:14%}.db-face-cat{stroke:#ff8cc6;filter:drop-shadow(0 0 6px #ff4fa3);left:8%;transform:rotate(-8deg)}.db-face-pom{stroke:#ffd166;filter:drop-shadow(0 0 6px #ffb020);right:8%;transform:rotate(8deg)translateY(-4%)}.db.is-alt .db-face-cat{transform:rotate(6deg)translateY(-4%)}.db.is-alt .db-face-pom{transform:rotate(-6deg)}.db-twinkle{fill:#fff;filter:drop-shadow(0 0 5px #fff);width:4.5%;animation:2.2s ease-in-out infinite db-twinkle;position:absolute}.db-tw-1{top:12%;left:31%}.db-tw-2{fill:#ffd166;width:3.4%;animation-delay:-.7s;top:18%;left:66%}.db-tw-3{fill:#ff8cc6;width:3%;animation-delay:-1.4s;top:50%;left:22%}@keyframes db-twinkle{50%{opacity:.5;transform:scale(.45)rotate(30deg)}}.db-eq{align-items:flex-end;gap:1.6%;height:36%;display:flex;position:absolute;bottom:3%;left:4%;right:4%}.db-eq i{transform-origin:50% 100%;background:linear-gradient(#ffd166 0%,#ff8cc6 55%,#ff4fa3 100%);border-radius:3px 3px 1px 1px;flex:1;height:100%;transform:scaleY(.25);box-shadow:0 0 10px #ff4fa399}.db-pixels{pointer-events:none;background-image:radial-gradient(circle,#0000 0 1.3px,#08021099 1.9px);background-size:5px 5px;position:absolute;inset:0}.db-spk{z-index:3;gap:calc(var(--u) * .4);width:7.4%;display:grid;position:absolute;bottom:30%}.db-spk-l{left:1.4%}.db-spk-r{right:1.4%}.db-cab{aspect-ratio:1.1;border-radius:calc(var(--u) * .6);background:linear-gradient(160deg,#2f2147,#120a1f);place-items:center;display:grid;position:relative;box-shadow:inset 0 0 0 2px #3f2f5c,0 8px 18px #00000080}.db-cab-big{aspect-ratio:.85}.db-cone{aspect-ratio:1;background:radial-gradient(circle,#6d5a8c 0 10%,#19121f 13% 38%,#2c2240 41% 62%,#0b0711 65%);border-radius:50%;width:66%;box-shadow:0 0 0 3px #4a3a66,0 0 14px #ff4fa340}.db-tweet{aspect-ratio:1;background:radial-gradient(circle,#bba8e0 0 20%,#1a1225 30%);border-radius:50%;width:20%;position:absolute;top:9%;right:9%}.db-floor{z-index:0;background:linear-gradient(#4a1874 0%,#2a0e48 40%,#150628 100%);border-top:3px solid #ffffffd9;position:absolute;inset:67% 0 0;overflow:hidden;box-shadow:0 -6px 30px #ff4fa38c}.db-floor-grid{fill:none;stroke:#ff8cc64d;stroke-width:1.5px;vector-effect:non-scaling-stroke;width:100%;height:100%;position:absolute;inset:0}.db-floor-grid path{vector-effect:non-scaling-stroke}.db-dancer{z-index:4;perspective:800px;width:min(15.5cqw,52cqh);position:absolute;bottom:27%}.db-suki{left:20.5%;transform:translate(-50%)}.db-mochi{left:79.5%;transform:translate(-50%)}.db-move{transform-origin:50% 100%;position:relative}.db-bob{transform-origin:50% 100%}.db-bob .figure{filter:drop-shadow(0 0 14px #ffffff40);width:100%;height:auto;display:block}.db.is-fever .db-bob .figure{filter:drop-shadow(0 0 16px #ffd166d9)}.db-spot{opacity:.55;background:radial-gradient(closest-side,#ffe6a0b3,#ff4fa34d 55%,#0000);border-radius:50%;height:26%;position:absolute;bottom:-9%;left:-32%;right:-32%}.db-halo{opacity:0;pointer-events:none;background:radial-gradient(closest-side,#ffd1668c,#ff4fa34d 55%,#0000);border-radius:50%;position:absolute;inset:-14% -22% -4%}.db-suki .db-movename{left:92%}.db-mochi .db-movename{left:8%}.db-movename.is-thumb{color:var(--card-ink);text-shadow:none}.db.is-fever .db-halo{opacity:.8;background:radial-gradient(closest-side,#ffffff80,#ffd16666 40%,#ff4fa340 65%,#0000)}.db-movename{padding:calc(var(--u) * .15) calc(var(--u) * 1.1);background:var(--c,var(--pink));color:#fff;font:800 calc(var(--u) * 1.9) var(--font-head);white-space:nowrap;box-shadow:0 0 0 2px #fff, 0 0 18px var(--c,var(--pink));text-shadow:0 1px #0000004d;opacity:0;pointer-events:none;border-radius:999px;position:absolute;bottom:84%;left:50%;transform:translate(-50%)}.db-fever{z-index:6;font:800 calc(var(--u) * 5.4) var(--font-head);letter-spacing:.02em;color:#fff;text-shadow:.035em .035em #ff4fa3,.07em .07em #ffd166,.105em .105em #3dd6ff,0 0 .5em #ffd166bf;pointer-events:none;line-height:1;position:absolute;top:66%;left:50%;transform:translate(-50%)}.db-fever:empty{display:none}.db-confetti{z-index:8;pointer-events:none;position:absolute;inset:0;overflow:hidden}.db-cf{width:calc(var(--u) * .9);height:calc(var(--u) * .55);will-change:transform;border-radius:2px;position:absolute;top:-3%}.db-cf-round{width:calc(var(--u) * .7);height:calc(var(--u) * .7);border-radius:50%}.db-cf-long{width:calc(var(--u) * .4);height:calc(var(--u) * 1.3)}.db-crowd{z-index:7;pointer-events:none;height:24%;position:absolute;bottom:0;left:0;right:0}.db-fan{bottom:-22%;left:var(--x);width:calc(7.4% * var(--s));margin-left:calc(-3.7% * var(--s));position:absolute}.db-fan svg{width:100%;height:auto;display:block;position:relative}.db-fan-body{fill:#14061f;stroke:#ff8cc673;stroke-width:1.5px}.db-stick{transform-origin:50% 100%;width:8%;height:80%;transition:transform .3s cubic-bezier(.22,1,.36,1);position:absolute;bottom:44%;left:66%;transform:rotate(-18deg)}.db-fan-b .db-stick,.db.is-alt .db-stick{transform:rotate(18deg)}.db.is-alt .db-fan-b .db-stick{transform:rotate(-18deg)}.db-stick:before{content:"";background:#3a2a4a;border-radius:999px;height:52%;position:absolute;bottom:0;left:0;right:0;box-shadow:0 0 0 1px #ffffff26}.db-stick:after{content:"";background:linear-gradient(90deg, color-mix(in srgb, var(--c) 70%, #fff), #fff 50%, color-mix(in srgb, var(--c) 70%, #fff));height:52%;box-shadow:0 0 8px var(--c), 0 0 22px var(--c), 0 0 40px color-mix(in srgb, var(--c) 50%, transparent);border-radius:999px;position:absolute;top:0;left:-70%;right:-70%}.db-crowd-flash{z-index:7;opacity:0;pointer-events:none;background:radial-gradient(70% 100% at 50% 100%,#ffe6a08c,#ff4fa333 55%,#0000 80%);height:45%;position:absolute;bottom:0;left:0;right:0}.db-track{z-index:9;border-radius:0 0 var(--r) var(--r);padding:calc(var(--u) * .7) calc(var(--u) * 1.4) calc(var(--u) * 1.1);background:linear-gradient(#160828,#0e0419);position:relative;box-shadow:0 -2px #ff8cc659}.db-lane{height:calc(var(--u) * 9.4);background:radial-gradient(ellipse 16% 90% at calc(var(--u) * 11.5) 50%, #ff4fa347, transparent 70%), linear-gradient(180deg, #1d0838, #2e1055 55%, #1d0838);border-radius:999px;position:relative;box-shadow:inset 0 0 0 2px #ff8cc699,inset 0 6px 18px #00000080,0 0 26px #ff4fa34d}.db.is-fever .db-lane{box-shadow:inset 0 0 0 3px var(--gold), inset 0 6px 18px #00000080, 0 0 34px #ffd1668c}.db-rail{background:linear-gradient(90deg,#ffd166b3,#ff8cc64d 25%,#b48cff26);height:4px;margin-top:-2px;position:absolute;top:50%;left:0;right:0}.db-ticks i{will-change:transform;background:#ffffff29;border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:22%;bottom:22%;left:0}.db-ticks i.is-bar{background:#ff8cc680;width:4px;margin-left:-2px;top:12%;bottom:12%}.db-ring{z-index:1;left:calc(var(--u) * 11.5);width:calc(var(--u) * 8);height:calc(var(--u) * 8);margin:calc(var(--u) * -4) 0 0 calc(var(--u) * -4);box-shadow:inset 0 0 0 calc(var(--u) * .35) #fff, inset 0 0 calc(var(--u) * 1.6) #ff8cc6b3, 0 0 0 calc(var(--u) * .35) #ff4fa3a6, 0 0 calc(var(--u) * 2.4) #ff4fa3d9;border-radius:50%;position:absolute;top:50%}.db-ring i{background:radial-gradient(closest-side, #ffffffe6, var(--jc,var(--gold)) 50%, transparent);opacity:0;border-radius:50%;position:absolute;inset:-12%}.db-ring[data-j=good]{--jc:var(--pink-2)}.db-ring[data-j=ok]{--jc:#c9a8ff}.db-clip{z-index:2;top:0;bottom:0;left:calc(var(--u) * 2.4);right:calc(var(--u) * 2.4);position:absolute;overflow:hidden}.db-notes{inset:0;left:calc(var(--u) * -2.4);z-index:2;position:absolute}.db-clip .db-ticks{inset:0;left:calc(var(--u) * -2.4);position:absolute}.db-lane:before,.db-lane:after{content:"";z-index:5;pointer-events:none;background:linear-gradient(#1d0838,#2e1055 55%,#1d0838);position:absolute;top:2px;bottom:2px}.db-lane:after{border-radius:0 999px 999px 0;width:11%;right:2px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 60%);mask-image:linear-gradient(90deg,#0000,#000 60%)}.db-lane:before{width:calc(var(--u) * 5.5);border-radius:999px 0 0 999px;left:2px;-webkit-mask-image:linear-gradient(270deg,#0000,#000 60%);mask-image:linear-gradient(270deg,#0000,#000 60%)}.db-note{--c:var(--f-idx);width:calc(var(--u) * 7);height:calc(var(--u) * 7);margin:calc(var(--u) * -3.2) 0 0 calc(var(--u) * -3.5);will-change:transform, opacity;position:absolute;top:50%;left:0}.db-note-space{width:calc(var(--u) * 15);height:calc(var(--u) * 6);margin:calc(var(--u) * -2.7) 0 0 calc(var(--u) * -7.5)}.db-f-pink{--c:var(--f-pink)}.db-f-ring{--c:var(--f-ring)}.db-f-mid{--c:var(--f-mid)}.db-f-idx{--c:var(--f-idx)}.db-f-thumb{--c:var(--f-thumb)}.db-body{background:radial-gradient(circle at 34% 26%, #fffffff2 0 6%, transparent 22%), radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--c) 55%, #fff), var(--c) 62%, color-mix(in srgb, var(--c) 72%, #000) 100%);box-shadow:0 0 0 calc(var(--u) * .3) #fff, 0 0 calc(var(--u) * 2) var(--c), inset 0 calc(var(--u) * -.4) calc(var(--u) * .8) #00000038;border-radius:999px;place-items:center;display:grid;position:absolute;inset:0}.db-body b{font:800 calc(var(--u) * 3.7) var(--font-text);color:#fff;text-shadow:0 2px #00000047,0 0 10px #0003;line-height:1}.db-note-space .db-body b{font:800 calc(var(--u) * 2.5) var(--font-head)}.db-f-thumb .db-body b{color:var(--card-ink);text-shadow:0 1px #fff9}.db-ears{left:0;top:calc(var(--u) * -1.55);width:100%;height:auto;transform-origin:50% calc(var(--u) * 5.05);position:absolute;overflow:visible}.db-note-space .db-ears{transform-origin:50% calc(var(--u) * 4.55)}.db-ears path,.db-ears ellipse{fill:var(--c);stroke:#fff;stroke-width:4px;stroke-linejoin:round}.db-ears .db-ear-in{fill:#ffffff80;stroke:none}.db-note.is-nudge .db-body{box-shadow:0 0 0 calc(var(--u) * .4) var(--gold), 0 0 calc(var(--u) * 2.6) var(--gold)}.db-note.is-passed{opacity:0;transition:opacity .55s}.db-note.is-passed>*{transition:scale .55s;scale:.82}.db-note.is-hit{z-index:3}.db-note.is-perfect .db-body{box-shadow:0 0 0 calc(var(--u) * .4) var(--gold), 0 0 calc(var(--u) * 3) var(--gold)}.db-burst{z-index:4;pointer-events:none;position:absolute;inset:0}.db-sparks{width:0;height:0;position:absolute;top:50%;left:0}.db-sparks i{width:calc(var(--u) * 1.2);height:calc(var(--u) * 1.2);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);will-change:transform, opacity;position:absolute;top:0;left:0}.db-judge{z-index:12;left:0;top:calc(var(--u) * -3.6);font:800 calc(var(--u) * 3.2) var(--font-head);white-space:nowrap;opacity:0;pointer-events:none;color:var(--gold);text-shadow:0 0 2px #fff,0 0 18px #ffd166d9,0 3px #22103d99;position:absolute;transform:translate(-50%)}.db-judge[data-judge=good]{color:var(--pink-2);text-shadow:0 0 2px #fff,0 0 18px #ff4fa3cc,0 3px #22103d99}.db-judge[data-judge=ok]{color:#d9c8ff;text-shadow:0 0 16px #a45cffcc,0 3px #22103d99}.db-fans{position:absolute;inset:0}@keyframes db-thump-a{0%{transform:scale(1.13)}to{transform:scale(1)}}@keyframes db-thump-b{0%{transform:scale(1.13)}to{transform:scale(1)}}@keyframes db-ring-a{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes db-ring-b{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes db-cone-a{0%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes db-cone-b{0%{transform:scale(1.09)}to{transform:scale(1)}}@keyframes db-hop-a{0%{transform:translateY(-7%)}to{transform:none}}@keyframes db-hop-b{0%{transform:translateY(-7%)}to{transform:none}}@keyframes db-nod-a{0%{transform:translateY(2%)scale(1.02,.965)}to{transform:none}}@keyframes db-nod-b{0%{transform:translateY(2%)scale(1.02,.965)}to{transform:none}}@keyframes db-noff-a{0%,45%{transform:none}55%{transform:translateY(2%)scale(1.02,.965)}to{transform:none}}@keyframes db-noff-b{0%,45%{transform:none}55%{transform:translateY(2%)scale(1.02,.965)}to{transform:none}}@keyframes db-lamp-a{0%{opacity:1}to{opacity:.72}}@keyframes db-lamp-b{0%{opacity:1}to{opacity:.72}}.db.db-ba .db-heart{animation:.5s cubic-bezier(.2,.7,.3,1) db-thump-a}.db.db-bb .db-heart{animation:.5s cubic-bezier(.2,.7,.3,1) db-thump-b}.db.db-ba .db-ring{animation:.45s cubic-bezier(.2,.7,.3,1) db-ring-a}.db.db-bb .db-ring{animation:.45s cubic-bezier(.2,.7,.3,1) db-ring-b}.db.db-ba .db-cone{animation:.35s ease-out db-cone-a}.db.db-bb .db-cone{animation:.35s ease-out db-cone-b}.db.db-ba .db-fans-a .db-fan{animation:.5s cubic-bezier(.2,.7,.3,1) db-hop-a}.db.db-bb .db-fans-a .db-fan{animation:.5s cubic-bezier(.2,.7,.3,1) db-hop-b}.db.db-ba .db-suki .db-bob{animation:.45s cubic-bezier(.2,.7,.3,1) db-nod-a}.db.db-bb .db-suki .db-bob{animation:.45s cubic-bezier(.2,.7,.3,1) db-nod-b}.db.db-ba .db-mochi .db-bob{animation:.517s ease-in-out db-noff-a}.db.db-bb .db-mochi .db-bob{animation:.517s ease-in-out db-noff-b}.db.db-ba .db-lamp{animation:.5s ease-out db-lamp-a}.db.db-bb .db-lamp{animation:.5s ease-out db-lamp-b}.db-end{z-index:30;border-radius:var(--r);background:radial-gradient(34% 60%,#10061eb3,#10061e1f);place-items:center;padding:16px;display:grid;position:absolute;inset:0}.db-end-card{justify-items:center;gap:calc(var(--u) * .7);width:min(100%, calc(var(--u) * 44));padding:calc(var(--u) * 2) calc(var(--u) * 2.4);background:linear-gradient(#2e1450,#1f0c38);animation:.5s cubic-bezier(.22,1,.36,1) db-card;display:grid}.db-end-card h2{font-size:calc(var(--u) * 4);color:var(--pink-2);text-shadow:0 0 24px #ff4fa399}.db-end-hearts{gap:calc(var(--u) * .8);align-items:flex-end;display:flex}.db-end-hearts svg{width:calc(var(--u) * 3);fill:var(--pink);filter:drop-shadow(0 0 8px #ff4fa3cc);animation:1.8s ease-in-out infinite db-float}.db-end-hearts svg:nth-child(2){width:calc(var(--u) * 4.2);fill:var(--gold);filter:drop-shadow(0 0 10px #ffd166cc);animation-delay:-.6s}.db-end-hearts svg:nth-child(3){fill:#b48cff;filter:drop-shadow(0 0 8px #b48cffcc);animation-delay:-1.2s}.db-end-count{font-size:calc(var(--u) * 2.2);margin:0;color:var(--ink)!important}.db-end-count b{font:800 calc(var(--u) * 3.4) var(--font-head);color:var(--gold)}.db-end-sub{font-size:calc(var(--u) * 1.7);margin:0}.db-end-card .btn{margin-top:calc(var(--u) * .6)}@keyframes db-card{0%{opacity:0;transform:scale(.6)rotate(-3deg)}}@keyframes db-float{50%{transform:translateY(calc(var(--u) * -.6)) rotate(-6deg)}}.db.is-calm .db-beam,.db.is-calm .db-twinkle,.db.is-calm .db-end-hearts svg,.db.is-calm .db-end-card,.db.is-calm .db-cone,.db.is-calm .db-fan,.db.is-calm .db-bob,.db.is-calm .db-lamp{animation:none}.db.is-calm .db-stick,.db.is-calm .db-face{transition:none;transform:none}.db.is-calm .db-confetti{display:none}@media (prefers-reduced-motion:reduce){.db-beam,.db-twinkle,.db-cone,.db-fan,.db-bob,.db-lamp{animation:none!important}.db-stick,.db-face{transition:none!important;transform:none!important}}@media (width<=760px){.db-head{flex-wrap:wrap}.db-hint{display:none}}.pick{align-self:center;gap:calc(var(--u) * 1.4);padding:calc(var(--u) * 1) calc(max(52px, var(--u) * 5.4) + 16px);justify-items:center;display:grid}.pick-title{font-size:calc(var(--u) * 3.6);color:#fff;text-shadow:0 0 24px #ff4fa3b3;margin:0}.pick-hint{color:var(--ink-soft);font-size:calc(var(--u) * 1.7);margin:0}.pick-cards{gap:calc(var(--u) * 1.6);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.pick-card{gap:calc(var(--u) * .5);padding:calc(var(--u) * .9) calc(var(--u) * .9) calc(var(--u) * 1.3);border-radius:calc(var(--u) * 1.8);color:var(--ink);text-align:center;cursor:pointer;animation:.5s cubic-bezier(.22,1,.36,1) both pick-in;animation-delay:calc(var(--i) * 80ms);background:linear-gradient(#3a1866,#24104a);border:0;grid-template-rows:auto auto 1fr;transition:transform .18s,box-shadow .18s;display:grid;position:relative;box-shadow:inset 0 0 0 3px #ff8cc659,0 10px 30px #00000059}.pick-card:hover,.pick-card:focus-visible{box-shadow:inset 0 0 0 3px var(--gold), 0 0 40px #ffd16673, 0 14px 34px #0006;outline:none;transform:translateY(-6px)rotate(-1deg)}.pick-card:active{transform:translateY(-2px)scale(.98)}.pick-art{border-radius:calc(var(--u) * 1.1);aspect-ratio:16/10;background:#12051f;display:block;overflow:hidden}.pick-art svg{width:100%;height:100%;display:block}.pick-n{left:calc(var(--u) * .3);top:calc(var(--u) * .3);width:calc(var(--u) * 3.6);height:calc(var(--u) * 3.6);background:var(--card);color:var(--card-ink);font:800 calc(var(--u) * 2) var(--font-head);box-shadow:0 0 0 3px var(--pink), 0 4px 10px #0006;border-radius:50%;place-items:center;display:grid;position:absolute}.pick-new{right:calc(var(--u) * -.4);top:calc(var(--u) * -.6);padding:calc(var(--u) * .2) calc(var(--u) * .9);background:var(--gold);color:var(--card-ink);font:800 calc(var(--u) * 1.5) var(--font-head);border-radius:999px;animation:2.4s ease-in-out infinite pick-wiggle;position:absolute;transform:rotate(8deg);box-shadow:0 4px 12px #00000059}.pick-name{font:800 calc(var(--u) * 2.3) var(--font-head);margin-top:calc(var(--u) * .4);line-height:1.1}.pick-line{font-size:calc(var(--u) * 1.45);color:var(--ink-soft);line-height:1.3}@keyframes pick-in{0%{opacity:0;transform:translateY(24px)scale(.92)}}@keyframes pick-wiggle{0%,80%,to{transform:rotate(8deg)}88%{transform:rotate(-4deg)scale(1.08)}}@media (width<=700px){.pick-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.pick-card,.pick-new{animation:none}.pick-card:hover,.pick-card:focus-visible{transform:none}}.parent{--p-surface:#241040e0;--p-line:#d9c8f02e;--p-muted:#b9a8d6;--p-speed:#ff8cc6;--p-acc:#ffd166;--h0:#ffffff0a;--h1:#164e57;--h2:#1d7480;--h3:#33a8a8;--h4:#7fe3cf;height:100dvh;font-size:16px;line-height:1.45;overflow-y:auto}.parent .muted{color:var(--p-muted)}.parent h1{font-size:30px}.parent h2{margin-bottom:4px;font-size:22px}.parent p{margin:4px 0 12px}.btn-small{padding:8px 18px;font-size:16px}.parent[data-state=pin],.parent[data-state=unlinked]{place-items:center;padding:16px;display:grid}.parent-pin{justify-items:center;gap:8px;width:min(360px,100%);display:grid}.parent-pin p{margin:0}.pin-dots{gap:12px;margin:12px 0 4px;display:flex}.pin-dots span{border:2px solid var(--pink-2);border-radius:50%;width:16px;height:16px}.pin-dots span.is-on{background:var(--pink-2)}.pin-msg{min-height:3em;font-size:15px;color:var(--ink)!important}.pin-msg[data-kind=wait]{color:var(--gold)!important}.pin-pad{grid-template-columns:repeat(3,72px);gap:10px;display:grid}.pin-key{height:60px;color:var(--ink);font:800 24px var(--font-head);cursor:pointer;background:#ffffff0f;border:2px solid #ff8cc666;border-radius:16px}.pin-key:hover:not(:disabled){background:#ffffff24}.pin-key:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.pin-key:disabled{opacity:.4;cursor:default}.pin-key-soft{font-size:20px}.pin-key-ok{background:linear-gradient(135deg, var(--pink), var(--purple));border-color:#0000}.parent-pin .link-btn{margin-top:8px}.parent-wrap{grid-template-columns:minmax(0,1fr);gap:20px;max-width:1040px;margin:0 auto;padding:24px 16px 48px;display:grid}.psec,.tile{min-width:0}.parent-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.parent-head p{margin:4px 0 0}.parent-actions{flex-wrap:wrap;gap:10px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.tile,.psec{background:var(--p-surface);border:1px solid var(--p-line);border-radius:16px;padding:16px 18px}.tile{align-content:start;gap:4px;display:grid}.tile-label{color:var(--p-muted);font-size:14px}.tile-num{font:800 32px var(--font-head)}.tile-keys{flex-wrap:wrap;align-items:center;gap:8px;min-height:40px;display:flex}.weak-key{border:2px solid var(--gold);background:#ffffff14;border-radius:10px;padding:2px 10px}.weak-key b{font-family:var(--font-head);margin-right:4px;font-size:20px}.delta{color:var(--ink);margin-left:4px;display:inline-block}.chart-pair{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px;display:grid}.chart-box{margin:0}.chart-box figcaption{margin-bottom:4px;font-weight:600}.line-chart{width:100%;height:auto;display:block;overflow:visible}.line-chart .grid{stroke:var(--p-line);stroke-width:1px}.line-chart .axis{stroke:#d9c8f073;stroke-width:1px}.line-chart .tick,.line-chart .axis-title{fill:var(--p-muted);font-size:15px;font-family:var(--font-text)}.line-chart .value{fill:var(--ink);font-size:16px;font-weight:600;font-family:var(--font-text)}.line-chart .line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.line-chart .dot{stroke:#2a1248;stroke-width:2px}.line-chart .dot.is-active{r:6.5}.line-chart .cross{stroke:#ffffff59;stroke-width:1px;stroke-dasharray:3 3}.line-chart .hit{fill:#0000;cursor:crosshair;outline:none}.line-chart .hit:focus-visible{fill:#ffd1661f}#chart-speed .line{stroke:var(--p-speed)}#chart-speed .dot{fill:var(--p-speed)}#chart-acc .line{stroke:var(--p-acc)}#chart-acc .dot{fill:var(--p-acc)}.table-view{margin-top:10px}.table-view summary{cursor:pointer;color:var(--p-muted)}.table-view table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.table-view th,.table-view td{text-align:right;border-bottom:1px solid var(--p-line);padding:4px 10px}.table-view th:first-child,.table-view td:first-child{text-align:left}.empty{padding:16px 0}.heatmap{gap:6px;padding:4px 2px 8px;display:grid;overflow-x:auto}.hrow{gap:6px;display:flex}.hrow-1{padding-left:22px}.hrow-2{padding-left:40px}.hrow-3{padding-left:60px}.hrow-4{padding-left:170px}.hrow-extra{align-items:center;margin-top:6px}.hkey{cursor:default;width:56px;height:56px;font-family:var(--font-text);color:var(--ink);border:1px solid #0000;border-radius:10px;flex:none;place-content:center;gap:0;display:grid}.hkey:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.hk-label{font:800 18px var(--font-head);line-height:1}.hk-num{font-size:12px;line-height:1.2}.hkey-space{width:300px}.lv-x{background:var(--h0);color:#d9c8f066;border:1px dashed #d9c8f040}.lv-0{background:#ffffff1a;border-color:#d9c8f04d}.lv-1{background:var(--h1)}.lv-2{background:var(--h2)}.lv-3{background:var(--h3);color:#0d1f24}.lv-4{background:var(--h4);color:#0d1f24}.hkey.is-weak{box-shadow:0 0 0 3px var(--gold)}.legend{color:var(--p-muted);flex-wrap:wrap;gap:6px 16px;margin-top:8px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.sw{border-radius:4px;width:16px;height:16px;display:inline-block}.sw-weak{box-shadow:inset 0 0 0 3px var(--gold)}.cal{gap:4px;display:grid;overflow-x:auto}.cal-row{grid-template-columns:64px repeat(7,40px) 72px;align-items:center;gap:4px;display:grid}.cal-head span{color:var(--p-muted);text-align:center;font-size:13px}.cal-head span:first-child{text-align:left}.cal-week{color:var(--p-muted);font-size:13px}.cal-day{background:#ffffff0d;border-radius:8px;outline:none;place-items:center;height:32px;font-size:13px;font-weight:600;display:grid}.cal-day.is-played{background:var(--purple);color:#fff}.cal-day.is-future{background:0 0}.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--gold)}.cal-day:focus-visible{outline:3px solid var(--gold);outline-offset:1px}.cal-total{text-align:right;color:var(--p-muted);font-size:13px}.ptip{z-index:10;pointer-events:none;color:#22103d;background:#fff8fc;border-radius:10px;max-width:320px;padding:8px 12px;font-size:14px;line-height:1.35;position:fixed;box-shadow:0 6px 24px #0006}@media (width<=720px){.hkey{width:44px;height:48px}.hk-label{font-size:15px}.hkey-space{width:220px}.hrow-1{padding-left:14px}.hrow-2{padding-left:26px}.hrow-3{padding-left:40px}.hrow-4{padding-left:120px}}.sound-ctl{--s:max(40px, calc(var(--u) * 4.2));z-index:20;left:calc(max(12px, var(--u) * 1.2) + env(safe-area-inset-left,0px));bottom:calc(var(--u) * 11);gap:calc(var(--u) * .8);flex-direction:column;display:flex;position:fixed}.sound-btn{width:var(--s);height:var(--s);color:#fff;cursor:pointer;background:#241040d9;border:0;border-radius:50%;place-items:center;padding:0;transition:transform .12s,background .12s;display:grid;box-shadow:inset 0 0 0 2px #ff8cc699,0 4px 14px #0000004d}.sound-btn:hover{transform:scale(1.08)}.sound-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.sound-btn svg{fill:currentColor;width:56%;height:56%}.sound-btn .sound-slash{stroke:#0000;stroke-width:2.6px;stroke-linecap:round;fill:none}.sound-btn .sound-wave{stroke:currentColor;stroke-width:2px;stroke-linecap:round}.sound-btn[aria-pressed=true]{background:linear-gradient(135deg, var(--pink), var(--purple))}.sound-btn.is-off{color:var(--ink-soft);opacity:.75}.sound-btn.is-off .sound-slash{stroke:var(--pink-2)}.sound-btn.is-off .sound-wave{stroke:#0000}.sound-btn[aria-expanded=true]{box-shadow:inset 0 0 0 3px var(--gold)}.sound-panel{text-align:left;width:max-content;min-width:230px;font-size:max(15px, calc(var(--u) * 1.4));background:#241040f5;flex-direction:column;gap:10px;padding:14px 18px;display:flex;position:absolute;bottom:0;left:calc(100% + 12px)}.sound-panel h2{font-size:1.25em}.sound-row{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.sound-vol{flex-direction:column;align-items:stretch;gap:4px}.sound-vol b{color:var(--gold);font-weight:600}.sound-vol input{width:100%;accent-color:var(--pink)}.sound-vol input:disabled{opacity:.4}.sound-switch{appearance:none;cursor:pointer;background:#ffffff2e;border-radius:999px;flex:none;width:46px;height:26px;margin:0;transition:background .15s;position:relative}.sound-switch:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.sound-switch:checked{background:var(--pink)}.sound-switch:checked:after{transform:translate(20px)}.sound-switch:focus-visible{outline:3px solid var(--gold);outline-offset:2px}@media (prefers-reduced-motion:reduce){.sound-btn,.sound-switch,.sound-switch:after{transition:none}}
