.stage{--bass:0;--beat:0;cursor:pointer;touch-action:manipulation;background:#06050d;position:absolute;inset:0;overflow:hidden}.stage[data-phase=menu]{cursor:default}.stage__canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.stage__logo{pointer-events:none;justify-content:center;align-items:center;transition:transform 1s cubic-bezier(.65,0,.2,1);display:flex;position:absolute;inset:0}.stage[data-phase=menu] .stage__logo{transform:translateY(-33dvh)scale(.44)}.logo{font-family:var(--font-display);color:#f4f0ff;flex-direction:column;align-items:center;margin:0;display:flex}.logo__pre{font-family:var(--font-led);letter-spacing:.5em;color:#fff;text-shadow:0 0 6px #06050df2,0 0 14px #06050de6,0 0 22px #ff2d95cc;opacity:0;padding-left:.5em;font-size:clamp(1.1rem,3.6vw,2rem);animation:.8s .5s forwards logo-fade}.logo__line{transform:translateY(calc(var(--beat) * -4px)) scale(calc(1 + var(--bass) * .012));font-size:clamp(2.2rem,10.5vw,8rem);line-height:1.02;display:flex}.logo__ch{opacity:0;display:inline-block}.logo__line--1 .logo__ch{text-shadow:calc(var(--beat) * -3px) 0 #ff2d95bf, calc(var(--beat) * 3px) 0 #19e6ffbf, 0 0 calc(8px + var(--bass) * 26px) #19e6ffd9, 0 0 calc(30px + var(--bass) * 60px) #8b5cff8c;animation:ch-slam .7s cubic-bezier(.2, .9, .2, 1) calc(1s + var(--i) * 70ms) both, ch-flicker .55s linear calc(1.55s + var(--i) * 70ms) forwards}.logo__line--2 .logo__ch{text-shadow:calc(var(--beat) * 3px) 0 #19e6ffbf, calc(var(--beat) * -3px) 0 #ff2d95bf, 0 0 calc(8px + var(--bass) * 26px) #ff2d95d9, 0 0 calc(30px + var(--bass) * 60px) #8b5cff8c;animation:ch-side .7s cubic-bezier(.2, .9, .2, 1) calc(1.8s + var(--i) * 70ms) both, ch-flicker .55s linear calc(2.35s + var(--i) * 70ms) forwards}.logo__line--2 .logo__ch:nth-child(2n){--side:1}@keyframes ch-slam{0%{opacity:0;filter:blur(14px);transform:translateY(-46px)scale(2.3)}60%{opacity:1;filter:blur();transform:translateY(3px)scale(.97)}to{opacity:1;filter:none;transform:none}}@keyframes ch-side{0%{opacity:0;transform:translateX(calc(130px * (1 - 2 * var(--side,0)))) skewX(-22deg);filter:blur(10px)}60%{opacity:1;transform:translateX(calc(-6px * (1 - 2 * var(--side,0)))) skewX(4deg);filter:blur()}to{opacity:1;filter:none;transform:none}}@keyframes ch-flicker{0%{opacity:1}12%{opacity:.35}24%{opacity:1}40%{opacity:.6}55%{opacity:1}to{opacity:1}}@keyframes logo-fade{to{opacity:1}}.logo__trace{width:min(78vw,640px);margin-top:.4rem;overflow:visible}.logo__trace path{fill:none;stroke-linecap:round;stroke-linejoin:round}.logo__trace-base{stroke:#19e6ffbf;stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 5px #19e6ffe6);animation:1s ease-out 2.7s forwards trace-draw}.logo__trace-pulse{stroke:#fff;stroke-width:3px;stroke-dasharray:.07 .93;stroke-dashoffset:0;opacity:0;filter:drop-shadow(0 0 6px #ff2d95);animation:.3s 3.7s forwards logo-fade,2.4s linear 3.7s infinite trace-run}.logo__node{fill:#06050d;stroke:#ff2d95;stroke-width:2px;opacity:0;animation:.4s 3s forwards logo-fade}@keyframes trace-draw{to{stroke-dashoffset:0}}@keyframes trace-run{0%{stroke-dashoffset:.07px}to{stroke-dashoffset:-.93px}}.stage__prompt{text-align:center;pointer-events:none;font-family:var(--font-led);letter-spacing:.4em;color:#e8fbff;text-shadow:0 0 14px #19e6ffe6;opacity:calc(.4 + var(--beat) * .6);margin:0;padding-left:.4em;font-size:clamp(1.3rem,4vw,2rem);animation:.6s both prompt-in;position:absolute;bottom:max(14dvh,72px);left:0;right:0}@keyframes prompt-in{0%{transform:translateY(8px)}to{transform:none}}.stage__credit{left:0;right:0;bottom:max(14px, env(safe-area-inset-bottom));text-align:center;pointer-events:none;letter-spacing:.22em;text-transform:uppercase;color:#e8e2f059;margin:0;font-size:.72rem;position:absolute}.stage.is-settled .logo__pre,.stage.is-settled .logo__ch,.stage.is-settled .logo__trace-base,.stage.is-settled .logo__trace-pulse,.stage.is-settled .logo__node{animation-duration:.25s!important;animation-delay:0s!important}.stage[data-phase=menu] .logo__pre,.stage[data-phase=menu] .logo__line .logo__ch,.stage[data-phase=menu] .logo__node{opacity:1;animation:none}.stage[data-phase=menu] .logo__trace-base{stroke-dashoffset:0;animation:none}.mc-root[data-calm] .logo__line{transform:none}.mc-root[data-calm] .logo__line--1 .logo__ch,.mc-root[data-calm] .logo__line--2 .logo__ch{animation:logo-fade 1s ease calc(.8s + var(--i) * 50ms) forwards}.mc-root[data-calm] .logo__trace-pulse{display:none}.mc-root[data-calm] .stage__logo{transition-duration:10ms}.for-keys{display:none}@media (hover:hover) and (pointer:fine){.for-touch{display:none}.for-keys{display:inline}}.stage__keys{left:16px;bottom:max(14px, env(safe-area-inset-bottom));pointer-events:none;letter-spacing:.08em;color:#e8e2f080;margin:0;font-size:.72rem;position:absolute}.stage__keys kbd{text-align:center;min-width:1.5em;font:inherit;color:#e8fbffd9;background:#06050d8c;border:1px solid #19e6ff59;border-radius:4px;padding:1px 6px;display:inline-block}@media (width<=760px){.stage__keys{display:none}}.mc-root{-webkit-tap-highlight-color:transparent;user-select:none;background:#000;position:fixed;inset:0;overflow:hidden}.gate{cursor:pointer;outline:none;flex-direction:column;justify-content:center;align-items:center;gap:1.1rem;display:flex;position:absolute;inset:0}.gate__ring{border:2px solid #19e6ffb3;border-radius:50%;width:64px;height:64px;animation:1.8s ease-in-out infinite gate-pulse;box-shadow:0 0 24px #19e6ff73,inset 0 0 18px #19e6ff40}.gate__label{font-family:var(--font-led);letter-spacing:.35em;color:#e8fbff;margin:0;padding-left:.35em;font-size:1.7rem}.gate__note{letter-spacing:.12em;color:#e8e2f073;margin:0;font-size:.8rem}@keyframes gate-pulse{0%,to{opacity:.6;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}.mute{z-index:20;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));cursor:pointer;color:#e8fbffd9;backdrop-filter:blur(6px);background:#06050d8c;border:1px solid #19e6ff59;border-radius:50%;place-items:center;width:44px;height:44px;transition:background .2s,border-color .2s;display:grid;position:absolute}.mute:hover,.mute:focus-visible{background:#19e6ff2e;border-color:#19e6ffcc;outline:none}.mc-root[data-calm] .gate__ring{animation:none}.menu{scrollbar-width:none;width:min(88vw,440px);padding:6px 10px 18px;position:absolute;top:max(31dvh,208px);bottom:38px;left:50%;overflow-y:auto;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 calc(100% - 22px),#0000);mask-image:linear-gradient(#000 calc(100% - 22px),#0000)}.menu::-webkit-scrollbar{display:none}.menu__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.menu__row{box-sizing:border-box;text-align:left;cursor:pointer;width:100%;min-height:44px;line-height:1.2;font:inherit;color:#e8fbff;backdrop-filter:blur(6px);animation:row-in .5s cubic-bezier(.2, .9, .2, 1) calc(.55s + var(--i) * 60ms) backwards;background:#06050d9e;border:1px solid #19e6ff38;border-left:3px solid #19e6ff8c;border-radius:6px;grid-template-columns:1fr auto;grid-template-areas:"label tag""hint tag";align-items:center;column-gap:12px;padding:5px 14px;text-decoration:none;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:grid}.menu__row:hover,.menu__row:focus-visible{box-shadow:0 0 calc(10px + var(--beat) * 18px) #19e6ff73;background:#19e6ff24;border-color:#19e6ff;outline:none;transform:translate(6px)}.menu__row:active{transform:translate(6px)scale(.985)}.menu__label{font-family:var(--font-display);letter-spacing:.06em;grid-area:label;font-size:1rem}.menu__hint{color:#e8e2f08c;grid-area:hint;font-size:.72rem}.menu__tag{font-family:var(--font-led);letter-spacing:.18em;color:#ffb347;border:1px solid #ffb34780;border-radius:3px;grid-area:tag;padding:1px 8px 0 10px;font-size:1.05rem}.menu__row.is-soon{cursor:default}.menu__row.is-soon .menu__label,.menu__row.is-soon .menu__hint{opacity:.55}.menu__row.is-soon .menu__tag{color:#e8e2f099;border-color:#e8e2f040}.menu__row.is-primary{background:#ff2d951f;border-color:#ff2d958c #ff2d958c #ff2d958c #ff2d95}.menu__row.is-primary:hover,.menu__row.is-primary:focus-visible{box-shadow:0 0 calc(10px + var(--beat) * 18px) #ff2d958c;background:#ff2d9538;border-color:#ff2d95}@keyframes row-in{0%{opacity:0;transform:translate(-28px)}}@media (height<=560px){.stage[data-phase=menu] .stage__logo{transform:translateY(-34dvh)scale(.36)}.menu{width:min(92vw,760px);top:max(26dvh,80px);bottom:30px}.menu__list{grid-template-columns:1fr 1fr;display:grid}}.settings{z-index:15;cursor:default;backdrop-filter:blur(6px);background:#03020ab8;place-items:center;padding:16px;animation:.2s settings-in;display:grid;position:absolute;inset:0}@keyframes settings-in{0%{opacity:0}}.settings__panel{box-sizing:border-box;color:#e8fbff;background:#0a0718;border:1px solid #19e6ff80;border-radius:10px;flex-direction:column;gap:16px;width:min(92vw,420px);max-height:100%;padding:20px;display:flex;overflow-y:auto;box-shadow:0 0 36px #19e6ff33}.settings__panel header{justify-content:space-between;align-items:center;display:flex}.settings__panel h2{font-family:var(--font-display);letter-spacing:.08em;margin:0;font-size:1.3rem;font-weight:400}.settings__close{width:44px;height:44px;color:inherit;cursor:pointer;background:0 0;border:1px solid #19e6ff4d;border-radius:50%;font-size:1.8rem;line-height:1}.settings__close:hover,.settings__close:focus-visible{background:#19e6ff2e;border-color:#19e6ff;outline:none}.settings__row{grid-template-columns:5.5rem 1fr 2.4rem;align-items:center;gap:12px;display:grid}.settings__row input[type=range]{accent-color:#19e6ff;cursor:pointer;width:100%;height:32px}.settings__row output{text-align:right;font-family:var(--font-led);color:#e8fbffb3;font-size:1.2rem}.settings__switch{text-align:left;width:100%;min-height:48px;font:inherit;color:inherit;cursor:pointer;background:#19e6ff0f;border:1px solid #19e6ff38;border-radius:6px;justify-content:space-between;align-items:center;gap:16px;padding:6px 12px;display:flex}.settings__switch:hover,.settings__switch:focus-visible{background:#19e6ff24;border-color:#19e6ff;outline:none}.settings__switch small{color:#e8e2f08c;font-size:.74rem;display:block}.settings__switch i{background:#e8e2f033;border-radius:12px;flex:none;width:44px;height:24px;transition:background .2s;position:relative}.settings__switch i:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.settings__switch[aria-checked=true] i{background:#19e6ff}.settings__switch[aria-checked=true] i:after{transform:translate(20px)}.mc-root[data-calm] .menu__row{transition-duration:10ms;animation-duration:10ms;animation-delay:0s}
