:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#18231f;--muted:#66716a;--line:#dce1d8;--paper:#f7f8f4;--surface:#fff;--sage:#dfe9d9;--forest:#244d3e;--coral:#ed8564;--sidebar:#f0f2eb;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--control-gap:16px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;font-family:DM Sans,Noto Sans SC,sans-serif}.numbered-panel{background:#131028}.numbered-panel canvas{width:100%;height:100%;min-height:0;display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}html,body{touch-action:manipulation}img{-webkit-user-drag:none}body{min-width:320px;color:var(--ink);background:var(--paper);margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{min-height:calc(100vh - var(--perf-dock-bottom,0px));padding-right:var(--perf-dock-right,0px);box-sizing:border-box;grid-template-columns:236px minmax(0,1fr);display:grid}html.embed .app-shell{display:block}html.embed:not(.standalone) .topbar,html.embed.standalone .topbar{display:none!important}html.embed.standalone .main-content{min-height:100vh;min-height:100dvh;padding-top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));padding-right:max(clamp(22px, 5vw, 74px), var(--safe-right,env(safe-area-inset-right,0px)));padding-bottom:max(58px, var(--safe-bottom,env(safe-area-inset-bottom,0px)));padding-left:max(clamp(22px, 5vw, 74px), var(--safe-left,env(safe-area-inset-left,0px)))}.local-dot,.api-state i{background:#5f9e7a;border-radius:99px;width:7px;height:7px;display:inline-block}.main-content{min-width:0;padding:0 max(22px,min(5vw,74px)) 58px}.topbar{justify-content:space-between;align-items:center;height:83px;display:flex}.crumb{color:var(--muted);align-items:center;gap:8px;font-size:13px;display:flex}.crumb b{color:#b3bbb1;font-weight:400}.crumb strong{color:var(--ink);font-weight:600}.topbar-actions{align-items:center;gap:17px;display:flex}.api-state{color:#738076;align-items:center;gap:7px;font-size:12px;display:flex}.api-state.api i{background:#4fa17c}.api-state.demo i,.api-state.loading i{background:#d3a146}.api-state.error{color:#bb644d}.api-state.error i{background:#d46852}.synth-state{color:#738076;white-space:nowrap;align-items:center;gap:7px;font-size:12px;display:flex}.synth-state i{background:#9aa59d;border-radius:99px;width:7px;height:7px;display:inline-block}.synth-state.loading i{background:#d3a146;animation:1s ease-in-out infinite synth-pulse}.synth-state.ready{color:#46765c}.synth-state.ready i{background:#4fa17c}.synth-state.error{color:#bb644d}.synth-state.error i{background:#d46852}@keyframes synth-pulse{50%{opacity:.35}}.icon-button{border:1px solid var(--line);color:#4a584f;background:var(--surface);border-radius:50%;place-items:center;width:35px;height:35px;font-size:17px;line-height:1;display:grid}.icon-button:hover{border-color:var(--forest);color:var(--forest)}.device-button{border:1px solid var(--line);color:#476153;background:var(--surface);min-height:35px;font:inherit;border-radius:5px;align-items:center;gap:7px;padding:0 11px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.device-button>span:first-child{font-size:17px}html.native-shell #open-device{display:none}.hero{color:#f7faef;background:#2b5144 url(https://images.unsplash.com/photo-1516280440614-37939bbacd81?auto=format&fit=crop&w=1600&q=85) 50% 47%/cover no-repeat;border-radius:8px;justify-content:space-between;gap:30px;min-height:287px;padding:41px 43px;display:flex;position:relative;overflow:hidden}.hero:before{content:"";top:0;bottom:0;left:0;right:0;background:linear-gradient(90deg,#142f25f0 0%,#1b4031c9 52%,#20443447 100%);position:absolute;top:0;bottom:0;left:0;right:0}.eyebrow,.section-kicker{color:#b8d5af;letter-spacing:.14em;margin:0;font-size:11px;font-weight:700}.hero h1{letter-spacing:0;margin:14px 0;font-family:Noto Sans SC,sans-serif;font-size:max(31px,min(3vw,47px));line-height:1.18}.hidden{display:none!important}.catalogue{margin-top:47px}.section-kicker{color:#84917f}.catalogue h2{letter-spacing:0;margin:8px 0 0;font-family:Noto Sans SC,sans-serif;font-size:27px}.filter-bar{flex-wrap:wrap;gap:8px;margin-top:25px;display:flex}.filter{border:1px solid var(--line);color:#657269;background:0 0;border-radius:5px;padding:9px 15px;font-size:13px;font-weight:600}.filter:hover{border-color:#9eafa2}.filter.active{border-color:var(--forest);color:#fff;background:var(--forest)}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:25px;display:grid}.text-button{border:0;border-radius:5px;font-size:13px;font-weight:700}.load-message{color:#7d887f;min-height:20px;margin:17px 0 0;font-size:12px}.empty-state{color:var(--muted);text-align:center;border:1px dashed #c6cfc5;border-radius:7px;grid-column:1/-1;padding:48px 20px}.settings-dialog,.device-dialog{width:min(440px,100vw - 34px);color:var(--ink);border:0;border-radius:8px;padding:0;box-shadow:0 18px 55px #15241c42}.settings-dialog::backdrop{background:#131f197a}.video-dialog::backdrop{background:#131f197a}.device-dialog::backdrop{background:#131f197a}.settings-card,.device-card{background:var(--surface);padding:31px;position:relative}.settings-card h2,.device-card h2{margin:8px 0;font-family:Noto Sans SC,sans-serif;font-size:25px}.settings-card>p:not(.section-kicker){color:var(--muted);margin:0 0 24px;font-size:13px;line-height:1.65}.settings-card label{color:#4d5b52;margin-bottom:7px;font-size:12px;font-weight:700;display:block}.settings-card input{border:1px solid var(--line);width:100%;height:43px;color:var(--ink);border-radius:5px;outline:none;padding:0 12px}.settings-card input:focus{border-color:var(--forest);box-shadow:0 0 0 3px #e5eee1}.dialog-close{color:#6f7b71;background:#f1f3ef;border:0;border-radius:50%;width:31px;height:31px;font-size:21px;line-height:1;position:absolute;top:13px;right:14px}.text-button.quiet{color:#6c786e;background:0 0;padding:9px 0}.text-button.primary{color:#fff;background:var(--forest);padding:9px 14px}.text-button.primary:hover{background:#1b3e31}.device-current{color:#657269;margin:0 0 18px;font-size:13px}.device-options{gap:9px;display:grid}.device-options button{color:#3e5045;text-align:left;min-height:69px;font:inherit;background:#f8faf6;border:1px solid #dce4d9;border-radius:5px;gap:3px;padding:13px 15px;display:grid}.device-options button:hover{background:#f0f6ee;border-color:#8cae97}.device-options strong{font-size:14px}.device-options span{color:#7b877d;font-size:11px}.disconnect-button{font:inherit;margin-top:14px;font-size:12px;font-weight:700}.course-detail-copy>p:not(.section-kicker){color:#637066;max-width:490px;margin:0;font-size:14px;line-height:1.7}.video-dialog{color:#fff;background:#17211d;border:0;border-radius:8px;width:min(940px,100vw - 34px);padding:0;box-shadow:0 18px 55px #15241c4d}.video-card{padding:24px}.video-header .section-kicker{color:#b5cab6}.video-header .dialog-close{color:#e4ebe0;background:#304239;flex:none;position:static}.video-stage{aspect-ratio:16/9;background:#0b120e;position:relative;overflow:hidden}.video-stage video{background:#080d0a;width:100%;height:100%;display:block}.video-loading{top:0;bottom:0;left:0;right:0;color:#c4d5c4;text-align:center;background:#0b120e;place-content:center;gap:15px;font-size:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.video-loading i{border:3px solid #405448;border-top-color:#d8e6d4;border-radius:50%;width:28px;height:28px;margin:0 auto;animation:.8s linear infinite spin}.video-stage:not(.is-loading) .video-loading{display:none}.video-stage.is-loading video{visibility:hidden}.video-midi-status{color:#b9ceb9;min-height:18px;margin:12px 0 0;font-size:12px}.video-error{color:#e4b2a9;min-height:18px;margin:5px 0 0;font-size:12px}@keyframes rise{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.practice-dialog{color:#f3f6f1;background:#111b18;border:0;border-radius:8px;width:min(1180px,100vw - 28px);height:min(850px,100vh - 28px);max-height:none;padding:0;box-shadow:0 22px 65px #08100c6b}.practice-shell{grid-template-rows:auto auto minmax(0,1fr) auto;height:100%;min-height:0;display:grid}.practice-header{border-bottom:1px solid #2a3934;justify-content:space-between;align-items:center;gap:20px;min-height:74px;padding:17px 22px 14px;display:flex}.practice-title-row{align-items:baseline;gap:12px;display:flex}.practice-title-row h2{letter-spacing:0;margin:4px 0 0;font-family:Noto Sans SC,sans-serif;font-size:23px}.practice-title-row span{color:#80928a;font-size:11px}.practice-header .dialog-close{color:#dce5df;background:#2b3b35;flex:none;position:static}.practice-viewport{background:#111b18;flex-direction:column;min-height:0;display:flex;position:relative}.practice-stage{flex:auto;min-height:0;position:relative}.practice-keyboard-bar{width:100%;height:max(72px,min(20%,98px));margin-bottom:var(--practice-keyboard-gap,0px);flex:none;display:block}.notation-panel{width:100%;height:100%}.waterfall-panel canvas{width:100%;height:100%;min-height:360px;display:block}.practice-icon-button,.practice-play-button{color:#e8eee9;background:0 0;border:1px solid #40524a;border-radius:50%;place-items:center;width:36px;height:36px;font-size:17px;line-height:1;display:grid}.practice-play-button{color:#fff;background:#d76952;border-color:#d76952;width:42px;height:42px;font-size:15px}.practice-play-button:disabled{opacity:.45;cursor:default}.practice-status{color:#a9bdb2;text-align:right;min-width:130px;margin:0;font-size:12px}.practice-dialog audio{display:none}@media (max-width:940px){.app-shell{grid-template-columns:84px minmax(0,1fr)}.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.app-shell{display:block}.main-content{padding:0 17px 40px}html.embed.standalone .main-content{padding-right:max(17px,var(--safe-right,env(safe-area-inset-right,0px)));padding-bottom:max(40px,var(--safe-bottom,env(safe-area-inset-bottom,0px)));padding-left:max(17px,var(--safe-left,env(safe-area-inset-left,0px)))}.topbar{height:56px}.crumb{font-size:12px}.api-state{display:none}.device-button{justify-content:center;width:35px;padding:0}.device-button>span:last-child{display:none}.hero{border-radius:6px;flex-direction:column;min-height:345px;padding:30px 24px}.hero h1{font-size:32px}.catalogue{margin-top:34px}.catalogue h2{font-size:24px}.course-grid{grid-template-columns:1fr;gap:15px}.filter-bar{flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter{flex:none}.load-message{line-height:1.6}.video-card{padding:17px}.practice-dialog{width:100vw;height:100vh;border-radius:0;max-width:none;height:100dvh;max-height:none}.practice-header{min-height:65px;padding:12px 14px}.practice-title-row{display:block}.practice-title-row h2{text-overflow:ellipsis;white-space:nowrap;max-width:250px;font-size:18px;overflow:hidden}.practice-title-row span{display:none}.waterfall-panel canvas{min-height:300px}.practice-status{text-align:center;grid-column:1/-1;min-width:0}}.practice-dialog{background:#08110f;border-radius:18px;box-shadow:0 30px 90px #0000009e}.practice-shell{background:radial-gradient(circle at 50% -20%,#214c41 0,#0b1714 34%,#07100e 72%);grid-template-rows:auto auto auto minmax(0,1fr) auto}.practice-header{background:#040c0ab8;border-bottom-color:#83ffd11f;min-height:62px;padding:12px 20px}.practice-header .section-kicker{color:#4ff0b2;letter-spacing:.18em}.practice-actions button.active{background:linear-gradient(135deg,#ff6d56,#ff426d);box-shadow:0 0 24px #ff4e5b4d}.game-hud{background:linear-gradient(#0b1a1680,#040c0a1a);border-bottom:1px solid #74ffcc1a;grid-template-columns:1fr minmax(180px,1.3fr) 1fr 1fr;align-items:center;gap:16px;min-height:76px;padding:8px 24px 12px;display:grid}.hud-stat{gap:2px;display:grid}.hud-stat span{color:#67887d;letter-spacing:.18em;font-size:9px;font-weight:800}.hud-stat strong{color:#f2fff9;font-variant-numeric:tabular-nums;letter-spacing:.05em;text-shadow:0 0 18px #68ffc62e;font:700 24px DM Sans,sans-serif}.hud-combo,.game-hud .hud-stat:last-child{text-align:right}.hud-judgement{color:#749287;letter-spacing:.12em;text-shadow:0 0 20px;place-items:center;min-height:45px;font:italic 900 28px DM Sans,sans-serif;display:grid}.hud-judgement[data-judgement=PERFECT]{color:#65ffd0}.hud-judgement[data-judgement=EARLY]{color:#62c8ff}.hud-judgement[data-judgement=LATE]{color:#ffc85d}.hud-judgement[data-judgement=MISS]{color:#ff647b}.hud-judgement.pop{animation:.24s ease-out judgement-pop}.practice-viewport{background:#07100e;border:1px solid #71f0bd1f;border-radius:14px 14px 0 0;margin:0 18px;overflow:hidden;box-shadow:inset 0 0 60px #2c9d7714,0 12px 45px #00000047}.practice-play-button{letter-spacing:.12em;background:linear-gradient(135deg,#ff7654,#ff426f);border:0;border-radius:999px;width:92px;height:40px;font-size:11px;font-weight:900;box-shadow:0 8px 24px #ff485f45}.practice-status{color:#85a398;min-width:150px;font-size:11px}@keyframes judgement-pop{0%{opacity:.25;transform:scale(1.55)}to{opacity:1;transform:scale(1)}}@media (max-width:650px){.practice-shell{grid-template-rows:auto auto auto minmax(0,1fr) auto}.game-hud{grid-template-columns:1fr 1.2fr 1fr;gap:7px;min-height:64px;padding:6px 12px 9px}.game-hud .hud-stat:last-child{display:none}.hud-stat strong{font-size:17px}.hud-judgement{min-width:0;font-size:20px}.practice-viewport{border-radius:10px 10px 0 0;margin:0 8px}.practice-status{text-align:center;grid-column:1/-1}.practice-play-button{width:76px}}.course-detail-copy .section-kicker{color:#d6c7ff}.course-detail-copy>p:not(.section-kicker){color:#ded9e7}:root{--pink:#f84f9a;--violet:#8d5cf5;--sky:#35aaf2;--sun:#ffc34d;--mint:#28c994;--paper:#f4f4f7;--sidebar:#eeeef2;--ink:#24222d;--muted:#6f6d78;--line:#dddde5}.music-library-view{padding:18px 0 54px}.music-library-header{justify-content:space-between;align-items:end;gap:28px;margin-bottom:24px;display:flex}.music-library-header h1{letter-spacing:0;margin:7px 0 5px;font-family:Noto Sans SC,sans-serif;font-size:34px}.music-library-header p:last-child{color:var(--muted);margin:0;font-size:13px}.music-search{background:#fff;border:1px solid #d9d7e0;border-radius:12px;align-items:center;gap:8px;width:min(280px,100%);min-height:40px;padding:9px 13px;display:flex}.music-search:focus-within{border-color:var(--violet);box-shadow:0 0 0 3px #8d5cf51f}.music-search span{color:#777180;font-size:16px}.music-search input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px;font-weight:600}.music-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.music-card{min-width:0;min-height:82px;color:var(--ink);text-align:left;background:#fff;border:1px solid #e1dfe7;border-radius:7px;grid-template-columns:62px minmax(0,1fr);align-items:center;gap:12px;padding:10px;font-family:inherit;transition:border-color .18s,box-shadow .18s,transform .18s;display:grid}.music-card:hover{border-color:#bdb3d1;transform:translateY(-2px);box-shadow:0 7px 18px #41315517}.music-card:focus-visible{outline:3px solid var(--violet);outline-offset:2px}.music-card:disabled{opacity:.55}.music-card img{object-fit:cover;background:#e7e5eb;border-radius:5px;width:62px;height:62px}.music-card>span{gap:6px;min-width:0;display:grid}.music-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.35;overflow:hidden}.music-card small{color:#827d89;text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}@media (max-width:1100px){.music-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:800px){.music-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.music-library-view{padding-top:8px}.music-library-header{flex-direction:column;align-items:stretch;gap:16px}.music-library-header h1{font-size:27px}.music-search{width:100%}.music-grid{grid-template-columns:1fr}}.text-button.primary{background:linear-gradient(115deg,#5b73ff,#a94df2 55%,#ff7455)}.hero{border:0;box-shadow:0 14px 36px #5b3c8624}.hero:after{content:"";top:0;bottom:0;left:auto;right:0;background:linear-gradient(var(--pink) 0 20%, var(--violet) 20% 40%, var(--sky) 40% 60%, var(--mint) 60% 80%, var(--sun) 80%);width:8px;position:absolute;top:0;bottom:0;left:auto;right:0}.hero:before{background:#1c182bc2}.course-grid{grid-template-columns:1fr;gap:34px;width:min(760px,100%);margin:0 auto;display:grid;position:relative}.course-grid:before{content:"";z-index:0;border-left:4px dashed #dcd9ed;width:4px;position:absolute;top:55px;bottom:55px;left:50%;transform:translate(-2px)}.practice-mode-label{color:#d8fff0;background:#040c0a94;border:1px solid #76ffcf29;border-radius:999px;align-items:center;min-height:31px;padding:0 13px;font-size:12px;font-weight:700;display:inline-flex}.practice-dialog{background:#0d0d16}.practice-shell{background:#101019}.practice-header{background:#0d0d16;border-bottom-color:#a380ff2e}.notation-tabs button.active{color:#fff;background:linear-gradient(115deg,#5f78ff,#a44df2);box-shadow:0 0 22px #8b59ff52}.practice-actions button.active{background:linear-gradient(115deg,#a94df2,#f84f9a 55%,#ff7455)}.game-hud{background:#101019;border-bottom-color:#9d75ff24}.practice-viewport{background:#11111b;border-color:#a07dff2e;box-shadow:inset 0 0 60px #7b5bff14,0 12px 45px #00000047}.practice-status{color:#aaa5b7}.practice-dialog .practice-start{z-index:8;top:max(10px,var(--safe-top,env(safe-area-inset-top,0px)));left:max(14px,var(--safe-left,env(safe-area-inset-left,0px)));transition:none;position:absolute;bottom:auto;right:auto;transform:none}.practice-dialog #practice-play{letter-spacing:0;border:1px solid #ffffff38;border-radius:50%;width:40px;min-width:40px;height:40px;padding:0;font-size:12px}.practice-dialog.is-complete .practice-start{display:none}.practice-result{z-index:11;top:0;bottom:0;left:0;right:0;color:#fff6e8;text-align:center;background:radial-gradient(circle at 50% 48%,#48367cc7,#0000 43%),linear-gradient(155deg,#12102c,#080818 76%);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.result-stars,.result-stars:before,.result-stars:after{top:0;bottom:0;left:0;right:0;content:"";pointer-events:none;opacity:.54;background-image:radial-gradient(circle at 12% 22%,#fff 0,#fff 1px,#0000 1.5px),radial-gradient(circle at 67% 14%,#f5c77e 0,#f5c77e 1px,#0000 1.5px),radial-gradient(circle at 84% 46%,#8fe0cf 0,#8fe0cf 1px,#0000 1.5px),radial-gradient(circle at 31% 74%,#fff 0,#fff 1px,#0000 1.4px);position:absolute;top:0;bottom:0;left:0;right:0}.result-stars:before{opacity:.44;transform:translate(11%,19%)}.result-stars:after{opacity:.3;transform:translate(-14%,37%)}.result-heading{z-index:3;white-space:nowrap;gap:2px;display:grid;position:absolute;top:17px;left:50%;transform:translate(-50%)}.practice-result .result-heading p{color:#f5c77e;margin:0;font-size:11px;font-weight:800}.practice-result .result-heading strong{font-size:19px}.practice-result{--result-map-h:min(250px, 62vh)}.result-map{z-index:2;width:min(760px,92vw);height:var(--result-map-h);position:absolute;top:61px;left:50%;transform:translate(-50%)}.result-map svg{top:0;bottom:0;left:0;right:0;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.result-track-base,.result-track-light{fill:none;stroke-linecap:round;stroke-linejoin:round}.result-track-base{stroke:#8fe0cf29;stroke-width:2px}.result-track-light{stroke:#f5c77e;stroke-width:3px;stroke-dasharray:1;stroke-dashoffset:1px;filter:drop-shadow(0 0 7px #f5c77eb8)}.result-node{opacity:.18;fill:#221a3d;stroke:#fff6e838;stroke-width:3px;transform-box:fill-box;transform-origin:50%}.result-metric{z-index:3;opacity:0;gap:2px;min-width:86px;display:grid;position:absolute}.result-metric span{color:#fff6e88a;font-size:10px}.result-metric strong{color:#fff6e8;font-size:16px}.metric-accuracy{top:66%;left:0}.metric-notes{top:1%;left:25%}.metric-combo{top:-2%;right:24%}.metric-score{top:62%;right:0}.result-rank{z-index:5;opacity:0;background:radial-gradient(circle,#ffe2a5,#f0b759 62%,#bb704d);border-radius:50%;place-items:center;width:86px;height:86px;display:grid;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)scale(.42);box-shadow:0 0 0 12px #f5c77e1a,0 0 42px #f5c77e7a}.result-rank strong{color:#442a43;font-size:44px;line-height:.88}.result-rank span{color:#5b3651;font-size:9px}.result-particles{z-index:4;pointer-events:none;width:1px;height:1px;position:absolute;top:54%;left:50%}.result-particles i{width:var(--result-size);height:calc(var(--result-size) * 1.8);opacity:0;background:#f5c77e;border-radius:999px;position:absolute;top:0;left:0;box-shadow:0 0 8px}.result-particles i:nth-child(3n){color:#8fe0cf;background:#8fe0cf}.result-particles i:nth-child(3n+1){color:#fff;background:#fff}.result-actions{z-index:6;right:0;bottom:calc(var(--safe-bottom) + 18px);padding-right:var(--safe-right);padding-left:var(--safe-left);opacity:0;flex-wrap:wrap;justify-content:center;gap:10px;display:flex;position:absolute;left:0}.practice-result button{color:#3c2941;min-height:40px;font:inherit;background:#f5c77e;border:1px solid #f5c77e6b;border-radius:6px;padding:0 22px;font-size:13px;font-weight:800;box-shadow:0 9px 24px #f5c77e29}.practice-result .result-blackout-challenge{color:#fff6e8;background:#12102cdb;border-color:#8fe0cf80;align-items:center;gap:8px;padding:5px 14px;display:flex;box-shadow:0 9px 25px #04031257,inset 0 1px #ffffff14}.practice-result .result-actions .is-exit{color:#fff6e8;box-shadow:none;background:#12102cdb;border-color:#f5c77e57;order:1}.result-blackout-challenge svg{color:#8fe0cf;width:22px;height:22px}.result-blackout-challenge span{text-align:left;line-height:1.05;display:grid}.result-blackout-challenge b{font-size:12px}.result-blackout-challenge small{color:#fff6e885;margin-top:3px;font-size:8px;font-weight:700}.practice-result[data-passed=false] .result-track-light{stroke:#e2836b}.practice-result[data-passed=false] .result-rank{background:radial-gradient(circle,#ffd0c6,#e2836b 68%,#9f4d5e)}.practice-result.is-celebrating .result-track-light{animation:1.65s ease-in-out .16s forwards result-track-light}.practice-result.is-celebrating .result-node{animation:.42s ease-out forwards result-node-light}.practice-result.is-celebrating .node-1{animation-delay:.22s}.practice-result.is-celebrating .node-2{animation-delay:.58s}.practice-result.is-celebrating .node-3{animation-delay:.94s}.practice-result.is-celebrating .node-4{animation-delay:1.3s}.practice-result.is-celebrating .node-5{animation-delay:1.66s}.practice-result.is-celebrating .metric-accuracy{animation:.34s .32s forwards result-label-in}.practice-result.is-celebrating .metric-notes{animation:.34s .7s forwards result-label-in}.practice-result.is-celebrating .metric-combo{animation:.34s 1.42s forwards result-label-in}.practice-result.is-celebrating .metric-score{animation:.34s 1.78s forwards result-label-in}.practice-result.is-celebrating .result-rank{animation:.62s cubic-bezier(.2,.9,.28,1.35) 2.02s forwards result-rank-in}.practice-result.is-celebrating .result-particles i{animation:result-particle-burst .86s cubic-bezier(.15,.7,.22,1) calc(2.05s + var(--result-delay)) both}.practice-result.is-celebrating .result-actions{animation:.4s 2.42s forwards result-label-in}@keyframes result-track-light{to{stroke-dashoffset:0}}@keyframes result-node-light{0%{opacity:.18;transform:scale(.5)}58%{opacity:1;fill:#fff;stroke:#f5c77e;filter:drop-shadow(0 0 12px #f5c77e);transform:scale(1.75)}to{opacity:1;fill:#fff6e8;stroke:#f5c77e;filter:drop-shadow(0 0 7px #f5c77e);transform:scale(1)}}@keyframes result-label-in{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes result-rank-in{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)rotate(-9deg)}70%{opacity:1;transform:translate(-50%,-50%)scale(1.12)rotate(2deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes result-particle-burst{0%{opacity:0;transform:translate(0)scale(.35)}15%{opacity:var(--result-alpha)}to{opacity:0;transform:translate(var(--result-x),var(--result-y)) scale(0)}}.result-confetti{z-index:6;top:0;bottom:0;left:0;right:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.result-confetti i{top:-6%;left:var(--cf-left);width:var(--cf-size);height:calc(var(--cf-size) * 1.6);opacity:0;background:#f5c77e;border-radius:2px;position:absolute}.result-confetti i:nth-child(4n+1){background:#8fe0cf}.result-confetti i:nth-child(4n+2){background:#fff6e8}.result-confetti i:nth-child(4n+3){background:#e2836b;border-radius:50%}.practice-result.is-celebrating .result-confetti i{animation:result-confetti-fall var(--cf-duration) linear calc(1.6s + var(--cf-delay)) both}@keyframes result-confetti-fall{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:var(--cf-alpha)}85%{opacity:var(--cf-alpha)}to{opacity:0;transform:translate(var(--cf-drift), 112vh) rotate(var(--cf-spin))}}@media (max-width:650px){.course-grid{gap:26px}.course-grid:before{left:64px}.game-hud{grid-template-columns:minmax(0,1fr) minmax(88px,1.1fr) minmax(0,1fr)}.hud-stat{min-width:0}.hud-stat span{font-size:8px}.hud-stat strong{font-size:15px}}@media (orientation:landscape) and (max-height:700px){.duo-land .main-content{height:calc(100vh - var(--perf-dock-bottom,0px));padding-bottom:0;overflow:hidden}@supports (height:100dvh){.duo-land .main-content{height:calc(100dvh - var(--perf-dock-bottom,0px))}}.topbar{height:60px}.hero{min-height:210px;padding:28px 34px}.hero h1{font-size:33px}.catalogue{margin-top:26px}.course-grid{scroll-snap-type:x mandatory;scrollbar-width:thin;overscroll-behavior-x:contain;gap:28px;width:100%;margin:20px 0 0;padding:8px 24px 18px;display:flex;overflow-x:auto}.course-grid:before{display:none}body.course-open .crumb{visibility:hidden}.course-detail-copy>p:not(.section-kicker){font-size:12px}#course-list-view{height:calc(100vh - 60px);scrollbar-width:thin;overscroll-behavior-x:contain;align-items:stretch;gap:20px;height:calc(100dvh - 60px);padding:10px 0 20px;display:flex;overflow-x:auto;overflow-y:hidden}#course-list-view>.hero{flex-direction:column;flex:0 0 max(340px,min(40vw,400px));width:max(340px,min(40vw,400px));height:100%;min-height:0;margin:0;padding:24px 28px}#course-list-view .hero h1{margin:10px 0;font-size:28px}#course-list-view .hero-copy>p:last-child{font-size:12px;line-height:1.6}#course-list-view .hero-metrics strong{font-size:24px}#course-list-view>.catalogue{flex:none;align-items:stretch;gap:20px;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:100%;margin:0;display:flex}#course-list-view .course-grid{scroll-snap-type:none;flex:none;align-items:center;gap:28px;width:-webkit-max-content;width:-moz-max-content;width:max-content;height:100%;margin:0;padding:0 26px 0 0;display:flex;overflow:visible}#course-list-view .load-message{flex:none;align-self:center;margin:0 24px 0 0}#course-list-view .load-message:empty{display:none}}.video-dialog{width:100vw;height:100vh;background:#000;border-radius:0;max-width:none;height:100dvh;max-height:none}.video-card,.video-stage{aspect-ratio:auto;width:100%;height:100%;padding:0}.video-stage video{object-fit:contain}.video-overlay{z-index:2;top:0;bottom:0;left:0;right:0;pointer-events:none;background:linear-gradient(#0000008f,#0000 22%,#0000 74%,#000000b3);position:absolute;top:0;bottom:0;left:0;right:0}.video-overlay h2{max-width:calc(100% - 112px - var(--safe-left) - var(--safe-right));margin:calc(var(--safe-top) + 16px) calc(var(--safe-right) + 20px) 16px calc(var(--safe-left) + 20px);color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:16px;overflow:hidden}.video-close,.video-play,.video-skip{pointer-events:auto;color:#fff;font:inherit;cursor:pointer;background:#00000094;border:0;font-weight:700;position:absolute}.video-close{top:calc(var(--safe-top) + 12px);right:calc(var(--safe-right) + 15px);border-radius:50%;width:38px;height:38px;font-size:24px}.video-play{bottom:calc(var(--safe-bottom) + 17px);left:calc(var(--safe-left) + 20px);border-radius:4px;min-width:54px;height:34px;font-size:12px}.video-skip{right:calc(var(--safe-right) + 20px);bottom:calc(var(--safe-bottom) + 17px);background:#00000080;border:1px solid #ffffff57;border-radius:4px;min-width:62px;height:34px;padding:0 12px;font-size:12px}.video-skip:hover{background:#000000b8;border-color:#fff9}.video-progress{right:calc(var(--safe-right) + 96px);bottom:calc(var(--safe-bottom) + 30px);left:calc(var(--safe-left) + 88px);pointer-events:auto;accent-color:#fff;width:auto;position:absolute}.video-card>.video-midi-status,.video-card>.video-error{z-index:3;right:calc(var(--safe-right) + 20px);bottom:calc(var(--safe-bottom) + 56px);left:calc(var(--safe-left) + 88px);pointer-events:none;text-align:right;text-shadow:0 1px 3px #000;margin:0;position:fixed}.practice-shell{display:block}.practice-viewport{border:0;border-radius:0;width:100%;height:100%;margin:0}.practice-header,.game-hud{z-index:4;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0912b3;border:0;position:absolute}.practice-header{min-height:0;padding:10px 16px;top:0;left:0;right:0}.practice-header .section-kicker{display:none}.practice-title-row h2{margin:0;font-size:16px}.practice-mode-label{color:#d9ceff;background:0 0;border:0;min-height:0;padding:0;font-size:11px}.practice-title-row{flex:1;min-width:0}.practice-title-row h2{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.practice-mode-choice{z-index:9;top:0;bottom:0;left:0;right:0;color:#fff;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#07060deb;place-content:center;gap:22px;padding:24px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.practice-mode-choice[hidden],.practice-mode-switch[hidden],.practice-notation-choice[hidden],.practice-mode-switch button[hidden],.practice-notation-choice button[hidden],.practice-change-mode[hidden]{display:none}.practice-mode-choice h3{letter-spacing:0;margin:0;font-size:24px}.practice-mode-switch,.practice-notation-choice{grid-template-columns:repeat(3,minmax(120px,170px));gap:12px;display:grid}.practice-notation-choice{grid-template-columns:repeat(2,minmax(150px,210px))}.practice-mode-switch button,.practice-notation-choice button{color:#e8e2f7;min-height:72px;font:inherit;background:#1e192c;border:1px solid #a985ff61;border-radius:6px;padding:0 22px;font-size:17px;font-weight:800}.practice-mode-switch button:hover,.practice-notation-choice button:hover{background:#332654;border-color:#b499ff;outline:0}.practice-mode-switch button:focus-visible{background:#332654;border-color:#b499ff;outline:0}.practice-notation-choice button:focus-visible{background:#332654;border-color:#b499ff;outline:0}.practice-mode-switch button.active,.practice-notation-choice button.active{color:#fff;background:#7656d6;border-color:#8f70ed}.practice-mode-switch button:disabled{opacity:.45;cursor:default}.practice-dialog.is-selecting-mode .practice-play-button{opacity:.3}.practice-dialog.is-selecting-mode .practice-header{z-index:10;background:#0a0912d1}.practice-change-mode{z-index:7;color:#fff;min-height:40px;font:inherit;background:#08080ed1;border:1px solid #a985ff59;border-radius:6px;padding:0 14px;font-size:12px;font-weight:700;position:absolute;bottom:16px;left:16px}@media (max-width:650px){.practice-header{gap:8px}.practice-title-row h2{max-width:110px}.practice-mode-switch{grid-template-columns:1fr}.practice-mode-switch button{width:min(260px,72vw)}}.game-hud{grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;min-height:0;padding:5px 16px;top:48px;left:0;right:0}.hud-stat{align-items:baseline;gap:5px;display:flex}.hud-stat span{font-size:9px}.hud-stat strong{font-size:14px}.hud-judgement{min-height:20px;font-size:16px}.practice-status{z-index:4;color:#c9c4d4;text-align:center;text-shadow:0 1px 3px #000;min-width:0;margin:0;font-size:11px;position:absolute;top:88px;left:16px;right:16px}.practice-speed-control{z-index:7;color:#aaa5b7;background:#08080ec7;border:1px solid #a985ff47;border-radius:6px;align-items:center;gap:7px;padding:5px 7px 5px 10px;font-size:10px;font-weight:700;display:flex;position:absolute;bottom:16px;right:16px}.practice-speed-control,.practice-speed-control select{font-size:12px}.practice-speed-control select{color:#fff;height:28px;font:inherit;background:#29233b;border:0;border-radius:4px;outline:0}.practice-speed-control select:focus-visible{outline-offset:2px;outline:2px solid #a985ff}.staff-panel{color:#fff6e8;background:#131028;padding:0;position:relative;overflow:hidden}.staff-scroll{top:0;bottom:0;left:0;right:0;scrollbar-width:none;touch-action:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow-x:auto;overflow-y:hidden}.staff-scroll::-webkit-scrollbar{display:none}.staff-panel #staff-score{min-width:760px;position:absolute;top:0;left:0}.staff-panel svg{max-width:none;display:block}.practice-sound-row.is-unavailable{opacity:.45}.practice-sound-row.is-unavailable output{letter-spacing:.02em;font-size:11px}#staff-feedback{z-index:3;top:0;bottom:0;left:0;right:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.staff-judge-line{z-index:2;width:3px;left:25%;top:calc(50% + var(--score-top-inset,0px) / 2);height:min(264px, calc(100% - var(--score-top-inset,0px) - 20px));pointer-events:none;background:#fff1c7;animation:2.26s ease-in-out infinite staff-judge-pulse;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 14px 3px #f5c77e4d}@keyframes staff-judge-pulse{0%,to{opacity:.58}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.staff-judge-line{opacity:.72;animation:none}}.practice-exit-confirm{z-index:12;top:0;bottom:0;left:0;right:0;color:#fff6e8;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08071ae6;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.practice-exit-confirm:before{content:"";top:0;bottom:0;left:0;right:0;opacity:.72;background:radial-gradient(circle at 12% 18%,#ffffffe6 0,#ffffffe6 1px,#0000 1.5px),radial-gradient(circle at 76% 14%,#ffffffb8 0,#ffffffb8 1px,#0000 1.5px),radial-gradient(circle at 88% 52%,#8fe0cfcc 0,#8fe0cfcc 1px,#0000 1.6px),radial-gradient(circle at 31% 72%,#f5c77eb8 0,#f5c77eb8 1px,#0000 1.5px),radial-gradient(circle at 56% 40%,#ffffff94 0,#ffffff94 1px,#0000 1.4px);position:absolute;top:0;bottom:0;left:0;right:0}.practice-exit-card{background:linear-gradient(145deg,#2d2045f5,#14112bf7);border:1px solid #f5c77e47;border-radius:8px;justify-items:center;width:min(430px,100vw - 40px);padding:24px 28px 26px;display:grid;position:relative;box-shadow:0 24px 72px #0403129e,inset 0 1px #ffffff14}.practice-exit-card>p{color:#f5c77e;letter-spacing:.16em;margin:12px 0 6px;font-size:10px;font-weight:900}.practice-exit-card>strong{letter-spacing:0;font-size:22px}.practice-exit-card>small{color:#fff6e894;margin-top:7px;font-size:12px}.practice-exit-orbit{border:1px solid #8fe0cf57;border-radius:50%;width:72px;height:32px;display:block;position:relative;transform:rotate(-12deg);box-shadow:0 0 18px #8fe0cf1f}.practice-exit-orbit:before{content:"";background:#f5c77e;border-radius:50%;width:16px;height:16px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px #f5c77ee6,0 0 42px #f5c77e59}.practice-exit-orbit i{background:#8fe0cf;border-radius:50%;width:4px;height:4px;animation:1.8s ease-in-out infinite exit-star-pulse;position:absolute;box-shadow:0 0 8px}.practice-exit-orbit i:first-child{top:4px;left:9px}.practice-exit-orbit i:nth-child(2){animation-delay:-.6s;top:23px;right:13px}.practice-exit-orbit i:nth-child(3){color:#fff;background:#fff;width:3px;height:3px;animation-delay:-1.2s;top:1px;right:23px}.practice-exit-actions{grid-template-columns:1.25fr 1fr 1fr;gap:9px;width:100%;margin-top:22px;display:grid}.practice-exit-confirm button{color:#fff6e8;min-height:42px;font:inherit;background:#ffffff0e;border:1px solid #ffffff1f;border-radius:6px;padding:0 13px;font-size:13px;font-weight:800}.practice-exit-confirm button:hover{background:#8fe0cf1a;border-color:#8fe0cf94;outline:0}.practice-exit-confirm button:focus-visible{background:#8fe0cf1a;border-color:#8fe0cf94;outline:0}.practice-exit-confirm button:first-child{color:#3c2941;background:#f5c77e;border-color:#f5c77e85;box-shadow:0 9px 24px #f5c77e2e}.practice-exit-confirm button:last-child{color:#e9a18f}@keyframes exit-star-pulse{0%,to{opacity:.28;transform:scale(.7)}50%{opacity:1;transform:scale(1.3)}}.practice-rotate-hint{z-index:40;top:0;bottom:0;left:0;right:0;color:#fff6e8;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#08071af0;place-items:center;padding:20px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.practice-rotate-card{background:linear-gradient(145deg,#2d2045f5,#14112bf7);border:1px solid #f5c77e47;border-radius:8px;justify-items:center;width:min(320px,100vw - 48px);padding:30px 26px 26px;display:grid;box-shadow:0 24px 72px #0403129e,inset 0 1px #ffffff14}.practice-rotate-card>strong{letter-spacing:0;margin-top:20px;font-size:20px}.practice-rotate-card>small{color:#fff6e894;margin-top:7px;font-size:12px}.practice-rotate-card button{color:#3c2941;width:100%;min-height:44px;font:inherit;background:#f5c77e;border:1px solid #f5c77e85;border-radius:6px;margin-top:22px;padding:0 16px;font-size:14px;font-weight:800;box-shadow:0 9px 24px #f5c77e2e}.practice-rotate-card button:focus-visible{outline-offset:2px;outline:2px solid #8fe0cf}.practice-rotate-phone{border:2px solid #f5c77ed9;border-radius:8px;width:46px;height:74px;animation:2.6s ease-in-out infinite rotate-phone-turn;display:block;box-shadow:0 0 20px #f5c77e2e}.practice-rotate-phone i{background:#f5c77eb3;border-radius:999px;width:18px;height:3px;margin:6px auto 0;display:block}@keyframes rotate-phone-turn{0%,26%{transform:rotate(0)}52%,74%{transform:rotate(-90deg)}to{transform:rotate(0)}}@media (prefers-reduced-motion:reduce){.practice-rotate-phone{animation:none;transform:rotate(-90deg)}}@media (orientation:landscape) and (max-height:480px){.practice-exit-card{padding:16px 24px 18px}.practice-exit-orbit{width:62px;height:27px}.practice-exit-card>p{margin-top:8px}.practice-exit-actions{margin-top:15px}}@media (orientation:landscape) and (max-height:700px){.practice-dialog{top:0;bottom:0;left:0;right:0;width:100%;height:100vh;border-radius:0;max-width:none;height:100dvh;max-height:none;margin:0;top:0;bottom:0;left:0;right:0;overflow:hidden}.practice-shell,.practice-viewport{max-width:100%;overflow:hidden}.practice-header{padding-right:max(16px, var(--safe-right,env(safe-area-inset-right,0px)));padding-left:max(16px, var(--safe-left,env(safe-area-inset-left,0px)))}.practice-dialog .notation-panel{height:100%}.practice-dialog .notation-panel,.practice-dialog .practice-keyboard-bar{padding-right:var(--safe-right,env(safe-area-inset-right,0px));padding-left:var(--safe-left,env(safe-area-inset-left,0px));box-sizing:border-box}.practice-title-row h2{max-width:190px}.practice-mode-choice{padding:18px}.practice-mode-choice h3{font-size:20px}.practice-mode-switch{grid-template-columns:repeat(3,minmax(100px,150px))}.practice-notation-choice{grid-template-columns:repeat(2,minmax(130px,180px))}.practice-mode-switch button,.practice-notation-choice button{width:auto;min-height:58px}.waterfall-panel canvas{min-height:0}}.device-options button:disabled{opacity:.5;cursor:wait}.practice-dialog.is-challenge .practice-header{border-bottom:2px solid #ff8a4c}.practice-dialog.is-challenge .game-hud{background:#3d1713b8}.practice-dialog.is-challenge .practice-play-button{background:linear-gradient(135deg,#ffb347,#ff6548 52%,#df3f69)}.practice-dialog.is-challenge .practice-mode-label{color:#ffba7a}.challenge-grade-progress{display:none}.practice-dialog.is-challenge .challenge-grade-progress:not([hidden]){z-index:12;color:#fff6e8;pointer-events:none;background:#120d26d1;border:1px solid #f5c77e4d;border-radius:8px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px;width:min(560px,100% - 32px);padding:8px 16px;display:grid;position:absolute;top:72px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #04031247,inset 0 1px #ffffff0f}.practice-dialog[data-quality=high].is-challenge .challenge-grade-progress:not([hidden]){-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.challenge-grade-copy{white-space:nowrap;align-items:center;gap:7px;display:flex}.challenge-grade-copy strong{color:#f5c77e;text-align:center;text-shadow:0 0 12px #f5c77eb3;min-width:22px;font-size:20px;line-height:1}.challenge-grade-copy span{color:#fff6e8b8;font-size:10px;font-weight:700}.challenge-grade-track{background:#ffffff1c;border-radius:999px;height:7px;margin:13px 8px 0 0;position:relative;box-shadow:inset 0 1px 3px #0000004d}.challenge-grade-track i{border-radius:inherit;background:linear-gradient(90deg,#e2836b,#f5c77e 85%,#8fe0cf);width:0;height:100%;transition:width .3s;display:block;box-shadow:0 0 12px #f5c77e9e}.challenge-grade-track b{color:#fff6e8bd;font-size:9px;line-height:1;position:absolute;top:-17px;transform:translate(-50%)}.challenge-grade-track b:after{content:"";background:currentColor;border-radius:2px;width:2px;height:9px;position:absolute;top:13px;left:50%;transform:translate(-50%);box-shadow:0 0 6px}.challenge-grade-track .grade-a{color:#f5c77e;left:85%}.challenge-grade-track .grade-s{color:#8fe0cf;left:95%}.challenge-grade-track .grade-pass{color:#ff9db0;left:60%}.challenge-grade-track .grade-pass:after{border-radius:3px;width:3px;height:13px;top:11px;box-shadow:0 0 9px,0 0 2px #fff}@media (orientation:landscape){.practice-dialog.is-challenge .challenge-grade-progress:not([hidden]){top:max(8px,var(--safe-top,env(safe-area-inset-top,0px)));left:max(288px, calc(var(--safe-left,env(safe-area-inset-left,0px)) + 274px));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3 + 46px);grid-template-columns:auto minmax(0,320px);width:auto;max-width:460px;min-height:40px;margin-left:auto;margin-right:auto;transform:none}}@media (orientation:landscape) and (max-width:700px){.practice-dialog.is-challenge .challenge-grade-progress:not([hidden]){left:max(212px, calc(var(--safe-left,env(safe-area-inset-left,0px)) + 198px));grid-template-columns:auto minmax(0,200px);gap:8px;max-width:270px;padding:6px 9px}.challenge-grade-copy span{font-size:9px}}.practice-tip{z-index:11;max-width:min(420px,calc(100% - 2 * (var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3 + 46px)));color:#fff6e8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);text-align:center;pointer-events:none;white-space:nowrap;background:#120d26d1;border:1px solid #f5c77e42;border-radius:999px;align-items:center;gap:8px;margin:0;padding:6px 14px;font-size:15px;line-height:1.5;display:inline-flex;position:absolute;top:12px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 24px #04031247}.practice-tip[hidden]{display:none}.practice-tip .practice-tip-label{color:#f5c77e;letter-spacing:.04em;background:#f5c77e2e;border-radius:999px;flex:none;padding:2px 8px;font-size:12px;font-weight:800}.practice-tip .practice-tip-text{text-overflow:ellipsis;min-width:0;overflow:hidden}@media (max-width:760px){.practice-tip{white-space:normal;text-align:left;align-items:flex-start;max-width:calc(100% - 24px);top:52px}.practice-tip .practice-tip-label{margin-top:1px}}.practice-dialog.is-challenge .practice-tip{top:60px}@media (max-width:760px){.practice-dialog.is-challenge .practice-tip{top:96px}}.practice-dialog.is-complete .practice-tip,.practice-dialog.is-selecting-mode .practice-tip{display:none}@media (max-width:900px) and (orientation:portrait){.practice-dialog .practice-speed-control{bottom:calc(108px + var(--safe-bottom,env(safe-area-inset-bottom,0px)))}}.challenge-grade-progress{overflow:hidden}.practice-dialog.is-challenge.is-complete .challenge-grade-progress,body.super-open .topbar{display:none}body.super-open .main-content{padding:0}#course-grid.course-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important;width:100%!important;max-width:100%!important;margin:25px 0 0!important;display:grid!important}#course-grid.course-grid:before{display:none!important}#course-grid .course-title-row h3{color:#26303f!important}.duo-wrap{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:0;display:grid}.duo-pathcol{min-width:0;padding:14px 10px 40px;position:relative}.duo-menu{z-index:30;border:1.5px solid var(--line);background:#fff;border-radius:16px;width:330px;max-height:420px;padding:8px;position:absolute;top:64px;left:14px;overflow:auto;box-shadow:0 18px 44px #1e322829}.duo-menu button{text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.duo-menu small{color:var(--muted);font-size:10.5px;font-weight:700}.duo-trail{width:min(560px,94%);margin:0 auto;position:relative}.duo-trail svg{width:100%;display:block}.duo-week .d{color:#9aa397;background:#f0f2eb;border-radius:10px;flex:1;place-content:center;height:34px;font-size:11px;font-weight:800;display:grid}.duo-week .d.on{color:#fff;background:linear-gradient(135deg,#f6b73c,#f08c3a)}.duo-quest .qv{color:var(--muted);margin-left:auto;font-size:11px;font-weight:800}@media (max-width:980px){.duo-wrap{grid-template-columns:1fr}}:root{--mv-gold:#f5c77e;--mv-gold-lt:#ffe3b0;--mv-coral:#e2836b;--mv-teal:#8fe0cf;--mv-purple:#8e7bc4;--mv-cream:#fff6e8;--mv-ink:#f3edff}@keyframes mv-halo{0%,to{opacity:.55;transform:scale(1)}50%{opacity:0;transform:scale(1.28)}}@keyframes mv-twinkle{0%,to{opacity:.25}50%{opacity:.9}}@keyframes mv-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}body{color:var(--mv-ink);font-family:Outfit,PingFang SC,Noto Sans SC,Apple Symbols,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;background:linear-gradient(#0a0c24 0%,#171438 34%,#3a2a55 62%,#7b4a63 82%,#c97a63 100%)!important}.mv-bg{top:0;bottom:0;left:0;right:0;z-index:0;pointer-events:none;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.mv-glow{background:radial-gradient(circle,#f5c77e2e 0%,#f5c77e00 65%);border-radius:50%;width:520px;height:520px;margin-left:-260px;position:absolute;top:-10%;left:50%}.mv-stars i{background:#fff3dc;border-radius:50%;width:3px;height:3px;animation:5s ease-in-out infinite mv-twinkle;position:absolute}.mv-skyline{opacity:.9;width:100%;height:52%;position:absolute;bottom:0;left:0}html[data-perf-dock=bottom] dialog[open]{bottom:var(--perf-dock-bottom,0px);max-height:calc(100dvh - var(--perf-dock-bottom,0px))!important}html[data-perf-dock=right] dialog[open]{right:var(--perf-dock-right,0px);max-width:calc(100vw - var(--perf-dock-right,0px))!important}html[data-perf-dock=bottom] .main-content{max-height:calc(100dvh - var(--perf-dock-bottom,0px))!important;min-height:calc(100dvh - var(--perf-dock-bottom,0px))!important;height:calc(100dvh - var(--perf-dock-bottom,0px))!important}.app-shell{z-index:1;min-height:calc(100vh - var(--perf-dock-bottom,0px));box-sizing:border-box;position:relative;background:0 0!important}.topbar{background:0 0!important;border-bottom:1px solid #ffffff12!important}.crumb,.crumb span{color:#f3edff80!important}.crumb strong{color:#fff6e8!important}.api-state,.synth-state{color:#f3edff9e!important}.api-state i,.synth-state i{box-shadow:0 0 8px #8fe0cf;background:#8fe0cf!important}.device-button{color:#fff6e8!important;background:#ffffff14!important;border:1px solid #ffffff24!important}.device-button:hover{background:#ffffff24!important}.icon-button{color:#f3edffb3!important;background:#ffffff0f!important;border:1px solid #ffffff1a!important}.duo-wrap{grid-template-columns:minmax(0,1fr)}.duo-pathcol{flex-direction:column;align-items:center;padding:0 24px 120px;display:flex;overflow-y:auto}.duo-banner-slot{z-index:5;width:100%;max-width:660px;padding:20px 0 12px;position:relative}.mv-banner{background:linear-gradient(120deg,#8e7bc46b,#e2836b4d);border:1px solid #ffffff29;border-radius:20px;align-items:center;gap:16px;padding:18px 22px;display:flex;box-shadow:0 18px 48px #0a082080}.mv-banner .bico{background:#fff6e824;border-radius:14px;flex:none;place-content:center;width:44px;height:44px;font-size:20px;display:grid}.mv-banner .btx{flex:1;min-width:0}.mv-banner .bk{letter-spacing:1.6px;color:#fff6e8b3;font-size:11px}.mv-banner .bn{color:#fff6e8;letter-spacing:.5px;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:21px;font-weight:700;overflow:hidden}.mv-banner .bbtn{color:#fff6e8;cursor:pointer;background:#fff6e829;border:1px solid #fff6e83d;border-radius:12px;flex:none;align-items:center;gap:6px;padding:9px 15px;font-size:13px;display:flex}.mv-banner .bbtn:hover{background:#fff6e842}.mv-bprog{align-items:center;gap:10px;margin-top:12px;padding:0 4px;display:flex}.mv-bprog .bar{background:#ffffff1f;border-radius:3px;flex:1;height:3px;overflow:hidden}.mv-bprog .bar i{background:linear-gradient(90deg,#f5c77e,#ffe3b0);height:100%;display:block;box-shadow:0 0 10px #f5c77ee6}.mv-bprog span{color:#f3edff80;font-size:11px}#duo-units{flex:none;width:min(640px,100%);margin-top:0}.duo-trail{position:relative}.duo-trail svg{top:0;bottom:0;left:0;right:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.duo-menu{z-index:30;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#181430f5;border:1px solid #ffffff24;border-radius:16px;width:330px;max-height:420px;padding:8px;position:absolute;top:78px;left:50%;overflow:auto;transform:translate(-50%);box-shadow:0 22px 54px #00000080}.duo-menu button{text-align:left;color:#fff6e8;background:0 0;border:0;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.duo-menu button:hover{background:#ffffff14}.duo-menu button.cur{background:#f5c77e29}.duo-menu .mi{background:#f5c77e24;border-radius:8px;flex:none;place-content:center;width:34px;height:28px;font-size:14px;display:grid}.duo-menu b{color:#fff6e8;font-size:13px;display:block}.duo-menu small{color:#fff6e8d1;font-size:10.5px}.duo-week .d{color:#f3edff73;background:#ffffff0f;border:1px solid #ffffff14;border-radius:10px}.duo-week .d.on{color:#ffe3b0;background:#f5c77e2e;border-color:#f5c77e66}.duo-quest .qv{color:#f3edff73}.mv-node{cursor:pointer;flex-direction:column;align-items:center;width:84px;display:flex}.mv-nlabel{color:#f3edff80;white-space:nowrap;text-align:center;text-overflow:ellipsis;max-width:120px;margin-top:12px;font-size:12px;overflow:hidden}.mv-nlabel.on{color:#fff6e8}.mv-nlabel.done{color:#f3edffad}#course-list-view .load-message{display:none}.practice-dialog{color:#f3edff!important;background:linear-gradient(#0c0a22 0%,#141033 46%,#241a40 78%,#3a2550 100%)!important;border-radius:16px!important}.practice-dialog::backdrop{background:#08081ab8!important}.practice-header{border-bottom:1px solid #ffffff14!important}.practice-header .section-kicker{color:#f5c77ebf!important}.practice-title-row h2{color:#fff6e8!important}.practice-title-row span{color:#f3edff80!important}.practice-header .dialog-close{border:1px solid #ffffff24;color:#fff6e8!important;background:#ffffff14!important}.notation-tabs button.active{color:#2a1b33!important;background:#f5c77ee6!important}.practice-actions button.active{color:#2a1b33!important;background:linear-gradient(120deg,#f5c77e,#e2836b)!important}.practice-viewport{background:#131028!important}.practice-play-button{box-shadow:0 0 22px #f5c77e80;color:#4a2a22!important;background:linear-gradient(150deg,#ffe3b0,#e8a96b)!important;border-color:#0000!important}.game-hud{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid #ffffff0f;background:#0c0a226b!important}.game-hud,#game-score,#game-combo,#game-accuracy,#game-judgement,#practice-combo-fx{contain:layout style}.practice-dialog[data-quality=medium] .practice-header,.practice-dialog[data-quality=medium] .game-hud,.practice-dialog[data-quality=low] .practice-header,.practice-dialog[data-quality=low] .game-hud{-webkit-backdrop-filter:none;backdrop-filter:none}.practice-dialog[data-quality=low] .practice-header{background:#0a0912eb}.practice-dialog[data-quality=medium] .game-hud,.practice-dialog[data-quality=low] .game-hud{background:#0c0a22e0!important}.hud-stat span{color:#f3edff80!important}.hud-stat strong{color:#fff6e8!important}.hud-judgement{font-weight:800;color:#8fe0cf!important}.practice-status{white-space:nowrap;background:#281c3cb8;border:1px solid #f5c77e66;border-radius:999px;max-width:80%;padding:9px 20px;transform:translate(-50%);box-shadow:0 8px 24px #08081a80;z-index:6!important;color:#fff1d6!important;width:auto!important;text-shadow:none!important;margin:0!important;font-size:15px!important;font-weight:700!important;position:absolute!important;top:76px!important;left:50%!important;right:auto!important}.practice-status:empty{display:none}.mv-node.big{width:100px}.music-card{border-radius:16px;color:#f3edff!important;background:#ffffff0d!important;border:1px solid #ffffff1a!important}.music-card strong{color:#fff6e8!important}.music-card small{color:#f3edff80!important}.music-card:hover{background:#ffffff17!important;border-color:#f5c77e4d!important}@keyframes mv-shake{0%,to{transform:translate(0)}20%{transform:translate(-5px)}40%{transform:translate(5px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}}.mv-node{cursor:pointer;flex-direction:column;align-items:center;display:flex}.mv-node .mv-nlabel{margin-top:8px}.mv-node.now{transform-origin:50% 40%;animation:2.4s ease-in-out infinite duo-breathe}@keyframes duo-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}.duo-halo{box-sizing:border-box;pointer-events:none;will-change:transform,opacity;border:3px solid #f7b24ab8;border-radius:50%;width:94%;height:94%;animation:2.4s ease-out infinite duo-halo;position:absolute;top:3%;left:3%}@keyframes duo-halo{0%{opacity:.65;transform:scale(1)}70%,to{opacity:0;transform:scale(1.6)}}.practice-mode-choice{grid-auto-rows:min-content;align-content:center;background:linear-gradient(#0c0a22f0,#1c1436f0)!important;gap:20px!important}.practice-mode-choice h3{color:#fff6e8;font-weight:800}.pmc-group{flex-direction:column;gap:10px;display:flex}.practice-mode-switch,.practice-notation-choice{justify-content:center;gap:12px;display:flex}.practice-mode-switch button,.practice-notation-choice button{flex-direction:column;justify-content:center;align-items:flex-start;gap:3px;min-width:170px;transition:all .16s;display:flex;text-align:left!important;color:#f3edff!important;background:#ffffff0d!important;border:1px solid #ffffff1f!important;border-radius:16px!important;min-height:0!important;padding:16px 18px!important}.practice-notation-choice button{min-width:200px}.practice-mode-switch button .pmc-ic,.practice-notation-choice button .pmc-ic{opacity:.9;font-size:20px;line-height:1}@media (max-width:650px){.practice-mode-switch,.practice-notation-choice{flex-direction:column}.practice-mode-switch button,.practice-notation-choice button{width:100%;min-width:0}}.mv-chsec{width:100%;max-width:560px;margin:0 auto}.mv-chhead{cursor:pointer;text-align:left;color:#fff6e8;background:linear-gradient(120deg,#8e7bc44d,#f5c77e1f);border:1px solid #fff6e824;border-radius:16px;align-items:center;gap:11px;width:100%;margin-top:16px;padding:13px 16px;display:flex;box-shadow:0 8px 22px #0a08205c}.mv-chhead:hover{border-color:#f5c77e66}.mv-chhead .mvc-no{color:#2a1b33;letter-spacing:.02em;background:linear-gradient(120deg,#f5c77e,#e2836b);border-radius:10px;flex:none;place-content:center;min-width:48px;height:30px;padding:0 10px;font-size:12.5px;font-weight:800;display:inline-grid}.mv-chhead .mvc-name{color:#fff6e8;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14.5px;font-weight:800;overflow:hidden}.mv-chhead .mvc-prog{color:#fff6e8a8;flex:none;font-size:11.5px;font-weight:800}.mv-chhead .mvc-chev{color:#fff6e899;flex:none;font-size:12px;transition:transform .2s}.mv-chsec.open .mv-chhead .mvc-chev{transform:rotate(180deg)}.mv-chsec.open .mv-chhead{border-color:#f5c77e57}.mv-chhead.cur{border-color:#f5c77e8c;box-shadow:0 10px 26px #f5c77e24,0 8px 22px #0a08205c}.mv-chbody{margin-top:2px;position:relative}.mv-node.lock{cursor:pointer}.mv-nlabel.lock{color:#f3edff6b}@media (max-width:1040px){.duo-wrap{grid-template-columns:minmax(0,1fr)}.duo-pathcol{padding-left:16px;padding-right:16px}}@media (max-width:900px){.duo-pathcol{padding:0 14px 96px}}@media (max-width:560px){.mv-banner{flex-wrap:nowrap;gap:10px}.mv-banner .btx{flex:auto;min-width:0}}@media (max-width:640px){.duo-pathcol{padding:0 8px 84px}.duo-menu{width:min(330px,92vw)}.mv-chhead{gap:9px;padding:12px 14px}}@media (max-width:400px){.mv-chhead .mvc-no{min-width:44px;font-size:12px}.mv-chhead .mvc-name{font-size:13.5px}}.duo-land .main-content{padding-bottom:0}.duo-land .duo-pathcol{padding:0 10px max(6px, var(--safe-bottom));overflow-x:hidden}.duo-land #duo-units{width:100%;max-width:none}.duo-land .topbar{height:44px;min-height:0}.duo-land .mv-banner{gap:11px;padding:6px 14px}.duo-land .mv-banner .bk{display:none}.duo-land .mv-banner .bn{margin-top:0;font-size:15px}.duo-land .mv-banner .bico{width:30px;height:30px}.duo-land .mv-bprog{margin-top:6px;display:flex}.duo-land .duo-banner-slot{padding:8px 0 0}.mv-chiprow{-webkit-overflow-scrolling:touch;gap:8px;padding:6px 2px 8px;display:flex;overflow-x:auto;overflow-y:hidden}.mv-chip{cursor:pointer;color:#fff6e8;background:#ffffff0d;border:1px solid #fff6e824;border-radius:12px;flex-direction:column;flex:none;align-items:flex-start;gap:1px;padding:7px 13px;display:flex}.mv-chip b{font-size:12.5px;font-weight:800}.mv-chip span{color:#fff6e899;font-size:10px;font-weight:800}.mv-chip.on{background:linear-gradient(120deg,#f5c77e3d,#8e7bc43d);border-color:#f5c77e80}.mv-chip.cur b:after{content:" ·当前";color:#f5c77e;font-size:9.5px}.mv-chbody.horiz{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto;overflow-y:hidden}.mv-chiprow,.mv-chbody.horiz{scrollbar-width:none;-ms-overflow-style:none}.mv-chiprow::-webkit-scrollbar{width:0;height:0}.mv-chbody.horiz::-webkit-scrollbar{width:0;height:0}.mv-chbody.horiz .mv-node .mv-nlabel{max-width:104px;margin:7px 0 0;position:absolute;top:100%;left:50%;transform:translate(-50%)}.ml-tabbar{border-bottom:1px solid #fff6e81a;align-items:flex-end;gap:16px;margin:4px 0 20px;display:flex}.ml-tabs{scrollbar-width:none;border-bottom:none;flex:1;gap:26px;min-width:0;margin:0;display:flex;overflow-x:auto}.ml-tabs::-webkit-scrollbar{display:none}.ml-tabbar .music-search{flex:none;width:230px;max-width:100%;margin:0 0 7px}@media (max-width:560px){.ml-tabbar{flex-wrap:wrap;gap:8px}.ml-tabs{flex:100%}.ml-tabbar .music-search{flex:100%;width:auto;max-width:none;margin-bottom:12px}}.ml-tab{color:#f3edff8c;cursor:pointer;white-space:nowrap;background:0 0;border:0;flex:none;padding:10px 2px 12px;font-size:15px;font-weight:700;position:relative}.ml-tab:hover,.ml-tab.active{color:#fff6e8}.popu-ico{vertical-align:-.14em;flex:none;width:1em;height:1em}.ml-tab .popu-ico{margin-left:5px}.ml-tab:not(.active) .popu-ico{opacity:.55}.ml-tab.active:after{content:"";background:#f5c77e;border-radius:3px;height:2.5px;position:absolute;bottom:-1px;left:0;right:0}.ml-panel.hidden{display:none}.ml-empty{text-align:center;color:#f3edff80;padding:44px 20px;font-size:13.5px}.ml-more{text-align:center;color:#f3edff73;grid-column:1/-1;padding:18px 20px;font-size:12.5px}.ml-rankhead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.ml-rankhead b{color:#fff6e8;font-size:16px}.ml-rankhead span{color:#f3edff80;margin-left:10px;font-size:12px;font-weight:600}.ml-rankhead small{color:#f3edff66;flex:none;font-size:11.5px}.ml-top3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:22px;display:grid}.ml-topcard{cursor:pointer;background:#ffffff0d;border:1px solid #fff6e81a;border-radius:16px;align-items:center;gap:12px;padding:16px 14px 16px 40px;transition:border-color .2s,transform .2s;display:flex;position:relative}.ml-topcard:hover{border-color:#f5c77e6b;transform:translateY(-2px)}.ml-rankno{color:#f5c77ee6;font-size:20px;font-style:italic;font-weight:800;position:absolute;top:11px;left:13px}.ml-topinfo{flex:1;min-width:0}.ml-topinfo b{color:#fff6e8;white-space:nowrap;text-overflow:ellipsis;font-size:15px;display:block;overflow:hidden}.ml-topmetric{text-align:right;flex:none}.ml-topmetric b{color:#ffe3b0;font-size:14px;font-weight:800;display:block}.ml-topmetric span{color:#f3edff73;font-size:10px}.ml-ranklist{flex-direction:column;display:flex}.ml-rankrow{cursor:pointer;border-top:1px solid #fff6e812;align-items:center;gap:16px;padding:12px 6px;display:flex}.ml-rankrow:hover{background:#ffffff08}.ml-rrank{text-align:center;color:#f3edff80;flex:none;width:22px;font-size:15px;font-weight:800}.ml-rinfo{flex:1;min-width:0}.ml-rinfo b{color:#fff6e8;white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;display:block;overflow:hidden}.ml-rinfo small{color:#f3edff73;font-size:11.5px}.ml-rpeople{text-align:right;color:#f3edff80;flex:none;width:112px;font-size:11.5px}.ml-rpeople b{color:#ffe3b0;font-size:14px;font-weight:800}.ml-heart{box-sizing:border-box;color:#fff6e880;cursor:pointer;z-index:2;background:#0a0a1e80;border:1px solid #fff6e829;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;font-size:14px;line-height:1;display:grid;position:absolute;top:auto;bottom:9px;right:9px}.music-card{position:relative}@media (max-width:920px){.ml-top3{grid-template-columns:minmax(0,1fr);gap:12px}}@media (max-width:680px){.ml-tabs{gap:18px;margin-bottom:14px}.ml-rpeople{width:auto}.ml-rankrow{gap:11px;padding:11px 4px}.ml-rankhead small{display:none}}.practice-dialog[open]{width:calc(100vw - var(--perf-dock-right,0px));height:calc(100vh - var(--perf-dock-bottom,0px));top:0;bottom:0;left:0;right:0;visibility:hidden;opacity:0;border:0;border-radius:0;max-width:none;max-height:none;margin:0;transition:opacity .3s;top:0;bottom:0;left:0;right:0}@supports (height:100dvh){.practice-dialog[open]{height:calc(100dvh - var(--perf-dock-bottom,0px))}}.practice-dialog[open].is-entering{visibility:visible}.practice-dialog[open].is-entering.is-entered{opacity:1}.practice-dialog[open].is-leaving{opacity:0}.practice-dialog[open]:not(.is-entering)::backdrop{background:0 0!important}.practice-dialog[open].is-loading{visibility:visible;opacity:1;background:#111226}.practice-dialog.is-loading .practice-shell{opacity:0}.practice-dialog.is-loading:before{content:"";z-index:20;border:3px solid #fff6e833;border-top-color:#f5c77e;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin;position:absolute;top:calc(50% - 24px);left:calc(50% - 16px)}.practice-dialog.is-loading:after{content:"正在准备练习";z-index:20;color:#fff6e8b8;text-align:center;font-size:13px;font-weight:700;position:absolute;top:calc(50% + 22px);left:0;right:0}.practice-shell{transition:opacity .22s}@media (prefers-reduced-motion:reduce){.practice-dialog[open].is-entering,.practice-dialog[open].is-leaving{transition:none}}.practice-countdown{z-index:18;top:0;bottom:0;left:0;right:0;color:#fff6e8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:radial-gradient(circle,#50368157,#0000 30%),#080718b3;place-content:center;justify-items:center;gap:13px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.practice-countdown[hidden]{display:none}.practice-countdown>span{letter-spacing:.16em;color:#fff6e8b3;text-shadow:0 0 18px #f5c77e80;font-size:12px;font-weight:800}.countdown-orbit{border:1px solid #f5c77e3d;border-radius:50%;place-items:center;width:132px;height:132px;display:grid;position:relative;box-shadow:0 0 58px #8e7bc447,inset 0 0 36px #f5c77e14}.countdown-orbit:before,.countdown-orbit:after{content:"";top:13px;bottom:13px;left:13px;right:13px;filter:drop-shadow(0 0 8px #f5c77ecc);animation:countdown-spin var(--countdown-beat-ms,.5s) linear infinite;border:2px solid #f5c77e;border-color:#f5c77e #8fe0cfcc #0000 #0000;border-radius:50%;position:absolute;top:13px;bottom:13px;left:13px;right:13px}.countdown-orbit:after{top:-10px;bottom:-10px;left:-10px;right:-10px;animation-direction:reverse;animation-duration:calc(var(--countdown-beat-ms,.5s)*2);border-width:1px;border-top-color:#8fe0cfb3;border-right-color:#0000;top:-10px;bottom:-10px;left:-10px;right:-10px}.countdown-orbit i{width:5px;height:5px;animation:countdown-star var(--countdown-beat-ms,.5s) ease-in-out infinite;background:#fff6e8;border-radius:50%;position:absolute;box-shadow:0 0 12px 3px}.countdown-orbit i:first-child{color:#f5c77e;top:4px;left:55%}.countdown-orbit i:nth-child(2){color:#8fe0cf;animation-delay:-.33s;bottom:31px;right:7px}.countdown-orbit i:nth-child(3){color:#fff;animation-delay:-.66s;bottom:8px;left:23px}.countdown-orbit strong{color:#fff6e8;text-shadow:0 0 12px #f5c77e,0 0 34px #f5c77eb8;font-variant-numeric:tabular-nums;font-size:72px;line-height:1}.practice-dialog.is-counting-down .practice-start{display:none}.practice-countdown.is-go{background:radial-gradient(circle,#8fe0cf57,#0000 34%),#060e0e9e}.practice-countdown.is-go>span{color:#8fe0cfe6;text-shadow:0 0 20px #8fe0cfb3}.practice-countdown.is-go .countdown-orbit{border-color:#8fe0cf80;animation:.82s cubic-bezier(.16,.9,.3,1) forwards go-ring;box-shadow:0 0 74px #8fe0cf66,inset 0 0 40px #8fe0cf1f}.practice-countdown.is-go .countdown-orbit:before{border-top-color:#8fe0cf;border-right-color:#f5c77e}.practice-countdown.is-go .countdown-orbit strong{letter-spacing:.06em;color:#eafff8;text-shadow:0 0 16px #8fe0cf,0 0 44px #8fe0cfd9;font-size:60px}@keyframes go-ring{0%{opacity:1;transform:scale(.86)}55%{opacity:.85;transform:scale(1.22)}to{opacity:0;transform:scale(1.75)}}@media (prefers-reduced-motion:reduce){.practice-countdown.is-go .countdown-orbit{animation:none}}@keyframes countdown-spin{to{transform:rotate(360deg)}}@keyframes countdown-star{0%,to{opacity:.3;transform:scale(.6)}50%{opacity:1;transform:scale(1.35)}}.practice-combo-fx{z-index:15;pointer-events:none;isolation:isolate;grid-template-areas:"number""label";justify-items:center;min-width:150px;display:grid;position:absolute;top:18%;left:50%;transform:translate(-50%)}.practice-combo-fx[hidden]{display:none}.practice-combo-fx strong{z-index:2;color:#ffe3b0;font-variant-numeric:tabular-nums;text-shadow:0 0 9px,0 0 28px #f5c77ebd;grid-area:number;font-size:42px;line-height:.9;position:relative}.practice-combo-fx>span{z-index:2;color:#fff6e8;letter-spacing:.16em;text-shadow:0 0 12px #fff6e8a6;grid-area:label;margin-top:6px;font-size:11px;font-weight:900;position:relative}.combo-flame{z-index:1;top:-42px;bottom:-14px;left:-18px;right:-18px;opacity:0;filter:blur(.2px)drop-shadow(0 0 16px #f58c4db8);background:radial-gradient(at 50% 72%,#ffe3b0d1,#f58c4d57 34%,#0000 70%);border-radius:50%;position:absolute;top:-42px;bottom:-14px;left:-18px;right:-18px}.combo-flame:before,.combo-flame:after{content:"";filter:blur(1px);background:linear-gradient(135deg,#0000 22%,#ffe3b0eb 23%,#f58c4d85 68%,#0000 69%);border-radius:72% 28% 62% 38%;width:54px;height:72px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)rotate(45deg)}.combo-flame:after{opacity:.74;width:34px;height:52px;transform:translate(-26%)rotate(36deg)}.combo-embers{top:50%;bottom:auto;left:50%;right:auto;width:1px;height:1px;position:absolute;top:50%;bottom:auto;left:50%;right:auto}.combo-embers i{width:var(--combo-size);height:calc(var(--combo-size)*1.7);opacity:0;background:#f5c77e;border-radius:999px;position:absolute;box-shadow:0 0 8px}.practice-combo-fx[data-tier="2"] strong{color:#ff9b72}.practice-combo-fx[data-tier="2"] .combo-flame{filter:drop-shadow(0 0 22px #ff6643e0);scale:1.12}.practice-combo-fx[data-tier="3"] strong{color:#8fe0cf}.practice-combo-fx[data-tier="3"] .combo-flame{filter:drop-shadow(0 0 26px #8fe0cfe6);background:radial-gradient(at 50% 72%,#fff6e8eb,#8fe0cf6b 34%,#8e7bc42e 56%,#0000 72%);scale:1.26}.practice-combo-fx.is-active{animation:1.1s cubic-bezier(.2,.8,.2,1) both combo-label}.practice-combo-fx.is-active .combo-flame{animation:1.05s ease-out both combo-flame}.practice-combo-fx.is-active .combo-embers i{animation:combo-ember .98s cubic-bezier(.17,.72,.23,1) var(--combo-delay) both}@keyframes combo-label{0%{opacity:0;transform:translate(-50%)scale(.52)}22%{opacity:1;transform:translate(-50%)scale(1.12)}72%{opacity:1;transform:translate(-50%)scale(1)}to{opacity:0;transform:translate(-50%)translateY(-15px)scale(.92)}}@keyframes combo-flame{0%{opacity:0;transform:scale(.5,.2)}24%{opacity:1;transform:scale(1.08,1.18)}70%{opacity:.9;transform:scaleX(.96)}to{opacity:0;transform:scale(.76,1.22)translateY(-12px)}}@keyframes combo-ember{0%{opacity:0;transform:translate(0)scale(.4)}14%{opacity:var(--combo-alpha)}to{opacity:0;transform:translate(var(--combo-x),var(--combo-y)) scale(.1)}}.practice-viewport:before,.practice-viewport:after{content:"";z-index:2;top:0;bottom:0;left:0;right:0;opacity:0;pointer-events:none;transition:opacity .45s;position:absolute;top:0;bottom:0;left:0;right:0}.practice-dialog[data-quality=medium] .practice-viewport:before,.practice-dialog[data-quality=medium] .practice-viewport:after,.practice-dialog[data-quality=low] .practice-viewport:before,.practice-dialog[data-quality=low] .practice-viewport:after{display:none!important}.practice-dialog:not(.is-complete):not(.is-selecting-mode)[data-combo-tier="1"] .practice-viewport:before{opacity:.62;background:radial-gradient(135% 78% at 50% 116%,#f5ab4a57 0%,#f5ab4a33 26%,#f5ab4a17 48%,#f5ab4a08 66%,#0000 82%)}.practice-dialog:not(.is-complete):not(.is-selecting-mode)[data-combo-tier="2"] .practice-viewport:before{opacity:.8;background:radial-gradient(140% 84% at 50% 118%,#ff78486b 0%,#ff6e403d 26%,#ff66391c 48%,#ff663909 68%,#0000 84%)}.practice-dialog:not(.is-complete):not(.is-selecting-mode)[data-combo-tier="2"] .practice-viewport:after{opacity:.5;background-image:radial-gradient(circle at 12% 74%,#ffe2a6cc 0,#ffe2a6cc 1px,#0000 1.8px),radial-gradient(circle at 31% 39%,#ffe2a6a6 0,#ffe2a6a6 1px,#0000 1.8px),radial-gradient(circle at 54% 83%,#ffe2a6bf 0,#ffe2a6bf 1px,#0000 1.8px),radial-gradient(circle at 73% 28%,#ffe2a6a6 0,#ffe2a6a6 1px,#0000 1.8px),radial-gradient(circle at 89% 62%,#ffe2a6cc 0,#ffe2a6cc 1px,#0000 1.8px);background-repeat:no-repeat;background-size:100% 100%;animation:5s ease-in-out infinite alternate combo-accent-drift}.practice-dialog:not(.is-complete):not(.is-selecting-mode)[data-combo-tier="3"] .practice-viewport:before{opacity:.9;background:radial-gradient(145% 88% at 50% 118%,#f5c77e70 0%,#f5c77e40 24%,#beaadc1f 46%,#8fe0cf0d 66%,#0000 84%)}.practice-dialog:not(.is-complete):not(.is-selecting-mode)[data-combo-tier="3"] .practice-viewport:after{opacity:.86;background-image:radial-gradient(circle,#fff6e8f2 0,#fff6e8f2 1px,#0000 1.8px),radial-gradient(circle,#8fe0cfcc 0,#8fe0cfcc 1px,#0000 2px);background-position:0 0,23px 31px;background-size:43px 57px,61px 73px;animation:2.1s linear infinite combo-background-rise}@keyframes combo-accent-drift{to{transform:translateY(-18px)}}@keyframes combo-background-rise{to{background-position:0 -114px,23px -115px}}.result-track-beams path{fill:none;stroke:#fff6e8;stroke-width:var(--track-width);stroke-linecap:round;opacity:0;offset-path:path("M80 154 L228 58 L380 126 L530 48 L680 145");offset-distance:0%;offset-rotate:auto;filter:drop-shadow(0 0 4px)drop-shadow(0 0 10px)}.result-track-beams path:nth-child(3n){color:#8fe0cf;stroke:#8fe0cf}.result-track-beams path:nth-child(3n+1){color:#f5c77e;stroke:#f5c77e}.practice-result.is-celebrating .result-track-beams path{animation:result-track-beam 1.65s cubic-bezier(.3,.04,.62,.98) var(--track-delay) both}@keyframes result-track-beam{0%{opacity:0;offset-distance:0%}12%{opacity:var(--track-alpha)}72%{opacity:var(--track-alpha)}to{opacity:0;offset-distance:100%}}@media (orientation:landscape) and (max-height:560px){.music-library-header{display:none}.ml-tabbar{margin:6px 0 10px}.ml-tabbar .music-search{max-width:230px;margin-bottom:6px}.ml-rankhead{margin-bottom:8px}.ml-rankhead span,.ml-rankhead small{display:none}.ml-top3{gap:7px;margin-bottom:10px}.ml-topcard{padding:8px 12px 8px 30px}.ml-topcard .ml-avatar{border-radius:11px;width:38px;height:38px;font-size:17px}.ml-topcard .ml-sub,.ml-topcard .ml-tags{display:none}.ml-rankno{font-size:16px;top:7px}}.practice-dialog{--progress-top:calc(max(10px, var(--safe-top,env(safe-area-inset-top,0px))) + 46px)}.practice-play-button svg{width:15px;height:15px;display:block}.practice-dialog.is-loading .practice-start,.practice-dialog:not([data-notation]) .notation-panel{visibility:hidden}.practice-dialog.is-selecting-mode .practice-start{display:none}.pmc-start{justify-content:center;margin-top:4px;display:flex}.pmc-start button{color:#2a1b33;min-width:200px;min-height:46px;font:inherit;letter-spacing:.02em;background:linear-gradient(150deg,#f5c77e,#e2836b);border:0;border-radius:10px;padding:0 30px;font-size:15px;font-weight:800;box-shadow:0 10px 28px #f5c77e47}.pmc-start button:disabled{color:#fff6e86b;box-shadow:none;background:#ffffff12}.pmc-start button:not(:disabled):focus-visible{outline-offset:3px;outline:2px solid #8fe0cf}.practice-dialog.is-selecting-mode :-webkit-any(.practice-metronome,.practice-metronome-menu){display:none}.practice-dialog.is-selecting-mode :-moz-any(.practice-metronome,.practice-metronome-menu){display:none}.practice-dialog.is-selecting-mode :is(.practice-metronome,.practice-metronome-menu){display:none}.hud-judgement{display:none}.practice-header-actions{flex:none;align-items:center;gap:10px;display:flex}.practice-metronome{color:#f3edff80;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;transition:color .16s,border-color .16s,background .16s;display:grid;position:relative}.practice-metronome svg{width:20px;height:20px;display:block}.practice-metronome.on{color:#f5c77e;background:#f5c77e24;border-color:#f5c77e8c}.practice-metronome:focus{outline:none}.practice-metronome:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.practice-metronome:not(.on):after{content:"";opacity:.75;background:currentColor;border-radius:2px;height:2px;margin-top:-1px;position:absolute;top:50%;left:6px;right:6px;transform:rotate(-45deg)}.practice-metronome-menu{z-index:18;color:#fff6e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#141027f7;border:1px solid #f5c77e3d;border-radius:8px;width:210px;padding:10px;position:absolute;top:54px;right:12px;box-shadow:0 16px 46px #0403128c,inset 0 1px #ffffff0f}.practice-metronome-menu[hidden]{display:none}.metronome-toggle{color:#fff6e8;width:100%;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:0 8px;font-size:12px;font-weight:800;display:flex}.metronome-toggle i{background:#ffffff29;border-radius:99px;width:34px;height:19px;transition:background .16s;position:relative}.metronome-toggle i:after{content:"";background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .16s;position:absolute;top:3px;left:3px}.metronome-toggle.on i{background:#8fe0cf}.metronome-toggle.on i:after{transform:translate(15px)}.metronome-volume-row{color:#fff6e899;justify-content:space-between;align-items:center;margin:10px 8px 4px;font-size:10px;font-weight:800;display:flex}.metronome-volume-row output{color:#f5c77e;font-variant-numeric:tabular-nums}.metronome-volume{accent-color:#f5c77e;cursor:pointer;width:calc(100% - 16px);height:20px;margin:0 8px;padding:0;display:block}.practice-header{justify-content:center}.practice-title-row{flex:0 auto;justify-content:center;align-items:center;gap:8px;display:flex}.practice-metronome{z-index:9;position:absolute;top:9px;right:12px}.practice-header #close-practice.dialog-close{z-index:9;place-items:center;margin:0;padding:0;font-size:0;display:grid;position:absolute;top:9px;left:12px}.practice-header #close-practice.dialog-close:before,.practice-header #close-practice.dialog-close:after{content:"";background:currentColor;border-radius:2px;width:14px;height:1.8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.practice-header #close-practice.dialog-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.practice-dialog.is-playing .practice-header #close-practice{left:52px}.rec-dot{display:none}.practice-dialog.is-playing .rec-dot{background:#ff4d4f;border-radius:50%;flex:none;width:9px;height:9px;animation:1.15s ease-in-out infinite recpulse;display:inline-block;box-shadow:0 0 9px #ff4d4fd9}@keyframes recpulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}.practice-dialog.is-playing .practice-status{display:none!important}.practice-mode-choice:not([hidden]){-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-direction:column;justify-content:safe center;align-items:center;display:flex;overflow-y:auto;background:linear-gradient(#0a091cf7,#1a1332f7)!important;gap:18px!important;padding:24px 22px!important}.practice-dialog.is-entering .practice-mode-choice:not([hidden]){animation:.3s both practice-choice-fade-in}@keyframes practice-choice-fade-in{0%{opacity:0}to{opacity:1}}.practice-mode-choice h3{color:#fff6e8;letter-spacing:.02em;margin:0 0 2px;font-size:22px;font-weight:800}.pmc-group{flex-direction:column;gap:11px;width:100%;max-width:680px;display:flex}.pmc-label{letter-spacing:.14em;color:#f5c77ed9;text-align:left;padding-left:4px;font-size:11.5px;font-weight:800}.practice-mode-switch,.practice-notation-choice{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.practice-mode-switch button,.practice-notation-choice button{cursor:pointer;flex-direction:column;flex:180px;align-items:flex-start;gap:9px;max-width:220px;transition:border-color .16s,background .16s,transform .16s;display:flex;text-align:left!important;color:#f3edff!important;background:#ffffff0b!important;border:1px solid #ffffff1f!important;border-radius:16px!important;min-width:0!important;min-height:0!important;padding:15px 16px!important}.practice-mode-switch button:hover,.practice-notation-choice button:hover{transform:translateY(-2px);background:#f5c77e1a!important;border-color:#f5c77e6b!important}.practice-mode-switch button.active,.practice-notation-choice button.active{color:#2a1b33!important;background:linear-gradient(150deg,#f5c77ef2,#e2836beb)!important;border-color:#0000!important;box-shadow:0 12px 26px #f5c77e47!important}.pmc-ic{border-radius:12px;place-content:center;width:40px;height:40px;color:#f5c77e!important;opacity:1!important;background:#f5c77e24!important;font-size:19px!important;line-height:1!important;display:grid!important}.pmc-ic svg{width:22px;height:22px;display:block}.practice-mode-switch button.active .pmc-ic,.practice-notation-choice button.active .pmc-ic{color:#2a1b33!important;background:#2a1b3329!important}.practice-mode-switch button b,.practice-notation-choice button b{font-size:16px;font-weight:800}.practice-mode-switch button small,.practice-notation-choice button small{opacity:.72;font-size:11px;font-weight:600}.practice-mode-switch button.active small,.practice-notation-choice button.active small{opacity:.82}@media (orientation:landscape) and (max-height:560px){.practice-mode-choice{gap:11px!important;padding:16px!important}.practice-mode-choice h3{font-size:17px}.practice-mode-switch button,.practice-notation-choice button{flex-basis:150px;padding:11px 13px!important}.pmc-ic{width:32px;height:32px;font-size:16px!important}.pmc-ic svg{width:18px;height:18px}}@media (max-width:650px) and (orientation:portrait){.practice-mode-choice:not([hidden]){gap:14px!important;padding:18px 16px!important}.practice-mode-choice h3{font-size:18px}.pmc-group{align-items:center;gap:8px}.practice-mode-switch,.practice-notation-choice{flex-direction:column;align-items:center;gap:8px;width:100%}.practice-mode-switch button,.practice-notation-choice button{text-align:left;flex:none;grid-template-columns:auto 1fr;grid-template-areas:"ic title""ic sub";align-items:center;gap:1px 12px;width:min(262px,80vw);max-width:none;padding:9px 14px!important;display:grid!important}.practice-mode-switch button .pmc-ic,.practice-notation-choice button .pmc-ic{border-radius:9px;grid-area:ic;width:28px!important;height:28px!important}.pmc-ic svg{width:16px;height:16px}.practice-mode-switch button b,.practice-notation-choice button b{grid-area:title;font-size:14.5px!important}.practice-mode-switch button small,.practice-notation-choice button small{grid-area:sub;font-size:10.5px!important}}@media (max-width:400px) and (orientation:portrait){.practice-mode-choice:not([hidden]){gap:12px!important;padding:14px 12px!important}.practice-mode-choice h3{font-size:17px!important}.pmc-group,.practice-mode-switch,.practice-notation-choice{gap:7px!important}.practice-mode-switch button,.practice-notation-choice button{border-radius:12px!important;width:min(232px,84vw)!important;padding:8px 12px!important}.practice-mode-switch button .pmc-ic,.practice-notation-choice button .pmc-ic{width:26px!important;height:26px!important}.pmc-ic svg{width:15px;height:15px}}.topbar .crumb,.topbar .synth-state,.topbar .api-state{display:none!important}.device-button.connected{color:#7fe0a0!important;background:#78dc961f!important;border-color:#78dc9680!important}.device-button.connected>span:first-child{color:#7fe0a0!important}.mv-node .mv-nlabel,.mv-chbody.horiz .mv-node .mv-nlabel{text-shadow:0 1px 4px #060614b8;width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:130px;font-family:PingFang SC,Noto Sans SC,sans-serif;font-weight:600;top:auto;bottom:100%;left:50%;right:auto;transform:translate(-50%);margin:0 0 8px!important;position:absolute!important}.ml-topcard{padding-right:14px!important}.ml-topcard .ml-heart{flex:none;align-self:center;place-items:center;margin-left:8px;padding:0;display:grid;top:auto;bottom:auto;right:auto;overflow:visible;position:relative!important}@media (orientation:landscape) and (max-height:560px){html.embed.standalone .app-shell{padding-left:0!important;padding-right:var(--perf-dock-right,0px)!important}.main-content{padding-left:12px!important;padding-right:12px!important}html.embed.standalone .main-content{padding-right:max(12px,var(--safe-right,env(safe-area-inset-right,0px)))!important;padding-left:max(12px,var(--safe-left,env(safe-area-inset-left,0px)))!important}html.embed.standalone.duo-land body:not(.course-open) .main-content{padding-left:12px!important;padding-right:12px!important}html.embed.standalone.duo-land body:not(.course-open) .duo-banner-slot{padding-right:max(0px,calc(var(--safe-right,env(safe-area-inset-right,0px)) - 22px));padding-left:max(0px,calc(var(--safe-left,env(safe-area-inset-left,0px)) - 22px))}html.embed.standalone.duo-land body:not(.course-open) .mv-chiprow{padding-right:max(2px,calc(var(--safe-right,env(safe-area-inset-right,0px)) - 22px));padding-left:max(2px,calc(var(--safe-left,env(safe-area-inset-left,0px)) - 22px))}html.embed.standalone.duo-land body:not(.course-open) .mv-chbody.horiz{padding-right:max(0px,calc(var(--safe-right,env(safe-area-inset-right,0px)) - 48px));padding-left:max(0px,calc(var(--safe-left,env(safe-area-inset-left,0px)) - 48px))}.ml-topcard{padding:9px 12px 9px 30px!important}html.embed.standalone:has(#music-library-view) .main-content{padding-left:max(12px,var(--safe-left,env(safe-area-inset-left,0px)))!important;padding-right:max(12px,var(--safe-right,env(safe-area-inset-right,0px)))!important}html.embed.standalone .music-library-view{padding-left:0;padding-right:0}}@media (orientation:portrait){html.embed.standalone:has(#course-list-view:not(.hidden)) .main-content{padding-top:10px}html.embed.standalone:has(#course-list-view:not(.hidden)) .course-page-head{padding-top:max(0px,calc(var(--safe-top,env(safe-area-inset-top,0px)) - 10px))}html.embed.standalone:has(#course-list-view:not(.hidden)) .mv-banner{padding-top:max(18px,calc(var(--safe-top,env(safe-area-inset-top,0px)) - 30px))}}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)){scrollbar-gutter:stable}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .main-content{height:calc(100vh - var(--perf-dock-bottom,0px));flex-direction:column;display:flex;overflow:hidden}@supports (height:100dvh){html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .main-content{height:calc(100dvh - var(--perf-dock-bottom,0px))}}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .course-page-head{flex:none}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) #course-list-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .duo-wrap{flex:1;grid-template-rows:1fr;min-height:0;display:grid}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .duo-pathcol{flex-direction:column;height:100%;min-height:0;padding-bottom:0;display:flex;overflow:hidden}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) .duo-banner-slot{flex:none}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) #duo-units{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding-bottom:120px;overflow-y:auto}html.embed.standalone:not(.duo-land):has(#course-list-view:not(.hidden)) #duo-units::-webkit-scrollbar{width:0;height:0}html.embed.standalone:has(#music-library-view){scrollbar-gutter:stable}html.embed.standalone:has(#music-library-view) .main-content{height:calc(100vh - var(--perf-dock-bottom,0px));flex-direction:column;display:flex;overflow:hidden}@supports (height:100dvh){html.embed.standalone:has(#music-library-view) .main-content{height:calc(100dvh - var(--perf-dock-bottom,0px))}}html.embed.standalone:has(#music-library-view) .music-library-view{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex;overflow:hidden}html.embed.standalone:has(#music-library-view) .ml-top{flex:none}html.embed.standalone:has(#music-library-view) .ml-down{flex:none}html.embed.standalone:has(#music-library-view) .ml-central{flex-direction:column;flex:1;min-height:0;display:flex}html.embed.standalone:has(#music-library-view) .music-library-header{flex:none}html.embed.standalone:has(#music-library-view) .ml-tabbar{flex:none}html.embed.standalone:has(#music-library-view) .load-message{flex:none}html.embed.standalone:has(#music-library-view) .ml-tabbar{margin-top:0;margin-bottom:13px}html.embed.standalone:has(#music-library-view) .main-content{padding-bottom:max(8px, var(--safe-bottom,env(safe-area-inset-bottom,0px)))}html.embed.standalone:has(#music-library-view) .load-message:empty{display:none}html.embed.standalone:has(#music-library-view) .ml-panel:not(.hidden){overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding-top:7px;padding-bottom:12px;overflow-y:auto}html.embed.standalone:has(#music-library-view) .ml-panel:not(.hidden)::-webkit-scrollbar{width:0;height:0}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .game-hud{display:none!important}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .game-hud{display:none!important}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .game-hud{display:none!important}.practice-dialog:-webkit-any([data-notation=numbered],[data-notation=staff]) :-webkit-any(#practice-mode-label,.practice-status){display:none!important}.practice-dialog:-moz-any([data-notation=numbered],[data-notation=staff]) :-moz-any(#practice-mode-label,.practice-status){display:none!important}.practice-dialog:is([data-notation=numbered],[data-notation=staff]) :is(#practice-mode-label,.practice-status){display:none!important}html .practice-dialog #practice-mode-label[hidden],html .practice-dialog #practice-mode-label:empty{display:none!important}@media (orientation:landscape){.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header{pointer-events:none;min-height:56px;padding:8px 12px;background:#0a0912d1!important;border-bottom:1px solid #ffffff17!important}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header{pointer-events:none;min-height:56px;padding:8px 12px;background:#0a0912d1!important;border-bottom:1px solid #ffffff17!important}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header{pointer-events:none;min-height:56px;padding:8px 12px;background:#0a0912d1!important;border-bottom:1px solid #ffffff17!important}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header-actions{pointer-events:auto}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header-actions{pointer-events:auto}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header-actions{pointer-events:auto}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row{text-align:center;pointer-events:none;justify-content:center;max-width:none;position:absolute;top:76px;left:50%;right:auto;transform:translate(-50%);display:flex!important}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row{text-align:center;pointer-events:none;justify-content:center;max-width:none;position:absolute;top:76px;left:50%;right:auto;transform:translate(-50%);display:flex!important}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row{text-align:center;pointer-events:none;justify-content:center;max-width:none;position:absolute;top:76px;left:50%;right:auto;transform:translate(-50%);display:flex!important}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row h2{display:none!important}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row h2{display:none!important}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-title-row h2{display:none!important}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .rec-dot{display:none!important}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .rec-dot{display:none!important}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .rec-dot{display:none!important}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) #practice-mode-label{color:#fff6e8;white-space:nowrap;background:#2a1f39e6;border:1px solid #f5c77e80;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800;display:block;box-shadow:0 8px 24px #0a082047}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) #practice-mode-label{color:#fff6e8;white-space:nowrap;background:#2a1f39e6;border:1px solid #f5c77e80;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800;display:block;box-shadow:0 8px 24px #0a082047}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) #practice-mode-label{color:#fff6e8;white-space:nowrap;background:#2a1f39e6;border:1px solid #f5c77e80;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800;display:block;box-shadow:0 8px 24px #0a082047}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:calc(max(12px, var(--safe-right,env(safe-area-inset-right,0px))) + 48px);width:36px;height:36px}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:calc(max(12px, var(--safe-right,env(safe-area-inset-right,0px))) + 48px);width:36px;height:36px}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:calc(max(12px, var(--safe-right,env(safe-area-inset-right,0px))) + 48px);width:36px;height:36px}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:54px;right:calc(max(12px,var(--safe-right,env(safe-area-inset-right,0px))) + 48px)}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:54px;right:calc(max(12px,var(--safe-right,env(safe-area-inset-right,0px))) + 48px)}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:54px;right:calc(max(12px,var(--safe-right,env(safe-area-inset-right,0px))) + 48px)}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header #close-practice.dialog-close{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header #close-practice.dialog-close{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-header #close-practice.dialog-close{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).is-playing .practice-header #close-practice{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).is-playing .practice-header #close-practice{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).is-playing .practice-header #close-practice{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;border-color:#a985ff57;min-height:40px;padding:0 16px;font-size:12px}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;border-color:#a985ff57;min-height:40px;padding:0 16px;font-size:12px}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;border-color:#a985ff57;min-height:40px;padding:0 16px;font-size:12px}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;right:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;min-height:40px;padding:5px 7px 5px 12px;font-size:12px}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;right:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;min-height:40px;padding:5px 7px 5px 12px;font-size:12px}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;right:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;min-height:40px;padding:5px 7px 5px 12px;font-size:12px}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}.practice-dialog.is-selecting-mode .practice-header{-webkit-backdrop-filter:none;backdrop-filter:none;height:0;min-height:0;padding:0;background:0 0!important;border:0!important}.practice-dialog.is-selecting-mode .practice-title-row{display:none!important}.practice-dialog.is-selecting-mode .practice-header-actions{z-index:11;top:0;bottom:0;left:0;right:0;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.practice-dialog.is-selecting-mode #close-practice{top:max(10px,var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px,var(--safe-right,env(safe-area-inset-right,0px)));pointer-events:auto;left:auto}}.ml-cover{background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:13px;flex:none;width:52px;height:52px}.ml-cover.sm{border-radius:11px;width:40px;height:40px}.ml-hands,.ml-rhands{flex:none;align-items:center;gap:5px;display:flex}.ml-topinfo .ml-hands{margin-top:6px}.topbar .topbar-actions{margin-left:auto}@media (orientation:landscape){html.embed.duo-land .duo-banner-slot{max-width:none}}.ml-tabbar .music-search{background:#ffffff0f;border-color:#b4a8cd4d;border-radius:16px;height:40px;min-height:40px}.ml-tabbar .music-search span{color:#c6bcda9e}.ml-tabbar .music-search input{color:#fff6e8}.ml-tabbar .music-search input::placeholder{color:#c6bcda9e}.meteor-field{z-index:2;pointer-events:none;width:auto;height:max(52px,min(12vw,92px));position:absolute;top:0;left:max(18px,min(3vw,50px));right:max(112px,min(12vw,230px));overflow:hidden}body:has(.practice-dialog[open]) .meteor-field{display:none!important}body:has(.video-dialog[open]) .meteor-field{display:none!important}body:has(.practice-dialog[open]) .mv-stars{display:none!important}body:has(.video-dialog[open]) .mv-stars{display:none!important}.meteor-field>i{top:var(--meteor-top);width:var(--meteor-length);opacity:0;height:2px;transform:rotate(var(--meteor-angle));transform-origin:100%;animation:mv-meteor var(--meteor-duration) cubic-bezier(.42,.02,.78,.58) var(--meteor-delay) forwards;background:linear-gradient(90deg,#0000,#ffffff14 12%,#ffffff52 64%,#fffffffa);border-radius:999px;position:absolute;left:-170px;box-shadow:0 0 5px #ffffff8c}.meteor-field>i:after{content:"";background:#fff;border-radius:50%;width:4px;height:4px;position:absolute;top:50%;right:-1px;transform:translateY(-50%);box-shadow:0 0 7px 2px #ffffffc7}@keyframes mv-meteor{0%{opacity:0;translate:0}6%{opacity:1}84%{opacity:.94}to{opacity:0;translate:calc(100vw + 330px) var(--meteor-rise)}}.device-dialog{color:#fff6e8;background:0 0;border:1px solid #f5c77e47;box-shadow:0 24px 72px #0403129e}.device-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080618ad}.device-dialog .device-card{isolation:isolate;background:linear-gradient(145deg,#2d2045fa,#14112bfa);border-radius:8px;padding:31px;overflow:hidden;box-shadow:inset 0 1px #ffffff14}.device-dialog .device-card:before{content:"";z-index:-1;top:0;bottom:0;left:0;right:0;pointer-events:none;opacity:.72;background:radial-gradient(circle at 12% 18%,#ffffffe6 0,#ffffffe6 1px,#0000 1.5px),radial-gradient(circle at 76% 14%,#ffffffb8 0,#ffffffb8 1px,#0000 1.5px),radial-gradient(circle at 88% 52%,#8fe0cfcc 0,#8fe0cfcc 1px,#0000 1.6px),radial-gradient(circle at 31% 72%,#f5c77eb8 0,#f5c77eb8 1px,#0000 1.5px),radial-gradient(circle at 56% 40%,#ffffff94 0,#ffffff94 1px,#0000 1.4px);position:absolute;top:0;bottom:0;left:0;right:0}.device-dialog .section-kicker{color:#f5c77e}.device-dialog .device-card h2{color:#fff6e8}.device-dialog .device-current{color:#fff6e8a8}.device-dialog .device-options button{color:#fff6e8;background:#ffffff0e;border-color:#f5c77e38;box-shadow:inset 0 1px #ffffff0a}.device-dialog .device-options button:hover{background:#8fe0cf1a;border-color:#8fe0cf8f}.device-dialog .device-options span{color:#fff6e88c}.device-dialog .disconnect-button{color:#8fe0cf}.app-shell{padding-right:var(--perf-dock-right,0px)}.main-content{padding-bottom:calc(58px + var(--safe-bottom,env(safe-area-inset-bottom,0px)))}html.embed.standalone.duo-land .main-content,html.duo-land .main-content{padding-bottom:0}html.embed.standalone:has(#course-list-view:not(.hidden)) .main-content{padding-bottom:0}html.no-css-has.embed.standalone.x-has-course-list-visible .main-content{padding-bottom:0}.topbar{padding-top:var(--safe-top,env(safe-area-inset-top,0px))}.practice-header{padding-top:max(10px,var(--safe-top,env(safe-area-inset-top,0px)));padding-left:max(16px,var(--safe-left,env(safe-area-inset-left,0px)));padding-right:max(16px,var(--safe-right,env(safe-area-inset-right,0px)))}.practice-header #close-practice.dialog-close{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));left:calc(max(14px,var(--safe-left,env(safe-area-inset-left,0px))) + 50px)}.practice-coach{box-sizing:border-box;padding:max(12px,var(--safe-top,env(safe-area-inset-top,0px))) max(12px,var(--safe-right,env(safe-area-inset-right,0px))) max(12px,var(--safe-bottom,env(safe-area-inset-bottom,0px))) max(12px,var(--safe-left,env(safe-area-inset-left,0px)));z-index:30;top:0;bottom:0;left:0;right:0;pointer-events:auto;position:absolute;top:0;bottom:0;left:0;right:0}.practice-coach[hidden]{display:none}.practice-coach:before{content:"";top:0;bottom:0;left:0;right:0;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#060512b8;position:absolute;top:0;bottom:0;left:0;right:0}.coach-spot{pointer-events:none;border-radius:14px;position:absolute;box-shadow:0 0 0 9999px #060512b8,0 0 0 3px #f5c77e,0 0 24px #f5c77ebf}.practice-coach:has(.coach-spot):before{display:none}.coach-card{z-index:2;box-sizing:border-box;color:#fff6e8;background:linear-gradient(150deg,#2d2045fc,#14112bfc);border:1px solid #f5c77e57;border-radius:14px;width:min(320px,100% - 32px);max-height:calc(100% - 24px);padding:16px 18px;position:absolute;overflow-y:auto;box-shadow:0 20px 52px #04031299}.coach-step{color:#f5c77e;letter-spacing:.14em;margin:0 0 4px;font-size:11px;font-weight:800}.coach-card h4{color:#fff6e8;margin:0 0 6px;font-size:17px;font-weight:800}.coach-text{color:#fff6e8b8;margin:0;font-size:13px;line-height:1.6}.coach-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.coach-skip{color:#fff6e880;font:inherit;cursor:pointer;background:0 0;border:0;font-size:12.5px;font-weight:700}.coach-next{color:#2a1b33;font:inherit;cursor:pointer;background:linear-gradient(150deg,#f5c77e,#e2836b);border:0;border-radius:10px;padding:9px 20px;font-size:13.5px;font-weight:800}.practice-digits-button{z-index:9;color:#f3edff94;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;transition:color .16s,border-color .16s,background .16s;display:none;position:absolute}.practice-dialog[data-notation=waterfall] .practice-digits-button{display:grid}.practice-dialog.is-selecting-mode .practice-digits-button{display:none!important}.practice-digits-button svg{width:19px;height:19px;display:block}.practice-digits-button.on{color:#f5c77e;background:#f5c77e24;border-color:#f5c77e8c}.practice-speed-control{right:max(14px,var(--safe-right,env(safe-area-inset-right,0px)));bottom:calc(14px + var(--safe-bottom,env(safe-area-inset-bottom,0px)))}.practice-change-mode{left:max(16px,var(--safe-left,env(safe-area-inset-left,0px)));bottom:calc(16px + var(--safe-bottom,env(safe-area-inset-bottom,0px)))}.settings-dialog{background:0 0}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080618ad}.settings-dialog[open],.device-dialog[open]{top:var(--safe-top);bottom:var(--safe-bottom)}.settings-dialog{max-height:calc(100vh - 38px - var(--safe-top) - var(--safe-bottom));overflow:hidden}@supports (height:100dvh){.settings-dialog{max-height:calc(100dvh - 38px - var(--safe-top) - var(--safe-bottom))}}.settings-dialog .settings-card{max-height:calc(100vh - 38px - var(--safe-top) - var(--safe-bottom));overscroll-behavior:contain;position:static;overflow-y:auto}@supports (height:100dvh){.settings-dialog .settings-card{max-height:calc(100dvh - 38px - var(--safe-top) - var(--safe-bottom))}}.settings-dialog .settings-card{isolation:isolate;background:linear-gradient(145deg,#2d2045fa,#14112bfa);border-radius:8px;padding:31px;box-shadow:inset 0 1px #ffffff14}.settings-dialog .section-kicker{color:#f5c77e}.settings-dialog .settings-card h2{color:#fff6e8}.settings-dialog .settings-card h2:focus{outline:none}.settings-dialog .settings-card>p:not(.section-kicker){color:#fff6e89e}.settings-dialog .dialog-close,.device-dialog .dialog-close{z-index:2;color:#fff6e8;background:#2b2046;border:1px solid #ffffff24;place-items:center;width:32px;height:32px;padding:0;font-size:0;display:grid;position:absolute;top:13px;right:14px}.settings-dialog .dialog-close:before,.settings-dialog .dialog-close:after,.device-dialog .dialog-close:before,.device-dialog .dialog-close:after{content:"";background:currentColor;border-radius:2px;width:13px;height:1.8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.settings-dialog .dialog-close:after,.device-dialog .dialog-close:after{transform:translate(-50%,-50%)rotate(-45deg)}.settings-dialog .dialog-close:hover,.device-dialog .dialog-close:hover{background:#372857;border-color:#f5c77e6b}.device-dialog .device-card h2:focus{outline:none}.settings-dialog .dialog-close:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.settings-dialog .quality-options button:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.device-dialog .dialog-close:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.device-dialog .device-options button:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.device-dialog .disconnect-button:focus-visible{outline-offset:2px;outline:2px solid #f5c77e}.quality-options button{color:#fff6e8;cursor:pointer;background:#ffffff0e;border-color:#f5c77e38;transition:border-color .16s,background .16s;box-shadow:inset 0 1px #ffffff0a}.quality-options button:hover{background:#8fe0cf1a;border-color:#8fe0cf8f}.quality-options button span{color:#fff6e88c}.quality-options button.active{color:#2a1b33;background:linear-gradient(150deg,#f5c77e,#e2836b);border-color:#0000;box-shadow:0 10px 24px #f5c77e42}.quality-options button.active span{color:#2a1b33b8}@media (orientation:landscape) and (max-height:560px){.settings-dialog{width:min(680px,calc(100vw - 34px - max(0px,var(--safe-left,env(safe-area-inset-left,0px))) - max(0px,var(--safe-right,env(safe-area-inset-right,0px)))))}.settings-dialog .settings-card{padding:18px 22px}.settings-dialog .settings-card h2{margin:3px 0 6px;font-size:21px}.settings-dialog .settings-card>p:not(.section-kicker){margin:0 0 14px;font-size:12px}.settings-dialog .quality-options{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-dialog .quality-options button{min-height:58px;padding:10px 12px}.settings-dialog .dialog-close{top:10px;right:11px}.device-dialog{width:min(680px,calc(100vw - 34px - max(0px,var(--safe-left,env(safe-area-inset-left,0px))) - max(0px,var(--safe-right,env(safe-area-inset-right,0px)))))}.device-dialog .device-card{padding:18px 22px}.device-dialog .device-card h2{margin:3px 0 6px;font-size:21px}.device-dialog .device-current{margin:0 0 12px;font-size:12px}.device-dialog .device-options{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.device-dialog .device-options button{min-height:58px;padding:10px 12px}.device-dialog .dialog-close{top:10px;right:11px}}html:has(dialog[open]){overflow:hidden}body:has(dialog[open]){overscroll-behavior:none;overflow:hidden}@media (min-height:600px){.result-map{top:50%;transform:translate(-50%,-50%)}.result-heading{top:calc(50% - var(--result-map-h) / 2 - 58px)}.result-actions{top:calc(50% + var(--result-map-h) / 2 + 30px);bottom:auto}}@media (prefers-reduced-motion:reduce){.meteor-field{display:none}.meteor-field>i,.practice-exit-orbit i{animation:none}.practice-result *{animation:none!important}.practice-result .result-track-light{stroke-dashoffset:0}.practice-result :-webkit-any(.result-node,.result-metric,.result-rank,.result-actions){opacity:1}.practice-result :-moz-any(.result-node,.result-metric,.result-rank,.result-actions){opacity:1}.practice-result :is(.result-node,.result-metric,.result-rank,.result-actions){opacity:1}.practice-result .result-rank{transform:translate(-50%,-50%)}}.practice-sound-button,.practice-score-preview-button{z-index:9;color:#f3edff94;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff29;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;transition:color .16s,border-color .16s,background .16s;display:grid;position:absolute;top:9px}.practice-sound-button{right:56px}.practice-score-preview-button{right:100px}.practice-sound-button svg,.practice-score-preview-button svg{width:19px;height:19px;display:block}.practice-sound-button.on,.practice-sound-button[aria-expanded=true],.practice-score-preview-button[aria-expanded=true]{color:#f5c77e;background:#f5c77e24;border-color:#f5c77e8c}.practice-sound-menu{z-index:18;color:#fff6e8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#141027fa;border:1px solid #f5c77e3d;border-radius:8px;width:248px;padding:11px;position:absolute;top:54px;right:56px;box-shadow:0 16px 46px #0403128c,inset 0 1px #ffffff0f}.practice-sound-menu[hidden]{display:none}.practice-sound-title{justify-content:space-between;align-items:center;padding:1px 7px 8px;font-size:12px;display:flex}.practice-sound-title small{color:#fff6e861;font-size:9px;font-weight:600}.practice-sound-row{border-top:1px solid #fff6e814;padding:9px 7px 5px}.practice-sound-head{grid-template-columns:minmax(0,1fr) 34px 36px;align-items:center;gap:7px;display:grid}.practice-sound-head span{font-size:11px;font-weight:800}.practice-sound-head output{color:#f5c77e;font-variant-numeric:tabular-nums;text-align:right;font-size:10px}.practice-audio-toggle{cursor:pointer;background:#ffffff29;border:0;border-radius:99px;width:34px;height:19px;padding:0;transition:background .16s;position:relative}.practice-audio-toggle i{background:#fff;border-radius:50%;width:13px;height:13px;transition:transform .16s;position:absolute;top:3px;left:3px}.practice-audio-toggle.on{background:#8fe0cf}.practice-audio-toggle.on i{transform:translate(15px)}.practice-audio-volume{accent-color:#f5c77e;cursor:pointer;width:100%;height:20px;margin:7px 0 0;padding:0;display:block}.practice-audio-volume:disabled{opacity:.28;cursor:default}.practice-dialog.is-selecting-mode :-webkit-any(.practice-sound-button,.practice-sound-menu,.practice-score-preview-button){display:none}.practice-dialog.is-selecting-mode :-moz-any(.practice-sound-button,.practice-sound-menu,.practice-score-preview-button){display:none}.practice-dialog.is-selecting-mode :is(.practice-sound-button,.practice-sound-menu,.practice-score-preview-button){display:none}.practice-score-preview{z-index:17;top:0;bottom:0;left:0;right:0;padding:18px calc(var(--safe-right) + 18px) 18px calc(var(--safe-left) + 18px);color:#2b2940;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#050618c7;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.practice-score-preview[hidden]{display:none}.practice-score-preview-sheet{background:#f8f5ed;border:1px solid #8fe0cf47;border-radius:8px;grid-template-rows:56px minmax(0,1fr);width:min(880px,100%);height:min(900px,100%);display:grid;overflow:hidden;box-shadow:0 26px 80px #020312b8}.practice-score-preview-head{background:#fffdf8;border-bottom:1px solid #ded9d1;grid-template-columns:minmax(120px,1fr) auto 34px 34px;align-items:center;gap:10px;min-width:0;padding:8px 10px 8px 18px;display:grid}.practice-score-preview-head>div{min-width:0}.practice-score-preview-head strong{text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.practice-score-preview-head span{color:#87818c;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:9px;display:block;overflow:hidden}.practice-score-preview-tabs{background:#eeeae4;border:1px solid #d7d1cb;border-radius:6px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.practice-score-preview-tabs button{color:#77717c;min-width:68px;height:30px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:11px;font-weight:800}.practice-score-preview-tabs button.active{color:#17162b;background:#fff;box-shadow:0 2px 6px #1f1c2c1f}.practice-score-preview-export{color:#2b2940;cursor:pointer;background:#eeeae4;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid}.practice-score-preview-export svg{width:18px;height:18px}.practice-score-preview-close{color:#5d5863;cursor:pointer;background:#eeeae4;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;display:grid;position:relative}.practice-score-preview-close span:before,.practice-score-preview-close span:after{content:"";background:currentColor;border-radius:2px;width:14px;height:1.8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.practice-score-preview-close span:after{transform:translate(-50%,-50%)rotate(-45deg)}.practice-score-preview-body{background:#131028;min-height:0;position:relative;overflow:hidden}.practice-preview-numbered,.practice-preview-staff{overscroll-behavior-x:contain;touch-action:pan-x;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#f5c77e94 #ffffff14;width:100%;height:100%;overflow-x:auto;overflow-y:hidden}.practice-preview-numbered canvas{max-width:none;height:100%;display:block}.practice-preview-staff{background:#131028}.practice-preview-staff>div{width:-webkit-max-content;width:-moz-max-content;width:max-content;min-width:100%;height:100%}.practice-preview-staff svg{max-width:none}.practice-score-preview-empty{z-index:2;top:0;bottom:0;left:0;right:0;color:#fff6e89e;background:#131028;place-items:center;margin:0;font-size:12px;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.practice-score-preview-empty[hidden]{display:none}.practice-dialog{--pb-edge:max(12px,var(--safe-right,env(safe-area-inset-right,0px)));--pb-step:44px;--pb-base:0px}@media (orientation:landscape){.practice-dialog{--pb-step:48px;--pb-base:48px}}@media (orientation:landscape) and (max-width:700px){.practice-dialog{--pb-step:42px}}.practice-metronome{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base))}.practice-sound-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-score-preview-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 2)}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-score-preview-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 2)}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-score-preview-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 2)}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-score-preview-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 2)}.practice-digits-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3)}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-digits-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3)}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-digits-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3)}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-digits-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3)}.practice-metronome-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base))}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-metronome-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base))}.practice-sound-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-sound-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}@media (max-width:650px) and (orientation:portrait){.practice-score-preview{padding:calc(var(--safe-top) + 8px) calc(var(--safe-right) + 8px) calc(var(--safe-bottom) + 8px) calc(var(--safe-left) + 8px)}.practice-score-preview-sheet{grid-template-rows:54px minmax(0,1fr);width:100%;height:100%}.practice-score-preview-head{grid-template-columns:minmax(0,1fr) auto 34px 34px;gap:6px;padding-left:10px}.practice-score-preview-tabs button{min-width:50px;padding:0 6px}.practice-sound-menu{width:min(248px,100vw - 20px);right:10px}}@media (orientation:landscape) and (max-width:700px){.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control>span{display:none}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control>span{display:none}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control>span{display:none}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{padding:5px 6px}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{padding:5px 6px}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-speed-control{padding:5px 6px}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{padding:0 10px;font-size:11px}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{padding:0 10px;font-size:11px}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]) .practice-change-mode{padding:0 10px;font-size:11px}.practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}.practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}.practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]):has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}}.popu-back{top:max(14px, var(--safe-top,env(safe-area-inset-top,0px)) + 10px);left:max(14px, var(--safe-left,env(safe-area-inset-left,0px)) + 10px);z-index:60;position:fixed}html.embed.standalone .popu-back{top:max(16px, var(--safe-top,env(safe-area-inset-top,0px)) + 12px)}.page-head-title-row{align-items:center;gap:12px;display:flex}.page-head-title-row .popu-back{flex:none;position:static}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:0 0 20px;display:flex}.page-head-l{min-width:0}.page-head h1{letter-spacing:0;color:#fff6e8;margin:0;font-family:Noto Sans SC,sans-serif;font-size:38px;font-weight:800}.page-head .page-sub{color:#f3edff8c;margin:8px 0 0;font-size:14px;font-weight:600}.page-head-actions{flex:none;align-items:center;gap:9px;display:flex}.page-head-actions .device-button{color:#f3edffd9;background:#ffffff0d;border-color:#ffffff2e;border-radius:10px;min-height:38px;padding:0 14px;font-size:13px}.page-head-actions .device-button:hover{color:#fff6e8;border-color:#f5c77e80}.page-head-actions .device-button.connected{color:#4ade80;background:#4ade801a;border-color:#4ade80a6}.page-head-actions .icon-button{color:#f3edffd9;background:#ffffff0d;border-color:#ffffff2e;width:38px;height:38px;font-size:18px}.page-head-actions .icon-button:hover{color:#fff6e8;border-color:#f5c77e80}@media (max-width:650px){.page-head h1{font-size:26px}.page-head .page-sub{font-size:12.5px}.page-head-actions .device-button{border-radius:12px;justify-content:center;width:40px;min-height:40px;padding:0}.page-head-actions .icon-button{border-radius:50%;width:40px;height:40px}}@media (orientation:landscape) and (max-height:560px){.page-head{margin:0 0 6px}.page-head h1{font-size:20px}#course-list-view{height:calc(100vh - 66px - var(--perf-dock-bottom,0px))}@supports (height:100dvh){#course-list-view{height:calc(100dvh - 66px - var(--perf-dock-bottom,0px))}}.music-library-header{margin-bottom:8px;display:flex!important}.music-library-header .section-kicker,.music-library-header p:last-child{display:none}.music-library-header h1{margin:0;font-size:22px}html.embed.standalone .music-library-view{padding-top:0}html.embed.standalone .music-library-header.page-head h1{font-size:22px;line-height:1.2}}@media (max-width:650px){html.embed.standalone .music-library-view{padding-top:0}html.embed.standalone .course-page-head{padding-left:0;padding-right:0}}.music-library-header.page-head{align-items:center;margin-bottom:14px}.music-library-header.page-head h1{color:#fff6e8;margin:0;font-size:38px;font-weight:800}.music-library-header.page-head .page-sub{color:#f3edff80;margin:6px 0 0;font-size:13px;font-weight:600}@media (min-width:900px){html.embed.standalone .main-content{padding-left:max(32px,var(--safe-left,env(safe-area-inset-left,0px)));padding-right:max(32px,var(--safe-right,env(safe-area-inset-right,0px)))}}@media (max-width:650px){.music-library-header.page-head h1{font-size:26px}.music-library-header.page-head{text-align:left;flex-direction:row;justify-content:space-between;align-items:flex-start;gap:12px}.music-library-header.page-head .page-head-l{text-align:left}}html.embed .duo-banner-slot{max-width:none}.course-page-head{width:100%;padding-left:24px;padding-right:24px}.page-head.course-page-head{flex-wrap:nowrap}@media (orientation:landscape) and (max-height:560px){.course-page-head{max-width:none;padding-left:max(10px,calc(var(--safe-left,env(safe-area-inset-left,0px)) - 12px));padding-right:max(10px,calc(var(--safe-right,env(safe-area-inset-right,0px)) - 12px))}.page-head-title-row{gap:8px}}html[data-popu-tier=low] .mv-bg{display:none!important}html[data-popu-tier=low] .practice-mode-choice,html[data-popu-tier=mid] .practice-mode-choice{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#07060df5!important}html[data-popu-tier=low] .practice-exit-confirm,html[data-popu-tier=mid] .practice-exit-confirm,html[data-popu-tier=low] .practice-rotate-hint,html[data-popu-tier=mid] .practice-rotate-hint{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:#08071af7!important}html[data-popu-tier=low] .practice-exit-orbit i{animation:none!important}html[data-popu-tier=low] .meteor-field{display:none!important}html[data-popu-tier=low] .music-card{background:#1c1a31!important;border-color:#2b2842!important}html[data-popu-tier=low] .music-card .ml-heart{background:#131228!important;border-color:#393647!important}html[data-popu-tier=low] .music-card .ml-heart.on{background:#3c2b3a!important;border-color:#8f5752!important}html[data-popu-tier=low] .music-card .ml-heart.on>.heart-icon{filter:none!important}html[data-popu-tier=low] body{background:#100e2c!important}body.practice-open .music-library-view>:not(dialog){visibility:hidden!important}html.no-flex-gap .brand>*+*{margin-left:11px}html.no-flex-gap .brand-mark>*+*{margin-left:3px}html.no-flex-gap .nav-item>*+*{margin-left:12px}html.no-flex-gap .local-note>*+*{margin-left:7px}html.no-flex-gap .crumb>*+*{margin-left:8px}html.no-flex-gap .topbar-actions>*+*{margin-left:17px}html.no-flex-gap .api-state>*+*,html.no-flex-gap .synth-state>*+*,html.no-flex-gap .device-button>*+*{margin-left:7px}html.no-flex-gap .hero>*+*{margin-left:30px}html.no-flex-gap .catalogue-header>*+*{margin-left:20px}html.no-flex-gap .refresh-button>*+*{margin-left:7px}html.no-flex-gap .course-title-row>*+*{margin-left:10px}html.no-flex-gap .course-footer>*+*{margin-left:8px}html.no-flex-gap .dialog-actions>*+*{margin-left:12px}html.no-flex-gap .back-button>*+*{margin-left:7px}html.no-flex-gap .course-detail-stats>*+*{margin-left:30px}html.no-flex-gap .chapter-item>summary>*+*{margin-left:20px}html.no-flex-gap .unit-item summary>*+*{margin-left:16px}html.no-flex-gap .video-header>*+*{margin-left:18px}html.no-flex-gap .practice-header>*+*{margin-left:20px}html.no-flex-gap .practice-toolbar>*+*{margin-left:18px}html.no-flex-gap .notation-tabs,html.no-flex-gap .practice-actions>*+*{margin-left:3px}html.no-flex-gap .numbered-preview>*+*{margin-left:24px}html.no-flex-gap .game-actions>*+*{margin-left:9px}html.no-flex-gap .music-library-header>*+*{margin-left:28px}html.no-flex-gap .music-search>*+*,html.no-flex-gap .practice-result .result-blackout-challenge>*+*{margin-left:8px}html.no-flex-gap .hud-stat>*+*{margin-left:5px}html.no-flex-gap .practice-speed-control>*+*,html.no-flex-gap .challenge-grade-copy>*+*{margin-left:7px}html.no-flex-gap .practice-tip>*+*{margin-left:8px}html.no-flex-gap .course-detail-view .lesson-list>*+*{margin-top:9px}html.no-flex-gap .duo-picker>*+*,html.no-flex-gap .duo-menu button>*+*{margin-left:10px}html.no-flex-gap .duo-stat>*+*{margin-left:5px}html.no-flex-gap .duo-unit>*+*{margin-left:14px}html.no-flex-gap .duo-unit .ub>*+*{margin-left:6px}html.no-flex-gap .duo-rail>*+*{margin-top:12px}html.no-flex-gap .duo-card h5>*+*{margin-left:7px}html.no-flex-gap .duo-week>*+*{margin-left:6px}html.no-flex-gap .duo-quest>*+*,html.no-flex-gap .mv-userrow>*+*{margin-left:10px}html.no-flex-gap .mv-userrow>*+*{margin-left:9px}html.no-flex-gap .auth-actions-right>*+*{margin-left:12px}html.no-flex-gap .mv-banner>*+*{margin-left:16px}html.no-flex-gap .mv-banner .bbtn>*+*{margin-left:6px}html.no-flex-gap .mv-bprog>*+*,html.no-flex-gap .duo-menu button>*+*{margin-left:10px}html.no-flex-gap .music-hands>*+*{margin-left:6px}html.no-flex-gap .hand-chooser .hc-cols>*+*{margin-left:12px}html.no-flex-gap .hand-chooser .hc-opt>*+*{margin-top:2px}html.no-flex-gap .practice-mode-switch,html.no-flex-gap .practice-notation-choice>*+*{margin-left:12px}html.no-flex-gap .mv-chhead>*+*{margin-left:11px}html.no-flex-gap .mv-chiprow>*+*{margin-left:8px}html.no-flex-gap .mv-chip>*+*{margin-top:1px}html.no-flex-gap .ml-tabbar>*+*{margin-left:16px}html.no-flex-gap .ml-tabs>*+*{margin-left:26px}html.no-flex-gap .ml-rankhead>*+*,html.no-flex-gap .ml-topcard>*+*{margin-left:12px}html.no-flex-gap .ml-tags>*+*{margin-left:5px}html.no-flex-gap .ml-rankrow>*+*{margin-left:16px}html.no-flex-gap .ml-rtags>*+*{margin-left:5px}html.no-flex-gap .practice-header-actions>*+*{margin-left:10px}html.no-flex-gap .practice-title-row>*+*{margin-left:8px}html.no-flex-gap .practice-mode-choice:not([hidden])>*+*{margin-top:18px}html.no-flex-gap .pmc-group>*+*{margin-top:11px}html.no-flex-gap .practice-mode-switch button,html.no-flex-gap .practice-notation-choice button>*+*{margin-top:9px}html.no-flex-gap .ml-hands,html.no-flex-gap .ml-rhands>*+*{margin-left:5px}html.no-flex-gap .coach-actions>*+*{margin-left:12px}html.no-flex-gap .popu-back>*+*{margin-left:4px}html.no-flex-gap .page-head-title-row>*+*{margin-left:12px}html.no-flex-gap .page-head-actions>*+*{margin-left:9px}@media (max-width:650px){html.no-flex-gap .primary-nav>*+*{margin-left:4px}}@media (orientation:landscape) and (max-height:700px){html.no-flex-gap .course-grid>*+*{margin-left:28px}html.no-flex-gap .chapter-list>*+*{margin-left:20px}html.no-flex-gap .lesson-list>*+*{margin-left:18px}html.no-flex-gap .course-detail-rail>*+*,html.no-flex-gap .chapter-list>*+*,html.no-flex-gap .chapter-item[open] .unit-list>*+*,html.no-flex-gap #course-list-view>*+*,html.no-flex-gap #course-list-view>.catalogue>*+*{margin-left:20px}html.no-flex-gap #course-list-view .course-grid>*+*{margin-left:28px}}@media (orientation:landscape) and (max-height:560px){html.no-css-has.embed.standalone.x-has-music-library-view .main-content{padding-left:max(12px,var(--safe-left,env(safe-area-inset-left,0px)))!important;padding-right:max(12px,var(--safe-right,env(safe-area-inset-right,0px)))!important}}@media (orientation:portrait){html.no-css-has.embed.standalone.x-has-course-list-visible .main-content{padding-top:10px}html.no-css-has.embed.standalone.x-has-course-list-visible .course-page-head{padding-top:max(0px,calc(var(--safe-top,env(safe-area-inset-top,0px)) - 10px))}html.no-css-has.embed.standalone.x-has-course-list-visible .mv-banner{padding-top:max(18px,calc(var(--safe-top,env(safe-area-inset-top,0px)) - 30px))}}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible{scrollbar-gutter:stable}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .main-content{height:calc(100vh - var(--perf-dock-bottom,0px));flex-direction:column;display:flex;overflow:hidden}@supports (height:100dvh){html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .main-content{height:calc(100dvh - var(--perf-dock-bottom,0px))}}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .course-page-head{flex:none}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible #course-list-view{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .duo-wrap{flex:1;grid-template-rows:1fr;min-height:0;display:grid}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .duo-pathcol{flex-direction:column;height:100%;min-height:0;padding-bottom:0;display:flex;overflow:hidden}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible .duo-banner-slot{flex:none}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible #duo-units{overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding-bottom:120px;overflow-y:auto}html.no-css-has.embed.standalone:not(.duo-land).x-has-course-list-visible #duo-units::-webkit-scrollbar{width:0;height:0}html.no-css-has.embed.standalone.x-has-music-library-view{scrollbar-gutter:stable}html.no-css-has.embed.standalone.x-has-music-library-view .main-content{height:calc(100vh - var(--perf-dock-bottom,0px));flex-direction:column;display:flex;overflow:hidden}@supports (height:100dvh){html.no-css-has.embed.standalone.x-has-music-library-view .main-content{height:calc(100dvh - var(--perf-dock-bottom,0px))}}html.no-css-has.embed.standalone.x-has-music-library-view .music-library-view{flex-direction:column;flex:1;min-height:0;padding-bottom:0;display:flex;overflow:hidden}html.no-css-has.embed.standalone.x-has-music-library-view .ml-top,html.no-css-has.embed.standalone.x-has-music-library-view .ml-down{flex:none}html.no-css-has.embed.standalone.x-has-music-library-view .ml-central{flex-direction:column;flex:1;min-height:0;display:flex}html.no-css-has.embed.standalone.x-has-music-library-view .music-library-header,html.no-css-has.embed.standalone.x-has-music-library-view .ml-tabbar,html.no-css-has.embed.standalone.x-has-music-library-view .load-message{flex:none}html.no-css-has.embed.standalone.x-has-music-library-view .ml-tabbar{margin-top:0;margin-bottom:13px}html.no-css-has.embed.standalone.x-has-music-library-view .main-content{padding-bottom:max(8px, var(--safe-bottom,env(safe-area-inset-bottom,0px)))}html.no-css-has.embed.standalone.x-has-music-library-view .load-message:empty{display:none}html.no-css-has.embed.standalone.x-has-music-library-view .ml-panel:not(.hidden){overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;padding-top:7px;padding-bottom:12px;overflow-y:auto}html.no-css-has.embed.standalone.x-has-music-library-view .ml-panel:not(.hidden)::-webkit-scrollbar{width:0;height:0}html.no-css-has body.x-has-practice-open .meteor-field,html.no-css-has body.x-has-video-open .meteor-field,html.no-css-has body.x-has-practice-open .mv-stars,html.no-css-has body.x-has-video-open .mv-stars{display:none!important}html.no-css-has .practice-coach.x-has-coach-spot:before{display:none}html.no-css-has.x-has-dialog-open{overflow:hidden}html.no-css-has body.x-has-dialog-open{overscroll-behavior:none;overflow:hidden}@media (orientation:landscape){html.no-css-has .practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}html.no-css-has .practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}html.no-css-has .practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}}@media (orientation:landscape) and (max-width:700px){html.no-css-has .practice-dialog:-webkit-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}html.no-css-has .practice-dialog:-moz-any([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}html.no-css-has .practice-dialog:is([data-notation=waterfall],[data-notation=numbered],[data-notation=staff]).x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}}html.no-css-is .practice-dialog.is-selecting-mode .practice-metronome,html.no-css-is .practice-dialog.is-selecting-mode .practice-metronome-menu{display:none}html.no-css-is .practice-dialog[data-notation=waterfall] .game-hud,html.no-css-is .practice-dialog[data-notation=numbered] .game-hud,html.no-css-is .practice-dialog[data-notation=staff] .game-hud,html.no-css-is .practice-dialog[data-notation=numbered] #practice-mode-label,html.no-css-is .practice-dialog[data-notation=numbered] .practice-status,html.no-css-is .practice-dialog[data-notation=staff] #practice-mode-label,html.no-css-is .practice-dialog[data-notation=staff] .practice-status{display:none!important}html.no-css-is .practice-dialog.is-selecting-mode .practice-sound-button,html.no-css-is .practice-dialog.is-selecting-mode .practice-sound-menu,html.no-css-is .practice-dialog.is-selecting-mode .practice-score-preview-button{display:none}html.no-css-is .practice-metronome,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-metronome,html.no-css-is .practice-dialog[data-notation=numbered] .practice-metronome,html.no-css-is .practice-dialog[data-notation=staff] .practice-metronome{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base))}html.no-css-is .practice-sound-button,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-sound-button,html.no-css-is .practice-dialog[data-notation=numbered] .practice-sound-button,html.no-css-is .practice-dialog[data-notation=staff] .practice-sound-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}html.no-css-is .practice-score-preview-button,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-score-preview-button,html.no-css-is .practice-dialog[data-notation=numbered] .practice-score-preview-button,html.no-css-is .practice-dialog[data-notation=staff] .practice-score-preview-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 2)}html.no-css-is .practice-digits-button,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-digits-button,html.no-css-is .practice-dialog[data-notation=numbered] .practice-digits-button,html.no-css-is .practice-dialog[data-notation=staff] .practice-digits-button{top:max(9px,var(--safe-top,env(safe-area-inset-top,0px)));right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step) * 3)}html.no-css-is .practice-metronome-menu,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-metronome-menu,html.no-css-is .practice-dialog[data-notation=numbered] .practice-metronome-menu,html.no-css-is .practice-dialog[data-notation=staff] .practice-metronome-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base))}html.no-css-is .practice-sound-menu,html.no-css-is .practice-dialog[data-notation=waterfall] .practice-sound-menu,html.no-css-is .practice-dialog[data-notation=numbered] .practice-sound-menu,html.no-css-is .practice-dialog[data-notation=staff] .practice-sound-menu{top:calc(max(9px,var(--safe-top,env(safe-area-inset-top,0px))) + 44px);right:calc(var(--pb-edge) + var(--pb-base) + var(--pb-step))}@media (orientation:landscape){html.no-css-is .practice-dialog[data-notation=waterfall] .practice-header,html.no-css-is .practice-dialog[data-notation=numbered] .practice-header,html.no-css-is .practice-dialog[data-notation=staff] .practice-header{pointer-events:none;min-height:56px;padding:8px 12px;background:#0a0912d1!important;border-bottom:1px solid #ffffff17!important}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-header-actions,html.no-css-is .practice-dialog[data-notation=numbered] .practice-header-actions,html.no-css-is .practice-dialog[data-notation=staff] .practice-header-actions{pointer-events:auto}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-title-row,html.no-css-is .practice-dialog[data-notation=numbered] .practice-title-row,html.no-css-is .practice-dialog[data-notation=staff] .practice-title-row{text-align:center;pointer-events:none;justify-content:center;max-width:none;position:absolute;top:76px;left:50%;right:auto;transform:translate(-50%);display:flex!important}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-title-row h2,html.no-css-is .practice-dialog[data-notation=numbered] .practice-title-row h2,html.no-css-is .practice-dialog[data-notation=staff] .practice-title-row h2,html.no-css-is .practice-dialog[data-notation=waterfall] .rec-dot,html.no-css-is .practice-dialog[data-notation=numbered] .rec-dot,html.no-css-is .practice-dialog[data-notation=staff] .rec-dot{display:none!important}html.no-css-is .practice-dialog[data-notation=waterfall] #practice-mode-label,html.no-css-is .practice-dialog[data-notation=numbered] #practice-mode-label,html.no-css-is .practice-dialog[data-notation=staff] #practice-mode-label{color:#fff6e8;white-space:nowrap;background:#2a1f39e6;border:1px solid #f5c77e80;border-radius:999px;padding:10px 22px;font-size:14px;font-weight:800;display:block;box-shadow:0 8px 24px #0a082047}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-metronome,html.no-css-is .practice-dialog[data-notation=numbered] .practice-metronome,html.no-css-is .practice-dialog[data-notation=staff] .practice-metronome{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:calc(max(12px, var(--safe-right,env(safe-area-inset-right,0px))) + 48px);width:36px;height:36px}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-metronome-menu,html.no-css-is .practice-dialog[data-notation=numbered] .practice-metronome-menu,html.no-css-is .practice-dialog[data-notation=staff] .practice-metronome-menu{top:54px;right:calc(max(12px,var(--safe-right,env(safe-area-inset-right,0px))) + 48px)}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-header #close-practice.dialog-close,html.no-css-is .practice-dialog[data-notation=numbered] .practice-header #close-practice.dialog-close,html.no-css-is .practice-dialog[data-notation=staff] .practice-header #close-practice.dialog-close,html.no-css-is .practice-dialog[data-notation=waterfall].is-playing .practice-header #close-practice,html.no-css-is .practice-dialog[data-notation=numbered].is-playing .practice-header #close-practice,html.no-css-is .practice-dialog[data-notation=staff].is-playing .practice-header #close-practice{top:max(10px, var(--safe-top,env(safe-area-inset-top,0px)));right:max(12px, var(--safe-right,env(safe-area-inset-right,0px)));width:36px;height:36px;margin:0;font-size:0;left:auto}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-change-mode,html.no-css-is .practice-dialog[data-notation=numbered] .practice-change-mode,html.no-css-is .practice-dialog[data-notation=staff] .practice-change-mode{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;border-color:#a985ff57;min-height:40px;padding:0 16px;font-size:12px}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-speed-control,html.no-css-is .practice-dialog[data-notation=numbered] .practice-speed-control,html.no-css-is .practice-dialog[data-notation=staff] .practice-speed-control{top:max(8px, var(--safe-top,env(safe-area-inset-top,0px)));bottom:auto;right:auto;left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 50px);background:#15121fe6;min-height:40px;padding:5px 7px 5px 12px;font-size:12px}html.no-css-is .practice-dialog[data-notation=waterfall]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}html.no-css-is .practice-dialog[data-notation=numbered]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}html.no-css-is .practice-dialog[data-notation=staff]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}html.no-css-is.no-css-has .practice-dialog[data-notation=waterfall].x-has-change-mode .practice-speed-control,html.no-css-is.no-css-has .practice-dialog[data-notation=numbered].x-has-change-mode .practice-speed-control,html.no-css-is.no-css-has .practice-dialog[data-notation=staff].x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 162px)}}@media (prefers-reduced-motion:reduce){html.no-css-is .practice-result .result-node,html.no-css-is .practice-result .result-metric,html.no-css-is .practice-result .result-rank,html.no-css-is .practice-result .result-actions{opacity:1}}@media (orientation:landscape) and (max-width:700px){html.no-css-is .practice-dialog[data-notation=waterfall] .practice-speed-control>span,html.no-css-is .practice-dialog[data-notation=numbered] .practice-speed-control>span,html.no-css-is .practice-dialog[data-notation=staff] .practice-speed-control>span{display:none}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-speed-control,html.no-css-is .practice-dialog[data-notation=numbered] .practice-speed-control,html.no-css-is .practice-dialog[data-notation=staff] .practice-speed-control{padding:5px 6px}html.no-css-is .practice-dialog[data-notation=waterfall] .practice-change-mode,html.no-css-is .practice-dialog[data-notation=numbered] .practice-change-mode,html.no-css-is .practice-dialog[data-notation=staff] .practice-change-mode{padding:0 10px;font-size:11px}html.no-css-is .practice-dialog[data-notation=waterfall]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}html.no-css-is .practice-dialog[data-notation=numbered]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}html.no-css-is .practice-dialog[data-notation=staff]:has(.practice-change-mode:not([hidden])) .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}html.no-css-is.no-css-has .practice-dialog[data-notation=waterfall].x-has-change-mode .practice-speed-control,html.no-css-is.no-css-has .practice-dialog[data-notation=numbered].x-has-change-mode .practice-speed-control,html.no-css-is.no-css-has .practice-dialog[data-notation=staff].x-has-change-mode .practice-speed-control{left:calc(max(14px, var(--safe-left,env(safe-area-inset-left,0px))) + 126px)}}@supports not (aspect-ratio:1){.video-stage{height:0;padding-top:56.25%}.video-stage video,.video-stage .video-loading{width:100%;height:100%;position:absolute;top:0;left:0}}.diag-block{border-top:1px solid #ffffff1a;margin-top:22px;padding-top:18px}.diag-title{color:#fff6e8;margin:8px 0 6px;font-family:Noto Sans SC,sans-serif;font-size:17px}.diag-hint{color:#fff6e8a8;margin:0 0 10px;font-size:12px;line-height:1.6}.diag-text{max-height:190px;white-space:pre-wrap;word-break:break-word;color:#fff6e8;scrollbar-width:thin;scrollbar-color:#f5c77e66 transparent;background:#ffffff0d;border:1px solid #f5c77e38;border-radius:6px;max-height:min(190px,32vh);margin:0;padding:11px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.7;overflow:auto}.diag-text::-webkit-scrollbar{width:6px}.diag-text::-webkit-scrollbar-thumb{background:#f5c77e66;border-radius:3px}.diag-text::-webkit-scrollbar-track{background:0 0}.text-button.quiet.diag-copy{font:inherit;color:#8fe0cf;margin-top:10px;font-size:12px;font-weight:700}.settings-dialog,.device-dialog{--safe-dialog-height:calc(100vh - var(--safe-top,env(safe-area-inset-top,0px)) - var(--safe-bottom,env(safe-area-inset-bottom,0px)) - 24px);top:calc(var(--safe-top,env(safe-area-inset-top,0px)) + 12px);right:calc(var(--safe-right,env(safe-area-inset-right,0px)) + 12px);bottom:calc(var(--safe-bottom,env(safe-area-inset-bottom,0px)) + 12px);left:calc(var(--safe-left,env(safe-area-inset-left,0px)) + 12px);max-width:calc(100vw - var(--safe-left,env(safe-area-inset-left,0px)) - var(--safe-right,env(safe-area-inset-right,0px)) - 24px);max-height:var(--safe-dialog-height);margin:auto;position:fixed}@supports (height:100dvh){.settings-dialog,.device-dialog{--safe-dialog-height:calc(100dvh - var(--safe-top,env(safe-area-inset-top,0px)) - var(--safe-bottom,env(safe-area-inset-bottom,0px)) - 24px)}}.settings-dialog .settings-card{max-height:var(--safe-dialog-height)}html.embed.standalone .main-content{padding-top:max(16px, calc(var(--safe-top,env(safe-area-inset-top,0px)) + 8px))}html.embed.standalone .page-head-actions{margin-right:8px}@media (max-width:380px) and (orientation:portrait){.mv-banner{gap:10px;padding:14px 12px}.mv-banner .bico{display:none}.mv-banner .bn{white-space:normal;overflow-wrap:anywhere;font-size:18px;line-height:1.4}.mv-banner .bk{letter-spacing:.4px}.mv-banner .bbtn{min-height:44px;padding:10px}}@media (orientation:landscape) and (max-height:500px),(orientation:portrait) and (max-width:600px){.music-practice-choice:not([hidden]){padding:calc(12px + var(--safe-top,env(safe-area-inset-top,0px))) calc(16px + var(--safe-right,env(safe-area-inset-right,0px))) calc(12px + var(--safe-bottom,env(safe-area-inset-bottom,0px))) calc(16px + var(--safe-left,env(safe-area-inset-left,0px)))!important;gap:10px!important}.music-practice-choice .pmc-group{flex-shrink:0;gap:6px;max-width:600px}.music-practice-choice .pmc-label{font-size:11px}.music-practice-choice .practice-mode-switch,.music-practice-choice .practice-notation-choice{gap:8px}.music-practice-choice .practice-mode-switch button,.music-practice-choice .practice-notation-choice button{flex:1 1 0;grid-template-columns:28px minmax(0,1fr);grid-template-areas:"ic title""ic sub";align-items:center;gap:2px 8px;max-width:194px;border-radius:12px!important;padding:10px!important;display:grid!important}.music-practice-choice button .pmc-ic{border-radius:9px;grid-area:ic;width:28px!important;height:28px!important}.music-practice-choice .pmc-ic svg{width:16px;height:16px}.music-practice-choice .practice-mode-switch button b,.music-practice-choice .practice-notation-choice button b{grid-area:title;font-size:14px!important}.music-practice-choice .practice-mode-switch button small,.music-practice-choice .practice-notation-choice button small{grid-area:sub;line-height:1.4;font-size:10px!important}.music-practice-choice .pmc-start{flex-shrink:0;width:100%;margin-top:4px}.music-practice-choice .pmc-start button{border-radius:14px;width:min(320px,100%);min-width:0;min-height:56px;font-size:18px;font-weight:800}}@media (orientation:portrait) and (max-width:600px){.music-practice-choice .practice-mode-switch button,.music-practice-choice .practice-notation-choice button{flex:none;max-width:300px;width:100%!important;min-height:48px!important;padding:8px 12px!important}.music-practice-choice .practice-mode-switch,.music-practice-choice .practice-notation-choice{gap:6px!important}}.music-practice-choice .pmc-start{flex-direction:column;align-items:center;gap:7px}.music-practice-choice .pmc-action-hint{color:#d0c7dd;margin:0;font-size:12px;line-height:1.4}@media (orientation:landscape) and (max-height:500px),(orientation:portrait) and (max-width:600px){.music-practice-choice .pmc-start{z-index:2;background:linear-gradient(#1a133200,#1a1332 24%);padding:10px 0 4px;position:-webkit-sticky;position:sticky;bottom:0}.music-practice-choice .pmc-start button{width:min(360px,100%);box-shadow:0 8px 22px #f5a05a52}.music-practice-choice .pmc-start button:disabled{box-shadow:none;color:#c1b9cd;background:#342d46;border:1px solid #554967;font-size:15px}.music-practice-choice .practice-mode-switch button.active,.music-practice-choice .practice-notation-choice button.active{color:#ffe3b2!important;background:#f5c77e21!important;border-color:#f5c77e!important;box-shadow:inset 0 0 0 1px #f5c77e!important}.music-practice-choice .practice-mode-switch button.active .pmc-ic,.music-practice-choice .practice-notation-choice button.active .pmc-ic{color:#f5c77e!important;background:#f5c77e24!important}}.music-practice-choice .practice-mode-switch button[hidden],.music-practice-choice .practice-notation-choice button[hidden]{display:none!important}@media (orientation:landscape) and (max-height:700px){.practice-dialog .waterfall-panel{padding-right:var(--safe-right,env(safe-area-inset-right,0px))}.practice-dialog .waterfall-panel canvas{--waterfall-bleed:1;width:calc(100% + var(--safe-left,env(safe-area-inset-left,0px)) + var(--safe-right,env(safe-area-inset-right,0px)));margin-left:calc(0px - var(--safe-left,env(safe-area-inset-left,0px)))}}.practice-keyboard-bar>canvas{width:100%;height:100%;display:block}@media (orientation:landscape) and (max-height:700px){.practice-keyboard-bar>canvas{--keyboard-bleed:1;width:calc(100% + var(--safe-left) + var(--safe-right));margin-left:calc(0px - var(--safe-left))}}.practice-speed-control select[hidden]{display:none}.practice-select-button{color:#fff6e8;min-width:58px;height:28px;font:inherit;white-space:nowrap;background:#29233b;border:1px solid #ffffff29;border-radius:6px;padding:0 8px}.practice-select-shade{z-index:25;background:#0705104d;position:absolute;top:0;bottom:0;left:0;right:0}.practice-select-menu{box-sizing:border-box;background:#241c35;border:1px solid #514360;border-radius:12px;width:180px;max-width:calc(100% - 24px);max-height:calc(100% - 24px);padding:6px;position:absolute;overflow:auto;box-shadow:0 12px 36px #0006}.practice-select-menu button{color:#fff6e8;width:100%;min-height:40px;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700;display:block}.practice-select-menu button[aria-selected=true]{color:#27152e;background:#f5c77e}.practice-select-menu button:focus-visible{outline-offset:1px;outline:2px solid #8fe0cf}.practice-select-button:focus-visible{outline-offset:1px;outline:2px solid #8fe0cf}@media (orientation:landscape) and (max-height:560px),(orientation:portrait) and (max-width:600px){.practice-dialog{--practice-keyboard-gap:max(8px,var(--safe-bottom,env(safe-area-inset-bottom,0px)))}}.practice-dialog.is-playing .practice-header,.practice-dialog.is-playing .game-hud{-webkit-backdrop-filter:none;backdrop-filter:none}.practice-dialog.is-playing .practice-header{background:#0a0912eb}.practice-dialog.is-playing .game-hud{background:#0c0a22e0!important}@media (orientation:portrait){#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete){--portrait-top:max(8px,var(--safe-top,env(safe-area-inset-top,0px)));--portrait-left:max(12px,var(--safe-left,env(safe-area-inset-left,0px)));--portrait-right:max(12px,var(--safe-right,env(safe-area-inset-right,0px)));--portrait-controls:136px;--practice-keyboard-gap:max(8px,var(--safe-bottom,env(safe-area-inset-bottom,0px)))}#practice-dialog[data-notation].is-challenge:not(.is-selecting-mode):not(.is-complete){--portrait-controls:188px}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-header{height:calc(var(--portrait-top) + 136px);pointer-events:none;z-index:auto;-webkit-backdrop-filter:none;min-height:0;padding:0}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-header-actions{pointer-events:auto}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-title-row{top:var(--portrait-top);left:var(--portrait-left);right:var(--portrait-right);justify-content:center;min-width:0;max-width:none;height:28px;position:absolute;transform:none}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-title-row h2{min-width:0;max-width:100%;margin:0;font-size:16px;line-height:24px}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) #practice-mode-label{display:none}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-start{top:calc(var(--portrait-top) + 36px);left:var(--portrait-left)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) #practice-play,#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-header-actions>button{width:44px;min-width:44px;height:44px}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-header #close-practice{top:calc(var(--portrait-top) + 36px);left:calc(var(--portrait-left) + 48px);right:auto}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-metronome{top:calc(var(--portrait-top) + 36px);right:var(--portrait-right)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-sound-button{top:calc(var(--portrait-top) + 36px);right:calc(var(--portrait-right) + 48px)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-score-preview-button{top:calc(var(--portrait-top) + 36px);right:calc(var(--portrait-right) + 96px)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-digits-button{top:calc(var(--portrait-top) + 36px);right:calc(var(--portrait-right) + 144px)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-change-mode{top:calc(var(--portrait-top) + 88px);bottom:auto;left:var(--portrait-left);height:40px}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-speed-control{top:calc(var(--portrait-top) + 88px);bottom:auto;left:auto;right:var(--portrait-right);box-sizing:border-box;height:40px}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-stage{margin-top:calc(var(--portrait-top) + var(--portrait-controls))}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .waterfall-panel canvas{min-height:0}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete){--progress-top:calc(var(--portrait-top) + var(--portrait-controls) + 12px)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-metronome-menu,#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-sound-menu{top:calc(var(--portrait-top) + 84px);right:var(--portrait-right);max-width:calc(100% - var(--portrait-left) - var(--portrait-right))}#practice-dialog[data-notation].is-challenge:not(.is-selecting-mode):not(.is-complete) .challenge-grade-progress:not([hidden]){top:calc(var(--portrait-top) + 136px);left:var(--portrait-left);right:var(--portrait-right);box-sizing:border-box;grid-template-columns:auto minmax(0,1fr);width:auto;max-width:none;min-height:44px;transform:none}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-tip{top:calc(var(--portrait-top) + var(--portrait-controls) + 8px);max-width:calc(100% - 56px)}#practice-dialog[data-notation]:not(.is-selecting-mode):not(.is-complete) .practice-status{max-width:calc(100% - 56px);top:calc(var(--portrait-top) + var(--portrait-controls) + 8px)!important}}.practice-score-preview-body .practice-preview-numbered,.practice-score-preview-body .practice-preview-staff{touch-action:auto;overflow:auto}.practice-score-preview-body canvas,.practice-score-preview-body .practice-preview-staff>div{display:none}.practice-score-preview-body img{-webkit-touch-callout:default;-webkit-user-select:auto;-moz-user-select:auto;user-select:auto;width:100%;height:auto;display:block}.pmc-start [data-download-score]{color:#fff6e8;min-height:44px;font:inherit;cursor:pointer;background:#302140;border:1px solid #776488;border-radius:12px;padding:8px 16px}.pmc-start{flex-wrap:wrap;gap:8px}.pmc-start [data-download-score]{width:auto;min-width:0;box-shadow:none;flex-shrink:0}.music-practice-choice .pmc-start{flex-flow:wrap}.music-practice-choice .pmc-action-hint{text-align:center;flex-basis:100%}.music-practice-choice .pmc-start #practice-mode-start{flex:1;width:auto;min-width:160px}.practice-sound-row.is-unavailable .practice-sound-head{grid-template-columns:minmax(0,1fr) auto 36px}.practice-sound-row.is-unavailable output{white-space:nowrap}@media (orientation:portrait) and (max-width:760px){#practice-dialog[data-notation].is-waiting:not(.is-selecting-mode):not(.is-complete) .practice-tip{top:calc(var(--portrait-top) + var(--portrait-controls) + 58px);box-sizing:border-box;max-width:calc(100% - 56px);max-height:44px;padding:4px 10px;font-size:12px;line-height:1.4}}.game-progress{top:var(--progress-top,0px);bottom:auto;left:var(--safe-left,env(safe-area-inset-left,0px));right:var(--safe-right,env(safe-area-inset-right,0px));z-index:6;cursor:pointer;touch-action:none;background:#fff6e829;align-content:normal;height:6px;display:block;position:absolute;overflow:visible}.game-progress:before{content:"";height:12px;position:absolute;top:100%;left:0;right:0}.game-progress:after{content:"";z-index:1;top:0;bottom:0;left:0;right:0;pointer-events:none;background-image:linear-gradient(90deg,#0000 calc(100% - 1px),#fff6e885 0);background-size:var(--measure-step,100%) 100%;background-repeat:repeat-x;position:absolute;top:0;bottom:0;left:0;right:0}.game-progress i{height:100%;width:var(--progress,0%);background:linear-gradient(90deg,#7fe3d2,#36c9b0);display:block;position:relative;box-shadow:0 0 8px #50dcbe8c}.game-progress i:after{content:"";z-index:2;box-sizing:border-box;background:#ee9a5c;border:2px solid #fff9;border-radius:50%;width:14px;height:14px;position:absolute;top:calc(50% - 7px);right:-7px;box-shadow:0 0 10px #ee9a5ca6}.game-progress.is-static{cursor:default;pointer-events:none;touch-action:auto}.game-progress.is-static:before{content:none}.ml-heart:hover{color:#e2836b}.ml-heart.on{color:#e2836b;background:#e2836b29;border-color:#e2836b80}.ml-heart:disabled{cursor:default;opacity:1}.ml-heart>.heart-icon{z-index:2;width:18px;height:18px;transition:color .25s,transform .25s cubic-bezier(.22,.9,.32,1.35),filter .25s;display:block;position:relative}.ml-heart.on>.heart-icon{filter:drop-shadow(0 2px 6px #e2836b80)}.heart-particles{z-index:3;top:50%;bottom:auto;left:50%;right:auto;pointer-events:none;width:0;height:0;position:absolute;top:50%;bottom:auto;left:50%;right:auto}.heart-particles i{left:calc(var(--size)/-2);top:calc(var(--size)/-2);color:#e2836b;opacity:0;display:block;position:absolute;transform:translate(0)scale(.15)rotate(0)}.heart-particles i svg{width:var(--size);height:var(--size);filter:drop-shadow(0 1px 4px #e2836b94)}.broken-heart{z-index:4;top:0;bottom:0;left:0;right:0;opacity:0;pointer-events:none;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.broken-heart i{color:#e2836b;transform-origin:50% 48%;width:18px;height:18px;position:absolute;top:calc(50% - 9px);left:calc(50% - 9px);overflow:hidden}.broken-heart i svg{top:0;bottom:0;left:0;right:0;width:18px;height:18px;position:absolute;top:0;bottom:0;left:0;right:0}.broken-left{clip-path:polygon(0 0,55% 0,46% 18%,58% 32%,43% 48%,56% 65%,43% 100%,0 100%)}.broken-right{clip-path:polygon(55% 0,100% 0,100% 100%,43% 100%,56% 65%,43% 48%,58% 32%,46% 18%)}.ml-heart.heart-burst>.heart-icon{animation:.72s cubic-bezier(.18,.89,.32,1.5) both heart-pop}.ml-heart.heart-burst:before{content:"";z-index:1;top:4px;bottom:4px;left:4px;right:4px;border:2px solid #e2836bb3;border-radius:50%;animation:.62s ease-out both heart-ring;position:absolute;top:4px;bottom:4px;left:4px;right:4px}.ml-heart.heart-burst .heart-particles i{animation:mini-heart-float .98s cubic-bezier(.17,.72,.23,1) var(--delay) both}.ml-heart.heart-break>.heart-icon{animation:.62s both heart-break-base}.ml-heart.heart-break .broken-heart{opacity:1}.ml-heart.heart-break .broken-heart i{filter:drop-shadow(0 2px 6px #e2836b80)}.ml-heart.heart-break .broken-left{animation:.62s cubic-bezier(.3,.02,.55,1) both heart-left-fall}.ml-heart.heart-break .broken-right{animation:.62s cubic-bezier(.3,.02,.55,1) both heart-right-fall}@keyframes heart-pop{0%{opacity:0;transform:scale(0)}38%{opacity:1;transform:scale(1.42)}62%{transform:scale(.88)}82%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes heart-ring{0%{opacity:.85;transform:scale(.2)}to{opacity:0;transform:scale(1.75)}}@keyframes mini-heart-float{0%{opacity:0;transform:translate(0)scale(.2)rotate(0)}12%{opacity:var(--alpha);transform:translateY(-3px)scale(.9)rotate(0)}68%{opacity:calc(var(--alpha)*.82)}to{opacity:0;transform:translate(var(--x),var(--y)) scale(1) rotate(var(--r))}}@keyframes heart-break-base{0%{opacity:1;transform:scale(1)}20%{opacity:1;transform:scale(.82,.72)}32%,to{opacity:0;transform:scale(.95)}}@keyframes heart-left-fall{0%,22%{opacity:0;transform:translate(0)rotate(0)scale(.92)}29%{opacity:1}48%{opacity:1;transform:translate(-5px,3px)rotate(-12deg)scale(.9)}to{opacity:0;transform:translate(-14px,16px)rotate(-38deg)scale(.68)}}@keyframes heart-right-fall{0%,22%{opacity:0;transform:translate(0)rotate(0)scale(.92)}29%{opacity:1}48%{opacity:1;transform:translate(5px,3px)rotate(12deg)scale(.9)}to{opacity:0;transform:translate(14px,16px)rotate(38deg)scale(.68)}}.popu-back.popu-back{box-sizing:border-box;color:#f3edff;cursor:pointer;touch-action:manipulation;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#2a1b33a8;border:1px solid #f3edff38;border-radius:50%;flex:0 0 44px;justify-content:center;align-items:center;gap:0;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;transition:background .2s,transform .15s;display:inline-flex}.popu-back.popu-back:before{content:"";box-sizing:border-box;border-bottom:2px solid;border-left:2px solid;width:9px;height:9px;margin-left:4px;transform:rotate(45deg)}.popu-back.popu-back>span{display:none}.popu-back.popu-back:hover{background:#2a1b33d9}.popu-back.popu-back:active{transform:scale(.96)}.popu-back.popu-back:focus-visible{outline-offset:3px;outline:2px solid #f5c77e}@media (prefers-reduced-motion:reduce){.popu-back.popu-back{transition:none}}
