.account-topbar{min-width:0;min-height:68px;display:flex;align-items:stretch;justify-content:flex-end;color:var(--muted, #a4aaa7);font-size:13px;letter-spacing:0}.account-topbar__guest{display:flex;align-items:center;padding-inline:18px}.account-topbar__action,.account-topbar__identity{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding-inline:16px;border:0;border-left:1px solid var(--line, #3b3e3d);border-radius:0;background:transparent;color:inherit;cursor:pointer}.account-topbar__action:hover,.account-topbar__action:focus-visible,.account-topbar__identity:hover,.account-topbar__identity:focus-visible{background:#252827;color:var(--paper, #f5f4f1)}.account-topbar__action:focus-visible,.account-topbar__identity:focus-visible{outline:2px solid var(--sea, #37b89a);outline-offset:-3px}.account-topbar__identity{max-width:240px;color:var(--paper, #f5f4f1)}.account-topbar__identity span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-page{width:100%;min-height:100%;color:var(--paper, #f5f4f1);background:#151717;letter-spacing:0}.account-page__header{min-height:78px;display:flex;align-items:baseline;gap:18px;padding:18px clamp(18px,4vw,52px);border-bottom:1px solid var(--line, #3b3e3d);background:#191b1b}.account-page__header span{color:#ff777b;font-size:11px;font-weight:800}.account-page__header h1{margin:0;font-size:25px;line-height:1.1}.account-page__loading{margin:0;padding:32px clamp(18px,4vw,52px);color:var(--muted, #a4aaa7)}.account-page__guest-layout,.account-page__authenticated{width:min(980px,100%);display:grid;grid-template-columns:minmax(210px,.72fr) minmax(360px,1.28fr);gap:clamp(28px,6vw,72px);align-items:start;margin-inline:auto;padding:clamp(30px,6vw,72px) clamp(18px,4vw,52px)}.account-guest-status,.account-identity{display:grid;gap:12px 14px;align-items:center;padding-block:18px;border-block:1px solid var(--line, #3b3e3d);color:var(--muted, #a4aaa7)}.account-guest-status{grid-template-columns:minmax(0,1fr);align-content:start}.account-guest-status__identity,.account-identity{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px 14px;align-items:center}.account-guest-status strong{min-width:0;overflow-wrap:anywhere;color:var(--paper, #f5f4f1);font-size:20px}.account-form--guest{margin-top:4px}.account-form--guest .account-button{justify-self:start}.account-access,.account-form--profile{min-width:0}.account-mode-tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:24px;border-bottom:1px solid var(--line, #3b3e3d)}.account-mode-tabs button{min-height:46px;padding:0 14px;border:0;border-radius:0;background:transparent;color:var(--muted, #a4aaa7);cursor:pointer}.account-mode-tabs button[aria-pressed=true]{color:var(--paper, #f5f4f1);box-shadow:inset 0 -3px var(--signal, #e23b3f)}.account-mode-tabs button:focus-visible,.account-button:focus-visible,.account-field input:focus-visible{outline:2px solid var(--sea, #37b89a);outline-offset:2px}.account-form{display:grid;gap:18px}.account-form__row{min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.account-field{min-width:0;display:grid;grid-template-rows:auto auto minmax(2.7em,auto) auto;gap:6px;align-content:start}.account-field label,.account-readonly span{color:var(--muted, #a4aaa7);font-size:11px;font-weight:700;line-height:1.2;min-height:1.2em}.account-field__control{min-width:0}.account-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid #737b77;border-radius:3px;background:#101111;color:var(--paper, #f5f4f1);box-sizing:border-box}.account-field input[aria-invalid=true]{border-color:#d86a6e}.account-field__hint,.account-field__error{font-size:11px;line-height:1.35;min-height:0}.account-field__hint{color:#b5bbb8;min-height:2.7em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.account-field.has-no-hint .account-field__hint{visibility:hidden}.account-field__error{color:#e49a9d;min-height:1.2em}.account-field__error.is-empty{visibility:hidden}.account-form__status{min-height:26px;display:flex;align-items:center;gap:7px;margin:0;padding:8px 10px;border-left:3px solid var(--sea, #37b89a);background:#1b201e;color:#b9dfd4;font-size:12px}.account-form__status.is-error{border-left-color:var(--signal, #e23b3f);background:#21191a;color:#e9b3b5}.account-form__actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding-top:4px}.account-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 16px;border:1px solid transparent;border-radius:4px;cursor:pointer}.account-button--primary{background:#ad2630;color:#fff;font-weight:800}.account-button--secondary{border-color:#5d6260;background:transparent;color:var(--paper, #f5f4f1)}.account-button--text{background:transparent;color:var(--muted, #a4aaa7)}.account-button:hover:not(:disabled){filter:brightness(1.12)}.account-button:disabled{opacity:.5;cursor:wait}.account-identity{grid-template-columns:auto minmax(0,1fr)}.account-identity div,.account-identity span,.account-identity strong,.account-identity small{min-width:0;display:block}.account-identity strong{margin-top:3px;overflow-wrap:anywhere;color:var(--paper, #f5f4f1);font-size:21px}.account-identity small{margin-top:3px;color:var(--sea, #37b89a)}.account-readonly{display:grid;gap:5px;padding-block:12px;border-bottom:1px solid var(--line, #3b3e3d)}.account-readonly strong{overflow-wrap:anywhere;font-size:14px}@media(max-width:720px){.account-topbar__guest{display:none}.account-topbar__action,.account-topbar__identity{padding-inline:11px}.account-page__guest-layout,.account-page__authenticated{grid-template-columns:minmax(0,1fr);gap:28px}}@media(max-width:480px){.account-topbar__action span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.account-topbar__action{width:44px;padding:0}.account-form__row{grid-template-columns:minmax(0,1fr)}.account-page__header{min-height:64px}}@media(orientation:landscape)and (max-height:560px){.account-topbar{min-height:52px}.account-page__header{min-height:58px;padding-block:12px}.account-page__guest-layout,.account-page__authenticated{padding-block:24px}}@media(prefers-reduced-motion:reduce){.account-page *,.account-topbar *{scroll-behavior:auto!important}}.account-page__header span{display:none}.account-page__prototype-notice{display:none!important}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.account-page__header{min-height:34px;padding:4px 8px;gap:6px}.account-page__header h1{font-size:15px}.account-page__guest-layout,.account-page__authenticated{width:100%;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;padding:8px}.account-guest-status,.account-identity{padding-block:8px;gap:8px 10px}.account-guest-status strong,.account-identity strong{font-size:14px}.account-mode-tabs button{min-height:32px;font-size:12px}.account-form label,.account-form__hint,.account-form__error{font-size:11px}.account-form input,.account-form button,.account-button{min-height:30px;font-size:12px}.account-form,.account-form__row{gap:8px}}@media(max-width:720px)and (orientation:landscape){.account-page__guest-layout,.account-page__authenticated{grid-template-columns:1fr}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.account-page__header{min-height:30px!important;padding:3px 8px!important}.account-page__header h1{font-size:14px!important}.account-page__guest-layout,.account-page__authenticated{grid-template-columns:1fr 1fr!important;gap:8px!important;padding:6px!important}.account-guest-status,.account-identity{padding-block:4px!important;gap:6px!important}.account-guest-status strong,.account-identity strong{font-size:13px!important}.account-mode-tabs{margin-bottom:8px!important}.account-mode-tabs button{min-height:28px!important;font-size:11px!important}.account-form{gap:6px!important}.account-form label{font-size:10px!important}.account-form input{min-height:26px!important;font-size:11px!important;padding:4px 8px!important}.account-form__hint,.account-form__error{font-size:10px!important;margin:0!important}.account-button,.account-form button{min-height:28px!important;font-size:11px!important;padding:4px 10px!important}.account-form--guest .account-button{min-height:28px!important}}.account-page{display:flex;flex-direction:column;min-height:100%}.account-page__header{flex:0 0 auto}.account-page__guest-layout,.account-page__authenticated{flex:1 1 auto;width:min(720px,calc(100% - 16px));max-width:720px;margin-left:auto;margin-right:auto;box-sizing:border-box}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.account-page{min-height:100%!important;height:100%!important;overflow:hidden!important}.account-page__header{min-height:28px!important;padding:2px 8px!important;justify-content:center!important;text-align:center!important}.account-page__header h1{font-size:13px!important;width:100%;text-align:center!important}.account-page__guest-layout,.account-page__authenticated{width:min(640px,calc(100% - 12px))!important;max-width:640px!important;margin:0 auto!important;padding:6px!important;gap:8px!important;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)!important;align-content:center!important;justify-content:center!important;min-height:0!important;flex:1 1 auto!important}.account-guest-status,.account-identity{padding-block:4px!important;gap:6px 8px!important}.account-guest-status strong,.account-identity strong{font-size:12px!important}.account-mode-tabs{margin-bottom:6px!important}.account-mode-tabs button{min-height:26px!important;font-size:11px!important}.account-form,.account-form__row{gap:6px!important}.account-form label{font-size:10px!important}.account-form input{min-height:24px!important;font-size:11px!important;padding:3px 7px!important}.account-form__hint,.account-form__error{font-size:9px!important;line-height:1.2!important}.account-button,.account-form button{min-height:26px!important;font-size:11px!important;padding:3px 8px!important}.account-form--guest .account-button{justify-self:center!important}}@media(max-width:720px)and (orientation:landscape){.account-page__guest-layout,.account-page__authenticated{grid-template-columns:minmax(120px,.7fr) minmax(0,1.3fr)!important;width:calc(100% - 12px)!important;max-width:none!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell[data-page=account] .page-shell__main{display:flex!important;flex-direction:column!important;min-height:0!important}.page-shell[data-page=account] .page-shell__content{flex:1 1 auto!important;min-height:0!important;width:100%!important;max-width:100%!important;margin:0!important;padding:0!important;display:flex!important;flex-direction:column!important}.account-page{flex:1 1 auto!important;width:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;overflow:auto!important}.account-page__header{width:min(520px,calc(100% - 16px))!important;min-height:28px!important;padding:2px 8px!important;justify-content:center!important;border-bottom:0!important;background:transparent!important}.account-page__header h1{width:100%!important;text-align:center!important;font-size:13px!important}.account-page__guest-layout,.account-page__authenticated{width:min(520px,calc(100% - 16px))!important;max-width:520px!important;margin:0 auto!important;padding:8px!important;gap:10px!important;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr)!important;flex:0 0 auto!important}.account-guest-status,.account-identity{padding-block:4px!important}.account-guest-status strong,.account-identity strong{font-size:12px!important}.account-mode-tabs{margin-bottom:6px!important}.account-mode-tabs button{min-height:26px!important;font-size:11px!important}.account-form{gap:6px!important}.account-form input{min-height:24px!important;font-size:11px!important;padding:3px 7px!important}.account-form label{font-size:10px!important}.account-form__hint,.account-form__error{font-size:9px!important}.account-button,.account-form button{min-height:26px!important;font-size:11px!important;padding:3px 8px!important}}.account-access{min-width:0;display:flex;flex-direction:column;min-height:0}.account-mode-stack{position:relative;isolation:isolate;width:100%;min-width:0;overflow:hidden}.account-mode-layer{width:100%;min-width:0;background:#151717}.account-mode-layer.is-leaving,.account-mode-layer.is-entering{will-change:transform,opacity}.account-mode-layer.is-leaving{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.account-mode-layer.is-entering{position:relative;z-index:2;overflow:hidden}.account-mode-layer.is-leaving[data-direction=rail-in]{animation:account-mode-slide-left-out .36s cubic-bezier(.22,1,.36,1) both}.account-mode-layer.is-entering[data-direction=rail-in]{animation:account-mode-slide-left-in .36s cubic-bezier(.22,1,.36,1) both}.account-mode-layer.is-leaving[data-direction=rail-out]{animation:account-mode-slide-right-out .36s cubic-bezier(.22,1,.36,1) both}.account-mode-layer.is-entering[data-direction=rail-out]{animation:account-mode-slide-right-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes account-mode-slide-left-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.96;transform:translate3d(-100%,0,0)}}@keyframes account-mode-slide-left-in{0%{opacity:1;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes account-mode-slide-right-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.96;transform:translate3d(100%,0,0)}}@keyframes account-mode-slide-right-in{0%{opacity:1;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}.account-page.is-mode-transitioning .account-mode-tabs button{pointer-events:none}.account-form__row{align-items:start}.account-form__row>.account-field{height:100%}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell[data-page=account] .page-shell__main{overflow:hidden!important}.page-shell[data-page=account] .page-shell__content{height:100%!important;min-height:0!important;overflow:hidden!important}.account-page{height:100%!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:stretch!important}.account-page__header{flex:0 0 auto!important;width:100%!important;min-height:28px!important;padding:2px 8px!important;border-bottom:1px solid var(--line, #3b3e3d)!important;background:#191b1b!important}.account-page__header h1{width:auto!important;text-align:left!important;font-size:13px!important}.account-page__guest-layout,.account-page__authenticated{flex:1 1 auto!important;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:6px 8px!important;gap:8px!important;overflow:hidden!important;align-items:stretch!important;align-content:stretch!important;grid-template-columns:minmax(140px,.72fr) minmax(0,1.28fr)!important}.account-guest-status{min-height:0!important;max-height:100%!important;overflow:auto!important;overscroll-behavior:contain!important;align-content:start!important;padding-block:4px!important;gap:6px!important}.account-guest-status__identity{gap:8px!important}.account-guest-status .account-field__hint{display:none!important}.account-guest-status .account-field{grid-template-rows:auto auto 0 auto!important;gap:4px!important}.account-access{min-width:0!important;min-height:0!important;max-height:100%!important;overflow:hidden!important;display:flex!important;flex-direction:column!important}.account-mode-tabs{flex:0 0 auto!important;margin-bottom:6px!important}.account-mode-stack{position:relative!important;flex:1 1 auto!important;min-height:0!important;overflow:hidden!important}.account-mode-layer{max-height:100%!important;overflow:auto!important;overscroll-behavior:contain!important}.account-mode-layer.is-leaving{position:absolute!important;inset:0!important;overflow:hidden!important}.account-mode-layer.is-entering{position:relative!important;overflow:auto!important}.account-field{grid-template-rows:auto auto minmax(2.1em,auto) auto!important;gap:4px!important}.account-field__hint{min-height:2.1em!important;font-size:9px!important;line-height:1.25!important}.account-field__error{min-height:1.1em!important;font-size:9px!important}.account-field input{min-height:28px!important}.account-form__row{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:720px)and (orientation:landscape)and (max-height:560px){.account-page__guest-layout,.account-page__authenticated{grid-template-columns:minmax(120px,.68fr) minmax(0,1.32fr)!important}}@media(max-width:560px)and (orientation:landscape){.account-page{overflow:auto!important}.account-page__guest-layout,.account-page__authenticated{grid-template-columns:minmax(0,1fr)!important;overflow:visible!important;height:auto!important;max-height:none!important}.account-guest-status,.account-access,.account-mode-stack,.account-mode-layer{overflow:visible!important;max-height:none!important}}@media(prefers-reduced-motion:reduce){.account-mode-layer.is-leaving,.account-mode-layer.is-entering{animation-duration:1ms!important;animation-delay:0ms!important}}.account-button{position:relative;overflow:hidden;transition:transform .16s cubic-bezier(.22,1,.36,1),filter .16s ease,background-color .16s ease,border-color .16s ease,opacity .16s ease,box-shadow .18s ease}.account-button__label{display:inline-flex;align-items:center;gap:8px}.account-button__spinner{flex:0 0 auto;animation:account-button-spin .78s linear infinite}.account-button.is-pending{cursor:wait;opacity:.92;box-shadow:0 0 0 1px #37b89a38}.account-button--primary.is-pending{background:#8f1f28}.account-button.is-pulse{animation:account-button-pulse .22s cubic-bezier(.22,1,.36,1)}.account-button:active:not(:disabled){transform:translateY(1px) scale(.98)}.account-form.is-pending .account-field input{opacity:.78}.account-form.is-shake{animation:account-form-shake .42s cubic-bezier(.36,.07,.19,.97)}.account-form__status{animation:account-status-in .28s cubic-bezier(.22,1,.36,1) both}.account-form__status.is-success-flash{animation:account-status-in .28s cubic-bezier(.22,1,.36,1) both,account-status-success-glow .56s ease both}.account-form__status.is-error-flash{animation:account-status-in .28s cubic-bezier(.22,1,.36,1) both,account-status-error-glow .56s ease both}.account-page__authenticated.is-enter{animation:account-session-enter .42s cubic-bezier(.22,1,.36,1) both}.account-page__authenticated.is-enter .account-identity{animation:account-identity-pop .48s cubic-bezier(.22,1,.36,1) both}.account-page__authenticated.is-enter .account-form--profile{animation:account-status-in .42s cubic-bezier(.22,1,.36,1) both;animation-delay:70ms}@keyframes account-button-spin{to{transform:rotate(360deg)}}@keyframes account-button-pulse{0%{transform:scale(1);filter:brightness(1)}35%{transform:scale(.97);filter:brightness(1.12)}to{transform:scale(1);filter:brightness(1)}}@keyframes account-form-shake{0%,to{transform:translate(0)}18%{transform:translate(-7px)}36%{transform:translate(6px)}54%{transform:translate(-4px)}72%{transform:translate(3px)}90%{transform:translate(-1px)}}@keyframes account-status-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes account-status-success-glow{0%{box-shadow:inset 0 0 #37b89a00}40%{box-shadow:inset 0 0 0 1px #37b89a73}to{box-shadow:inset 0 0 #37b89a00}}@keyframes account-status-error-glow{0%{box-shadow:inset 0 0 #e23b3f00}40%{box-shadow:inset 0 0 0 1px #e23b3f73}to{box-shadow:inset 0 0 #e23b3f00}}@keyframes account-session-enter{0%{opacity:0;transform:translateY(10px) scale(.99);filter:blur(3px)}to{opacity:1;transform:none;filter:none}}@keyframes account-identity-pop{0%{opacity:0;transform:translateY(8px)}60%{opacity:1;transform:translateY(-2px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.account-button,.account-button.is-pulse,.account-button__spinner,.account-form.is-shake,.account-form__status,.account-form__status.is-success-flash,.account-form__status.is-error-flash,.account-page__authenticated.is-enter,.account-page__authenticated.is-enter .account-identity,.account-page__authenticated.is-enter .account-form--profile{animation-duration:1ms!important;animation-delay:0ms!important;transition-duration:1ms!important;filter:none!important;transform:none!important}}.topbar-account-status{min-width:0;min-height:68px;display:flex;align-items:stretch;justify-content:flex-end;color:var(--muted, #a4aaa7);background:#101111f5;font-size:12px;letter-spacing:0}.topbar-account-status__identity{min-width:0;max-width:220px;display:inline-flex;align-items:center;gap:8px;padding-inline:16px;border:0;border-left:1px solid var(--line, #3b3e3d);border-radius:0;background:transparent;color:var(--paper, #f5f4f1);cursor:pointer}.topbar-account-status__identity span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-account-status__identity:hover,.topbar-account-status__identity:focus-visible{background:#252827}.topbar-account-status__identity:focus-visible{outline:2px solid var(--sea, #37b89a);outline-offset:-3px}.topbar-account-status__metric{min-width:88px;display:flex;align-items:center;justify-content:center;gap:7px;padding-inline:14px;border-left:1px solid var(--line, #3b3e3d);font-variant-numeric:tabular-nums}.topbar-account-status__metric small{color:var(--muted, #a4aaa7);font-size:9px;font-weight:700}.topbar-account-status__metric strong{color:var(--paper, #f5f4f1);font-size:14px}.topbar-account-status__rating strong{color:var(--sea, #37b89a)}.topbar-account-status__tokens{min-width:92px;color:#e8bd62}.topbar-account-status__tokens strong{color:#f2d38e}@media(max-width:680px){.topbar-account-status{min-height:56px}.topbar-account-status__identity{max-width:140px;padding-inline:11px}.topbar-account-status__metric{min-width:70px;padding-inline:9px}.topbar-account-status__metric small{display:none}}@media(max-width:440px){.topbar-account-status__identity{max-width:112px}.topbar-account-status__rating{min-width:62px}.topbar-account-status__tokens{min-width:72px}}.play-mode-selector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:min(100%,22rem);min-height:2.5rem;padding:.1875rem;border:1px solid #3b4240;border-radius:6px;background:#171a19;gap:.1875rem}.play-mode-selector__option{min-width:0;min-height:2.125rem;padding:.375rem .5rem;border:1px solid transparent;border-radius:4px;background:transparent;color:#b8bfbc;font:inherit;font-size:.8125rem;font-weight:650;line-height:1.15;letter-spacing:0;cursor:pointer}.play-mode-selector__option[aria-checked=true]{border-color:#4ad6a0;background:#26332e;color:#f5faf7}.play-mode-selector__option:hover:not(:disabled){background:#252a28;color:#fff}.play-mode-selector__option:focus-visible{outline:2px solid #efb54a;outline-offset:1px}.play-mode-selector__option:disabled{opacity:.48;cursor:not-allowed}.page-shell{--page-shell-rail-width: 48px;--page-shell-topbar-min-height: 52px;--page-shell-safe-top: env(safe-area-inset-top, 0px);--page-shell-safe-right: env(safe-area-inset-right, 0px);--page-shell-safe-bottom: env(safe-area-inset-bottom, 0px);--page-shell-safe-left: env(safe-area-inset-left, 0px);width:100%;height:100vh;height:100dvh;min-width:320px;display:grid;grid-template-columns:minmax(0,1fr) calc(var(--page-shell-rail-width) + var(--page-shell-safe-right));grid-template-rows:minmax(calc(var(--page-shell-topbar-min-height) + var(--page-shell-safe-top)),auto) minmax(0,1fr);overflow:hidden;background:var(--ink, #101111);color:var(--paper, #f5f4f1);letter-spacing:0}.page-shell,.page-shell *{box-sizing:border-box}.page-shell__topbar{min-width:0;min-height:var(--page-shell-topbar-min-height);max-height:calc(var(--page-shell-topbar-min-height) + var(--page-shell-safe-top));grid-column:1 / -1;grid-row:1;padding:var(--page-shell-safe-top) var(--page-shell-safe-right) 0 var(--page-shell-safe-left);overflow:hidden;border-bottom:1px solid var(--line, #373b39)}.page-shell__main{min-width:0;min-height:0;grid-column:1;grid-row:2;padding-bottom:var(--page-shell-safe-bottom);padding-left:var(--page-shell-safe-left);overflow:auto;overscroll-behavior:contain;background:#151717}.page-shell__page-header{min-height:64px;display:flex;align-items:center;gap:14px;padding:10px clamp(18px,3vw,42px);border-bottom:1px solid var(--line, #373b39);background:#191b1b}.page-shell__page-header h1{min-width:0;margin:0;overflow-wrap:anywhere;font-size:24px;line-height:1.15}.page-shell__back{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;padding:0;border:1px solid var(--line, #373b39);border-radius:4px;background:transparent;color:var(--muted, #9da29f);cursor:pointer}.page-shell__back:hover,.page-shell__back:focus-visible{border-color:var(--sea, #77c7aa);color:var(--paper, #f5f4f1)}.page-shell__content{min-width:0}.page-shell__content.is-transitioning{pointer-events:none}.page-shell.is-page-transitioning .page-shell__main{overflow:hidden}.page-shell.is-page-transitioning .page-shell__content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;height:100%;min-height:0;overflow:hidden}.page-transition-stack{position:relative;isolation:isolate;width:100%;min-width:0;min-height:100%;height:100%;overflow:hidden}.page-transition-layer{width:100%;min-width:0;min-height:100%;height:100%;background:#151717}.page-transition-layer[data-page=library]{background:#070a0d}.page-transition-layer.is-leaving,.page-transition-layer.is-entering{will-change:transform,opacity}.page-transition-layer.is-leaving{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}.page-transition-layer.is-entering{position:absolute;inset:0;z-index:2;overflow:hidden}.page-transition-layer.is-leaving[data-direction=rail-in]{animation:page-layer-slide-left-out .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-entering[data-direction=rail-in]{animation:page-layer-slide-left-in .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-leaving[data-direction=rail-out]{animation:page-layer-slide-right-out .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-entering[data-direction=rail-out]{animation:page-layer-slide-right-in .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-leaving[data-direction=account-in]{animation:page-layer-slide-down-out .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-entering[data-direction=account-in]{animation:page-layer-slide-down-in .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-leaving[data-direction=account-out]{animation:page-layer-slide-up-out .36s cubic-bezier(.22,1,.36,1) both}.page-transition-layer.is-entering[data-direction=account-out]{animation:page-layer-slide-up-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes page-layer-slide-left-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.92;transform:translate3d(-100%,0,0)}}@keyframes page-layer-slide-right-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.92;transform:translate3d(100%,0,0)}}@keyframes page-layer-slide-down-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.92;transform:translate3d(0,100%,0)}}@keyframes page-layer-slide-down-in{0%{opacity:1;transform:translate3d(0,-100%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes page-layer-slide-up-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.92;transform:translate3d(0,-100%,0)}}@keyframes page-layer-slide-up-in{0%{opacity:1;transform:translate3d(0,100%,0)}to{opacity:1;transform:translateZ(0)}}.utility-navigation.is-locked,.utility-navigation__button:disabled{cursor:default}.utility-navigation__button:disabled{opacity:.72}.page-shell__back:disabled{opacity:.55;cursor:default}.page-shell:not([data-page=library]) .page-shell__content{width:min(1180px,100%);margin-inline:auto;padding:clamp(20px,3vw,42px)}.utility-navigation{min-width:0;min-height:0;grid-column:2;grid-row:2;display:flex;flex-direction:column;align-items:stretch;overflow-y:auto;overscroll-behavior-y:contain;padding-right:var(--page-shell-safe-right);padding-bottom:var(--page-shell-safe-bottom);border-left:1px solid var(--line, #373b39);background:#101111fa}.utility-navigation__button{position:relative;width:100%;min-height:var(--page-shell-rail-width, 56px);display:grid;place-items:center;padding:0;border:0;border-bottom:1px solid #2b2d2c;border-radius:0;background:transparent;color:var(--muted, #9da29f);cursor:pointer}.utility-navigation__button:hover,.utility-navigation__button:focus-visible,.utility-navigation__button.is-selected{background:#252827;color:var(--paper, #f5f4f1)}.utility-navigation__button.is-selected{box-shadow:inset 3px 0 var(--sea, #77c7aa)}.utility-navigation__button:focus-visible,.page-shell__back:focus-visible{outline:2px solid var(--sea, #77c7aa);outline-offset:-3px}.utility-navigation__badge{position:absolute;right:5px;bottom:5px;min-width:16px;height:16px;display:grid;place-items:center;padding-inline:4px;border:2px solid #101111;border-radius:999px;background:#d84b50;color:#fff;font-size:9px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1}@media(orientation:landscape)and (max-height:560px){.page-shell{--page-shell-rail-width: 52px;--page-shell-topbar-min-height: 52px}.page-shell__page-header{min-height:52px;padding-block:5px}.page-shell__page-header h1{font-size:20px}.page-shell__back{width:38px;height:38px;flex-basis:38px}.page-shell:not([data-page=library]) .page-shell__content{padding-block:16px}}@media(max-width:680px){.page-shell{--page-shell-rail-width: 52px}.page-shell__page-header{padding-inline:14px}.page-shell:not([data-page=library]) .page-shell__content{padding:18px 14px}}@media(prefers-reduced-motion:reduce){.page-shell *,.page-shell *:before,.page-shell *:after{scroll-behavior:auto!important}.page-transition-layer.is-leaving,.page-transition-layer.is-entering{animation-duration:1ms!important;animation-delay:0ms!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell{--page-shell-rail-width: 34px;--page-shell-topbar-min-height: 36px}.page-shell:not([data-page=library]) .page-shell__content{width:100%;max-width:100%;margin-inline:0;padding:6px 8px 8px}.page-shell__page-header{min-height:32px;padding:4px 8px;gap:8px}.page-shell__page-header h1{font-size:14px}.page-shell__back{width:28px;height:28px;flex-basis:28px}.utility-navigation__button{min-height:34px}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell:not([data-page=library]) .page-shell__content{padding:4px 6px 6px!important}.page-shell__page-header{min-height:28px!important;padding:2px 6px!important}.page-shell__page-header h1{font-size:13px!important}.page-shell__back{width:26px!important;height:26px!important;flex-basis:26px!important}}.page-shell__main,.shop-page,.account-page,.settings-page,.daily-tasks-page{scrollbar-width:thin;scrollbar-color:rgba(79,208,181,.38) rgba(255,255,255,.04)}.page-shell__main::-webkit-scrollbar,.shop-page::-webkit-scrollbar,.account-page::-webkit-scrollbar,.settings-page::-webkit-scrollbar,.daily-tasks-page::-webkit-scrollbar{width:8px;height:8px}.page-shell__main::-webkit-scrollbar-track,.shop-page::-webkit-scrollbar-track,.account-page::-webkit-scrollbar-track,.settings-page::-webkit-scrollbar-track,.daily-tasks-page::-webkit-scrollbar-track{background:#ffffff08;border-left:1px solid rgba(255,255,255,.04)}.page-shell__main::-webkit-scrollbar-thumb,.shop-page::-webkit-scrollbar-thumb,.account-page::-webkit-scrollbar-thumb,.settings-page::-webkit-scrollbar-thumb,.daily-tasks-page::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4fd0b58c,#4fd0b538);border:1px solid rgba(79,208,181,.25);border-radius:999px;background-clip:padding-box}.page-shell__main::-webkit-scrollbar-thumb:hover,.shop-page::-webkit-scrollbar-thumb:hover,.account-page::-webkit-scrollbar-thumb:hover,.settings-page::-webkit-scrollbar-thumb:hover,.daily-tasks-page::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4fd0b5bf,#4fd0b559)}.page-shell__main::-webkit-scrollbar-corner,.shop-page::-webkit-scrollbar-corner,.account-page::-webkit-scrollbar-corner,.settings-page::-webkit-scrollbar-corner,.daily-tasks-page::-webkit-scrollbar-corner{background:transparent}.page-shell:not([data-page=library]) .page-shell__page-header{flex:0 0 auto}.page-shell.is-leaving-to-title{pointer-events:none;grid-template-columns:minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important}.page-shell.is-leaving-to-title .page-shell__topbar,.page-shell.is-leaving-to-title .utility-navigation,.page-shell.is-leaving-to-title .page-shell__page-header{display:none!important}.page-shell.is-leaving-to-title .page-shell__main{grid-column:1 / -1!important;grid-row:1 / -1!important;min-height:0!important;height:100%!important;overflow:hidden!important;padding:0!important}.page-shell.is-leaving-to-title .page-shell__content{width:100%!important;max-width:none!important;height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important}.page-shell.is-leaving-to-title .page-transition-stack,.page-shell.is-leaving-to-title .page-transition-layer{height:100%!important;min-height:100%!important}.song-download-control{--song-cache-accent: var(--sea, #55d6c2);--song-cache-danger: #ff7a7d;--song-cache-muted: var(--muted, #a3aaa6);position:relative;display:inline-grid;width:auto;min-width:118px;min-height:36px;gap:0}.song-selection-actions>.song-download-control,.song-copy__score-row .song-download-control{width:auto;min-width:118px;min-height:36px}.song-download-control[data-status=cached]{min-width:108px}.song-download-control__button{position:relative;width:auto;min-width:118px;height:36px;min-height:36px;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid #555a58;border-radius:8px;background:linear-gradient(180deg,#242a29fa,#161a19fa);color:#e8ecea;font:inherit;font-size:12px;font-weight:800;letter-spacing:.02em;cursor:pointer;white-space:nowrap;box-shadow:inset 0 1px #ffffff0d}.song-download-control__button>svg{width:16px;height:16px;flex:0 0 16px}.song-download-control__button>span{line-height:1}.song-download-control__button:focus-visible{outline:2px solid var(--song-cache-accent);outline-offset:2px}.song-download-control__button:not(:disabled):hover{border-color:#4fd0b573;background:linear-gradient(180deg,#2c3432fa,#1c2220fa)}.song-download-control__button:disabled{cursor:not-allowed}.song-download-control__button[aria-busy=true] svg{animation:song-cache-spin .9s linear infinite}.song-download-control__button--cached{border-color:#4fd0b559;background:#1c2826eb;color:#9fd9cf}.song-download-control[data-status=failed] .song-download-control__button{border-color:var(--song-cache-danger)}.song-download-control[data-status=failed] .song-download-control__button>svg{color:var(--song-cache-danger)}.song-download-control[data-status=unsupported] .song-download-control__button{border-color:#4b4f4d;background:transparent;color:var(--song-cache-muted)}.song-download-control__announcement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.song-cache-badge{display:inline-flex;min-height:20px;align-items:center;gap:4px;color:var(--sea, #55d6c2);font-size:10px;font-weight:700;line-height:1;white-space:nowrap}.song-download-modal{position:fixed;inset:0;z-index:120;display:grid;place-items:center;place-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#0507099e;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.song-download-modal.is-entering{animation:song-download-modal-scrim-in .28s cubic-bezier(.22,1,.36,1) both}.song-download-modal.is-leaving{animation:song-download-modal-scrim-out .24s ease both;pointer-events:none}.song-download-modal.is-entering .song-download-modal__panel{animation:song-download-modal-panel-in .28s cubic-bezier(.22,1,.36,1) both}.song-download-modal.is-leaving .song-download-modal__panel{animation:song-download-modal-panel-out .24s ease both}.song-download-modal__panel{width:min(420px,100%);max-height:min(86dvh,100%);margin:0;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:radial-gradient(circle at 20% 0%,rgba(79,208,181,.12),transparent 42%),#171a1a;box-shadow:0 24px 64px #00000073;overflow:auto;justify-self:center;align-self:center}.song-download-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0}.song-download-modal__header h2{margin:0;font-size:18px}.song-download-modal__icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;color:var(--muted, #9da29f);cursor:pointer}.song-download-modal__icon-btn:hover,.song-download-modal__icon-btn:focus-visible{color:var(--paper, #f5f4f1);border-color:#4fd0b58c}.song-download-modal__body{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:14px}.song-download-modal__cover{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#222}.song-download-modal__cover--empty{background:linear-gradient(145deg,#4fd0b52e,#1e2424f2)}.song-download-modal__copy{min-width:0;display:grid;align-content:start;gap:4px}.song-download-modal__copy strong{font-size:16px;line-height:1.2}.song-download-modal__copy span{color:var(--muted, #9da29f);font-size:12px}.song-download-modal__copy p{margin:6px 0 0;color:var(--paper, #f5f4f1);font-size:13px;line-height:1.45}.song-download-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.song-download-modal__btn{min-height:38px;min-width:96px;padding:0 14px;border-radius:10px;border:1px solid transparent;cursor:pointer;font:inherit;font-weight:700}.song-download-modal__btn--ghost{border-color:#ffffff24;background:transparent;color:var(--paper, #f5f4f1)}.song-download-modal__btn--primary{background:linear-gradient(180deg,#30584efa,#1c342efa);border-color:#4fd0b573;color:#f4fffc}.song-download-modal__result{position:relative;display:grid;justify-items:center;gap:10px;padding:28px 20px 24px;text-align:center}.song-download-modal__result h2{margin:0;font-size:20px}.song-download-modal__result p{margin:0;color:var(--muted, #9da29f);font-size:13px;line-height:1.45}.song-download-modal__result-icon{color:#7ef0d4}.song-download-modal__spinner{color:#7ef0d4;animation:song-cache-spin .9s linear infinite}.song-download-modal__fail-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:999px;background:#ff7a7d24;border:1px solid rgba(255,122,125,.4);color:#ffb0b2;font-size:24px;font-weight:900}.song-download-modal__result .song-download-modal__actions{width:100%;justify-content:center;padding:8px 0 0}.song-download-modal__result .song-download-modal__progress{width:min(280px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;margin-top:4px}.song-download-modal__progress-bar{height:8px;border-radius:999px;background:#ffffff14;overflow:hidden}.song-download-modal__progress-bar>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3fb89f,#7ef0d4);transition:width .16s ease}.song-download-modal__progress strong{min-width:3.2em;text-align:right;font-variant-numeric:tabular-nums;font-size:13px;color:var(--sea, #55d6c2)}.song-download-modal[data-phase=progress] .song-download-modal__panel{background:radial-gradient(circle at 50% 0%,rgba(79,208,181,.16),transparent 48%),#171a1a}.song-download-modal[data-phase=success] .song-download-modal__panel{background:radial-gradient(circle at 50% 0%,rgba(79,208,181,.2),transparent 48%),#171a1a}.song-download-modal[data-phase=failure] .song-download-modal__panel{background:radial-gradient(circle at 50% 0%,rgba(255,122,125,.16),transparent 48%),#171a1a}@keyframes song-download-modal-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes song-download-modal-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes song-download-modal-panel-in{0%{opacity:0;transform:translateY(10px) scale(.98);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes song-download-modal-panel-out{0%{opacity:1;transform:none;filter:none}to{opacity:0;transform:translateY(8px) scale(.98);filter:blur(4px)}}@keyframes song-cache-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.song-download-control__button[aria-busy=true] svg,.song-download-modal.is-entering,.song-download-modal.is-leaving,.song-download-modal.is-entering .song-download-modal__panel,.song-download-modal.is-leaving .song-download-modal__panel,.song-download-modal__spinner{animation-duration:1ms!important}}.profile-achievements{display:grid;gap:14px;padding:18px;color:var(--paper, #f3f4f3);letter-spacing:0}.profile-achievements__rating{display:flex;min-width:0;align-items:end;justify-content:space-between;gap:18px;padding:2px 2px 13px;border-bottom:1px solid var(--line, #373b39)}.profile-achievements__rating span{color:var(--muted, #9da29f);font-size:12px}.profile-achievements__rating strong{min-width:0;overflow-wrap:anywhere;color:var(--sea, #77c7aa);font-size:30px;font-variant-numeric:tabular-nums;line-height:1}.profile-achievements__difficulty{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 11px 0 13px;border:1px solid var(--line, #373b39);border-radius:4px;background:transparent;color:inherit;font:inherit;font-size:13px;cursor:pointer}.profile-achievements__difficulty:hover,.profile-achievements__difficulty:focus-visible{border-color:var(--sea, #77c7aa)}.profile-achievements__difficulty:focus-visible{outline:2px solid var(--sea, #77c7aa);outline-offset:2px}.profile-achievements__difficulty svg{flex:0 0 auto;color:var(--muted, #9da29f)}.profile-achievements__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px}.profile-achievements__metric{min-width:0;min-height:82px;display:grid;align-content:space-between;gap:10px;padding:11px;border-top:2px solid var(--line, #373b39);background:#202222}.profile-achievements__metric span{color:var(--muted, #9da29f);font-size:10px;overflow-wrap:anywhere}.profile-achievements__metric strong{min-width:0;overflow-wrap:anywhere;color:var(--paper, #f3f4f3);font-size:18px;font-variant-numeric:tabular-nums}.profile-achievements__progress{width:100%;height:4px;overflow:hidden;background:#343837}.profile-achievements__progress-fill{height:100%;display:block;background:var(--sea, #77c7aa);transition:width .16s ease-out}@media(prefers-reduced-motion:reduce){.profile-achievements__progress-fill{transition:none}}@media(max-width:420px){.profile-achievements__grid{grid-template-columns:1fr}.profile-achievements__metric{min-height:68px;grid-template-columns:minmax(0,1fr) auto;align-items:center}.profile-achievements__progress{grid-column:1 / -1}}.settings-page{--settings-ink: var(--ink, #101111);--settings-smoke: var(--smoke, #1b1d1d);--settings-line: var(--line, #3b3e3d);--settings-muted: var(--muted, #a4aaa7);--settings-paper: var(--paper, #f5f4f1);--settings-signal: var(--signal, #e23b3f);--settings-sea: var(--sea, #37b89a);position:relative;box-sizing:border-box;width:100%;min-width:0;min-height:100%;height:100%;display:block;overflow:hidden;color:var(--settings-paper);background:var(--settings-ink);font-variant-numeric:tabular-nums}.settings-page button,.settings-page input{font:inherit;letter-spacing:0}.settings-page button:focus-visible,.settings-page input:focus-visible{outline:2px solid var(--settings-sea);outline-offset:3px}.settings-page__header{min-height:74px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:16px;padding:10px clamp(16px,4vw,48px);border-bottom:1px solid var(--settings-line);background:#151717}.settings-page__header-spacer{width:44px;height:44px}.settings-page__heading{min-width:0}.settings-page__heading>span,.settings-section-heading>div>span{display:block;color:var(--settings-sea);font-size:10px;font-weight:800;text-transform:uppercase}.settings-page__heading h1{margin:3px 0 0;overflow-wrap:anywhere;font-size:26px;line-height:1.05}.settings-page__trailing{min-width:72px;display:flex;justify-content:flex-end}.settings-page__status,.settings-page__value{padding:7px 10px;border:1px solid var(--settings-line);color:var(--settings-muted);font-size:11px;font-weight:800}.settings-page__value{color:var(--settings-sea);font-size:14px}.settings-icon-button{width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:4px;color:var(--settings-paper);background:transparent;cursor:pointer}.settings-icon-button:hover{background:#252827}.settings-icon-button--bordered{border:1px solid #555a58;background:#202323}.settings-overview{width:min(100%,1040px);margin:0 auto;padding:clamp(28px,7vh,72px) clamp(16px,5vw,56px)}.settings-language-page{width:min(100%,860px);margin:0 auto;padding:clamp(28px,7vh,72px) clamp(16px,5vw,56px)}.settings-language-list{border-top:1px solid var(--settings-line)}.settings-language-option{min-height:82px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:18px;padding:14px 20px;border-bottom:1px solid var(--settings-line);cursor:pointer}.settings-language-option:hover,.settings-language-option:has(input:checked){background:#1b1e1d}.settings-language-option:has(input:checked){box-shadow:inset 3px 0 var(--settings-sea)}.settings-language-option input{width:19px;height:19px;margin:0;accent-color:var(--settings-sea);cursor:pointer}.settings-language-option span,.settings-language-option strong,.settings-language-option small{min-width:0;display:block}.settings-language-option strong{font-size:16px}.settings-language-option small{margin-top:4px;color:var(--settings-muted);font-size:10px;text-transform:uppercase}.settings-menu{border-top:1px solid var(--settings-line)}.settings-menu__item{width:100%;min-height:96px;display:grid;grid-template-columns:52px minmax(0,1fr) auto 28px;align-items:center;gap:18px;padding:16px 20px;border:0;border-bottom:1px solid var(--settings-line);color:var(--settings-paper);background:transparent;text-align:left;cursor:pointer}.settings-menu__item:hover{background:#1b1e1d;box-shadow:inset 3px 0 var(--settings-signal)}.settings-menu__icon{width:52px;aspect-ratio:1;display:grid;place-items:center;border:1px solid var(--settings-line);color:var(--settings-sea);background:#191b1b}.settings-menu__copy{min-width:0}.settings-menu__copy strong,.settings-menu__copy small{display:block}.settings-menu__copy strong{overflow-wrap:anywhere;font-size:17px}.settings-menu__copy small{margin-top:5px;color:var(--settings-muted);font-size:11px}.settings-menu__item output{color:var(--settings-sea);font-size:17px;font-weight:800}.settings-menu__item>svg{color:var(--settings-muted)}.settings-audio-page,.settings-note-page{width:min(100%,1200px);min-height:0;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.8fr);border-inline:1px solid #252827}.settings-calibration,.settings-manual,.settings-note-preview-panel,.settings-note-controls{min-width:0;padding:clamp(24px,4vw,48px)}.settings-calibration,.settings-note-preview-panel{border-right:1px solid var(--settings-line)}.settings-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.settings-section-heading h2{margin:5px 0 0;font-size:20px}.settings-suggestion{min-width:104px;text-align:right}.settings-suggestion span,.settings-suggestion strong{display:block}.settings-suggestion span{color:var(--settings-muted);font-size:10px}.settings-suggestion strong{margin-top:4px;color:var(--settings-sea);font-size:22px}.settings-beat-stage{min-height:220px;display:grid;place-content:center;justify-items:center;gap:24px;border:1px solid var(--settings-line);border-radius:4px;background:#171919}.settings-beat-stage>svg{color:var(--settings-muted)}.settings-beat-stage.is-running>svg{color:var(--settings-sea)}.settings-beat-bars{height:54px;display:flex;align-items:end;gap:12px}.settings-beat-bars span{width:11px;height:28px;display:block;background:#444846;transform-origin:bottom;transition:height 90ms ease,background-color 90ms ease}.settings-beat-bars span.active{height:54px;background:var(--settings-signal)}.settings-beat-status{min-height:18px;color:var(--settings-muted);font-size:12px;font-weight:700}.settings-calibration__actions{display:grid;grid-template-columns:minmax(150px,.65fr) minmax(180px,1fr);gap:10px;margin-top:12px}.settings-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 18px;border:1px solid transparent;border-radius:4px;cursor:pointer}.settings-button:disabled{opacity:.4;cursor:not-allowed}.settings-button--primary,.settings-button--tap{color:#fff;background:var(--settings-signal);font-weight:800}.settings-button--tap{min-height:54px}.settings-button--secondary{border-color:#555a58;color:var(--settings-paper);background:#202323}.settings-sample-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:18px 0 0;padding:0;list-style:none;background:var(--settings-line)}.settings-sample-list li{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px;background:#1c1f1e}.settings-sample-list span{color:var(--settings-muted);font-size:10px}.settings-sample-list strong{font-size:12px}.settings-apply-button{width:100%;margin-top:18px}.settings-manual,.settings-note-controls{align-content:start;background:#151717}.settings-offset-stepper{display:grid;grid-template-columns:44px minmax(120px,1fr) 44px;align-items:end;gap:9px}.settings-offset-stepper label{min-width:0;display:grid;gap:8px}.settings-offset-stepper label>span,.settings-range-field>span{color:var(--settings-muted);font-size:11px}.settings-offset-stepper input[role=spinbutton]{width:100%;height:44px;padding:0 10px;border:1px solid #555a58;border-radius:4px;color:var(--settings-paper);background:#202323;text-align:center;font-weight:800}.settings-range-field{display:grid;gap:14px;margin-top:34px}.settings-range-field>span,.settings-range-field small{display:flex;align-items:center;justify-content:space-between;gap:12px}.settings-range-field b{color:var(--settings-paper)}.settings-range-field output{color:var(--settings-sea);font-size:15px;font-weight:800}.settings-range-field input[type=range]{width:100%;margin:0;accent-color:var(--settings-sea);cursor:pointer}.settings-range-field small{color:#787d7a;font-size:10px}.settings-reset-button{width:100%;margin-top:34px}.settings-note-page{grid-template-columns:minmax(0,1.4fr) minmax(320px,.75fr)}.settings-note-preview{position:relative;width:100%;aspect-ratio:16 / 9;min-height:260px;overflow:hidden;border:1px solid var(--settings-line);border-radius:4px;background:#0c0d0d}.settings-preview-grid{position:absolute;inset:0;display:grid;grid-template-columns:repeat(4,1fr)}.settings-preview-grid span{border-right:1px solid #252827}.settings-preview-judgement{position:absolute;left:7%;right:7%;bottom:19%;height:3px;background:var(--settings-paper);box-shadow:0 0 0 1px #080909}.settings-preview-note{position:absolute;z-index:2;left:50%;bottom:calc(19% + 3px);width:min(38%,220px);height:22px;transform:translate(-50%);transform-origin:center bottom}.settings-preview-note--reference{border:1px dashed #747976;background:transparent}.settings-preview-note--active{display:grid;place-items:center;border:2px solid var(--settings-paper);background:var(--settings-signal);transform:translate(-50%) scale(var(--settings-note-scale));box-shadow:inset 0 -4px var(--settings-sea)}.settings-preview-note--active span{width:36%;height:3px;background:#fff}.settings-preview-caption{position:absolute;left:12px;top:12px;color:var(--settings-muted);font-size:10px}.settings-note-controls .settings-section-heading>output{color:var(--settings-sea);font-size:24px;font-weight:800}.settings-note-range{margin-top:56px}.settings-note-range>span>span{color:var(--settings-sea)}@media(max-width:820px){.settings-audio-page,.settings-note-page{grid-template-columns:minmax(0,1fr);border-inline:0}.settings-calibration,.settings-note-preview-panel{border-right:0;border-bottom:1px solid var(--settings-line)}.settings-note-preview{min-height:220px}}@media(max-width:560px){.settings-page__header{grid-template-columns:42px minmax(0,1fr) auto;gap:10px;min-height:68px}.settings-page__header-spacer,.settings-icon-button{width:42px;height:42px}.settings-page__heading h1{font-size:20px}.settings-page__status{display:none}.settings-page__trailing{min-width:0}.settings-menu__item{grid-template-columns:46px minmax(0,1fr) auto;gap:12px;padding-inline:10px}.settings-menu__icon{width:46px}.settings-menu__item>svg{display:none}.settings-menu__item output{font-size:14px}.settings-calibration,.settings-manual,.settings-note-preview-panel,.settings-note-controls{padding:24px 16px}.settings-calibration__actions{grid-template-columns:1fr}.settings-sample-list{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-range-field small span:nth-child(2){display:none}.settings-note-preview{min-height:190px}}@media(prefers-reduced-motion:reduce){.settings-beat-bars span{transition:none}}.settings-page__status{display:none!important}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.settings-page{min-width:0;min-height:0}.settings-page__header{min-height:34px;grid-template-columns:28px minmax(0,1fr) auto;gap:8px;padding:4px 8px}.settings-page__header-spacer,.settings-icon-button{width:28px;height:28px}.settings-page__heading h1{margin-top:0;font-size:15px}.settings-page__heading>span,.settings-section-heading>div>span{font-size:9px}.settings-overview,.settings-section{padding:8px!important}.settings-menu{gap:4px}.settings-menu__item{min-height:0;padding:6px 8px;gap:8px}.settings-menu__icon{width:28px;height:28px}.settings-menu__icon svg{width:16px;height:16px}.settings-menu__copy strong{font-size:12px}.settings-menu__copy small,.settings-menu__item output{font-size:10px}.settings-page__value,.settings-page__status{padding:3px 6px;font-size:10px}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.settings-page{min-height:100%!important;height:100%!important}.settings-page__header{min-height:30px!important;grid-template-columns:26px minmax(0,1fr) auto!important;gap:6px!important;padding:3px 8px!important}.settings-page__header-spacer,.settings-icon-button{width:26px!important;height:26px!important}.settings-page__heading h1{font-size:14px!important;margin:0!important}.settings-overview,.settings-section{padding:6px!important}.settings-menu{gap:3px!important}.settings-menu__item{min-height:0!important;padding:5px 6px!important;gap:6px!important}.settings-menu__icon{width:24px!important;height:24px!important}.settings-menu__icon svg{width:14px!important;height:14px!important}.settings-menu__copy strong{font-size:11px!important}.settings-menu__copy small,.settings-menu__item output{font-size:9px!important}.settings-page__value{padding:2px 5px!important;font-size:10px!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.settings-page{min-width:0!important;min-height:100%!important;height:100%!important;max-height:100%!important;overflow:hidden!important;display:block!important}.settings-section-layer{grid-template-rows:auto minmax(0,1fr)!important}.settings-page__header{min-height:28px!important;grid-template-columns:24px minmax(0,1fr) auto!important;gap:6px!important;padding:2px 8px!important}.settings-page__header-spacer,.settings-icon-button{width:24px!important;height:24px!important}.settings-icon-button svg{width:14px!important;height:14px!important}.settings-page__heading h1{margin:0!important;font-size:13px!important;line-height:1.1!important}.settings-page__heading>span,.settings-section-heading>div>span{font-size:8px!important;line-height:1!important}.settings-page__trailing{min-width:0!important}.settings-page__value{padding:1px 5px!important;font-size:10px!important}.settings-overview{width:100%!important;max-width:100%!important;margin:0!important;padding:4px 6px!important}.settings-menu__item{min-height:0!important;grid-template-columns:22px minmax(0,1fr) auto 14px!important;gap:6px!important;padding:4px 6px!important}.settings-menu__icon{width:22px!important;height:22px!important}.settings-menu__icon svg{width:12px!important;height:12px!important}.settings-menu__copy strong{font-size:11px!important}.settings-menu__copy small{margin-top:1px!important;font-size:9px!important}.settings-menu__item output{font-size:11px!important}.settings-menu__item>svg{width:12px!important;height:12px!important}.settings-language-page{width:100%!important;max-width:100%!important;margin:0!important;padding:4px 6px!important}.settings-language-option{min-height:0!important;grid-template-columns:16px minmax(0,1fr)!important;gap:8px!important;padding:6px 8px!important}.settings-language-option input{width:14px!important;height:14px!important}.settings-language-option strong{font-size:12px!important}.settings-language-option small{margin-top:1px!important;font-size:9px!important}.settings-audio-page,.settings-note-page{width:100%!important;max-width:100%!important;min-height:0!important;height:auto!important;max-height:calc(100% - 30px)!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr)!important;overflow:auto!important;border-inline:0!important}.settings-calibration,.settings-manual,.settings-note-preview-panel,.settings-note-controls{padding:6px 8px!important}.settings-section-heading{gap:8px!important;margin-bottom:6px!important;align-items:center!important}.settings-section-heading h2{margin:0!important;font-size:12px!important}.settings-suggestion{min-width:0!important}.settings-suggestion span{font-size:9px!important}.settings-suggestion strong{font-size:12px!important}.settings-calibration__actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px!important;margin:6px 0!important}.settings-calibration__actions button,.settings-manual button,.settings-note-controls button{min-height:24px!important;padding:2px 6px!important;font-size:10px!important}.settings-beat-surface,.settings-beat-pad,.settings-calibration-surface{min-height:56px!important;height:56px!important;max-height:64px!important;padding:6px!important}.settings-beat-bars{gap:3px!important}.settings-beat-bars span{width:4px!important}.settings-sample-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:3px!important;margin-top:6px!important}.settings-sample-list li,.settings-sample-list button{min-height:22px!important;padding:2px 4px!important;font-size:9px!important}.settings-range-field,.settings-note-range{margin-top:8px!important}.settings-range-field label,.settings-range-field small{font-size:9px!important}.settings-range-field input[type=range]{height:18px!important}.settings-manual .settings-section-heading,.settings-note-controls .settings-section-heading{margin-bottom:4px!important}.settings-note-controls .settings-section-heading>output{font-size:14px!important}.settings-note-preview,.settings-note-preview-panel .settings-note-preview{min-height:72px!important;height:72px!important;max-height:88px!important}.settings-preview-caption{font-size:8px!important;left:6px!important;top:4px!important}.settings-note-range{margin-top:8px!important}}@media(orientation:landscape)and (max-height:400px){.settings-audio-page,.settings-note-page{grid-template-columns:1fr!important}.settings-calibration,.settings-note-preview-panel{border-right:0!important;border-bottom:1px solid var(--settings-line)!important}.settings-beat-surface,.settings-beat-pad,.settings-calibration-surface,.settings-note-preview{min-height:48px!important;height:48px!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.settings-page{height:100%!important;max-height:100%!important;overflow:hidden!important}.settings-audio-page,.settings-note-page{width:100%!important;max-width:100%!important;height:calc(100% - 30px)!important;max-height:calc(100% - 30px)!important;margin:0!important;display:grid!important;grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important;border:0!important}.settings-calibration,.settings-manual,.settings-note-preview-panel,.settings-note-controls{min-height:0!important;overflow:auto!important;padding:6px 8px!important}.settings-section-heading{margin-bottom:4px!important;gap:6px!important}.settings-section-heading h2{margin:0!important;font-size:12px!important}.settings-suggestion strong{margin-top:0!important;font-size:13px!important}.settings-suggestion span{font-size:8px!important}.settings-beat-stage{min-height:0!important;height:64px!important;max-height:64px!important;gap:4px!important;padding:4px!important}.settings-beat-stage>svg{width:18px!important;height:18px!important}.settings-beat-bars{height:22px!important;gap:4px!important}.settings-beat-bars span{width:5px!important;height:10px!important}.settings-beat-bars span.active{height:22px!important}.settings-beat-status{min-height:0!important;font-size:10px!important}.settings-calibration__actions{grid-template-columns:1fr 1fr!important;gap:4px!important;margin-top:4px!important}.settings-button{min-height:24px!important;height:24px!important;padding:0 8px!important;gap:4px!important;font-size:10px!important}.settings-button--tap{min-height:28px!important;height:28px!important}.settings-apply-button{margin-top:6px!important}.settings-sample-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:1px!important;margin-top:6px!important}.settings-sample-list li{padding:3px 5px!important}.settings-sample-list span{font-size:8px!important}.settings-sample-list strong{font-size:10px!important}.settings-offset-stepper{grid-template-columns:24px minmax(0,1fr) 24px!important;gap:4px!important}.settings-offset-stepper label{gap:2px!important}.settings-offset-stepper label>span,.settings-range-field>span{font-size:9px!important}.settings-offset-stepper input[role=spinbutton]{height:24px!important;padding:0 4px!important;font-size:11px!important}.settings-icon-button--bordered{width:24px!important;height:24px!important}.settings-range-field{gap:4px!important;margin-top:8px!important}.settings-range-field output{font-size:11px!important}.settings-range-field small{font-size:9px!important}.settings-reset-button{margin-top:6px!important}.settings-note-preview{min-height:0!important;height:70px!important;max-height:70px!important}.settings-note-controls .settings-section-heading>output{font-size:13px!important}.settings-note-range{margin-top:8px!important}.settings-preview-caption{font-size:8px!important}}@media(orientation:landscape)and (max-height:400px){.settings-audio-page,.settings-note-page{grid-template-columns:1fr 1fr!important}.settings-beat-stage{height:48px!important;max-height:48px!important}.settings-note-preview{height:52px!important;max-height:52px!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.settings-page{height:100%!important;max-height:100%!important;min-height:100%!important;display:block!important;overflow:hidden!important}.settings-section-layer{display:grid!important;grid-template-rows:auto minmax(0,1fr)!important}.settings-section-layer>.settings-audio-page,.settings-section-layer>.settings-note-page{height:auto!important;max-height:none!important;min-height:0!important;display:grid!important;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden!important}.settings-audio-page,.settings-note-page{height:100%!important;max-height:100%!important}.settings-calibration,.settings-manual,.settings-note-preview-panel,.settings-note-controls{height:100%!important;max-height:100%!important;min-height:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;align-content:stretch!important;gap:8px!important;padding:8px 10px!important}.settings-section-heading{flex:0 0 auto!important;margin-bottom:0!important}.settings-beat-stage{flex:1 1 auto!important;min-height:56px!important;height:auto!important;max-height:none!important;gap:8px!important;place-content:center!important}.settings-beat-stage>svg{width:22px!important;height:22px!important}.settings-beat-bars{height:28px!important;gap:6px!important}.settings-beat-bars span{width:6px!important;height:12px!important}.settings-beat-bars span.active{height:28px!important}.settings-calibration__actions,.settings-sample-list,.settings-apply-button,.settings-offset-stepper,.settings-range-field,.settings-reset-button{flex:0 0 auto!important;margin-top:0!important}.settings-calibration__actions{gap:6px!important}.settings-button{min-height:28px!important;height:28px!important;font-size:11px!important}.settings-button--tap{min-height:32px!important;height:32px!important}.settings-sample-list,.settings-offset-stepper{margin-top:0!important}.settings-offset-stepper input[role=spinbutton]{height:28px!important}.settings-range-field{gap:6px!important;margin-top:0!important;flex:1 1 auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important}.settings-note-preview{flex:1 1 auto!important;min-height:64px!important;height:auto!important;max-height:none!important}.settings-note-range{margin-top:0!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell[data-page=settings] .page-shell__content{height:100%!important;min-height:0!important;display:flex!important;flex-direction:column!important;padding:0!important}.page-shell[data-page=settings] .settings-page{flex:1 1 auto!important;width:100%!important;min-height:0!important}}.settings-page{position:relative;box-sizing:border-box;width:100%;min-height:100%;height:100%;overflow:hidden;display:block;background:var(--settings-ink, #101111)}.settings-page.is-section-transitioning{pointer-events:none}.settings-section-stack{position:absolute;inset:0;isolation:isolate;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:var(--settings-ink, #101111)}.settings-section-layer{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:var(--settings-ink, #101111)}.settings-section-layer>.settings-overview,.settings-section-layer>.settings-section,.settings-section-layer>.settings-audio-page,.settings-section-layer>.settings-note-page{min-height:0;overflow:auto;overscroll-behavior:contain}.settings-section-layer.is-leaving,.settings-section-layer.is-entering{will-change:transform,opacity}.settings-section-layer.is-leaving{z-index:1;pointer-events:none}.settings-section-layer.is-entering{z-index:2}.settings-section-layer:not(.is-leaving):not(.is-entering){z-index:1}.settings-section-layer.is-leaving[data-direction=rail-in]{animation:page-layer-slide-left-out .36s cubic-bezier(.22,1,.36,1) both}.settings-section-layer.is-entering[data-direction=rail-in]{animation:page-layer-slide-left-in .36s cubic-bezier(.22,1,.36,1) both}.settings-section-layer.is-leaving[data-direction=rail-out]{animation:page-layer-slide-right-out .36s cubic-bezier(.22,1,.36,1) both}.settings-section-layer.is-entering[data-direction=rail-out]{animation:page-layer-slide-right-in .36s cubic-bezier(.22,1,.36,1) both}@keyframes page-layer-slide-left-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.96;transform:translate3d(-100%,0,0)}}@keyframes page-layer-slide-left-in{0%{opacity:1;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes page-layer-slide-right-out{0%{opacity:1;transform:translateZ(0)}to{opacity:.96;transform:translate3d(100%,0,0)}}@keyframes page-layer-slide-right-in{0%{opacity:1;transform:translate3d(-100%,0,0)}to{opacity:1;transform:translateZ(0)}}@media(prefers-reduced-motion:reduce){.settings-section-layer.is-leaving,.settings-section-layer.is-entering{animation-duration:1ms!important;animation-delay:0ms!important}}.shop-page{--shop-purchase-bg: #c6333a;--shop-purchase-hover-bg: #a9252d;--shop-daily-label: #f05a5f;width:100%;min-height:100%;color:var(--paper, #f5f4f1);background:#151717;letter-spacing:0}.shop-page__header{min-height:66px;display:flex;align-items:baseline;gap:18px;padding:14px clamp(18px,4vw,44px);border-bottom:1px solid var(--line, #3b3e3d);background:#191b1b}.shop-page__header span{color:var(--signal, #e23b3f);font-size:11px;font-weight:800}.shop-page__header h1{margin:0;font-size:25px;line-height:1.1}.shop-page__catalog{width:min(1040px,100%);margin-inline:auto;padding:clamp(16px,3vw,32px) clamp(16px,4vw,44px)}.shop-page__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:1px;margin:0;padding:1px;list-style:none;background:var(--line, #3b3e3d)}.shop-song{min-width:0;display:grid;grid-template-columns:68px minmax(0,1fr) auto;grid-template-rows:minmax(0,1fr);align-items:center;gap:12px;min-height:90px;padding:10px;background:#1d1f1f}.shop-song__cover{width:68px;aspect-ratio:1;display:block;object-fit:cover;background:#292c2b}.shop-song__copy{min-width:0}.shop-song__copy strong,.shop-song__artist{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shop-song__copy strong{font-size:15px}.shop-song__artist{margin-top:4px;color:var(--muted, #a4aaa7);font-size:11px}.shop-song__kind{display:block;margin-bottom:4px;color:var(--muted, #a4aaa7);font-size:9px;font-weight:850;text-transform:uppercase}.shop-song[data-kind=daily-featured] .shop-song__kind{color:var(--shop-daily-label, #f05a5f)}.shop-song[data-kind=ultima-chart] .shop-song__kind{color:#e1b84b}.shop-song__owned,.shop-song__locked,.shop-song__purchase{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding-inline:12px;border:1px solid var(--line, #3b3e3d);border-radius:4px;font-size:12px;font-weight:800;white-space:nowrap}.shop-song__owned{border-color:#37b89a6b;color:var(--sea, #37b89a)}.shop-song__locked{background:transparent;color:var(--muted, #a4aaa7);cursor:not-allowed}.shop-song__purchase{background:var(--shop-purchase-bg);border-color:var(--shop-purchase-bg);color:#fff;cursor:pointer}.shop-song__purchase:hover{background:var(--shop-purchase-hover-bg);border-color:var(--shop-purchase-hover-bg)}.shop-song__purchase:focus-visible{outline:2px solid var(--sea, #37b89a);outline-offset:2px}@media(max-width:560px){.shop-page__header{min-height:60px;gap:12px}.shop-song{grid-template-columns:58px minmax(0,1fr);min-height:82px}.shop-song__cover{width:58px}.shop-song__owned,.shop-song__locked,.shop-song__purchase{grid-column:2;width:fit-content}}.shop-page__header span{display:none}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.shop-page__header{min-height:34px;padding:4px 8px;gap:6px}.shop-page__header h1{font-size:15px}.shop-page__catalog{width:100%;padding:6px 8px 8px}.shop-page__list{grid-template-columns:1fr 1fr;gap:1px}.shop-song{grid-template-columns:40px minmax(0,1fr) auto;min-height:0;height:auto;gap:8px;padding:5px 6px}.shop-song__cover{width:40px}.shop-song__copy strong{font-size:12px}.shop-song__artist,.shop-song__kind{font-size:10px}.shop-song__purchase,.shop-song__locked,.shop-song__owned{min-height:28px;padding:4px 8px;font-size:11px;gap:4px}.shop-song__purchase svg,.shop-song__locked svg,.shop-song__owned svg{width:13px;height:13px}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.shop-page__header{min-height:30px!important;padding:3px 8px!important}.shop-page__header h1{font-size:14px!important;line-height:1.1!important}.shop-page__catalog{padding:4px 6px 6px!important}.shop-page__list{grid-template-columns:1fr 1fr!important}.shop-song{grid-template-columns:36px minmax(0,1fr) auto!important;gap:6px!important;padding:4px 5px!important;min-height:0!important}.shop-song__cover{width:36px!important}.shop-song__copy strong{font-size:11px!important}.shop-song__artist,.shop-song__kind{font-size:9px!important}.shop-song__purchase,.shop-song__locked,.shop-song__owned{min-height:24px!important;padding:2px 6px!important;font-size:10px!important}}.shop-page,.shop-page__catalog{scrollbar-width:thin;scrollbar-color:rgba(79,208,181,.38) rgba(255,255,255,.04)}.shop-page::-webkit-scrollbar,.shop-page__catalog::-webkit-scrollbar{width:8px;height:8px}.shop-page::-webkit-scrollbar-track,.shop-page__catalog::-webkit-scrollbar-track{background:#ffffff08;border-left:1px solid rgba(255,255,255,.04)}.shop-page::-webkit-scrollbar-thumb,.shop-page__catalog::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#4fd0b58c,#4fd0b538);border:1px solid rgba(79,208,181,.25);border-radius:999px}.shop-page::-webkit-scrollbar-thumb:hover,.shop-page__catalog::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#4fd0b5bf,#4fd0b559)}.shop-page{position:relative}.shop-modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;place-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#0507099e;backdrop-filter:blur(8px)}.shop-modal.is-entering{animation:shop-modal-scrim-in .28s cubic-bezier(.22,1,.36,1) both}.shop-modal.is-leaving{animation:shop-modal-scrim-out .24s ease both;pointer-events:none}.shop-modal.is-entering .shop-modal__panel{animation:shop-modal-panel-in .28s cubic-bezier(.22,1,.36,1) both}.shop-modal.is-leaving .shop-modal__panel{animation:shop-modal-panel-out .24s ease both}.shop-modal__panel{width:min(420px,100%);max-height:min(86dvh,100%);margin:0;border:1px solid rgba(255,255,255,.12);border-radius:16px;background:radial-gradient(circle at 20% 0%,rgba(79,208,181,.12),transparent 42%),#171a1a;box-shadow:0 24px 64px #00000073;overflow:auto;justify-self:center;align-self:center}.shop-modal__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 14px 0}.shop-modal__header h2{margin:0;font-size:18px}.shop-modal__icon-btn{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:transparent;color:var(--muted, #9da29f);cursor:pointer}.shop-modal__icon-btn:hover,.shop-modal__icon-btn:focus-visible{color:var(--paper, #f5f4f1);border-color:#4fd0b58c}.shop-modal__body{display:grid;grid-template-columns:84px minmax(0,1fr);gap:12px;padding:14px}.shop-modal__cover{width:84px;height:84px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#222}.shop-modal__copy{min-width:0;display:grid;align-content:start;gap:4px}.shop-modal__copy strong{font-size:16px;line-height:1.2}.shop-modal__copy span{color:var(--muted, #9da29f);font-size:12px}.shop-modal__copy p{margin:6px 0 0;color:var(--paper, #f5f4f1);font-size:13px;line-height:1.45}.shop-modal__actions{display:flex;justify-content:flex-end;gap:8px;padding:0 14px 14px}.shop-modal__btn{min-height:38px;min-width:96px;padding:0 14px;border-radius:10px;border:1px solid transparent;cursor:pointer;font-weight:700}.shop-modal__btn--ghost{border-color:#ffffff24;background:transparent;color:var(--paper, #f5f4f1)}.shop-modal__btn--primary{background:var(--shop-purchase-bg, #c6333a);color:#fff}.shop-modal__btn--primary:hover,.shop-modal__btn--primary:focus-visible{background:var(--shop-purchase-hover-bg, #a9252d)}.shop-modal__btn.is-pulse{animation:shop-modal-btn-pulse .22s cubic-bezier(.22,1,.36,1)}.shop-modal__result{position:relative;display:grid;justify-items:center;gap:8px;padding:28px 18px 18px;text-align:center;overflow:hidden}.shop-modal__result h2{margin:0;font-size:22px}.shop-modal__result p{margin:0;color:var(--muted, #9da29f);font-size:13px;line-height:1.45;max-width:30ch}.shop-modal__result-icon{color:var(--sea, #77c7aa);filter:drop-shadow(0 0 16px rgba(79,208,181,.35));animation:shop-success-pop .52s cubic-bezier(.22,1,.36,1) both}.shop-modal__result.is-success h2{color:#d8fff2}.shop-modal__result.is-failure h2{color:#ffb2b4}.shop-modal__fail-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:1.5px solid rgba(224,138,142,.7);color:#ffb2b4;font-size:24px;font-weight:800;animation:shop-fail-shake .36s cubic-bezier(.22,1,.36,1) both}.shop-modal__result.is-failure .shop-modal__actions{width:100%;justify-content:center;padding:8px 0 0}.shop-modal__burst{position:absolute;inset:0;pointer-events:none}.shop-modal__burst i{position:absolute;left:50%;top:42%;width:8px;height:8px;border-radius:50%;background:#ffe7a3;opacity:0}.shop-modal.is-celebrating .shop-modal__burst i{animation:shop-burst-fly .9s cubic-bezier(.22,1,.36,1) both}.shop-modal__burst i:nth-child(1){--dx: -72px;--dy: -48px;background:#77c7aa;animation-delay:20ms}.shop-modal__burst i:nth-child(2){--dx: 64px;--dy: -56px;background:#ffe7a3;animation-delay:40ms}.shop-modal__burst i:nth-child(3){--dx: -86px;--dy: 18px;background:#9ad7ff;animation-delay:60ms}.shop-modal__burst i:nth-child(4){--dx: 82px;--dy: 12px;background:#ffb2b4;animation-delay:80ms}.shop-modal__burst i:nth-child(5){--dx: -28px;--dy: -78px;background:#d8fff2;animation-delay:.1s}.shop-modal__burst i:nth-child(6){--dx: 24px;--dy: 54px;background:#ffe7a3;animation-delay:.12s}@keyframes shop-modal-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes shop-modal-scrim-out{0%{opacity:1}to{opacity:0}}@keyframes shop-modal-panel-in{0%{opacity:0;transform:translateY(14px) scale(.96);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes shop-modal-panel-out{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(10px) scale(.97);filter:blur(5px)}}@keyframes shop-modal-btn-pulse{0%{transform:scale(1)}45%{transform:scale(.96)}to{transform:scale(1)}}@keyframes shop-success-pop{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes shop-fail-shake{0%{transform:translate(0);opacity:0}30%{transform:translate(-5px);opacity:1}55%{transform:translate(4px)}to{transform:translate(0)}}@keyframes shop-burst-fly{0%{opacity:0;transform:translate(-50%,-50%) scale(.4)}20%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(1)}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.shop-modal{padding:8px}.shop-modal__panel{width:min(380px,100%);border-radius:12px}.shop-modal__body{grid-template-columns:64px minmax(0,1fr);padding:10px;gap:10px}.shop-modal__cover{width:64px;height:64px;border-radius:8px}.shop-modal__header{padding:10px 10px 0}.shop-modal__header h2{font-size:15px}.shop-modal__actions{padding:0 10px 10px}.shop-modal__btn{min-height:32px;min-width:84px;font-size:12px}.shop-modal__result{padding:18px 12px 12px}.shop-modal__result h2{font-size:18px}}@media(prefers-reduced-motion:reduce){.shop-modal.is-entering,.shop-modal.is-leaving,.shop-modal.is-entering .shop-modal__panel,.shop-modal.is-leaving .shop-modal__panel,.shop-modal__btn.is-pulse,.shop-modal__result-icon,.shop-modal__fail-mark,.shop-modal.is-celebrating .shop-modal__burst i{animation-duration:1ms!important;animation-delay:0ms!important}}.daily-tasks-page{min-height:calc(100dvh - 68px);padding:clamp(24px,5vw,64px);overflow-y:auto;background:var(--ink, #101111);color:var(--paper, #f5f4f1)}.daily-tasks-panel{width:min(880px,100%);margin:0 auto}.daily-tasks-panel__header{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line, #3b3e3d)}.daily-tasks-panel__eyebrow{margin:0 0 4px;color:var(--sea, #37b89a);font-size:11px;font-weight:800;text-transform:uppercase}.daily-tasks-panel h2{margin:0;font-size:28px;line-height:1.1}.daily-task-list{display:grid;gap:8px;margin:16px 0 0;padding:0;list-style:none}.daily-task-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;min-height:104px;padding:18px 18px 18px 20px;border-left:3px solid var(--line, #3b3e3d);background:var(--smoke, #1b1d1d)}.daily-task-item[data-status=claimable]{border-left-color:var(--signal, #e23b3f)}.daily-task-item[data-status=claimed]{border-left-color:var(--sea, #37b89a)}.daily-task-item__content{min-width:0}.daily-task-item__heading,.daily-task-item__progress-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.daily-task-item__name{min-width:0;overflow-wrap:anywhere;font-size:16px;font-weight:800}.daily-task-item__reward{flex:0 0 auto;color:var(--sea, #37b89a);font-size:12px;font-weight:800}.daily-task-item__progress-row{margin-top:14px}.daily-task-item__progress-row progress{width:100%;height:7px;border:0;accent-color:var(--sea, #37b89a)}.daily-task-item[data-status=claimable] progress{accent-color:var(--signal, #e23b3f)}.daily-task-item__progress-row strong{flex:0 0 auto;min-width:42px;color:var(--muted, #a4aaa7);font-size:12px;text-align:right;font-variant-numeric:tabular-nums}.daily-task-item__claim{min-width:176px;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 14px;border:1px solid var(--line, #3b3e3d);border-radius:4px;background:transparent;color:var(--muted, #a4aaa7);cursor:pointer}.daily-task-item__claim[data-status=claimable]{border-color:var(--signal, #e23b3f);background:var(--signal, #e23b3f);color:#fff;font-weight:800}.daily-task-item__claim:disabled{cursor:not-allowed;opacity:.72}.task-claim-badge{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border:2px solid var(--ink, #101111);border-radius:9px;background:var(--signal, #e23b3f);color:#fff;font-size:10px;font-weight:900;line-height:1;font-variant-numeric:tabular-nums;pointer-events:none}.rail-button:has(>.task-claim-badge){position:relative}@media(max-width:640px){.daily-tasks-page{padding:22px 16px 32px}.daily-tasks-panel__header{align-items:start}.daily-task-item{grid-template-columns:minmax(0,1fr);gap:14px}.daily-task-item__claim{width:100%;min-width:0}}@media(prefers-reduced-motion:no-preference){.daily-task-item__claim[data-status=claimable]{transition:filter .12s ease,transform .12s ease}.daily-task-item__claim[data-status=claimable]:hover{filter:brightness(1.08);transform:translateY(-1px)}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.daily-tasks-page{min-height:0;padding:8px}.daily-tasks-panel{width:100%}.daily-tasks-panel__header{padding-bottom:6px;gap:8px}.daily-tasks-panel h2{font-size:15px}.daily-task-list{margin-top:8px;gap:4px}.daily-task-item{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-height:0;padding:8px 10px}.daily-task-item__name{font-size:12px}.daily-task-item__reward{font-size:10px}.daily-task-item__progress-row{margin-top:6px;gap:8px}.daily-task-item__progress-row progress{height:5px}.daily-task-item__progress-row strong{font-size:11px}.daily-task-item button{min-height:28px;padding:4px 8px;font-size:11px;gap:4px}.daily-task-item button svg{width:13px;height:13px}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.daily-tasks-page{min-height:0!important;padding:6px!important}.daily-tasks-panel__header{padding-bottom:4px!important}.daily-tasks-panel h2{font-size:14px!important}.daily-task-list{margin-top:6px!important;gap:3px!important}.daily-task-item{min-height:0!important;padding:6px 8px!important;gap:8px!important}.daily-task-item__name{font-size:11px!important}.daily-task-item__reward{font-size:9px!important}.daily-task-item__progress-row{margin-top:4px!important}.daily-task-item__progress-row progress{height:4px!important}.daily-task-item__progress-row strong{font-size:10px!important}.daily-task-item button{min-height:24px!important;padding:2px 6px!important;font-size:10px!important}}:root{color:#f4f6f5;background:#0a0d10;font-family:Bahnschrift,Arial Narrow,Noto Sans,sans-serif;font-synthesis:none;letter-spacing:0;--ink: #0a0d10;--smoke: #14191d;--line: rgba(255, 255, 255, .12);--muted: #9aa3a0;--paper: #f4f6f5;--signal: #d85c5f;--sea: #4fd0b5;--panel: rgba(12, 16, 20, .72);--ember: rgba(216, 92, 95, .22);--cyan-glow: rgba(79, 208, 181, .18)}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;height:100%;margin:0}button,select,input{font:inherit;letter-spacing:0}button{color:inherit}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--sea);outline-offset:2px}.title-screen{position:fixed;inset:0;overflow:hidden;display:grid;place-items:center;background:#070a0d;color:var(--paper);cursor:pointer}.title-screen__atmosphere,.title-screen__grid,.title-screen__shade,.title-screen__glow{position:absolute;inset:0;pointer-events:none}.title-screen__atmosphere{z-index:0}.title-screen__grid{opacity:.1;background-image:linear-gradient(rgba(255,255,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.03) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(circle at center,#000 10%,transparent 70%)}.title-screen__shade{background:radial-gradient(circle at 50% 42%,rgba(79,208,181,.1),transparent 24%),linear-gradient(180deg,#070a0d1a,#070a0deb 84%)}.title-screen__glow{width:34vw;height:34vw;border-radius:50%;filter:blur(54px);opacity:.38}.title-screen__glow--cyan{top:12%;left:-10%;background:var(--cyan-glow)}.title-screen__glow--ember{right:-8%;bottom:8%;background:var(--ember)}.title-screen__content{position:relative;z-index:3;width:min(920px,calc(100% - 48px));display:grid;justify-items:center;text-align:center;gap:34px;pointer-events:none}.title-screen__wordmark-text{position:relative;margin:0;font-size:clamp(56px,11vw,120px);line-height:.9;letter-spacing:.12em;font-weight:900;text-transform:uppercase;background:linear-gradient(180deg,#f8fffc,#d7f7ef 38%,#7fe0cb 72%,#4fd0b5);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 14px 28px rgba(0,0,0,.35))}.title-screen__wordmark-text:before{content:"PHINITHM";position:absolute;inset:0;color:#4fd0b580;filter:blur(14px);opacity:.8;transform:scale(1.015);z-index:-1;pointer-events:none}.title-screen__press-start{margin:0;color:#f4f6f5db;font-size:clamp(14px,1.5vw,18px);font-weight:700;letter-spacing:.34em;text-transform:uppercase;text-shadow:0 8px 24px rgba(0,0,0,.35);animation:title-screen-pulse 2.2s ease-in-out infinite}@media(max-width:720px){.title-screen__wordmark-text{font-size:clamp(42px,13vw,72px);letter-spacing:.08em}.title-screen__press-start{letter-spacing:.22em}}@media(max-height:560px)and (orientation:landscape){.title-screen__content{gap:18px}.title-screen__wordmark-text{font-size:clamp(40px,9vw,72px)}.title-screen__press-start{font-size:13px}}@keyframes title-screen-pulse{0%,to{opacity:.42}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.title-screen__press-start{animation:none;opacity:.86}}.title-screen.is-leaving{pointer-events:none;cursor:default}.title-screen.is-leaving .title-screen__content{animation:title-content-leave .42s cubic-bezier(.22,1,.36,1) forwards}.title-screen.is-leaving .title-screen__atmosphere{animation:title-atmosphere-leave .42s ease forwards}.title-screen.is-leaving .title-screen__press-start{animation:none}@keyframes title-content-leave{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-18px) scale(1.04);filter:blur(6px)}}@keyframes title-atmosphere-leave{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.06)}}.title-screen.is-entering{pointer-events:none;cursor:default}.title-screen.is-entering .title-screen__content{animation:title-content-enter .52s cubic-bezier(.22,1,.36,1) both}.title-screen.is-entering .title-screen__atmosphere{animation:title-atmosphere-enter .52s ease both}.title-screen.is-entering .title-screen__press-start{animation:none;opacity:.86}@keyframes title-content-enter{0%{opacity:0;transform:translateY(16px) scale(.98);filter:blur(6px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes title-atmosphere-enter{0%{opacity:0;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.library-shell.is-entering>:not(.library-atmosphere){animation:library-shell-enter .52s cubic-bezier(.22,1,.36,1) both}.library-shell.is-entering .library-atmosphere{animation:library-atmosphere-enter .62s ease both}@keyframes library-shell-enter{0%{opacity:0;filter:blur(8px)}to{opacity:1;filter:blur(0)}}@keyframes library-atmosphere-enter{0%{opacity:0;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}.library-shell.is-leaving{pointer-events:none}.library-shell.is-leaving>:not(.library-atmosphere):not(.library-farewell){animation:library-shell-leave .42s cubic-bezier(.22,1,.36,1) both}.library-shell.is-leaving .library-atmosphere{animation:library-atmosphere-leave .42s ease both}.library-shell.is-leaving.has-farewell .library-atmosphere{animation:library-atmosphere-farewell .36s ease both}.library-shell>.library-farewell{position:absolute;inset:0;z-index:24;display:grid;place-items:center;place-content:center;width:100%;height:100%;margin:0;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 46%,#0c18302e,#0408129e 68%),linear-gradient(180deg,#050a162e,#050a166b)}.library-shell>.library-farewell.is-visible{animation:library-farewell-in .36s cubic-bezier(.22,1,.36,1) both}.library-shell>.library-farewell .library-farewell__text{margin:0;padding:0 24px;text-align:center;font-family:var(--font-display, "Segoe UI", system-ui, sans-serif);font-size:clamp(1.35rem,3.4vw,2rem);font-weight:650;letter-spacing:.08em;text-transform:none;color:#f4fafff5;text-shadow:0 0 18px rgba(94,214,255,.35),0 2px 18px rgba(0,0,0,.45)}@keyframes library-shell-leave{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(10px)}}@keyframes library-atmosphere-leave{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:.55;transform:scale(1.04);filter:blur(12px)}}@keyframes library-atmosphere-farewell{0%{opacity:.55;transform:scale(1.04);filter:blur(12px)}to{opacity:.42;transform:scale(1.06);filter:blur(16px)}}@keyframes library-farewell-in{0%{opacity:0;transform:scale(.98);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.title-screen.is-leaving .title-screen__content,.title-screen.is-leaving .title-screen__atmosphere,.title-screen.is-entering .title-screen__content,.title-screen.is-entering .title-screen__atmosphere,.library-shell.is-entering>:not(.library-atmosphere),.library-shell.is-entering .library-atmosphere,.library-shell.is-leaving>:not(.library-atmosphere):not(.library-farewell),.library-shell.is-leaving .library-atmosphere,.library-shell.is-leaving.has-farewell .library-atmosphere,.library-farewell.is-visible{animation-duration:1ms!important;animation-delay:0ms!important}}.library-shell{position:relative;isolation:isolate;min-height:100%;height:100%;width:100%;display:block;overflow:hidden;background:#070a0d}.library-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}.library-atmosphere__cover{position:absolute;inset:-10%;background-position:center;background-size:cover;filter:blur(40px) saturate(1.18) brightness(.42);transform:scale(1.08)}.library-atmosphere__veil{position:absolute;inset:0;background:radial-gradient(circle at 68% 42%,rgba(79,208,181,.12),transparent 34%),radial-gradient(circle at 18% 70%,rgba(255,120,96,.08),transparent 30%),linear-gradient(90deg,#070a0db8,#070a0d47 42%,#070a0d80),linear-gradient(180deg,#070a0d2e,#070a0dc7)}.library-shell>:not(.library-atmosphere):not(.library-farewell){position:relative;z-index:1}.library-layout{--library-left: 250px;position:absolute;z-index:1;inset:0;min-height:0;width:100%;height:100%;max-height:100%;display:grid;grid-template-columns:var(--library-left) minmax(0,1fr);gap:12px;padding:10px 12px;box-sizing:border-box;align-items:stretch;transform-origin:0 0;will-change:transform;overflow:hidden}.song-float{height:100%;max-height:100%;--song-float-row: 48px;--song-float-gap: 8px;--song-float-safezone-top: calc(var(--song-float-row) * 2 + var(--song-float-gap));--song-float-safezone-bottom: max( calc(var(--song-float-row) * 2 + var(--song-float-gap)), calc(100% - var(--song-float-safezone-top) - var(--song-float-row)) );--song-float-skew: -16deg;--song-float-header: 56px;min-width:0;min-height:0;width:100%;max-width:320px;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;margin:4px 0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none;overflow:visible;isolation:isolate}.song-float__header{position:relative;z-index:2;display:grid;gap:0;min-height:var(--song-float-header);padding:4px 8px 12px 2px;border:0;background:transparent;backdrop-filter:none}.song-float__header-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.song-float__header-label{color:#ecf4f2b8;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.song-float__sort-group{display:inline-flex;align-items:center;gap:8px}.song-float__sort-prefix,.song-float__sort{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 14px;border:0;border-radius:0;font-size:12px;font-weight:800;letter-spacing:.04em;transform:skew(var(--song-float-skew));box-shadow:0 8px 18px #00000047}.song-float__sort-prefix{background:#f4f7f6;color:#101315}.song-float__sort-prefix>span{display:inline-block;transform:skew(calc(var(--song-float-skew) * -1))}.song-float__sort{appearance:none;min-width:78px;background:#101315;color:#f4f7f6;cursor:pointer;transition:filter .14s ease,transform .14s ease}.song-float__sort-prefix:after,.song-float__sort>span{display:inline-block;transform:skew(calc(var(--song-float-skew) * -1))}.song-float__sort:hover{filter:brightness(1.08)}.song-float__sort:active{transform:skew(var(--song-float-skew)) translateY(1px)}.song-float__list{position:relative;z-index:1;min-height:0;height:100%;max-height:100%;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y;cursor:grab;display:flex;flex-direction:column;gap:var(--song-float-gap);padding:0 14px 0 8px;margin:0;background:transparent;mask-image:linear-gradient(180deg,transparent 0,#000 var(--song-float-safezone-top),#000 calc(100% - min(120px,var(--song-float-safezone-top))),transparent 100%)}.song-float__list:active{cursor:grabbing}.song-float__list::-webkit-scrollbar{display:none}.song-float__safezone{flex:0 0 auto;width:100%;pointer-events:none}.song-float__safezone:first-child{height:var(--song-float-safezone-top);min-height:var(--song-float-safezone-top);flex-basis:var(--song-float-safezone-top)}.song-float__safezone:last-child{height:var(--song-float-safezone-bottom);min-height:var(--song-float-safezone-bottom);flex-basis:var(--song-float-safezone-bottom)}.song-float__item{position:relative;width:100%;min-width:0;flex:0 0 auto;display:grid;grid-template-columns:minmax(0,1fr) 52px 56px;align-items:center;gap:10px;min-height:var(--song-float-row);height:var(--song-float-row);padding:0 18px 0 20px;border:0;border-radius:0;background:#0a0e106b;color:#ecf4f280;text-align:left;cursor:pointer;transform:skew(var(--song-float-skew));box-shadow:0 10px 22px #0000002e;transition:color .14s ease,background .14s ease,box-shadow .14s ease,filter .14s ease}.song-float__item>*{transform:skew(calc(var(--song-float-skew) * -1))}.song-float__item:before{content:none}.song-float__item:hover{color:#f6faf9db;background:#ffffff1a}.song-float__item[aria-selected=true]{color:#101315;background:#f4f7f6;box-shadow:0 12px 28px #00000047,0 0 0 1px #fff3}.song-float__title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(15px,1.35vw,20px);font-weight:700;letter-spacing:.01em}.song-float__level{justify-self:end;font-size:15px;font-weight:800;font-variant-numeric:tabular-nums;color:inherit;opacity:.78}.song-float__lock{justify-self:end;display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;min-width:48px;color:#d89a9ad6;font-size:11px;font-weight:700}.song-float__lock em{font-style:normal}.song-float__lock.is-unlocked{color:#148c78e6}.song-float__item[aria-selected=true] .song-float__lock{color:#8c2830e6}.song-float__item[aria-selected=true] .song-float__lock.is-unlocked{color:#0c6e60f2}.song-focus{min-width:0;min-height:0;width:100%;height:auto;max-height:100%;align-self:center;display:flex;flex-direction:column;justify-content:flex-start;gap:0;overflow:hidden;border-radius:14px;background:linear-gradient(180deg,#0e12168c,#080b0d6b);box-shadow:inset 0 0 0 1px #ffffff0f;backdrop-filter:blur(10px)}.song-focus__main{--song-cover-col: 120px;flex:0 0 auto;min-height:0;min-width:0;overflow:hidden;padding:10px 12px 6px;display:grid;grid-template-columns:var(--song-cover-col) minmax(0,1fr);gap:12px;align-items:start;align-content:start;width:100%;max-width:100%;box-sizing:border-box}.song-focus>.play-dock{flex:0 0 auto;margin-top:0;border-bottom-left-radius:14px;border-bottom-right-radius:14px;background:#0a0d10d1}.song-focus .cover-frame{width:100%;max-width:100%;min-width:0!important;height:auto;max-height:none;aspect-ratio:1 / 1;justify-self:stretch;align-self:start;border-radius:12px;border:1px solid rgba(255,255,255,.16);box-shadow:0 10px 22px #00000047,0 0 0 1px #4fd0b514}.song-copy{min-width:0;max-width:100%;min-height:0;height:auto;max-height:none;display:grid;grid-auto-rows:max-content;gap:6px;align-content:start;align-self:start;padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#0c10128c;box-shadow:0 8px 18px #00000024;backdrop-filter:blur(14px);overflow:hidden;box-sizing:border-box}.song-copy__score-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;margin-top:2px}.song-copy__score-row .current-record{margin-top:0;min-width:0}.song-copy__score-row .song-download-control,.song-copy__score-row .song-locked-cache{justify-self:end}.song-copy .current-record{margin-top:0}.current-record{min-height:36px;display:flex;align-items:center;gap:10px;min-width:0;padding:6px 10px;border:1px solid rgba(255,255,255,.08);border-left:3px solid var(--sea);border-radius:8px;background:#0c1012b8}.current-record--locked{border-left-color:#8a9490}.current-record__score{min-width:0;flex:0 1 auto;font-size:clamp(15px,1.45vw,20px);font-variant-numeric:tabular-nums;line-height:1;letter-spacing:.01em;white-space:nowrap}.current-record__meta{display:inline-flex;align-items:baseline;gap:8px;min-width:0;margin-left:auto}.current-record__rank{font-size:clamp(14px,1.35vw,18px);font-weight:900;line-height:1;letter-spacing:.02em;white-space:nowrap}.current-record__acc{color:var(--muted);font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap}.current-record__rank[data-rank=NEW]{color:#f5f7f6;text-shadow:0 0 10px rgba(255,255,255,.18)}.current-record__rank[data-rank="SSS+"],.current-record__rank[data-rank=SSS]{color:#ffe08a;text-shadow:0 0 12px rgba(255,214,102,.35)}.current-record__rank[data-rank="SS+"],.current-record__rank[data-rank=SS]{color:#f3c96b}.current-record__rank[data-rank=S]{color:#e8b34d}.current-record__rank[data-rank=AAA],.current-record__rank[data-rank=AA],.current-record__rank[data-rank=A]{color:#7ed0ff}.current-record__rank[data-rank=BBB],.current-record__rank[data-rank=BB],.current-record__rank[data-rank=B]{color:#8fe0c8}.current-record__rank[data-rank=C]{color:#c5b6ff}.current-record__rank[data-rank=D]{color:#d0d4d2}.song-locked-cache{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:108px;min-height:36px;padding:0 12px;border:1px solid rgba(255,122,125,.55);border-radius:8px;background:linear-gradient(180deg,#5c1c20f2,#361012f5);color:#ffd0d2;font-size:12px;font-weight:800;letter-spacing:.02em;box-shadow:inset 0 1px #ffffff0d,0 0 0 1px #ff5a5f1f;white-space:nowrap}.song-locked-cache svg{flex:0 0 auto;color:#ffb0b2}.song-copy .play-mode-selector{margin:0 0 2px;min-height:32px}.song-selection-actions{display:none}.preview-status{margin:10px 0 0;color:#d8bbb9;font-size:12px}.profile-page{min-height:100%}.play-dock{position:relative;z-index:4;width:100%;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,190px);align-items:stretch;border-top:1px solid var(--line);background:#101111f7}.difficulty-tabs{min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow-x:auto;align-items:stretch}.difficulty-tabs button{display:flex;align-items:center;justify-content:space-between;gap:4px;min-width:0;padding:8px 10px;border:0;border-right:1px solid #303332;background:transparent;color:var(--muted);cursor:pointer;white-space:nowrap}.difficulty-tabs button[aria-selected=true]{color:var(--paper);background:#222424;box-shadow:inset 0 3px var(--sea)}.difficulty-tabs strong{font-size:20px}.start-button{margin:8px;font-size:14px;min-height:40px;white-space:nowrap;flex-wrap:nowrap;padding-inline:12px;gap:6px}.result-screen{--result-safe-height: calc(100dvh - max(10px, env(safe-area-inset-top)) - max(10px, env(safe-area-inset-bottom))) ;position:relative;box-sizing:border-box;width:100%;height:100dvh;min-height:100dvh;max-height:100dvh;display:grid;grid-template-rows:minmax(0,1fr);align-content:center;justify-items:center;gap:8px;padding:max(10px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));overflow:hidden;background:radial-gradient(circle at 18% 16%,rgba(79,208,181,.11),transparent 30%),radial-gradient(circle at 84% 14%,rgba(255,214,102,.07),transparent 26%),#101111}.result-screen.is-failed{background:radial-gradient(circle at 18% 16%,rgba(224,138,142,.13),transparent 30%),#101111}.result-screen.is-entering .result-reveal{opacity:0;transform:translateY(8px);filter:blur(4px);animation:result-block-enter .42s cubic-bezier(.22,1,.36,1) forwards}.result-screen.is-entering .result-reveal[data-reveal="1"]{animation-delay:20ms}.result-screen.is-entering .result-reveal[data-reveal="2"]{animation-delay:80ms}.result-screen.is-entering .result-reveal[data-reveal="3"]{animation-delay:.14s}.result-screen.is-entering .result-reveal[data-reveal="4"]{animation-delay:.2s}.result-screen.is-entering .result-reveal[data-reveal="5"]{animation-delay:.26s}.result-screen.is-ready .result-reveal{opacity:1;transform:none;filter:none;animation:none}.result-board{min-width:0;min-height:0;width:min(1040px,100%,calc(var(--result-safe-height) * 16 / 9));max-height:var(--result-safe-height);margin-inline:auto;display:grid;grid-template-rows:auto auto auto auto auto;gap:8px;align-content:center}.result-clear-banner{margin:0;justify-self:start;color:var(--sea);font-size:clamp(28px,min(4.6vw,8.4vh),48px);font-weight:850;letter-spacing:.1em;text-transform:uppercase;text-shadow:0 0 22px rgba(79,208,181,.3);line-height:1}.result-clear-banner.is-failed{color:#ffb2b4;text-shadow:0 0 22px rgba(224,138,142,.3)}.result-top{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:center}.result-top__score,.result-top__rank{min-width:0}.result-status{margin:0 0 2px;color:var(--sea);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.result-screen.is-failed .result-status{color:#ffb2b4}.result-score{display:block;margin:0;font-size:clamp(36px,min(6.4vw,11.5vh),72px);line-height:.95;color:var(--paper);font-variant-numeric:tabular-nums}.result-mode-summary{margin-top:4px;color:var(--muted);font-size:11px}.result-mode-summary strong{color:var(--paper)}.result-rank{min-width:132px;padding:8px 16px 10px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#141818f0;box-shadow:0 0 22px #4fd0b51f;text-align:center}.result-rank span{display:block;color:var(--muted);font-size:10px;letter-spacing:.14em}.result-rank strong{display:block;margin-top:1px;font-size:clamp(34px,5.8vw,64px);line-height:1;letter-spacing:.04em;color:var(--paper);text-shadow:0 0 20px rgba(79,208,181,.28)}.result-rank[data-rank="SSS+"] strong,.result-rank[data-rank=SSS] strong{color:#ffe7a3;text-shadow:0 0 24px rgba(255,214,102,.35)}.result-rank[data-rank="SS+"] strong,.result-rank[data-rank=SS] strong,.result-rank[data-rank=S] strong{color:#d8fff2}.result-screen.is-failed .result-rank strong{color:#ffb2b4;text-shadow:0 0 20px rgba(224,138,142,.28)}.result-flags{display:grid;grid-template-columns:1fr 1fr;gap:8px}.result-flags span{display:grid;place-items:center;min-height:40px;padding:8px 12px;border:1px solid rgba(255,255,255,.14);background:#121414eb;color:#6f7371;font-size:13px;font-weight:700;letter-spacing:.08em}.result-flags span.active{color:var(--sea);border-color:#4fd0b58c;background:#4fd0b514;box-shadow:inset 0 0 0 1px #4fd0b514}.result-tokens{width:100%;min-width:0;display:grid;gap:6px;padding:8px 10px;border:1px solid rgba(79,208,181,.28);background:linear-gradient(180deg,#4fd0b514,#121414eb)}.result-tokens__total{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.result-tokens__total span{color:var(--muted);font-size:10px;letter-spacing:.08em;font-weight:700}.result-tokens__total strong{color:var(--sea);font-size:clamp(18px,2.6vw,26px);font-variant-numeric:tabular-nums;text-shadow:0 0 16px rgba(79,208,181,.22)}.result-tokens__lines{margin:0;padding:0;list-style:none;display:grid;gap:3px}.result-tokens__lines li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;min-width:0;padding:2px 0;border-top:1px solid rgba(255,255,255,.06);color:#c9d4cf;font-size:12px}.result-tokens__lines li span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-tokens__lines li strong{flex:0 0 auto;color:var(--sea);font-variant-numeric:tabular-nums}.result-tokens__note{margin:0;color:var(--muted);font-size:11px;letter-spacing:.02em}.result-screen.is-failed .result-tokens{border-color:#e08a8e47;background:linear-gradient(180deg,#e08a8e14,#121414eb)}.result-screen.is-failed .result-tokens__total strong,.result-screen.is-failed .result-tokens__lines li strong{color:#ffc9cb;text-shadow:0 0 14px rgba(224,138,142,.2)}.result-metrics{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.35fr);gap:1px;background:var(--line, #373b39);border:1px solid var(--line, #373b39)}.result-metrics>div,.result-metrics>.result-account-inline{min-width:0;padding:7px 10px;background:#1d1f1f}.result-metrics span,.result-account-inline span{display:block;color:var(--muted);font-size:10px;letter-spacing:.05em}.result-metrics strong{display:block;margin-top:1px;font-size:clamp(16px,2.3vw,22px);font-variant-numeric:tabular-nums}.result-account-inline{display:grid;grid-template-columns:auto auto auto auto;gap:4px 8px;align-items:end}.result-account-inline span{grid-column:1 / -1}.result-account-inline strong{justify-self:start}.result-account-inline strong.positive{color:var(--sea)}.result-account-inline strong.negative{color:#e08a8e}.result-account-inline em{font-style:normal;color:var(--paper);font-variant-numeric:tabular-nums;font-size:13px}.result-account-inline svg{color:var(--muted);margin-bottom:1px}.result-grid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:auto auto;gap:1px;margin:0;background:var(--line, #373b39);border:1px solid var(--line, #373b39)}.result-grid div{min-width:0;padding:8px 10px;background:#1d1f1f}.result-grid dt{margin:0;color:var(--muted);font-size:11px;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-grid dd{margin:2px 0 0;font-size:clamp(16px,2.2vw,22px);font-variant-numeric:tabular-nums}.result-nav-btn{position:absolute;z-index:6;width:58px;height:46px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--paper);cursor:pointer}.result-nav-btn:disabled{opacity:.55;cursor:default}.result-nav-btn__frame{position:absolute;inset:0;border:1.5px solid rgba(245,244,241,.55);background:#0c0e0eb8;transform:skew(-18deg);box-shadow:0 0 0 1px #4fd0b514}.result-nav-btn svg{position:relative;z-index:1;transform:none}.result-nav-btn--retry{top:max(12px,env(safe-area-inset-top));left:max(10px,env(safe-area-inset-left))}.result-nav-btn--retry .result-nav-btn__frame{clip-path:polygon(0 0,100% 0,100% 100%,12% 100%);border-left-color:transparent}.result-nav-btn--library{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom))}.result-nav-btn--library .result-nav-btn__frame{clip-path:polygon(0 0,88% 0,100% 100%,0 100%);border-right-color:transparent}.result-nav-btn:hover .result-nav-btn__frame,.result-nav-btn:focus-visible .result-nav-btn__frame{border-color:#4fd0b5bf;background:#101616db}.result-screen.is-leaving{pointer-events:none;animation:result-screen-leave-library .42s cubic-bezier(.22,1,.36,1) both}.result-screen.is-leaving-retry{animation-name:result-screen-leave-retry}.result-screen.is-leaving-library{animation-name:result-screen-leave-library}@keyframes result-screen-leave-retry{0%{opacity:1;filter:blur(0);transform:scale(1) translateZ(0)}to{opacity:0;filter:blur(10px);transform:scale(1.04) translate3d(0,-10px,0)}}@keyframes result-screen-leave-library{0%{opacity:1;filter:blur(0);transform:translateZ(0)}to{opacity:0;filter:blur(8px);transform:translate3d(-8%,0,0)}}@media(prefers-reduced-motion:reduce){.result-screen.is-leaving,.result-screen.is-leaving-retry,.result-screen.is-leaving-library{animation-duration:1ms!important}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.result-clear-banner{font-size:clamp(22px,3.8vw,32px)}.result-nav-btn{width:48px;height:38px}.result-nav-btn svg{width:18px;height:18px}}@keyframes result-block-enter{0%{opacity:0;transform:translateY(8px) scale(.995);filter:blur(5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.result-screen{gap:6px;padding:max(6px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.result-board{gap:6px}.result-clear-banner{font-size:clamp(22px,3.8vw,32px);letter-spacing:.1em}.result-score{font-size:clamp(30px,5.6vw,48px)}.result-rank{min-width:108px;padding:5px 10px 6px}.result-rank strong{font-size:clamp(28px,5vw,42px)}.result-flags span{min-height:32px;font-size:11px;padding:5px 8px}.result-tokens{padding:6px 8px;gap:4px}.result-tokens__total strong{font-size:16px}.result-tokens__lines li{font-size:11px}.result-metrics strong{font-size:15px}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.result-grid dt{font-size:10px}.result-grid dd{font-size:14px}.result-metrics>div,.result-metrics>.result-account-inline,.result-grid div{padding:5px 7px}}@media(max-width:720px)and (orientation:portrait){.result-top{grid-template-columns:1fr}.result-top__rank{justify-self:start}.result-metrics{grid-template-columns:1fr 1fr}.result-account-inline{grid-column:1 / -1}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.game-shell{position:fixed;inset:0;overflow:hidden;background:#050606;touch-action:none;user-select:none}.game-mv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.72;pointer-events:none}.game-cover-bg{position:absolute;inset:0;background-position:center;background-size:cover;background-repeat:no-repeat;opacity:.55;filter:saturate(1.05) brightness(.78)}.game-shell:has(.game-cover-bg) .game-mv{opacity:0;pointer-events:none}.game-shell.is-loading .game-cover-bg{opacity:.22;filter:blur(10px) saturate(1.05) brightness(.78);transform:scale(1.04);transition:opacity .36s ease,filter .36s ease,transform .48s ease}.game-shell:after{content:"";position:absolute;inset:0;pointer-events:none;background:#05060638}.phaser-host{position:absolute;z-index:1;inset:0}.phaser-host canvas{display:block;width:100%!important;height:100%!important;object-fit:contain}.game-hud{--game-hud-gap: 14px;--hud-score-col: 190px;--hud-health-col: 220px;--hud-pause-col: 44px;--hud-counts-reserve: 168px;--hud-combo-half: 56px;--hud-left-end: calc(var(--hud-score-col) + var(--hud-health-col) + (2 * var(--game-hud-gap)));--hud-right-end: calc(var(--hud-pause-col) + var(--hud-counts-reserve) + var(--game-hud-gap));position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:grid;grid-template-columns:var(--hud-score-col) var(--hud-health-col) minmax(0,1fr) auto var(--hud-pause-col);gap:var(--game-hud-gap);align-items:center;pointer-events:none}.game-hud>*{pointer-events:none;min-width:0}.game-hud .hud-button{pointer-events:auto}.hud-score{grid-column:1}.hud-health{grid-column:2}.hud-counts{grid-column:4}.hud-button{grid-column:5}.hud-score,.hud-health,.hud-combo,.hud-counts{min-height:48px;padding:8px 12px;background:#0c0d0dcc;border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(5px)}.hud-score span,.hud-health span,.hud-combo span{display:block;color:#aab0ad;font-size:10px}.hud-score strong{display:block;font-size:24px;line-height:1;font-variant-numeric:tabular-nums}.hud-health{display:grid;align-content:center;gap:6px}.hud-health progress{width:100%;height:10px;accent-color:var(--sea)}.hud-combo{position:absolute;top:50%;left:clamp(calc(var(--hud-left-end) + var(--hud-combo-half)),50%,calc(100% - var(--hud-right-end) - var(--hud-combo-half)));transform:translate(-50%,-50%);z-index:2;width:max-content;min-width:96px;text-align:center}.hud-combo strong{display:block;font-size:28px;line-height:.9;font-variant-numeric:tabular-nums}.hud-counts{display:flex;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:12px;font-size:11px;white-space:nowrap}.hud-counts b{color:var(--paper);font-variant-numeric:tabular-nums}.hud-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.24);border-radius:4px;color:#eef6f2;background:#0c0d0dd1;cursor:pointer;transition:transform .16s cubic-bezier(.22,1,.36,1),border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease}.hud-button:hover{border-color:#4fd0b58c;background:#121816eb;box-shadow:0 0 18px #4fd0b524}.hud-button:active{transform:scale(.92)}.hud-button--pause{animation:pause-button-enter .28s cubic-bezier(.22,1,.36,1) both}.hud-button:disabled{opacity:.4}.game-overlay{position:absolute;z-index:5;inset:0;display:grid;place-content:center;justify-items:center;gap:16px;padding:24px;background:#080909bd;text-align:center}.game-overlay p{margin:0}.game-shell.is-entering{animation:game-shell-enter .48s cubic-bezier(.22,1,.36,1) both}.game-shell.is-finishing{cursor:pointer}.game-shell.is-finishing .game-hud,.game-shell.is-finishing .game-track-info,.game-shell.is-finishing .judgement-feedback{opacity:0;transition:opacity .22s ease;pointer-events:none}.game-shell.is-finishing .game-mv{opacity:.34;filter:blur(4px) saturate(1.05) brightness(.78);transition:opacity .32s ease,filter .32s ease}.game-shell.is-leaving{animation:game-shell-leave .4s cubic-bezier(.22,1,.36,1) both;pointer-events:none}.game-finish-banner{position:absolute;z-index:8;inset:0;display:grid;place-content:center;justify-items:center;gap:10px;pointer-events:none;background:radial-gradient(circle at 50% 46%,#0a10141f,#0506068c 70%)}.game-finish-banner.is-entering{animation:game-finish-banner-in .42s cubic-bezier(.22,1,.36,1) both}.game-finish-banner.is-leaving{animation:game-finish-banner-out .28s ease both}.game-finish-banner strong{margin:0;font-size:clamp(48px,10vw,108px);letter-spacing:.08em;color:#f4fafff5;text-shadow:0 0 24px rgba(94,214,255,.35),0 4px 24px rgba(0,0,0,.45)}.game-finish-banner[data-banner=FAILED] strong{color:#ffb2b4;text-shadow:0 0 24px rgba(224,138,142,.35),0 4px 24px rgba(0,0,0,.45)}.game-finish-banner[data-banner="ALL PERFECT"] strong,.game-finish-banner[data-banner="FULL COMBO"] strong{color:#ffe7a3;text-shadow:0 0 28px rgba(255,214,102,.35),0 4px 24px rgba(0,0,0,.45)}.game-finish-banner span{color:#f5f4f19e;font-size:12px;letter-spacing:.16em}@keyframes game-shell-leave{0%{opacity:1;filter:blur(0);transform:scale(1)}to{opacity:0;filter:blur(10px);transform:scale(1.03)}}@keyframes game-finish-banner-in{0%{opacity:0;transform:scale(.96);filter:blur(8px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes game-finish-banner-out{0%{opacity:1}to{opacity:0}}.game-shell.is-loading .game-mv{opacity:.22;filter:blur(10px) saturate(1.05);transform:scale(1.04);transition:opacity .36s ease,filter .36s ease,transform .48s ease}.game-shell.is-loading .phaser-host{opacity:0}.song-load-screen{overflow:hidden;background:#070a0de0;backdrop-filter:blur(10px)}.song-load-screen.is-entering{animation:song-load-enter .48s cubic-bezier(.22,1,.36,1) both}.song-load-screen.is-leaving{animation:song-load-leave .36s ease forwards;pointer-events:none}.song-load-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}.song-load-atmosphere__cover{position:absolute;inset:-12%;background-position:center;background-size:cover;filter:blur(42px) saturate(1.18) brightness(.42);transform:scale(1.08);animation:song-load-atmosphere-drift 4.8s ease-in-out infinite alternate}.song-load-atmosphere__veil{position:absolute;inset:0;background:radial-gradient(circle at 50% 38%,rgba(79,208,181,.16),transparent 28%),radial-gradient(circle at 78% 70%,rgba(255,120,96,.1),transparent 26%),linear-gradient(180deg,#070a0d33,#070a0de0 78%)}.song-load-atmosphere__ring{position:absolute;left:50%;top:42%;width:min(52vw,420px);aspect-ratio:1;border:1px solid rgba(255,255,255,.08);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #4fd0b50d,inset 0 0 48px #4fd0b50d;animation:song-load-ring 2.8s ease-in-out infinite}.song-load-content{position:relative;z-index:1;width:min(520px,100%);display:grid;justify-items:center;gap:10px;padding:18px 16px 8px}.song-load-cover-frame{position:relative;width:clamp(148px,28vh,236px);aspect-ratio:1;margin-bottom:8px}.song-load-cover{width:100%;height:100%;display:block;object-fit:cover;border:1px solid rgba(255,255,255,.16);border-radius:22px;box-shadow:0 22px 56px #0000006b,0 0 0 1px #4fd0b514;background:#15191b}.song-load-cover-glow{position:absolute;inset:12% -8% auto;height:48%;border-radius:50%;background:radial-gradient(circle,rgba(79,208,181,.28),transparent 68%);filter:blur(18px);pointer-events:none}.song-load-kicker{margin:2px 0 0;color:var(--sea);font-size:11px;font-weight:800;letter-spacing:.22em;text-transform:uppercase}.song-load-content h1{max-width:100%;margin:0;overflow-wrap:anywhere;font-size:clamp(28px,4.4vw,42px);line-height:1.05;letter-spacing:.02em;text-align:center}.song-load-artist{margin:0 0 8px;color:var(--muted);font-size:clamp(14px,1.8vw,18px);text-align:center}.song-load-progress{width:min(420px,100%);display:grid;gap:10px;padding:14px 16px 12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:#0a0e108f;box-shadow:0 16px 36px #0000003d;backdrop-filter:blur(14px)}.song-load-progress-copy{display:flex;justify-content:space-between;align-items:baseline;gap:16px;color:#ecf4f294;font-size:11px;font-weight:700;letter-spacing:.14em}.song-load-progress-copy strong{color:var(--paper);font-size:18px;font-variant-numeric:tabular-nums;letter-spacing:.04em}.song-load-progress-track{position:relative;width:100%;height:8px;overflow:hidden;border-radius:999px;background:#ffffff14;box-shadow:inset 0 0 0 1px #ffffff0a}.song-load-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#4fd0b573,#7fe0cbf2);box-shadow:0 0 18px #4fd0b559;transition:width .28s ease}.song-load-progress-native{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.song-resource-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}.song-resource-list span{display:grid;grid-template-columns:8px minmax(0,1fr);align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid rgba(255,255,255,.08);border-radius:999px;color:#ecf4f28c;font-size:11px;font-weight:700;background:#080c0e8c}.song-resource-list span i{width:8px;height:8px;border-radius:50%;background:#ffffff38;box-shadow:none}.song-resource-list span em{min-width:0;font-style:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-resource-list span.ready{color:#ecf4f2e6;border-color:#4fd0b547;background:#122220b8}.song-resource-list span.ready i{background:var(--sea);box-shadow:0 0 10px #4fd0b5b3}.song-resource-list span.ready em{color:var(--sea)}.game-pre-roll{background:#0506062e}.game-pre-roll.is-entering .countdown{animation:countdown-pop .42s cubic-bezier(.22,1,.36,1) both}@keyframes game-shell-enter{0%{opacity:0}to{opacity:1}}@keyframes song-load-enter{0%{opacity:0;filter:blur(10px)}to{opacity:1;filter:blur(0)}}@keyframes song-load-leave{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(8px)}}@keyframes song-load-atmosphere-drift{0%{transform:scale(1.06) translateZ(0)}to{transform:scale(1.12) translate3d(0,-1.5%,0)}}@keyframes song-load-ring{0%,to{opacity:.35;transform:translate(-50%,-50%) scale(.96)}50%{opacity:.7;transform:translate(-50%,-50%) scale(1.04)}}@keyframes countdown-pop{0%{opacity:0;transform:scale(.86);filter:blur(6px)}to{opacity:1;transform:scale(1);filter:blur(0)}}@keyframes pause-button-enter{0%{opacity:0;transform:scale(.86)}to{opacity:1;transform:scale(1)}}@keyframes pause-overlay-enter{0%{opacity:0;backdrop-filter:blur(0)}to{opacity:1;backdrop-filter:blur(8px)}}@keyframes pause-overlay-leave{0%{opacity:1;backdrop-filter:blur(8px)}to{opacity:0;backdrop-filter:blur(0)}}@keyframes pause-menu-enter{0%{opacity:0;transform:translateY(14px) scale(.94);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes pause-menu-leave{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-10px) scale(.96);filter:blur(6px)}}@keyframes pause-action-enter{0%{opacity:0;transform:translateY(12px) scale(.86)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes pause-action-selected{0%{transform:scale(1)}45%{transform:scale(.9)}to{transform:scale(1.06)}}@media(prefers-reduced-motion:reduce){.game-shell.is-entering,.game-shell.is-leaving,.game-finish-banner.is-entering,.game-finish-banner.is-leaving,.result-screen.is-entering .result-reveal,.song-load-screen.is-entering,.song-load-screen.is-leaving,.song-load-atmosphere__cover,.song-load-atmosphere__ring,.game-pre-roll.is-entering .countdown,.hud-button--pause,.pause-overlay.is-entering,.pause-overlay.is-leaving,.pause-overlay.is-entering .pause-menu,.pause-overlay.is-leaving .pause-menu,.pause-overlay.is-entering .pause-action,.pause-action.is-selected{animation-duration:1ms!important;animation-iteration-count:1!important}}.countdown{font-size:clamp(96px,20vw,240px);color:var(--paper)}.game-error{max-width:480px;color:#ffb2b4}.pause-overlay{background:radial-gradient(circle at 50% 42%,rgba(79,208,181,.08),transparent 34%),#0809099e;backdrop-filter:blur(8px)}.pause-overlay.is-entering{animation:pause-overlay-enter .28s cubic-bezier(.22,1,.36,1) both}.pause-overlay.is-leaving{animation:pause-overlay-leave .24s cubic-bezier(.22,1,.36,1) both;pointer-events:none}.pause-menu{display:grid;justify-items:center;gap:18px}.pause-overlay.is-entering .pause-menu{animation:pause-menu-enter .32s cubic-bezier(.22,1,.36,1) both}.pause-overlay.is-leaving .pause-menu{animation:pause-menu-leave .24s cubic-bezier(.22,1,.36,1) both}.pause-menu__title{margin:0;color:#eef6f2eb;font-size:clamp(18px,2.4vw,28px);font-weight:800;letter-spacing:.28em;text-indent:.28em;text-shadow:0 0 18px rgba(79,208,181,.18)}.pause-actions{display:grid;grid-template-columns:repeat(3,58px);gap:14px}.blocked-actions{grid-template-columns:repeat(2,58px)}.pause-action{display:grid;place-items:center;width:58px;height:58px;padding:0;border:1px solid rgba(255,255,255,.28);border-radius:4px;color:#fff;background:#161817e0;cursor:pointer;box-shadow:0 8px 24px #00000038;transition:transform .16s cubic-bezier(.22,1,.36,1),border-color .16s ease,background-color .16s ease,box-shadow .16s ease,color .16s ease,opacity .16s ease}.pause-overlay.is-entering .pause-action{animation:pause-action-enter .36s cubic-bezier(.22,1,.36,1) both}.pause-overlay.is-entering .pause-action--exit{animation-delay:40ms}.pause-overlay.is-entering .pause-action--retry{animation-delay:90ms}.pause-overlay.is-entering .pause-action--resume{animation-delay:.14s}.pause-action:hover:not(:disabled){border-color:#4fd0b594;background:#222a27f5;box-shadow:0 0 0 1px #4fd0b51f,0 10px 28px #00000047;transform:translateY(-2px) scale(1.04)}.pause-action:active:not(:disabled){transform:scale(.94)}.pause-action:disabled{cursor:default;opacity:.72}.pause-action.is-selected{border-color:#4fd0b5d1;color:var(--sea);background:#4fd0b524;box-shadow:0 0 0 1px #4fd0b52e,0 0 24px #4fd0b533;animation:pause-action-selected .24s cubic-bezier(.22,1,.36,1) both}.pause-overlay[data-pending-action=exit] .pause-action--exit.is-selected{color:#ffb2b4;border-color:#e08a8eb8;background:#e08a8e1f;box-shadow:0 0 0 1px #e08a8e29,0 0 24px #e08a8e2e}.pause-overlay[data-pending-action=retry] .pause-action--retry.is-selected{color:#ffd166;border-color:#ffd166b3;background:#ffd1661f;box-shadow:0 0 0 1px #ffd16624,0 0 24px #ffd16629}.pause-overlay--blocked{background:#080909b3}.game-track-info{position:absolute;z-index:3;right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:min(220px,24vw);min-width:0;padding:3px 7px;border-right:1px solid rgba(79,208,181,.24);background:transparent;text-align:right;opacity:.46;pointer-events:none}.game-track-info strong,.game-track-info span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-track-info strong{font-size:11px;text-shadow:0 1px 4px rgba(0,0,0,.76)}.game-track-info span{margin-top:0;color:#d8e2ddb3;font-size:9px;text-shadow:0 1px 4px rgba(0,0,0,.76)}.judgement-feedback{position:absolute;z-index:4;top:auto;left:max(16px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));max-width:min(360px,42vw);transform:none;pointer-events:none;overflow-wrap:anywhere;font-size:clamp(20px,3vw,32px);font-weight:900;line-height:1.1;text-align:left;text-shadow:0 2px 10px #000}.judgement-perfect-critical{color:#ffd166}.judgement-perfect{color:#cd7f32}.judgement-pass{color:#69d391}.judgement-miss{color:#a8aeac}.spin{animation:spin 1s linear infinite}.rotate-gate{display:none}.app-rotate-gate{position:fixed;inset:0;z-index:240;place-content:center;justify-items:center;gap:18px;padding:32px;background:#101111;color:var(--paper, #f5f4f1);text-align:center}.app-rotate-gate p,.game-shell .rotate-gate p{margin:0;font-size:clamp(18px,4vw,28px);font-weight:900;line-height:1.2}@keyframes spin{to{transform:rotate(360deg)}}.page-shell[data-page=library] .page-shell__main{overflow:hidden;min-height:0}.page-shell[data-page=library] .page-shell__content,.page-shell[data-page=library] .page-transition-stack,.page-shell[data-page=library] .page-transition-layer,.page-shell[data-page=library] .library-shell{height:100%;min-height:0;max-height:100%;overflow:hidden}.topbar{min-height:52px;height:52px;display:grid;grid-template-columns:160px minmax(0,1fr) auto;align-items:stretch;border-bottom:1px solid var(--line);background:#101111f5}.brand-block{display:flex;align-items:center;gap:0;padding:0;border:0;border-right:1px solid var(--line);border-radius:0;background:transparent;color:var(--paper);text-align:left;cursor:pointer}.brand-block--split{cursor:default}.brand-leave{display:inline-flex;align-items:stretch;height:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer}.brand-leave:disabled{opacity:.72;cursor:wait}.brand-mark{width:44px;min-width:44px;height:100%;aspect-ratio:auto;display:inline-grid;place-items:center;border-radius:0;border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted, #a4aaa7);box-shadow:none}.brand-leave:hover .brand-mark,.brand-leave:focus-visible .brand-mark{color:var(--paper, #f5f4f1);background:#ffffff0a}.brand-mark svg{display:block;stroke:currentColor;transform:scaleX(-1)}.brand-word{display:inline-flex;align-items:center;min-height:100%;padding:0 12px;font-weight:800;font-size:14px;pointer-events:none;user-select:none}.brand-block--static{pointer-events:none;cursor:default}.brand-block--static .brand-word{padding-left:16px}.brand-block--leave:disabled{opacity:.72;cursor:wait}.topbar-page-spacer{min-width:0}.group-tabs{min-width:0;display:flex;overflow-x:auto;scrollbar-width:none}.group-tabs button{min-width:84px;padding:0 12px;border:0;border-right:1px solid #272929;background:transparent;color:var(--muted);cursor:pointer;font-size:12px;letter-spacing:.04em;transition:color .16s ease,box-shadow .16s ease,background .16s ease}.group-tabs button:disabled{opacity:.55;cursor:wait}.group-tabs button[aria-selected=true]{color:var(--paper);box-shadow:inset 0 -3px var(--sea)}.song-float__list,.song-focus{transition:opacity .18s ease,transform .22s cubic-bezier(.22,1,.36,1),filter .18s ease}.song-float__list.is-group-out,.song-focus.is-group-out{opacity:0;transform:translateY(10px);filter:blur(6px);pointer-events:none}.song-float__list.is-group-in,.song-focus.is-group-in{animation:library-group-in .28s cubic-bezier(.22,1,.36,1) both}@keyframes library-group-in{0%{opacity:0;transform:translateY(-12px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@media(prefers-reduced-motion:reduce){.song-float__list,.song-focus,.song-float__list.is-group-out,.song-focus.is-group-out,.song-float__list.is-group-in,.song-focus.is-group-in{transition:none!important;animation:none!important;filter:none!important;transform:none!important;opacity:1!important}}.cover-frame{position:relative;width:min(100%,180px);justify-self:start;aspect-ratio:1;overflow:hidden;border:1px solid #525756;background:#232525}.cover-frame img{width:100%;height:100%;display:block;object-fit:cover}.cover-index{position:absolute;left:0;bottom:0;min-width:42px;padding:6px 8px;background:#080c0ee0;border-top-right-radius:10px;border:1px solid rgba(255,255,255,.12);border-left:0;border-bottom:0;color:var(--paper);font-weight:900;font-size:14px}.status-line{display:flex;align-items:center;gap:6px;color:var(--sea);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.status-line.locked{color:#d48789}.song-copy h1{margin:0;font-size:clamp(16px,1.8vw,24px);line-height:1.15;letter-spacing:.01em;overflow-wrap:normal;word-break:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.artist{margin:0 0 4px;font-size:clamp(12px,1.2vw,15px);color:var(--muted);overflow-wrap:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.button-primary,.button-secondary{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:0 20px;border-radius:4px;border:1px solid transparent;cursor:pointer}.button-secondary{background:transparent;border-color:#5d6260}.button-primary{background:linear-gradient(180deg,#1c2628fa,#0e1214fa);border-color:#4fd0b56b;color:var(--paper);font-weight:800;box-shadow:inset 0 1px #ffffff0f,0 10px 22px #00000038}.button-primary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}@media(orientation:landscape)and (max-height:430px),(max-width:820px)and (orientation:landscape){.page-shell{--page-shell-topbar-min-height: 40px;--page-shell-rail-width: 40px}.page-shell__topbar{min-height:40px}.topbar{min-height:40px;height:40px;grid-template-columns:44px minmax(0,1fr) auto}.brand-word{display:none}.brand-block{padding:0;gap:0}.brand-mark{width:40px;min-width:40px;border-right:0;border-radius:0}.group-tabs button{min-width:68px;padding:0 8px;font-size:11px}.topbar-account-status{min-height:40px;height:40px}.utility-navigation__button{min-height:40px}}@media(orientation:landscape)and (max-height:380px){.page-shell{--page-shell-topbar-min-height: 36px;--page-shell-rail-width: 36px}.page-shell__topbar,.topbar,.topbar-account-status{min-height:36px;height:36px}.utility-navigation__button{min-height:36px}}@media(max-width:820px){.topbar{grid-template-columns:72px minmax(0,1fr) auto}.brand-word{display:none}.brand-block{padding:0 18px}.library-layout{--library-left: 280px;gap:18px;padding:14px 16px}.song-focus__main{--song-cover-col: 120px;grid-template-columns:var(--song-cover-col) minmax(0,1fr);gap:14px}.song-copy h1{font-size:24px}.play-dock{grid-template-columns:minmax(0,1fr) minmax(150px,190px)}.start-button{margin:14px}}@media(max-width:560px){.result-account-rating{grid-template-columns:1fr;gap:10px}.result-rating-flow{justify-self:stretch;text-align:left}.result-rating-flow div:last-child{text-align:right}}@media(orientation:portrait)and (max-width:720px){.library-shell{min-height:100%;height:auto;overflow:visible;padding-bottom:0}.library-layout{grid-template-columns:1fr;grid-template-rows:minmax(180px,32vh) minmax(0,1fr);gap:12px;padding:12px}.song-float{--song-float-row: 44px;max-width:none}.song-float__sort-group{gap:6px}.song-focus__main{padding:12px 16px;grid-template-columns:minmax(160px,210px) minmax(0,1fr);gap:16px;align-items:center}.song-focus .cover-frame{width:min(100%,210px);max-height:calc(100% - 24px);justify-self:end}.song-copy h1{margin-top:0;font-size:22px}.artist{margin-bottom:4px;font-size:12px}.play-dock{position:relative;right:auto;grid-template-columns:1fr;min-height:166px}.difficulty-tabs{min-height:78px}.start-button{min-height:52px;margin:8px 14px 14px}.game-shell .game-hud,.game-shell .game-overlay,.game-shell .game-track-info,.game-shell .judgement-feedback{display:none}.game-shell .rotate-gate{position:absolute;z-index:10;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;padding:32px;background:#101111;text-align:center}.app-rotate-gate{display:grid}}@media(orientation:portrait)and (max-width:480px){.page-shell[data-page=library] .page-shell__main{overflow-x:hidden;overflow-y:auto}.page-shell[data-page=library] .page-shell__content{height:auto;min-height:100%}.library-shell{min-height:100%;height:auto;overflow:visible}.library-layout{grid-template-rows:minmax(170px,30vh) minmax(0,1fr);gap:12px;padding:10px}.song-focus__main{padding:20px 14px;grid-template-columns:1fr;gap:18px;overflow:visible}.song-focus .cover-frame{width:min(78vw,300px);max-height:none;justify-self:center}.song-copy h1{font-size:22px}.play-dock{min-height:166px}}@media(orientation:portrait)and (min-width:721px){.game-shell .game-hud,.game-shell .game-overlay,.game-shell .game-track-info,.game-shell .judgement-feedback{display:none}.game-shell .rotate-gate{position:absolute;z-index:10;inset:0;display:grid;place-content:center;justify-items:center;gap:18px;padding:32px;background:#101111;text-align:center}.app-rotate-gate{display:grid}}@media(orientation:landscape)and (max-height:560px){.result-screen{align-content:center;gap:8px;padding-block:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-bottom))}.result-screen h1{font-size:38px}.result-score{font-size:48px}.result-rating-summary>div,.result-grid div{padding:8px 12px}.result-rating-summary strong{font-size:21px}.result-account-rating{padding-block:8px}.result-grid{margin:0}.topbar,.topbar-account-status{min-height:40px;height:40px}.brand-block{padding-inline:8px}.library-layout{--library-left: 260px;gap:14px;padding:10px 12px}.song-float{--song-float-row: 40px;--song-float-gap: 6px;--song-float-header: 48px;max-width:320px}.song-float__header{padding:2px 6px 8px 0}.song-float__item{min-height:var(--song-float-row);height:var(--song-float-row);padding:0 14px 0 16px;grid-template-columns:minmax(0,1fr) 44px 48px}.song-float__sort-prefix,.song-float__sort{min-height:26px;padding:0 12px;font-size:11px}.song-float__title{font-size:14px}.song-float__level{font-size:13px}.song-focus__main{--song-cover-col: 112px;padding:6px 8px;grid-template-columns:var(--song-cover-col) minmax(0,1fr);gap:8px;align-items:start;align-content:start}.song-focus .cover-frame{width:100%;max-width:100%;min-width:0;height:auto;aspect-ratio:1 / 1;justify-self:stretch;align-self:start}.song-copy{padding:8px 10px;gap:4px}.song-copy h1{font-size:18px;-webkit-line-clamp:2}.artist{font-size:11px;margin:0}.play-dock{grid-template-columns:minmax(0,1fr) 150px;min-height:64px}.difficulty-tabs button{padding:8px 10px}.difficulty-tabs strong{font-size:16px}.start-button{margin:8px;min-height:40px;font-size:13px}.song-copy{display:grid;gap:4px;align-content:start;padding:8px 10px}.song-copy h1{margin:0;font-size:18px}.artist{margin:0;font-size:11px}.song-copy .play-mode-selector{min-height:30px;margin:0}.song-selection-actions{display:none}.song-selection-actions .song-download-control{min-height:28px}.current-record{min-height:48px;padding-block:5px}.current-record>strong{font-size:25px}.play-dock{min-height:80px}.difficulty-tabs button{padding:8px 14px}.difficulty-tabs strong{font-size:21px}.start-button{min-height:48px;margin:12px}.game-hud{--game-hud-gap: 8px;--hud-score-col: 132px;--hud-health-col: 150px;--hud-pause-col: 40px;--hud-counts-reserve: 140px;--hud-combo-half: 44px;grid-template-columns:var(--hud-score-col) var(--hud-health-col) minmax(0,1fr) auto var(--hud-pause-col);gap:var(--game-hud-gap)}.hud-score,.hud-health,.hud-combo,.hud-counts{min-height:40px;padding:5px 8px}.hud-score strong{font-size:19px}.hud-combo{min-width:72px}.hud-combo strong{font-size:22px}.hud-counts{display:flex;gap:7px;font-size:10px;padding-inline:8px}.song-load-content{gap:8px}.song-load-cover-frame{width:clamp(112px,24vh,156px);margin-bottom:4px}.song-load-content h1{font-size:22px}.song-load-progress{padding:10px 12px}.song-load-progress-copy strong{font-size:15px}.game-track-info{width:min(196px,22vw);bottom:max(10px,env(safe-area-inset-bottom));opacity:.34}}@media(orientation:landscape)and (max-height:560px),(max-width:900px)and (orientation:landscape){.page-shell{--page-shell-topbar-min-height: 36px;--page-shell-rail-width: 34px}.page-shell__topbar{min-height:36px;max-height:calc(36px + var(--page-shell-safe-top))}.topbar,.topbar-account-status{min-height:36px!important;height:36px!important}.topbar{grid-template-columns:40px minmax(0,1fr) auto}.brand-word{display:none!important}.brand-block{padding:0!important;gap:0!important}.brand-mark{width:36px!important;min-width:36px!important;border-right:0!important;border-radius:0!important}.group-tabs button{min-width:60px!important;padding:0 6px!important;font-size:11px!important}.utility-navigation__button{min-height:34px!important}.song-focus{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;height:auto!important;max-height:100%!important;align-self:center!important}.song-focus__main{--song-cover-col: 100px;flex:0 0 auto!important;min-height:0!important;min-width:0!important;max-width:100%!important;grid-template-columns:var(--song-cover-col) minmax(0,1fr)!important;gap:10px!important;padding:8px 8px 4px!important;overflow:hidden!important;align-items:start!important;align-content:start!important}.song-focus>.play-dock{margin-top:0!important;flex:0 0 auto!important}.song-focus .cover-frame{width:100%!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;aspect-ratio:1 / 1!important;align-self:start!important}.song-copy{max-width:100%!important;min-width:0!important;height:auto!important;align-self:start!important;overflow:hidden!important}.song-copy__score-row{gap:6px!important}.song-copy{padding:6px 8px!important;gap:3px!important}.song-copy h1{font-size:15px!important;line-height:1.15!important}.artist{font-size:10px!important;margin:0!important}.status-line{font-size:10px!important}.song-copy .play-mode-selector{min-height:28px!important}.current-record{min-height:30px!important;padding:3px 6px!important}.current-record>strong{font-size:15px!important}.song-selection-actions{display:none!important}.play-dock{min-height:0!important;max-height:none!important;height:auto!important;grid-template-columns:minmax(0,1fr) 156px!important;align-items:stretch!important}.difficulty-tabs{grid-template-columns:repeat(3,minmax(0,1fr))!important;overflow-x:hidden!important;min-height:0!important;height:auto!important}.difficulty-tabs button{min-width:0!important;min-height:0!important;height:auto!important;padding:10px 8px!important;gap:6px!important;font-size:12px!important;white-space:nowrap!important;flex-direction:row!important;justify-content:space-between!important;align-items:center!important}.difficulty-tabs button span,.difficulty-tabs button strong{display:inline!important;white-space:nowrap!important;line-height:1.15!important}.difficulty-tabs button span{font-size:12px!important}.difficulty-tabs strong{font-size:16px!important}.start-button{margin:6px!important;min-height:36px!important;height:auto!important;max-height:none!important;font-size:13px!important;padding-inline:10px!important;white-space:nowrap!important;flex-wrap:nowrap!important;gap:6px!important;width:calc(100% - 12px)!important}.start-button svg{width:14px!important;height:14px!important;flex:0 0 14px!important}.start-button__label{white-space:nowrap!important}.library-layout{--library-left: 220px !important;gap:8px!important;padding:8px!important}.song-float{max-width:260px!important}.song-float__item{--song-float-row: 36px}}.page-shell[data-page=settings] .page-shell__main{display:flex!important;flex-direction:column!important;overflow:hidden!important;min-height:0}.page-shell[data-page=settings] .page-shell__page-header{flex:0 0 auto}.page-shell[data-page=settings] .page-shell__content{position:relative;flex:1 1 auto;width:100%!important;max-width:none!important;min-height:0!important;height:auto!important;margin:0!important;padding:0!important;display:block!important;overflow:hidden!important}.page-shell[data-page=settings] .page-transition-stack{position:relative!important;width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden!important}.page-shell[data-page=settings] .page-transition-layer{width:100%!important;height:100%!important;min-height:100%!important;overflow:hidden!important}.page-shell[data-page=settings] .settings-page{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;min-height:100%!important;max-height:100%!important;display:block!important;overflow:hidden!important}.page-shell[data-page=shop] .shop-page__header,.page-shell[data-page=account] .account-page__header,.page-shell[data-page=tasks] .daily-tasks-panel__header,.page-shell[data-page=settings] .settings-page__header{display:none!important}.shell-leave-farewell{position:absolute;inset:0;z-index:40;display:grid;place-items:center;place-content:center;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 46%,#0c183038,#040812b8 68%),linear-gradient(180deg,#050a1647,#050a1694)}.shell-leave-farewell.is-visible{animation:library-farewell-in .36s cubic-bezier(.22,1,.36,1) both}.shell-leave-farewell__text{margin:0;padding:0 24px;text-align:center;font-family:var(--font-display, "Segoe UI", system-ui, sans-serif);font-size:clamp(1.35rem,3.4vw,2rem);font-weight:650;letter-spacing:.08em;color:#f4fafff5;text-shadow:0 0 18px rgba(94,214,255,.35),0 2px 18px rgba(0,0,0,.45)}.page-shell.is-leaving-to-title{position:relative}.page-shell.is-leaving-to-title .library-shell.is-leaving>:not(.library-atmosphere):not(.library-farewell){animation:library-shell-leave .42s cubic-bezier(.22,1,.36,1) both}.page-shell.is-leaving-to-title .library-shell>.library-farewell{display:none!important}.profile-sync-toast{position:fixed;left:50%;bottom:max(14px,env(safe-area-inset-bottom));z-index:120;display:inline-flex;align-items:center;gap:9px;min-height:34px;max-width:min(420px,calc(100vw - 28px));padding:8px 14px;border:1px solid rgba(153,226,255,.34);border-radius:999px;pointer-events:none;color:#f1fafff5;background:linear-gradient(135deg,#122237db,#0a1323d1),radial-gradient(circle at 20% 20%,rgba(99,219,255,.22),transparent 54%);box-shadow:0 12px 34px #00000052,0 0 22px #57cbff29;backdrop-filter:blur(10px);transform:translate(-50%);animation:profile-sync-toast-in .22s cubic-bezier(.22,1,.36,1) both}.profile-sync-toast[data-status=synced]{border-color:#77ffc65c;box-shadow:0 12px 34px #0000004d,0 0 22px #4affb524}.profile-sync-toast[data-status=error]{border-color:#ffae826b;box-shadow:0 12px 34px #00000052,0 0 22px #ff845e29}.profile-sync-toast__pulse{width:11px;height:11px;border-radius:999px;background:#6ddbff;box-shadow:0 0 #6ddbff73;flex:0 0 auto}.profile-sync-toast[data-status=syncing] .profile-sync-toast__pulse{animation:profile-sync-pulse .98s ease-out infinite}.profile-sync-toast[data-status=synced] .profile-sync-toast__pulse{background:#6cffbe;box-shadow:0 0 14px #6cffbe6b}.profile-sync-toast[data-status=error] .profile-sync-toast__pulse{background:#ff9769;box-shadow:0 0 14px #ff97696b}.profile-sync-toast__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:700;letter-spacing:.02em}.task-token-toast{position:fixed;right:max(18px,env(safe-area-inset-right));bottom:calc(max(14px,env(safe-area-inset-bottom)) + 52px);z-index:121;display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:8px 13px;border:1px solid rgba(255,229,128,.5);border-radius:999px;pointer-events:none;color:#fff8dafa;background:linear-gradient(135deg,#3d2d0be6,#151714d6),radial-gradient(circle at 22% 22%,rgba(255,214,82,.3),transparent 58%);box-shadow:0 12px 34px #00000052,0 0 22px #ffd6522e;backdrop-filter:blur(10px);transform-origin:100% 100%;animation:task-token-toast-pop 1.1s cubic-bezier(.2,.9,.24,1) both}.task-token-toast__spark{width:11px;height:11px;border-radius:999px;background:#ffdf66;box-shadow:0 0 0 4px #ffdf6624,0 0 16px #ffdf6685;flex:0 0 auto}.task-token-toast strong{font-size:15px;font-weight:900;font-variant-numeric:tabular-nums}.task-token-toast span:last-child{font-size:11px;font-weight:800;letter-spacing:.04em}@keyframes profile-sync-toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@keyframes task-token-toast-pop{0%{opacity:0;transform:translateY(12px) scale(.94)}18%{opacity:1;transform:translateY(0) scale(1.02)}72%{opacity:1;transform:translateY(-7px) scale(1)}to{opacity:0;transform:translateY(-14px) scale(.98)}}@keyframes profile-sync-pulse{0%{box-shadow:0 0 #6ddbff80}70%{box-shadow:0 0 0 8px #6ddbff00}to{box-shadow:0 0 #6ddbff00}}@media(prefers-reduced-motion:reduce){.shell-leave-farewell.is-visible{animation-duration:1ms!important;animation-delay:0ms!important}.profile-sync-toast,.task-token-toast,.profile-sync-toast[data-status=syncing] .profile-sync-toast__pulse{animation-duration:1ms!important;animation-iteration-count:1!important}}
