*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance:-apple-pay-button)) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}.wind-portal .portal-device-ceremony{position:relative;inset:auto;width:100%;min-height:82px;margin:0 0 13px;grid-template-columns:78px 1fr;border-radius:18px;overflow:visible;isolation:isolate}.portal-device-ceremony .device-ring{position:absolute;z-index:-1;inset:-5px;pointer-events:none;border:1px solid color-mix(in srgb,var(--lesson-glow) 70%,white 20%);border-radius:22px;opacity:.36;box-shadow:0 0 10px color-mix(in srgb,var(--lesson-glow) 42%,transparent),inset 0 0 10px color-mix(in srgb,var(--lesson-glow) 28%,transparent);animation:deviceRingBreath 2.8s ease-in-out infinite}.portal-device-ceremony.is-live .device-ring{opacity:.9;animation-duration:1.65s;box-shadow:0 0 18px color-mix(in srgb,var(--lesson-glow) 80%,transparent),0 0 38px color-mix(in srgb,var(--lesson-glow) 42%,transparent),inset 0 0 14px color-mix(in srgb,var(--lesson-glow) 48%,transparent)}@keyframes deviceRingBreath{0%,to{transform:scale(.995);filter:brightness(.9)}50%{transform:scale(1.012);filter:brightness(1.35)}}.settings-key-card{padding:10px;display:grid;gap:9px;border:1px solid rgba(72,118,113,.16);border-radius:5px 13px 5px 13px;background:rgba(255,255,255,.58)}.settings-key-card>div{display:grid;gap:2px}.settings-key-card>div span{color:#567570;font-size:10px;font-weight:800}.settings-key-card>div small{color:#8aa09c;font-size:7px}.settings-key-card>button{width:100%;min-height:42px;padding:6px 10px;display:flex;align-items:center;gap:10px;border:1px solid rgba(86,139,133,.22);border-radius:9px;color:#567570;background:rgba(222,240,234,.66);text-align:left}.settings-key-card>button i{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;color:#fff;background:#568b85;font:700 15px/1 Optima,sans-serif;box-shadow:0 0 12px rgba(86,139,133,.25)}.settings-key-card>button span{font-size:9px;font-weight:750}.video-transition-veil.is-visible{opacity:1;visibility:visible;transition-delay:0s}.video-transition-veil img{width:100%;height:100%;object-fit:cover;filter:blur(12px) saturate(.82);transform:scale(1.04)}.video-transition-veil i{--lesson-glow:#75aaa5;position:absolute;inset:0;background:radial-gradient(circle at 50% 62%,color-mix(in srgb,var(--lesson-glow) 35%,transparent),transparent 52%);animation:filmLoadingBreath 1.6s ease-in-out infinite}@keyframes filmLoadingBreath{50%{opacity:.42;transform:scale(1.04)}}.wind-ending-history-link:hover{color:rgba(255,244,219,.9)}@media (max-width:760px){.wind-portal .portal-device-ceremony{position:relative;inset:auto;min-height:68px;grid-template-columns:58px 1fr;margin-bottom:11px}}*{box-sizing:border-box}html{color-scheme:light;background:var(--paper);scroll-behavior:smooth}button,input,select{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.58}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid rgba(118,85,255,.35);outline-offset:3px}.topbar{position:sticky;z-index:50;top:0;height:74px;padding:0 26px;display:grid;grid-template-columns:270px minmax(220px,1fr) 290px;align-items:center;gap:24px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand-lockup{display:flex;align-items:center;gap:11px}.brand-mark{width:42px;height:42px;object-fit:contain;border-radius:13px;box-shadow:0 8px 18px rgba(72,47,204,.22)}.brand-lockup div{display:grid;line-height:1.05}.brand-lockup strong{font-size:17px;letter-spacing:.03em}.brand-lockup span{margin-top:5px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.course-progress{max-width:430px;width:100%;justify-self:center;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--muted);font-size:12px;font-weight:750}.course-progress b{min-width:34px;color:var(--ink)}.progress-track{overflow:hidden;height:8px;border-radius:999px;background:#ebeef5}.progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--violet),#a584ff);box-shadow:0 0 12px rgba(118,85,255,.5);transition:width .35s ease}.top-actions{justify-self:end;display:flex;align-items:center;gap:10px}.device-pill,.icon-button,.language-toggle{height:40px;border:1px solid var(--line);border-radius:13px;background:#fff;cursor:pointer}.icon-button{padding:0 12px;display:flex;align-items:center;gap:6px}.icon-button span{font-size:18px;font-weight:900}.icon-button em{font-style:normal;font-size:11px;font-weight:800}.device-pill{min-width:125px;padding:0 14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:800}.device-pill i,.keyboard-toolbar>span>i{width:8px;height:8px;border-radius:50%;background:#c4cada;box-shadow:0 0 0 4px rgba(196,202,218,.2)}.device-pill.is-live i,.keyboard-toolbar>span>i.online{background:#22c3a6;box-shadow:0 0 0 4px rgba(34,195,166,.14)}.keyboard-toolbar>span.offline{color:#b85a50}.keyboard-toolbar>span.offline>i{background:var(--coral);box-shadow:0 0 0 4px rgba(255,116,103,.14)}.workspace{grid-template-columns:255px minmax(560px,1fr) 290px;min-height:calc(100vh - 74px)}.coach-panel,.lesson-rail{padding:24px 18px;background:rgba(255,255,255,.78)}.lesson-card.is-selected{border-color:rgba(118,85,255,.18);background:#f2efff;box-shadow:inset 3px 0 0 var(--violet)}.is-selected .lesson-node{color:#fff;background:var(--lesson-color);box-shadow:0 7px 17px color-mix(in srgb,var(--lesson-color) 28%,transparent)}.game-column{min-width:0;padding:25px 28px 34px}.lesson-titlebar{min-height:76px;display:flex;justify-content:space-between;align-items:flex-start;gap:22px}.lesson-titlebar>div:first-child>span{color:var(--violet);font-size:10px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.lesson-titlebar h1{margin:4px 0 2px;font-size:clamp(22px,2vw,30px);line-height:1.1;letter-spacing:-.04em}.lesson-titlebar p{margin:0;color:var(--muted);font-size:12px}.view-switch button.active{color:var(--violet-dark);background:#fff;box-shadow:0 3px 10px rgba(23,32,57,.1)}.game-vitals{display:flex;align-items:center;gap:9px}.heart-row,.score-chip,.streak-chip{height:45px;display:flex;align-items:center;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:0 5px 15px rgba(23,32,57,.04)}.heart-row{padding:0 11px;gap:4px}.heart-row i{color:#e1e5ed;font-style:normal;font-size:16px}.heart-row i.full{color:var(--coral);filter:drop-shadow(0 3px 4px rgba(255,116,103,.28))}.score-chip{padding:0 14px;flex-direction:column;justify-content:center}.score-chip small,.streak-chip small{color:#9ba4b6;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.score-chip b{font-size:14px;line-height:1.15}.streak-chip{padding:0 11px;gap:5px}.streak-chip i{font-style:normal;font-size:17px}.streak-chip b{font-size:15px}.staff-game.feedback-correct{border-color:rgba(34,195,166,.62);box-shadow:0 25px 55px rgba(42,38,75,.13),inset 0 0 70px rgba(64,236,170,.12)}.staff-game.feedback-miss,.staff-game.feedback-wrong{border-color:rgba(255,116,103,.62);box-shadow:0 25px 55px rgba(42,38,75,.13),inset 0 0 70px rgba(255,116,103,.1)}.staff-note.is-target>b{background:var(--note-color);box-shadow:0 0 0 6px color-mix(in srgb,var(--note-color) 17%,transparent),0 4px 12px color-mix(in srgb,var(--note-color) 40%,transparent);animation:staffTarget 1.2s ease-in-out infinite}.feedback-correct .staff-note.is-target>b{background:#24c990}.staff-note.is-held>b{width:25px}.staff-game.feedback-correct .coach-callout b{color:#0b9b71}.staff-game.feedback-miss .coach-callout b,.staff-game.feedback-wrong .coach-callout b{color:#d55549}.note-highway.feedback-correct:after{border-color:rgba(64,236,170,.75);box-shadow:inset 0 0 60px rgba(64,236,170,.13)}.note-highway.feedback-miss:after,.note-highway.feedback-wrong:after{border-color:rgba(255,116,103,.7);box-shadow:inset 0 0 70px rgba(255,116,103,.15)}.falling-note.is-target{width:42px;height:54px;border:2px solid #fff;border-radius:14px 14px 19px 19px;background:linear-gradient(180deg,#9b84ff,#6e4cff);box-shadow:0 0 0 7px rgba(118,85,255,.13),0 14px 28px rgba(98,71,222,.48);animation:targetPulse 1.35s ease-in-out infinite}.feedback-correct .falling-note.is-target{background:linear-gradient(180deg,#78f5c4,#24c990);box-shadow:0 0 0 8px rgba(64,236,170,.16),0 14px 30px rgba(34,195,166,.48)}.feedback-correct .coach-callout b{color:var(--mint)}.feedback-miss .coach-callout b,.feedback-wrong .coach-callout b{color:#ff9f96}.virtual-piano{position:relative;height:128px;padding:0 4px 4px;-webkit-user-select:none;user-select:none;touch-action:none}.white-keys{height:100%;display:flex;gap:3px}.white-keys button{position:relative;flex:1 1;min-width:0;padding:0 0 9px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;border:solid #d7dbe4;border-width:1px 1px 4px;border-radius:0 0 8px 8px;color:#bac0cc;background:linear-gradient(180deg,#fff 75%,#f2f3f7);box-shadow:inset 0 -8px 15px rgba(33,42,62,.04),0 2px 3px rgba(33,42,62,.08);cursor:pointer}.white-keys button span{font-size:9px;font-weight:850}.white-keys button small{margin-top:3px;width:20px;height:18px;display:grid;place-items:center;border:1px solid #e0e3e9;border-radius:5px;color:#8c96aa;background:#f8f9fb;font-size:8px;font-weight:900}.white-keys button.is-target{border-color:#57dbaa;background:linear-gradient(180deg,#fff 55%,#caffeb);box-shadow:inset 0 -16px 25px rgba(64,236,170,.28),0 0 0 2px rgba(64,236,170,.14)}.white-keys button.is-active{transform:translateY(2px);border-bottom-width:2px;background:linear-gradient(180deg,#f4f0ff,#dcd3ff)}.black-keys{position:absolute;inset:0 4px auto;height:71%;pointer-events:none}.black-keys button{z-index:3;top:0;width:calc(100% / 10 * .58);height:100%;border:1px solid #0d1020;border-bottom:5px solid #050712;border-radius:0 0 7px 7px;color:#70778d;background:linear-gradient(100deg,#111526,#30374c 48%,#101421);box-shadow:inset 2px 0 2px rgba(255,255,255,.1),0 5px 8px rgba(7,10,24,.3);pointer-events:auto;cursor:pointer}.black-keys button,.black-keys button small{position:absolute;transform:translateX(-50%)}.black-keys button small{left:50%;bottom:8px;font-size:8px;font-weight:900}.black-keys button.is-target{border-color:#51e5b0;background:linear-gradient(100deg,#0d3e39,#1a8a6c 48%,#0d3a34);box-shadow:inset 0 -10px 20px rgba(64,236,170,.24),0 0 14px rgba(64,236,170,.5)}.black-keys button.is-active{height:calc(100% + 2px);border-bottom-width:2px;background:linear-gradient(100deg,#35286a,#7655ff 48%,#2f245d)}.coach-panel{border-left:1px solid var(--line);align-content:start;gap:14px}.segmented-control button.active{color:var(--ink);background:#fff;box-shadow:0 3px 9px rgba(23,32,57,.09)}.demo-button.is-playing{color:#b54e46;border-color:#ffd4d0;background:#fff2f1}.device-checks span.ready{color:#087859}.device-checks span.ready i{background:#22c3a6;box-shadow:0 0 0 3px rgba(34,195,166,.12)}.completion-layer,.welcome-layer{position:fixed;z-index:100;inset:0;padding:28px;display:grid;place-items:center;background:rgba(15,18,37,.7);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.welcome-card{position:relative;overflow:hidden;width:min(1040px,96vw);min-height:590px;display:grid;grid-template-columns:1.04fr .96fr;border:1px solid rgba(255,255,255,.16);border-radius:32px;background:#fff;box-shadow:0 35px 100px rgba(8,10,30,.38)}.welcome-close{position:absolute;z-index:5;top:18px;right:18px;width:36px;height:36px;border:1px solid rgba(255,255,255,.25);border-radius:50%;color:#fff;background:rgba(12,13,38,.25);font-size:21px;cursor:pointer}.welcome-copy{z-index:2;padding:63px 28px 52px 56px;align-self:center}.eyebrow{color:var(--violet);font-size:11px;font-weight:900;letter-spacing:.17em;text-transform:uppercase}.welcome-copy h2{margin:13px 0 16px;font-size:clamp(38px,4.7vw,61px);line-height:1.08;letter-spacing:-.065em}.welcome-copy h2 em{color:var(--violet);font-style:normal}.welcome-copy>p{max-width:430px;margin:0;color:var(--muted);font-size:14px;line-height:1.75}.welcome-points{margin:28px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.welcome-points>span{padding:13px 10px;display:grid;align-content:start;border:1px solid var(--line);border-radius:14px;background:#fbfbfd}.welcome-points i{color:var(--violet);font-style:normal;font-size:9px;font-weight:950}.welcome-points b{margin-top:7px;font-size:11px}.welcome-points small{margin-top:3px;color:#8e99ae;font-size:8px}.welcome-actions{display:flex;gap:10px}.primary-start,.secondary-start,.text-button{border-radius:13px;font-size:12px;font-weight:900;cursor:pointer}.primary-start{padding:13px 20px;border:0;color:#fff;background:linear-gradient(135deg,var(--violet),#5a35e8);box-shadow:0 13px 24px rgba(118,85,255,.28)}.primary-start span{margin-left:13px;font-size:17px}.secondary-start{padding:12px 16px;border:1px solid #dcd8ed;background:#fff}.welcome-visual{position:relative;overflow:hidden;min-height:590px;display:grid;place-items:center;background:radial-gradient(circle at 60% 36%,rgba(125,99,255,.94),transparent 16rem),radial-gradient(circle at 35% 70%,rgba(54,232,170,.32),transparent 14rem),linear-gradient(145deg,#1a1745,#292262 60%,#161536)}.welcome-visual:before{content:"";position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.44) .8px,transparent 0);background-size:27px 27px;opacity:.24}.welcome-visual>img{position:relative;z-index:2;width:118%;max-width:610px;object-fit:contain;filter:drop-shadow(0 38px 32px rgba(3,4,19,.45));transform:translateY(12px) rotate(-2deg)}.visual-orbit{position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.orbit-one{width:420px;height:420px}.orbit-two{width:540px;height:540px}.floating-note{position:absolute;z-index:3;width:46px;height:56px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.55);border-radius:14px 14px 18px 18px;color:#fff;background:linear-gradient(180deg,#a98fff,#714eff);box-shadow:0 14px 30px rgba(14,10,50,.32);font-size:12px;font-weight:950;animation:floatNote 3s ease-in-out infinite}.note-one{left:13%;top:20%}.note-two{right:13%;top:24%;animation-delay:-1s;background:linear-gradient(180deg,#75f0c0,#20bd8a)}.note-three{right:21%;bottom:20%;animation-delay:-2s;background:linear-gradient(180deg,#ff9a91,#ff6658)}.visual-caption{position:absolute;z-index:4;left:50%;bottom:30px;padding:10px 15px;display:flex;align-items:center;gap:8px;transform:translateX(-50%);border:1px solid rgba(255,255,255,.18);border-radius:999px;color:rgba(255,255,255,.82);background:rgba(9,8,30,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:9px;font-weight:750;white-space:nowrap}.visual-caption i{width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 12px var(--mint)}.retry-card>p{max-width:310px;margin:0;color:var(--muted);font-size:11px;line-height:1.65}.retry-card .completion-burst{background:linear-gradient(135deg,#ff8c82,#ea5b50);box-shadow:0 14px 30px rgba(234,91,80,.28)}.stars i.dim{color:#e5e8ef;filter:none}.completion-card .primary-start{width:100%}.legal-footer{padding:15px 24px;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#99a2b4;background:#fff;font-size:9px}.legal-footer a{color:#7564c8}@keyframes targetPulse{0%,to{transform:translateX(-50%) perspective(300px) rotateX(-9deg) translateY(0)}50%{transform:translateX(-50%) perspective(300px) rotateX(-9deg) translateY(-5px)}}@keyframes floatNote{0%,to{transform:translateY(-6px) rotate(-3deg)}50%{transform:translateY(8px) rotate(3deg)}}@keyframes staffTarget{0%,to{transform:rotate(-12deg) scale(1)}50%{transform:rotate(-12deg) scale(1.12)}}@media (max-width:1220px){.topbar{grid-template-columns:230px 1fr 280px;padding-inline:18px}.workspace{grid-template-columns:220px minmax(520px,1fr) 250px}.game-column{padding-inline:20px}.coach-panel,.lesson-rail{padding-inline:13px}}@media (max-width:1020px){.topbar{grid-template-columns:auto 1fr auto}.course-progress{max-width:310px}.workspace{grid-template-columns:190px minmax(0,1fr)}.coach-panel{grid-column:1/-1;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:0}}@media (max-width:760px){.topbar{height:64px;grid-template-columns:1fr auto;padding:0 12px}.brand-mark{width:37px;height:37px}.brand-lockup strong{font-size:14px}.course-progress,.device-pill span,.icon-button{display:none}.device-pill{min-width:42px;width:42px;padding:0}.workspace{display:block}.game-column{padding:16px 10px calc(24px + var(--safe-bottom))}.lesson-titlebar{min-height:97px;display:block}.lesson-titlebar h1{font-size:23px}.lesson-titlebar p{max-width:90%;font-size:10px}.game-vitals{position:absolute;right:12px;margin-top:-44px}.heart-row,.score-chip,.streak-chip{height:35px}.heart-row{padding-inline:7px}.heart-row i{font-size:12px}.score-chip{display:none}.falling-note.is-target{width:34px;height:45px}.virtual-piano{height:105px}.white-keys{gap:1px}.white-keys button small{display:none}.black-keys button{width:calc(100% / 10 * .62)}.coach-panel{padding:12px;display:grid;grid-template-columns:1fr}.welcome-layer{padding:calc(10px + var(--safe-top)) 10px calc(10px + var(--safe-bottom));overflow-y:auto;place-items:start center}.welcome-card{margin-block:10px;min-height:0;grid-template-columns:1fr;border-radius:24px}.welcome-copy{padding:40px 24px 28px}.welcome-copy h2{font-size:37px}.welcome-copy>p{font-size:12px}.welcome-points{margin:19px 0;gap:6px}.welcome-points>span{padding:10px 7px}.welcome-points small{display:none}.welcome-actions{display:grid}.welcome-visual{min-height:270px}.welcome-visual>img{width:88%}.floating-note{width:36px;height:44px}.visual-caption{bottom:14px}.welcome-close{top:12px;right:12px}.legal-footer{display:grid;gap:5px;line-height:1.4}}.portal-level-grid button{position:relative}.portal-level-grid button.has-completion-stamp{padding-right:54px}.level-complete-stamp{position:absolute;z-index:3;top:5px;right:6px;padding:2px 5px;border:1px solid;border-radius:2px 6px 2px 6px;color:#ffd0ad;background:rgba(55,86,82,.48);font-family:Optima,Avenir Next,sans-serif;font-size:7px;font-weight:800;letter-spacing:.08em;line-height:1.15;transform:rotate(-6deg);box-shadow:0 0 12px rgba(255,196,159,.16)}.level-choice-list>button.has-completion-stamp{padding-right:56px}.level-choice-list>button .level-complete-stamp{top:7px;right:8px;color:#b5664d;background:rgba(255,247,229,.82)}.cinema-stage.is-ending .film-corner-button,.cinema-stage.is-ending .film-mini-controls,.cinema-stage.is-ending .film-overlay,.cinema-stage.is-ending .melody-keyboard-shell{opacity:0;pointer-events:none}.wind-ending{padding:clamp(28px,5vw,86px);grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:clamp(24px,5vw,80px);color:#fff4dc;background:radial-gradient(circle at 22% 25%,rgba(255,202,159,.5),transparent 23%),radial-gradient(circle at 76% 72%,rgba(78,151,148,.4),transparent 30%),linear-gradient(116deg,rgba(37,68,67,.76),rgba(17,47,50,.68) 52%,rgba(66,101,95,.58));isolation:isolate;animation:windEndingReveal 1.1s cubic-bezier(.2,.76,.22,1) both}.wind-ending:before{top:14%;right:-8%;width:62%;height:1px;transform:rotate(-12deg);background:linear-gradient(90deg,transparent,rgba(255,240,213,.56),transparent);box-shadow:0 52px 0 rgba(255,240,213,.18),0 104px 0 rgba(255,240,213,.1)}.wind-ending:after{right:-10%;bottom:-24%;width:58%;aspect-ratio:1;border:1px solid rgba(255,237,204,.15);transform:rotate(45deg);box-shadow:44px -44px 0 rgba(87,157,150,.08),88px -88px 0 rgba(255,204,166,.06)}.wind-ending-copy{position:relative;z-index:3;max-width:520px;justify-self:start;text-shadow:0 3px 16px rgba(9,35,38,.38)}.wind-ending-copy>small{color:#ffc6a4;font-family:Optima,Avenir Next,sans-serif;font-size:clamp(7px,.75vw,11px);font-weight:800;letter-spacing:.24em}.wind-ending-copy h2{margin:clamp(8px,1.3vw,18px) 0 clamp(8px,1.2vw,16px);font-family:Songti SC,"Noto Serif CJK SC",STSong,serif;font-size:clamp(28px,4vw,62px);font-weight:500;letter-spacing:.08em;line-height:1.08}.wind-ending-copy>p{max-width:430px;margin:0;color:rgba(255,244,221,.78);font-family:Songti SC,STSong,serif;font-size:clamp(10px,1.05vw,15px);line-height:1.7}.wind-ending-stats{max-width:430px;margin:clamp(14px,2vw,28px) 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid rgba(255,239,210,.22)}.wind-ending-stats span{padding:clamp(8px,1.2vw,15px) 4px;display:grid;gap:2px}.wind-ending-stats span+span{border-left:1px solid rgba(255,239,210,.16)}.wind-ending-stats b{font-family:Didot,Georgia,serif;font-size:clamp(15px,1.8vw,25px);font-weight:500}.wind-ending-stats em{color:rgba(255,242,218,.56);font-size:clamp(6px,.65vw,9px);font-style:normal}.wind-ending-actions{display:flex;flex-wrap:wrap;gap:9px}.wind-ending-actions button{min-width:clamp(120px,12vw,170px);min-height:44px;padding:0 15px;display:flex;align-items:center;justify-content:space-between;border-radius:2px 13px 2px 13px;font-family:Songti SC,STSong,serif;font-size:clamp(10px,.95vw,14px);font-weight:700;letter-spacing:.08em;cursor:pointer}.wind-ending-replay{border:1px solid rgba(255,244,219,.52);color:#315b59;background:linear-gradient(120deg,#ffd4b7,#bce2d6);box-shadow:5px 6px 0 rgba(8,40,42,.24)}.wind-ending-return{border:1px solid rgba(255,244,219,.34);color:#fff2d8;background:rgba(255,255,255,.07);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.wind-ending-actions button span{margin-left:18px;font-family:Optima,sans-serif;font-size:16px}@keyframes windEndingReveal{0%{opacity:0}to{opacity:1}}@media (max-width:1024px){.wind-ending{grid-template-columns:minmax(0,.9fr) minmax(300px,1.1fr);padding:clamp(24px,4vw,48px);gap:clamp(18px,3vw,36px)}}@media (orientation:portrait) and (max-width:1024px){.immersive-shell{--film-rail-height:44px}.immersive-shell .cinema-stage{width:100vw;height:calc(100dvh - var(--film-rail-height));height:calc(100svh - var(--film-rail-height));aspect-ratio:auto}.wind-ending{padding:max(22px,var(--safe-top)) max(20px,var(--safe-right)) max(24px,var(--safe-bottom)) max(20px,var(--safe-left));grid-template-columns:1fr;grid-template-rows:minmax(180px,.9fr) auto;align-content:center;gap:8px}.wind-ending-copy{width:min(100%,520px);justify-self:center}.wind-ending-copy h2{font-size:clamp(30px,8vw,52px)}.wind-ending-copy>p{font-size:clamp(11px,3vw,15px)}.wind-ending-actions button{flex:1 1 140px}}@media (max-width:760px){.wind-portal-art{object-position:61% center}.portal-enter{min-height:48px}.portal-level-grid button.has-completion-stamp{padding-right:48px}.level-complete-stamp{font-size:6px}.film-corner-button{right:max(9px,var(--safe-right))}.wind-ending-stats{margin-block:12px}.wind-ending-actions{gap:7px}}@media (orientation:landscape) and (max-height:600px){.portal-level-grid button{min-height:40px;padding-block:5px}.portal-enter{height:38px;min-height:38px;margin-top:7px}.wind-ending{padding:20px max(28px,var(--safe-right)) 18px max(28px,var(--safe-left))}.wind-ending-copy h2{font-size:clamp(25px,4.2vw,44px)}.wind-ending-copy>p{line-height:1.45}.wind-ending-stats{margin-block:10px}.wind-ending-actions button{min-height:38px}}.portal-device-ceremony{--lesson-glow:#75aaa5;position:absolute;z-index:5;top:max(4vh,var(--safe-top));right:clamp(18px,7vw,120px);width:min(430px,38vw);min-height:92px;padding:14px 18px;display:grid;grid-template-columns:92px 1fr;align-items:center;gap:16px;overflow:hidden;border:1px solid color-mix(in srgb,var(--lesson-glow) 54%,white 18%);border-radius:4px 24px 4px 24px;color:#fff8e9;text-align:left;background:linear-gradient(120deg,rgba(9,27,32,.78),color-mix(in srgb,var(--lesson-glow) 25%,transparent));box-shadow:0 16px 54px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);cursor:pointer}.portal-device-ceremony .device-aura{position:absolute;inset:-70%;opacity:.22;background:radial-gradient(circle,var(--lesson-glow),transparent 56%);animation:deviceAura 4s ease-in-out infinite}.portal-device-ceremony .device-piano-icon{position:relative;z-index:1;display:flex;height:50px;transform:perspective(160px) rotateX(18deg);filter:drop-shadow(0 8px 12px rgba(0,0,0,.25))}.portal-device-ceremony .device-piano-icon i{flex:1 1;border:1px solid rgba(255,255,255,.78);border-radius:3px 3px 9px 9px;background:rgba(255,255,255,.16)}.portal-device-ceremony.is-live{border-color:color-mix(in srgb,var(--lesson-glow) 58%,white);box-shadow:0 0 22px color-mix(in srgb,var(--lesson-glow) 65%,transparent),0 18px 60px rgba(0,0,0,.3)}.portal-device-ceremony.is-live .device-aura{opacity:.7;animation-duration:1.8s}.portal-device-ceremony.is-live .device-piano-icon{filter:drop-shadow(0 0 13px var(--lesson-glow))}.portal-device-ceremony.is-live .device-piano-icon i{background:color-mix(in srgb,var(--lesson-glow) 48%,white 12%);animation:connectedKeys 1.4s ease-in-out infinite alternate}.portal-device-ceremony.is-live .device-piano-icon i:nth-child(2n){animation-delay:.18s}@keyframes deviceAura{50%{transform:scale(1.14);opacity:.42}}@keyframes connectedKeys{to{box-shadow:inset 0 0 18px rgba(255,255,255,.72),0 0 12px var(--lesson-glow)}}.wind-ending-history{border:1px solid rgba(255,244,219,.25);color:rgba(255,244,219,.82);background:rgba(255,255,255,.035)}.development-history-card{width:min(780px,94vw);max-height:min(82vh,760px);padding:clamp(18px,3vw,34px);overflow:auto;border:1px solid rgba(255,235,202,.28);border-radius:5px 28px 5px 28px;color:#fff3db;background:linear-gradient(145deg,rgba(28,58,59,.95),rgba(29,43,52,.96));box-shadow:0 30px 100px rgba(0,0,0,.48)}.development-history-card header{position:sticky;top:-1px;z-index:2;display:flex;justify-content:space-between;gap:20px;padding-bottom:10px;background:linear-gradient(#1c3a3b 78%,transparent)}.development-history-card header small{color:#e8b790;font:700 9px/1 Optima,sans-serif;letter-spacing:.22em}.development-history-card h2{margin:5px 0 0;font:500 clamp(24px,4vw,42px)/1.1 Songti SC,STSong,serif}.development-history-card header button{align-self:start;width:38px;height:38px;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;background:rgba(255,255,255,.06);font-size:24px}.development-history-card>p{margin:4px 0 20px;color:rgba(255,244,225,.58);font-size:12px}.development-history-card ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 22px}.development-history-card li{display:grid;grid-template-columns:42px 1fr;gap:10px;align-items:baseline;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.09)}.development-history-card li b{color:#efb98e;font:500 14px/1 Didot,Georgia,serif}.development-history-card li span{color:rgba(255,247,231,.83);font:400 11px/1.55 Songti SC,STSong,serif}.portal-device-panel.is-live{border-color:rgba(112,255,209,.8);background:rgba(24,92,77,.58);box-shadow:0 0 24px rgba(75,255,195,.28),inset 0 0 18px rgba(75,255,195,.1)}.portal-device-panel.is-live .device-piano-icon{filter:drop-shadow(0 0 9px #66ffd0)}.portal-device-panel.is-live .device-piano-icon i{background:rgba(132,255,218,.32)}@media (max-width:760px){.portal-device-ceremony{top:max(10px,var(--safe-top));right:max(10px,var(--safe-right));left:max(10px,var(--safe-left));width:auto;min-height:70px;grid-template-columns:64px 1fr;padding:9px 12px}.portal-device-ceremony .device-piano-icon{height:36px}.development-history-card ol{grid-template-columns:1fr}}.audio-mixer-card{padding:10px;display:grid;gap:9px;border:1px solid rgba(72,118,113,.16);border-radius:5px 13px 5px 13px;color:#567570;background:rgba(255,255,255,.58)}.audio-mixer-heading,.audio-track-control>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.audio-mixer-heading span,.audio-track-control b{font-size:10px;font-style:normal;font-weight:800}.audio-mixer-heading small{color:#8aa09c;font-size:7px}.audio-track-control{display:grid;gap:6px}.audio-track-control em{color:#77908c;font-family:Optima,Avenir Next,sans-serif;font-size:8px;font-style:normal;font-weight:750}.audio-track-control input{width:100%;height:14px;margin:0;appearance:none;cursor:pointer;background:transparent}.audio-track-control input::-webkit-slider-runnable-track{height:4px;border-radius:4px;background:linear-gradient(90deg,#568b85 0 var(--track-level),rgba(78,120,115,.13) var(--track-level) 100%)}.audio-track-control input::-webkit-slider-thumb{width:14px;height:14px;margin-top:-5px;appearance:none;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:#568b85;box-shadow:0 2px 8px rgba(35,77,73,.24)}.audio-track-control input::-moz-range-track{height:4px;border-radius:4px;background:rgba(78,120,115,.13)}.audio-track-control input::-moz-range-progress{height:4px;border-radius:4px;background:#568b85}.audio-track-control input::-moz-range-thumb{width:11px;height:11px;border:2px solid rgba(255,255,255,.92);border-radius:50%;background:#568b85;box-shadow:0 2px 8px rgba(35,77,73,.24)}.portal-connect.is-live{border-color:rgba(142,232,187,.58);color:#f4fff7;background:linear-gradient(120deg,rgba(47,125,102,.72),rgba(70,151,124,.6))}.portal-connect.is-live>i{background:#9dffc6;box-shadow:0 0 12px rgba(125,255,180,.8)}@media (max-width:760px){.wind-portal .portal-level-picker{right:max(10px,var(--safe-right));bottom:max(10px,var(--safe-bottom));left:max(10px,var(--safe-left));width:auto}.immersive-shell .settings-drawer{width:min(100vw,390px);padding:max(14px,var(--safe-top)) max(12px,var(--safe-right)) max(24px,var(--safe-bottom)) max(12px,var(--safe-left))}}.cinema-stage.is-outcome-video .film-corner-button,.cinema-stage.is-outcome-video .film-mini-controls,.cinema-stage.is-outcome-video .film-overlay,.cinema-stage.is-outcome-video .melody-keyboard-shell,.cinema-stage.is-outcome-video .pure-visibility-controls{opacity:0;visibility:hidden;pointer-events:none}.cinema-stage.is-outcome-video .lesson-film{filter:none;transform:none;transition:opacity .26s ease}.wind-ending{position:absolute;z-index:60;inset:0;padding:max(clamp(18px,4vw,54px),var(--safe-top)) max(clamp(18px,4vw,54px),var(--safe-right)) max(clamp(18px,4vw,54px),var(--safe-bottom)) max(clamp(18px,4vw,54px),var(--safe-left));display:grid;grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;gap:0;overflow:hidden;color:#fff7e8;background:radial-gradient(circle at 50% 44%,rgba(120,181,171,.13),transparent 34%),linear-gradient(180deg,rgba(8,29,31,.18),rgba(6,23,25,.48));-webkit-backdrop-filter:blur(11px) saturate(.78);backdrop-filter:blur(11px) saturate(.78)}.wind-ending:after,.wind-ending:before{content:"";position:absolute;z-index:-1;pointer-events:none;display:none}.wind-ending-card{position:relative;width:min(520px,100%);max-height:100%;padding:clamp(20px,3.2vw,36px);overflow-y:auto;border:1px solid rgba(255,248,229,.36);border-radius:3px 26px 3px 26px;background:linear-gradient(145deg,rgba(27,56,56,.82),rgba(27,47,49,.62));box-shadow:10px 12px 0 rgba(13,42,42,.22),0 28px 70px rgba(6,26,28,.34),inset 0 0 0 1px rgba(255,255,255,.04);-webkit-backdrop-filter:blur(18px) saturate(.82);backdrop-filter:blur(18px) saturate(.82)}.wind-ending-card:after{content:"";position:absolute;top:22px;right:22px;width:22px;aspect-ratio:1;transform:rotate(45deg) skew(-8deg,-8deg);border:1px solid rgba(255,217,187,.3);pointer-events:none}.wind-ending-card .wind-ending-copy{width:100%;max-width:none;justify-self:auto;text-shadow:0 3px 16px rgba(9,35,38,.38)}.wind-ending-card .wind-ending-copy>small{color:#ffc3a4;font-size:clamp(7px,.78vw,10px);letter-spacing:.26em}.wind-ending-card .wind-ending-copy h2{margin:clamp(8px,1.4vw,15px) 0 clamp(7px,1vw,12px);font-size:clamp(28px,3.4vw,48px)}.wind-ending-card .wind-ending-copy>p{max-width:440px;font-size:clamp(10px,1vw,14px)}.wind-ending-card .wind-ending-stats{max-width:none;margin:clamp(13px,1.7vw,22px) 0}.wind-ending-card .wind-ending-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.wind-ending-card .wind-ending-actions button{width:100%;min-width:0}@media (max-width:560px){.wind-ending-card{padding:20px 18px;border-radius:3px 20px 3px 20px}.wind-ending-card .wind-ending-copy h2{padding-right:26px;font-size:clamp(25px,8vw,36px)}.wind-ending-card .wind-ending-actions{gap:7px}.wind-ending-card .wind-ending-actions button{min-height:42px;padding-inline:12px}}@media (orientation:landscape) and (max-height:520px){.wind-ending-card{width:min(620px,86vw);padding:14px 18px}.wind-ending-card .wind-ending-copy h2{margin-block:5px;font-size:clamp(24px,5.4vh,34px)}.wind-ending-card .wind-ending-copy>p{line-height:1.42}.wind-ending-card .wind-ending-stats{margin-block:8px}.wind-ending-card .wind-ending-stats span{padding-block:6px}.wind-ending-card .wind-ending-actions button{min-height:36px}}.immersive-shell .film-corner-button,.immersive-shell .film-mini-controls button{opacity:.3}.video-segment-rail{height:var(--film-rail-height);height:clamp(38px,3.8vw,50px);position:relative;z-index:36;width:100%;padding:0 clamp(10px,1.6vw,24px);display:flex;align-items:stretch;gap:clamp(10px,1.4vw,20px);color:rgba(255,247,229,.76);background:linear-gradient(180deg,#101a1b,#071011);border-bottom:1px solid rgba(255,255,255,.09)}.video-segment-rail-label{flex:0 0 auto;display:grid;place-items:center;font-family:Optima,Avenir Next,sans-serif;font-size:7px;font-weight:720;letter-spacing:.24em;opacity:.58}.video-segment-list{min-width:0;flex:1 1;display:flex;align-items:stretch;gap:3px}.video-segment-list button{position:relative;min-width:min(220px,100%);flex:1 1;padding:5px 10px 8px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;overflow:hidden;border:0;color:rgba(255,247,229,.63);background:transparent;font-family:Optima,Avenir Next,sans-serif;cursor:pointer;touch-action:none}.video-segment-list button:after{content:"";position:absolute;right:0;bottom:0;left:0;height:1px;background:rgba(255,255,255,.14)}.video-segment-list button>i{position:absolute;z-index:1;right:0;bottom:0;left:0;height:3px;overflow:hidden;background:rgba(255,255,255,.08)}.video-segment-list button>i b{width:var(--segment-progress);height:100%;display:block;background:linear-gradient(90deg,#f6a270,#ffebc9 48%,#66cfc7);box-shadow:0 0 10px rgba(255,193,148,.78);transition:width 80ms linear}.video-segment-list button>span{min-width:0;overflow:hidden;font-size:clamp(9px,.8vw,12px);font-weight:680;letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap}.video-segment-list button>span em{margin-right:8px;color:#f3a171;font-family:Bodoni\ 72,Didot,serif;font-style:normal}.video-segment-list button>small{font-size:7px;letter-spacing:.08em;opacity:.64}.video-segment-list button.is-active{color:#fff8e8;background:linear-gradient(90deg,rgba(244,158,107,.08),rgba(78,157,150,.07))}.melody-keyboard-shell{position:absolute;z-index:12;right:4%;bottom:2.2%;left:4%;height:clamp(150px,33%,230px);padding:clamp(7px,.8vw,11px) clamp(8px,1vw,14px) clamp(8px,.9vw,12px);overflow:hidden;border:1px solid rgba(255,253,242,.76);border-radius:24px 13px 28px 17px;background:radial-gradient(circle at 14% 0,rgba(255,224,190,.2),transparent 30%),radial-gradient(circle at 86% 100%,rgba(121,218,207,.15),transparent 31%),linear-gradient(150deg,rgba(255,253,244,.2),rgba(243,251,247,.08));box-shadow:inset 0 1px 0 rgba(255,255,255,.68),inset 0 -20px 42px rgba(112,181,173,.08),0 13px 38px rgba(3,24,25,.22);-webkit-backdrop-filter:blur(5px) saturate(.9);backdrop-filter:blur(5px) saturate(.9);pointer-events:auto}.melody-keyboard-shell:after,.melody-keyboard-shell:before{content:"";position:absolute;z-index:0;pointer-events:none}.melody-keyboard-shell:before{top:8px;right:9%;width:19%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,248,226,.78),transparent);box-shadow:-52vw calc(clamp(150px, 33%, 230px) - 18px) 0 rgba(255,248,226,.24)}.melody-keyboard-shell:after{right:15px;bottom:10px;width:8px;height:8px;transform:rotate(45deg);border:1px solid rgba(255,246,219,.7);border-radius:2px 6px 2px 6px;box-shadow:0 0 15px rgba(255,228,190,.4)}.melody-keyboard-heading>span{min-width:0;display:flex;align-items:center;gap:6px;overflow:hidden;font-size:clamp(6px,.58vw,8px);font-weight:650;letter-spacing:.1em;text-overflow:ellipsis;white-space:nowrap;opacity:.72}.melody-keyboard-heading>span>i,.settings-connect>i{width:7px;height:7px;flex:0 0 auto;border:1px solid rgba(255,252,237,.66);border-radius:50%;background:rgba(255,255,255,.08)}.melody-keyboard-heading>span>i.online,.settings-connect.is-live>i{border-color:#d9ffe9;background:#78e4ac;box-shadow:0 0 0 3px rgba(120,228,172,.13),0 0 11px rgba(120,228,172,.78)}.melody-keyboard-heading>strong{color:#fff9e9;font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:clamp(11px,1.2vw,17px);font-weight:620;letter-spacing:.08em;text-shadow:0 2px 9px rgba(2,21,22,.5)}.melody-keyboard-stage{position:relative;z-index:2;height:calc(100% - clamp(20px, 2.15vw, 28px));display:grid;grid-template-rows:minmax(0,1fr) clamp(52px,7vw,68px);overflow:hidden;border:1px solid rgba(255,253,241,.62);border-radius:16px 8px 20px 11px;background:rgba(255,252,242,.07);box-shadow:inset 0 0 26px rgba(255,255,255,.06)}.melody-keyboard-shell .melody-waterfall{min-width:0;width:100%;height:100%;margin:0;border:0;border-radius:0;background:linear-gradient(90deg,rgba(255,188,148,.055) 0 33.333%,rgba(105,208,198,.035) 33.333% 100%),linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.075))}.melody-keyboard-shell .melody-waterfall:before{background:linear-gradient(180deg,transparent,rgba(255,250,232,.4));box-shadow:0 0 14px rgba(111,211,201,.14)}.melody-keyboard-shell .melody-waterfall.level-1:after,.melody-keyboard-shell .melody-waterfall.level-2:after{background:rgba(11,37,38,.08);-webkit-backdrop-filter:saturate(.55);backdrop-filter:saturate(.55)}.melody-keyboard-shell .waterfall-zone-labels{inset:6px 9px auto;color:rgba(255,250,234,.55);font-size:clamp(5px,.48vw,7px);letter-spacing:.15em}.melody-keyboard-shell .waterfall-lanes i{border-right-color:rgba(255,255,255,.045)}.melody-keyboard-shell .waterfall-lanes i:nth-child(12n){border-right-color:rgba(255,255,255,.16)}.melody-keyboard-shell .waterfall-note b{font-size:clamp(13px,1.65vw,24px)}.melody-keyboard-shell .waterfall-strike-line{height:2px;background:linear-gradient(90deg,#ffc29c,#fff9df 33.333%,#8ee4dc);box-shadow:0 -2px 11px rgba(255,249,223,.46)}.melody-keyboard-shell .waterfall-strike-line span{display:none}.melody-keyboard-shell .white-keys{gap:clamp(1px,.18vw,3px)}.melody-keyboard-shell .white-keys button{padding:0 0 4px;border:solid rgba(255,255,249,.82);border-width:1px 1px 2px;border-radius:5px 5px 12px 12px;color:rgba(80,117,112,.62);background:linear-gradient(155deg,rgba(255,255,255,.76),rgba(238,247,241,.36));box-shadow:inset 0 -8px 13px rgba(96,152,145,.05),0 2px 5px rgba(8,39,39,.08)}.melody-keyboard-shell .white-keys button:nth-child(7){box-shadow:inset -3px 0 0 rgba(97,169,161,.22),inset 0 -8px 13px rgba(96,152,145,.05),0 2px 5px rgba(8,39,39,.08)}.melody-keyboard-shell .white-keys button span{font-family:Optima,Avenir Next,sans-serif;font-size:clamp(5px,.5vw,7px);font-weight:700;opacity:.55}.melody-keyboard-shell .black-keys button{border:solid rgba(245,255,249,.68);border-width:1px 1px 2px;border-radius:4px 4px 9px 9px;background:linear-gradient(150deg,rgba(73,111,107,.8),rgba(29,62,61,.64));box-shadow:0 3px 7px rgba(5,29,30,.18)}.melody-keyboard-shell .black-keys button.is-target,.melody-keyboard-shell .white-keys button.is-target{border-color:color-mix(in srgb,var(--chord-color) 62%,#fffdf0);background:linear-gradient(150deg,rgba(255,255,255,.48),transparent),color-mix(in srgb,var(--chord-color) 36%,rgba(239,249,242,.48));box-shadow:0 0 12px color-mix(in srgb,var(--chord-color) 54%,transparent)}.melody-keyboard-shell.feedback-correct .black-keys button.is-target,.melody-keyboard-shell.feedback-correct .white-keys button.is-target{border-color:#d8ffea;box-shadow:0 0 15px rgba(105,236,170,.8)}.melody-keyboard-shell.feedback-miss .black-keys button.is-target,.melody-keyboard-shell.feedback-miss .white-keys button.is-target,.melody-keyboard-shell.feedback-wrong .black-keys button.is-target,.melody-keyboard-shell.feedback-wrong .white-keys button.is-target{border-color:#ffc1c5;box-shadow:0 0 14px rgba(255,107,116,.72)}.cinema-stage.is-melody-mode .mv-lyric{bottom:calc(clamp(150px, 33%, 230px) + 3.4%)}.settings-quick-actions button{min-width:0;min-height:34px;padding:6px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-connect{display:flex;align-items:center;justify-content:center;gap:6px}.settings-connect.is-live{border-color:rgba(82,164,139,.55);color:#f5fff9;background:linear-gradient(135deg,#4c9281,#68ac95);box-shadow:0 5px 14px rgba(46,119,98,.2)}.device-pill.is-live{color:#087859;background:#f0fff9;color:#f2fff8;border-color:rgba(114,228,171,.66);background:linear-gradient(135deg,rgba(55,137,111,.92),rgba(85,174,142,.9));box-shadow:0 0 0 1px rgba(167,255,209,.12),0 7px 18px rgba(23,104,82,.28)}@media (max-width:760px){.melody-keyboard-shell{right:1.5%;bottom:1.3%;left:1.5%;height:clamp(126px,39%,168px);padding:6px;border-radius:15px 8px 18px 10px}.melody-keyboard-stage{grid-template-rows:minmax(0,1fr) 46px;border-radius:10px 5px 13px 7px}.melody-keyboard-heading>span{max-width:48%}.melody-keyboard-heading>strong{font-size:10px}.melody-keyboard-shell .waterfall-zone-labels{display:none}.melody-keyboard-shell .waterfall-note b{font-size:12px}.melody-keyboard-shell .white-keys{gap:1px}.melody-keyboard-shell .white-keys button{border-radius:3px 3px 7px 7px}.melody-keyboard-shell .black-keys button{border-radius:3px 3px 6px 6px}.cinema-stage.is-melody-mode .mv-lyric{bottom:calc(clamp(126px, 39%, 168px) + 2.4%)}.settings-quick-actions button{font-size:8px}}.overlay-keyboard-shell .virtual-piano{width:100%;min-width:0;height:100%;padding:0;filter:drop-shadow(0 3px 9px rgba(0,0,0,.22))}.overlay-keyboard-shell .white-keys{gap:0}.overlay-keyboard-shell .white-keys button{padding:0 0 7px;border:solid rgba(255,255,255,.58);border-width:1px 1px 2px;border-radius:0 0 4px 4px;color:rgba(255,255,255,.64);background:rgba(255,255,255,.025);box-shadow:inset 0 0 12px rgba(255,255,255,.025);-webkit-backdrop-filter:none;backdrop-filter:none}.overlay-keyboard-shell .white-keys button span{font-family:Optima,Avenir Next,sans-serif;font-size:clamp(6px,.75vw,10px);opacity:.72}.overlay-keyboard-shell .black-keys{inset:0 0 auto;height:62%}.overlay-keyboard-shell .black-keys button{border:solid rgba(255,255,255,.64);border-width:1px 1px 2px;border-radius:0 0 3px 3px;background:rgba(3,12,13,.14);box-shadow:inset 0 0 8px rgba(255,255,255,.05)}.overlay-keyboard-shell .white-keys button.is-target{border-color:var(--chord-color);color:#fff;background:color-mix(in srgb,var(--chord-color) 18%,transparent);box-shadow:inset 0 0 18px color-mix(in srgb,var(--chord-color) 24%,transparent),0 0 12px color-mix(in srgb,var(--chord-color) 52%,transparent)}.overlay-keyboard-shell .black-keys button.is-target{border-color:var(--chord-color);background:color-mix(in srgb,var(--chord-color) 30%,rgba(3,12,13,.22));box-shadow:0 0 13px color-mix(in srgb,var(--chord-color) 58%,transparent)}.overlay-keyboard-shell.feedback-correct .black-keys button.is-target,.overlay-keyboard-shell.feedback-correct .white-keys button.is-target{border-color:#b9ffda;box-shadow:0 0 18px rgba(74,238,157,.8)}.overlay-keyboard-shell.feedback-wrong .black-keys button.is-target,.overlay-keyboard-shell.feedback-wrong .white-keys button.is-target{border-color:#ff9ca4;box-shadow:0 0 18px rgba(255,89,100,.75)}@media (max-width:760px){.video-segment-rail{height:36px;padding:0 8px}.video-segment-rail-label{display:none}.video-segment-list button{padding-right:6px;padding-left:6px}.video-segment-list button>small{display:none}}.immersive-shell .piano-deck.is-melody-mode{padding-top:12px;overflow-x:auto;background:linear-gradient(145deg,rgba(255,255,255,.85),rgba(239,247,241,.78)),#fff8e9}.melody-waterfall{position:relative;min-width:720px;height:clamp(210px,28vw,360px);margin:2px 0 0;overflow:hidden;border:1px solid rgba(84,125,120,.2);border-bottom:0;border-radius:4px 14px 0 0;background:linear-gradient(90deg,rgba(255,161,107,.08) 0 33.333%,rgba(75,157,151,.06) 33.333% 100%),linear-gradient(180deg,rgba(245,241,225,.42),rgba(19,49,49,.12));isolation:isolate}.melody-waterfall:before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:33.333%;width:1px;background:linear-gradient(180deg,transparent,rgba(55,105,101,.5) 18% 100%);box-shadow:0 0 15px rgba(55,105,101,.2)}.melody-waterfall.level-1:after,.melody-waterfall.level-2:after{content:"";position:absolute;z-index:2;inset:0 66.667% 0 0;background:rgba(25,48,48,.13);-webkit-backdrop-filter:saturate(.45);backdrop-filter:saturate(.45);pointer-events:none}.waterfall-zone-labels{position:absolute;z-index:6;inset:10px 12px auto;display:grid;grid-template-columns:1fr 2fr;color:rgba(52,89,86,.62);font-family:Optima,Avenir Next,Futura,sans-serif;font-size:8px;font-weight:700;letter-spacing:.18em;pointer-events:none}.waterfall-zone-labels span:last-child{padding-left:16px}.melody-waterfall.level-1 .waterfall-zone-labels span:first-child,.melody-waterfall.level-2 .waterfall-zone-labels span:first-child{opacity:.34}.waterfall-lanes{position:absolute;z-index:0;inset:0;display:grid;grid-template-columns:repeat(36,1fr);pointer-events:none}.waterfall-lanes i{border-right:1px solid rgba(65,104,101,.045)}.waterfall-lanes i:nth-child(12n){border-right-color:rgba(65,104,101,.16)}.waterfall-note{position:absolute;z-index:4;min-height:28px;display:grid;place-items:center;transform:translateX(-50%);overflow:hidden;border:1px solid color-mix(in srgb,var(--note-color) 66%,white);border-radius:3px 10px 3px 10px;color:#fffaf0;background:linear-gradient(145deg,rgba(255,255,255,.3),transparent 42%),color-mix(in srgb,var(--note-color) 78%,#31514f);box-shadow:inset 0 1px 0 rgba(255,255,255,.46),3px 5px 0 color-mix(in srgb,var(--note-color) 20%,rgba(27,58,56,.42)),0 0 16px color-mix(in srgb,var(--note-color) 28%,transparent);transition:box-shadow .1s ease,filter .1s ease;will-change:bottom}.waterfall-note b{font-family:Songti SC,STSong,serif;font-size:clamp(19px,2.25vw,34px);font-weight:650;line-height:1;text-shadow:0 2px 5px rgba(0,0,0,.36)}.waterfall-note small{position:absolute;right:3px;bottom:2px;font-family:Optima,Avenir Next,sans-serif;font-size:8px;font-weight:800;opacity:.7}.waterfall-note.is-root{filter:saturate(.84) brightness(.94)}.waterfall-note.is-current{z-index:5;filter:saturate(1.18) brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.7),0 0 0 2px rgba(255,255,255,.34),0 0 24px var(--note-color)}.waterfall-note.is-hit{border-color:#c8ffe0;background:linear-gradient(145deg,#a9f7ca,#36b87d);box-shadow:0 0 24px rgba(56,223,145,.82)}.waterfall-strike-line{position:absolute;z-index:7;right:0;bottom:0;left:0;height:3px;background:linear-gradient(90deg,#ffb17e,#fff2cf 33.333%,#64d7cf);box-shadow:0 -2px 14px rgba(104,211,202,.58);pointer-events:none}.waterfall-strike-line span{position:absolute;right:9px;bottom:7px;color:rgba(48,86,83,.68);font-family:Optima,Avenir Next,sans-serif;font-size:7px;font-weight:800;letter-spacing:.2em}.piano-deck.is-melody-mode .virtual-piano{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.piano-deck.is-melody-mode .white-keys button:nth-child(7){box-shadow:inset -4px 0 0 rgba(71,121,116,.26),inset -2px -5px 0 rgba(57,84,81,.06),2px 3px 0 rgba(63,90,87,.11)}@media (max-width:760px){.melody-waterfall{height:210px}.waterfall-note b{font-size:20px}.waterfall-zone-labels{font-size:7px}}.immersive-shell .chord-queue{isolation:isolate}.immersive-shell .chord-queue>span.is-idle{filter:saturate(.76) brightness(.86)}.immersive-shell .chord-queue>span.is-next-target{opacity:.78;transform:scale(.98) translateY(-2px);filter:saturate(.94) brightness(.98)}.immersive-shell .chord-queue>span.is-ready{opacity:.82;transform:scale(1)}.immersive-shell .chord-queue>span.is-current{opacity:1;transform:scale(1.09) translateY(-3px);filter:saturate(1.12) brightness(1.08);box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 0 0 2px color-mix(in srgb,var(--chord-color) 68%,white),0 16px 28px color-mix(in srgb,var(--chord-color) 48%,transparent)}.immersive-shell .chord-queue strong{justify-self:center;font-family:Bodoni\ 72,Didot,Georgia,serif;font-weight:650;letter-spacing:-.045em;line-height:1}.immersive-shell .chord-queue .chord-cursor{width:18px;height:18px}.immersive-shell .chord-queue .chord-cursor>b{width:12px;height:12px;background:#fff4d7;box-shadow:0 0 0 5px rgba(255,244,215,.22),0 0 20px #ffd6a8}.immersive-shell .chord-next-marker{position:absolute;z-index:6;bottom:2px;left:calc((var(--cursor-index) * 25%) + 12.5%);width:10px;height:10px;transform:translateX(-50%);border:2px solid rgba(255,249,229,.72);border-radius:50%;background:rgba(13,36,37,.35);box-shadow:0 0 0 3px rgba(255,255,255,.08);transition:left .26s cubic-bezier(.22,.86,.34,1)}.immersive-shell .mv-lyric{bottom:6.1%}.immersive-shell .lyric-cell{min-width:0;height:clamp(40px,5.2vw,72px);margin:0;display:grid;grid-template-rows:minmax(13px,.7fr) 1fr;color:inherit}.immersive-shell .lyric-cell>b.is-past{color:rgba(255,231,209,.9)}.immersive-shell .lyric-cell>b.is-current{color:#fff9e9;transform:translateY(-2px) scale(1.06);text-shadow:0 0 14px #ffc4aa,0 3px 8px rgba(0,0,0,.75)}.immersive-shell .lyric-chord{grid-row:1;align-self:start;margin:0;color:var(--lyric-chord-color,#fff0d0);font-family:Avenir Next,Avenir,sans-serif;font-size:clamp(9px,1.1vw,15px);font-style:normal;font-weight:850;letter-spacing:-.02em;text-shadow:0 1px 5px rgba(0,0,0,.85),0 0 12px color-mix(in srgb,var(--lyric-chord-color) 55%,transparent)}.settings-language-switch button.active{color:#fff;background:#568b85;box-shadow:0 3px 9px rgba(35,77,73,.2)}.device-light-orbit.is-live i{background:linear-gradient(#ffb784,#50d8ce);box-shadow:0 0 12px rgba(80,216,206,.55)}@media (max-width:760px){.immersive-shell .chord-queue{bottom:5%;height:17%;padding-bottom:13px}.immersive-shell .chord-queue strong{font-size:clamp(16px,4.4vw,25px)}.immersive-shell .chord-queue .chord-cursor{width:13px;height:13px}.immersive-shell .chord-queue .chord-cursor>b{width:9px;height:9px}.immersive-shell .chord-next-marker{bottom:1px;width:8px;height:8px}.immersive-shell .mv-lyric{bottom:5%;height:17.5%}.immersive-shell .lyric-characters{padding-bottom:9px;font-size:clamp(11px,3.4vw,18px)}.immersive-shell .lyric-cell{height:clamp(27px,8vw,43px);grid-template-rows:minmax(9px,.65fr) 1fr}.immersive-shell .lyric-chord{font-size:clamp(6px,2.1vw,10px)}.immersive-shell .lyric-cursor{bottom:-1px}}.wind-portal-art,.wind-portal-vignette{position:absolute;inset:0;width:100%;height:100%}.wind-portal-art{object-fit:cover;object-position:center}.wind-portal-vignette{pointer-events:none;background:linear-gradient(90deg,transparent 0 55%,rgba(10,29,31,.12) 70%,rgba(6,23,25,.5)),linear-gradient(0deg,rgba(7,25,26,.58),transparent 45%)}.portal-category-tabs button,.portal-enter,.portal-level-grid button{border:1px solid rgba(255,248,230,.2);color:rgba(255,249,235,.72);background:rgba(255,255,255,.06);cursor:pointer}.portal-category-tabs button.active{color:#294846;background:linear-gradient(120deg,#ffd2b6,#a8ddd1)}.portal-level-grid button{min-height:50px;padding:8px 9px;display:grid;grid-template-columns:27px 1fr;align-items:center;gap:8px;border-radius:2px 12px 2px 12px;text-align:left}.portal-level-grid button i{color:#ffc3a4;font-family:Bodoni\ 72,Didot,serif;font-size:16px;font-style:normal}.portal-level-grid button span{overflow:hidden;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.portal-level-grid button.is-selected{border-color:rgba(255,211,182,.75);color:#fff9e9;background:linear-gradient(120deg,rgba(239,142,99,.5),rgba(74,158,151,.5));box-shadow:inset 0 0 0 1px rgba(255,255,255,.11)}.portal-enter span{font-size:21px}.immersive-shell .lesson-titlebar,.immersive-shell>.legal-footer,.immersive-shell>.topbar{display:none!important}.immersive-shell .workspace{width:100%;max-width:none;margin:0;padding:0;display:block}.immersive-shell .cinema-stage{width:100vw;max-width:none;margin:0;overflow:hidden;border:0;border-radius:0;background:#020505;box-shadow:none}.immersive-shell .lesson-film{width:100%;height:100%;object-fit:contain;background:#020505}.immersive-shell .film-overlay{background:none!important}.immersive-shell .film-overlay:after,.immersive-shell .film-overlay:before{display:none}.immersive-shell .chord-queue{top:auto;right:auto;bottom:4.2%;left:2.2%;width:29%;height:13.5%;padding:0 0 16px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,.65vw,9px);align-items:end;transform:none}.immersive-shell .chord-queue>span{grid-template-columns:1fr;grid-template-rows:1fr;place-items:center;opacity:.56;transform:scale(.94);transition:transform .19s cubic-bezier(.2,.86,.35,1),opacity .19s ease,filter .19s ease,box-shadow .19s ease;grid-template-columns:1fr auto;grid-template-rows:1fr auto;width:100%;height:auto;aspect-ratio:1;padding:clamp(3px,.45vw,7px);display:grid;align-content:center;border-radius:3px}.immersive-shell .chord-queue small{display:none}.immersive-shell .chord-queue strong{align-self:center;font-size:clamp(15px,2.2vw,31px)}.immersive-shell .chord-queue b{align-self:end;font-size:clamp(8px,1.1vw,15px)}.immersive-shell .chord-queue b em{width:clamp(12px,1.3vw,18px);height:clamp(12px,1.3vw,18px);margin-top:2px;font-size:7px}.immersive-shell .chord-queue .chord-cursor{bottom:0;width:14px;height:14px}.immersive-shell .chord-queue .chord-cursor>b{width:9px;height:9px}.immersive-shell .mv-lyric{top:auto;right:3.2%;bottom:4%;left:auto;width:62%;max-width:none;height:13.5%;justify-items:stretch;transform:none}.immersive-shell .mv-lyric>span{display:none}.immersive-shell .lyric-characters{padding:0 5px 16px;font-size:clamp(17px,2.25vw,31px);white-space:nowrap}.immersive-shell .beat-meter{display:none}.film-corner-button,.film-mini-controls button{position:absolute;z-index:24;border:1px solid rgba(255,255,255,.28);color:#fff8e8;background:rgba(13,36,37,.54);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:opacity .18s ease,transform .18s ease,background .18s ease}.film-corner-button{right:18px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;opacity:.05;font-size:18px}.film-corner-button span{position:absolute;right:48px;width:max-content;opacity:0;font-size:10px;pointer-events:none;transition:opacity .18s ease}.film-corner-button.is-active,.film-corner-button:focus-visible,.film-corner-button:hover{opacity:1;transform:scale(1.04)}.film-corner-button.is-active span,.film-corner-button:focus-visible span,.film-corner-button:hover span{opacity:1}.settings-toggle{top:18px}.immersive-shell .piano-deck{width:min(1120px,calc(100vw - 24px));margin:16px auto 42px;animation:keyboardReveal .22s ease-out both}@keyframes keyboardReveal{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.immersive-shell .settings-drawer{position:fixed;z-index:90;top:0;right:0;bottom:0;width:min(370px,94vw);max-height:none;padding:18px 15px 28px;display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:12px;overflow-y:auto;transform:translateX(calc(100% + 24px));transition:transform .26s cubic-bezier(.22,.86,.34,1);box-shadow:-24px 0 60px rgba(2,14,16,.3);pointer-events:none}.immersive-shell .settings-drawer.is-open{transform:translateX(0);pointer-events:auto}.settings-drawer-head{display:flex;align-items:center;justify-content:space-between}.settings-drawer-head>div{display:grid}.settings-drawer-head small{color:#b3755d;font-size:7px;font-weight:800;letter-spacing:.25em}.settings-drawer-head strong{color:#345f5b;font-family:Songti SC,serif;font-size:23px;font-weight:500}.settings-drawer-head button{width:34px;height:34px;border:0;border-radius:50%;color:#416c67;background:rgba(70,119,113,.1);font-size:22px;cursor:pointer}.settings-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.settings-quick-actions button{min-height:36px;border:1px solid rgba(72,118,113,.16);border-radius:3px 11px 3px 11px;color:#496d69;background:rgba(255,255,255,.62);font-size:10px;font-weight:750;cursor:pointer}@media (max-width:760px){.wind-portal-art{object-position:58% center}.portal-level-grid button{min-height:43px}.portal-level-grid button span{font-size:9px}.immersive-shell .cinema-stage{width:100vw;min-height:56.25vw}.immersive-shell .chord-queue{bottom:3.5%;left:1.8%;width:34%;height:16%;gap:3px;padding-bottom:11px}.immersive-shell .chord-queue strong{font-size:clamp(10px,3vw,17px)}.immersive-shell .chord-queue b{display:none}.immersive-shell .mv-lyric{right:2.5%;bottom:3.1%;width:60%;height:16%}.immersive-shell .lyric-characters{padding-bottom:11px;font-size:clamp(11px,3.35vw,17px)}.film-corner-button{right:9px;width:34px;height:34px;font-size:14px}.settings-toggle{top:9px}}@media (prefers-reduced-motion:reduce){.film-corner-button,.immersive-shell .piano-deck,.immersive-shell .settings-drawer{animation:none;transition:none}}.cinema-stage{position:relative;width:100%;min-height:520px;border-radius:22px;background:#000;box-shadow:0 24px 70px rgba(0,0,0,.38)}.lesson-film{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;background:#000}.film-keyboard-layer .virtual-piano{height:126px;padding-inline:0}.film-keyboard-layer .white-keys{gap:2px}.film-keyboard-layer .white-keys button{border-radius:0 0 6px 6px}.film-keyboard-layer .white-keys button span{font-size:7px}.film-keyboard-layer .black-keys button small,.film-keyboard-layer .white-keys button small{display:none}.film-keyboard-layer .black-keys{inset-inline:0}.cinema-stage.feedback-correct .white-keys button.is-target{border-color:#4cffaa;background:linear-gradient(180deg,#fff 45%,#86ffc5);box-shadow:0 0 20px rgba(76,255,170,.7)}.cinema-stage.feedback-correct .black-keys button.is-target{border-color:#4cffaa;background:linear-gradient(100deg,#0c4a35,#20bd78 50%,#0c4a35);box-shadow:0 0 20px rgba(76,255,170,.7)}@media (max-width:1020px){.cinema-stage{min-height:480px}}@media (max-width:760px){.cinema-stage{min-height:420px;aspect-ratio:4/5;border-radius:16px}.lesson-film{object-position:center top}.film-keyboard-layer .virtual-piano{height:94px}}.app-shell:after,.app-shell:before{content:"";position:fixed;z-index:-1;pointer-events:none;transform:rotate(30deg) skewY(-12deg);border:1px solid rgba(78,103,105,.14);background:rgba(255,250,240,.28);box-shadow:42px 42px 0 rgba(116,160,158,.12),84px 84px 0 rgba(255,190,164,.1)}.app-shell:before{top:120px;left:-90px;width:240px;height:460px}.app-shell:after{right:-110px;bottom:40px;width:300px;height:520px;transform:rotate(-24deg) skewY(12deg)}.topbar{grid-template-columns:1fr auto;border-bottom-color:rgba(71,105,105,.14);background:rgba(247,242,230,.76)}.coach-panel,.course-progress,.game-vitals,.icon-button,.language-toggle,.lesson-rail{display:none}.game-column{background:#050506;background:transparent;width:min(1180px,100%);min-height:calc(100vh - 74px);margin:0 auto;padding:22px 28px 40px}.lesson-titlebar{min-height:88px;align-items:center}.game-column .lesson-titlebar>div:first-child>span{color:#5e8d89}.game-column .lesson-titlebar h1{color:#fff;color:#274b4a;font-family:Georgia,Songti SC,serif;font-size:clamp(32px,4vw,54px);font-weight:500;letter-spacing:.12em}.game-column .lesson-titlebar p{color:rgba(255,255,255,.58);color:#67817f}.cinema-stage{min-height:620px;border:10px solid rgba(255,250,240,.74);border-radius:38px 38px 14px 14px;box-shadow:0 34px 90px rgba(53,89,87,.28)}.cinema-stage:not(.feedback-correct):not(.feedback-wrong):not(.feedback-miss) .white-keys button.is-target{border-color:#ffe0a8;background:linear-gradient(180deg,#fff 42%,#ffe8b8);box-shadow:0 0 22px rgba(255,218,145,.76)}.cinema-stage:not(.feedback-correct):not(.feedback-wrong):not(.feedback-miss) .black-keys button.is-target{border-color:#ffe0a8;background:linear-gradient(100deg,#4f3e26,#c99d53 50%,#4f3e26);box-shadow:0 0 20px rgba(255,218,145,.7)}@media (max-width:760px){.game-column{padding:12px 8px 24px}.lesson-titlebar{min-height:76px;padding-inline:8px}.cinema-stage{min-height:540px;border-width:5px;border-radius:24px 24px 10px 10px}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.cinema-stage{min-height:0;aspect-ratio:16/9;border:8px solid rgba(255,250,240,.78);border-radius:32px;box-shadow:0 30px 80px rgba(53,89,87,.25)}.film-overlay{position:absolute;z-index:3;inset:0;pointer-events:none}.chord-queue{position:relative;position:absolute;top:clamp(12px,2vw,24px);left:50%;width:min(660px,calc(100% - 28px));display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(6px,1vw,12px);transform:translateX(-50%)}.chord-queue>span{position:relative;min-width:0;height:clamp(50px,7vw,72px);padding:8px 10px;display:grid;grid-template-columns:1fr auto;grid-template-rows:auto 1fr;align-items:center;border:1px solid color-mix(in srgb,var(--chord-color) 62%,white);border-radius:14px;color:#fff;background:color-mix(in srgb,var(--chord-color) 22%,rgba(15,27,29,.5));box-shadow:inset 0 3px 0 var(--chord-color),0 8px 22px rgba(0,0,0,.16);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);opacity:.68;transition:transform .18s ease,opacity .18s ease}.chord-queue>span.is-past{opacity:.34}.chord-queue small{font-size:clamp(7px,.8vw,9px);font-weight:800;letter-spacing:.08em}.chord-queue strong{align-self:end;font-family:Georgia,serif;font-size:clamp(18px,2.8vw,34px);line-height:1}.mv-lyric{top:68%;width:min(92%,880px);font-family:Songti SC,Georgia,serif;font-size:clamp(20px,3vw,36px);font-weight:600;letter-spacing:.1em;line-height:1.45;text-shadow:0 2px 4px rgba(0,0,0,.9),0 6px 20px rgba(0,0,0,.72)}.film-overlay .wind-start,.mv-lyric{position:absolute;left:50%;margin:0;transform:translate(-50%,-50%)}.film-overlay .wind-start{top:64%;pointer-events:auto}.piano-deck .virtual-piano{min-width:720px;height:150px}.piano-deck .white-keys button.is-target{border-color:var(--chord-color);background:linear-gradient(180deg,#fff 43%,color-mix(in srgb,var(--chord-color) 42%,white));box-shadow:inset 0 -18px 28px color-mix(in srgb,var(--chord-color) 30%,transparent),0 0 15px color-mix(in srgb,var(--chord-color) 56%,transparent)}.piano-deck .black-keys button.is-target{border-color:var(--chord-color);background:linear-gradient(100deg,#111526,var(--chord-color) 50%,#111526);box-shadow:0 0 16px color-mix(in srgb,var(--chord-color) 64%,transparent)}.piano-deck.feedback-correct .white-keys button.is-target{border-color:#38df91;background:linear-gradient(180deg,#fff 43%,#8ff1bb);box-shadow:0 0 20px rgba(56,223,145,.7)}.piano-deck.feedback-correct .black-keys button.is-target{border-color:#38df91;background:linear-gradient(100deg,#0b3428,#38df91 50%,#0b3428)}.piano-deck.feedback-miss .white-keys button.is-target,.piano-deck.feedback-wrong .white-keys button.is-target{border-color:#ff5964;background:linear-gradient(180deg,#fff 43%,#ffabb0);box-shadow:0 0 20px rgba(255,70,82,.68)}.piano-deck.feedback-miss .black-keys button.is-target,.piano-deck.feedback-wrong .black-keys button.is-target{border-color:#ff5964;background:linear-gradient(100deg,#481018,#e23846 50%,#481018)}@media (max-width:760px){.cinema-stage{min-height:0;aspect-ratio:16/9;border-width:4px;border-radius:20px}.chord-queue{width:calc(100% - 16px);gap:4px}.chord-queue>span{height:46px;padding:6px;border-radius:9px}.chord-queue small{display:none}.chord-queue strong{grid-row:1/3;align-self:center;font-size:17px}.mv-lyric{top:72%;font-size:16px}.film-overlay .wind-start{top:70%;padding:9px 16px;font-size:11px}}.app-shell{min-height:100vh;background:radial-gradient(circle at 52% 8%,rgba(118,85,255,.06),transparent 25rem),var(--paper);background:radial-gradient(circle at 16% 16%,rgba(255,221,204,.94),transparent 24rem),radial-gradient(circle at 82% 24%,rgba(182,220,214,.82),transparent 28rem),linear-gradient(145deg,#f5e7da,#dce9e1 48%,#a9c9c6);position:relative;isolation:isolate;overflow:hidden;background:linear-gradient(30deg,rgba(255,255,255,.15) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.15) 87.5%) 0 0 /86px 150px,linear-gradient(150deg,rgba(78,128,123,.08) 12%,transparent 12.5%,transparent 87%,rgba(78,128,123,.08) 87.5%) 0 0 /86px 150px,radial-gradient(circle at 14% 14%,#f5cbb9 0,transparent 23rem),radial-gradient(circle at 84% 20%,#b7d8d2 0,transparent 29rem),linear-gradient(145deg,#f4e6d7,#dce9df 48%,#9bc3c0)}.wind-title-lockup{position:relative;padding-left:46px}.wind-title-lockup:before{content:"";position:absolute;top:11px;left:3px;width:23px;height:23px;transform:rotate(30deg) skewY(-18deg);border:1px solid rgba(44,89,86,.4);background:linear-gradient(135deg,#f5b69f 0 50%,#7eb6af 50%);box-shadow:11px 10px 0 rgba(67,111,108,.18),22px 20px 0 rgba(255,248,231,.26)}.wind-title-lockup:after{content:"";position:absolute;left:14px;bottom:2px;width:1px;height:31px;background:linear-gradient(#477f7b,transparent)}.game-column .wind-title-lockup>span{color:#4d817d;font-family:Avenir Next,Avenir,sans-serif;font-size:9px;font-weight:700;letter-spacing:.32em}.game-column .wind-title-lockup h1{margin:1px 0 -1px;color:#315d59;font-family:Songti SC,STSong,Bodoni\ 72,Didot,serif;font-size:clamp(34px,4.5vw,58px);font-weight:500;letter-spacing:.2em;text-shadow:1px 2px 0 rgba(255,255,255,.7),7px 8px 0 rgba(83,128,123,.07)}.game-column .wind-title-lockup p{display:flex;align-items:center;gap:10px;color:#5f7e7a;font-family:Songti SC,STSong,serif}.wind-title-lockup p b{color:#b66f59;font-family:Bodoni\ 72,Didot,Georgia,serif;font-size:10px;font-weight:600;letter-spacing:.26em;white-space:nowrap}.wind-title-lockup p i{width:28px;height:1px;background:#d09b82}.cinema-stage{overflow:hidden;border:7px solid rgba(255,247,229,.9);border-radius:6px 34px 6px 34px;outline:1px solid rgba(60,104,100,.2);box-shadow:12px 13px 0 rgba(116,160,155,.22),24px 26px 0 rgba(255,205,181,.14),0 34px 90px rgba(53,89,87,.28)}.film-overlay:after,.film-overlay:before{content:"";position:absolute;pointer-events:none;opacity:.54}.film-overlay:before{top:18%;left:-12px;width:64px;height:180px;transform:skewY(-30deg);border:1px solid rgba(255,225,196,.42);border-left:0;box-shadow:18px 30px 0 rgba(115,195,185,.1),36px 60px 0 rgba(255,168,139,.08)}.film-overlay:after{right:1.4%;bottom:15%;width:42px;height:42px;transform:rotate(30deg) skewY(-18deg);border:1px solid rgba(255,255,255,.4);background:linear-gradient(135deg,rgba(255,180,150,.25) 0 50%,rgba(89,186,177,.2) 50%);box-shadow:15px 14px 0 rgba(255,255,255,.08)}.chord-queue{top:clamp(16px,2.4vw,32px);width:min(700px,calc(100% - 42px));gap:clamp(8px,1.35vw,16px);align-items:start;padding-bottom:25px}.chord-queue:after{content:"";position:absolute;right:4%;bottom:7px;left:4%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,243,222,.58) 10% 90%,transparent);box-shadow:0 1px 0 rgba(24,61,58,.32)}.chord-queue>span{overflow:visible;height:clamp(58px,7.8vw,82px);padding:11px 13px 9px;border:0;border-radius:3px;background:color-mix(in srgb,var(--chord-color) 38%,rgba(28,45,45,.64));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),0 12px 25px rgba(8,22,22,.2);-webkit-backdrop-filter:blur(8px) saturate(.9);backdrop-filter:blur(8px) saturate(.9);opacity:.76;transform:none;animation:templeTileIn .28s ease-out both}.chord-queue>span:nth-child(n){transform:none}.chord-queue>span:after,.chord-queue>span:before{content:"";position:absolute;background:color-mix(in srgb,var(--chord-color) 58%,#3d5c59)}.chord-queue>span:before{right:-8px;bottom:-8px;left:8px;height:8px;clip-path:polygon(0 0,100% 0,calc(100% - 8px) 100%,0 100%);filter:brightness(.76)}.chord-queue>span:after{top:8px;right:-8px;bottom:-8px;width:8px;clip-path:polygon(0 0,100% 100%,0 100%);filter:brightness(.62)}.chord-queue>span.is-current{transform:translateY(5px) scale(1.08);box-shadow:inset 0 4px 0 var(--chord-color),0 10px 28px color-mix(in srgb,var(--chord-color) 34%,transparent);transform:none;opacity:1;box-shadow:inset 0 1px 0 rgba(255,255,255,.75),0 18px 35px color-mix(in srgb,var(--chord-color) 38%,transparent);z-index:4;background:color-mix(in srgb,var(--chord-color) 56%,rgba(29,45,44,.5))}.chord-queue>span.is-ready{opacity:.95}.chord-queue small{color:rgba(255,255,255,.72);font-family:Avenir Next,Avenir,sans-serif;font-size:clamp(7px,.85vw,9px);font-weight:700;letter-spacing:.28em}.chord-queue strong{color:#fff9ed;font-family:Bodoni\ 72,Didot,Georgia,serif;font-size:clamp(25px,3.8vw,43px);font-weight:500;letter-spacing:-.04em;text-shadow:2px 3px 0 rgba(0,0,0,.12)}.chord-queue b{grid-column:2;grid-row:1/3;width:clamp(22px,3vw,34px);height:clamp(22px,3vw,34px);display:grid;place-items:center;border-radius:50%;color:#243333;background:var(--chord-color);font-size:clamp(10px,1.3vw,15px);width:auto;height:auto;display:flex;border-radius:0;color:#fff8e9;background:transparent;font-size:clamp(13px,1.8vw,20px);flex-direction:column;align-items:flex-end;font-family:Bodoni\ 72,Didot,Georgia,serif;font-weight:500;line-height:1}.chord-queue b em{width:20px;height:20px;margin-top:5px;display:grid;place-items:center;transform:rotate(45deg);color:#263f3d;background:var(--chord-color);font-family:Avenir Next,Avenir,sans-serif;font-size:9px;font-style:normal;font-weight:800;box-shadow:3px 3px 0 rgba(0,0,0,.12)}.chord-queue .chord-cursor{position:absolute;z-index:6;bottom:0;left:calc((var(--cursor-index) * 25%) + 12.5%);width:18px;height:18px;display:grid;place-items:center;transform:translateX(-50%);transition:left .26s cubic-bezier(.22,.86,.34,1)}.chord-queue .chord-cursor:before{content:"";position:absolute;width:24px;height:10px;border-radius:50%;background:rgba(10,36,34,.28);filter:blur(4px)}.chord-queue .chord-cursor>b{position:relative;z-index:1;grid-column:auto;grid-row:auto;width:12px;height:12px;display:block;border:2px solid rgba(255,251,235,.9);border-radius:50%;background:#ffc2a6;box-shadow:0 0 0 4px rgba(255,194,166,.2),0 0 18px #ffc2a6}.mv-lyric{top:69%;display:grid;justify-items:center;color:#fff;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.85),0 8px 24px rgba(0,0,0,.62)}.mv-lyric>span{margin-bottom:7px;color:#f7c8ae;font-family:Avenir Next,Avenir,sans-serif;font-size:clamp(7px,.9vw,10px);font-weight:700;letter-spacing:.42em}.lyric-characters{position:relative;min-width:min(80vw,540px);padding:0 6px 20px;display:grid;grid-template-columns:repeat(var(--lyric-character-count),minmax(0,1fr));align-items:center;font-family:STKaiti,KaiTi,Songti SC,serif;font-size:clamp(22px,3.5vw,40px);font-weight:500;line-height:1.35}.lyric-characters:after{content:"";position:absolute;right:1%;bottom:7px;left:1%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,249,229,.52) 8% 92%,transparent)}.lyric-characters>b{position:relative;z-index:1;color:rgba(255,255,255,.82);font-weight:500;transition:color .14s ease,text-shadow .14s ease,transform .14s ease}.lyric-characters>b.is-past{color:rgba(255,231,209,.88)}.lyric-characters>b.is-current{color:#fff9e9;transform:translateY(-2px);text-shadow:0 0 13px #ffc4aa,0 3px 8px rgba(0,0,0,.75)}.piano-deck .white-keys button{border-radius:2px 2px 7px 7px;box-shadow:inset -2px -5px 0 rgba(57,84,81,.06),2px 3px 0 rgba(63,90,87,.11)}.piano-deck .black-keys button{border-radius:1px 1px 4px 4px;background:linear-gradient(105deg,#203432,#47615e 48%,#182b29)}@keyframes templeTileIn{0%{opacity:0;translate:0 -10px}to{translate:0 0}}@media (max-width:760px){.wind-title-lockup{padding-left:34px}.wind-title-lockup:before{width:17px;height:17px}.game-column .wind-title-lockup>span{font-size:7px;letter-spacing:.2em}.game-column .wind-title-lockup h1{font-size:33px}.wind-title-lockup p b,.wind-title-lockup p i{display:none}.cinema-stage{border-radius:4px 18px 4px 18px;box-shadow:6px 7px 0 rgba(116,160,155,.22),0 22px 48px rgba(53,89,87,.25)}.chord-queue{top:8px;width:calc(100% - 14px);padding-bottom:18px}.chord-queue>span{height:44px;padding:5px 7px}.chord-queue>span:nth-child(n){transform:translateY(0)}.chord-queue>span.is-current{transform:none}.chord-queue strong{font-size:18px}.chord-queue b{font-size:10px}.chord-queue b em{width:14px;height:14px;margin-top:2px;font-size:7px}.mv-lyric{top:72%}.mv-lyric>span{margin-bottom:3px;font-size:6px}.lyric-characters{min-width:92vw;padding-bottom:16px;font-size:16px}}@media (prefers-reduced-motion:reduce){.beat-meter i,.chord-queue>span{animation:none!important}}.workspace{display:block;display:grid;grid-template-columns:minmax(560px,1fr) 340px}.coach-panel{display:grid;grid-auto-rows:max-content;position:sticky;top:74px;max-height:calc(100vh - 74px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(75,126,121,.25) transparent;background:linear-gradient(150deg,rgba(255,255,255,.76),rgba(239,230,209,.72)),#f4ecdc}.level-selector-card{position:relative;overflow:hidden;padding:18px 16px 15px;border:1px solid rgba(75,126,121,.2);border-radius:4px 22px 4px 22px;background:linear-gradient(150deg,transparent 0 41%,rgba(102,158,151,.08) 41.5% 62%,transparent 62.5%) 0 0 /82px 54px,#fff9eb;box-shadow:7px 8px 0 rgba(93,143,137,.15),14px 16px 0 rgba(238,170,139,.08)}.level-selector-card:after{content:"";position:absolute;top:23px;right:17px;width:20px;height:20px;transform:rotate(45deg) skew(-8deg,-8deg);border:1px solid rgba(66,111,107,.22);pointer-events:none}.level-selector-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.level-selector-heading>div{display:grid}.level-selector-heading small{color:#ae735e;font-family:Avenir Next,Avenir,sans-serif;font-size:7px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.level-selector-heading strong{margin-top:4px;color:#345f5b;font-family:Songti SC,STSong,serif;font-size:21px;font-weight:500;letter-spacing:.08em}.level-selector-heading>span{margin-right:29px;color:#d17f62;font-family:Bodoni\ 72,Didot,Georgia,serif;font-size:23px;line-height:1}.level-selector-heading>span i{color:#8da9a5;font-size:10px;font-style:normal}.level-category-tabs{margin:15px 0 12px;padding:3px;display:grid;grid-template-columns:1fr 1fr;gap:4px;border:1px solid rgba(76,122,117,.15);border-radius:3px 13px 3px 13px;background:rgba(105,151,145,.08)}.level-category-tabs button{height:34px;border:0;border-radius:2px 10px 2px 10px;color:#75918e;background:transparent;font-size:11px;font-weight:800;letter-spacing:.08em;cursor:pointer}.level-category-tabs button i{margin-right:6px;font-family:Georgia,serif;font-style:normal}.level-category-tabs button.active{color:#fffaf0;background:linear-gradient(135deg,#e79373,#6eaaa3);box-shadow:4px 4px 0 rgba(69,116,111,.14)}.level-choice-list{display:grid;gap:7px}.level-choice-list>button{position:relative;min-height:63px;width:100%;padding:9px 8px 9px 9px;display:grid;grid-template-columns:35px minmax(0,1fr) 13px;align-items:center;gap:9px;border:1px solid rgba(73,116,111,.14);border-radius:3px 14px 3px 14px;color:#567470;background:rgba(255,255,255,.5);text-align:left;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.level-choice-list>button:hover{transform:translateX(-2px);background:rgba(255,255,255,.82)}.level-choice-list>button.is-selected{color:#315d59;border-color:rgba(220,129,96,.32);background:linear-gradient(110deg,rgba(251,212,192,.62),rgba(207,231,222,.72));box-shadow:5px 5px 0 rgba(72,120,115,.12)}.level-choice-list>button>span{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(75,122,117,.28);color:#a96751;background:#fff9eb;font-family:Bodoni\ 72,Didot,Georgia,serif;font-size:15px;font-weight:700;clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);box-shadow:3px 3px 0 rgba(80,127,122,.1)}.level-choice-list>button>div{min-width:0;display:grid}.level-choice-list strong{color:inherit;font-family:Songti SC,STSong,serif;font-size:13px;font-weight:700}.level-choice-list small,.level-choice-list strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.level-choice-list small{margin-top:4px;color:#819692;font-size:8px;line-height:1.35}.level-choice-list>button>i{color:#d98768;font-size:10px;font-style:normal}.level-timing-note{margin:12px 2px 0;display:flex;align-items:center;gap:7px;color:#6e8b87;font-size:8px;font-weight:750;letter-spacing:.08em}.level-timing-note i{width:7px;height:7px;border-radius:50%;background:#4bc7a0;box-shadow:0 0 0 4px rgba(75,199,160,.13),0 0 12px rgba(75,199,160,.48)}@media (max-width:1020px){.workspace{grid-template-columns:minmax(0,1fr)}.coach-panel{position:static;max-height:none;grid-column:auto;grid-template-columns:repeat(2,minmax(0,1fr))}.level-selector-card{grid-column:1/-1}}@media (max-width:760px){.workspace{display:block}.coach-panel{display:grid;grid-template-columns:1fr;padding:18px 12px 26px}.level-selector-card{grid-column:auto}.level-choice-list>button{min-height:58px}}.immersive-shell .chord-queue{bottom:5.8%;height:15%;padding-bottom:19px}.immersive-shell .chord-queue strong{font-size:clamp(27px,3.15vw,46px)}.immersive-shell .mv-lyric{bottom:8.2%;height:15.5%}.immersive-shell .lyric-characters{padding:0 5px 12px;font-size:clamp(18px,2.35vw,33px);font-weight:650;line-height:1.08;letter-spacing:.045em}@media (max-width:760px){.immersive-shell .chord-queue{bottom:5%;height:17%;padding-bottom:13px}.immersive-shell .chord-queue strong{font-size:clamp(16px,4.4vw,25px)}.immersive-shell .mv-lyric{bottom:7%;height:17.5%}.immersive-shell .lyric-characters{padding-bottom:9px;font-size:clamp(11px,3.4vw,18px)}}.immersive-shell .chord-queue{bottom:5.4%;left:2.1%;width:22.5%;height:auto;min-height:0;padding:0;display:block}.immersive-shell .chord-queue:after{right:4%;bottom:7px;left:4%;height:2px;border-radius:2px;background:linear-gradient(90deg,rgba(255,255,255,.16),rgba(255,249,229,.82),rgba(255,255,255,.16));box-shadow:0 0 12px rgba(255,242,211,.34);right:2%;bottom:8px;left:2%;display:none}.immersive-shell .chord-guide-rows{display:grid;gap:clamp(5px,.5vw,8px)}.immersive-shell .chord-guide-row{position:relative;min-width:0;padding-bottom:clamp(12px,1.1vw,17px);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(4px,.48vw,7px)}.immersive-shell .chord-guide-row:not(.is-active-row){display:none}.immersive-shell .chord-guide-row>span.is-empty{visibility:hidden;box-shadow:none}.immersive-shell .chord-guide-row>span.is-next-target{opacity:.86;filter:saturate(1.06) brightness(1.05)}.immersive-shell .chord-guide-row strong,.immersive-shell .chord-queue strong{align-self:auto;color:#fff9ed;font-family:Bodoni\ 72,Didot,Georgia,serif;font-size:clamp(20px,2.45vw,35px);font-weight:650;line-height:1}.immersive-shell .chord-guide-row .chord-cursor,.immersive-shell .chord-guide-row .chord-next-marker{bottom:0}.immersive-shell .mv-lyric{right:2.5%;bottom:5.4%;width:70%;height:auto;display:grid;align-content:end;gap:clamp(1px,.28vw,4px)}.immersive-shell .lyric-line{width:100%;min-width:0;transition:opacity .18s ease,transform .22s ease}.immersive-shell .lyric-characters{width:100%;min-width:0;padding:0 5px clamp(12px,1.1vw,16px);align-items:end;font-family:Songti SC,"Noto Serif CJK SC",STSong,serif;font-size:clamp(25px,3.05vw,44px);font-weight:680;line-height:1;letter-spacing:.035em}.immersive-shell .lyric-cell{height:clamp(42px,4.65vw,67px);grid-template-rows:clamp(15px,1.45vw,21px) 1fr;place-items:end center;font-size:inherit}.immersive-shell .lyric-cell>b{position:relative;z-index:1;grid-row:2;color:rgba(255,255,255,.8);font-weight:650;transition:color .14s ease,text-shadow .14s ease,transform .14s ease;font-size:clamp(25px,3.05vw,44px)}.immersive-shell .lyric-chord{margin-bottom:1px;font-size:clamp(12px,1.35vw,19px)}.immersive-shell .lyric-style-focus,.immersive-shell .lyric-style-karaoke{bottom:2.8%;gap:clamp(1px,.16vw,3px)}.immersive-shell .lyric-style-karaoke .lyric-line.is-preview{opacity:.68;transform:scale(.92);transform-origin:center}.immersive-shell .lyric-style-focus .lyric-line-next{opacity:.58;transform:scale(.78);transform-origin:center top}.immersive-shell .lyric-style-focus .lyric-line-next .lyric-cursor,.immersive-shell .lyric-style-karaoke .lyric-line.is-preview .lyric-cursor{display:none}.lyric-style-options button.is-focus>i b:first-child{height:4px;background:#5d8d87}.lyric-style-options button.is-focus>i b:last-child{width:70%;opacity:.6}.lyric-style-options button.active{border-color:rgba(78,139,131,.42);color:#fff;background:#568b85;box-shadow:0 4px 12px rgba(35,77,73,.18)}.lyric-style-options button.active>i{background:rgba(255,255,255,.14)}.lyric-style-options button.active>i b{background:#fff2df}@media (max-width:760px){.immersive-shell .chord-queue{bottom:4.5%;width:29%}.immersive-shell .chord-guide-row{padding-bottom:10px;gap:3px}.immersive-shell .chord-guide-row strong,.immersive-shell .chord-queue strong{font-size:clamp(14px,4vw,23px)}.immersive-shell .mv-lyric{right:1.8%;bottom:4.5%;width:66%}.immersive-shell .lyric-characters{padding-bottom:9px;font-size:clamp(15px,4.6vw,26px)}.immersive-shell .lyric-cell{height:clamp(29px,8.2vw,46px);grid-template-rows:clamp(10px,2.7vw,15px) 1fr}.immersive-shell .lyric-cell>b{font-size:clamp(15px,4.6vw,26px)}.immersive-shell .lyric-chord{font-size:clamp(7px,2.25vw,12px)}.immersive-shell .lyric-style-focus,.immersive-shell .lyric-style-karaoke{bottom:1.2%}}.immersive-shell .chord-guide-row{padding-bottom:clamp(8px,.72vw,11px)}.immersive-shell .chord-guide-row:after{content:"";position:absolute;right:2%;bottom:5px;left:2%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,243,222,.52) 9% 91%,transparent);display:none}.immersive-shell .chord-guide-row>span{position:relative;width:100%;aspect-ratio:1;display:grid;place-items:center;border-radius:3px;color:#fff9ed;background:color-mix(in srgb,var(--chord-color) 34%,rgba(18,38,38,.72));box-shadow:inset 0 1px 0 rgba(255,255,255,.48),4px 5px 0 color-mix(in srgb,var(--chord-color) 22%,rgba(4,18,18,.64));opacity:.68;transition:transform .18s ease,opacity .18s ease,box-shadow .18s ease,filter .18s ease;border-radius:2px 8px 2px 8px;background:linear-gradient(145deg,rgba(255,255,255,.13),transparent 45%),color-mix(in srgb,var(--chord-color) 20%,rgba(13,31,32,.82));box-shadow:inset 0 1px 0 rgba(255,255,255,.36),3px 4px 0 color-mix(in srgb,var(--chord-color) 18%,rgba(2,15,16,.68));opacity:.7;overflow:visible;border:1px solid color-mix(in srgb,var(--chord-color) 52%,rgba(255,248,228,.42))}.immersive-shell .chord-guide-row>span:after{content:"";position:absolute;right:8%;bottom:clamp(-9px,-.64vw,-6px);left:8%;height:2px;border-radius:1px;background:color-mix(in srgb,var(--chord-color) 42%,rgba(255,255,255,.2));box-shadow:0 0 4px color-mix(in srgb,var(--chord-color) 22%,transparent);opacity:.42;transition:opacity .15s ease,transform .18s ease,box-shadow .18s ease}.immersive-shell .chord-guide-row>span.is-current:after,.immersive-shell .chord-guide-row>span.is-ready:after{height:3px;transform:scaleX(1.08);background:var(--chord-color);box-shadow:0 0 5px var(--chord-color),0 0 14px var(--chord-color);opacity:1}.immersive-shell .chord-guide-row>span.is-current,.immersive-shell .chord-guide-row>span.is-ready{z-index:2;opacity:1;transform:translateY(-2px) scale(1.065);background:color-mix(in srgb,var(--chord-color) 57%,rgba(18,38,38,.58));box-shadow:inset 0 1px 0 rgba(255,255,255,.72),4px 6px 0 color-mix(in srgb,var(--chord-color) 32%,rgba(4,18,18,.55)),0 0 22px color-mix(in srgb,var(--chord-color) 34%,transparent);transform:translateY(-1px) scale(1.045);background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 45%),color-mix(in srgb,var(--chord-color) 29%,rgba(13,31,32,.76));box-shadow:inset 0 1px 0 rgba(255,255,255,.55),3px 5px 0 color-mix(in srgb,var(--chord-color) 25%,rgba(2,15,16,.62)),0 0 18px color-mix(in srgb,var(--chord-color) 30%,transparent)}.immersive-shell .chord-guide-row strong,.immersive-shell .chord-queue strong,.immersive-shell .lyric-chord{font-family:Optima,Avenir Next,Futura,Century Gothic,sans-serif;font-style:normal;font-weight:620;letter-spacing:.035em}.immersive-shell .chord-guide-row strong,.immersive-shell .chord-queue strong{color:var(--chord-color);text-shadow:0 0 12px color-mix(in srgb,var(--chord-color) 48%,transparent),0 2px 4px rgba(0,0,0,.65)}.immersive-shell .chord-countdown{position:absolute;z-index:12;inset:-4px -7px 16px;justify-content:center;gap:clamp(12px,1.4vw,22px);border-radius:5px;background:rgba(5,20,21,.72);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);inset:-5px -7px 0;inset:auto 0 calc(100% + clamp(8px, .75vw, 12px));gap:clamp(8px,.72vw,12px);border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;height:clamp(13px,1.2vw,18px);padding-left:7%;pointer-events:none}.immersive-shell .chord-countdown i{width:clamp(12px,1.45vw,21px);height:clamp(12px,1.45vw,21px);border-radius:50%;background:transparent;transition:transform .15s ease,background .15s ease,box-shadow .15s ease;width:clamp(7px,.65vw,10px);height:clamp(7px,.65vw,10px);background:rgba(255,249,229,.08);border:1px solid rgba(255,246,224,.45)}.immersive-shell .chord-countdown i.is-on{transform:scale(1.18);border-color:#fff1d0;background:#ffb980;box-shadow:0 0 0 5px rgba(255,185,128,.16),0 0 20px #ffb980;transform:scale(1.12);box-shadow:0 0 0 3px rgba(255,185,128,.12),0 0 13px #ffb980}.immersive-shell .lyric-cell{height:clamp(45px,4.9vw,70px);grid-template-rows:clamp(20px,1.75vw,25px) 1fr}.immersive-shell .lyric-chord{align-self:end;min-width:clamp(23px,2.1vw,31px);height:clamp(18px,1.55vw,23px);margin:0 0 2px;padding:0 4px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--lyric-chord-color) 66%,rgba(255,255,255,.5));border-radius:1px 5px 1px 5px;color:var(--lyric-chord-color);background:linear-gradient(145deg,rgba(255,255,255,.13),transparent 48%),color-mix(in srgb,var(--lyric-chord-color) 17%,rgba(10,30,31,.8));box-shadow:2px 3px 0 color-mix(in srgb,var(--lyric-chord-color) 18%,rgba(2,15,16,.62));font-size:clamp(11px,1.02vw,15px);opacity:.74;transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}.immersive-shell .lyric-characters:after{bottom:4px;right:1.5%;left:1.5%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,249,229,.33) 8% 92%,transparent)}.immersive-shell .lyric-cursor{bottom:0;width:11px;height:11px;width:12px;height:12px}.immersive-shell .lyric-cursor:before{width:16px;height:6px;border-radius:2px}.immersive-shell .lyric-cursor em{width:8px;height:8px;border-radius:1px 3px 1px 3px;transform:rotate(45deg);background:#ffc2a6;box-shadow:0 0 0 2px rgba(255,194,166,.16),0 0 11px #ffc2a6}@media (max-width:760px){.immersive-shell .chord-guide-row{padding-bottom:7px}.immersive-shell .chord-guide-row>span:after{bottom:-6px}.immersive-shell .chord-countdown{bottom:calc(100% + 6px);height:10px}.immersive-shell .lyric-cell{height:clamp(32px,8.8vw,49px);grid-template-rows:clamp(13px,3.4vw,18px) 1fr}.immersive-shell .lyric-chord{min-width:clamp(15px,4.2vw,23px);height:clamp(12px,3.2vw,17px);padding:0 2px;font-size:clamp(7px,2.15vw,11px)}.immersive-shell .lyric-cursor{width:9px;height:9px}.immersive-shell .lyric-cursor em{width:6px;height:6px}}.immersive-shell .film-corner-button:not(.is-active),.immersive-shell .film-mini-controls button{opacity:.3}.immersive-shell .lyric-cell,.immersive-shell .lyric-cell>b,.immersive-shell .lyric-chord{justify-self:center;text-align:center}.immersive-shell .settings-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.immersive-shell .settings-quick-actions button{min-width:0;min-height:34px;padding:6px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.immersive-shell .lyric-chord.is-current{box-shadow:2px 3px 0 color-mix(in srgb,var(--lyric-chord-color) 24%,rgba(2,15,16,.58)),0 0 13px color-mix(in srgb,var(--lyric-chord-color) 58%,transparent);opacity:1;box-shadow:0 3px 0 color-mix(in srgb,var(--lyric-chord-color) 24%,rgba(2,15,16,.58)),0 0 13px color-mix(in srgb,var(--lyric-chord-color) 58%,transparent);transform:translateY(-1px) scale(1.07)}.immersive-shell .level-category-tabs,.portal-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.melody-keyboard-shell .waterfall-note small{right:2px;bottom:1px;font-size:6px;display:none}.cinema-stage.is-pure-mode .chord-queue,.cinema-stage.is-pure-mode .melody-keyboard-shell,.cinema-stage.is-pure-mode .virtual-piano{display:none!important}.cinema-stage.is-pure-mode .mv-lyric{right:5.1%;width:67.5%}.cinema-stage.is-pure-chords-hidden .mv-lyric .lyric-chord,.cinema-stage.is-pure-lyrics-hidden .mv-lyric .lyric-cell>b,.cinema-stage.is-pure-lyrics-hidden .mv-lyric .lyric-cursor{visibility:hidden}.pure-visibility-controls{position:absolute;z-index:18;right:1.35%;bottom:6.2%;display:grid;grid-template-columns:repeat(2,28px);gap:4px;pointer-events:auto}.pure-visibility-controls button{width:28px;height:28px;padding:0;display:grid;grid-template-columns:1fr 7px;place-items:center;border:1px solid rgba(255,248,231,.45);border-radius:7px 3px 9px 4px;color:#fff8e9;background:rgba(12,34,35,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.14);opacity:.28;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);cursor:pointer;transition:opacity .16s ease,transform .16s ease,background .16s ease}.pure-visibility-controls button:focus-visible,.pure-visibility-controls button:hover{opacity:.92;transform:translateY(-1px)}.pure-visibility-controls button.is-hidden{opacity:.5;background:rgba(116,78,66,.42)}.pure-visibility-controls button i{font-family:Songti SC,"Noto Serif CJK SC",serif;font-size:11px;font-style:normal}.pure-visibility-controls button span{font-family:Optima,Avenir Next,sans-serif;font-size:9px}@media (max-width:760px){.immersive-shell .level-category-tabs button,.portal-category-tabs button{font-size:8px;letter-spacing:0}.cinema-stage.is-pure-mode .mv-lyric{right:8.5%;width:65%}.pure-visibility-controls{right:1.4%;bottom:5%;grid-template-columns:repeat(2,23px);gap:2px}.pure-visibility-controls button{width:23px;height:23px;grid-template-columns:1fr 6px}}.cinema-stage.is-melody-mode .melody-keyboard-shell{height:40%}.cinema-stage.is-melody-mode .mv-lyric{bottom:43.4%}.melody-keyboard-shell .melody-keyboard-stage{grid-template-rows:minmax(0,1fr) clamp(52px,7vw,68px)}.melody-keyboard-shell .waterfall-note{min-height:17px;border-color:color-mix(in srgb,var(--note-color) 58%,rgba(255,252,238,.84));border-radius:8px 13px 7px 12px;background:linear-gradient(145deg,rgba(255,255,255,.34),transparent 45%),color-mix(in srgb,var(--note-color) 66%,rgba(105,150,146,.7));box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 5px 14px color-mix(in srgb,var(--note-color) 24%,transparent);min-height:10px;padding-inline:1px;overflow:hidden;min-height:20px;border-radius:6px 10px 6px 10px;transform:none}.melody-keyboard-shell .waterfall-note b{max-width:100%;overflow:hidden;font-size:clamp(10px,1.2vw,18px);line-height:1;text-overflow:clip;white-space:nowrap;font-size:clamp(10px,1.05vw,16px);max-height:calc(100% - 2px)}.melody-keyboard-shell .waterfall-note.is-white-note{color:#4d625f;border-color:color-mix(in srgb,var(--note-color) 30%,rgba(255,255,248,.96));background:linear-gradient(145deg,rgba(255,255,255,.72),rgba(242,245,232,.3)),color-mix(in srgb,var(--note-color) 22%,rgba(247,246,231,.92));text-shadow:none}.melody-keyboard-shell .waterfall-note.is-black-note{color:#fff9e9;border-color:color-mix(in srgb,var(--note-color) 38%,rgba(190,217,209,.74));background:linear-gradient(145deg,rgba(133,160,154,.34),rgba(20,47,46,.42)),color-mix(in srgb,var(--note-color) 24%,rgba(26,55,53,.94))}.melody-keyboard-shell .waterfall-note.is-bass-note{min-height:12px;border-radius:10px 5px 12px 5px;opacity:.88}.melody-keyboard-shell .virtual-piano-melody{width:100%;height:100%;overflow:hidden;border:0;border-radius:0 0 19px 10px;background:linear-gradient(180deg,rgba(255,255,255,.4),rgba(255,252,241,.22)),rgba(238,249,244,.13);filter:none;padding:4px 0 5px}.melody-keyboard-shell .white-keys{gap:0}.melody-keyboard-shell .black-keys{inset:4px 5px auto;height:58%;right:0;left:0}@media (max-width:760px){.cinema-stage.is-melody-mode .melody-keyboard-shell{height:40%}.cinema-stage.is-melody-mode .mv-lyric{bottom:42.4%}.melody-keyboard-shell .waterfall-note{min-height:17px}.melody-keyboard-shell .waterfall-note b{font-size:10px}}.immersive-shell .chord-queue.is-extended-chords .chord-guide-row>span{overflow:hidden}.immersive-shell .chord-queue.is-extended-chords .chord-guide-row strong{max-width:calc(100% - 2px);padding-inline:1px;overflow:hidden;font-size:clamp(5px,.82vw,12px);font-weight:700;letter-spacing:-.045em;line-height:1;text-overflow:clip;white-space:nowrap}.melody-keyboard-shell .waterfall-lanes{grid-template-columns:repeat(var(--waterfall-lane-count,36),minmax(0,1fr))}.melody-keyboard-shell .melody-waterfall.is-dual-module{background:linear-gradient(90deg,rgba(255,161,107,.075) 0 50%,rgba(75,157,151,.065) 50% 100%),linear-gradient(180deg,rgba(245,241,225,.42),rgba(19,49,49,.12))}.melody-keyboard-shell .melody-waterfall.is-dual-module:before{left:50%;background:linear-gradient(180deg,rgba(255,248,229,.2),rgba(255,248,229,.7));box-shadow:0 0 12px rgba(255,248,229,.25)}.melody-keyboard-shell .melody-waterfall.is-dual-module .waterfall-zone-labels{grid-template-columns:repeat(2,minmax(0,1fr))}.melody-keyboard-shell .melody-waterfall.is-dual-module .waterfall-zone-labels span:last-child{padding-left:12px}.keyboard-module-divider,.waterfall-module-divider{position:absolute;z-index:8;top:0;bottom:0;left:50%;width:2px;transform:translateX(-1px);background:linear-gradient(180deg,rgba(255,250,231,.72),rgba(74,118,114,.35));box-shadow:0 0 9px rgba(255,250,231,.28);pointer-events:none}.keyboard-module-divider{z-index:5;width:3px;border-radius:0 0 3px 3px;background:rgba(85,126,121,.48);box-shadow:-2px 0 0 rgba(255,255,248,.48),2px 0 0 rgba(19,49,49,.13)}.melody-keyboard-shell .virtual-piano-melody.is-dual-module .white-keys button:nth-child(21){border-right-color:rgba(74,118,114,.72);box-shadow:inset -3px 0 0 rgba(74,118,114,.2),inset 0 -8px 13px rgba(96,152,145,.05),0 2px 5px rgba(8,39,39,.08)}.melody-keyboard-shell .virtual-piano-melody.is-dual-module .white-keys button:nth-child(22){border-left-color:rgba(74,118,114,.72)}.melody-keyboard-shell .virtual-piano-melody.is-dual-module .white-keys button span{font-size:clamp(4px,.38vw,6px)}@media (max-width:760px){.immersive-shell .chord-queue.is-extended-chords .chord-guide-row strong{font-size:clamp(4.5px,1.45vw,7px)}.melody-keyboard-shell .melody-waterfall.is-dual-module .waterfall-zone-labels{font-size:5px;letter-spacing:.04em}.melody-keyboard-shell .virtual-piano-melody.is-dual-module .white-keys button span{display:none}}.cinema-stage.is-melody-mode .melody-keyboard-shell{height:80%}.cinema-stage.is-melody-mode .lyric-style-focus,.cinema-stage.is-melody-mode .lyric-style-karaoke,.cinema-stage.is-melody-mode .mv-lyric{top:2.5%;right:4%;bottom:auto;width:92%;height:15%;align-content:center}@media (max-width:760px){.cinema-stage.is-melody-mode .melody-keyboard-shell{height:80%}.cinema-stage.is-melody-mode .lyric-style-focus,.cinema-stage.is-melody-mode .lyric-style-karaoke,.cinema-stage.is-melody-mode .mv-lyric{top:2%;right:3%;bottom:auto;width:94%;height:16%}}.immersive-shell{padding:0;overflow-x:hidden;background:#060b0c;--film-rail-height:clamp(38px,3.8vw,50px);padding-right:var(--safe-right);padding-left:var(--safe-left)}.immersive-shell,.immersive-shell .game-column{width:100%;max-width:none;min-height:100dvh;min-height:100svh}.immersive-shell .game-column{padding:0;background:#020505}.immersive-shell .cinema-stage{width:min(100vw,calc((100dvh - var(--film-rail-height)) * 16 / 9));max-width:100%;margin-inline:auto;aspect-ratio:16/9}.wind-portal{position:relative;overflow:hidden;color:#fff7e8;background:#263d3b;min-height:100dvh;min-height:100svh}.wind-portal .portal-level-picker{max-height:calc(100dvh - max(36px, var(--safe-top)) - max(36px, var(--safe-bottom)));overflow-y:auto;overscroll-behavior:contain}@media (orientation:portrait) and (max-width:1024px){.immersive-shell{--film-rail-height:44px}.immersive-shell .cinema-stage{width:100vw;height:calc(100dvh - var(--film-rail-height));height:calc(100svh - var(--film-rail-height));aspect-ratio:auto}.immersive-shell .lesson-film{object-fit:cover;object-position:center}}@media (max-width:760px){.wind-portal .portal-level-picker{right:max(10px,var(--safe-right));bottom:max(10px,var(--safe-bottom));left:max(10px,var(--safe-left));width:auto}.immersive-shell .film-corner-button{right:max(9px,var(--safe-right))}.immersive-shell .film-mini-controls{left:max(9px,var(--safe-left))}.immersive-shell .settings-drawer{position:fixed;width:min(360px,94vw);padding:14px 12px 24px;width:min(100vw,390px);padding:max(14px,var(--safe-top)) max(12px,var(--safe-right)) max(24px,var(--safe-bottom)) max(12px,var(--safe-left))}}@media (orientation:landscape) and (max-height:600px){.wind-portal .portal-level-picker{top:max(8px,var(--safe-top));right:max(10px,var(--safe-right));bottom:max(8px,var(--safe-bottom));width:min(410px,47vw)}}.wind-portal .portal-level-picker .portal-device-ceremony{position:relative;inset:auto;right:auto;bottom:auto;left:auto;width:100%;min-height:82px;margin:0 0 13px;grid-template-columns:78px 1fr;border-radius:18px;overflow:visible}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.wind-portal .portal-level-picker .portal-device-ceremony{position:relative;inset:auto;width:100%;min-height:66px;grid-template-columns:56px 1fr;margin-bottom:10px}}.portal-level-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;grid-template-columns:repeat(3,minmax(0,1fr))}.portal-level-grid button span{min-width:0;display:grid;gap:2px}.portal-level-grid button span small{overflow:hidden;color:rgba(255,240,214,.54);font:650 6px/1.1 Optima,Songti SC,serif;letter-spacing:.14em;text-overflow:ellipsis;white-space:nowrap}.portal-level-grid button.is-boss-level{position:relative;grid-column:1/-1;min-height:58px;isolation:isolate;overflow:hidden;border-color:rgba(183,235,224,.43);color:#fff8e7;background:linear-gradient(114deg,rgba(16,40,42,.92),rgba(67,58,85,.88)),rgba(8,24,26,.9);box-shadow:inset 0 0 0 1px rgba(255,236,195,.08),0 0 18px rgba(111,211,194,.1)}.wind-portal .portal-level-picker{overflow-x:hidden}.portal-level-grid button.is-boss-level i{color:#a9f0df;text-shadow:0 0 10px rgba(112,232,207,.72)}.portal-level-grid button.is-boss-level span small{color:#f0c98a}.level-choice-list>button>div em{margin-bottom:2px;color:#91a6a1;font:750 6px/1 Optima,sans-serif;letter-spacing:.16em;text-transform:uppercase}.level-choice-list>button.is-boss-level>span{color:#e7fff8;border-color:rgba(187,248,231,.52);background:rgba(43,94,88,.82);box-shadow:0 0 12px rgba(116,227,206,.3)}.level-choice-list>button.is-boss-level>div em{color:#efc88a}.level-choice-list>button.is-boss-level small{color:rgba(230,244,238,.66)}.level-choice-list>button.is-boss-level.is-selected{border-color:rgba(192,246,231,.75);background:linear-gradient(122deg,rgba(47,109,100,.96),rgba(104,74,123,.94))}.wind-energy-meter.is-tier-50,.wind-energy-meter.is-tier-75{border-color:rgba(218,255,235,.48)}.wind-energy-meter.is-tier-75{box-shadow:4px 5px 0 rgba(11,38,37,.12),0 0 20px rgba(255,208,146,.16),inset 0 0 18px rgba(202,255,231,.12)}.cinema-stage.energy-low .lesson-film{filter:blur(1.8px) saturate(.8) brightness(.91);transform:scale(1.012)}.cinema-stage.energy-low .energy-video-haze{opacity:.18}.cinema-stage.energy-warming .lesson-film{filter:blur(.7px) saturate(.92) brightness(.96);transform:scale(1.006)}.cinema-stage.energy-warming .energy-video-haze{opacity:.09}.cinema-stage.energy-clear .lesson-film,.cinema-stage.energy-unscored .lesson-film{filter:none;transform:none}.cinema-stage.is-ending .lesson-film{filter:saturate(.72) brightness(.82) contrast(.92);transform:scale(1.02);transition:filter .9s ease,transform 1.8s ease;filter:blur(18px) saturate(.68) brightness(.52) contrast(.92);transform:scale(1.09);transition:filter .9s ease,transform 1.6s cubic-bezier(.2,.76,.22,1);filter:blur(15px) saturate(.72) brightness(.5);transform:scale(1.04)}.energy-flight-layer{position:absolute;z-index:23;inset:0;overflow:hidden;pointer-events:none}.energy-flight{--flight-x:31vw;position:absolute;left:19%;bottom:15%;width:10px;height:10px;animation:energyToMeter 1s cubic-bezier(.2,.8,.2,1) forwards}.energy-flight.from-melody{--flight-x:0px;left:50%;bottom:7%}@keyframes energyToMeter{0%{opacity:0;transform:translateZ(0) scale(.55)}12%{opacity:1}55%{transform:translate3d(22px,-24vh,0) scale(1.25)}to{opacity:0;transform:translate3d(var(--flight-x),-72vh,0) scale(.25)}}.melody-keyboard-shell .waterfall-note{contain:layout paint;transform:translateZ(0);will-change:bottom;transition:opacity .16s ease,filter .16s ease,box-shadow .16s ease}.cinema-stage.is-melody-mode .lyric-style-focus,.cinema-stage.is-melody-mode .lyric-style-karaoke,.cinema-stage.is-melody-mode .mv-lyric{top:8.2%;height:11.5%}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-level-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-level-grid button{min-height:39px;padding:5px 6px;grid-template-columns:20px 1fr;gap:4px}.portal-level-grid button i{font-size:12px}.portal-level-grid button span{font-size:8px}.portal-level-grid button span small{font-size:5px}.portal-level-grid button.is-boss-level{min-height:43px}.cinema-stage.is-melody-mode .lyric-style-focus,.cinema-stage.is-melody-mode .lyric-style-karaoke,.cinema-stage.is-melody-mode .mv-lyric{top:7.4%;height:12%}}.free-practice-stage,.free-practice-stage button,.free-practice-stage input{font-family:Optima,Songti SC,STSong,serif}.free-practice-top-actions{display:flex;align-items:center;gap:8px}.free-practice-top-actions .free-practice-lyrics-toggle,.free-practice-top-actions .free-practice-settings-toggle{min-width:42px}.free-practice-top-actions button>span{margin-left:5px}.free-practice-top-actions button.is-active{border-color:rgba(218,255,240,.76);background:rgba(82,128,117,.62);box-shadow:0 0 15px rgba(154,242,215,.25)}.free-practice-stage.mode-sing .free-practice-guide{grid-template-columns:minmax(230px,.72fr) minmax(420px,1.45fr);grid-template-areas:"title lyrics" "chords lyrics" "status lyrics" "piano piano";gap:10px 26px}.free-practice-lyric-line.is-active{opacity:1;transform:translateX(5px)}.free-practice-lyric-line.is-past{opacity:.3}.free-practice-lyric-line p b.is-current{color:#173d3b;text-shadow:0 0 9px rgba(255,255,255,.95)}.free-practice-lyrics-panel.lyric-style-single .free-practice-lyric-line:not(.is-active){display:none}.free-practice-lyrics-panel.lyric-style-focus .free-practice-lyric-line.is-upcoming{opacity:.4;transform:scale(.94);transform-origin:left center}.free-practice-lyrics-panel.lyric-style-focus .free-practice-lyric-line.is-active+.free-practice-lyric-line{opacity:.62;transform:scale(.97);transform-origin:left center}.free-practice-settings{position:absolute;z-index:6;top:max(62px,calc(var(--safe-top) + 54px));right:max(16px,var(--safe-right));width:min(390px,calc(100vw - 32px));max-height:calc(100dvh - 82px);padding:16px;overflow:auto;border:1px solid rgba(255,255,245,.65);border-radius:5px 27px 5px 27px;color:#315b57;background:linear-gradient(145deg,rgba(255,253,239,.94),rgba(222,240,231,.89));box-shadow:12px 16px 0 rgba(8,34,34,.16),0 0 32px rgba(139,219,197,.17);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.98);transform-origin:top right;transition:opacity .2s ease,transform .2s ease,visibility .2s}.free-practice-settings.is-open{opacity:1;visibility:visible;transform:none}.free-practice-settings>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.free-practice-settings>header div{display:grid}.free-practice-settings>header small{color:#a66c50;font:700 7px/1 Optima,serif;letter-spacing:.22em}.free-practice-settings>header strong{margin-top:4px;font:500 22px/1.2 Songti SC,serif}.free-practice-settings>header button{width:32px;height:32px;border:0;border-radius:50%;color:#466c67;background:rgba(67,111,104,.1);font-size:20px;cursor:pointer}.free-practice-settings>section,.musicxml-import-card,.waterfall-label-card{margin-top:10px;padding:12px;border:1px solid rgba(83,126,116,.16);border-radius:3px 16px 3px 16px;background:rgba(255,255,250,.48)}.free-practice-mode-card>span,.musicxml-import-card>div:first-child span,.waterfall-label-card>div:first-child span{display:block;color:#315f5a;font:650 11px/1.2 Songti SC,serif}.musicxml-import-card>div:first-child small,.waterfall-label-card>div:first-child small{display:block;margin-top:4px;color:rgba(49,84,80,.63);font:500 8px/1.35 Songti SC,serif}.free-practice-mode-card button,.musicxml-import-actions label,.waterfall-label-card button{min-height:34px;border:1px solid rgba(72,111,104,.22);border-radius:2px 11px 2px 11px;color:#476d68;background:rgba(255,255,250,.66);cursor:pointer}.free-practice-mode-card button.active,.waterfall-label-card button.active{color:#fffdf0;border-color:#5f9e92;background:#5f9389;box-shadow:2px 3px 0 rgba(44,84,78,.16)}.musicxml-import-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}.musicxml-import-actions label{display:grid;place-items:center;padding:6px;font:600 9px/1 Optima,Songti SC,serif}.musicxml-import-actions input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.musicxml-import-error{margin:8px 0 0;color:#a3463f;font-size:9px}.musicxml-import-result{display:grid;gap:3px;margin-top:9px;padding:9px;border-left:3px solid #74b4a7;background:rgba(231,248,239,.75)}.musicxml-import-result strong{font:650 11px/1.2 Songti SC,serif}.musicxml-import-result small,.musicxml-import-result span{color:rgba(45,81,76,.7);font:500 8px/1.3 Optima,Songti SC,serif}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.free-practice-topbar button{min-height:30px;padding-inline:9px;font-size:9px}.free-practice-top-actions{gap:5px}.free-practice-top-actions button>span{display:none}.free-practice-stage.mode-sing .free-practice-guide{grid-template-columns:minmax(150px,.7fr) minmax(280px,1.3fr);grid-template-areas:"title lyrics" "chords lyrics" "status lyrics" "piano piano";gap:5px 12px}.free-practice-settings{top:max(49px,calc(var(--safe-top) + 40px));max-height:calc(100dvh - 58px);padding:11px}}@media (orientation:portrait) and (max-width:1024px){.free-practice-stage.mode-sing .free-practice-guide{top:15%;grid-template-columns:1fr;grid-template-areas:"title" "lyrics" "chords" "status" "piano";align-content:end}}.portal-level-grid{grid-template-columns:1fr}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-level-grid{grid-template-columns:1fr}}.portal-level-grid button,.portal-level-grid button.is-boss-level{grid-column:auto;min-height:42px}.portal-level-grid button.is-boss-level{isolation:auto;border-color:rgba(188,169,226,.4);background:linear-gradient(116deg,rgba(54,48,79,.78),rgba(47,80,76,.72));box-shadow:inset 0 0 0 1px rgba(255,255,255,.06)}.portal-level-grid button.is-boss-level:after{content:"◆";position:absolute;z-index:-1;right:13px;color:rgba(149,229,214,.15);font-size:44px;filter:drop-shadow(0 0 9px rgba(111,214,198,.55));transform:rotate(45deg);display:none}.portal-level-grid button.is-boss-level.is-selected{background:linear-gradient(116deg,rgba(40,104,98,.92),rgba(91,64,113,.92));box-shadow:0 0 22px rgba(95,221,199,.22),inset 0 0 0 1px rgba(255,255,255,.13);border-color:rgba(218,196,255,.72);background:linear-gradient(116deg,rgba(81,64,112,.9),rgba(57,105,96,.86));box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.level-choice-list>button.is-boss-level{border-color:rgba(68,132,124,.38);color:#eefbf5;background:linear-gradient(122deg,rgba(38,83,79,.93),rgba(80,63,98,.9));box-shadow:5px 5px 0 rgba(41,71,69,.15),0 0 18px rgba(83,183,166,.1);margin-top:0;box-shadow:4px 4px 0 rgba(41,71,69,.1)}@keyframes kiteFloat{0%,to{margin-top:-1px;rotate:-2deg}50%{margin-top:2px;rotate:3deg}}.immersive-shell .lyric-characters{isolation:isolate}.immersive-shell .lyric-sweep-mask{bottom:.12em;width:clamp(32px,4.5vw,66px);height:clamp(22px,2.7vw,38px);opacity:.96;-webkit-mask-image:radial-gradient(ellipse at center,#000 0 16%,rgba(0,0,0,.7) 42%,transparent 76%);mask-image:radial-gradient(ellipse at center,#000 0 16%,rgba(0,0,0,.7) 42%,transparent 76%);bottom:0;width:clamp(54px,8.6vw,128px);height:clamp(28px,4vw,58px);-webkit-mask-image:radial-gradient(ellipse 72% 100% at 50% 100%,#000 0 38%,rgba(0,0,0,.72) 58%,transparent 100%);mask-image:radial-gradient(ellipse 72% 100% at 50% 100%,#000 0 38%,rgba(0,0,0,.72) 58%,transparent 100%);position:absolute;z-index:1;left:var(--lyric-ball-left,0);transform:translateX(-50%);transition:left 70ms linear;pointer-events:none}.immersive-shell .lyric-sweep-mask>em{clip-path:none;border-radius:50%;background:radial-gradient(ellipse at center,#fff 0 7%,rgba(255,250,229,.88) 18%,rgba(255,255,255,.22) 44%,transparent 74%);filter:blur(.35px) drop-shadow(0 0 8px rgba(255,250,229,.86));clip-path:polygon(49% 100%,0 12%,24% 2%,50% 28%,76% 2%,100% 12%,51% 100%);background:radial-gradient(ellipse at 50% 94%,rgba(255,255,255,.98) 0 5%,var(--lyric-sweep-color) 14%,transparent 64%),linear-gradient(90deg,transparent,color-mix(in srgb,var(--lyric-sweep-color) 72%,white) 50%,transparent);filter:blur(.5px) drop-shadow(0 0 9px var(--lyric-sweep-color));position:absolute;inset:0;mix-blend-mode:screen}.immersive-shell .lyric-sweep-mask>b{display:none;position:absolute;right:46%;bottom:0;left:46%;height:76%;border-radius:50%;background:#fff;box-shadow:0 0 7px #fff,0 0 20px var(--lyric-sweep-color)}.cinema-stage.is-transposed-c .chord-queue.is-extended-chords .chord-guide-row>span{min-width:0;overflow:hidden}.cinema-stage.is-transposed-c .chord-queue.is-extended-chords .chord-guide-row strong{max-width:94%;padding:0;font-size:clamp(4.5px,.67vw,10px);letter-spacing:-.075em;transform:scaleX(.92);transform-origin:center}.free-practice-stage{position:fixed;z-index:80;inset:0;min-height:100dvh;min-height:100svh;overflow:hidden;color:#fff8e7;background:#102626}.free-practice-film,.free-practice-vignette{position:absolute;inset:0;width:100%;height:100%}.free-practice-film{object-fit:cover}.free-practice-vignette{background:linear-gradient(180deg,rgba(8,31,31,.28),transparent 35%,rgba(7,27,28,.66)),linear-gradient(90deg,rgba(8,29,30,.68),transparent 48% 72%,rgba(9,30,31,.34));pointer-events:none}.free-practice-topbar{position:absolute;z-index:3;top:max(14px,var(--safe-top));right:max(16px,var(--safe-right));left:max(16px,var(--safe-left));display:flex;justify-content:space-between}.free-practice-topbar button{min-height:36px;padding:0 13px;border:1px solid rgba(255,248,225,.35);border-radius:2px 13px 2px 13px;color:#fff7df;background:rgba(18,48,47,.42);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer}.free-practice-topbar button i{display:inline-block;width:6px;height:6px;margin-right:7px;border-radius:50%;background:#b8b0a4}.free-practice-topbar button.is-live i{background:#a8ffd7;box-shadow:0 0 12px #7affc2;animation:kiteFloat 2s ease-in-out infinite}.free-practice-chords>span.is-current{opacity:1;transform:translateY(-3px) scale(1.035);box-shadow:3px 6px 0 rgba(7,24,24,.24),0 0 20px color-mix(in srgb,var(--step-color) 45%,transparent)}.free-practice-status>i b.is-hit{opacity:1;background:var(--practice-color);box-shadow:0 0 10px var(--practice-color)}.free-practice-piano .white-keys{gap:1px}.free-practice-piano .white-keys button{border-color:rgba(255,255,255,.56);border-bottom-width:2px;border-radius:3px 3px 11px 11px;color:rgba(42,78,75,.48);background:linear-gradient(180deg,rgba(255,255,249,.86),rgba(225,239,228,.72))}.free-practice-piano .white-keys button.is-target{border-color:var(--practice-color);box-shadow:inset 0 -28px 34px color-mix(in srgb,var(--practice-color) 35%,transparent),0 0 12px var(--practice-color)}.free-practice-piano .black-keys{inset:0 0 auto}.free-practice-piano .black-keys button{border-radius:3px 3px 8px 8px;background:linear-gradient(100deg,rgba(15,36,36,.92),rgba(50,77,73,.92),rgba(13,33,34,.94))}.free-practice-piano .black-keys button.is-target{border-color:var(--practice-color);background:color-mix(in srgb,var(--practice-color) 42%,#173b38);box-shadow:0 0 14px var(--practice-color)}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.immersive-shell .lyric-sweep-mask{width:clamp(42px,12vw,74px);height:clamp(22px,6vw,38px)}.cinema-stage.is-transposed-c .chord-queue.is-extended-chords .chord-guide-row strong{font-size:clamp(4px,1.25vw,6px)}}@media (prefers-reduced-motion:reduce){.immersive-shell .lyric-sweep-mask{transition:none}}.portal-pure-options>button.is-selected{border-color:rgba(255,211,182,.7);color:#fff9e9;background:linear-gradient(120deg,rgba(239,142,99,.34),rgba(74,158,151,.38));box-shadow:inset 0 0 0 1px rgba(255,255,255,.09),0 0 18px rgba(157,232,210,.12)}.portal-enter{width:100%;height:45px;margin-top:12px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;border:0;border-radius:2px 14px 2px 14px;color:#294846;background:linear-gradient(110deg,#ffd4b7,#bfe3d9);font-family:Songti SC,STSong,serif;font-size:15px;font-weight:700;letter-spacing:.14em;box-shadow:5px 6px 0 rgba(8,34,35,.24);border:1px solid rgba(255,250,226,.82);box-shadow:5px 6px 0 rgba(8,34,35,.24),0 0 18px rgba(183,247,220,.34),inset 0 0 13px rgba(255,255,255,.28);position:relative;isolation:isolate;overflow:visible}.portal-enter:before{content:"";position:absolute;z-index:-1;inset:-4px;border:1px solid rgba(177,247,221,.28);border-radius:4px 17px 4px 17px;animation:portalEnterBreath 2.4s ease-in-out infinite}.portal-enter>b{font:inherit}.portal-enter-particle{position:absolute;z-index:3;top:0;left:0;width:6px;height:6px;border-radius:50%;background:#fff8d7;box-shadow:0 0 5px #fff,0 0 12px #b8ffe4,0 0 22px #7ae8c5;offset-path:inset(1px round 2px 13px 2px 13px);animation:portalEnterOrbit 4.8s linear infinite;pointer-events:none}.portal-enter-particle.particle-b{animation-delay:-2.4s}.free-practice-stage.is-melody-mode .melody-keyboard-shell{height:80%}.free-practice-stage.is-melody-mode .lyric-style-focus,.free-practice-stage.is-melody-mode .lyric-style-karaoke,.free-practice-stage.is-melody-mode .mv-lyric{top:2.5%;right:4%;bottom:auto;width:92%;height:15%;align-content:center}.free-practice-stage .film-overlay,.free-practice-stage .melody-keyboard-shell{pointer-events:auto}.is-free-practice-settings-host{position:fixed;z-index:100;inset:0;min-height:0;background:transparent!important;pointer-events:none}.is-free-practice-settings-host .game-column,.is-free-practice-settings-host>.legal-footer,.is-free-practice-settings-host>.topbar{visibility:hidden}.is-free-practice-settings-host .workspace{background:transparent;pointer-events:none}.is-free-practice-settings-host .settings-drawer{visibility:visible;pointer-events:none}.is-free-practice-settings-host .settings-drawer.is-open{pointer-events:auto}@keyframes portalEnterOrbit{to{offset-distance:100%}}@keyframes portalEnterBreath{0%,to{opacity:.45;filter:blur(.1px)}50%{opacity:1;filter:drop-shadow(0 0 8px rgba(164,246,218,.82))}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.free-practice-stage.is-melody-mode .melody-keyboard-shell{height:80%}}@media (prefers-reduced-motion:reduce){.portal-enter:before{animation:none}.portal-enter-particle{animation-duration:10s}}.portal-cinematic{min-height:100dvh;min-height:100svh;isolation:isolate;background:#b8894f;font-family:Optima,Songti SC,STSong,serif}.portal-cinematic .wind-portal-art{z-index:0;object-fit:cover;object-position:center}.portal-cinematic .portal-opening-film{opacity:1;transform:none}.portal-cinematic .portal-transition-film{z-index:1;opacity:0;pointer-events:none;transition:opacity .26s ease}.portal-cinematic.portal-stage-transition .portal-transition-film{opacity:1}.portal-cinematic .wind-portal-vignette{z-index:2;background:linear-gradient(180deg,rgba(47,57,51,.12),transparent 24%,transparent 58%,rgba(48,43,35,.34)),radial-gradient(circle at 50% 52%,transparent 32%,rgba(66,53,42,.09) 100%)}.portal-opening-action{position:absolute;z-index:4;right:max(18px,var(--safe-right));bottom:max(7.5vh,calc(var(--safe-bottom) + 18px));left:max(18px,var(--safe-left));display:flex;justify-content:center}.portal-discover{position:relative;isolation:isolate;width:min(420px,calc(100vw - 40px));min-height:58px;display:flex;align-items:center;justify-content:center;gap:16px;overflow:visible;border:1px solid rgba(255,251,231,.86);border-radius:4px 24px 4px 24px;color:#fff9e6;background:linear-gradient(120deg,rgba(63,82,75,.74),rgba(135,105,72,.56));box-shadow:7px 8px 0 rgba(73,56,43,.22),inset 0 0 20px rgba(255,255,255,.12),0 0 28px rgba(255,239,191,.25);font:520 clamp(14px,1.45vw,20px)/1 Songti SC,STSong,serif;letter-spacing:.16em;text-shadow:0 2px 12px rgba(59,49,40,.5);cursor:pointer}.portal-discover:before{content:"";position:absolute;z-index:-1;inset:-5px;border:1px solid rgba(255,244,202,.38);border-radius:6px 27px 6px 27px;animation:portalEnterBreath 2.6s ease-in-out infinite}.portal-discover>span{width:11px;height:11px;flex:0 0 11px;border:1px solid #ffe2a2;font-size:0;transform:rotate(45deg);animation:portalDiamondFloat 2.8s ease-in-out infinite}.portal-path-stage{position:absolute;z-index:4;inset:max(14px,var(--safe-top)) max(18px,var(--safe-right)) max(14px,var(--safe-bottom)) max(18px,var(--safe-left));display:grid;grid-template-rows:auto auto auto auto minmax(0,1fr) auto;align-content:center;gap:clamp(7px,1.2vh,14px);overflow:auto;overscroll-behavior:contain;scrollbar-width:none}.portal-path-stage::-webkit-scrollbar{display:none}.portal-cinematic .portal-path-device.portal-device-ceremony{position:relative;inset:auto;width:min(430px,100%);min-height:68px;margin:0 auto;padding:8px 14px;grid-template-columns:62px minmax(0,1fr);border-color:rgba(255,248,224,.5);background:linear-gradient(125deg,rgba(49,76,71,.68),rgba(128,99,70,.45));box-shadow:7px 8px 0 rgba(72,54,42,.16),inset 0 0 18px rgba(255,255,255,.08);-webkit-backdrop-filter:none;backdrop-filter:none}.portal-cinematic .portal-path-device .device-piano-icon{height:40px}.portal-cinematic .portal-path-device .device-ceremony-copy strong{font-size:clamp(13px,1.5vw,18px)}.portal-cinematic .portal-path-device .device-ceremony-copy em{font-size:8px}.portal-path-heading strong{font:520 clamp(18px,2.2vw,30px)/1.15 Songti SC,STSong,serif;letter-spacing:.13em}.portal-path-grid{width:min(960px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(7px,1.25vw,17px)}.portal-path-card{position:relative;min-width:0;min-height:clamp(76px,12vh,118px);padding:clamp(9px,1.4vw,16px);display:grid;grid-template-columns:clamp(25px,3.5vw,44px) 1fr;align-items:center;gap:clamp(7px,1vw,13px);overflow:hidden;border:1px solid rgba(255,248,224,.42);border-radius:4px 27px 4px 27px;color:rgba(255,250,232,.76);background:linear-gradient(140deg,rgba(63,81,77,.59),rgba(111,86,67,.45));box-shadow:7px 8px 0 rgba(73,55,43,.13),inset 0 0 0 1px rgba(255,255,255,.04);text-align:left;cursor:pointer;transition:transform .22s ease,border-color .22s ease,background .22s ease,box-shadow .22s ease}.portal-path-card:after{content:"";position:absolute;right:-15%;bottom:-60%;width:55%;aspect-ratio:1;border:1px solid rgba(255,255,255,.12);transform:rotate(45deg)}.portal-path-card>i{color:#fff0c4;font:500 clamp(19px,3vw,35px)/1 Optima,serif;font-style:normal;text-align:center;text-shadow:0 0 18px currentColor}.portal-path-card>span{min-width:0;display:grid;gap:3px}.portal-path-card b{color:inherit;font:540 clamp(13px,1.7vw,22px)/1.15 Songti SC,STSong,serif;letter-spacing:.1em}.portal-path-card.is-free{--path-glow:#ffd49c}.portal-path-card.is-sing{--path-glow:#b5efe0}.portal-path-card.is-play{--path-glow:#b9c7ff}.portal-path-card.is-selected{z-index:1;transform:translateY(-4px);border-color:color-mix(in srgb,var(--path-glow) 74%,white);color:#fffdf1;background:linear-gradient(140deg,color-mix(in srgb,var(--path-glow) 27%,rgba(53,76,72,.75)),rgba(92,74,62,.54));box-shadow:8px 10px 0 rgba(73,55,43,.16),0 0 24px color-mix(in srgb,var(--path-glow) 28%,transparent),inset 0 0 22px rgba(255,255,255,.12)}.portal-path-detail{width:min(900px,100%);max-height:min(27vh,230px);margin:0 auto;overflow:auto;border:1px solid rgba(255,246,219,.32);border-radius:3px 22px 3px 22px;color:#fff9e7;background:linear-gradient(135deg,rgba(53,76,72,.68),rgba(112,86,66,.53));box-shadow:8px 9px 0 rgba(67,51,40,.14),inset 0 0 24px rgba(255,255,255,.045);-webkit-backdrop-filter:none;backdrop-filter:none}.portal-cinematic .portal-journey-levels{margin:0;padding:9px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.portal-cinematic .portal-journey-levels button{min-height:54px;padding:7px}.portal-cinematic .portal-start-game{grid-row:6;width:min(270px,calc(100vw - 40px));min-height:42px;margin:0 auto;color:#fff9e7;background:linear-gradient(120deg,rgba(72,107,96,.72),rgba(163,113,72,.67))}.portal-transition-copy{position:absolute;z-index:4;right:0;bottom:max(5vh,var(--safe-bottom));left:0;display:grid;justify-items:center;gap:8px;color:rgba(255,249,226,.84);font:540 11px/1 Songti SC,serif;letter-spacing:.18em;text-shadow:0 2px 12px rgba(64,46,31,.65);pointer-events:none}.portal-transition-copy i{width:48px;height:1px;overflow:hidden;background:rgba(255,255,255,.23)}.portal-transition-copy i:after{content:"";display:block;width:50%;height:100%;background:#fff1bd;box-shadow:0 0 8px #fff5d9;animation:portalTransitionWind 1.3s ease-in-out infinite}@keyframes portalDiamondFloat{50%{transform:translateY(-3px) rotate(45deg)}}@keyframes portalTransitionWind{0%{transform:translateX(-110%)}to{transform:translateX(210%)}}@media (max-width:760px){.portal-path-stage{inset:max(8px,var(--safe-top)) max(9px,var(--safe-right)) max(8px,var(--safe-bottom)) max(9px,var(--safe-left));gap:6px}.portal-cinematic .portal-path-device.portal-device-ceremony{width:min(365px,100%);min-height:56px;grid-template-columns:46px 1fr;padding:6px 9px}.portal-cinematic .portal-path-device .device-piano-icon{height:30px}.portal-cinematic .portal-path-device .device-ceremony-copy em{display:none}.portal-path-grid{gap:5px}.portal-path-card{min-height:68px;padding:7px 5px;grid-template-columns:22px 1fr;gap:4px;border-radius:3px 15px 3px 15px}.portal-path-card em,.portal-path-card small{display:none}.portal-path-card b{font-size:clamp(10px,3.2vw,14px);letter-spacing:.03em}.portal-path-detail{max-height:30vh}.portal-cinematic .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr));padding:6px;gap:4px}.portal-cinematic .portal-journey-levels button{min-height:42px}.portal-cinematic .portal-start-game{min-height:36px}}@media (orientation:landscape) and (max-height:600px){.portal-opening-action{bottom:max(5vh,calc(var(--safe-bottom) + 8px))}.portal-discover{min-height:46px}.portal-path-stage{grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:4px}.portal-cinematic .portal-path-device.portal-device-ceremony{min-height:47px;grid-template-columns:42px 1fr;padding-block:4px}.portal-cinematic .portal-path-device .device-piano-icon{height:27px}.portal-cinematic .portal-path-device .device-ceremony-copy em{display:none}.portal-path-heading strong{font-size:16px}.portal-path-card{min-height:50px;padding-block:5px}.portal-path-detail{max-height:24vh}.portal-cinematic .portal-journey-levels button{min-height:38px;padding-block:4px}.portal-cinematic .portal-start-game{min-height:33px}}@media (prefers-reduced-motion:reduce){.portal-cinematic .portal-transition-film,.portal-path-card{transition:none}.portal-discover:before,.portal-discover>span,.portal-transition-copy i:after{animation:none}}.wind-energy-meter header{margin-bottom:6px;display:grid;grid-template-columns:1fr auto auto;gap:10px}.cinema-stage.feedback-miss .white-keys button.is-target,.cinema-stage.feedback-wrong .white-keys button.is-target{border-color:#ff5a63;background:linear-gradient(180deg,#fff 45%,#ff9da3);box-shadow:0 0 20px rgba(255,70,82,.68);border-color:rgba(226,232,228,.72);background:linear-gradient(180deg,rgba(255,255,255,.92) 45%,rgba(213,221,217,.72));box-shadow:0 0 13px rgba(220,228,224,.38)}.cinema-stage.feedback-miss .black-keys button.is-target,.cinema-stage.feedback-wrong .black-keys button.is-target{border-color:#ff6972;background:linear-gradient(100deg,#4a1016,#d82f3d 50%,#4a1016);box-shadow:0 0 20px rgba(255,70,82,.68);border-color:rgba(216,224,220,.62);background:linear-gradient(100deg,#263230,#69736f 50%,#263230);box-shadow:0 0 12px rgba(221,229,225,.28)}.energy-flight{--flight-left:50%;--flight-duration:480ms;left:var(--flight-left);bottom:7%;width:6px;height:6px;animation-duration:var(--flight-duration);animation-timing-function:cubic-bezier(.2,.7,.24,1);animation-fill-mode:forwards;will-change:left,bottom,opacity,transform}.energy-flight.is-wrong{animation-name:wrongWindDissolve}.energy-flight b{position:absolute;inset:0;border-radius:42% 58% 50% 50%;background:var(--flight-color);box-shadow:0 0 7px var(--flight-color),0 0 16px color-mix(in srgb,var(--flight-color) 70%,white);transform:rotate(45deg);box-shadow:0 0 5px var(--flight-color),0 0 10px color-mix(in srgb,var(--flight-color) 48%,white)}.energy-flight em{position:absolute;top:8px;left:4px;width:2px;height:34px;background:linear-gradient(var(--flight-color),transparent);filter:blur(1px);top:5px;left:2px;height:20px;opacity:.64}.energy-flight.is-wrong b{opacity:.42;box-shadow:0 0 5px rgba(226,232,228,.38)}.energy-flight.is-wrong em{height:11px;opacity:.25}.segment-result{position:absolute;z-index:27;top:clamp(54px,11%,108px);left:50%;min-width:min(260px,72vw);padding:9px 18px 10px;display:grid;justify-items:center;gap:3px;border:1px solid rgba(239,237,211,.42);border-radius:3px 18px 3px 18px;color:#fff7dc;background:linear-gradient(115deg,rgba(24,54,52,.74),rgba(31,45,50,.7));box-shadow:0 0 24px rgba(176,232,214,.12),inset 0 0 16px rgba(255,255,255,.04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:translateX(-50%);animation:segmentResultIn .22s ease-out both;pointer-events:none}.segment-result small{color:rgba(194,226,215,.7);font:650 6px/1 Optima,sans-serif;letter-spacing:.2em}.segment-result strong{font:500 16px/1.2 Songti SC,serif;letter-spacing:.06em}.segment-result span{color:rgba(242,240,218,.7);font:500 8px/1.2 Songti SC,serif}@keyframes noteWindToMeter{0%{opacity:0;transform:translate(-50%) scale(.55) rotate(0)}14%{opacity:.9}58%{opacity:.82;transform:translate(calc(-50% + 19px),-34vh) scale(.85) rotate(28deg)}to{left:50%;bottom:86%;opacity:0;transform:translate(-50%) scale(.28) rotate(64deg)}}@keyframes chordWindToMeter{0%{opacity:0;transform:translate(-50%) scale(.55)}12%{opacity:1}62%{opacity:.88;transform:translate(calc(-50% - 15px),-39vh) scale(1.05)}to{left:50%;bottom:86%;opacity:0;transform:translate(-50%) scale(.34)}}@keyframes wrongWindDissolve{0%{opacity:.42;transform:translate(-50%) scale(.62)}to{opacity:0;transform:translate(calc(-50% + 16px),-15vh) scale(.22)}}@keyframes segmentResultIn{0%{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.segment-result{top:50px;min-width:min(220px,70vw);padding:6px 12px 7px}.segment-result strong{font-size:13px}}@media (prefers-reduced-motion:reduce){.energy-flight{animation-duration:.18s}}.app-shell,.app-shell *{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.app-shell video,.cinema-stage .lesson-film,.cinema-stage.energy-clear .lesson-film,.cinema-stage.energy-low .lesson-film,.cinema-stage.energy-unscored .lesson-film,.cinema-stage.energy-warming .lesson-film,.cinema-stage.is-ending .lesson-film,.cinema-stage.is-outcome-video .lesson-film,.free-practice-stage video,.video-transition-veil img{filter:none!important;transform:none!important}.wind-energy-meter.is-pending-dissolving .energy-pending{opacity:0;transition-duration:.65s;filter:blur(3px);filter:none}.energy-flight.is-correct b{box-shadow:0 0 8px var(--flight-color),0 0 18px color-mix(in srgb,var(--flight-color) 64%,white)}.cinema-stage.feedback-correct .black-keys button.is-target,.cinema-stage.feedback-correct .chord-queue>span.is-active,.cinema-stage.feedback-correct .white-keys button.is-target{animation:targetHitConfirmation .26s ease-out}.segment-result{border-color:rgba(255,245,205,.68);background:linear-gradient(115deg,rgba(17,60,55,.95),rgba(37,50,54,.94));box-shadow:0 0 30px rgba(176,242,214,.28),inset 0 0 18px rgba(255,255,255,.06)}.segment-result.is-passed{box-shadow:0 0 26px rgba(215,245,214,.2),inset 0 0 18px rgba(255,239,191,.07);box-shadow:0 0 38px rgba(221,255,219,.4),inset 0 0 24px rgba(255,232,171,.12);border-color:rgba(255,230,164,.82)}@keyframes targetHitConfirmation{0%{filter:brightness(1)}45%{filter:brightness(1.7);box-shadow:0 0 24px rgba(255,239,180,.82)}to{filter:brightness(1)}}.wind-energy-meter{top:14%;right:max(10px,var(--safe-right));bottom:12%;left:auto;width:46px;min-width:0;height:auto;padding:0;border:0;border-radius:0;background:none;box-shadow:none;transform:none}.wind-energy-meter.is-pending-dissolving .energy-pending-reservoir>i{opacity:0}.immersive-shell .lyric-sweep-mask{bottom:-.02em;width:clamp(44px,7vw,104px);height:.68em;opacity:.92;border:0;border-radius:0;background:radial-gradient(ellipse at 50% 72%,rgba(255,255,255,.94) 0 4%,rgba(255,255,255,.5) 20%,rgba(255,255,255,.14) 46%,transparent 76%);box-shadow:none;filter:none;-webkit-mask-image:none;mask-image:none;mix-blend-mode:screen}.immersive-shell .lyric-sweep-mask:after,.immersive-shell .lyric-sweep-mask:before,.immersive-shell .lyric-sweep-mask>*{display:none}.immersive-shell .lyric-cursor{display:none!important}.cinema-stage.retry-message .lesson-film{filter:blur(14px) brightness(.58) saturate(.78)!important;transform:scale(1.04)!important}.cinema-stage.retry-countdown .lesson-film{animation:retryFocusRestore 3s linear both!important}.segment-result.is-retry{filter:saturate(.7);top:50%;width:min(430px,76vw);min-width:0;padding:18px 24px 20px;border-color:rgba(241,237,209,.44);background:rgba(21,43,43,.7);transform:translate(-50%,-50%);animation:segmentRetryIn .24s ease-out both}.segment-result.is-retry strong{font-size:clamp(18px,2vw,28px)}.segment-result.is-retry span{font-size:clamp(10px,1vw,15px)}.segment-retry-countdown{position:absolute;z-index:31;top:50%;left:50%;display:flex;gap:18px;transform:translate(-50%,-50%);pointer-events:none}.segment-retry-countdown>i{width:14px;height:14px;border:1px solid rgba(255,250,225,.52);border-radius:50%;background:rgba(255,255,255,.08);box-shadow:0 0 0 rgba(255,244,205,0);transition:background .18s ease,box-shadow .18s ease,transform .18s ease}.segment-retry-countdown>i.is-on{background:#fff5d4;box-shadow:0 0 10px rgba(255,242,198,.92),0 0 28px rgba(178,244,220,.54);transform:scale(1.18)}@keyframes lyricChordRelease{0%{opacity:1;transform:translate(-50%,-100%) scale(1)}24%{opacity:1;transform:translate(-50%,-130%) scale(1.22);filter:brightness(1.5)}72%,to{opacity:0;transform:translate(-50%,-112%) scale(.82)}}@keyframes noteWindToReservoir{0%{opacity:0;transform:translate(-50%) scale(.55)}15%{opacity:.95}62%{opacity:.84;transform:translate(calc(-50% + 18px),-25vh) scale(.8)}to{left:calc(100% - 24px);bottom:19%;opacity:0;transform:translate(-50%) scale(.22)}}@keyframes chordWindToReservoir{0%{opacity:0;transform:translate(-50%) scale(.5)}13%{opacity:1}65%{opacity:.9;transform:translate(calc(-50% + 22px),-30vh) scale(1)}to{left:calc(100% - 24px);bottom:19%;opacity:0;transform:translate(-50%) scale(.25)}}@keyframes retryFocusRestore{0%{filter:blur(14px) brightness(.58) saturate(.78);transform:scale(1.04)}55%{filter:blur(6px) brightness(.78) saturate(.9);transform:scale(1.018)}to{filter:none;transform:none}}@keyframes segmentRetryIn{0%{opacity:0;transform:translate(-50%,calc(-50% - 8px))}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.segment-result.is-retry{top:50%;padding:13px 18px 15px}.segment-retry-countdown{gap:13px}.segment-retry-countdown>i{width:11px;height:11px}}@media (prefers-reduced-motion:reduce){.cinema-stage.retry-countdown .lesson-film{animation-duration:3s!important}}.scroll-charge-cells>i.is-charged{border-color:rgba(255,249,215,.8);background:#fff2bd;box-shadow:0 0 6px rgba(255,239,179,.95)}.wind-energy-meter.is-pending-dissolving .scroll-charge{opacity:0}.wind-energy-meter.maple-energy-meter{top:22%;right:max(10px,var(--safe-right));bottom:30%;width:88px;min-width:0;padding:0;border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.maple-charge-ring>i.is-filled{border-color:color-mix(in srgb,var(--charge-color) 58%,white);background:var(--charge-color);box-shadow:0 0 6px color-mix(in srgb,var(--charge-color) 78%,white),0 0 12px color-mix(in srgb,var(--charge-color) 48%,transparent);transform:rotate(45deg) scale(1.08);animation:mapleCellCharge .3s cubic-bezier(.2,.78,.22,1) both}.maple-energy-meter.is-after-hidden .maple-charge-ring>i{border-color:transparent;background:transparent;box-shadow:none}.maple-energy-meter.is-after-hidden .energy-maple>small{color:#dffff4;text-shadow:0 0 8px rgba(159,255,228,.9)}.maple-energy-meter.is-after-hidden .maple-afterglow-particles>i,.maple-energy-meter.maple-particle-0 .maple-afterglow-particles>i,.maple-energy-meter.maple-particle-1 .maple-afterglow-particles>i{animation:mapleParticleOrbit 1.7s ease-out infinite}.immersive-shell .lyric-chord.is-energy-spent:not(.is-energy-burst){opacity:0;transform:translate(-50%,-112%) scale(.82);pointer-events:none}.energy-flight.is-correct{animation-name:noteWindToMeter;width:8px;height:8px;opacity:1;animation-name:noteWindToReservoir;animation-name:noteWindToMaple}.cinema-stage:not(.is-pure-mode) .mv-lyric{right:max(92px,7%);width:min(60%,calc(100% - 116px))}@keyframes mapleCellCharge{0%{opacity:.35;transform:rotate(45deg) scale(.45)}55%{opacity:1;transform:rotate(45deg) scale(1.28)}to{opacity:1;transform:rotate(45deg) scale(1.08)}}@keyframes mapleParticleOrbit{0%{opacity:0;transform:rotate(0deg) translateX(8px) scale(.4)}35%{opacity:1}to{opacity:0;transform:rotate(34deg) translateX(35px) scale(.1)}}@keyframes noteWindToMaple{0%{opacity:0;transform:translate(-50%) scale(.55)}15%{opacity:.95}62%{opacity:.84;transform:translate(calc(-50% + 18px),-24vh) scale(.8)}to{left:calc(100% - 42px);bottom:var(--leaf-target-bottom,54%);opacity:0;transform:translate(-50%) scale(.2)}}@keyframes chordWindToMaple{0%{opacity:0;transform:translate(-50%) scale(.5)}13%{opacity:1}65%{opacity:.92;transform:translate(calc(-50% + 22px),-29vh) scale(1)}to{left:calc(100% - 42px);bottom:var(--leaf-target-bottom,54%);opacity:0;transform:translate(-50%) scale(.24)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.cinema-stage:not(.is-pure-mode) .mv-lyric{right:70px;width:calc(100% - 84px)}}.wind-energy-track.maple-ascent-track{inset:0 32px 0 auto;width:24px;overflow:visible;background:none}.maple-energy-meter.is-after-hidden .maple-leaf-fill,.maple-energy-meter.is-after-hidden .maple-leaf-texture{opacity:0}.maple-energy-meter.is-after-hidden .maple-afterglow-particles{opacity:1;opacity:0}.maple-energy-meter.is-after-hidden .maple-afterglow-particles>i{animation:none}.immersive-shell .lyric-chord.is-energy-burst{z-index:8;animation:lyricChordRelease .7s cubic-bezier(.18,.8,.25,1) both;animation-duration:.96s}.energy-flight.is-chord b{box-shadow:0 0 9px var(--flight-color),0 0 21px color-mix(in srgb,var(--flight-color) 62%,white)}.energy-flight.is-chord em{height:38px;opacity:.82;width:3px;height:54px;opacity:.72;filter:blur(.3px)}@keyframes chordWindToReferenceMaple{0%{opacity:0;transform:translate(-50%) scale(.35)}14%{opacity:1;transform:translate(calc(-50% + 4px),-4vh) scale(.72)}48%{opacity:.98;transform:translate(calc(-50% + 18px),-19vh) rotate(8deg) scale(1.05)}78%{opacity:.78;transform:translate(calc(-50% + 28px),-31vh) rotate(-5deg) scale(.72)}to{left:calc(100% - 44px);bottom:var(--leaf-target-bottom,54%);opacity:0;transform:translate(-50%) scale(.15)}}.musicxml-jianpu-preview{width:100%;max-height:260px;margin-top:8px;overflow:auto;border:1px solid rgba(82,119,111,.2);border-radius:10px;background:rgba(255,253,244,.94)}.musicxml-jianpu-preview canvas{display:block}.maple-energy-meter.is-pending-dissolving .maple-energy-column-fill{opacity:.2}.energy-flight.is-chord{width:8px;height:12px;animation-name:chordWindToMeter;animation-name:chordWindToReservoir;animation-name:chordWindToMaple;width:9px;height:14px;animation-name:chordWindToReferenceMaple;animation-name:chordWindToLayeredMaple;animation-duration:max(.72s,var(--flight-duration))}@keyframes chordWindToLayeredMaple{0%{opacity:0;transform:translate(-50%) scale(.28)}14%{opacity:1;transform:translate(calc(-50% + 3px),-4vh) scale(.72)}48%{opacity:1;transform:translate(calc(-50% + 18px),-18vh) rotate(8deg) scale(1.08)}82%{opacity:.96;transform:translate(calc(-50% + 28px),-29vh) rotate(-4deg) scale(.78)}94%{left:calc(100% - var(--maple-target-x));bottom:var(--leaf-target-bottom,54%);opacity:1;transform:translate(-50%) scale(.48)}to{left:calc(100% - var(--maple-target-x));bottom:var(--leaf-target-bottom,54%);opacity:0;transform:translate(-50%) scale(.08)}}.portal-chord-library{gap:7px}.portal-cinematic .portal-journey-levels button,.portal-cinematic .portal-journey-levels button.is-boss-level{grid-column:auto;min-height:54px;padding:7px;border-color:rgba(255,244,217,.26);color:rgba(255,249,233,.76);background:linear-gradient(132deg,rgba(255,255,255,.07),rgba(69,91,84,.2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.portal-cinematic .portal-journey-levels button.is-boss-level.is-selected,.portal-cinematic .portal-journey-levels button.is-selected{border-color:rgba(255,229,179,.75);color:#fffbed;background:linear-gradient(126deg,rgba(168,112,73,.56),rgba(73,132,120,.56));box-shadow:0 0 18px rgba(255,229,179,.12),inset 0 0 0 1px rgba(255,255,255,.09)}.portal-cinematic .portal-journey-levels button i,.portal-cinematic .portal-journey-levels button.is-boss-level i{color:#ffe0aa;text-shadow:0 0 9px rgba(255,220,165,.38)}.immersive-shell .film-mini-controls{top:max(12px,var(--safe-top));left:max(12px,var(--safe-left));gap:0}.immersive-shell .film-mini-controls .film-pause-control{min-width:42px;height:42px;padding:0 12px;display:flex;align-items:center;justify-content:center;gap:6px;border-radius:3px 16px 3px 16px;border-color:rgba(255,248,226,.42);opacity:.42;background:rgba(20,43,41,.52);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:4px 5px 0 rgba(17,33,32,.16),inset 0 0 12px rgba(255,255,255,.05)}.immersive-shell .film-mini-controls .film-pause-control:focus-visible,.immersive-shell .film-mini-controls .film-pause-control:hover{opacity:1}.immersive-shell .lyric-chord-stack{z-index:4;grid-row:1;align-self:start;min-width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:3px}.immersive-shell .lyric-chord-stack>.lyric-chord{grid-row:auto;flex:0 0 auto}.immersive-shell .lyric-chord-stack>.lyric-chord.is-energy-spent:not(.is-energy-burst){width:0;margin:0;overflow:visible;opacity:0;transform:translateY(-112%) scale(.82)}.immersive-shell .cinema-stage .energy-video-haze,.immersive-shell .cinema-stage .film-overlay:after,.immersive-shell .cinema-stage .film-overlay:before{display:none!important}@media (max-width:760px){.portal-cinematic .portal-journey-levels button,.portal-cinematic .portal-journey-levels button.is-boss-level{min-height:42px}.immersive-shell .film-mini-controls .film-pause-control{min-width:34px;width:34px;height:34px;padding:0}.immersive-shell .film-mini-controls .film-pause-control span{display:none}}.portal-chord-groups>section>div>button{position:relative;min-width:0;min-height:31px;padding:4px 6px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:1px solid rgba(255,243,216,.27);border-radius:2px 10px 2px 10px;color:#fff8e2;background:rgba(255,255,255,.055);box-shadow:inset 0 -10px 18px rgba(255,189,124,calc(.025 + var(--chord-order) * .002));font:650 clamp(9px,1.1vw,14px)/1 Optima,sans-serif;cursor:pointer;transition:transform .17s ease,border-color .17s ease,color .17s ease,background .17s ease,box-shadow .17s ease}.portal-chord-groups>section>div>button.is-active{transform:translateY(-1px) scale(1.035);border-color:color-mix(in srgb,var(--portal-chord-color) 70%,white);color:#fffef4;background:color-mix(in srgb,var(--portal-chord-color) 25%,rgba(44,67,63,.74));box-shadow:0 0 16px color-mix(in srgb,var(--portal-chord-color) 44%,transparent),inset 0 0 13px rgba(255,255,255,.12)}.portal-chord-library.advance-pulse-0 .portal-chord-groups button.is-active,.portal-chord-library.advance-pulse-1 .portal-chord-groups button.is-active{animation:portalChordAdvance .36s ease-out}@keyframes portalChordAdvance{0%{transform:translateY(2px) scale(.94);opacity:.62}55%{transform:translateY(-2px) scale(1.07);opacity:1}to{transform:translateY(-1px) scale(1.035);opacity:1}}.immersive-shell{--film-rail-height:0px;padding:0!important;overflow:hidden}.immersive-shell .game-column,.immersive-shell .workspace{position:relative;overflow:hidden}.free-practice-stage .free-practice-film,.immersive-shell .lesson-film,.portal-cinematic .wind-portal-art{inset:0;width:100%;height:100%;object-fit:cover!important;object-position:center!important}.immersive-shell .video-segment-rail{height:var(--film-rail-height);height:calc(42px + var(--safe-top))!important;position:absolute!important;z-index:42;top:0;right:0;left:0;width:100%;padding:var(--safe-top) max(12px,var(--safe-right)) 0 max(12px,var(--safe-left));border:0;background:linear-gradient(180deg,rgba(5,15,16,.34),rgba(5,15,16,.08) 72%,transparent);box-shadow:none}.immersive-shell .video-segment-list button{min-width:0}.wind-ending-history-link{padding:2px 0;border:0;color:rgba(255,244,219,.58);background:transparent;font:500 9px/1.4 Songti SC,STSong,serif;letter-spacing:.1em;text-decoration:underline;text-underline-offset:4px;cursor:pointer;display:block;margin:0 0 12px}.development-history{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:max(20px,var(--safe-top)) max(14px,var(--safe-right)) max(20px,var(--safe-bottom)) max(14px,var(--safe-left));background:rgba(8,25,29,.72);-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);z-index:90!important;pointer-events:auto}.immersive-shell .video-segment-rail-trigger{position:absolute;z-index:43;top:0;right:0;left:0;width:100%;height:10px;padding:0;border:0;opacity:0;background:transparent;cursor:ns-resize}.immersive-shell .video-segment-rail[data-overlay-reveal=top-hover]{transform:translateY(calc(-100% + 8px));opacity:0;pointer-events:auto;will-change:transform,opacity;transition:transform .24s cubic-bezier(.22,.82,.32,1),opacity .18s ease}.immersive-shell .video-segment-rail-trigger:focus+.video-segment-rail,.immersive-shell .video-segment-rail-trigger:hover+.video-segment-rail,.immersive-shell .video-segment-rail[data-overlay-reveal=top-hover]:focus,.immersive-shell .video-segment-rail[data-overlay-reveal=top-hover]:focus-within,.immersive-shell .video-segment-rail[data-overlay-reveal=top-hover]:hover{transform:translateY(0);opacity:1;outline:none}@media (max-width:760px){.immersive-shell .video-segment-rail-label{display:none}.immersive-shell .video-segment-rail{height:calc(38px + var(--safe-top))!important}.immersive-shell .video-segment-list button{padding-inline:5px}.immersive-shell .video-segment-list button>small{display:none}}@media (prefers-reduced-motion:reduce){.portal-chord-library .portal-chord-groups button.is-active{animation:none}.immersive-shell .video-segment-rail[data-overlay-reveal=top-hover]{transition:none}}.immersive-shell .cinema-stage>.energy-flight-layer,.immersive-shell .cinema-stage>.film-corner-button,.immersive-shell .cinema-stage>.film-mini-controls,.immersive-shell .cinema-stage>.film-overlay,.immersive-shell .cinema-stage>.melody-keyboard-shell,.immersive-shell .cinema-stage>.wind-energy-meter{transition:opacity .92s ease,transform .92s cubic-bezier(.2,.74,.25,1),visibility 0s linear}.immersive-shell .cinema-stage.is-guidance-pending>.energy-flight-layer,.immersive-shell .cinema-stage.is-guidance-pending>.film-corner-button,.immersive-shell .cinema-stage.is-guidance-pending>.film-mini-controls,.immersive-shell .cinema-stage.is-guidance-pending>.film-overlay,.immersive-shell .cinema-stage.is-guidance-pending>.melody-keyboard-shell,.immersive-shell .cinema-stage.is-guidance-pending>.wind-energy-meter{visibility:hidden;opacity:0;pointer-events:none}.immersive-shell .cinema-stage.is-guidance-pending>.film-overlay,.immersive-shell .cinema-stage.is-guidance-pending>.melody-keyboard-shell{transform:translateY(12px)}.immersive-shell .cinema-stage.is-guidance-pending>.wind-energy-meter{transform:translateX(9px)}.immersive-shell .cinema-stage.is-guidance-ready>.energy-flight-layer,.immersive-shell .cinema-stage.is-guidance-ready>.film-corner-button,.immersive-shell .cinema-stage.is-guidance-ready>.film-mini-controls,.immersive-shell .cinema-stage.is-guidance-ready>.film-overlay,.immersive-shell .cinema-stage.is-guidance-ready>.melody-keyboard-shell,.immersive-shell .cinema-stage.is-guidance-ready>.wind-energy-meter{visibility:visible;opacity:1;transform:none}.immersive-shell .cinema-stage.is-post-judgment>.energy-flight-layer,.immersive-shell .cinema-stage.is-post-judgment>.film-overlay,.immersive-shell .cinema-stage.is-post-judgment>.melody-keyboard-shell,.immersive-shell .cinema-stage.is-post-judgment>.segment-result,.immersive-shell .cinema-stage.is-post-judgment>.segment-retry-countdown{visibility:hidden;opacity:0;pointer-events:none}.immersive-shell .cinema-stage.is-post-judgment>.wind-energy-meter{visibility:visible;opacity:1}.immersive-shell .cinema-stage.is-post-judgment .energy-maple,.immersive-shell .cinema-stage.is-post-judgment .maple-energy-column-fill{animation:postJudgmentEnergyBreath 2.4s ease-in-out infinite}.immersive-shell .cinema-stage.is-post-judgment.ending-hidden .threshold-90{animation:postJudgmentHiddenGate 2.8s ease-in-out infinite}@keyframes postJudgmentEnergyBreath{0%,to{filter:brightness(1)}50%{filter:brightness(1.32) drop-shadow(0 0 8px rgba(162,247,220,.7))}}@keyframes postJudgmentHiddenGate{0%,to{opacity:.74}50%{opacity:1;box-shadow:0 0 13px rgba(134,246,217,.86),0 0 28px rgba(98,220,201,.38)}}@media (prefers-reduced-motion:reduce){.immersive-shell .cinema-stage>.energy-flight-layer,.immersive-shell .cinema-stage>.film-corner-button,.immersive-shell .cinema-stage>.film-mini-controls,.immersive-shell .cinema-stage>.film-overlay,.immersive-shell .cinema-stage>.melody-keyboard-shell,.immersive-shell .cinema-stage>.wind-energy-meter{transition-duration:.12s}.immersive-shell .cinema-stage.is-post-judgment .energy-maple,.immersive-shell .cinema-stage.is-post-judgment .maple-energy-column-fill,.immersive-shell .cinema-stage.is-post-judgment.ending-hidden .threshold-90{animation:none}}.immersive-shell .cinema-stage.is-chord-mode .chord-queue,.immersive-shell .cinema-stage.is-chord-mode .film-overlay,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric{border:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.immersive-shell .cinema-stage.is-chord-mode .wind-energy-meter.maple-energy-meter{width:76px;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.immersive-shell .cinema-stage.is-chord-mode .maple-energy-prism{display:none}.immersive-shell .cinema-stage.is-chord-mode .maple-ascent-track .energy-threshold{width:64px}.immersive-shell .cinema-stage.is-chord-mode .film-corner-button,.immersive-shell .cinema-stage.is-chord-mode .film-mini-controls .film-pause-control{border-color:rgba(255,248,226,.22);background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell>b,.immersive-shell .cinema-stage.is-chord-mode .lyric-line{animation:none!important;transition:none!important}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell>b,.immersive-shell .cinema-stage.is-chord-mode .lyric-cell>b.is-past{color:rgba(255,249,235,.94);opacity:1;transform:none;filter:none;text-shadow:0 2px 8px rgba(0,0,0,.72)}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell>b.is-current{color:#fffdf4;opacity:1;transform:none;filter:none;text-shadow:0 0 9px rgba(255,250,229,.78),0 2px 8px rgba(0,0,0,.72)}.immersive-shell .cinema-stage.is-chord-mode .lyric-sweep-mask{opacity:.72;transition:left .12s linear}.immersive-shell .cinema-stage.is-chord-mode .lyric-style-focus .lyric-line-next,.immersive-shell .cinema-stage.is-chord-mode .lyric-style-karaoke .lyric-line.is-preview{transition:none}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.immersive-shell .cinema-stage.is-chord-mode .wind-energy-meter.maple-energy-meter{width:58px}.immersive-shell .cinema-stage.is-chord-mode .maple-ascent-track .energy-threshold{width:50px}}.immersive-shell .cinema-stage>.story-progress-meter{position:absolute;z-index:44;top:29%;right:max(2.3%,var(--safe-right));bottom:19%;width:42px;display:grid;place-items:stretch center;pointer-events:none;transition:opacity .72s ease,transform .72s cubic-bezier(.2,.74,.25,1),visibility 0s linear}.immersive-shell .story-progress-track{position:relative;width:24px;height:100%}.immersive-shell .story-progress-line,.immersive-shell .story-progress-line:after{position:absolute;right:50%;bottom:0;width:2px;border-radius:2px;transform:translateX(50%)}.immersive-shell .story-progress-line{top:0;border:1px solid rgba(255,248,225,.42);background:rgba(18,45,44,.2);box-shadow:0 0 5px rgba(255,244,211,.16)}.immersive-shell .story-progress-line:after{content:"";height:var(--story-progress);background:linear-gradient(180deg,#f4d99b,#fff2c9 44%,rgba(218,239,222,.9));box-shadow:0 0 5px rgba(255,236,189,.48);transition:height .23s cubic-bezier(.2,.72,.28,1)}.immersive-shell .story-progress-cap,.immersive-shell .story-progress-hidden-gate{position:absolute;left:50%;height:2px;border-radius:50%;transform:translateX(-50%)}.immersive-shell .story-progress-cap{top:0;width:22px;background:rgba(255,231,174,.82)}.immersive-shell .story-progress-hidden-gate{bottom:90%;width:30px;background:rgba(157,234,224,.88);box-shadow:0 0 5px rgba(127,231,219,.44)}.immersive-shell .story-progress-leaf{position:absolute;z-index:3;left:50%;bottom:clamp(0px,calc(var(--story-progress) - 14px),calc(100% - 28px));width:28px;height:28px;object-fit:contain;opacity:1;filter:saturate(1.22) contrast(1.08);transform:translateX(-50%);transition:bottom .23s cubic-bezier(.2,.72,.28,1);animation:none!important}.immersive-shell .cinema-stage.is-guidance-pending>.story-progress-meter{visibility:hidden;opacity:0;transform:translateX(8px)}.immersive-shell .cinema-stage.is-guidance-ready>.story-progress-meter,.immersive-shell .cinema-stage.is-post-judgment>.story-progress-meter{visibility:visible;opacity:1;transform:none}.immersive-shell .cinema-stage.is-chord-mode .energy-flight.is-chord,.immersive-shell .cinema-stage.is-chord-mode .energy-flight.is-correct{display:none}.immersive-shell .chord-guide-row>span.is-judged-correct,.immersive-shell .chord-guide-row>span.is-judged-missed{isolation:isolate}.immersive-shell .chord-guide-row>span.is-judged-correct:before,.immersive-shell .chord-guide-row>span.is-judged-missed:before{content:"";position:absolute;z-index:3;inset:2px;border-radius:inherit;pointer-events:none}.immersive-shell .chord-guide-row>span.is-judged-correct:before{border:1px solid rgba(143,235,177,.76);background:linear-gradient(145deg,rgba(105,208,145,.2),transparent 58%)}.immersive-shell .chord-guide-row>span.is-judged-missed:before{border:1px solid rgba(226,112,101,.42);background:linear-gradient(145deg,rgba(184,71,65,.12),transparent 58%)}.immersive-shell .chord-guide-row .chord-judgment-mark{position:absolute;z-index:5;top:4px;right:4px;width:clamp(11px,1.05vw,15px);height:clamp(11px,1.05vw,15px);display:grid;place-items:center;border-radius:50%;font:800 clamp(8px,.82vw,12px)/1 Optima,Avenir Next,sans-serif;font-style:normal}.immersive-shell .chord-guide-row>span.is-judged-correct .chord-judgment-mark{color:#dffff0;background:rgba(49,151,97,.9);box-shadow:0 0 7px rgba(113,233,166,.54)}.immersive-shell .chord-guide-row>span.is-judged-missed .chord-judgment-mark{width:clamp(7px,.68vw,10px);height:clamp(7px,.68vw,10px);margin:2px;background:#d95f55;box-shadow:0 0 5px rgba(218,85,75,.5)}.immersive-shell .chord-countdown{inset:auto 0 calc(100% + clamp(7px, .7vw, 11px));height:clamp(24px,2.45vw,36px);padding:0 0 0 6%;display:flex;align-items:center;justify-content:flex-start;gap:clamp(8px,.8vw,12px);color:#fff5df;text-shadow:0 0 12px rgba(255,221,167,.62),0 2px 5px rgba(0,0,0,.68)}.immersive-shell .chord-countdown>strong{min-width:1.8em;color:inherit;font:650 clamp(17px,2vw,30px)/1 Optima,Avenir Next,sans-serif;letter-spacing:.06em;text-align:center;animation:chordCountdownPulse .42s ease-out both}.immersive-shell .chord-countdown>span{display:flex;gap:5px}.immersive-shell .chord-countdown>span>i{width:5px;height:5px;border:1px solid rgba(255,244,218,.52);border-radius:50%;background:transparent;box-shadow:none}.immersive-shell .chord-countdown.countdown-phase-1>span>i,.immersive-shell .chord-countdown.countdown-phase-2>span>i:nth-child(-n+2),.immersive-shell .chord-countdown.countdown-phase-3>span>i:first-child,.immersive-shell .chord-countdown.countdown-phase-4>span>i{background:#ffe4aa;box-shadow:0 0 7px rgba(255,211,144,.72)}@keyframes chordCountdownPulse{0%{opacity:.3;transform:translateY(3px) scale(.82)}55%{opacity:1;transform:translateY(0) scale(1.08)}to{opacity:1;transform:none}}.immersive-shell .segment-retry-countdown>strong{color:#fff4dc;font:650 clamp(34px,5vw,70px)/1 Optima,Avenir Next,sans-serif;text-shadow:0 0 18px rgba(255,221,164,.7),0 3px 8px rgba(0,0,0,.58);animation:chordCountdownPulse .42s ease-out both}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.immersive-shell .cinema-stage>.story-progress-meter{top:30%;right:max(1.2%,var(--safe-right));bottom:21%;width:34px}.immersive-shell .story-progress-track{width:20px}.immersive-shell .story-progress-leaf{width:23px;height:23px;bottom:clamp(0px,calc(var(--story-progress) - 11.5px),calc(100% - 23px))}.immersive-shell .story-progress-hidden-gate{width:25px}.immersive-shell .chord-guide-row .chord-judgment-mark{top:2px;right:2px}.immersive-shell .chord-countdown{bottom:calc(100% + 5px);height:23px}}@media (prefers-reduced-motion:reduce){.immersive-shell .chord-countdown>strong,.immersive-shell .story-progress-leaf,.immersive-shell .story-progress-line:after{transition:none;animation:none}}.portal-media-loader{position:absolute;z-index:100;inset:0;display:grid;place-items:center;overflow:hidden;color:#fff7e7;background:#dcae82;pointer-events:auto}.portal-media-loader img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.portal-media-loader span,.video-transition-veil>span{position:relative;z-index:3;padding:8px 16px;border:1px solid rgba(255,249,230,.46);border-radius:3px 16px 3px 16px;color:#fff9e9;background:rgba(75,64,55,.24);font:540 clamp(11px,1.1vw,15px)/1.2 Songti SC,STSong,serif;letter-spacing:.18em;text-shadow:0 2px 8px rgba(63,42,28,.45);animation:v49LoadingBreath 1.25s ease-in-out infinite}.video-transition-veil{position:absolute;z-index:2;inset:0;opacity:0;visibility:hidden;overflow:hidden;pointer-events:none;transition:opacity .22s ease,visibility 0s linear .22s;background:#d9e5de;display:grid;place-items:center}.video-transition-veil>img{position:absolute;inset:0}@keyframes v49LoadingBreath{50%{opacity:.58;transform:translateY(-2px)}}.portal-cinematic .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,.9vw,11px)}.portal-cinematic .portal-journey-levels button,.portal-cinematic .portal-journey-levels button.is-boss-level{min-height:clamp(62px,8.5vh,86px);padding:clamp(8px,1vw,12px)}.portal-cinematic .portal-journey-levels button span{font-size:clamp(11px,1.15vw,15px);line-height:1.22}.portal-cinematic .portal-journey-levels button.is-boss-level{background:linear-gradient(132deg,rgba(77,99,92,.31),rgba(77,67,91,.3));border-color:rgba(255,197,130,.64);background:linear-gradient(145deg,rgba(133,73,63,.76),rgba(74,66,86,.72));color:#fff1d5;box-shadow:inset 0 0 20px rgba(255,181,113,.12),5px 6px 0 rgba(55,39,46,.15)}.settings-dismiss-layer{position:fixed;z-index:80;inset:0;display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:default}.settings-key-card>.settings-key-toggle{display:grid;grid-template-columns:max-content max-content max-content 1fr;align-items:center;gap:7px}.settings-key-card>.settings-key-toggle>span{color:#4f746e;font:750 11px/1 Optima,sans-serif}.settings-key-card>.settings-key-toggle>i{position:relative;width:38px;height:20px;border-radius:11px;background:rgba(65,111,105,.22);box-shadow:inset 0 0 0 1px rgba(65,111,105,.28)}.settings-key-card>.settings-key-toggle>i>b{position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#5e928a;box-shadow:0 0 8px rgba(79,137,128,.35);transition:transform .18s ease}.settings-key-card>.settings-key-toggle[aria-pressed=true]>i>b{transform:translateX(18px)}.settings-key-card>.settings-key-toggle>em{color:#567570;font:650 9px/1.25 Songti SC,STSong,serif;font-style:normal;text-align:right}.melody-keyboard-heading{position:relative;z-index:3;height:clamp(20px,2.15vw,28px);display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(255,252,238,.8);font-family:Optima,Avenir Next,Futura,sans-serif;pointer-events:none;padding:0 3px 4px 4px}.melody-keyboard-heading>strong{margin-left:auto}.melody-corner-switches{flex:0 0 auto;display:flex;align-items:center;gap:4px;pointer-events:auto}.melody-corner-switches button{min-width:29px;height:22px;padding:0 7px;border:1px solid rgba(255,247,223,.42);border-radius:3px 10px 3px 10px;color:#fff6dc;background:rgba(23,53,51,.42);font:700 7px/1 Optima,Avenir Next,sans-serif;letter-spacing:.08em;cursor:pointer}.melody-corner-switches button.is-c-key{color:#effff8;border-color:rgba(151,238,207,.64);box-shadow:0 0 8px rgba(111,225,190,.24)}.immersive-shell .story-progress-pass-gate{position:absolute;left:50%;bottom:60%;width:30px;height:2px;border-radius:50%;transform:translateX(-50%);background:rgba(255,220,139,.92);box-shadow:0 0 6px rgba(255,214,123,.52)}.immersive-shell .cinema-stage.is-post-judgment>.energy-flight-layer,.immersive-shell .cinema-stage.is-post-judgment>.film-overlay,.immersive-shell .cinema-stage.is-post-judgment>.melody-keyboard-shell{visibility:visible!important;opacity:1!important}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-cinematic .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-cinematic .portal-journey-levels button,.portal-cinematic .portal-journey-levels button.is-boss-level{min-height:47px;padding:5px 7px}.portal-cinematic .portal-journey-levels button span{font-size:clamp(9px,2.4vw,12px)}.melody-corner-switches button{height:19px;padding-inline:5px}.immersive-shell .story-progress-pass-gate{width:25px}}@media (prefers-reduced-motion:reduce){.portal-media-loader span,.video-transition-veil>span{animation:none}}.immersive-shell .lesson-film{cursor:pointer}.immersive-shell .film-center-play-control{position:absolute;z-index:49;top:50%;left:50%;padding:0;display:grid;place-items:center;border-radius:50%;box-shadow:0 0 22px rgba(255,232,185,.13),inset 0 0 18px rgba(255,255,255,.06);transform:translate(-50%,-50%);cursor:pointer;animation:v51PauseControlIn .18s ease-out both}.immersive-shell .film-center-play-control>i{margin-left:.12em;font:500 clamp(20px,2.5vw,34px)/1 Optima,Avenir Next,sans-serif;font-style:normal;text-shadow:0 0 12px rgba(255,232,185,.44)}.immersive-shell .film-center-play-control>span{position:absolute;top:calc(100% + 8px);color:rgba(255,247,226,.72);font:520 clamp(8px,.75vw,11px)/1 Songti SC,STSong,serif;letter-spacing:.12em;white-space:nowrap}@keyframes v51PauseControlIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.84)}to{opacity:.72;transform:translate(-50%,-50%) scale(1)}}.immersive-shell .lyric-cell{justify-items:center;position:relative;z-index:2;height:clamp(64px,6.7vw,96px);grid-template-rows:minmax(28px,.95fr) 1fr}.immersive-shell .lyric-chord{left:0;box-shadow:0 3px 0 color-mix(in srgb,var(--lyric-chord-color) 18%,rgba(2,15,16,.62));transform-origin:50% 100%;position:relative;inset:auto;grid-column:1;justify-self:center;transform:none;min-width:1.08em;width:max-content;height:1.08em;padding:0 .14em;border-width:1px;font-size:clamp(25px,3.05vw,44px);font-weight:560;line-height:1;opacity:.86}.immersive-shell .lyric-chord-label,.immersive-shell .lyric-chord-outcome{grid-area:1/1;display:grid;place-items:center}.immersive-shell .lyric-chord.is-judged-correct,.immersive-shell .lyric-chord.is-judged-missed{opacity:1;transform:none;overflow:visible;animation:v51ChordResolve .52s cubic-bezier(.18,.76,.24,1) both}.immersive-shell .lyric-chord.is-judged-correct .lyric-chord-label,.immersive-shell .lyric-chord.is-judged-missed .lyric-chord-label{opacity:0;transform:scale(.62)}.immersive-shell .lyric-chord-outcome{width:.86em;height:.86em;border-radius:50%;color:#effff3;background:rgba(52,151,94,.94);box-shadow:0 0 11px rgba(111,234,159,.68),0 0 24px rgba(215,255,218,.24);font:700 .7em/1 Optima,Avenir Next,sans-serif}.immersive-shell .lyric-chord.is-judged-missed .lyric-chord-outcome{width:.34em;height:.34em;background:#d96158;box-shadow:0 0 8px rgba(218,91,79,.54)}@keyframes v51ChordResolve{0%{filter:brightness(1);transform:scale(1)}34%{filter:brightness(1.65);transform:translateY(-3px) scale(1.16)}68%{filter:brightness(1.16);transform:translateY(0) scale(.96)}to{filter:none;transform:none}}.immersive-shell .film-corner-button.settings-toggle:not(.is-active){opacity:.46}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.immersive-shell .lyric-cell{height:clamp(44px,12.4vw,66px);grid-template-rows:minmax(20px,.95fr) 1fr}.immersive-shell .lyric-chord{min-width:1.04em;height:1.04em;padding-inline:.1em;font-size:clamp(15px,4.55vw,26px)}.immersive-shell .film-center-play-control{width:54px;height:54px}}@media (prefers-reduced-motion:reduce){.immersive-shell .film-center-play-control,.immersive-shell .lyric-chord.is-judged-correct,.immersive-shell .lyric-chord.is-judged-missed{animation:none}}.portal-path-card.is-rehearsal{--path-glow:#b5efe0}.portal-path-card.is-story{--path-glow:#bdcaff}.portal-path-detail.detail-free,.portal-path-detail.detail-rehearsal{overflow:visible}.portal-free-definition{min-height:clamp(112px,17vh,164px);padding:clamp(15px,2.1vw,25px);display:grid;place-content:center;justify-items:center;gap:7px;text-align:center}.portal-free-definition small,.portal-story-lines small{color:rgba(255,235,190,.72);font:720 7px/1 Optima,Avenir Next,sans-serif;letter-spacing:.22em}.portal-free-definition strong{font:520 clamp(17px,2vw,25px)/1.2 Songti SC,STSong,serif;letter-spacing:.12em}.portal-free-definition p,.portal-rehearsal-card>p{max-width:610px;margin:0;color:rgba(255,248,226,.7);font:500 clamp(9px,.95vw,12px)/1.55 Songti SC,STSong,serif;letter-spacing:.07em}.portal-rehearsal-chords,.rehearsal-operation{position:relative;width:min(520px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(7px,1vw,13px)}.portal-rehearsal-chords>button,.rehearsal-operation>button{position:relative;min-width:0;min-height:clamp(49px,6.5vw,68px);padding:7px;display:grid;place-content:center;gap:2px;overflow:visible;border:1px solid rgba(255,244,216,.3);border-radius:3px 18px 3px 18px;color:rgba(255,249,230,.72);background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(45,75,70,.24));box-shadow:inset 0 0 16px rgba(255,255,255,.03);cursor:pointer;transition:transform .18s ease,color .18s ease,border-color .18s ease,box-shadow .18s ease,background .18s ease}.portal-rehearsal-chords>button small,.rehearsal-operation>button small{color:rgba(255,235,190,.62);font:680 7px/1 Optima,sans-serif;letter-spacing:.16em}.portal-rehearsal-chords>button b,.rehearsal-operation>button b{font:560 clamp(16px,2vw,25px)/1 Optima,Avenir Next,sans-serif}.portal-rehearsal-chords>button>i,.rehearsal-operation>button>i{position:absolute;right:10px;bottom:8px;left:10px;height:1px;overflow:hidden;background:rgba(255,255,255,.12)}.portal-rehearsal-chords>button>i:after,.rehearsal-operation>button>i:after{content:"";display:block;width:42%;height:100%;background:var(--portal-chord-color);box-shadow:0 0 7px var(--portal-chord-color);transform:translateX(-130%)}.portal-rehearsal-chords>button.is-active,.rehearsal-operation>button.is-active{z-index:2;transform:translateY(-3px) scale(1.045);color:#fffef1;border-color:color-mix(in srgb,var(--portal-chord-color) 68%,white);background:color-mix(in srgb,var(--portal-chord-color) 22%,rgba(43,71,67,.78));box-shadow:0 0 18px color-mix(in srgb,var(--portal-chord-color) 35%,transparent),inset 0 0 15px rgba(255,255,255,.1)}.portal-rehearsal-chords>button.is-active>i:after,.rehearsal-operation>button.is-active>i:after{animation:v52RehearsalCurrent 1.35s ease-in-out infinite}.portal-rehearsal-card.advance-pulse-0 .portal-rehearsal-chords>button.is-active,.portal-rehearsal-card.advance-pulse-1 .portal-rehearsal-chords>button.is-active,.rehearsal-operation.advance-pulse-0>button.is-active,.rehearsal-operation.advance-pulse-1>button.is-active{animation:v52ChordAdvance .36s ease-out}.portal-story-selection{padding:clamp(8px,1vw,12px);display:grid;gap:8px}.portal-story-lines>button.is-selected{color:#fffbed;border-color:rgba(255,229,179,.68);background:linear-gradient(126deg,rgba(155,107,73,.48),rgba(68,127,117,.48));box-shadow:0 0 14px rgba(255,229,179,.1),inset 0 0 0 1px rgba(255,255,255,.06)}.portal-story-selection .portal-journey-levels{grid-template-columns:repeat(3,minmax(0,1fr));padding:0}.portal-story-selection .portal-journey-levels button.is-story-level{min-height:clamp(52px,7.5vh,72px)}.practice-layer-heading{position:absolute;z-index:4;top:19%;left:50%;width:min(720px,calc(100% - 42px));display:grid;justify-items:center;gap:5px;color:#fff9e6;text-shadow:0 2px 16px rgba(30,48,44,.55);transform:translateX(-50%);pointer-events:none}.practice-layer-heading small{color:rgba(255,235,190,.78);font:720 8px/1 Optima,sans-serif;letter-spacing:.24em}.practice-layer-heading h1{margin:0;font:510 clamp(29px,4.4vw,61px)/1.05 Songti SC,STSong,serif;letter-spacing:.16em}.practice-layer-heading p{max-width:620px;margin:0;color:rgba(255,248,226,.72);font:500 clamp(10px,1.05vw,14px)/1.5 Songti SC,STSong,serif;letter-spacing:.07em}.rehearsal-operation{position:absolute;z-index:5;bottom:max(11vh,calc(var(--safe-bottom) + 30px));left:50%;width:min(620px,calc(100% - 44px));padding:clamp(11px,1.5vw,17px);border:1px solid rgba(255,244,216,.28);border-radius:4px 27px 4px 27px;background:linear-gradient(135deg,rgba(45,73,69,.48),rgba(103,80,64,.38));box-shadow:8px 9px 0 rgba(67,51,40,.12),inset 0 0 22px rgba(255,255,255,.045);transform:translateX(-50%)}@keyframes v52RehearsalCurrent{0%{transform:translateX(-130%);opacity:0}35%{opacity:1}to{transform:translateX(330%);opacity:0}}@keyframes v52ChordAdvance{0%{transform:translateY(1px) scale(.94);opacity:.6}55%{transform:translateY(-5px) scale(1.08);opacity:1}to{transform:translateY(-3px) scale(1.045);opacity:1}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-path-detail{max-height:min(33vh,210px)}.portal-free-definition{min-height:104px;padding:10px}.portal-story-selection{padding:6px;gap:5px}.portal-story-selection .portal-journey-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-story-selection .portal-journey-levels button.is-story-level{min-height:43px;padding:5px}.practice-layer-heading h1{font-size:clamp(24px,7vw,40px)}.rehearsal-operation{bottom:max(8vh,calc(var(--safe-bottom) + 20px));width:min(560px,calc(100% - 28px));padding:8px;gap:5px}.rehearsal-operation>button{min-height:45px;border-radius:2px 12px 2px 12px}}@media (prefers-reduced-motion:reduce){.free-sound-field>i,.portal-rehearsal-chords>button.is-active>i:after,.rehearsal-operation>button.is-active>i:after{animation:none}}.portal-chord-discovery{width:100%;min-height:clamp(150px,21vh,196px);padding:clamp(9px,1.2vw,15px);place-content:stretch;gap:8px}.portal-chord-discovery>header,.portal-story-heading{display:grid;justify-items:center;gap:4px;text-align:center}.portal-chord-discovery>header strong,.portal-story-heading strong{font:540 clamp(13px,1.5vw,18px)/1.2 Songti SC,STSong,serif;letter-spacing:.09em}.portal-chord-discovery>header p{font-size:clamp(8px,.85vw,11px)}.portal-discovery-chords{width:min(620px,100%);margin:0 auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.portal-discovery-chords>button{min-width:0;min-height:60px;padding:6px 7px;display:grid;grid-template-columns:18px 1fr;align-items:center;gap:1px 5px;border:1px solid rgba(255,245,221,.24);border-radius:3px 15px 3px 15px;color:rgba(255,249,232,.75);background:rgba(255,255,255,.045);cursor:pointer}.portal-discovery-chords>button b{font:600 clamp(16px,1.8vw,23px)/1 Optima,sans-serif;text-align:left}.portal-discovery-chords>button span{overflow:hidden;color:rgba(255,245,220,.65);font:600 8px/1.1 Optima,sans-serif;letter-spacing:.08em;text-align:left;white-space:nowrap}.portal-discovery-chords>button em{grid-column:1/-1;color:rgba(255,255,255,.48);font:600 7px/1 Optima,sans-serif;font-style:normal;letter-spacing:.18em}.portal-discovery-chords>button.is-active{border-color:color-mix(in srgb,var(--portal-chord-color) 72%,white);background:color-mix(in srgb,var(--portal-chord-color) 20%,rgba(47,66,63,.8));box-shadow:0 0 16px color-mix(in srgb,var(--portal-chord-color) 30%,transparent);transform:translateY(-2px)}.portal-story-heading span{color:rgba(255,245,220,.62);font:500 9px/1.3 Songti SC,STSong,serif;letter-spacing:.06em}.portal-story-selection .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-story-selection .portal-journey-levels button.is-story-level{min-height:clamp(46px,6.5vh,62px)}.portal-story-selection .portal-journey-levels button.is-boss-level{border-color:rgba(211,178,255,.42);background:linear-gradient(128deg,rgba(84,65,106,.5),rgba(50,94,91,.44));box-shadow:inset 0 0 18px rgba(204,173,255,.055)}.portal-story-selection .portal-journey-levels button.is-boss-level.is-selected{border-color:rgba(225,205,255,.78);box-shadow:0 0 18px rgba(185,146,238,.2),inset 0 0 18px rgba(204,173,255,.1)}.free-chord-tutorial,.rehearsal-operation{position:absolute;z-index:5;right:max(18px,var(--safe-right));bottom:max(3.5vh,calc(var(--safe-bottom) + 10px));left:max(18px,var(--safe-left));width:min(920px,calc(100% - 36px));margin:0 auto;padding:clamp(10px,1.4vw,17px);border:1px solid rgba(255,244,216,.3);border-radius:5px 30px 5px 30px;color:#fff9e9;background:linear-gradient(138deg,rgba(43,70,67,.66),rgba(100,76,61,.54));box-shadow:9px 10px 0 rgba(54,43,35,.12),inset 0 0 24px rgba(255,255,255,.05);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transform:none}.free-chord-sequence>button.is-active,.rehearsal-chord-row>button.is-active{z-index:2;color:#fffef2;border-color:color-mix(in srgb,var(--portal-chord-color) 70%,white);background:color-mix(in srgb,var(--portal-chord-color) 23%,rgba(38,60,58,.9));box-shadow:0 0 17px color-mix(in srgb,var(--portal-chord-color) 30%,transparent);transform:translateY(-2px)}.foundation-keyboard{width:100%;height:clamp(92px,14vh,130px);display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:3px;perspective:700px}.foundation-keyboard>button{position:relative;min-width:0;padding:0 2px 7px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:4px;border:1px solid rgba(255,255,255,.48);border-radius:4px 4px 13px 13px;color:rgba(55,67,63,.65);background:linear-gradient(180deg,rgba(255,255,255,.28),rgba(250,244,224,.72));box-shadow:inset 0 -10px 16px rgba(134,112,82,.11),0 3px 0 rgba(44,54,51,.16);cursor:pointer;transform-origin:top center;transition:transform .11s ease,background .16s ease,box-shadow .16s ease}.foundation-keyboard>button b{position:absolute;top:8px;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;color:#fffdf0;background:color-mix(in srgb,var(--tutorial-color) 72%,rgba(255,255,255,.2));box-shadow:0 0 15px color-mix(in srgb,var(--tutorial-color) 55%,transparent);font:700 11px/1 Optima,sans-serif}.foundation-keyboard>button i{color:#fffdf1;font:700 clamp(10px,1.2vw,14px)/1 Optima,sans-serif;font-style:normal;text-shadow:0 1px 8px rgba(0,0,0,.28)}.foundation-keyboard>button small{font:650 7px/1 Optima,sans-serif}.foundation-keyboard>button.is-target{border-color:color-mix(in srgb,var(--tutorial-color) 66%,white);background:linear-gradient(180deg,color-mix(in srgb,var(--tutorial-color) 44%,rgba(255,255,255,.5)),color-mix(in srgb,var(--tutorial-color) 62%,rgba(248,238,211,.68)));box-shadow:0 0 15px color-mix(in srgb,var(--tutorial-color) 28%,transparent),inset 0 -12px 18px rgba(255,255,255,.12)}.foundation-keyboard>button.is-pressed{transform:rotateX(-4deg) translateY(3px);filter:brightness(1.18)}.foundation-keyboard.is-compact{height:70px}.rehearsal-operation{display:grid;grid-template-columns:1fr;gap:8px}.rehearsal-beat-display i.is-current{background:#fff1bc;box-shadow:0 0 10px #fff1bc;transform:scale(1.25)}.rehearsal-stage-rail>i.is-current{color:#fff9e7;border-color:rgba(255,225,169,.5);background:rgba(255,224,166,.08)}.rehearsal-stage-rail>i.is-done{color:rgba(190,240,220,.7);border-color:rgba(140,220,190,.28)}.rehearsal-operation.is-complete{place-content:center;min-height:38vh}.rehearsal-operation.is-complete .rehearsal-stage-rail>i{color:rgba(204,241,224,.75);border-color:rgba(150,224,194,.32)}.rehearsal-operation.miss-pulse-0:not(.is-complete),.rehearsal-operation.miss-pulse-1:not(.is-complete){animation:v53RehearsalMiss .3s ease-out}@keyframes v53RehearsalMiss{0%,to{border-color:rgba(255,244,216,.3)}50%{border-color:rgba(218,224,217,.65);box-shadow:0 0 18px rgba(210,220,215,.14),inset 0 0 24px rgba(255,255,255,.06)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-chord-discovery{min-height:128px;padding:6px;gap:5px}.portal-chord-discovery>header p{display:none}.portal-discovery-chords>button{min-height:45px;padding:4px;grid-template-columns:14px 1fr}.portal-discovery-chords>button em{display:none}.portal-story-selection .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-story-selection .portal-journey-levels button.is-story-level{min-height:39px}.practice-layer-heading{top:17%;width:calc(100% - 30px);top:12%}.practice-layer-heading p{max-width:90vw}.free-chord-tutorial,.rehearsal-operation{right:max(8px,var(--safe-right));bottom:max(1.5vh,calc(var(--safe-bottom) + 5px));left:max(8px,var(--safe-left));width:calc(100% - 16px);padding:8px;gap:6px;border-radius:4px 20px 4px 20px}.foundation-keyboard{height:clamp(82px,13vh,104px);gap:2px}.foundation-keyboard>button b{top:5px;width:20px;height:20px;font-size:9px}.foundation-keyboard>button small{font-size:6px}}@media (max-width:430px) and (orientation:portrait){.portal-path-detail.detail-free,.portal-path-detail.detail-rehearsal{overflow:hidden}.portal-chord-discovery>header strong{font-size:12px}.portal-discovery-chords{gap:3px}.portal-discovery-chords>button b{font-size:14px}.portal-discovery-chords>button span{font-size:6px}.practice-layer-heading{top:14%}.practice-layer-heading h1{font-size:26px}.practice-layer-heading p{font-size:9px;line-height:1.35}.foundation-keyboard{height:112px}.foundation-keyboard>button{padding-right:0;padding-left:0}.foundation-keyboard>button i{font-size:9px}.rehearsal-operation.is-complete{min-height:48vh}}@media (prefers-reduced-motion:reduce){.rehearsal-operation.miss-pulse-0,.rehearsal-operation.miss-pulse-1{animation:none}}.is-free-practice-settings-host:after,.is-free-practice-settings-host:before,.practice-layer-rehearsal .free-practice-film{display:none}.practice-layer-rehearsal .practice-layer-heading{top:10.5%}.practice-layer-rehearsal .practice-layer-heading h1{font-size:clamp(25px,3.7vw,48px)}.practice-layer-rehearsal .practice-layer-heading p{max-width:720px;font-size:clamp(10px,.95vw,13px)}.rehearsal-stepper-shell{top:23%;right:max(18px,var(--safe-right));bottom:auto;left:max(18px,var(--safe-left));width:min(980px,calc(100% - 36px));min-height:0;max-height:74%;padding:clamp(11px,1.35vw,16px);align-content:start;gap:clamp(7px,1vh,11px);overflow:auto;border-color:rgba(255,239,206,.34);border-radius:5px 28px 5px 28px;background:linear-gradient(142deg,rgba(31,57,55,.94),rgba(91,69,55,.91));box-shadow:8px 9px 0 rgba(57,44,35,.12),inset 0 0 0 1px rgba(255,255,255,.035);-webkit-backdrop-filter:none;backdrop-filter:none;scrollbar-width:thin}.rehearsal-stepper-shell.is-complete{min-height:0;place-content:initial}.rehearsal-key-switch button.is-active{color:#fff9df;background:linear-gradient(125deg,rgba(243,186,126,.27),rgba(112,190,178,.2));box-shadow:0 0 12px rgba(255,226,177,.1),inset 0 0 0 1px rgba(255,241,207,.18)}.rehearsal-stepper-shell .rehearsal-beat-display{min-width:88px;justify-content:center;padding:8px 10px;border:1px solid rgba(198,234,224,.18);border-radius:3px 12px 3px 12px;background:rgba(110,180,168,.06)}.rehearsal-stepper-shell .rehearsal-beat-display i{width:7px;height:7px;border:0;background:rgba(255,245,218,.28)}.rehearsal-stepper-shell .rehearsal-beat-display i.is-current{animation:v54MetronomeBreath .64s ease-in-out infinite alternate}.rehearsal-stepper-shell .rehearsal-stage-rail>i{min-height:27px}.rehearsal-stepper-shell .rehearsal-chord-row{gap:8px}.rehearsal-stepper-shell .rehearsal-chord-row>button{min-height:52px;padding:6px 9px;grid-template-columns:19px minmax(0,1fr) 25px;border-radius:3px 15px 3px 15px;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.rehearsal-stepper-shell .rehearsal-chord-row>button b{font-size:clamp(18px,2vw,25px)}.rehearsal-stepper-shell .rehearsal-chord-row>button span{font-size:8px}.rehearsal-chord-row>button.is-correct .rehearsal-chord-result{color:#e8ffe7;background:rgba(113,207,151,.22);box-shadow:0 0 12px rgba(109,224,160,.2)}.rehearsal-chord-row>button.is-missed .rehearsal-chord-result{color:#e99782;background:rgba(201,115,94,.09);font-size:23px}.rehearsal-sixteen-stepper{display:grid;gap:5px}.rehearsal-stepper-bar.is-correct>header i{color:#dfffe5;text-shadow:0 0 10px rgba(116,222,164,.65)}.rehearsal-stepper-bar.is-missed>header i{color:#dc927d;font-size:22px}.rehearsal-stepper-bar.is-active>header{color:#fffcec;border-color:color-mix(in srgb,var(--portal-chord-color) 66%,white);background:color-mix(in srgb,var(--portal-chord-color) 15%,rgba(30,54,52,.76));box-shadow:0 0 12px color-mix(in srgb,var(--portal-chord-color) 19%,transparent)}.rehearsal-stepper-bar>div>i.is-passed{color:rgba(255,248,226,.62);background:rgba(255,255,255,.05)}.rehearsal-stepper-bar>div>i.is-current{color:#fffde9;border-color:color-mix(in srgb,var(--portal-chord-color) 70%,white);background:color-mix(in srgb,var(--portal-chord-color) 28%,rgba(39,65,61,.84));box-shadow:0 0 15px color-mix(in srgb,var(--portal-chord-color) 27%,transparent),inset 0 0 12px rgba(255,255,255,.08);transform:translateY(-1px)}.rehearsal-stepper-bar>div>i.is-current:after{background:linear-gradient(90deg,transparent,#fff3c4,transparent);animation:v54StepGlow .6s ease-in-out infinite alternate}@keyframes v54MetronomeBreath{0%{opacity:.45;box-shadow:0 0 3px rgba(255,241,187,.3);transform:scale(.9)}to{opacity:1;box-shadow:0 0 12px rgba(255,241,187,.85);transform:scale(1.22)}}@keyframes v54StepGlow{0%{opacity:.35;transform:scaleX(.45)}to{opacity:1;transform:scaleX(1)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.practice-layer-rehearsal .practice-layer-heading{top:10%}.practice-layer-rehearsal .practice-layer-heading p{display:none}.rehearsal-stepper-shell{top:20%;right:max(8px,var(--safe-right));bottom:auto;left:max(8px,var(--safe-left));width:calc(100% - 16px);padding:8px;gap:6px;border-radius:4px 18px 4px 18px}.rehearsal-stepper-shell .rehearsal-beat-display{min-width:72px;padding:7px 6px}.rehearsal-stepper-shell .rehearsal-chord-row>button{min-height:44px;padding:4px 5px;grid-template-columns:14px 1fr 20px}.rehearsal-stepper-shell .rehearsal-chord-row>button b{font-size:17px}}@media (max-width:430px) and (orientation:portrait){.practice-layer-rehearsal .practice-layer-heading{top:9.5%}.practice-layer-rehearsal .practice-layer-heading h1{font-size:24px}.rehearsal-stepper-shell{top:18%;max-height:80%;padding:7px;gap:5px}.rehearsal-stepper-shell .rehearsal-beat-display{min-width:88px;padding:5px}.rehearsal-stepper-shell .rehearsal-stage-rail>i{min-height:22px;padding:2px}.rehearsal-stepper-shell .rehearsal-chord-row{gap:3px}.rehearsal-stepper-shell .rehearsal-chord-row>button{min-height:42px;padding:3px;display:grid;grid-template-columns:12px 1fr}.rehearsal-stepper-shell .rehearsal-chord-row>button b{font-size:15px}.rehearsal-stepper-shell .rehearsal-chord-row>button span{display:none}}@media (prefers-reduced-motion:reduce){.rehearsal-stepper-bar>div>i.is-current:after,.rehearsal-stepper-shell .rehearsal-beat-display i.is-current{animation:none}}.portal-path-free .portal-path-detail.detail-free{max-height:min(58vh,500px);overflow:auto;scrollbar-width:none}.portal-path-free .portal-path-detail.detail-free::-webkit-scrollbar{display:none}.portal-inline-free-learning{min-height:0;padding:clamp(10px,1.35vw,16px);place-content:stretch;justify-items:stretch;gap:8px;text-align:left}.portal-inline-free-learning .foundation-keyboard.is-compact{height:clamp(58px,8vh,76px)}.portal-inline-free-learning .foundation-keyboard>button{padding-bottom:4px;border-radius:3px 3px 9px 9px}.portal-inline-free-learning .foundation-keyboard>button b{top:4px;width:19px;height:19px;font-size:9px}.portal-inline-free-learning .foundation-keyboard>button i{font-size:9px}.rehearsal-stepper-shell{top:22%;max-height:76%}.rehearsal-current-target{min-height:52px;padding:7px 11px;display:grid;grid-template-columns:auto auto minmax(90px,1fr) auto;align-items:center;gap:8px;border:1px solid color-mix(in srgb,var(--portal-chord-color) 52%,rgba(255,255,255,.2));border-radius:3px 15px 3px 15px;color:#fff9e6;background:color-mix(in srgb,var(--portal-chord-color) 12%,rgba(31,55,53,.76));box-shadow:inset 0 0 18px rgba(255,255,255,.03)}.rehearsal-current-target small{color:var(--portal-chord-color);font:750 7px/1 Optima,sans-serif;letter-spacing:.18em}.rehearsal-current-target strong{font:650 clamp(24px,3vw,36px)/1 Optima,sans-serif;text-shadow:0 0 14px color-mix(in srgb,var(--portal-chord-color) 45%,transparent)}.rehearsal-current-target span{color:rgba(255,247,225,.64);font:620 9px/1 Optima,sans-serif;letter-spacing:.12em}.rehearsal-current-target em{color:rgba(255,245,221,.56);font:520 9px/1.35 Songti SC,STSong,serif;font-style:normal;text-align:right}.rehearsal-one-line-stepper{width:100%;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:3px}.rehearsal-one-line-stepper>i{position:relative;min-width:0;min-height:66px;padding:5px 2px;display:grid;place-items:center;align-content:center;gap:3px;overflow:hidden;border:1px solid rgba(255,242,214,.13);border-radius:2px 8px 2px 8px;color:rgba(255,247,226,.34);background:rgba(255,255,255,.025);font-style:normal;transition:border-color .16s ease,color .16s ease,background .16s ease,box-shadow .16s ease,transform .16s ease}.rehearsal-one-line-stepper>i:after{position:absolute;right:3px;bottom:2px;left:3px;height:2px;content:"";border-radius:999px;background:rgba(255,255,255,.07)}.rehearsal-one-line-stepper>i small{position:absolute;top:5px;left:5px;font:700 6px/1 Optima,sans-serif;letter-spacing:.06em}.rehearsal-one-line-stepper>i b{font:650 clamp(10px,1.1vw,14px)/1 Optima,sans-serif}.rehearsal-one-line-stepper>i.is-chord-step{color:color-mix(in srgb,var(--portal-chord-color) 68%,white);border-color:color-mix(in srgb,var(--portal-chord-color) 38%,rgba(255,255,255,.16));background:color-mix(in srgb,var(--portal-chord-color) 9%,rgba(255,255,255,.025))}.rehearsal-one-line-stepper>i.is-chord-step b{font-size:clamp(13px,1.45vw,19px)}.rehearsal-one-line-stepper>i.is-chord-step span{position:absolute;right:4px;top:4px;font:750 6px/1 Optima,sans-serif;opacity:.7}.rehearsal-one-line-stepper>i em{position:absolute;right:4px;bottom:5px;color:#ddffe6;font:800 10px/1 Optima,sans-serif;font-style:normal;text-shadow:0 0 8px rgba(111,229,161,.7)}.rehearsal-one-line-stepper>i.is-passed{color:rgba(255,249,230,.63);background:rgba(255,255,255,.05)}.rehearsal-one-line-stepper>i.is-correct{border-color:rgba(126,222,166,.42)}.rehearsal-one-line-stepper>i.is-current{z-index:2;color:#fffde9;border-color:color-mix(in srgb,var(--portal-chord-color,#ffe8b6) 76%,white);background:color-mix(in srgb,var(--portal-chord-color,#ffe8b6) 25%,rgba(35,61,58,.86));box-shadow:0 0 18px color-mix(in srgb,var(--portal-chord-color,#ffe8b6) 31%,transparent),inset 0 0 13px rgba(255,255,255,.08);transform:translateY(-2px) scale(1.03)}.rehearsal-one-line-stepper>i.is-current:after{background:linear-gradient(90deg,transparent,#fff1b8,transparent);animation:v54StepGlow .6s ease-in-out infinite alternate}.rehearsal-one-line-stepper>i.is-waiting{animation:v55WaitingChord 1.7s ease-in-out infinite}.rehearsal-challenge-progress{display:grid;grid-template-columns:1fr;gap:4px}.rehearsal-progress-line{height:3px;margin:0 3px 2px;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.rehearsal-progress-line>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#f5bd83,#a9dfd1);box-shadow:0 0 9px rgba(190,237,222,.42);transition:width .42s ease}.rehearsal-challenge-progress>span{min-height:31px;padding:4px 9px;display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:8px;border:1px solid rgba(255,243,214,.12);border-radius:2px 10px 2px 10px;color:rgba(255,248,228,.42);background:rgba(255,255,255,.018)}.rehearsal-challenge-progress>span>b{width:21px;height:21px;display:grid;place-items:center;border:1px solid rgba(255,242,212,.2);border-radius:50%;font:700 8px/1 Optima,sans-serif}.rehearsal-challenge-progress>span>i{min-width:0;display:flex;align-items:baseline;gap:9px;font-style:normal}.rehearsal-challenge-progress strong{font:540 10px/1.1 Songti SC,STSong,serif;letter-spacing:.08em}.rehearsal-challenge-progress em{color:rgba(255,226,174,.52);font:700 8px/1 Optima,sans-serif;font-style:normal;letter-spacing:.12em}.rehearsal-challenge-progress small{font:700 7px/1 Optima,sans-serif;letter-spacing:.08em}.rehearsal-challenge-progress>span.is-current{color:#fff8df;border-color:rgba(255,222,168,.45);background:linear-gradient(105deg,rgba(242,177,116,.09),rgba(106,184,172,.07))}.rehearsal-challenge-progress>span.is-current>b{color:#fff2be;border-color:rgba(255,231,183,.55);box-shadow:0 0 10px rgba(255,224,166,.15)}.rehearsal-challenge-progress>span.is-done{color:rgba(218,255,228,.7);border-color:rgba(126,220,166,.25)}.rehearsal-challenge-progress>span.is-done>b{color:#e3ffe8;border-color:rgba(126,220,166,.4);background:rgba(105,204,147,.12)}@keyframes v55WaitingChord{0%,to{filter:brightness(.92)}50%{filter:brightness(1.18)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-path-free .portal-path-detail.detail-free{max-height:48vh}.portal-inline-free-learning{padding:8px;gap:6px}.portal-inline-free-learning>header p{font-size:9px}.rehearsal-current-target{min-height:46px;padding:5px 8px;grid-template-columns:auto auto 1fr}.rehearsal-current-target em{grid-column:1/-1;text-align:left;font-size:8px}.rehearsal-one-line-stepper{gap:2px}.rehearsal-one-line-stepper>i{min-height:54px;border-radius:2px 6px 2px 6px}.rehearsal-one-line-stepper>i small{top:4px;left:3px;font-size:5px}.rehearsal-one-line-stepper>i.is-chord-step b{font-size:13px}.rehearsal-challenge-progress>span{min-height:28px;padding:3px 7px}}@media (max-width:430px) and (orientation:portrait){.portal-path-free{align-content:start}.portal-path-free .portal-path-detail.detail-free{max-height:51vh}.portal-inline-free-learning>header strong{font-size:14px}.portal-inline-free-learning .portal-discovery-chords{gap:3px}.portal-inline-free-learning .portal-discovery-chords>button{min-height:53px;padding:4px}.portal-inline-free-learning .foundation-keyboard.is-compact{height:56px;gap:2px}.rehearsal-stepper-shell{top:18%;max-height:80%}.rehearsal-current-target strong{font-size:23px}.rehearsal-current-target span{font-size:7px}.rehearsal-one-line-stepper>i{min-height:50px;padding-inline:0}.rehearsal-one-line-stepper>i b{font-size:9px}.rehearsal-one-line-stepper>i.is-chord-step b{font-size:11px;transform:rotate(-6deg)}.rehearsal-one-line-stepper>i.is-chord-step span{right:2px;font-size:5px}.rehearsal-one-line-stepper>i em{right:2px;bottom:3px;font-size:8px}.rehearsal-challenge-progress strong{font-size:9px}.rehearsal-challenge-progress em{font-size:7px}}@media (prefers-reduced-motion:reduce){.rehearsal-one-line-stepper>i.is-waiting{animation:none}}.learning-chapter-strip{width:100%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.learning-chapter-strip>button{min-width:0;min-height:30px;padding:5px 7px;display:flex;align-items:center;justify-content:center;gap:6px;border:1px solid rgba(255,244,216,.18);border-radius:2px 10px 2px 10px;color:rgba(255,247,226,.52);background:rgba(255,255,255,.025);font:540 clamp(9px,.82vw,12px)/1.15 Songti SC,STSong,serif;cursor:pointer}.learning-chapter-strip>button.is-current{color:#fff9e4;border-color:rgba(255,226,176,.55);background:linear-gradient(120deg,rgba(236,173,113,.14),rgba(109,190,177,.11));box-shadow:0 0 12px rgba(255,223,171,.1),inset 0 0 11px rgba(255,255,255,.04)}.learning-chapter-strip>button.is-locked{opacity:.34;cursor:not-allowed}.foundation-keyboard-row{width:100%;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch}.foundation-piano-keyboard,.portal-inline-free-learning .foundation-piano-keyboard.is-compact{position:relative;width:100%;height:clamp(82px,10.5vh,116px);display:block;overflow:hidden;border:1px solid rgba(255,245,220,.28);border-radius:4px 17px 5px 18px;background:rgba(28,48,46,.34);perspective:none}.foundation-white-keys{position:absolute;inset:0;display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:1px}.foundation-black-keys{position:absolute;z-index:3;inset:0;pointer-events:none}.foundation-piano-keyboard button{appearance:none;-webkit-tap-highlight-color:transparent;touch-action:none;cursor:pointer;transition:transform .1s ease,filter .15s ease,background .18s ease,box-shadow .18s ease}.foundation-white-keys>button{position:relative;min-width:0;padding:0 1px 7px;gap:3px;border:1px solid rgba(255,255,255,.5);border-radius:2px 2px 9px 9px;color:rgba(50,65,61,.72);background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(240,232,210,.9));box-shadow:inset 0 -10px 15px rgba(122,100,72,.11),0 2px 0 rgba(35,48,45,.2)}.foundation-black-keys>button,.foundation-white-keys>button{display:flex;flex-direction:column;align-items:center;justify-content:flex-end}.foundation-black-keys>button{position:absolute;z-index:4;top:0;left:var(--black-key-left);width:calc((100% / 14) * .62);height:61%;padding:0 1px 5px;gap:2px;border:1px solid rgba(255,248,226,.24);border-radius:2px 2px 7px 7px;color:rgba(255,247,222,.62);background:linear-gradient(160deg,#253a38,#101b1b 72%);box-shadow:inset 0 -8px 10px rgba(0,0,0,.28),0 4px 5px rgba(14,25,24,.36);pointer-events:auto;transform:translateX(-50%)}.foundation-piano-keyboard button>b{position:absolute;z-index:2;top:5px;width:clamp(17px,1.55vw,22px);height:clamp(17px,1.55vw,22px);display:grid;place-items:center;border-radius:50%;color:#fffdf1;background:color-mix(in srgb,var(--tutorial-color) 74%,rgba(255,255,255,.18));box-shadow:0 0 12px color-mix(in srgb,var(--tutorial-color) 58%,transparent);font:750 clamp(8px,.72vw,10px)/1 Optima,sans-serif}.foundation-black-keys>button>b{top:3px;width:15px;height:15px;font-size:7px}.foundation-piano-keyboard button>i{color:#fffdf1;font:760 clamp(8px,.8vw,11px)/1 Optima,sans-serif;font-style:normal;text-shadow:0 1px 7px rgba(0,0,0,.42)}.foundation-piano-keyboard button>small{font:680 clamp(5px,.48vw,7px)/1 Optima,sans-serif}.foundation-black-keys>button>small{color:rgba(255,248,229,.54)}.foundation-white-keys>button.is-target{border-color:color-mix(in srgb,var(--tutorial-color) 70%,white);background:linear-gradient(180deg,color-mix(in srgb,var(--tutorial-color) 44%,white),color-mix(in srgb,var(--tutorial-color) 64%,#eee3c8));box-shadow:0 0 13px color-mix(in srgb,var(--tutorial-color) 34%,transparent),inset 0 -10px 16px rgba(255,255,255,.13)}.foundation-black-keys>button.is-target{border-color:color-mix(in srgb,var(--tutorial-color) 75%,white);background:linear-gradient(160deg,color-mix(in srgb,var(--tutorial-color) 58%,#313f3d),color-mix(in srgb,var(--tutorial-color) 34%,#101a19));box-shadow:0 0 14px color-mix(in srgb,var(--tutorial-color) 48%,transparent),inset 0 -7px 10px rgba(0,0,0,.2)}.foundation-white-keys>button.is-pressed{transform:translateY(3px) rotateX(-3deg);filter:brightness(1.16)}.foundation-black-keys>button.is-pressed{transform:translateX(-50%) translateY(3px);filter:brightness(1.25)}.foundation-key-switch button.is-active{color:#fff9e6;border-color:rgba(164,231,214,.58);background:rgba(107,190,173,.18);box-shadow:0 0 10px rgba(128,226,205,.18)}.rehearsal-current-target.is-preview{opacity:.78;border-style:dashed}.rehearsal-current-target.is-preview strong{transform:scale(.92)}.rehearsal-current-target.is-ready strong{animation:v56ReadyChord 1.15s ease-in-out infinite}.rehearsal-timing-hint{min-height:18px;margin-block:-4px;color:transparent;font:550 clamp(9px,.8vw,11px)/1.35 Songti SC,STSong,serif;letter-spacing:.05em;text-align:center;transition:color .18s ease,transform .18s ease}.rehearsal-timing-hint.is-visible{color:#ffe5b3;transform:translateY(-1px);text-shadow:0 0 10px rgba(255,218,158,.34)}.rehearsal-one-line-stepper>i.is-preview-target:not(.is-current){color:color-mix(in srgb,var(--portal-chord-color) 78%,white);border-color:color-mix(in srgb,var(--portal-chord-color) 55%,rgba(255,255,255,.18));background:color-mix(in srgb,var(--portal-chord-color) 14%,rgba(31,55,52,.72));box-shadow:0 0 11px color-mix(in srgb,var(--portal-chord-color) 18%,transparent);animation:v56PreviewChord 1.4s ease-in-out infinite}.rehearsal-one-line-stepper>i.is-correct,.rehearsal-one-line-stepper>i.is-correct.is-passed{color:#edfff0;border-color:rgba(132,239,171,.88);background:linear-gradient(145deg,rgba(70,176,116,.78),rgba(38,124,89,.66));box-shadow:0 0 16px rgba(99,232,153,.38),inset 0 0 12px rgba(231,255,235,.16)}.rehearsal-one-line-stepper>i.is-correct:after{background:#caffd8;box-shadow:0 0 7px rgba(177,255,204,.8)}.portal-story-selection{overflow:visible}.portal-story-selection .portal-journey-levels{grid-template-columns:repeat(2,minmax(0,1fr))!important;overflow:visible}.portal-story-selection .portal-journey-levels button.is-boss-level,.portal-story-selection .portal-journey-levels button.is-story-level{grid-column:auto!important;min-height:clamp(54px,7.2vh,70px);font-size:clamp(11px,1vw,14px)}.portal-story-selection .portal-journey-levels button.is-locked{opacity:.55;border-style:dashed;filter:saturate(.62)}.portal-story-selection .portal-journey-levels button.is-locked i{color:rgba(255,238,208,.65)}.free-practice-stage:after,.free-practice-stage:before,.portal-path-stage:after,.portal-path-stage:before{position:absolute;z-index:1;inset:5px;content:"";border:1px solid rgba(255,235,198,.16);border-radius:6px 32px 6px 32px;pointer-events:none;opacity:calc(.13 + (var(--chapter-energy, 1) * .09));box-shadow:0 0 calc(5px + (var(--chapter-energy, 1) * 5px)) rgba(255,223,171,.14),inset 0 0 calc(8px + (var(--chapter-energy, 1) * 7px)) rgba(157,232,216,.08);animation:v56ChapterBorder calc(4.4s - (var(--chapter-energy, 1) * .45s)) ease-in-out infinite}.free-practice-stage:after,.portal-path-stage:after{inset:0;border:0;border-radius:0;background-image:radial-gradient(circle at 8% 14%,rgba(255,233,191,.8) 0 1px,transparent 2px),radial-gradient(circle at 93% 21%,rgba(171,238,221,.75) 0 1px,transparent 2px),radial-gradient(circle at 88% 82%,rgba(255,220,166,.72) 0 1px,transparent 2px),radial-gradient(circle at 13% 76%,rgba(184,239,225,.65) 0 1px,transparent 2px);background-size:calc(170px - var(--chapter-energy, 1) * 17px) calc(130px - var(--chapter-energy, 1) * 10px);opacity:calc(.08 + (var(--chapter-energy, 1) * .1));filter:drop-shadow(0 0 calc(2px + var(--chapter-energy, 1) * 2px) rgba(255,237,204,.72));animation:v56ChapterParticles calc(11s - (var(--chapter-energy, 1) * 1.1s)) linear infinite}.chapter-intensity-1{--chapter-energy:1}.chapter-intensity-2{--chapter-energy:2}.chapter-intensity-3{--chapter-energy:3}.chapter-intensity-4{--chapter-energy:4}.portal-path-stage>*{position:relative;z-index:2}.free-practice-stage>.free-practice-film{position:absolute;z-index:0}.immersive-shell .story-progress-gate-label{position:absolute;left:calc(50% + 19px);color:rgba(255,248,228,.9);font:650 clamp(8px,.72vw,10px)/1 Songti SC,STSong,serif;letter-spacing:.06em;white-space:nowrap;text-shadow:0 1px 5px rgba(18,40,38,.8)}.immersive-shell .story-progress-gate-label.is-pass{bottom:calc(60% - 4px);color:#ffe3a5}.immersive-shell .story-progress-gate-label.is-ending{bottom:calc(90% - 4px);color:#b9fff5}.immersive-shell .lyric-chord{min-width:1.04em;height:1.04em;padding-inline:.08em;font-size:clamp(30px,3.55vw,52px);font-weight:650}.immersive-shell .lyric-chord-label{width:100%;height:100%;font-size:.82em;line-height:1;letter-spacing:-.035em}@keyframes v56ReadyChord{0%,to{filter:brightness(.96);transform:scale(1)}50%{filter:brightness(1.24);transform:scale(1.05)}}@keyframes v56PreviewChord{0%,to{filter:brightness(.84)}50%{filter:brightness(1.08)}}@keyframes v56ChapterBorder{0%,to{filter:brightness(.86)}50%{filter:brightness(1.22)}}@keyframes v56ChapterParticles{0%{background-position:0 0,0 0,0 0,0 0}to{background-position:36px -70px,-28px -62px,42px -84px,-34px -76px}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.learning-chapter-strip>button{min-height:25px;padding:3px 5px;font-size:9px}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) 36px;gap:5px}.foundation-piano-keyboard,.portal-inline-free-learning .foundation-piano-keyboard.is-compact{height:clamp(68px,13.5vh,88px)}.foundation-piano-keyboard button>b{top:3px;width:15px;height:15px;font-size:7px}.foundation-piano-keyboard button>i{font-size:7px}.portal-story-selection .portal-journey-levels button.is-boss-level,.portal-story-selection .portal-journey-levels button.is-story-level{min-height:48px}.rehearsal-timing-hint{min-height:14px;font-size:8px}.immersive-shell .story-progress-gate-label{left:calc(50% + 15px);font-size:8px}.immersive-shell .lyric-chord{font-size:clamp(20px,5.25vw,30px)}}@media (max-width:430px) and (orientation:portrait){.learning-chapter-strip{gap:3px}.learning-chapter-strip>button{min-height:32px;padding:4px 2px;display:grid;gap:2px;font-size:10px}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) 39px}.foundation-piano-keyboard,.portal-inline-free-learning .foundation-piano-keyboard.is-compact{height:82px}.foundation-piano-keyboard button>small{display:none}.foundation-white-keys>button{padding-bottom:4px}.foundation-black-keys>button{height:58%}.foundation-piano-keyboard button>b{width:14px;height:14px;font-size:6px}.foundation-piano-keyboard button>i{font-size:6.5px}.portal-story-selection .portal-journey-levels button.is-boss-level,.portal-story-selection .portal-journey-levels button.is-story-level{min-height:66px;padding:7px}.portal-story-selection .portal-journey-levels button span{font-size:12px;line-height:1.25}.portal-story-selection .portal-journey-levels button span small{font-size:7px}.rehearsal-timing-hint{min-height:26px}.immersive-shell .story-progress-gate-label{left:calc(50% + 14px);font-size:8px;writing-mode:vertical-rl}.immersive-shell .lyric-chord{font-size:clamp(22px,8.4vw,34px)}}@media (prefers-reduced-motion:reduce){.free-practice-stage:after,.free-practice-stage:before,.portal-path-stage:after,.portal-path-stage:before,.rehearsal-current-target.is-ready strong,.rehearsal-one-line-stepper>i.is-preview-target{animation:none}}.portal-cinematic .portal-path-device.portal-device-compact{width:118px;min-height:42px;height:42px;margin:0 auto;padding:6px 11px;display:grid;grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:8px;border:1px solid rgba(255,246,218,.58);border-radius:999px;background:linear-gradient(115deg,rgba(37,66,64,.79),rgba(84,98,90,.62));box-shadow:0 7px 19px rgba(35,47,43,.2),inset 0 0 14px rgba(255,255,255,.055)}.portal-device-compact .device-aura{inset:-130% -55%;opacity:.18}.portal-device-compact .device-mini-keys{position:relative;z-index:2;height:25px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:end;gap:2px;filter:drop-shadow(0 0 6px color-mix(in srgb,var(--lesson-glow) 55%,rgba(255,244,216,.4)))}.portal-device-compact .device-mini-keys>i{height:24px;border:1px solid rgba(255,251,232,.78);border-radius:2px 2px 5px 5px;background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,243,209,.15));box-shadow:inset 0 -5px 8px rgba(84,98,88,.14);animation:v57MiniKeyBreath 2.4s ease-in-out infinite alternate}.portal-device-compact .device-mini-keys>i:nth-child(2),.portal-device-compact .device-mini-keys>i:nth-child(4){height:17px;align-self:start;border-color:color-mix(in srgb,var(--lesson-glow) 65%,white);background:color-mix(in srgb,var(--lesson-glow) 42%,rgba(34,59,58,.66))}.portal-device-compact .device-mini-keys>i:nth-child(2){animation-delay:.18s}.portal-device-compact .device-mini-keys>i:nth-child(3){animation-delay:.36s}.portal-device-compact .device-mini-keys>i:nth-child(4){animation-delay:.54s}.portal-device-compact .device-mini-keys>i:nth-child(5){animation-delay:.72s}.portal-device-compact .device-bluetooth-icon{position:relative;z-index:2;width:21px;height:27px;display:grid;place-items:center;color:color-mix(in srgb,var(--lesson-glow) 72%,white);filter:drop-shadow(0 0 6px color-mix(in srgb,var(--lesson-glow) 52%,transparent))}.portal-device-compact .device-bluetooth-icon svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.portal-device-compact.is-live{border-color:color-mix(in srgb,var(--lesson-glow) 72%,white);box-shadow:0 0 19px color-mix(in srgb,var(--lesson-glow) 50%,transparent),inset 0 0 16px rgba(255,255,255,.1)}.portal-device-compact.is-live .device-mini-keys>i{background:color-mix(in srgb,var(--lesson-glow) 43%,rgba(255,255,255,.2));box-shadow:inset 0 0 9px rgba(255,255,255,.4),0 0 7px color-mix(in srgb,var(--lesson-glow) 58%,transparent)}.learning-chapter-strip>button.is-free-chapter{opacity:1;cursor:pointer}.portal-path-heading small{color:rgba(255,241,205,.82);font:750 7px/1 Optima,sans-serif;letter-spacing:.28em;font-size:clamp(9px,.78vw,11px)}.portal-path-heading strong{font-size:clamp(22px,2.5vw,34px)}.portal-path-card small{color:rgba(255,235,191,.72);font:750 6px/1 Optima,sans-serif;letter-spacing:.2em;font-size:clamp(8px,.72vw,10px)}.portal-path-card b{font-size:clamp(16px,1.75vw,24px)}.portal-path-card em{color:rgba(255,251,236,.56);font:500 clamp(7px,.8vw,10px)/1.25 Songti SC,serif;font-style:normal;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;white-space:normal;text-overflow:clip;display:-webkit-box;font-size:clamp(11px,.92vw,13px);line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.learning-chapter-strip>button{min-height:36px;font-size:clamp(11px,.95vw,14px)}.learning-chapter-strip>button small{color:rgba(255,224,170,.7);font:720 7px/1 Optima,sans-serif;letter-spacing:.08em;font-size:9px}.portal-inline-free-learning>header strong{font-size:clamp(18px,1.85vw,25px);line-height:1.28}.portal-inline-free-learning>header p{max-width:760px;color:rgba(255,247,226,.76);font-size:clamp(12px,1.05vw,15px);line-height:1.45}.portal-discovery-chords>button b{font-size:clamp(18px,1.9vw,25px)}.portal-discovery-chords>button span{font-size:clamp(9px,.82vw,12px)}.portal-discovery-chords>button em{font-size:clamp(9px,.76vw,11px);letter-spacing:.11em}.portal-rehearsal-card>header>span,.portal-story-heading strong{font-size:clamp(18px,1.85vw,25px);line-height:1.28}.portal-rehearsal-card>header>small,.portal-story-heading span{font-size:clamp(11px,.98vw,14px);line-height:1.45}.portal-story-selection .portal-journey-levels button span{font-size:clamp(14px,1.35vw,18px);line-height:1.25}.portal-story-selection .portal-journey-levels button span small{font-size:clamp(9px,.76vw,11px)}@keyframes v57MiniKeyBreath{0%{filter:brightness(.86)}to{filter:brightness(1.2);box-shadow:inset 0 0 8px rgba(255,255,255,.3),0 0 6px color-mix(in srgb,var(--lesson-glow) 46%,transparent)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-cinematic .portal-path-device.portal-device-compact{width:106px;min-height:38px;height:38px;padding:5px 10px;grid-template-columns:minmax(0,1fr) 21px;gap:7px}.portal-device-compact .device-mini-keys{height:22px}.portal-device-compact .device-mini-keys>i{height:21px}.portal-device-compact .device-mini-keys>i:nth-child(2),.portal-device-compact .device-mini-keys>i:nth-child(4){height:15px}.portal-path-heading strong{font-size:clamp(19px,4vw,25px)}.portal-path-card{min-height:82px}.portal-path-card small{display:block;font-size:8px}.portal-path-card b{font-size:clamp(14px,3.35vw,18px)}.portal-path-card em{display:-webkit-box;font-size:clamp(10px,2.45vw,12px)}.portal-inline-free-learning>header strong{font-size:clamp(17px,3.8vw,21px)}.portal-inline-free-learning>header p{display:block;font-size:clamp(11px,2.65vw,13px)}.learning-chapter-strip>button{min-height:34px;font-size:clamp(10px,2.45vw,12px)}.portal-story-heading span{display:none;display:block;font-size:11px}}@media (max-width:430px) and (orientation:portrait){.portal-path-card{min-height:96px;padding:7px 5px;grid-template-columns:1fr;justify-items:center;align-content:center;gap:4px;text-align:center}.portal-path-card>i{font-size:20px}.portal-path-card>span{justify-items:center;gap:4px}.portal-path-card b{font-size:14px}.portal-path-card em{font-size:10.5px;line-height:1.35}.portal-inline-free-learning>header strong{font-size:18px}.portal-inline-free-learning>header p{font-size:12px}.portal-discovery-chords>button b{font-size:17px}.portal-discovery-chords>button em,.portal-discovery-chords>button span{font-size:8px}.portal-story-selection .portal-journey-levels button span{font-size:14px}.portal-story-selection .portal-journey-levels button span small{font-size:9px}}@media (prefers-reduced-motion:reduce){.portal-device-compact .device-mini-keys>i{animation:none}}.portal-cinematic .portal-path-device.portal-device-compact{width:min(286px,92vw);min-height:48px;height:48px;padding:6px 13px 6px 7px;grid-template-columns:35px minmax(0,1fr) 22px}.portal-device-compact .device-brand-logo{position:relative;z-index:2;overflow:hidden;border:1px solid rgba(255,249,230,.6);border-radius:50%;background:#fff;box-shadow:0 0 12px color-mix(in srgb,var(--lesson-glow) 34%,transparent)}.portal-device-compact .device-connect-label{position:relative;z-index:2;color:rgba(255,249,232,.9);font:560 clamp(13px,1.15vw,16px)/1.15 Songti SC,STSong,serif;letter-spacing:.1em;text-align:left}.portal-device-compact.is-live .device-brand-logo{box-shadow:0 0 18px color-mix(in srgb,var(--lesson-glow) 65%,transparent),0 0 7px rgba(255,255,255,.48);animation:v58DeviceBreath 2.2s ease-in-out infinite}.portal-path-heading strong{font-size:clamp(23px,2.55vw,35px);letter-spacing:.12em}.portal-inline-free-learning>header,.portal-rehearsal-card>header,.portal-story-heading{width:100%;display:grid;grid-template-columns:1fr;justify-items:center;align-items:start;gap:5px;text-align:center}.portal-inline-free-learning>header strong,.portal-rehearsal-card>header>span,.portal-story-heading strong{display:block;font-size:clamp(18px,1.85vw,25px);line-height:1.22}.portal-inline-free-learning>header p,.portal-rehearsal-card>header>small,.portal-story-heading span{display:block;max-width:830px;margin:0;font-size:clamp(12px,1vw,15px);line-height:1.42}.portal-discovery-chords,.portal-rehearsal-chords{width:min(820px,100%);grid-template-columns:repeat(auto-fit,minmax(74px,1fr))}.portal-discovery-chords>button em{min-height:2.7em;display:grid;place-content:center;line-height:1.35;letter-spacing:.05em}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) minmax(156px,20vw);gap:9px}.foundation-piano-keyboard.is-full-36 .foundation-white-keys{grid-template-columns:repeat(21,minmax(0,1fr))}.foundation-piano-keyboard.is-full-36 .foundation-black-keys>button{width:calc((100% / 21) * .62)}.foundation-piano-keyboard.is-full-36 button>b{width:clamp(13px,1.25vw,18px);height:clamp(13px,1.25vw,18px);font-size:clamp(6px,.58vw,8px)}.foundation-piano-keyboard.is-full-36 button>i{font-size:clamp(6px,.64vw,9px)}.practice-layer-heading{text-align:center}.practice-layer-heading h1,.practice-layer-heading p{width:100%;margin-inline:auto}@keyframes v58DeviceBreath{0%,to{filter:brightness(.95);transform:scale(.98)}50%{filter:brightness(1.18);transform:scale(1.03)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-cinematic .portal-path-device.portal-device-compact{width:min(260px,90vw);min-height:42px;height:42px;padding:4px 11px 4px 5px;grid-template-columns:31px minmax(0,1fr) 19px;gap:7px}.portal-device-compact .device-brand-logo{width:30px;height:30px}.portal-device-compact .device-connect-label{font-size:12px}.portal-device-compact .device-bluetooth-icon{width:18px;height:23px;width:17px;height:21px}.portal-path-heading strong{font-size:clamp(19px,4.1vw,25px)}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr);gap:5px}.portal-discovery-chords,.portal-rehearsal-chords{grid-template-columns:repeat(auto-fit,minmax(62px,1fr))}}@media (max-width:430px) and (orientation:portrait){.portal-cinematic .portal-path-device.portal-device-compact{width:min(248px,92vw)}.portal-inline-free-learning>header p,.portal-rehearsal-card>header>small,.portal-story-heading span{font-size:12px}.portal-discovery-chords,.portal-rehearsal-chords{grid-template-columns:repeat(3,minmax(0,1fr))}.foundation-piano-keyboard.is-full-36 button>i,.foundation-piano-keyboard.is-full-36 button>small{display:none}}@media (prefers-reduced-motion:reduce){.portal-device-compact.is-live .device-brand-logo{animation:none}}.portal-cinematic .portal-path-device.portal-device-compact{width:min(342px,94vw);grid-template-columns:76px minmax(0,1fr);padding-inline:10px 17px;gap:11px}.portal-device-compact .device-brand-logo{width:34px;height:34px;border:0;border-radius:0;background:transparent;box-shadow:none;animation:none!important}.portal-device-compact .device-connect-symbols .device-bluetooth-icon{position:relative;z-index:2;width:18px;height:23px;color:#f4dfaa;filter:drop-shadow(0 0 5px rgba(255,229,172,.5))}.portal-device-compact.is-live .device-connect-symbols{animation:v59DeviceSymbolBreath 2.2s ease-in-out infinite}.portal-path-story{grid-template-rows:auto auto auto minmax(0,1fr) auto;align-content:stretch;overflow:hidden}.portal-path-story .portal-story-selection .portal-journey-levels{min-height:0;height:100%;padding:0;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(0,1fr));overflow:hidden}.portal-path-story .portal-start-game{grid-row:5}@keyframes v59DeviceSymbolBreath{0%,to{filter:brightness(.92);transform:scale(.98)}50%{filter:brightness(1.22);transform:scale(1.035)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-cinematic .portal-path-device.portal-device-compact{width:min(300px,92vw);grid-template-columns:66px minmax(0,1fr);padding-inline:8px 13px}.portal-device-compact .device-brand-logo{width:29px;height:29px}.portal-device-compact .device-connect-symbols .device-bluetooth-icon{width:16px;height:20px}.portal-path-story{gap:4px}.portal-path-story .portal-story-heading span{display:none}.portal-path-story .portal-story-selection .portal-journey-levels{gap:4px}}@media (max-width:430px) and (orientation:portrait){.portal-cinematic .portal-path-device.portal-device-compact{width:min(286px,92vw)}.portal-path-story .portal-story-heading strong{font-size:16px}.portal-path-story .portal-story-selection .portal-journey-levels button{grid-template-columns:22px minmax(0,1fr);gap:4px;padding:6px}.portal-path-story .portal-story-selection .portal-journey-levels button span{display:block;min-width:0;overflow:hidden;font-size:11px;line-height:1.22;overflow-wrap:anywhere;word-break:break-word;white-space:normal!important}.portal-path-story .portal-story-selection .portal-journey-levels button span small{display:block;margin-bottom:4px}}@media (prefers-reduced-motion:reduce){.portal-device-compact.is-live .device-connect-symbols{animation:none}}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;max-width:min(94vw,318px);grid-template-columns:auto auto;padding-inline:10px 11px;gap:9px}.portal-device-compact .device-connect-symbols{position:relative;z-index:2;display:flex;gap:7px;color:#f4dfaa;width:70px}.portal-device-compact .device-connect-label{width:auto;min-width:0;padding-right:0;white-space:nowrap}.portal-path-story .portal-path-detail.detail-story{max-height:none;height:100%;overflow:hidden;max-height:min(30vh,238px);height:auto;width:min(660px,100%);align-self:center;justify-self:center}.portal-path-story .portal-story-selection .portal-journey-levels{height:auto;grid-template-rows:repeat(2,minmax(54px,72px));gap:clamp(5px,.7vh,8px)}.portal-path-story .portal-story-selection .portal-journey-levels button.is-boss-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-story-level{min-height:0;height:100%;min-height:54px;height:auto;padding:7px 10px;border-radius:12px}.portal-path-story .level-complete-stamp{transform:rotate(-7deg) scale(.78);transform-origin:center}.ending-video-preloaders video{display:block;width:1px;height:1px}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;max-width:92vw;grid-template-columns:auto auto;padding-inline:8px 9px}.portal-device-compact .device-connect-symbols{width:62px}.portal-path-story .portal-path-detail.detail-story{max-height:min(32vh,198px)}.portal-path-story .portal-story-selection .portal-journey-levels{grid-template-rows:repeat(2,minmax(43px,58px))}.portal-path-story .portal-story-selection .portal-journey-levels button.is-boss-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-story-level{min-height:43px;padding:5px 7px}}@media (max-width:430px) and (orientation:portrait){.portal-cinematic .portal-path-device.portal-device-compact{max-width:90vw}.portal-device-compact .device-connect-symbols{width:58px}.portal-path-story .portal-path-detail.detail-story{max-height:min(31vh,220px)}.portal-path-story .portal-story-selection .portal-journey-levels{grid-template-rows:repeat(2,minmax(50px,62px))}.portal-path-story .portal-story-selection .portal-journey-levels button.is-boss-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-story-level{min-height:50px}}.portal-device-compact .device-brand-logo svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:3.8;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px rgba(255,229,172,.62))}.portal-cinematic .portal-start-game,.portal-path-story .portal-start-game{grid-row:auto!important}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(900px,100%);height:min(34vh,270px);min-height:214px;max-height:min(34vh,270px);align-self:center;justify-self:center;overflow:hidden}.portal-level-selection{width:100%;height:100%;min-height:0;padding:clamp(7px,1vw,12px);display:grid;grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:clamp(6px,.85vh,9px);overflow:hidden}.portal-level-selection.portal-rehearsal-selection{grid-template-rows:auto minmax(0,1fr) auto}.portal-level-selection .portal-story-heading span{font-size:clamp(10px,.88vw,13px)}.rehearsal-theory-ticker{min-width:0;min-height:58px;padding:7px 12px;display:grid;grid-template-columns:auto minmax(105px,.55fr) minmax(0,1.45fr) auto;align-items:center;gap:9px;overflow:hidden;border:1px solid rgba(255,237,201,.23);border-radius:3px 15px 3px 15px;color:#fff8e2;background:linear-gradient(118deg,rgba(255,224,167,.055),rgba(67,108,100,.18));box-shadow:inset 0 0 20px rgba(255,255,255,.025);text-align:left}.rehearsal-theory-ticker>small{color:rgba(255,224,171,.68);font:720 clamp(7px,.58vw,9px)/1 Optima,sans-serif;letter-spacing:.15em;white-space:nowrap}.rehearsal-theory-ticker>strong{color:#ffe5ad;font:600 clamp(12px,1.05vw,15px)/1.2 Songti SC,STSong,serif;letter-spacing:.06em}.rehearsal-theory-ticker>p{min-width:0;margin:0;color:rgba(255,249,232,.76);font:520 clamp(10px,.82vw,12px)/1.42 Songti SC,STSong,serif;letter-spacing:.025em}.rehearsal-theory-ticker>span{display:flex;align-items:center;gap:4px}.rehearsal-theory-ticker>span i{width:10px;height:2px;border-radius:999px;background:rgba(255,255,255,.16);transition:width .22s ease,background .22s ease,box-shadow .22s ease}.rehearsal-theory-ticker>span i.is-current{width:20px;background:#ffe1a7;box-shadow:0 0 8px rgba(255,224,166,.58)}.foundation-piano-keyboard.is-low-root-module,.portal-inline-free-learning .foundation-piano-keyboard.is-low-root-module.is-compact{width:100%;height:44px;border-radius:3px 11px 3px 11px}.foundation-piano-keyboard.is-low-root-module .foundation-white-keys{grid-template-columns:repeat(7,minmax(0,1fr))}.foundation-piano-keyboard.is-low-root-module .foundation-black-keys>button{width:calc((100% / 7) * .62)}.foundation-piano-keyboard.is-low-root-module button>small{display:none}.foundation-piano-keyboard.is-low-root-module button>b{top:3px;width:14px;height:14px;font-size:7px}.foundation-piano-keyboard.is-low-root-module button>i{font-size:7px}@media (orientation:landscape) and (max-height:600px){.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(33vh,198px);min-height:176px;max-height:min(33vh,198px)}.portal-level-selection{padding:5px;gap:4px}.portal-level-selection .portal-story-heading span{display:none}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:39px;padding:4px 6px}.rehearsal-theory-ticker{min-height:46px;padding:5px 8px;grid-template-columns:auto minmax(90px,.5fr) minmax(0,1.5fr);gap:6px}.rehearsal-theory-ticker>span{display:none}.foundation-piano-keyboard.is-low-root-module,.portal-inline-free-learning .foundation-piano-keyboard.is-low-root-module.is-compact{height:36px}}@media (max-width:430px) and (orientation:portrait){.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(34vh,270px);min-height:232px;max-height:min(34vh,270px)}.portal-level-selection{padding:6px;gap:5px}.portal-level-selection .portal-story-heading span{display:none}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:50px;padding:5px 6px}.rehearsal-theory-ticker{min-height:62px;padding:7px 9px;grid-template-columns:minmax(88px,.62fr) minmax(0,1.38fr);gap:5px 8px}.rehearsal-theory-ticker>small{display:none}.rehearsal-theory-ticker>strong{font-size:12px}.rehearsal-theory-ticker>p{font-size:10px;line-height:1.35}.rehearsal-theory-ticker>span{grid-column:1/-1;justify-self:end}}@media (prefers-reduced-motion:reduce){.rehearsal-theory-ticker>span i{transition:none}}.portal-path-rehearsal,.portal-path-stage,.portal-path-story{grid-template-rows:auto auto auto auto auto!important;align-content:center;grid-template-rows:auto auto auto minmax(0,1fr) auto!important;gap:clamp(8px,1.25vh,14px)}.portal-cinematic .portal-path-device.portal-device-compact{align-self:start;margin:0 auto 2px}.portal-device-compact .device-connect-symbols:before{content:"";position:absolute;inset:4px -3px;border-radius:999px;background:color-mix(in srgb,var(--lesson-glow) 18%,transparent);filter:blur(9px);opacity:.72;pointer-events:none;display:none!important}.portal-device-compact .device-brand-logo{display:grid;place-items:center;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;overflow:visible;width:38px;height:38px;color:#f4dfaa}.portal-device-compact .device-brand-logo img{object-fit:cover;transform:scale(1.16);filter:drop-shadow(0 0 5px rgba(255,229,172,.58));opacity:.94;width:100%;height:100%;display:block;object-fit:contain;transform:none;filter:drop-shadow(0 0 3px rgba(255,235,193,.82)) drop-shadow(0 0 9px color-mix(in srgb,var(--lesson-glow) 52%,transparent));opacity:1}.portal-device-compact.is-live .device-brand-logo img{animation:v63LogoLineBreath 2.25s ease-in-out infinite}.portal-path-heading{gap:2px;color:#fff9e9;text-shadow:0 2px 15px rgba(55,45,37,.5);display:grid;justify-items:center;text-align:center;min-height:44px;padding:clamp(5px,.8vh,9px) 0 clamp(7px,1vh,12px);align-content:center}.portal-path-heading strong{font-size:clamp(24px,2.7vw,38px);line-height:1.15}.portal-path-grid{margin-top:1px;margin-bottom:clamp(4px,.7vh,8px)}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(50vh,360px);min-height:340px;max-height:min(50vh,360px)}.portal-level-selection{padding:clamp(11px,1.35vw,17px);gap:clamp(9px,1.15vh,13px)}.portal-level-selection .portal-story-heading{min-height:0;gap:3px;gap:5px}.portal-level-selection .portal-story-heading strong{font-size:clamp(16px,1.55vw,22px);font-size:clamp(19px,1.75vw,25px)}.portal-level-selection .portal-story-heading span{font-size:clamp(11px,.95vw,14px)}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{width:100%;height:100%;min-height:0;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-template-rows:repeat(2,minmax(48px,1fr))!important;gap:clamp(5px,.7vh,8px);overflow:hidden;grid-template-rows:repeat(2,minmax(62px,1fr))!important;gap:clamp(8px,1vh,12px)}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-boss-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-story-level{width:100%;height:100%;min-height:48px;border-radius:3px 14px 3px 14px;min-height:62px;padding:9px 13px}.rehearsal-theory-ticker{min-height:82px;padding:11px 15px;grid-template-columns:auto minmax(125px,.58fr) minmax(0,1.42fr) auto;gap:11px}.rehearsal-theory-ticker>strong{font-size:clamp(14px,1.18vw,17px)}.rehearsal-theory-ticker>p{font-size:clamp(11px,.92vw,14px);line-height:1.5}.foundation-keyboard-stack{min-width:0;display:grid;align-content:start;gap:5px;display:block}.foundation-low-root-row,.foundation-piano-keyboard.is-low-root-module{display:none!important}@keyframes v63LogoLineBreath{0%,to{opacity:.9;filter:drop-shadow(0 0 3px rgba(255,235,193,.72)) drop-shadow(0 0 7px color-mix(in srgb,var(--lesson-glow) 42%,transparent))}50%{opacity:1;filter:drop-shadow(0 0 5px rgba(255,244,215,.96)) drop-shadow(0 0 13px color-mix(in srgb,var(--lesson-glow) 74%,transparent))}}@media (orientation:landscape) and (max-height:600px){.portal-path-rehearsal,.portal-path-stage,.portal-path-story{gap:5px}.portal-path-heading{min-height:29px;padding:2px 0 4px}.portal-path-heading strong{font-size:clamp(18px,2.15vw,27px)}.portal-path-grid{margin-bottom:2px}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(42vh,238px);min-height:218px;max-height:min(42vh,238px)}.portal-level-selection{padding:7px;gap:6px}.portal-level-selection .portal-journey-levels{gap:4px;gap:5px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:46px;padding:5px 8px}.rehearsal-theory-ticker{min-height:58px;padding:6px 9px}.rehearsal-theory-ticker>p{font-size:10px;line-height:1.35}}@media (max-width:430px) and (orientation:portrait){.portal-path-rehearsal,.portal-path-stage,.portal-path-story{gap:6px}.portal-cinematic .portal-path-device.portal-device-compact{margin-bottom:1px}.portal-device-compact .device-brand-logo{width:34px;height:34px}.portal-path-heading{min-height:38px;padding:4px 0 7px}.portal-path-heading strong{font-size:clamp(21px,6.4vw,27px)}.portal-path-grid{margin-bottom:3px}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(39vh,330px);min-height:304px;max-height:min(39vh,330px)}.portal-level-selection{padding:9px;gap:8px}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{grid-template-rows:repeat(2,minmax(64px,1fr))!important;gap:7px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:64px;padding:7px 8px}.rehearsal-theory-ticker{min-height:84px;padding:10px 11px;grid-template-columns:minmax(96px,.62fr) minmax(0,1.38fr);gap:7px 9px}.rehearsal-theory-ticker>strong{font-size:13px}.rehearsal-theory-ticker>p{font-size:11px;line-height:1.45}}@media (prefers-reduced-motion:reduce){.portal-device-compact.is-live .device-brand-logo img{animation:none}}.portal-path-rehearsal,.portal-path-stage,.portal-path-story{grid-template-rows:auto auto auto auto auto auto!important;align-content:start!important;gap:clamp(6px,.9vh,10px)}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(960px,100%);height:min(39vh,292px);min-height:236px;max-height:min(39vh,292px);overflow:hidden}.portal-inline-free-learning{height:100%;padding:clamp(8px,1vw,12px);gap:clamp(5px,.75vh,8px)}.portal-inline-free-learning>header{justify-items:center;text-align:center;gap:3px}.portal-inline-free-learning>header>small,.portal-level-selection .portal-story-heading>small{color:rgba(255,226,176,.76);font:720 clamp(8px,.68vw,10px)/1.1 Optima,sans-serif;letter-spacing:.18em}.portal-inline-free-learning>header strong{font-size:clamp(17px,1.55vw,22px)}.portal-inline-free-learning>header p{font-size:clamp(12px,1vw,14px)}.portal-discovery-chords{gap:clamp(4px,.55vw,7px)}.portal-discovery-chords>button{min-height:48px;padding:6px 8px;grid-template-columns:16px minmax(0,1fr);grid-template-rows:auto auto;align-content:center}.portal-discovery-chords>button small{grid-row:1/3;color:var(--portal-chord-color);font:700 9px/1 Optima,sans-serif;grid-row:1/-1}.portal-discovery-chords>button b{overflow:hidden;font-size:clamp(17px,1.7vw,23px);line-height:1.08;white-space:nowrap;text-overflow:ellipsis}.portal-discovery-chords>button span{font-size:clamp(9px,.78vw,11px);line-height:1.15}.portal-discovery-chords>button.display-emotion{grid-template-rows:1fr}.portal-discovery-chords>button.display-emotion b{font-family:Songti SC,STSong,serif;font-size:clamp(13px,1.22vw,17px);letter-spacing:.03em}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) minmax(172px,20vw);min-height:0;gap:8px}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection{grid-template-rows:auto minmax(0,1fr)}.portal-shared-theory{width:min(960px,100%);height:68px;min-height:68px;max-height:68px;align-self:start;margin:0 auto;padding:9px 14px;grid-template-columns:auto 1px minmax(0,1fr);gap:clamp(10px,1.25vw,18px)}.portal-shared-theory>small{color:#ffe1a7;font:620 clamp(13px,1.08vw,16px)/1.2 Songti SC,STSong,serif;letter-spacing:.1em}.portal-shared-theory>i{width:1px;height:32px;display:block;background:linear-gradient(180deg,transparent,rgba(255,230,184,.72),transparent)}.portal-shared-theory>div{min-width:0;display:grid;grid-template-columns:minmax(105px,.36fr) minmax(0,1.64fr);align-items:center;gap:clamp(9px,1.1vw,16px)}.portal-shared-theory>div>strong{color:#ffe5ad;font:600 clamp(14px,1.18vw,17px)/1.25 Songti SC,STSong,serif;letter-spacing:.05em}.portal-shared-theory>div>p{min-width:0;margin:0;color:rgba(255,249,232,.82);font:520 clamp(12px,1vw,15px)/1.5 Songti SC,STSong,serif}@media (orientation:landscape) and (max-height:600px){.portal-path-rehearsal,.portal-path-stage,.portal-path-story{gap:3px}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(34vh,170px);min-height:150px;max-height:min(34vh,170px)}.portal-inline-free-learning{padding:5px;gap:3px}.learning-chapter-strip>button{min-height:23px;padding-block:2px}.portal-inline-free-learning>header p{display:none}.portal-discovery-chords>button{min-height:34px;padding:3px 5px}.portal-inline-free-learning .foundation-piano-keyboard.is-compact{height:48px}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) 152px;gap:4px}.portal-shared-theory{height:45px;min-height:45px;max-height:45px;padding:5px 8px;gap:7px}.portal-shared-theory>small{font-size:10px}.portal-shared-theory>i{height:24px}.portal-shared-theory>div{grid-template-columns:88px minmax(0,1fr);gap:7px}.portal-shared-theory>div>strong{font-size:10px}.portal-shared-theory>div>p{font-size:9px;line-height:1.3}}@media (max-width:430px) and (orientation:portrait){.portal-path-rehearsal,.portal-path-stage,.portal-path-story{grid-template-rows:auto auto auto auto auto auto!important;gap:5px}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(35vh,290px);min-height:250px;max-height:min(35vh,290px)}.portal-inline-free-learning{padding:7px;gap:5px}.portal-discovery-chords{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-discovery-chords>button{min-height:42px;padding:4px;grid-template-columns:12px minmax(0,1fr)}.portal-discovery-chords>button b{font-size:14px}.portal-discovery-chords>button.display-emotion b{font-size:11px;white-space:normal}.portal-discovery-chords>button span{font-size:7px}.foundation-keyboard-row{grid-template-columns:minmax(0,1fr) 92px;gap:4px}.portal-shared-theory{height:78px;min-height:78px;max-height:78px;padding:8px 10px;grid-template-columns:auto 1px minmax(0,1fr);gap:8px}.portal-shared-theory>small{display:block!important;font-size:11px;writing-mode:vertical-rl;letter-spacing:.08em}.portal-shared-theory>i{height:48px}.portal-shared-theory>div{display:grid;grid-template-columns:1fr;gap:3px}.portal-shared-theory>div>strong{font-size:13px}.portal-shared-theory>div>p{font-size:11px;line-height:1.4}}@media (prefers-reduced-motion:reduce){.portal-shared-theory,.portal-shared-theory *{transition:none!important}}.portal-global-settings-toggle.is-active,.portal-global-settings-toggle:focus-visible,.portal-global-settings-toggle:hover{opacity:1;transform:translateY(-1px);box-shadow:4px 6px 0 rgba(59,48,39,.2),0 0 22px rgba(255,235,184,.18)}.portal-standby-settings.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:none}.portal-language-switch>button.is-active{color:#3f635f;background:linear-gradient(135deg,#fff4d7,#dff3ec);box-shadow:0 0 16px rgba(255,236,184,.2)}.free-practice-film,.lesson-film,.portal-opening-film,.portal-transition-film{backface-visibility:hidden;transform:translateZ(0)}.ending-video-preloaders{position:fixed;left:0;bottom:0;opacity:.001;z-index:-1;position:absolute;width:1px;height:1px;overflow:hidden;pointer-events:none;contain:strict}.practice-layer-rehearsal .free-practice-film.rehearsal-scene-film{display:block;z-index:0;background:#8f725f}.is-free-practice-settings-host .video-transition-veil{display:none!important;visibility:hidden!important}.practice-layer-rehearsal .free-practice-topbar,.practice-layer-rehearsal .practice-layer-heading,.practice-layer-rehearsal .rehearsal-operation{transition:opacity .75s cubic-bezier(.2,.74,.28,1),transform .75s cubic-bezier(.2,.74,.28,1)}.practice-layer-rehearsal.rehearsal-scene-loading .free-practice-topbar,.practice-layer-rehearsal.rehearsal-scene-loading .practice-layer-heading,.practice-layer-rehearsal.rehearsal-scene-loading .rehearsal-operation{opacity:0;pointer-events:none}.practice-layer-rehearsal.rehearsal-scene-loading .rehearsal-operation{transform:translateY(14px)}.practice-layer-rehearsal.rehearsal-scene-ready .free-practice-topbar,.practice-layer-rehearsal.rehearsal-scene-ready .practice-layer-heading,.practice-layer-rehearsal.rehearsal-scene-ready .rehearsal-operation{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion:reduce){.practice-layer-rehearsal .free-practice-topbar,.practice-layer-rehearsal .practice-layer-heading,.practice-layer-rehearsal .rehearsal-operation{transition-duration:1ms}}.portal-cinematic.portal-stage-returning .portal-transition-film{opacity:1}.practice-layer-rehearsal .rehearsal-return-film{z-index:80;display:block;opacity:0;visibility:hidden;background:#b8894f;pointer-events:none;transition:opacity .18s ease}.practice-layer-rehearsal.rehearsal-return-active .rehearsal-return-film{opacity:1;visibility:visible}.practice-layer-rehearsal.rehearsal-return-active .free-practice-topbar,.practice-layer-rehearsal.rehearsal-return-active .practice-layer-heading,.practice-layer-rehearsal.rehearsal-return-active .rehearsal-operation{opacity:0;pointer-events:none}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level{position:relative;grid-column:auto!important;isolation:auto;overflow:visible;border-color:rgba(255,244,217,.26);color:rgba(255,249,233,.76);background:linear-gradient(132deg,rgba(255,255,255,.07),rgba(69,91,84,.2));box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level:after{display:none;content:none}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level i{color:#ffe0aa;text-shadow:0 0 9px rgba(255,220,165,.38)}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level span small{color:rgba(255,240,214,.54)}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels{overflow:visible}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-story-level{transform-origin:center;transition:transform .18s cubic-bezier(.2,.78,.28,1),border-color .18s ease,color .18s ease,background .18s ease,box-shadow .18s ease}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-selected.is-locked{opacity:1;border-style:solid;filter:none}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level.is-selected i,.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-selected i{color:#fff0c7;text-shadow:0 0 9px rgba(255,222,174,.42)}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level.is-selected span small,.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-selected span small{color:rgba(255,245,220,.76)}@media (prefers-reduced-motion:reduce){.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-story-level{transition-duration:1ms}}.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film{z-index:1;display:block;opacity:0;visibility:visible;transition:opacity .16s linear;will-change:opacity}.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film.is-active{z-index:2;opacity:1}.practice-layer-rehearsal .practice-layer-heading{z-index:7;top:max(7.5vh,calc(var(--safe-top) + 54px));left:50%;width:min(1120px,calc(100% - 36px));display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:7px 16px;transform:translateX(-50%);text-align:left}.practice-layer-rehearsal .practice-layer-heading small{grid-row:1/3;align-self:center}.practice-layer-rehearsal .practice-layer-heading h1{font-size:clamp(22px,2.8vw,38px);text-align:left}.practice-layer-rehearsal .practice-layer-heading p{max-width:none;font-size:clamp(10px,.85vw,13px);text-align:left}.practice-layer-rehearsal.rehearsal-scene-loading .practice-layer-heading{transform:translateY(9px);transform:translate(-50%,9px)}.practice-layer-rehearsal.rehearsal-scene-ready .practice-layer-heading{transform:translate(-50%)}.practice-layer-rehearsal .rehearsal-operation.rehearsal-stepper-shell{z-index:6;inset:0;top:0;right:0;bottom:0;left:0;width:100%;max-height:none;margin:0;padding:0;display:block;border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}.rehearsal-upper-panel{position:absolute;top:max(15.5vh,calc(var(--safe-top) + 102px));left:50%;width:min(1120px,calc(100% - 36px));display:grid;gap:8px;transform:translateX(-50%);pointer-events:auto}.practice-layer-rehearsal .rehearsal-challenge-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.practice-layer-rehearsal .rehearsal-progress-line{grid-column:1/-1;margin:0 2px 1px}.practice-layer-rehearsal .rehearsal-challenge-progress>button{min-height:46px;padding:6px 8px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:8px;border:1px solid rgba(255,243,214,.12);border-radius:2px 10px 2px 10px;color:rgba(255,248,228,.52);background:linear-gradient(135deg,rgba(34,60,57,.6),rgba(92,72,58,.48));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer;appearance:none}.practice-layer-rehearsal .rehearsal-challenge-progress>button>b{width:21px;height:21px;display:grid;place-items:center;border:1px solid rgba(255,242,212,.2);border-radius:50%;font:700 8px/1 Optima,sans-serif}.practice-layer-rehearsal .rehearsal-challenge-progress>button>i{display:grid;gap:3px}.practice-layer-rehearsal .rehearsal-challenge-progress>button:focus-visible,.practice-layer-rehearsal .rehearsal-challenge-progress>button:hover{border-color:rgba(255,234,190,.5);background:linear-gradient(135deg,rgba(49,81,75,.74),rgba(115,84,61,.6));outline:none}.practice-layer-rehearsal .rehearsal-challenge-progress>button.is-current>b{color:#fff2be;border-color:rgba(255,231,183,.65);box-shadow:0 0 10px rgba(255,224,166,.18)}.practice-layer-rehearsal .rehearsal-challenge-progress>button.is-done{color:rgba(218,255,228,.76);border-color:rgba(126,220,166,.3)}.practice-layer-rehearsal .rehearsal-challenge-progress>button.is-done>b{color:#e3ffe8;border-color:rgba(126,220,166,.46);background:rgba(105,204,147,.14)}.practice-layer-rehearsal .rehearsal-challenge-progress strong{font-size:clamp(10px,.88vw,13px)}.practice-layer-rehearsal .rehearsal-challenge-progress em{overflow:hidden;color:rgba(255,232,188,.72);font-size:clamp(7px,.62vw,9px);white-space:nowrap;text-overflow:ellipsis}.rehearsal-control-deck{width:min(650px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 194px;align-items:stretch;gap:8px}.practice-layer-rehearsal .rehearsal-current-target{min-height:50px;padding:5px 10px;grid-template-columns:auto auto minmax(90px,1fr);background:color-mix(in srgb,var(--portal-chord-color) 12%,rgba(31,55,53,.66));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.practice-layer-rehearsal .rehearsal-current-target small{font-size:9px}.practice-layer-rehearsal .rehearsal-current-target strong{font-size:clamp(30px,3vw,40px)}.practice-layer-rehearsal .rehearsal-current-target span{font-size:11px}.practice-layer-rehearsal .rehearsal-current-target em{font-size:10px;grid-column:1/-1;text-align:center}.practice-layer-rehearsal .rehearsal-current-target.display-emotion strong{font-family:Songti SC,STSong,serif;font-size:clamp(20px,2vw,27px);letter-spacing:.04em;white-space:nowrap}.practice-layer-rehearsal .rehearsal-current-target.display-emotion span{display:none}.practice-layer-rehearsal .rehearsal-timing-hint{min-height:15px;margin:0}.rehearsal-stepper-dock{position:absolute;right:max(4vw,calc(var(--safe-right) + 12px));bottom:max(3.2vh,calc(var(--safe-bottom) + 10px));left:max(4vw,calc(var(--safe-left) + 12px));width:auto;max-width:1180px;margin:0 auto;padding:10px 12px 12px;display:grid;gap:8px;border:1px solid rgba(255,242,214,.28);border-radius:5px 25px 5px 25px;background:linear-gradient(138deg,rgba(34,61,58,.68),rgba(94,71,56,.56));box-shadow:8px 9px 0 rgba(45,39,34,.12),inset 0 0 20px rgba(255,255,255,.04);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:auto}.rehearsal-stepper-dock>header{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;color:rgba(255,248,229,.72)}.rehearsal-stepper-dock>header em{position:absolute;right:2px;color:rgba(255,231,190,.68);font:700 8px/1 Optima,sans-serif;font-style:normal;letter-spacing:.1em}.rehearsal-stepper-dock>header small{color:rgba(255,225,174,.7);font:700 8px/1 Optima,sans-serif;letter-spacing:.16em}.rehearsal-stepper-dock>header strong{font:620 clamp(13px,1.2vw,17px)/1 Optima,sans-serif;letter-spacing:.12em}.practice-layer-rehearsal .rehearsal-one-line-stepper{gap:5px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:clamp(72px,10vh,102px);border-radius:3px 11px 3px 11px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b{font-size:clamp(16px,1.7vw,24px)}.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-boss-level.is-selected,.wind-portal .portal-path-detail .portal-level-selection .portal-journey-levels button.is-story-level.is-selected{z-index:3;border-color:rgba(255,218,181,.84);color:#fffaf0;background:linear-gradient(120deg,rgba(232,139,99,.58),rgba(76,161,153,.58));box-shadow:0 0 18px rgba(255,199,153,.18),0 7px 18px rgba(31,55,52,.2),inset 0 0 0 1px rgba(255,255,255,.13);transform:scale(1.035);transform:none!important}.portal-path-rehearsal,.portal-path-story{grid-template-rows:auto auto auto auto auto auto!important;align-content:start!important}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(960px,100%);height:clamp(226px,34vh,268px);min-height:226px;max-height:268px;align-self:start}.portal-path-rehearsal .portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%;padding:clamp(8px,1vw,12px);grid-template-rows:auto minmax(0,1fr);align-content:stretch;gap:7px}.portal-path-rehearsal .portal-rehearsal-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{height:100%;min-height:0;grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:7px}@media (orientation:landscape) and (max-height:600px){.practice-layer-rehearsal .practice-layer-heading{top:max(8vh,calc(var(--safe-top) + 42px))}.rehearsal-upper-panel{top:max(14vh,calc(var(--safe-top) + 68px));gap:5px}.practice-layer-rehearsal .rehearsal-challenge-progress>button{min-height:35px;padding:3px 5px;grid-template-columns:19px minmax(0,1fr) auto}.practice-layer-rehearsal .rehearsal-challenge-progress>button>b{width:18px;height:18px}.rehearsal-control-deck{width:min(570px,100%);grid-template-columns:minmax(0,1fr) 170px}.practice-layer-rehearsal .rehearsal-current-target{min-height:45px;padding-block:4px}.practice-layer-rehearsal .rehearsal-current-target em{display:none}.rehearsal-stepper-dock{bottom:max(2vh,calc(var(--safe-bottom) + 5px));padding:6px 8px 8px;gap:5px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:clamp(54px,13vh,70px)}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:190px;min-height:190px;max-height:190px}}@media (max-width:600px) and (orientation:portrait){.practice-layer-rehearsal .practice-layer-heading{top:max(7vh,calc(var(--safe-top) + 48px));width:calc(100% - 24px);grid-template-columns:1fr;gap:2px;text-align:center}.practice-layer-rehearsal .practice-layer-heading small{display:none}.practice-layer-rehearsal .practice-layer-heading h1,.practice-layer-rehearsal .practice-layer-heading p{text-align:center}.practice-layer-rehearsal .practice-layer-heading h1{font-size:24px}.practice-layer-rehearsal .practice-layer-heading p{font-size:9px}.rehearsal-upper-panel{top:max(14vh,calc(var(--safe-top) + 90px));width:calc(100% - 20px);gap:5px}.practice-layer-rehearsal .rehearsal-challenge-progress{grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.practice-layer-rehearsal .rehearsal-challenge-progress>button{min-height:46px;padding:4px 2px;display:grid;grid-template-columns:1fr;justify-items:center;gap:2px;text-align:center}.practice-layer-rehearsal .rehearsal-challenge-progress>button>b{width:18px;height:18px}.practice-layer-rehearsal .rehearsal-challenge-progress>button>i{display:block}.practice-layer-rehearsal .rehearsal-challenge-progress strong{display:block;font-size:8px;white-space:normal}.practice-layer-rehearsal .rehearsal-challenge-progress em,.practice-layer-rehearsal .rehearsal-challenge-progress small{display:none}.rehearsal-control-deck{width:min(360px,100%);grid-template-columns:minmax(0,1fr) 116px;gap:5px}.practice-layer-rehearsal .rehearsal-current-target{min-height:54px;padding:5px 7px;grid-template-columns:auto auto;gap:4px}.practice-layer-rehearsal .rehearsal-current-target strong{font-size:32px}.practice-layer-rehearsal .rehearsal-current-target span{grid-column:1/-1;text-align:center;font-size:9px}.practice-layer-rehearsal .rehearsal-current-target em{display:none}.practice-layer-rehearsal .rehearsal-timing-hint{min-height:24px;font-size:8px}.rehearsal-stepper-dock{right:max(14px,var(--safe-right));bottom:max(1.5vh,calc(var(--safe-bottom) + 5px));left:max(14px,var(--safe-left));width:auto;padding:7px 5px 8px;gap:6px}.rehearsal-stepper-dock>header{gap:6px}.rehearsal-stepper-dock>header small{font-size:6px}.rehearsal-stepper-dock>header strong{font-size:10px}.practice-layer-rehearsal .rehearsal-one-line-stepper{gap:2px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:clamp(72px,12vh,94px)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b{font-size:11px;transform:none}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:min(34vh,280px);min-height:250px;max-height:280px}}@media (prefers-reduced-motion:reduce){.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film{transition-duration:1ms}}.foundation-keyboard-row,.rehearsal-control-deck{grid-template-columns:minmax(0,1fr)}.rehearsal-control-deck{width:min(430px,100%)}.settings-display-card{padding:10px;display:grid;gap:8px;border:1px solid rgba(86,139,133,.18);border-radius:11px;background:rgba(235,244,238,.7)}.settings-display-card>div:first-child{display:grid;gap:2px}.settings-display-card>div:first-child span{color:#567570;font-size:10px;font-weight:800}.settings-display-card>div:first-child small{color:#8aa09c;font-size:7px}.settings-display-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.settings-display-options button{min-height:34px;padding:5px 4px;border:1px solid rgba(86,139,133,.2);border-radius:8px;color:#587973;background:rgba(255,255,255,.55);font:700 10px/1.1 Songti SC,STSong,serif;cursor:pointer}.settings-display-options button.is-active{color:#fffaf0;border-color:rgba(77,128,119,.55);background:linear-gradient(135deg,#5f9189,#709d91);box-shadow:0 0 12px rgba(83,142,131,.2)}.portal-free-settings-toggle{position:absolute!important;z-index:14!important;top:max(4px,var(--safe-top));right:max(4px,var(--safe-right));min-width:58px;min-height:30px;padding:5px 9px;display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid rgba(255,241,205,.23);border-radius:16px;color:rgba(255,247,224,.72);background:rgba(31,54,52,.34);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:650 9px/1 Songti SC,STSong,serif;cursor:pointer}.portal-free-settings-toggle.is-active,.portal-free-settings-toggle:focus-visible,.portal-free-settings-toggle:hover{color:#fff8df;border-color:rgba(255,232,184,.5);background:rgba(46,78,72,.64);outline:none}.portal-settings-dismiss-layer{z-index:106}.wind-portal .portal-settings-drawer{position:fixed;z-index:112;top:0;right:0;bottom:0;width:min(370px,94vw);max-height:none;padding:max(18px,var(--safe-top)) 15px max(28px,var(--safe-bottom));display:grid;grid-template-columns:1fr;grid-auto-rows:max-content;gap:12px;overflow-y:auto;color:#567570;background:linear-gradient(165deg,rgba(255,249,231,.97),rgba(217,238,228,.96));transform:translateX(calc(100% + 24px));transition:transform .26s cubic-bezier(.22,.86,.34,1);box-shadow:-24px 0 60px rgba(2,14,16,.3);pointer-events:none}.wind-portal .portal-settings-drawer.is-open{transform:translateX(0);pointer-events:auto}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.portal-free-settings-toggle{top:max(2px,var(--safe-top));right:max(2px,var(--safe-right));min-width:46px;min-height:26px;padding:4px 7px;font-size:8px}.practice-layer-rehearsal .rehearsal-current-target{width:min(330px,100%);margin-inline:auto}}.practice-layer-rehearsal .rehearsal-challenge-progress>button.is-current{color:#fff8df;background:linear-gradient(105deg,rgba(242,177,116,.18),rgba(106,184,172,.15));box-shadow:inset 0 0 16px rgba(255,231,183,.06);color:#fff9e7;border-color:rgba(255,230,178,.84);background:linear-gradient(135deg,rgba(34,60,57,.72),rgba(92,72,58,.62));box-shadow:0 0 0 1px rgba(255,239,202,.16),0 0 16px rgba(255,213,139,.56),0 0 28px rgba(112,213,198,.24),inset 0 0 12px rgba(255,244,215,.05)}.practice-layer-rehearsal .rehearsal-challenge-progress>button>i{width:100%;display:block;min-width:0}.practice-layer-rehearsal .rehearsal-challenge-progress strong{display:block;font:560 clamp(13px,1.12vw,17px)/1.15 Songti SC,STSong,serif;letter-spacing:.07em;white-space:normal;text-align:left;text-overflow:clip}@media (max-width:600px) and (orientation:portrait){.practice-layer-rehearsal .rehearsal-challenge-progress strong{font-size:clamp(10px,2.65vw,12px);line-height:1.12;letter-spacing:.02em;text-align:center}}.immersive-shell.is-portal-hidden{position:fixed;inset:0;z-index:-1;height:100svh;visibility:hidden;visibility:visible!important;pointer-events:none;opacity:0}.immersive-shell .cinema-stage>.lesson-film.lesson-film-layer{position:absolute;inset:0;z-index:0;width:100%;height:100%;display:block;opacity:0;visibility:visible;pointer-events:none;transition:opacity 80ms linear;will-change:opacity;backface-visibility:hidden;transform:translateZ(0)}.immersive-shell .cinema-stage>.lesson-film.lesson-film-layer.is-active{z-index:1;opacity:1;pointer-events:auto}.practice-layer-rehearsal .free-practice-film.rehearsal-feedback-film{display:block;opacity:1;transition:opacity .16s linear;z-index:3;opacity:0;visibility:visible;pointer-events:none}.practice-layer-rehearsal .free-practice-film.rehearsal-feedback-film.is-active{opacity:1}.portal-media-loader,.practice-layer-rehearsal,.video-transition-veil{background:#080b0c}.portal-media-loader img,.practice-layer-rehearsal .rehearsal-loading-poster,.video-transition-veil>img{width:100%;height:100%;object-fit:contain!important;object-position:center!important;background:#080b0c}.practice-layer-rehearsal .rehearsal-loading-poster{z-index:0;display:block;object-fit:cover;background:#c58b46;display:block!important;opacity:1;visibility:visible!important}.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film:not(.is-active){opacity:0;background:transparent}.practice-layer-rehearsal{background:radial-gradient(circle at 50% 28%,rgba(255,243,213,.48),transparent 34%),linear-gradient(155deg,#d9b295,#b69b89 46%,#769b98);background:#080b0c url(/media/wind-rehearsal-loading-v70.png) 50%/contain no-repeat!important}.free-practice-stage.uses-native-rehearsal-film,html.native-rehearsal-active,html.native-rehearsal-active body,html.native-rehearsal-active body>div{background:transparent!important;background-color:transparent!important}.free-practice-stage.uses-native-rehearsal-film .rehearsal-loop-film{display:none!important}.free-practice-stage.uses-native-rehearsal-film .rehearsal-loading-poster{display:block!important;opacity:1!important;transition:opacity .24s ease}.free-practice-stage.uses-native-rehearsal-film.native-rehearsal-frame-ready .rehearsal-loading-poster{opacity:0!important}.free-practice-stage.uses-native-rehearsal-film .rehearsal-feedback-film:not(.is-active),.free-practice-stage.uses-native-rehearsal-film .rehearsal-return-film:not(.is-active){opacity:0!important;pointer-events:none!important}.free-practice-stage.is-media-prewarming{opacity:0;pointer-events:none;pointer-events:none!important;display:none!important}.chord-label-fit{box-sizing:border-box;min-width:0;max-width:100%;display:block;overflow:hidden;line-height:1;text-align:center;text-overflow:clip;white-space:nowrap}.portal-discovery-chords>button b.chord-label-fit{width:100%;justify-self:stretch;font-size:clamp(18px,1.9vw,25px);letter-spacing:.01em}.portal-discovery-chords>button b.chord-label-medium{font-size:clamp(16px,1.64vw,22px);letter-spacing:-.015em}.portal-discovery-chords>button b.chord-label-long{font-size:clamp(13px,1.34vw,18px);letter-spacing:-.04em}.portal-discovery-chords>button b.chord-label-extended{font-size:clamp(11px,1.08vw,15px);letter-spacing:-.06em}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-fit{width:auto;max-width:min(38vw,250px);font-size:clamp(30px,3vw,40px)}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-medium{font-size:clamp(27px,2.65vw,36px)}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-long{font-size:clamp(22px,2.2vw,31px);letter-spacing:-.035em}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-extended{font-size:clamp(18px,1.85vw,26px);letter-spacing:-.055em}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-fit{width:calc(100% - 4px);font-size:clamp(16px,1.7vw,24px)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-medium{font-size:clamp(13px,1.36vw,19px)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-long{font-size:clamp(9px,.98vw,14px);letter-spacing:-.055em}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-extended{font-size:clamp(7px,.78vw,11px);letter-spacing:-.075em}.immersive-shell .chord-guide-row strong.chord-label-fit{width:calc(100% - 4px);font-size:clamp(20px,2.45vw,35px)}.immersive-shell .chord-guide-row strong.chord-label-medium{font-size:clamp(16px,1.9vw,28px)}.immersive-shell .chord-guide-row strong.chord-label-long{font-size:clamp(11px,1.38vw,21px);letter-spacing:-.055em}.immersive-shell .chord-guide-row strong.chord-label-extended{font-size:clamp(8px,1.02vw,16px);letter-spacing:-.075em}.immersive-shell .lyric-chord-label.chord-label-fit{width:100%;height:100%;display:grid;place-items:center;font-size:.82em}.immersive-shell .lyric-chord-label.chord-label-medium{font-size:.7em}.immersive-shell .lyric-chord-label.chord-label-long{font-size:.55em;letter-spacing:-.06em}.immersive-shell .lyric-chord-label.chord-label-extended{font-size:.44em;letter-spacing:-.08em}@media (max-width:760px){.portal-discovery-chords>button b.chord-label-short{font-size:16px}.portal-discovery-chords>button b.chord-label-medium{font-size:14px}.portal-discovery-chords>button b.chord-label-long{font-size:11px}.portal-discovery-chords>button b.chord-label-extended{font-size:9px}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-short{font-size:32px}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-medium{font-size:27px}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-long{font-size:21px}.practice-layer-rehearsal .rehearsal-current-target strong.chord-label-extended{font-size:17px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-short{font-size:11px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-medium{font-size:9px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-long{font-size:7px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step b.chord-label-extended{font-size:6px}.immersive-shell .chord-guide-row strong.chord-label-short{font-size:clamp(14px,4vw,23px)}.immersive-shell .chord-guide-row strong.chord-label-medium{font-size:clamp(11px,3vw,18px)}.immersive-shell .chord-guide-row strong.chord-label-long{font-size:clamp(8px,2.2vw,13px)}.immersive-shell .chord-guide-row strong.chord-label-extended{font-size:clamp(6px,1.65vw,10px)}}@media (orientation:landscape) and (max-height:600px){.portal-discovery-chords>button b.chord-label-short{font-size:clamp(15px,2.4vh,20px)}.portal-discovery-chords>button b.chord-label-medium{font-size:clamp(13px,2.05vh,17px)}.portal-discovery-chords>button b.chord-label-long{font-size:clamp(10px,1.7vh,14px)}.portal-discovery-chords>button b.chord-label-extended{font-size:clamp(8px,1.35vh,11px)}}.portal-path-story .portal-story-selection{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);align-content:center;gap:clamp(4px,.7vh,8px);overflow:hidden;height:auto;padding:clamp(4px,.65vh,7px);grid-template-rows:auto auto;grid-template-rows:auto minmax(0,1fr) auto}.story-offline-pack{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:7px 10px;border:1px solid rgba(255,244,214,.28);border-radius:5px 14px 5px 14px;background:linear-gradient(120deg,rgba(40,61,57,.76),rgba(91,75,61,.68));color:#fff6db;box-shadow:inset 0 1px rgba(255,255,255,.08),0 7px 20px rgba(25,37,34,.12)}.story-offline-pack>div{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:12px;font:600 clamp(10px,1.05vw,14px)/1.2 Songti SC,serif;letter-spacing:.08em}.story-offline-pack>div b{color:#ffe8a6;font-family:Optima,sans-serif;letter-spacing:.04em}.story-offline-pack>i{grid-column:1/-1;height:3px;overflow:hidden;border-radius:3px;background:rgba(255,255,255,.12)}.story-offline-pack>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#fff3c9,#8ce6dd);transition:width .24s ease;box-shadow:0 0 10px rgba(140,230,221,.5)}.story-offline-pack p{margin:0;color:rgba(255,247,222,.74);font:500 clamp(8px,.82vw,11px)/1.35 Songti SC,serif}.story-offline-pack button{align-self:center;padding:3px 9px;border:1px solid rgba(255,244,214,.35);border-radius:999px;color:#fff4d0;background:rgba(255,255,255,.08);font:600 9px/1.2 Songti SC,serif}.story-offline-pack.is-ready>i em{background:linear-gradient(90deg,#ffe5a3,#a5efe5)}.portal-start-game.is-story-downloading{cursor:progress;opacity:.82;background:linear-gradient(120deg,rgba(77,91,85,.68),rgba(116,100,80,.62))}@media (orientation:landscape) and (max-height:600px){.portal-path-story .portal-path-detail.detail-story{height:220px;min-height:220px;max-height:220px}.story-offline-pack{padding:4px 8px;gap:3px 8px}.story-offline-pack p{font-size:8px}}@media (max-width:600px) and (orientation:portrait){.story-offline-pack p{font-size:9px}}.story-offline-pack.story-offline-bottom{position:fixed;z-index:80;right:max(18px,var(--safe-right));bottom:max(8px,var(--safe-bottom));left:max(18px,var(--safe-left));width:min(520px,calc(100% - 36px));margin-inline:auto;padding:5px 9px;pointer-events:auto;animation:offline-bottom-in .22s ease both;box-shadow:0 5px 18px rgba(19,32,29,.22)}.story-offline-pack.story-offline-bottom>div{font-size:10px}.story-offline-pack.story-offline-bottom>i{height:2px}@keyframes offline-bottom-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.portal-inline-free-learning .learning-chapter-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.portal-inline-free-learning>header.portal-free-chord-heading{grid-template-columns:36px minmax(0,1fr) 78px;align-items:center;justify-items:stretch;gap:clamp(7px,.9vw,12px)}.portal-free-chord-heading>div{min-width:0;display:grid;justify-items:center;gap:3px}.portal-free-chord-heading>div>small{color:rgba(255,226,176,.76);font:720 clamp(8px,.68vw,10px)/1.1 Optima,sans-serif;letter-spacing:.18em}.portal-free-chord-heading>div>p,.portal-free-chord-heading>div>strong{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.portal-discovery-chords>button{position:relative}@media (max-width:760px){.portal-inline-free-learning .learning-chapter-strip{gap:2px}.learning-chapter-strip>button.is-free-chapter{padding-inline:2px;gap:2px}.learning-chapter-strip>button.is-free-chapter small{display:none}.portal-inline-free-learning>header.portal-free-chord-heading{grid-template-columns:31px minmax(0,1fr) 68px;gap:5px}}@media (orientation:landscape) and (max-height:600px){.portal-inline-free-learning>header.portal-free-chord-heading{gap:4px}.portal-free-chord-heading>div{gap:1px}}.practice-layer-rehearsal .free-practice-film.rehearsal-entry-film{z-index:3}.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film{z-index:2}.practice-layer-rehearsal .free-practice-film.rehearsal-return-film{z-index:4}.media-preparation-card{position:absolute;z-index:90;left:50%;bottom:max(18px,calc(var(--safe-bottom) + 12px));width:min(480px,calc(100% - 32px));padding:14px 16px;transform:translateX(-50%);border:1px solid rgba(255,244,218,.5);border-radius:18px;color:#fff8e8;background:linear-gradient(140deg,rgba(38,62,58,.92),rgba(89,77,61,.9));box-shadow:0 15px 40px rgba(17,29,27,.26),inset 0 0 0 1px rgba(255,255,255,.07);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.media-preparation-card div,.media-preparation-card footer,.media-preparation-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}.media-preparation-card header strong{font-size:clamp(15px,2.2vw,20px)}.media-preparation-card header b{color:#ffe095;font-size:18px}.media-preparation-card p{margin:7px 0 10px;color:rgba(255,248,230,.76);font-size:12px;line-height:1.45}.media-preparation-card>i{display:block;height:7px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.12)}.media-preparation-card>i em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8de2da,#ffe293,#ffb17e);transition:width .22s ease}.media-preparation-card footer{margin-top:10px}.media-preparation-card footer small{color:rgba(255,255,255,.62)}.media-preparation-card button{border:1px solid rgba(255,244,218,.44);border-radius:99px;padding:7px 12px;color:inherit;background:rgba(255,255,255,.09)}.web-media-background-progress{position:absolute;z-index:30;left:50%;bottom:max(8px,var(--safe-bottom));width:min(380px,60vw);height:3px;overflow:hidden;transform:translateX(-50%);border-radius:99px;background:rgba(255,255,255,.12);pointer-events:none}.web-media-background-progress i{display:block;height:100%;border-radius:inherit;background:rgba(255,224,158,.82);transition:width .22s ease}@media (max-width:680px){.media-preparation-card{padding:12px 13px;border-radius:15px}.media-preparation-card p{font-size:11px}}@media (prefers-reduced-motion:reduce){.media-preparation-card>i em,.practice-layer-rehearsal .free-practice-film.rehearsal-entry-film,.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film,.practice-layer-rehearsal .free-practice-film.rehearsal-return-film{transition-duration:1ms}}.portal-cinematic.is-under-practice{position:fixed;z-index:0;inset:0;pointer-events:none}.practice-layer-rehearsal.is-entry-handoff{background:transparent!important;background-image:none!important;pointer-events:none}.practice-layer-rehearsal.is-entry-handoff:after,.practice-layer-rehearsal.is-entry-handoff:before{opacity:0!important}.practice-layer-rehearsal.is-entry-handoff>:not(.rehearsal-entry-film):not(.rehearsal-loop-film):not(.rehearsal-return-film):not(.rehearsal-handoff-still){opacity:0!important;visibility:hidden!important;pointer-events:none!important}.practice-layer-rehearsal.is-entry-handoff .rehearsal-loading-poster{opacity:0!important;visibility:hidden!important}@media (prefers-reduced-motion:reduce){.practice-layer-rehearsal .free-practice-film.rehearsal-entry-film,.practice-layer-rehearsal .free-practice-film.rehearsal-return-film{transition-duration:1ms}}.practice-layer-rehearsal .rehearsal-current-target.is-awaiting-start{opacity:1;border-style:solid;border-color:color-mix(in srgb,var(--portal-chord-color) 54%,rgba(255,247,224,.3));box-shadow:0 0 0 1px rgba(255,250,229,.07) inset,0 0 18px color-mix(in srgb,var(--portal-chord-color) 18%,transparent)}.practice-layer-rehearsal .rehearsal-current-target.is-awaiting-start strong{animation:v97AwaitingFirstChord 2.4s ease-in-out infinite}.practice-layer-rehearsal .rehearsal-current-target.is-awaiting-start small{color:rgba(255,249,224,.92)}@keyframes v97AwaitingFirstChord{0%,to{opacity:.82;text-shadow:0 0 10px color-mix(in srgb,var(--portal-chord-color) 32%,transparent)}50%{opacity:1;text-shadow:0 0 20px color-mix(in srgb,var(--portal-chord-color) 62%,transparent)}}@media (prefers-reduced-motion:reduce){.practice-layer-rehearsal .rehearsal-current-target.is-awaiting-start strong{animation:none}}.practice-layer-rehearsal .free-practice-film.rehearsal-handoff-still{position:absolute;inset:0;width:100%;height:100%;display:block!important;visibility:hidden!important;opacity:0!important;object-fit:cover!important;object-position:center!important;background:#c89556;pointer-events:none;transition:none!important}.practice-layer-rehearsal .rehearsal-entry-handoff-still{z-index:2}.practice-layer-rehearsal .rehearsal-return-handoff-still{z-index:3}.practice-layer-rehearsal .free-practice-film.rehearsal-handoff-still.is-active,.practice-layer-rehearsal.is-entry-handoff>.free-practice-film.rehearsal-entry-handoff-still.is-active{visibility:visible!important;opacity:1!important}.practice-layer-rehearsal.is-entry-handoff>.rehearsal-entry-handoff-still.is-active{display:block!important;visibility:visible!important;opacity:1!important}.practice-layer-rehearsal .free-practice-film.rehearsal-entry-film,.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film,.practice-layer-rehearsal .free-practice-film.rehearsal-return-film{position:absolute;inset:0;width:100%;height:100%;display:block!important;visibility:visible!important;opacity:0;object-fit:cover;pointer-events:none;background:transparent;transition:opacity .14s linear;will-change:opacity;transition:none!important}.practice-layer-rehearsal .free-practice-film.rehearsal-entry-film.is-active,.practice-layer-rehearsal .free-practice-film.rehearsal-loop-film.is-active,.practice-layer-rehearsal .free-practice-film.rehearsal-return-film.is-active{opacity:1;opacity:1!important;visibility:visible!important}@media (prefers-reduced-motion:reduce){.practice-layer-rehearsal .free-practice-film.rehearsal-handoff-still{transition:none!important}}:root{--safe-top:env(safe-area-inset-top);--safe-right:env(safe-area-inset-right);--safe-bottom:env(safe-area-inset-bottom);--safe-left:env(safe-area-inset-left);--ink:#172039;--muted:#71809d;--line:#e7ebf3;--paper:#f6f7fb;--violet:#7655ff;--violet-dark:#5734e7;--mint:#40ecaa;--coral:#ff7467;--partykeys-viewport-height:100vh}@supports (height:100svh){:root{--partykeys-viewport-height:100svh}}@supports (height:100dvh){:root{--partykeys-viewport-height:100dvh}}body,html{width:100%;max-width:100%;height:var(--partykeys-viewport-height);min-height:var(--partykeys-viewport-height);margin:0;overflow:hidden;overscroll-behavior:none;background:#080b0c}body{min-width:320px;margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-rounded,SF Pro Rounded,PingFang SC,Microsoft YaHei,system-ui,sans-serif;-webkit-font-smoothing:antialiased;min-width:0}.free-practice-stage,.immersive-shell,.immersive-shell .game-column,.immersive-shell .workspace,.portal-cinematic,.wind-portal{width:100vw;height:100dvh;height:100svh;min-height:100dvh;min-height:100svh;width:100%!important;height:var(--partykeys-viewport-height)!important;min-height:var(--partykeys-viewport-height)!important;max-width:100%!important}.immersive-shell .cinema-stage{width:100vw!important;max-width:none!important;height:100dvh!important;height:100svh!important;min-height:0!important;margin:0!important;aspect-ratio:auto!important;width:100%!important;height:var(--partykeys-viewport-height)!important;min-height:var(--partykeys-viewport-height)!important}.free-practice-stage .free-practice-film,.immersive-shell .cinema-stage>.lesson-film.lesson-film-layer,.portal-cinematic .wind-portal-art{width:100%!important;max-width:none!important;height:100%!important;object-fit:cover!important;object-position:50% 50%!important}@media (max-width:480px) and (orientation:portrait){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{right:max(48px,calc(var(--safe-right) + 42px));bottom:max(9px,calc(var(--safe-bottom) + 7px));left:max(10px,calc(var(--safe-left) + 8px));width:auto;min-width:0;height:54px}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row,.immersive-shell .cinema-stage.is-chord-mode .chord-guide-rows{width:100%;height:100%}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row{padding-bottom:7px;gap:clamp(4px,1.5vw,7px)}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row>span{width:100%;height:45px;aspect-ratio:auto}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row strong.chord-label-short{font-size:clamp(20px,6.4vw,28px)}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row strong.chord-label-medium{font-size:clamp(15px,4.8vw,21px)}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row strong.chord-label-long{font-size:clamp(11px,3.5vw,16px)}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row strong.chord-label-extended{font-size:clamp(8px,2.65vw,12px)}.immersive-shell .cinema-stage.is-chord-mode .chord-countdown{inset:auto 0 calc(100% + 9px)}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(48px,calc(var(--safe-right) + 42px));bottom:max(75px,calc(var(--safe-bottom) + 73px));left:max(8px,calc(var(--safe-left) + 6px));width:auto;min-width:0;height:auto;gap:0}.immersive-shell .cinema-stage.is-chord-mode .lyric-characters{width:100%;padding:0 1px 4px;font-size:clamp(14px,4.7vw,20px);line-height:1;letter-spacing:0}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell{height:clamp(43px,13.6vw,58px);grid-template-rows:minmax(20px,.95fr) 1fr}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell>b{font-size:clamp(14px,4.7vw,20px)}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord{min-width:1em;max-width:100%;height:1em;padding-inline:.06em;font-size:clamp(15px,5vw,22px)}.immersive-shell .cinema-stage>.story-progress-meter{top:max(24%,calc(var(--safe-top) + 94px));right:max(4px,var(--safe-right));bottom:max(24%,calc(var(--safe-bottom) + 150px));width:38px}.immersive-shell .story-progress-track{width:21px}.immersive-shell .story-progress-gate-label{left:calc(50% + 12px)}.immersive-shell .film-corner-button.settings-toggle{top:max(10px,calc(var(--safe-top) + 7px));right:max(9px,calc(var(--safe-right) + 7px))}.immersive-shell .video-segment-rail{top:max(8px,calc(var(--safe-top) + 5px));right:max(54px,calc(var(--safe-right) + 52px));left:max(8px,calc(var(--safe-left) + 6px));width:auto!important}}@media (orientation:landscape) and (max-height:500px) and (max-width:960px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{bottom:max(8px,calc(var(--safe-bottom) + 6px));left:max(14px,calc(var(--safe-left) + 10px));width:min(25%,220px)}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(54px,calc(var(--safe-right) + 48px));bottom:max(8px,calc(var(--safe-bottom) + 6px));left:max(29%,calc(var(--safe-left) + 238px));width:auto}.immersive-shell .cinema-stage>.story-progress-meter{top:max(25%,calc(var(--safe-top) + 70px));right:max(5px,var(--safe-right));bottom:max(18%,calc(var(--safe-bottom) + 54px))}.immersive-shell .film-corner-button.settings-toggle{top:max(8px,calc(var(--safe-top) + 5px));right:max(9px,calc(var(--safe-right) + 7px))}}@media (max-width:375px) and (max-height:670px) and (orientation:portrait){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{height:48px}.immersive-shell .cinema-stage.is-chord-mode .chord-guide-row>span{height:40px}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{bottom:max(67px,calc(var(--safe-bottom) + 64px))}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell{height:clamp(39px,12.8vw,48px)}}.portal-path-heading{display:flex;align-items:center;justify-content:center;gap:12px}.portal-opening-action{flex-direction:column;align-items:center;gap:12px}.portal-opening-heading{display:flex;align-items:center;gap:12px;color:#fff9e6}.portal-opening-heading strong{font:520 clamp(17px,2.3vw,28px)/1.15 Songti SC,STSong,serif}.portal-back-corner{position:fixed;z-index:60;top:calc(var(--safe-top, 0px) + 16px);left:calc(var(--safe-left, 0px) + 16px);display:inline-flex;align-items:center;gap:4px;min-height:34px;padding:5px 12px;border:1px solid rgba(255,244,216,.4);border-radius:999px;color:rgba(255,244,216,.9);background:rgba(30,54,52,.55);cursor:pointer;font-size:13px}.portal-back-corner:hover{background:rgba(30,54,52,.75)}@media (orientation:landscape) and (max-height:500px) and (max-width:960px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{grid-template-rows:auto auto auto minmax(0,1fr) auto auto!important;align-content:stretch!important;gap:2px!important;overflow:hidden}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;min-height:30px;height:30px;margin:0 auto;padding:2px 7px;gap:5px}.portal-device-compact .device-connect-symbols{width:48px}.portal-device-compact .device-brand-logo{width:25px;height:25px}.portal-device-compact .device-bluetooth-icon{width:13px;height:18px}.portal-device-compact .device-connect-label{font-size:10px;letter-spacing:.04em}.portal-path-heading{min-height:18px;height:18px;padding:0}.portal-opening-action{gap:6px}.portal-opening-heading strong{font-size:15px}.portal-path-heading strong{font-size:clamp(14px,2.1vw,17px);line-height:1;letter-spacing:.08em}.portal-path-grid{height:52px;min-height:52px;margin:0 auto;gap:5px}.portal-path-card{min-height:0!important;height:52px;padding:4px 7px;grid-template-columns:20px minmax(0,1fr);gap:4px;border-radius:3px 14px 3px 14px}.portal-path-card.is-selected{transform:none}.portal-path-card>i{font-size:16px}.portal-path-card>span{gap:1px}.portal-path-card em,.portal-path-card small{display:none!important}.portal-path-card b{font-size:clamp(12px,2.4vw,16px);line-height:1.1;letter-spacing:.04em}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(960px,100%);min-height:0!important;height:100%!important;max-height:none!important;align-self:stretch;overflow:hidden}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%;min-height:0;padding:4px 6px;grid-template-rows:auto minmax(0,1fr)!important;gap:3px}.portal-level-selection .portal-story-heading{min-height:16px;height:16px;display:flex;align-items:center;justify-content:center;gap:0}.portal-level-selection .portal-story-heading>small,.portal-level-selection .portal-story-heading>span{display:none!important}.portal-level-selection .portal-story-heading strong{font-size:clamp(12px,2vw,15px);line-height:1;letter-spacing:.06em}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{height:100%;min-height:0;padding:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))!important;gap:4px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-boss-level,.portal-path-story .portal-story-selection .portal-journey-levels button.is-story-level{min-height:0!important;height:100%;padding:3px 6px;grid-template-columns:22px minmax(0,1fr);gap:5px}.portal-level-selection .portal-journey-levels button>i{font-size:12px}.portal-level-selection .portal-journey-levels button>span{font-size:clamp(11px,1.8vw,14px);line-height:1.08}.portal-level-selection .portal-journey-levels button>span>small{font-size:7px}.portal-level-selection .level-complete-stamp{transform:rotate(-7deg) scale(.62)}.portal-shared-theory{width:min(960px,100%);min-height:34px;height:34px;max-height:34px;margin:0 auto;padding:3px 7px;gap:6px;grid-template-columns:auto 1px minmax(0,1fr)}.portal-shared-theory>small{font-size:9px}.portal-shared-theory>i{height:20px}.portal-shared-theory>div{grid-template-columns:auto minmax(0,1fr);gap:6px;overflow:hidden}.portal-shared-theory>div>strong{font-size:9px;white-space:nowrap}.portal-shared-theory>div>p{overflow:hidden;font-size:8px;line-height:1.2;white-space:nowrap;text-overflow:ellipsis}.portal-cinematic .portal-start-game{grid-row:auto;width:min(250px,calc(100% - 24px));min-height:32px;height:32px;margin:0 auto;padding:0 12px;font-size:12px;box-shadow:3px 4px 0 rgba(8,34,35,.2)}.portal-cinematic .portal-start-game span{font-size:16px}.portal-path-free .portal-inline-free-learning{min-height:0;height:100%;padding:4px;gap:2px}.portal-path-free .learning-chapter-strip>button{min-height:20px;padding-block:1px}.portal-path-free .portal-free-chord-heading{min-height:24px}.portal-path-free .portal-free-chord-heading p{display:none}.portal-path-free .portal-discovery-chords>button{min-height:29px;padding:2px 4px}.portal-path-free .foundation-piano-keyboard.is-compact{height:clamp(42px,14vh,54px)}}@media (orientation:landscape) and (max-height:340px) and (max-width:760px){.portal-cinematic .portal-path-device.portal-device-compact{min-height:27px;height:27px}.portal-device-compact .device-brand-logo{width:22px;height:22px}.portal-path-heading{min-height:16px;height:16px}.portal-path-grid{min-height:46px;height:46px}.portal-path-card{height:46px;padding-block:2px}.portal-shared-theory{max-height:30px}.portal-cinematic .portal-start-game,.portal-shared-theory{min-height:30px;height:30px}}.designer-guide-chapters,.designer-guide-chapters button,.designer-guide-chapters button>span,.designer-guide-layout,.portal-path-card,.portal-path-card>span,.portal-path-detail,.portal-rehearsal-chord-learning,.practice-layer-rehearsal .rehearsal-challenge-progress>button,.rehearsal-chapter-switcher,.rehearsal-chapter-switcher button{min-width:0}.designer-guide-chapters small,.designer-guide-chapters strong,.portal-path-card b,.portal-path-card em,.practice-layer-rehearsal .rehearsal-challenge-progress strong,.rehearsal-chapter-switcher span{max-width:100%;overflow-wrap:anywhere}.designer-guide-layout{width:100%;height:100%;padding:clamp(9px,1.2vw,14px);display:grid;grid-template-columns:minmax(132px,.9fr) minmax(0,1.45fr);gap:clamp(9px,1.2vw,16px);overflow:hidden;border:1px solid rgba(255,240,208,.25);border-radius:5px 24px 5px 24px;background:linear-gradient(138deg,rgba(35,65,62,.76),rgba(99,73,54,.62));box-shadow:8px 10px 0 rgba(41,35,31,.12),inset 0 0 24px rgba(255,255,255,.035);-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.designer-guide-player{min-width:0;min-height:0;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(255,239,205,.3);border-radius:4px 18px 4px 18px;background:linear-gradient(160deg,rgba(255,239,205,.08),rgba(41,78,75,.38))}.designer-guide-player video{height:100%;object-fit:contain}.designer-guide-placeholder,.designer-guide-player video{width:100%;max-width:100%;max-height:100%;aspect-ratio:3/4}.designer-guide-placeholder{height:auto;display:grid;place-content:center;justify-items:center;gap:7px;color:rgba(255,247,225,.78);background:radial-gradient(circle at 50% 35%,rgba(255,232,187,.17),transparent 42%),linear-gradient(180deg,rgba(91,137,127,.24),rgba(45,66,61,.28));text-align:center}.designer-guide-placeholder i{width:43px;height:43px;display:grid;place-items:center;border:1px solid rgba(255,235,193,.34);border-radius:50%;color:#ffe3aa;font:700 10px/1 Optima,sans-serif;font-style:normal}.designer-guide-placeholder strong{font:560 clamp(14px,1.45vw,20px)/1.15 Songti SC,STSong,serif}.designer-guide-placeholder span{color:rgba(255,247,225,.52);font-size:10px}.designer-guide-chapters{min-height:0;display:grid;grid-template-rows:repeat(5,minmax(0,1fr));gap:6px;overflow:hidden}.designer-guide-chapters button{width:100%;min-height:0;padding:6px 8px;display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:8px;overflow:hidden;border:1px solid rgba(255,241,210,.14);border-radius:2px 12px 2px 12px;color:rgba(255,248,230,.7);background:rgba(38,66,63,.34);text-align:left;cursor:pointer}.designer-guide-chapters button>b{width:24px;height:24px;display:grid;place-items:center;border:1px solid rgba(255,228,177,.24);border-radius:50%;font:700 8px/1 Optima,sans-serif}.designer-guide-chapters button>span{display:grid;gap:2px}.designer-guide-chapters button>span strong{font:560 clamp(13px,1.08vw,16px)/1.18 Songti SC,STSong,serif}.designer-guide-chapters button>em{color:rgba(255,218,154,.72);font:700 8px/1 Optima,sans-serif;font-style:normal;white-space:nowrap}.designer-guide-chapters button.is-current{color:#fff9e8;border-color:rgba(255,226,172,.54);background:linear-gradient(120deg,rgba(236,168,106,.2),rgba(101,179,167,.18));box-shadow:inset 0 0 15px rgba(255,239,205,.05),0 0 14px rgba(255,216,151,.12)}.designer-guide-chapters button.is-locked{color:rgba(255,246,224,.45);border-color:rgba(196,219,209,.18);background:linear-gradient(120deg,rgba(45,68,65,.48),rgba(79,71,62,.4));box-shadow:inset 0 0 13px rgba(217,238,226,.025);cursor:not-allowed}.designer-guide-chapters button.is-locked>b{color:rgba(190,226,216,.62);border-color:rgba(190,226,216,.24);box-shadow:0 0 9px rgba(165,221,207,.08)}.designer-guide-chapters button.is-locked>em{color:rgba(191,224,214,.66)}.portal-path-rehearsal .portal-path-detail.detail-rehearsal{height:min(39vh,292px);min-height:236px;max-height:min(39vh,292px)}.portal-rehearsal-chord-learning{width:100%}.rehearsal-chapter-switcher{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;pointer-events:auto}.rehearsal-chapter-switcher button{min-height:38px;padding:5px 8px;display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:7px;overflow:hidden;border:1px solid rgba(255,241,210,.14);border-radius:2px 11px 2px 11px;color:rgba(255,248,230,.58);background:linear-gradient(135deg,rgba(34,60,57,.58),rgba(92,72,58,.46));-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);cursor:pointer}.rehearsal-chapter-switcher button>b{width:21px;height:21px;display:grid;place-items:center;border:1px solid rgba(255,232,188,.2);border-radius:50%;font:700 8px/1 Optima,sans-serif}.rehearsal-chapter-switcher button>span{overflow:hidden;font:560 clamp(11px,.92vw,14px)/1.15 Songti SC,STSong,serif;white-space:nowrap;text-overflow:ellipsis}.rehearsal-chapter-switcher button.is-current{color:#fff9e7;border-color:rgba(255,230,178,.76);background:linear-gradient(125deg,rgba(231,166,105,.22),rgba(96,174,162,.18));box-shadow:0 0 15px rgba(255,213,139,.38),inset 0 0 12px rgba(255,244,215,.05)}.practice-layer-rehearsal .rehearsal-challenge-progress{grid-template-columns:repeat(4,minmax(0,1fr))}.practice-layer-rehearsal .rehearsal-challenge-progress>button{min-height:44px}.practice-layer-rehearsal .rehearsal-challenge-progress strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.rehearsal-upper-panel{gap:6px}@media (orientation:landscape) and (max-height:600px){.designer-guide-layout{padding:5px;grid-template-columns:minmax(78px,.38fr) minmax(0,1.62fr);gap:7px}.designer-guide-chapters{grid-template-rows:repeat(5,minmax(0,1fr));gap:3px}.designer-guide-chapters button{padding:3px 6px;grid-template-columns:20px minmax(0,1fr) auto;gap:5px}.designer-guide-chapters button>b{width:18px;height:18px}.designer-guide-chapters button>span strong{font-size:clamp(10px,1.65vw,13px)}.portal-path-rehearsal .portal-path-detail.detail-rehearsal{height:min(34vh,170px);min-height:150px;max-height:min(34vh,170px)}.practice-layer-rehearsal .rehearsal-challenge-progress,.rehearsal-chapter-switcher{gap:4px}.practice-layer-rehearsal .rehearsal-challenge-progress>button,.rehearsal-chapter-switcher button{min-height:34px;padding:3px 5px}.rehearsal-chapter-switcher button{grid-template-columns:18px minmax(0,1fr)}.rehearsal-chapter-switcher button>b{width:17px;height:17px}}@media (max-width:600px) and (orientation:portrait){.designer-guide-layout{padding:7px;grid-template-columns:minmax(104px,.78fr) minmax(0,1.42fr);gap:7px}.designer-guide-chapters{grid-template-rows:repeat(5,minmax(0,1fr));gap:4px}.designer-guide-chapters button{padding:4px;grid-template-columns:20px minmax(0,1fr);gap:5px}.designer-guide-chapters button>b{width:18px;height:18px}.designer-guide-chapters button>span strong{font-size:clamp(10px,3.1vw,13px)}.designer-guide-chapters button>em{display:none}.rehearsal-upper-panel{top:max(13vh,calc(var(--safe-top) + 86px));gap:4px}.practice-layer-rehearsal .rehearsal-challenge-progress,.rehearsal-chapter-switcher{grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.practice-layer-rehearsal .rehearsal-challenge-progress>button,.rehearsal-chapter-switcher button{min-height:43px;padding:4px 2px;grid-template-columns:1fr;justify-items:center;gap:2px;text-align:center}.practice-layer-rehearsal .rehearsal-challenge-progress>button>b,.rehearsal-chapter-switcher button>b{width:17px;height:17px}.practice-layer-rehearsal .rehearsal-challenge-progress strong,.rehearsal-chapter-switcher button>span{width:100%;font-size:clamp(9px,2.7vw,11px);line-height:1.08;white-space:normal}}@media (max-width:360px) and (orientation:portrait){.portal-path-stage{overflow:hidden}.portal-path-grid{height:98px;min-height:98px}.portal-path-card{height:98px;min-height:0!important}.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:218px;min-height:218px;max-height:218px}.portal-shared-theory{height:68px;min-height:68px;max-height:68px}.portal-path-card{padding-inline:6px}.portal-path-card b{font-size:clamp(12px,4.2vw,15px)}.designer-guide-layout{grid-template-columns:104px minmax(0,1fr)}.practice-layer-rehearsal .rehearsal-challenge-progress strong,.rehearsal-chapter-switcher button>span{font-size:8px}}.portal-path-detail{position:relative;isolation:isolate}.portal-path-guide{position:absolute;z-index:30;inset:0;display:grid;place-items:center;padding:clamp(12px,2.2vw,26px);overflow:hidden;border-radius:inherit;color:#fff9e9;background:radial-gradient(circle at 50% 28%,rgba(255,244,205,.22),transparent 43%),linear-gradient(145deg,rgba(22,65,67,.98),rgba(41,86,83,.98) 55%,rgba(108,76,46,.97));animation:portal-path-guide-enter .38s ease-out both}.portal-path-guide:after,.portal-path-guide:before{content:"";position:absolute;border:1px solid rgba(255,244,205,.3);transform:rotate(45deg);pointer-events:none}.portal-path-guide:before{top:-48px;right:7%;width:112px;height:112px}.portal-path-guide:after{bottom:-42px;left:7%;width:86px;height:86px}.portal-path-guide>div{position:relative;z-index:1;width:min(700px,100%);display:grid;justify-items:center;gap:clamp(5px,.8vw,10px);text-align:center}.portal-path-guide small{font-size:clamp(9px,.85vw,12px);letter-spacing:.16em;color:rgba(255,242,201,.82)}.portal-path-guide strong{font-family:var(--font-display,"Songti SC","STSong",serif);font-size:clamp(18px,2.25vw,31px);font-weight:500;line-height:1.18;letter-spacing:.06em;text-wrap:balance;text-shadow:0 4px 18px rgba(5,27,28,.34)}.portal-path-guide p{max-width:63ch;margin:0;font-size:clamp(11px,1.05vw,15px);line-height:1.62;letter-spacing:.025em;color:rgba(255,252,239,.92);text-wrap:pretty}.portal-path-guide-copy{width:min(660px,100%);display:grid;gap:clamp(3px,.45vw,7px)}.portal-path-guide-copy p{max-width:none}.portal-path-guide button{min-width:clamp(138px,18vw,190px);min-height:38px;margin-top:clamp(2px,.5vw,7px);padding:7px 18px;border:1px solid rgba(255,244,206,.7);border-radius:999px;color:#fff9e7;background:rgba(255,245,211,.12);box-shadow:0 8px 24px rgba(5,27,28,.2),inset 0 0 18px rgba(255,240,191,.08);font:inherit;font-size:clamp(11px,1vw,14px);letter-spacing:.08em;cursor:pointer;touch-action:manipulation}.portal-path-guide button:focus-visible,.portal-path-guide button:hover{color:#315d5b;background:#fff1c2;outline:none}.portal-path-guide-free{background:radial-gradient(circle at 50% 28%,rgba(255,220,143,.2),transparent 42%),linear-gradient(145deg,rgba(48,74,70,.98),rgba(75,94,78,.98),rgba(130,89,48,.97))}.portal-path-guide-rehearsal{background:radial-gradient(circle at 50% 30%,rgba(181,244,239,.2),transparent 42%),linear-gradient(145deg,rgba(23,69,73,.98),rgba(47,96,94,.98),rgba(92,78,58,.97))}.portal-path-guide-story{background:radial-gradient(circle at 50% 27%,rgba(255,208,184,.2),transparent 43%),linear-gradient(145deg,rgba(53,55,68,.98),rgba(93,67,74,.98),rgba(137,83,50,.97))}@keyframes portal-path-guide-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (orientation:landscape) and (max-height:500px){.portal-path-guide{padding:6px 16px}.portal-path-guide>div{gap:3px}.portal-path-guide small{font-size:8px}.portal-path-guide strong{font-size:clamp(15px,2.35vw,22px)}.portal-path-guide p{max-width:72ch;font-size:clamp(9px,1.3vw,12px);line-height:1.38}.portal-path-guide-copy{gap:1px}.portal-path-guide button{min-height:30px;padding-block:4px;margin-top:1px}}@media (max-width:600px) and (orientation:portrait){.portal-path-guide{padding:14px 13px}.portal-path-guide strong{font-size:clamp(19px,6vw,27px)}.portal-path-guide p{font-size:clamp(11px,3.4vw,14px);line-height:1.52}.portal-path-guide-copy{gap:5px}}.practice-layer-rehearsal .rehearsal-challenge-progress .rehearsal-round-speed{display:block;margin-top:4px;color:rgba(255,231,190,.72);font:650 clamp(8px,.72vw,11px)/1 Songti SC,STSong,serif;letter-spacing:.08em;text-align:left;white-space:nowrap}@media (max-width:600px) and (orientation:portrait){.practice-layer-rehearsal .rehearsal-challenge-progress .rehearsal-round-speed{display:block;margin-top:2px;font-size:clamp(8px,2.25vw,10px);letter-spacing:.02em;text-align:center}}@media (prefers-reduced-motion:reduce){.portal-path-guide{animation:none}}.settings-history-entry{width:calc(100% - 28px);min-width:0;min-height:52px;margin:14px 14px max(14px,var(--safe-bottom));padding:10px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;border:1px solid rgba(255,239,205,.18);border-radius:5px 17px 5px 17px;color:rgba(255,246,226,.84);background:linear-gradient(125deg,rgba(255,255,255,.035),rgba(255,209,143,.07));box-shadow:inset 0 0 16px rgba(255,231,190,.025);text-align:left;cursor:pointer;touch-action:manipulation}.settings-history-entry>span{min-width:0;display:grid;gap:3px}.settings-history-entry small,.settings-history-entry strong{min-width:0;overflow-wrap:anywhere}.settings-history-entry small{color:rgba(255,218,171,.66);font:650 9px/1.2 Songti SC,STSong,serif;letter-spacing:.12em}.settings-history-entry strong{font:500 clamp(11px,1vw,13px)/1.35 Songti SC,STSong,serif}.settings-history-entry>i{flex:0 0 auto;color:rgba(255,226,180,.72);font:300 27px/1 Didot,Georgia,serif}.settings-history-entry:focus-visible,.settings-history-entry:hover{border-color:rgba(255,231,184,.42);background:linear-gradient(125deg,rgba(255,255,255,.07),rgba(255,209,143,.12))}@media (max-width:600px){.settings-history-entry{width:calc(100% - 20px);min-height:48px;margin:10px 10px max(10px,var(--safe-bottom));padding:9px 11px}.development-history-card{width:min(94vw,680px);max-height:min(88dvh,760px);padding:16px 14px}.development-history-card li{grid-template-columns:38px minmax(0,1fr)}}.practice-layer-rehearsal .practice-layer-heading.is-title-only{grid-template-columns:1fr;justify-items:start}.rehearsal-page-switcher{display:flex;align-items:center;justify-content:center;gap:5px}.rehearsal-page-switcher button{min-width:38px;min-height:24px;padding:4px 8px;border:1px solid rgba(255,238,202,.2);border-radius:999px;color:rgba(255,241,211,.64);background:rgba(28,56,54,.46);font:700 9px/1 Optima,Songti SC,serif;cursor:pointer}.rehearsal-page-switcher button.is-current{color:#fff8dc;border-color:rgba(255,222,167,.72);background:linear-gradient(135deg,rgba(202,126,86,.66),rgba(64,125,117,.7));box-shadow:0 0 12px rgba(255,219,160,.18)}.settings-history-entry{width:100%;min-height:92px;margin:0;padding:10px;display:grid;grid-template-columns:minmax(0,1fr);align-items:stretch;justify-content:stretch;gap:8px;border:1px solid rgba(86,139,133,.18);border-radius:11px;color:#567570;background:rgba(235,244,238,.7);box-shadow:none}.settings-history-entry>span{gap:2px}.settings-history-entry b{color:#567570;font-size:10px;font-weight:800}.settings-history-entry b,.settings-history-entry small{min-width:0;font-family:inherit;line-height:normal;letter-spacing:0;overflow-wrap:anywhere}.settings-history-entry small{color:#8aa09c;font-size:7px;font-weight:400}.settings-history-entry>em{width:100%;min-height:34px;padding:5px 9px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(86,139,133,.2);border-radius:8px;color:#587973;background:rgba(255,255,255,.55);font-size:10px;font-style:normal;font-weight:700;line-height:1.1}.settings-history-entry>em i{color:#77908c;font:400 18px/1 Didot,Georgia,serif}.settings-history-entry:focus-visible,.settings-history-entry:hover{border-color:rgba(86,139,133,.34);color:#567570;background:rgba(226,240,234,.9);outline:none}.settings-history-entry:focus-visible>em,.settings-history-entry:hover>em{border-color:rgba(77,128,119,.4);background:rgba(255,255,255,.78)}.development-history-card{color:#345f5b;border-color:rgba(255,255,255,.7);background:linear-gradient(160deg,rgba(255,249,232,.985),rgba(217,238,228,.985));box-shadow:0 30px 100px rgba(8,31,31,.42),inset 0 0 0 1px rgba(86,139,133,.14)}.development-history-card header{z-index:8;padding-bottom:14px;background:linear-gradient(135deg,#fff9e8,#e3f0e7);box-shadow:0 10px 0 #e3f0e7,0 16px 18px rgba(64,103,96,.08)}.development-history-card header small,.development-history-card li b{color:#a95f48}.development-history-card header small{font-size:11px;letter-spacing:.14em}.development-history-card h2,.development-history-card li span{color:#345f5b}.development-history-card header button{color:#416c67;border-color:rgba(70,119,113,.22);background:rgba(255,255,255,.7)}.development-history-card>p{color:#6c817d;font-size:13px}.development-history-card li{border-bottom-color:rgba(70,119,113,.14)}.development-history-card li span{font-size:13px;line-height:1.55}@media (max-width:600px),(orientation:landscape) and (max-height:600px){.rehearsal-page-switcher{gap:3px}.rehearsal-page-switcher button{min-width:34px;min-height:22px;padding:3px 6px;font-size:8px}.development-history-card li span{font-size:12.5px}}html{text-size-adjust:100%}[role=button],[role=tab],a,button{min-width:0;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.portal-cinematic .portal-start-game,.portal-path-detail,.portal-path-grid,.portal-path-heading,.portal-path-stage>*,.portal-shared-theory{min-width:0;max-width:100%;justify-self:center}.portal-path-card.is-selected{transform:none!important}.designer-guide-chapters button,.learning-chapter-strip button,.learning-chapter-strip button>span,.portal-journey-levels button,.portal-journey-levels button>span,.portal-path-card,.portal-path-card b,.portal-path-card em,.portal-path-card small,.portal-path-card>span,.rehearsal-chapter-switcher button{box-sizing:border-box;min-width:0;max-width:100%}.designer-guide-chapters button strong,.learning-chapter-strip button>span,.portal-journey-levels button>span,.portal-path-card b,.rehearsal-chapter-switcher button>span{overflow:hidden;text-overflow:ellipsis}.immersive-shell .settings-drawer,.is-free-practice-settings-host .settings-drawer,.wind-portal .portal-settings-drawer{box-sizing:border-box;max-height:calc(var(--partykeys-viewport-height) - var(--safe-top) - var(--safe-bottom) - 16px);padding-bottom:max(10px,var(--safe-bottom));overscroll-behavior:contain}@media (orientation:portrait) and (min-width:350px) and (max-width:440px) and (min-height:760px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{inset:max(8px,var(--safe-top)) max(10px,var(--safe-right)) max(8px,var(--safe-bottom)) max(10px,var(--safe-left));grid-template-rows:44px 42px 96px minmax(280px,304px) 76px 46px!important;align-content:start!important;justify-content:stretch;gap:7px!important;overflow:hidden}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;max-width:calc(100% - 96px);min-height:44px;height:44px;margin:0 auto;padding:4px 11px;gap:7px}.portal-device-compact .device-connect-symbols{width:60px;min-width:60px}.portal-device-compact .device-brand-logo{width:31px;height:31px}.portal-device-compact .device-connect-label{overflow:hidden;font-size:11px;letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis}.portal-path-heading{width:100%;min-height:42px;height:42px;padding:0;display:flex;align-items:center;justify-content:center;text-align:center}.portal-path-heading strong{max-width:calc(100% - 88px);font-size:clamp(22px,6.3vw,27px);line-height:1.08;letter-spacing:.08em;white-space:nowrap}.portal-path-grid{width:100%;height:96px;min-height:96px;margin:0;gap:6px;align-items:stretch}.portal-path-card{width:100%;height:96px;min-height:96px!important;padding:7px 5px;grid-template-columns:1fr;grid-template-rows:25px minmax(0,1fr);justify-items:center;align-content:center;gap:4px;text-align:center;border-radius:3px 16px 3px 16px}.portal-path-card>i{font-size:20px;line-height:25px}.portal-path-card>span{width:100%;justify-items:center;align-content:center}.portal-path-card em,.portal-path-card small{display:none!important}.portal-path-card b{width:100%;font-size:clamp(13px,3.75vw,16px);line-height:1.15;letter-spacing:.035em;white-space:normal;text-align:center;text-wrap:balance}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:100%;height:304px;min-height:280px;max-height:304px;margin:0;align-self:stretch;overflow:hidden}.designer-guide-layout{padding:8px;grid-template-columns:minmax(112px,.82fr) minmax(0,1.38fr);gap:8px}.designer-guide-chapters{gap:5px}.designer-guide-chapters button{padding:5px;grid-template-columns:20px minmax(0,1fr);gap:5px}.designer-guide-chapters button>b{width:19px;height:19px}.designer-guide-chapters button>span strong{font-size:clamp(11px,3vw,13px);line-height:1.12;white-space:normal;text-wrap:balance}.designer-guide-chapters button>em{display:none}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%;padding:9px;gap:7px}.portal-level-selection .portal-story-heading{min-height:43px;display:grid;align-content:center;justify-items:center;gap:2px;text-align:center}.portal-level-selection .portal-story-heading>small,.portal-level-selection .portal-story-heading>span{display:none}.portal-level-selection .portal-story-heading strong{font-size:clamp(15px,4.3vw,18px);line-height:1.12;letter-spacing:.045em}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{min-height:0;height:100%;gap:7px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:0!important;height:100%;padding:7px;grid-template-columns:25px minmax(0,1fr);gap:7px}.portal-level-selection .portal-journey-levels button>span{font-size:clamp(12px,3.45vw,15px);line-height:1.14;white-space:normal;text-wrap:balance}.portal-level-selection .portal-journey-levels button>span>small{font-size:8px}.portal-inline-free-learning{min-height:0;height:100%;padding:7px;gap:4px}.learning-chapter-strip{gap:4px}.learning-chapter-strip>button{min-height:31px;padding:3px 2px}.learning-chapter-strip button>span{font-size:clamp(9px,2.45vw,11px);line-height:1.08;white-space:normal;text-align:center}.portal-free-chord-heading{min-height:38px}.portal-free-chord-heading strong{font-size:clamp(13px,3.8vw,16px)}.portal-free-chord-heading p{font-size:9px;line-height:1.2}.portal-discovery-chords{gap:4px}.portal-discovery-chords>button{min-height:38px;padding:4px}.portal-discovery-chords>button b{font-size:clamp(14px,4.1vw,18px)}.foundation-piano-keyboard.is-compact{height:62px}.portal-shared-theory{width:100%;min-height:76px;height:76px;max-height:76px;margin:0;padding:8px 10px;grid-template-columns:auto 1px minmax(0,1fr);gap:8px;overflow:hidden}.portal-shared-theory>small{font-size:10px;white-space:nowrap}.portal-shared-theory>div{min-width:0;grid-template-columns:1fr;gap:2px;overflow:hidden}.portal-shared-theory>div>strong{font-size:11px;line-height:1.15}.portal-shared-theory>div>p{display:-webkit-box;overflow:hidden;font-size:10px;line-height:1.32;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.portal-cinematic .portal-start-game{width:min(270px,calc(100% - 40px));min-height:46px;height:46px;margin:0 auto;padding:0 14px;font-size:13px}.portal-back-corner{top:max(8px,calc(var(--safe-top) + 2px));left:max(8px,calc(var(--safe-left) + 2px));min-height:36px;padding:5px 10px;font-size:12px}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-free-settings-toggle{top:max(8px,calc(var(--safe-top) + 2px));right:max(8px,calc(var(--safe-right) + 2px));min-width:50px;min-height:36px}.immersive-shell .settings-drawer,.is-free-practice-settings-host .settings-drawer,.wind-portal .portal-settings-drawer{top:max(8px,var(--safe-top));right:max(8px,var(--safe-right));bottom:max(8px,var(--safe-bottom));width:min(360px,calc(100% - var(--safe-left) - var(--safe-right) - 16px));max-height:none}.portal-path-guide{padding:14px 12px}.portal-path-guide>div{gap:5px}.portal-path-guide strong{font-size:clamp(21px,6vw,27px)}.portal-path-guide p{font-size:clamp(12px,3.35vw,14px);line-height:1.48}.portal-path-guide button{min-height:42px}.practice-layer-rehearsal .practice-layer-heading{top:max(7vh,calc(var(--safe-top) + 48px));width:calc(100% - var(--safe-left) - var(--safe-right) - 24px)}.rehearsal-upper-panel{top:max(14vh,calc(var(--safe-top) + 92px));width:calc(100% - var(--safe-left) - var(--safe-right) - 20px)}.rehearsal-stepper-dock{right:max(14px,calc(var(--safe-right) + 8px));bottom:max(8px,calc(var(--safe-bottom) + 5px));left:max(14px,calc(var(--safe-left) + 8px))}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-width:0;min-height:clamp(74px,10.5dvh,94px)}.development-history-card{width:calc(100% - var(--safe-left) - var(--safe-right) - 20px);max-width:420px}}@media (orientation:landscape) and (min-width:760px) and (max-width:956px) and (min-height:350px) and (max-height:440px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{inset:max(7px,var(--safe-top)) max(11px,var(--safe-right)) max(7px,var(--safe-bottom)) max(11px,var(--safe-left));grid-template-rows:30px 19px 54px minmax(0,1fr) 35px 33px!important;align-content:stretch!important;gap:3px!important;overflow:hidden}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;max-width:calc(100% - 140px);min-height:30px;height:30px;margin:0 auto;padding:2px 8px}.portal-path-heading{width:100%;min-height:19px;height:19px;padding:0;justify-content:center;text-align:center}.portal-path-heading strong{font-size:clamp(15px,1.9vw,18px);line-height:1;letter-spacing:.08em}.portal-path-grid{width:min(820px,100%);min-height:54px;height:54px;margin:0 auto;gap:6px}.portal-path-card{height:54px;min-height:54px!important;padding:4px 8px;grid-template-columns:21px minmax(0,1fr);gap:6px}.portal-path-card b{font-size:clamp(13px,1.75vw,16px);line-height:1.08}.portal-path-card em,.portal-path-card small{display:none!important}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(820px,100%);height:100%!important;min-height:0!important;max-height:none!important;margin:0 auto;overflow:hidden}.designer-guide-layout{height:100%;padding:5px;grid-template-columns:minmax(90px,.42fr) minmax(0,1.58fr);gap:7px}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%;padding:5px 7px;gap:4px}.portal-level-selection .portal-story-heading{min-height:17px;height:17px}.portal-level-selection .portal-story-heading strong{font-size:13px}.portal-level-selection .portal-story-heading>small,.portal-level-selection .portal-story-heading>span{display:none!important}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{min-height:0;height:100%;gap:5px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{min-height:0!important;height:100%;padding:4px 7px}.portal-level-selection .portal-journey-levels button>span{font-size:clamp(11px,1.35vw,14px);line-height:1.08}.portal-inline-free-learning{height:100%;min-height:0;padding:4px 6px;gap:2px}.learning-chapter-strip>button{min-height:22px;padding-block:2px}.portal-free-chord-heading{min-height:25px}.portal-free-chord-heading p{display:none}.portal-discovery-chords>button{min-height:30px;padding:2px 5px}.foundation-piano-keyboard.is-compact{height:clamp(42px,12dvh,54px)}.portal-shared-theory{width:min(820px,100%);min-height:35px;height:35px;max-height:35px;margin:0 auto;padding:3px 8px}.portal-shared-theory>div{overflow:hidden}.portal-shared-theory>div>p{overflow:hidden;font-size:9px;white-space:nowrap;text-overflow:ellipsis}.portal-cinematic .portal-start-game{width:min(250px,calc(100% - 80px));min-height:33px;height:33px;margin:0 auto}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{top:max(7px,var(--safe-top));min-height:30px}.portal-back-corner{left:max(7px,var(--safe-left))}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-free-settings-toggle{right:max(7px,var(--safe-right))}.immersive-shell .settings-drawer,.is-free-practice-settings-host .settings-drawer,.wind-portal .portal-settings-drawer{top:max(7px,var(--safe-top));right:max(7px,var(--safe-right));bottom:max(7px,var(--safe-bottom));width:min(360px,calc(100% - var(--safe-left) - var(--safe-right) - 14px));max-height:none}.practice-layer-rehearsal .practice-layer-heading{top:max(7px,calc(var(--safe-top) + 31px));width:calc(100% - var(--safe-left) - var(--safe-right) - 120px)}.practice-layer-rehearsal .practice-layer-heading h1{font-size:18px}.rehearsal-upper-panel{top:max(63px,calc(var(--safe-top) + 56px));width:min(820px,calc(100% - var(--safe-left) - var(--safe-right) - 36px))}.rehearsal-stepper-dock{right:max(30px,calc(var(--safe-right) + 12px));bottom:max(7px,calc(var(--safe-bottom) + 4px));left:max(30px,calc(var(--safe-left) + 12px))}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:clamp(51px,13dvh,62px)}}.designer-guide-chapters button.is-completed{border-color:rgba(195,235,204,.78);background:linear-gradient(126deg,rgba(216,242,220,.22),rgba(255,250,224,.13))}.designer-guide-chapters button.is-completed>b,.designer-guide-chapters button.is-completed>em{color:#d9f4dc;text-shadow:0 0 10px rgba(178,239,198,.42)}.learning-chapter-strip>button.is-completed:not(.is-current),.rehearsal-chapter-switcher>button.is-completed:not(.is-current){border-color:rgba(190,230,198,.5);box-shadow:inset 0 0 0 1px rgba(225,248,228,.12)}.portal-enter.is-progression-locked,.portal-enter.is-progression-locked:disabled{cursor:not-allowed;opacity:.82;border-color:rgba(242,228,188,.48);background:rgba(51,68,62,.64);box-shadow:inset 0 0 0 1px rgba(255,249,224,.08)}.portal-progression-gate-note{position:absolute;left:50%;bottom:clamp(50px,7vh,72px);z-index:58;width:min(620px,calc(100% - 28px));margin:0;padding:7px 14px;transform:translateX(-50%);border:1px solid rgba(255,243,207,.38);border-radius:999px;background:rgba(37,58,54,.84);color:#fff8dd;font-size:clamp(11px,1.2vw,14px);line-height:1.35;text-align:center;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px)}.settings-level-unlock{gap:10px;padding:14px;border:1px solid rgba(91,125,117,.24);color:#234c48}.settings-level-unlock>div{display:grid;gap:3px}.settings-level-unlock>div>span,.settings-level-unlock>strong{font-size:12px;font-weight:800;letter-spacing:.08em}.settings-level-unlock>div>small{color:#718f88;font-size:9px;line-height:1.45}.settings-level-unlock form{grid-template-columns:minmax(0,1fr) 72px;gap:8px}.settings-level-unlock button,.settings-level-unlock input{box-sizing:border-box;min-height:38px;border:1px solid rgba(62,98,91,.3);font:inherit}.settings-level-unlock input{padding:0 10px;background:rgba(255,253,240,.86);font-size:12px}.settings-level-unlock button{padding:0 12px;background:#416d65;color:#fff9e4;font-size:11px;font-weight:750}.settings-level-unlock button:disabled{opacity:.45}.settings-level-unlock>p{margin:0;color:#9e5347;font-size:10px;line-height:1.35}.settings-level-unlock.is-unlocked>p,.settings-level-unlock.is-unlocked>strong{color:#2f7463}@media (orientation:landscape) and (max-height:600px){.portal-progression-gate-note{bottom:38px;padding-block:4px;font-size:10px}.settings-level-unlock{gap:6px;padding:10px}.settings-level-unlock button,.settings-level-unlock input{min-height:34px}}@media (orientation:portrait) and (min-width:744px) and (max-width:1200px) and (min-height:1133px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{inset:auto;top:max(18px,var(--safe-top));bottom:max(18px,var(--safe-bottom));left:50%;right:auto;width:min(980px,calc(100% - var(--safe-left) - var(--safe-right) - 36px));grid-template-rows:50px 56px 102px minmax(350px,390px) 78px 48px!important;align-content:start!important;justify-content:stretch;gap:10px!important;overflow:hidden;transform:translateX(-50%)}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;max-width:calc(100% - 160px);min-height:50px;height:50px;margin:0 auto;padding:5px 14px}.portal-device-compact .device-brand-logo{width:36px;height:36px}.portal-device-compact .device-connect-label{font-size:13px}.portal-path-heading{width:100%;min-height:56px;height:56px;padding:0;justify-content:center;text-align:center}.portal-path-heading strong{font-size:clamp(30px,3.7vw,38px);line-height:1.08;letter-spacing:.1em}.portal-path-grid{width:min(930px,100%);height:102px;min-height:102px;margin:0 auto;gap:12px}.portal-path-card{height:102px;min-height:102px!important;padding:11px 13px;grid-template-columns:36px minmax(0,1fr);gap:10px}.portal-path-card>i{font-size:28px}.portal-path-card b{font-size:clamp(18px,2.35vw,23px);line-height:1.12}.portal-path-card small{font-size:9px}.portal-path-card em{display:block;overflow:hidden;font-size:clamp(9px,1.2vw,12px);line-height:1.22;white-space:nowrap;text-overflow:ellipsis}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(930px,100%);height:390px;min-height:350px;max-height:390px;margin:0 auto;align-self:stretch;overflow:hidden}.designer-guide-layout{padding:13px;grid-template-columns:minmax(210px,.82fr) minmax(0,1.38fr);gap:15px}.designer-guide-chapters{gap:8px}.designer-guide-chapters button{padding:8px 11px;grid-template-columns:30px minmax(0,1fr) auto;gap:10px}.designer-guide-chapters button>b{width:28px;height:28px}.designer-guide-chapters button>span strong{font-size:clamp(15px,1.85vw,19px)}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%;padding:14px;gap:11px}.portal-level-selection .portal-story-heading{min-height:53px}.portal-level-selection .portal-story-heading strong{font-size:clamp(20px,2.3vw,25px)}.portal-level-selection .portal-story-heading span{font-size:12px}.portal-level-selection .portal-journey-levels,.portal-path-story .portal-story-selection .portal-journey-levels{gap:10px}.portal-level-selection .portal-journey-levels button.is-boss-level,.portal-level-selection .portal-journey-levels button.is-story-level{padding:10px 13px;grid-template-columns:35px minmax(0,1fr);gap:10px}.portal-level-selection .portal-journey-levels button>span{font-size:clamp(17px,2vw,21px);line-height:1.12}.portal-inline-free-learning{height:100%;padding:12px;gap:7px}.learning-chapter-strip>button{min-height:42px}.learning-chapter-strip button>span{font-size:clamp(12px,1.5vw,15px)}.portal-free-chord-heading{min-height:49px}.portal-free-chord-heading strong{font-size:19px}.portal-discovery-chords>button{min-height:49px}.foundation-piano-keyboard.is-compact{height:92px}.portal-shared-theory{width:min(930px,100%);min-height:78px;height:78px;max-height:78px;margin:0 auto;padding:10px 15px}.portal-shared-theory>div>strong,.portal-shared-theory>small{font-size:13px}.portal-shared-theory>div>p{font-size:12px;line-height:1.4}.portal-cinematic .portal-start-game{width:min(310px,calc(100% - 80px));min-height:48px;height:48px;margin:0 auto;font-size:15px}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{top:max(14px,var(--safe-top));min-height:42px;font-size:13px}.portal-back-corner{left:max(14px,var(--safe-left))}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-free-settings-toggle{right:max(14px,var(--safe-right))}.immersive-shell .settings-drawer,.is-free-practice-settings-host .settings-drawer,.wind-portal .portal-settings-drawer{top:max(14px,var(--safe-top));right:max(14px,var(--safe-right));bottom:max(14px,var(--safe-bottom));width:min(410px,calc(100% - var(--safe-left) - var(--safe-right) - 28px));max-height:none}.practice-layer-rehearsal .practice-layer-heading{top:max(6vh,calc(var(--safe-top) + 58px));width:min(920px,calc(100% - var(--safe-left) - var(--safe-right) - 48px))}.practice-layer-rehearsal .practice-layer-heading h1{font-size:31px}.rehearsal-upper-panel{top:max(14vh,calc(var(--safe-top) + 126px));width:min(960px,calc(100% - var(--safe-left) - var(--safe-right) - 44px));gap:9px}.practice-layer-rehearsal .rehearsal-challenge-progress>button,.rehearsal-chapter-switcher button{min-height:52px}.rehearsal-stepper-dock{right:max(34px,calc(var(--safe-right) + 18px));bottom:max(18px,calc(var(--safe-bottom) + 10px));left:max(34px,calc(var(--safe-left) + 18px));padding:12px 14px 14px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:clamp(92px,9dvh,116px)}.immersive-shell .cinema-stage.is-chord-mode .chord-queue,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(84px,calc(var(--safe-right) + 74px));left:max(24px,calc(var(--safe-left) + 18px))}}@media (orientation:landscape) and (min-width:1133px) and (max-width:1696px) and (min-height:744px) and (max-height:1200px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{inset:auto;top:max(14px,var(--safe-top));bottom:max(14px,var(--safe-bottom));left:50%;right:auto;width:min(1120px,calc(100% - var(--safe-left) - var(--safe-right) - 44px));grid-template-rows:46px 48px 90px minmax(300px,39dvh) 66px 44px!important;align-content:start!important;justify-content:stretch;gap:8px!important;overflow:hidden;transform:translateX(-50%)}.portal-cinematic .portal-path-device.portal-device-compact{width:max-content;min-height:46px;height:46px;margin:0 auto}.portal-path-heading{width:100%;min-height:48px;height:48px;padding:0;justify-content:center;text-align:center}.portal-path-heading strong{font-size:clamp(27px,2.5vw,34px)}.portal-path-grid{width:min(1080px,100%);min-height:90px;height:90px;margin:0 auto;gap:13px}.portal-path-card{height:90px;min-height:90px!important;padding:10px 14px}.portal-path-card b{font-size:clamp(18px,1.65vw,22px)}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{width:min(1080px,100%);height:39dvh;min-height:300px;max-height:400px;margin:0 auto;overflow:hidden}.designer-guide-layout{height:100%;grid-template-columns:minmax(190px,.7fr) minmax(0,1.5fr)}.portal-level-selection,.portal-level-selection.portal-rehearsal-selection,.portal-path-story .portal-story-selection{height:100%}.portal-level-selection .portal-journey-levels button>span{font-size:clamp(16px,1.45vw,20px)}.portal-inline-free-learning{height:100%}.foundation-piano-keyboard.is-compact{height:clamp(72px,9dvh,94px)}.portal-shared-theory{width:min(1080px,100%);min-height:66px;height:66px;max-height:66px;margin:0 auto}.portal-cinematic .portal-start-game{min-height:44px;height:44px;margin:0 auto}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{top:max(12px,var(--safe-top));min-height:40px}.portal-back-corner{left:max(12px,var(--safe-left))}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell .film-corner-button.settings-toggle,.portal-free-settings-toggle{right:max(12px,var(--safe-right))}.immersive-shell .settings-drawer,.is-free-practice-settings-host .settings-drawer,.wind-portal .portal-settings-drawer{top:max(12px,var(--safe-top));right:max(12px,var(--safe-right));bottom:max(12px,var(--safe-bottom));width:min(420px,calc(100% - var(--safe-left) - var(--safe-right) - 24px));max-height:none}.rehearsal-upper-panel{width:min(1080px,calc(100% - var(--safe-left) - var(--safe-right) - 48px))}.rehearsal-stepper-dock{right:max(48px,calc(var(--safe-right) + 22px));left:max(48px,calc(var(--safe-left) + 22px))}}dialog.chapter-video-guide-modal,dialog.development-history-modal{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;box-sizing:border-box;padding:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(14px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}dialog.chapter-video-guide-modal::backdrop,dialog.development-history-modal::backdrop{background:rgba(24,52,50,.5)}.designer-guide-chapters{grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(7px,1.1vh,13px)}.designer-guide-chapters button{padding:clamp(8px,1.2vh,14px) clamp(9px,1.1vw,15px)}.designer-guide-chapters button>span strong{font-size:clamp(14px,1.28vw,19px)}.portal-rehearsal-chord-learning{position:relative}.portal-inline-free-learning>header.portal-free-chord-heading{grid-template-columns:36px minmax(0,1fr) auto}.portal-chord-heading-actions{min-width:36px;display:flex;align-items:center;justify-content:flex-end;gap:6px}.chapter-video-guide-trigger{min-width:44px;min-height:44px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,233,194,.42);border-radius:50%;color:#fff4d3;background:linear-gradient(145deg,rgba(255,226,179,.14),rgba(46,77,72,.46));box-shadow:inset 0 1px rgba(255,255,255,.13),0 0 12px rgba(255,215,151,.13);cursor:pointer;appearance:none}.chapter-video-guide-placeholder>i,.chapter-video-guide-trigger>i{width:0;height:0;display:block;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid;filter:drop-shadow(0 0 5px rgba(255,230,185,.4));transform:translateX(1px)}.chapter-video-guide-trigger:focus-visible,.chapter-video-guide-trigger:hover{border-color:rgba(255,236,200,.78);box-shadow:inset 0 1px rgba(255,255,255,.16),0 0 17px rgba(255,215,151,.3)}.rehearsal-video-guide-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;pointer-events:auto}.rehearsal-video-guide-row .chapter-video-guide-trigger.is-labeled{grid-column:4;width:100%;min-height:31px;height:31px;border-radius:2px 11px 2px 11px;font:620 clamp(10px,.82vw,13px)/1 Songti SC,STSong,serif;letter-spacing:.08em}.rehearsal-video-guide-row .chapter-video-guide-trigger>i{border-top-width:5px;border-bottom-width:5px;border-left-width:8px}.chapter-video-guide-panel{position:absolute;z-index:48;inset:0;padding:clamp(7px,1.2vw,16px);display:grid;place-items:center;pointer-events:auto;background:linear-gradient(120deg,rgba(24,52,50,.9),rgba(88,70,56,.88));animation:chapter-guide-in .22s ease both}.chapter-video-guide-card{width:min(700px,100%);max-height:100%;padding:clamp(9px,1.25vw,16px);display:grid;grid-template-columns:minmax(180px,1.1fr) minmax(190px,.9fr);grid-template-rows:auto 1fr auto;gap:clamp(7px,1vw,13px) clamp(10px,1.5vw,18px);overflow:hidden;border:1px solid rgba(255,235,198,.42);border-radius:4px 22px 4px 22px;color:#fff6db;background:radial-gradient(circle at 18% 22%,rgba(150,220,205,.13),transparent 35%),linear-gradient(135deg,rgba(41,75,70,.95),rgba(102,76,57,.94));box-shadow:inset 0 1px rgba(255,255,255,.12),0 14px 42px rgba(20,37,34,.28)}.chapter-video-guide-card>header{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}.chapter-video-guide-card>header>span{min-width:0;display:grid;gap:3px}.chapter-video-guide-card>header small{color:rgba(255,225,174,.72);font:700 9px/1 Optima,sans-serif;letter-spacing:.15em}.chapter-video-guide-card>header strong{overflow:hidden;font:580 clamp(16px,1.65vw,23px)/1.15 Songti SC,STSong,serif;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis}.chapter-video-guide-card>header button{width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(255,237,203,.28);border-radius:50%;color:#fff5db;background:rgba(255,255,255,.06);font:300 22px/1 Optima,sans-serif;cursor:pointer}.chapter-video-guide-media{grid-row:2/4;min-height:0;overflow:hidden;border:1px solid rgba(255,238,203,.24);border-radius:3px 15px 3px 15px;background:rgba(20,44,42,.55);aspect-ratio:16/9}.chapter-video-guide-media video,.chapter-video-guide-placeholder{width:100%;height:100%}.chapter-video-guide-media video{display:block;object-fit:contain;background:rgba(20,39,38,.72)}.chapter-video-guide-placeholder{display:grid;place-content:center;justify-items:center;gap:7px;color:rgba(255,243,219,.78);text-align:center}.chapter-video-guide-placeholder>i{margin-bottom:2px;border-top-width:8px;border-bottom-width:8px;border-left-width:12px}.chapter-video-guide-placeholder strong{font:560 clamp(13px,1.2vw,17px)/1.2 Songti SC,STSong,serif}.chapter-video-guide-placeholder span{color:rgba(255,243,219,.48);font-size:9px}.chapter-video-guide-card>p{align-self:end;margin:0;color:rgba(255,247,226,.82);font:500 clamp(12px,1.12vw,16px)/1.65 Songti SC,STSong,serif}.chapter-video-guide-skip{min-height:38px;padding:7px 14px;border:1px solid rgba(255,229,181,.52);border-radius:2px 15px 2px 15px;color:#fff7df;background:linear-gradient(110deg,rgba(225,158,96,.18),rgba(99,176,162,.16));font:620 clamp(11px,.98vw,14px)/1 Songti SC,STSong,serif;letter-spacing:.08em;cursor:pointer}@keyframes chapter-guide-in{0%{opacity:0}to{opacity:1}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.designer-guide-chapters{grid-template-rows:repeat(3,minmax(0,1fr));gap:4px}.designer-guide-chapters button{padding:4px 6px}.portal-inline-free-learning>header.portal-free-chord-heading{grid-template-columns:31px minmax(0,1fr) auto}.chapter-video-guide-trigger.is-icon-only{min-width:31px;min-height:31px;width:31px;height:31px}.portal-chord-heading-actions{min-width:31px;gap:3px}.rehearsal-video-guide-row .chapter-video-guide-trigger.is-labeled{min-height:27px;height:27px;font-size:10px}.chapter-video-guide-panel{padding:5px}.chapter-video-guide-card{width:min(620px,100%);padding:6px 8px;grid-template-columns:minmax(130px,1fr) minmax(145px,.9fr);gap:5px 9px;border-radius:3px 15px 3px 15px}.chapter-video-guide-card>header small{font-size:7px}.chapter-video-guide-card>header strong{font-size:clamp(13px,2.4vw,17px)}.chapter-video-guide-card>header button{width:28px;height:28px;flex-basis:28px;font-size:18px}.chapter-video-guide-card>p{font-size:clamp(10px,1.8vw,12px);line-height:1.45}.chapter-video-guide-skip{min-height:30px;padding:5px 9px;font-size:10px}}@media (max-width:520px) and (orientation:portrait){.chapter-video-guide-card{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr) auto auto;overflow-y:auto}.chapter-video-guide-media{grid-row:auto;max-height:min(30vh,190px)}.chapter-video-guide-card>p{align-self:auto}}@media (prefers-reduced-motion:reduce){.chapter-video-guide-panel{animation:none}}.rehearsal-chapter-switcher button.is-locked:not(.is-current){color:rgba(255,247,226,.46);border-color:rgba(212,229,219,.18);background:linear-gradient(135deg,rgba(35,57,55,.62),rgba(75,68,60,.5));box-shadow:inset 0 0 14px rgba(223,241,229,.025)}.rehearsal-chapter-switcher button.is-locked>b{color:rgba(220,235,226,.72);border-color:rgba(211,232,220,.25);font-size:8px;letter-spacing:0}.rehearsal-chapter-switcher button.is-locked:focus-visible,.rehearsal-chapter-switcher button.is-locked:hover{color:rgba(255,249,232,.84);border-color:rgba(255,229,180,.45);box-shadow:0 0 15px rgba(255,218,160,.13),inset 0 0 12px rgba(255,248,226,.04)}.rehearsal-decision-layer{position:fixed;z-index:142;inset:0;padding:max(18px,calc(var(--safe-top) + 12px)) max(18px,calc(var(--safe-right) + 12px)) max(18px,calc(var(--safe-bottom) + 12px)) max(18px,calc(var(--safe-left) + 12px));display:grid;place-items:center;background:rgba(21,39,37,.38)}.rehearsal-decision-card{box-sizing:border-box;width:min(480px,100%);padding:clamp(20px,3.2vw,34px);display:grid;justify-items:center;gap:8px;overflow:hidden;border:1px solid rgba(255,239,201,.62);border-radius:6px 28px 6px 28px;color:#fff9e8;background:radial-gradient(circle at 50% 4%,rgba(255,229,173,.17),transparent 38%),linear-gradient(138deg,rgba(36,72,67,.97),rgba(105,82,62,.95));box-shadow:12px 16px 0 rgba(29,40,36,.14),0 24px 70px rgba(16,34,32,.32),inset 0 0 28px rgba(255,244,216,.05);text-align:center;animation:rehearsalDecisionIn .36s cubic-bezier(.18,.78,.24,1) both}.rehearsal-decision-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(255,233,188,.7);border-radius:50%;color:#fff0c9;background:rgba(255,231,184,.1);box-shadow:0 0 22px rgba(255,219,157,.2);font:700 17px/1 Optima,sans-serif;font-style:normal}.rehearsal-decision-card.is-completed-chapter .rehearsal-decision-mark{color:#dff6de;border-color:rgba(202,242,207,.72);background:rgba(177,226,189,.12);box-shadow:0 0 25px rgba(179,235,197,.24);animation:rehearsalCompletionBreath 1.8s ease-in-out infinite}.rehearsal-decision-card>small{color:rgba(255,226,174,.7);font:650 9px/1.2 Songti SC,STSong,serif;letter-spacing:.2em}.rehearsal-decision-card>strong{font:560 clamp(20px,3vw,30px)/1.2 Songti SC,STSong,serif;letter-spacing:.06em}.rehearsal-decision-card>p{max-width:390px;margin:2px 0 4px;color:rgba(255,247,225,.78);font:500 clamp(12px,1.25vw,14px)/1.65 Songti SC,STSong,serif}.rehearsal-decision-card>footer{width:min(360px,100%);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rehearsal-decision-card>footer button{min-width:0;min-height:42px;padding:8px 11px;border:1px solid rgba(255,238,201,.28);border-radius:3px 16px 3px 16px;color:rgba(255,247,226,.8);background:rgba(27,55,52,.42);font:560 clamp(11px,1.15vw,13px)/1.2 Songti SC,STSong,serif;cursor:pointer}.rehearsal-decision-card>footer button.is-primary{color:#355b56;border-color:rgba(255,240,205,.78);background:linear-gradient(135deg,#fff0c9,#dcefe5);box-shadow:0 0 18px rgba(255,225,170,.16)}@keyframes rehearsalDecisionIn{0%{opacity:0;transform:translateY(12px) scale(.975)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rehearsalCompletionBreath{0%,to{transform:scale(1);filter:brightness(1)}50%{transform:scale(1.06);filter:brightness(1.13)}}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.rehearsal-decision-card{width:min(420px,100%);padding:16px 14px;gap:6px}.rehearsal-decision-mark{width:34px;height:34px;font-size:14px}}@media (orientation:landscape) and (max-height:440px){.rehearsal-decision-card{width:min(560px,76vw);padding:10px 16px;grid-template-columns:42px minmax(0,1fr);justify-items:start;gap:3px 12px;text-align:left}.rehearsal-decision-mark{grid-row:1/4;align-self:center}.rehearsal-decision-card>p,.rehearsal-decision-card>strong{max-width:100%}.rehearsal-decision-card>strong{font-size:17px}.rehearsal-decision-card>p{margin:0;font-size:10px;line-height:1.35}.rehearsal-decision-card>footer{grid-column:1/-1;justify-self:center}.rehearsal-decision-card>footer button{min-height:34px;padding-block:5px}}@media (prefers-reduced-motion:reduce){.rehearsal-decision-card,.rehearsal-decision-card.is-completed-chapter .rehearsal-decision-mark{animation-duration:1ms;animation-iteration-count:1}}.portal-cinematic .portal-path-device.portal-device-compact{display:inline-flex!important;align-items:center!important;justify-content:center!important;grid-template-columns:none!important;padding-block:0;line-height:1}.portal-device-compact .device-connect-symbols{flex:0 0 auto;align-self:center;height:100%;display:inline-flex;align-items:center;justify-content:center}.portal-device-compact .device-bluetooth-icon,.portal-device-compact .device-brand-logo{flex:0 0 auto;align-self:center}.portal-device-compact .device-bluetooth-icon svg,.portal-device-compact .device-brand-logo img{display:block;object-position:center}.portal-device-compact .device-connect-label{align-self:stretch;height:auto;padding:0;display:inline-flex;align-items:center;justify-content:center;line-height:1}.portal-shared-theory>small{min-width:max-content;white-space:nowrap;overflow-wrap:normal;word-break:keep-all}.settings-level-unlock{position:relative;z-index:1;width:100%;min-height:54px;padding:9px 10px;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;gap:7px 10px;border:1px solid rgba(86,139,133,.18);border-radius:11px;color:#567570;background:rgba(235,244,238,.7);box-shadow:none;pointer-events:auto}.settings-level-unlock>label,.settings-level-unlock>strong{min-width:0;margin:0;color:#567570;font-family:inherit;font-size:10px;font-weight:800;line-height:1.2;letter-spacing:0;white-space:nowrap}.settings-level-unlock>strong{justify-self:end;color:#2f7463}.settings-level-unlock form{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 50px;align-items:center;gap:6px;pointer-events:auto}.settings-level-unlock button,.settings-level-unlock input{min-width:0;min-height:32px;height:32px;border-radius:8px;pointer-events:auto}.settings-level-unlock input{appearance:none;width:100%;padding:0 9px;color:#234c48;background:rgba(255,253,240,.9);font-size:11px;line-height:32px;user-select:text;-webkit-user-select:text}.settings-level-unlock button{padding:0 7px;touch-action:manipulation}.settings-level-unlock>p{grid-column:1/-1;margin:-1px 0 0;font-size:9px;line-height:1.25}@media (max-width:430px),(orientation:landscape) and (max-height:440px){.settings-level-unlock{min-height:48px;padding:7px 8px;gap:5px 7px}.settings-level-unlock>label,.settings-level-unlock>strong{font-size:9px}.settings-level-unlock form{grid-template-columns:minmax(82px,1fr) 44px;gap:4px}.settings-level-unlock button,.settings-level-unlock input{min-height:30px;height:30px;font-size:9px}}.immersive-shell .film-center-play-control{appearance:none;width:clamp(58px,6.2vw,82px);height:clamp(58px,6.2vw,82px);border:1px solid rgba(255,249,230,.44);color:rgba(255,250,232,.92);background:rgba(21,42,41,.26);-webkit-backdrop-filter:blur(9px) saturate(.92);backdrop-filter:blur(9px) saturate(.92);-webkit-tap-highlight-color:transparent}.immersive-shell .film-center-play-control>i{width:0;height:0;margin:0 0 0 .18em;border-top:clamp(8px,1vw,13px) solid transparent;border-bottom:clamp(8px,1vw,13px) solid transparent;border-left:clamp(13px,1.55vw,20px) solid;filter:drop-shadow(0 0 7px rgba(255,232,185,.44));font-size:0;text-shadow:none}.settings-display-options button.is-disabled,.settings-display-options button:disabled{color:rgba(86,121,115,.38);border-color:rgba(86,139,133,.1);background:rgba(255,255,255,.24);box-shadow:none;cursor:not-allowed}.settings-display-scope-note{display:block;margin-top:-3px;color:#78908c;font:600 8px/1.45 Songti SC,STSong,serif}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step span{max-width:calc(100% - 8px);overflow:hidden;text-overflow:clip;white-space:nowrap}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.display-emotion b{width:calc(100% - 4px);max-height:2.15em;overflow:hidden;font-family:Songti SC,STSong,serif;line-height:1.05;letter-spacing:-.04em;overflow-wrap:anywhere;white-space:normal}.portal-discovery-chords>button.display-emotion b{width:100%;max-width:100%;overflow:hidden;line-height:1.08;overflow-wrap:anywhere;text-overflow:clip;white-space:normal}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.immersive-shell .film-center-play-control{width:clamp(58px,11vw,72px);height:clamp(58px,11vw,72px)}.immersive-shell .film-center-play-control>i{border-top-width:9px;border-bottom-width:9px;border-left-width:15px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.display-emotion b{font-size:clamp(6px,1.55vw,9px)}}body,html{background-color:#080b0c}body:has(>.wind-portal),html:has(body>.wind-portal){background-color:#c99e6d;background-image:linear-gradient(180deg,#e4d4bd,#d8bd96 45%,#b57d42)}.portal-cinematic.wind-portal{position:fixed;inset:0;width:100vw!important;max-width:none!important;height:var(--partykeys-viewport-height)!important;min-height:var(--partykeys-viewport-height)!important;margin:0}.portal-cinematic .wind-portal-art,.portal-cinematic .wind-portal-vignette{position:absolute;inset:0;width:100%!important;max-width:none!important;height:100%!important}.portal-path-guide-copy,.portal-path-guide-copy>p,.portal-path-guide>div{box-sizing:border-box;min-width:0;max-width:100%;justify-self:center;text-align:center}.portal-path-guide-copy,.portal-path-guide-copy>p{width:100%}@media (orientation:landscape) and (min-width:760px) and (max-width:956px) and (min-height:350px) and (max-height:440px){.portal-path-guide>div{width:min(700px,calc(100% - 24px))}.portal-path-guide-copy{width:min(660px,100%)}}.free-practice-topbar .rehearsal-back-corner{position:absolute;top:2px;left:0;min-height:34px;padding:5px 12px;border:1px solid rgba(255,244,216,.4);border-radius:999px;color:rgba(255,244,216,.9);background:rgba(30,54,52,.55);-webkit-backdrop-filter:none;backdrop-filter:none;font-size:13px}.free-practice-topbar .rehearsal-settings-toggle{position:absolute!important;top:2px;right:0;min-width:58px;min-height:30px;padding:5px 9px;border:1px solid rgba(255,241,205,.23);border-radius:16px;color:rgba(255,247,224,.72);background:rgba(31,54,52,.34);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);font:650 9px/1 Songti SC,STSong,serif}.free-practice-topbar .rehearsal-settings-toggle>span{display:inline;margin-left:0}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.free-practice-topbar .rehearsal-settings-toggle{min-width:46px;min-height:26px;padding:4px 7px;font-size:8px}}.development-history-card{height:min(82dvh,760px);max-height:min(82dvh,760px);padding:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);isolation:isolate}.development-history-fixed-head{position:relative;z-index:12;padding:clamp(18px,3vw,34px) clamp(18px,3vw,34px) 14px;overflow:hidden;background-color:#edf3e7;background:linear-gradient(135deg,#fff9e8,#edf3e7 54%,#e3f0e7);border-bottom:1px solid rgba(70,119,113,.16);box-shadow:0 10px 18px rgba(64,103,96,.12)}.development-history-card .development-history-fixed-head header{position:static;z-index:auto;padding:0;background:#edf3e7;box-shadow:none}.development-history-fixed-head>p{margin:8px 0 0;color:#6c817d;font-size:13px}.development-history-card .development-history-scroll-body{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0;padding:14px clamp(18px,3vw,34px) clamp(22px,4vw,38px);scrollbar-gutter:stable;background:linear-gradient(160deg,#fff9e8,#d9eee4)}@media (max-width:600px),(orientation:landscape) and (max-height:600px){.development-history-card{height:min(88dvh,760px);max-height:min(88dvh,760px)}.development-history-fixed-head{padding:16px 14px 12px}.development-history-card .development-history-scroll-body{padding:10px 14px max(18px,var(--safe-bottom))}}@media (orientation:portrait) and (min-width:350px) and (max-width:440px) and (min-height:760px){.free-practice-topbar .rehearsal-back-corner{top:max(8px,calc(var(--safe-top) + 2px));left:max(8px,calc(var(--safe-left) + 2px));min-height:36px}.free-practice-topbar .rehearsal-settings-toggle{top:max(8px,calc(var(--safe-top) + 2px));right:max(8px,calc(var(--safe-right) + 2px));min-width:50px;min-height:36px;font-size:10px}}@media (orientation:landscape) and (min-width:760px) and (max-width:956px) and (min-height:350px) and (max-height:440px){.free-practice-topbar .rehearsal-back-corner{top:max(7px,var(--safe-top));left:max(7px,var(--safe-left));min-height:30px}.free-practice-topbar .rehearsal-settings-toggle{top:max(7px,var(--safe-top));right:max(7px,var(--safe-right));min-height:30px}}@media (orientation:portrait) and (min-width:744px) and (max-width:1200px) and (min-height:1133px){.free-practice-topbar .rehearsal-back-corner{top:max(14px,var(--safe-top));left:max(14px,var(--safe-left));min-height:42px}.free-practice-topbar .rehearsal-settings-toggle{top:max(14px,var(--safe-top));right:max(14px,var(--safe-right));min-height:42px;font-size:12px}}@media (orientation:landscape) and (min-width:1133px) and (max-width:1696px) and (min-height:744px) and (max-height:1200px){.free-practice-topbar .rehearsal-back-corner{top:max(12px,var(--safe-top));left:max(12px,var(--safe-left));min-height:40px}.free-practice-topbar .rehearsal-settings-toggle{top:max(12px,var(--safe-top));right:max(12px,var(--safe-right));min-height:40px;font-size:12px}}@media (orientation:portrait) and (min-width:1033px) and (max-width:1200px) and (min-height:1400px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{width:min(1120px,calc(100% - 48px));grid-template-rows:52px 58px 108px minmax(390px,430px) 82px 50px!important}.portal-path-free .portal-path-detail.detail-free,.portal-path-grid,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story,.portal-shared-theory{width:min(1080px,100%)}.portal-path-free .portal-path-detail.detail-free,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story{height:430px;max-height:430px}.rehearsal-upper-panel{width:min(1080px,calc(100% - 56px))}}@media (orientation:landscape) and (min-width:1380px) and (max-width:1696px) and (min-height:900px) and (max-height:1200px){.portal-path-free,.portal-path-rehearsal,.portal-path-stage,.portal-path-story{width:min(1420px,calc(100% - 56px))}.portal-path-free .portal-path-detail.detail-free,.portal-path-grid,.portal-path-rehearsal .portal-path-detail.detail-rehearsal,.portal-path-story .portal-path-detail.detail-story,.portal-shared-theory{width:min(1320px,100%)}.rehearsal-upper-panel{width:min(1320px,calc(100% - 72px))}.rehearsal-stepper-dock{right:max(64px,calc(var(--safe-right) + 28px));left:max(64px,calc(var(--safe-left) + 28px))}.immersive-shell .cinema-stage.is-chord-mode .chord-queue,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(96px,calc(var(--safe-right) + 84px));left:max(34px,calc(var(--safe-left) + 26px))}}@media (hover:none) and (pointer:coarse){.free-practice-stage:before,.portal-path-stage:before{animation-duration:7.2s;box-shadow:0 0 6px rgba(255,223,171,.11),inset 0 0 9px rgba(157,232,216,.06)}.free-practice-stage:after,.portal-path-stage:after{animation-duration:18s;filter:none}.portal-enter:before{animation-duration:3.6s}.portal-enter-particle{animation-duration:7.2s;box-shadow:0 0 5px #fff,0 0 12px rgba(184,255,228,.72)}.portal-enter-particle.particle-b{animation-delay:-3.6s}}.cinema-stage.is-monochrome-feedback-active>.lesson-film.lesson-film-layer{filter:grayscale(var(--story-desaturation,0))!important;transition:opacity 80ms linear,filter .82s cubic-bezier(.2,.75,.3,1)!important}@media (prefers-reduced-motion:reduce){.cinema-stage.is-monochrome-feedback-active>.lesson-film.lesson-film-layer{transition:opacity 80ms linear,filter .18s linear!important}}html[data-partykeys-platform=harmony],html[data-partykeys-platform=harmony] body{width:100%;min-width:0;min-height:100%;min-height:100dvh;overflow:hidden;background:#171d1d;text-size-adjust:100%}html[data-partykeys-platform=harmony] .game-shell,html[data-partykeys-platform=harmony] .wind-portal{width:100vw;width:100dvw;height:100vh;height:100dvh;max-width:none;max-height:none}html[data-partykeys-platform=harmony] .portal-path-guide,html[data-partykeys-platform=harmony] .portal-path-stage,html[data-partykeys-platform=harmony] .rehearsal-stage{padding-left:max(env(safe-area-inset-left),12px);padding-right:max(env(safe-area-inset-right),12px)}html[data-partykeys-platform=harmony] .portal-level-card,html[data-partykeys-platform=harmony] .portal-path-card,html[data-partykeys-platform=harmony] .rehearsal-chapter-option,html[data-partykeys-platform=harmony] .rehearsal-speed-option{min-width:0}html[data-partykeys-platform=harmony] .portal-level-card b,html[data-partykeys-platform=harmony] .portal-path-card b,html[data-partykeys-platform=harmony] .rehearsal-chapter-option b,html[data-partykeys-platform=harmony] .rehearsal-speed-option b{max-width:100%;overflow-wrap:anywhere}@media (orientation:landscape) and (max-height:520px){html[data-partykeys-platform=harmony] .portal-path-stage{padding-top:max(env(safe-area-inset-top),8px);padding-bottom:max(env(safe-area-inset-bottom),8px)}html[data-partykeys-platform=harmony] .portal-path-grid{gap:clamp(6px,1vw,12px)}html[data-partykeys-platform=harmony] .portal-path-card{padding-block:clamp(8px,2vh,14px)}}@media (min-width:1100px) and (min-height:900px){html[data-partykeys-platform=harmony][data-partykeys-harmony-form-factor=desktop] .portal-path-stage,html[data-partykeys-platform=harmony][data-partykeys-harmony-form-factor=foldable] .portal-path-stage,html[data-partykeys-platform=harmony][data-partykeys-harmony-form-factor=tablet] .portal-path-stage{--portal-content-width:min(92vw,1420px)}}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell{--story-lyric-chord-size:clamp(30px,3.55vw,52px)}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord-stack{width:max-content;height:100%;min-width:0;align-self:stretch;justify-self:center;align-items:center;justify-content:center}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord-stack>.lyric-chord{box-sizing:border-box;position:relative;inset:auto;display:grid;grid-template:minmax(0,1fr) /minmax(0,1fr);place-items:center;align-self:center;justify-self:center;width:max-content;min-width:1.04em;max-width:none;height:1.04em;min-height:1.04em;margin:0;padding:0 .08em;font-size:var(--story-lyric-chord-size);line-height:1;text-align:center;vertical-align:middle}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord>.lyric-chord-label,.immersive-shell .cinema-stage.is-chord-mode .lyric-chord>.lyric-chord-outcome{box-sizing:border-box;grid-area:1/1;margin:0;padding:0;display:grid;place-items:center;align-content:center;justify-content:center;line-height:1;text-align:center}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord>.lyric-chord-label{width:100%;height:100%}@media (max-width:480px) and (orientation:portrait){.immersive-shell .cinema-stage.is-chord-mode .lyric-cell{--story-lyric-chord-size:clamp(22px,6.1vw,28px)}}@media (orientation:landscape) and (min-width:1380px) and (max-width:1696px) and (min-height:900px) and (max-height:1200px){html[data-partykeys-platform=harmony][data-partykeys-harmony-form-factor=tablet] .portal-path-stage{width:min(1420px,calc(100% - 64px))}}@media (orientation:portrait) and (min-width:744px) and (max-width:1280px) and (min-height:1133px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{right:auto;left:max(24px,calc(var(--safe-left) + 18px));width:clamp(216px,28.5vw,300px);max-width:none;transform:none}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(66px,calc(var(--safe-right) + 58px));left:max(270px,calc(var(--safe-left) + 36vw));width:auto;max-width:none;transform:none}}.practice-layer-rehearsal .free-practice-topbar{z-index:18;top:max(14px,var(--safe-top));right:max(16px,var(--safe-right));left:max(16px,var(--safe-left));min-height:40px;pointer-events:none}.free-practice-topbar .rehearsal-back-corner,.free-practice-topbar .rehearsal-settings-toggle{top:0!important;pointer-events:auto}.free-practice-topbar .rehearsal-back-corner{left:0!important;max-width:78px}.free-practice-topbar .rehearsal-settings-toggle{right:0!important;max-width:62px}.practice-layer-rehearsal .practice-layer-heading.is-title-only,.practice-layer-rehearsal.rehearsal-scene-loading .practice-layer-heading.is-title-only,.practice-layer-rehearsal.rehearsal-scene-ready .practice-layer-heading.is-title-only{z-index:17;top:max(14px,var(--safe-top));left:50%;width:min(420px,calc(100% - var(--safe-left) - var(--safe-right) - 200px));min-width:128px;min-height:40px;display:flex;align-items:center;justify-content:center;overflow:hidden;transform:translateX(-50%);text-align:center}.practice-layer-rehearsal .practice-layer-heading.is-title-only h1{width:auto;max-width:100%;overflow:hidden;font-size:clamp(22px,2.8vw,38px);line-height:1;letter-spacing:.08em;text-align:center;white-space:nowrap;text-overflow:ellipsis}@media (max-width:760px),(orientation:landscape) and (max-height:600px){.practice-layer-rehearsal .free-practice-topbar{top:max(7px,calc(var(--safe-top) + 1px));right:max(8px,calc(var(--safe-right) + 2px));left:max(8px,calc(var(--safe-left) + 2px));min-height:36px}.practice-layer-rehearsal .practice-layer-heading.is-title-only,.practice-layer-rehearsal.rehearsal-scene-loading .practice-layer-heading.is-title-only,.practice-layer-rehearsal.rehearsal-scene-ready .practice-layer-heading.is-title-only{top:max(7px,calc(var(--safe-top) + 1px));width:clamp(128px,46vw,310px);min-height:36px}.practice-layer-rehearsal .practice-layer-heading.is-title-only h1{font-size:clamp(17px,5vw,24px)}}@media (orientation:landscape) and (min-width:1133px) and (max-width:1696px) and (min-height:744px) and (max-height:1200px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{right:auto;left:max(24px,calc(var(--safe-left) + 18px));width:clamp(255px,23vw,360px);max-width:none;transform:none}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{right:max(86px,calc(var(--safe-right) + 74px));left:max(360px,calc(var(--safe-left) + 30vw));width:auto;max-width:none;transform:none}}[data-next-step=gentle],[data-next-step=strong]{--next-glow-strength:1;outline:1px solid rgba(255,229,167,.76);outline-offset:-1px;animation:learning-next-breath 2.8s ease-in-out infinite}[data-next-step=strong]{--next-glow-strength:1.65}@keyframes learning-next-breath{0%,to{box-shadow:inset 0 0 6px rgba(255,237,188,.28),0 0 calc(5px * var(--next-glow-strength)) rgba(255,224,162,.35);outline-color:rgba(255,229,167,.5)}50%{box-shadow:inset 0 0 13px rgba(255,237,188,.55),0 0 calc(13px * var(--next-glow-strength)) rgba(255,224,162,.7);outline-color:rgba(255,245,211,.95)}}@media (prefers-reduced-motion:reduce){[data-next-step=gentle],[data-next-step=strong]{animation:none;box-shadow:inset 0 0 8px rgba(255,237,188,.5);outline:2px solid #f3d898}}.rehearsal-backing-status,.rehearsal-melody-toggle{min-width:0;min-height:31px;padding:4px 7px;border:1px solid rgba(255,242,204,.52);border-radius:2px 11px 2px 11px;color:#fff4d6;background:rgba(37,67,61,.65);font:620 clamp(11px,.9vw,14px)/1.2 Songti SC,STSong,serif;cursor:pointer}.rehearsal-melody-toggle[aria-pressed=true]{border-color:#efdaa5;box-shadow:inset 0 0 9px rgba(245,228,182,.16)}.rehearsal-backing-status{grid-column:2/4}.rehearsal-backing-status:disabled{cursor:progress;opacity:.9}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-unused{opacity:.18}.story-outro-cue{position:absolute;inset:auto 0 calc(100% + 8px);margin:0;color:#fff5da;font:500 clamp(11px,1vw,14px)/1.4 Songti SC,STSong,serif;text-align:center;text-wrap:balance;text-shadow:0 1px 5px #24443b;pointer-events:none;animation:outro-cue-arrive .7s ease-out both}@keyframes outro-cue-arrive{0%{opacity:0}to{opacity:.9}}@media (prefers-reduced-motion:reduce){.story-outro-cue{animation:none}}@media (max-width:480px) and (orientation:portrait){.story-outro-cue{position:fixed;inset:max(76px,calc(var(--safe-top) + 64px)) max(48px,calc(var(--safe-right) + 42px)) auto max(10px,calc(var(--safe-left) + 8px))}}.chord-symbol,.lyric-chord-label .chord-symbol,.portal-discovery-chords b .chord-symbol,.practice-layer-rehearsal b .chord-symbol{display:inline-flex;align-items:baseline;justify-content:center;width:auto;max-width:100%;height:auto;padding:0;margin:0;gap:.025em;color:inherit;font:inherit;line-height:1;letter-spacing:-.035em;white-space:nowrap;position:static;opacity:1;transform:none}.chord-symbol .chord-symbol-root{display:inline;position:static;color:inherit;font:inherit;line-height:1;letter-spacing:inherit;opacity:1}.chord-symbol .chord-symbol-extension{display:inline;position:static;align-self:baseline;padding:0;color:inherit;font:inherit;font-size:.54em;line-height:1.05;letter-spacing:-.045em}.rehearsal-hand-score{--hand-gutter:34px;display:grid;gap:5px}.rehearsal-hand-cells,.rehearsal-hand-harmony{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));column-gap:4px;min-width:0}.rehearsal-hand-harmony,.rehearsal-hand-score>.rehearsal-cursor-area{margin-left:var(--hand-gutter)}.rehearsal-hand-harmony>b{min-width:0;padding:4px 1px;display:flex;justify-content:center;align-items:center;border:1px solid color-mix(in srgb,var(--hand-chord-color) 38%,#eee1c8);border-radius:3px 11px 3px 11px;background:color-mix(in srgb,var(--hand-chord-color) 18%,#53635c);color:#fff8e8;font:600 clamp(15px,1.8vw,24px)/1.1 Optima,Songti SC,serif;text-align:center}.rehearsal-hand-harmony>b.is-active{box-shadow:inset 0 0 8px #fff3bc44;border-color:#fff2c1}.rehearsal-hand-harmony>b.display-emotion{font:600 clamp(11px,1.2vw,17px)/1.2 Songti SC,STSong,serif}.rehearsal-hand-row{position:relative;padding-left:var(--hand-gutter)}.rehearsal-hand-name{position:absolute;left:0;top:0;bottom:0;width:calc(var(--hand-gutter) - 5px);display:grid;place-items:center;color:#f7ecd5;font:600 13px/1.15 Songti SC,STSong,serif}.rehearsal-hand-beat{min-width:0;height:clamp(32px,4.9vh,46px);display:grid}.rehearsal-hand-beat.is-split{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px}.rehearsal-hand-beat.is-unused{opacity:.15}.hand-beat-slice{min-width:0;display:grid;place-items:center;border:1px solid #ecdfbd35;border-radius:2px 7px 2px 7px;background:#193e352a;color:#fffae8;font-style:normal;transition:background-color .12s,border-color .12s,box-shadow .12s}.rehearsal-hand-beat.is-bar-start{border-left:1px solid #ecdfbd90;padding-left:2px}.hand-beat-slice.has-target{border-color:color-mix(in srgb,var(--hand-chord-color) 45%,#e6d9bf);background:color-mix(in srgb,var(--hand-chord-color) 22%,#52635b)}.hand-beat-slice.is-preview{border-color:#f5e4b5;box-shadow:inset 0 0 5px #f6e7b944}.hand-beat-slice.is-current{border-color:#fff9df;box-shadow:inset 0 0 10px #fff3c180,0 0 6px #fff3c144}.hand-beat-slice.is-correct{background:#557e67;border-color:#c0dfbb;box-shadow:inset 0 0 7px #d0efbb40}.hand-beat-slice.is-cursor{outline:1px solid #fff5d7;outline-offset:-2px}.hand-note-symbol{font:650 clamp(12px,1.3vw,18px)/1 Optima,Songti SC,serif;color:inherit}.hand-chord-glyph{display:flex;justify-content:center;align-items:center;gap:1px;width:13px;max-width:75%;height:12px}.hand-chord-glyph>i{width:3px;min-width:1px;height:8px;background:#f9edce;border-radius:2px}.hand-chord-glyph>i:nth-child(2){height:12px}.is-left .hand-beat-slice.has-target{background:#344b412b}.hand-root-dot{position:relative;display:block;width:min(12px,60%);min-width:0;min-height:0;aspect-ratio:1;border-radius:50%;background:color-mix(in srgb,var(--hand-chord-color) 45%,#f9edce)}.hand-root-dot>span{position:absolute;inset:0;display:grid;place-items:center;color:#274b35;font:800 clamp(5px,.7vw,8px)/1 sans-serif}.is-left .is-correct .hand-root-dot{background:#c5e5bc;box-shadow:0 0 6px #d8efbe88}.rehearsal-single-score{min-width:0;display:grid;gap:5px}.rehearsal-cursor-area{min-width:0;display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.rehearsal-cursor-beat{display:grid;gap:2px;min-width:0;text-align:center}.rehearsal-cursor-beat>small{color:#f1e4c9;font:500 10px/1 Optima,serif}.rehearsal-cursor-track{display:flex;height:5px;gap:2px}.rehearsal-cursor-track>i{flex:1 1;min-width:0;border-radius:1px;background:#eadcba38}.rehearsal-cursor-track>i.is-active{background:#fff3c5;box-shadow:0 0 7px #ffe6a6b0}.rehearsal-cursor-beat.is-unused{opacity:.15}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step{background:color-mix(in srgb,var(--portal-chord-color) 22%,#52635b);border-color:color-mix(in srgb,var(--portal-chord-color) 40%,#e6d9bf)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-correct{background:#557e67;border-color:#c0dfbb}.is-input-shake-0{animation:rehearsal-input-shake-even .24s ease-out}.is-input-shake-1{animation:rehearsal-input-shake-odd .24s ease-out}@keyframes rehearsal-input-shake-even{0%,to{translate:0}25%{translate:-2px}60%{translate:2px}}@keyframes rehearsal-input-shake-odd{0%,to{translate:0}25%{translate:-2px}60%{translate:2px}}@media (prefers-reduced-motion:reduce){.is-input-shake-0,.is-input-shake-1{animation:none;outline:1px solid #fff2d2}}.rehearsal-halfbeat-key{margin:0;color:#f1e5ce;font:500 12px/1.3 Songti SC,STSong,serif;text-align:center}.is-two-hand-chapter .rehearsal-stepper-dock>header>small,.is-two-hand-chapter .rehearsal-stepper-dock>header>strong{display:none}.is-two-hand-chapter .rehearsal-stepper-dock>header{min-height:10px}.is-two-hand-chapter .rehearsal-stepper-dock>header>em{font-size:11px}.rehearsal-stepper-dock{border-radius:5px 22px 5px 22px}@media (max-width:600px) and (orientation:portrait){.rehearsal-hand-score{--hand-gutter:29px;gap:5px}.rehearsal-hand-name{font-size:11px;width:25px;white-space:nowrap}.rehearsal-cursor-area,.rehearsal-hand-cells,.rehearsal-hand-harmony{column-gap:2px}.rehearsal-hand-beat{height:37px}.rehearsal-hand-beat.is-split{gap:1px}.hand-note-symbol{font-size:11px}.is-split .hand-note-symbol{font-size:8px}.rehearsal-hand-harmony>b{font-size:clamp(14px,4vw,18px)}.rehearsal-halfbeat-key,.rehearsal-hand-harmony>b.display-emotion{font-size:11px}}@media (orientation:landscape) and (max-height:600px){.rehearsal-hand-score{--hand-gutter:30px;gap:3px}.rehearsal-hand-beat{height:25px}.rehearsal-hand-harmony>b{font-size:16px;padding-block:2px}.rehearsal-hand-name{font-size:12px}.rehearsal-halfbeat-key{font-size:11px;line-height:1}.is-two-hand-chapter .rehearsal-stepper-dock{gap:3px;padding-block:5px}}.portal-path-stage.portal-path-free,.portal-path-stage.portal-path-rehearsal,.portal-path-stage.portal-path-story{inset:max(24px,var(--safe-top)) max(40px,var(--safe-right)) max(24px,var(--safe-bottom)) max(40px,var(--safe-left));width:auto;height:auto;max-width:1200px;margin:0 auto;transform:none;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:44px 36px 64px minmax(0,1fr) 46px!important;gap:10px!important;align-content:stretch!important;overflow:clip}.portal-path-stage.portal-path-rehearsal{grid-template-rows:44px 36px 64px minmax(0,1fr) 46px!important}.portal-path-stage .portal-path-grid,.portal-path-stage .portal-path-heading{height:100%;min-height:0;width:100%;max-width:none}.portal-path-stage .portal-path-detail{width:100%!important;height:100%!important;min-height:0!important;max-height:540px!important;margin:0!important;align-self:center!important}.portal-path-stage .portal-path-card{height:100%;min-height:0!important}.portal-path-stage .designer-guide-layout{padding:clamp(14px,2.7vw,32px);gap:clamp(14px,3vw,36px);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center}.portal-path-stage .designer-guide-player{height:100%;max-height:410px;width:auto;max-width:100%;aspect-ratio:3/4;justify-self:center}.portal-path-stage .designer-guide-chapters{height:auto;width:100%;grid-template-rows:repeat(3,minmax(64px,90px));align-content:center;gap:12px}.portal-path-stage .designer-guide-chapters button{min-height:0;padding:10px 16px}.portal-path-stage .designer-guide-chapters button strong{font-size:clamp(15px,1.6vw,21px);line-height:1.4}.portal-path-stage .portal-shared-theory{width:100%;height:100%;min-height:0;max-height:none;background:#425c53ba}.portal-path-stage .portal-shared-theory>small{writing-mode:horizontal-tb;white-space:nowrap;letter-spacing:0}.portal-inline-free-learning .portal-discovery-chords{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.portal-inline-free-learning .learning-chapter-strip button>span{font-size:clamp(13px,1.3vw,17px)}.portal-inline-free-learning .learning-chapter-strip button{padding-inline:5px}.portal-path-grid .portal-path-card{min-height:0;padding-block:clamp(10px,1.6vh,18px)}.portal-path-grid .portal-path-card.is-selected.is-free{background:linear-gradient(125deg,#5b6258ed,#847456e8)}.portal-path-grid .portal-path-card.is-selected.is-rehearsal{background:linear-gradient(125deg,#255c55ed,#547464ef)}.portal-path-grid .portal-path-card.is-selected.is-story{background:linear-gradient(125deg,#725c63ed,#9b724eef)}.portal-path-grid .portal-path-card.is-selected{border-color:#fff0bf;box-shadow:inset 0 0 12px #f9e3ac20,0 0 14px #f9dfad40}.portal-inline-free-learning .learning-chapter-strip .is-current{border-color:#ffebaf;background:linear-gradient(115deg,#41685cef,#856549ed);box-shadow:inset 0 0 9px #ffe4ac30,0 0 12px #ffe3aa70}.portal-path-rehearsal .portal-inline-free-learning{display:flex;flex-direction:column;justify-content:center;gap:clamp(7px,2vh,22px);padding:clamp(8px,1.3vw,20px)}.portal-inline-free-learning>.learning-chapter-strip,.portal-inline-free-learning>header.portal-free-chord-heading{flex-shrink:0;width:100%}.portal-inline-free-learning .portal-discovery-chords{flex-shrink:0;width:100%;min-height:clamp(58px,10vh,110px)}.portal-inline-free-learning .portal-discovery-chords>button{display:flex;justify-content:center;align-items:center;padding:6px;background:color-mix(in srgb,var(--portal-chord-color) 28%,#344e47);border-color:color-mix(in srgb,var(--portal-chord-color) 65%,#fff0c0)}.portal-inline-free-learning .portal-discovery-chords>button>b{font-size:clamp(30px,4.2vw,58px);line-height:1;text-align:center;min-width:0}.portal-inline-free-learning .portal-discovery-chords>button.display-emotion>b{font-size:clamp(17px,2.5vw,31px)}.portal-inline-free-learning .foundation-keyboard-row{min-height:0;flex:0 1 auto;width:100%}.portal-inline-free-learning .portal-discovery-chords>button.is-active{border-color:#fff5cf;box-shadow:0 0 12px color-mix(in srgb,var(--portal-chord-color) 65%,transparent)}.portal-path-story .portal-path-detail.detail-story{min-height:0;flex:1 1}.portal-path-detail .single-story-enter{position:relative;inset:auto;transform:none;margin:0;width:min(400px,90%);min-height:50px;font-size:clamp(16px,2vw,23px)}.rehearsal-upper-panel.is-focused{display:grid;gap:9px;background:transparent;border:0;box-shadow:none}.rehearsal-upper-panel.is-selecting{background:linear-gradient(120deg,#30574eee,#665c46ed);border:1px solid #efdfb582;border-radius:5px 24px;padding:12px}.rehearsal-upper-panel .rehearsal-chapter-switcher{position:static;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.rehearsal-upper-panel .rehearsal-chapter-switcher button{min-height:42px;font-size:clamp(13px,1.6vw,18px);padding:8px}.rehearsal-upper-panel .rehearsal-chapter-switcher button.is-current{border-color:#ffe6a5;background:#9e825275;box-shadow:0 0 10px #ffe6ab55}.rehearsal-speed-choice{display:flex;justify-content:center;gap:5px;margin:8px 0}.rehearsal-speed-choice button{min-height:36px;min-width:60px;padding:6px 14px;border:1px solid #d6d7ba77;border-radius:18px;color:#ece4cf;background:transparent;font-size:14px}.rehearsal-speed-choice button.is-current{color:#314e46;background:#e4dbb9}.rehearsal-selection-confirm{display:block;margin:4px auto;padding:8px 25px;border:1px solid #ecddbba0;background:#d4ddbc;color:#315449;border-radius:20px;font-size:15px}.rehearsal-upper-panel .rehearsal-video-guide-row{display:flex;justify-content:center;gap:12px}.rehearsal-upper-panel .chapter-video-guide-trigger.is-labeled{width:auto;padding:4px 12px;font-size:13px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b{display:flex;align-items:center;justify-content:center;opacity:1;color:#fff4d6;font-size:clamp(15px,2.5vw,32px)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b:after,.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b:before{display:none}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b.chord-label-fit{width:100%;font-size:clamp(15px,2.5vw,30px);transform:none}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step .chord-symbol,.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step .chord-symbol-root{display:inline-flex;visibility:visible;position:static;width:auto;max-width:none;height:auto;overflow:visible;font:inherit;color:inherit;opacity:1;top:auto;right:auto;transform:none}@media (max-width:600px) and (orientation:portrait){.portal-path-stage .designer-guide-layout{padding:14px;gap:14px}.portal-path-stage .designer-guide-chapters{grid-template-rows:repeat(3,minmax(52px,74px));gap:8px}.portal-path-stage .designer-guide-chapters button{padding:7px}.portal-path-stage .designer-guide-chapters button strong{font-size:14px}.portal-path-stage.portal-path-free,.portal-path-stage.portal-path-rehearsal,.portal-path-stage.portal-path-story{inset:max(9px,var(--safe-top)) max(9px,var(--safe-right)) max(9px,var(--safe-bottom)) max(9px,var(--safe-left));grid-template-rows:36px 32px 60px minmax(0,1fr) 44px!important;gap:6px!important}.portal-path-stage.portal-path-rehearsal{grid-template-rows:36px 32px 60px minmax(0,1fr) 44px!important}.portal-path-stage .portal-path-card{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:5px!important;overflow:hidden}.portal-path-stage .portal-path-card b{font-size:clamp(12px,3.7vw,17px);white-space:nowrap}.portal-path-stage .portal-path-card>i{font-size:20px}.portal-path-stage .portal-path-device.portal-device-compact{max-width:calc(100% - 150px);padding:3px 7px;min-height:34px;height:34px}.portal-path-device.portal-device-compact>span{font-size:11px;letter-spacing:0}.portal-path-stage .portal-shared-theory{grid-template-columns:68px 1px minmax(0,1fr);padding:3px 8px;gap:7px}.portal-path-stage .portal-shared-theory>small{font-size:12px;white-space:nowrap}.portal-path-stage .portal-shared-theory>div>strong{font-size:12px;line-height:1.2}.portal-path-stage .portal-shared-theory>div>p{font-size:12px;line-height:1.25;margin-top:1px}.rehearsal-upper-panel .rehearsal-chapter-switcher{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-inline-free-learning .portal-discovery-chords>button>b{font-size:clamp(26px,8vw,38px)}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b{font-size:clamp(12px,3.8vw,17px);letter-spacing:-.04em}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-chord-step>b.chord-label-fit{font-size:clamp(10px,3.3vw,17px);letter-spacing:-.06em}.portal-path-rehearsal .portal-inline-free-learning{gap:clamp(5px,1.8vh,16px)}.rehearsal-upper-panel .rehearsal-chapter-switcher button{min-height:38px}}@media (max-width:350px) and (orientation:portrait){.portal-cinematic .portal-back-corner{left:max(8px,var(--safe-left));padding:6px 8px;font-size:11px;min-width:0}.portal-path-device.portal-device-compact .device-connect-label{font-size:10px}.portal-path-device.portal-device-compact .device-brand-logo{width:19px;height:19px}.portal-path-device.portal-device-compact .device-bluetooth-icon{width:12px;height:16px}.portal-path-device.portal-device-compact .device-connect-symbols{gap:4px}}@media (max-height:500px) and (orientation:landscape){.portal-path-stage .designer-guide-layout{padding:12px 22px;gap:24px}.portal-path-stage .designer-guide-chapters{grid-template-rows:repeat(3,minmax(36px,56px));gap:7px}.portal-path-stage .designer-guide-chapters button{padding:6px 12px}.portal-path-stage .designer-guide-chapters button strong{font-size:15px}.portal-path-stage.portal-path-free,.portal-path-stage.portal-path-rehearsal,.portal-path-stage.portal-path-story{inset:max(7px,var(--safe-top)) max(12px,var(--safe-right)) max(7px,var(--safe-bottom)) max(12px,var(--safe-left));grid-template-rows:30px 20px 40px minmax(0,1fr) 32px!important;gap:3px!important}.portal-path-stage.portal-path-rehearsal{grid-template-rows:30px 20px 40px minmax(0,1fr) 32px!important}.portal-path-stage .portal-path-card{padding:4px 8px}.portal-inline-free-learning .learning-chapter-strip>button{min-height:23px;height:23px}.portal-inline-free-learning>header.portal-free-chord-heading{min-height:26px;height:26px}.portal-inline-free-learning .chapter-video-guide-trigger{min-height:26px;width:26px;height:26px;min-width:26px}.portal-inline-free-learning .portal-discovery-chords{min-height:36px}.portal-inline-free-learning .portal-discovery-chords>button>b{font-size:27px}.portal-path-rehearsal .portal-inline-free-learning{padding:5px 10px;gap:4px}.rehearsal-upper-panel.is-selecting{padding:5px 8px}.rehearsal-upper-panel .rehearsal-chapter-switcher button{min-height:30px;padding:4px;font-size:13px}.rehearsal-speed-choice{margin:4px 0}.rehearsal-speed-choice button{min-height:28px;padding:3px 12px}.rehearsal-selection-confirm{padding:5px 18px}.rehearsal-upper-panel.is-focused{gap:4px}.rehearsal-video-guide-row .chapter-video-guide-trigger.is-labeled{min-height:25px;height:25px}.portal-path-detail .single-story-enter{min-height:42px}}:root{--guide-title-size:clamp(21px,2.4vw,28px);--guide-body-size:clamp(15px,1.6vw,18px);--guide-ink:#fff5df;--guide-surface:linear-gradient(138deg,#284c46fa,#69523efa)}.chapter-video-guide-card,.portal-path-guide,.rehearsal-decision-card{color:var(--guide-ink);background:var(--guide-surface)}.chapter-video-guide-card>header strong,.portal-path-guide strong,.rehearsal-decision-card>strong{font-size:var(--guide-title-size);font-weight:500;line-height:1.25;text-shadow:none}.chapter-video-guide-card>p,.portal-path-guide p,.rehearsal-decision-card>p{font-size:var(--guide-body-size);line-height:1.6;color:var(--guide-ink)}.chapter-video-guide-skip,.portal-path-guide button,.rehearsal-decision-card>footer button{font-size:var(--guide-body-size)}.story-hands-context{position:absolute;inset:auto 0 calc(100% + 12px);display:flex;align-items:center;gap:9px;color:#fff3d8;text-shadow:0 1px 5px #24443c;pointer-events:none;line-height:1.4}.story-hands-context strong{flex-shrink:0;padding:3px 8px;border:1px solid #e0c99799;border-radius:3px 9px;background:#3b5147bb;font-size:clamp(13px,1.3vw,17px);font-weight:500}.story-hands-context>span{font-size:clamp(12px,1.1vw,15px)}.chord-queue.is-counting .story-hands-context{bottom:calc(100% + 65px)}.immersive-shell .cinema-stage.is-chord-mode .lyric-chord.has-attack-rail{overflow:visible}.immersive-shell .lyric-attack-rail{position:absolute;display:flex;justify-content:center;inset:auto auto calc(100% + 6px) 50%;transform:translateX(-50%);width:max-content;height:auto;pointer-events:none;z-index:7}.immersive-shell .lyric-chord-strike{position:absolute;top:4%;bottom:4%;left:clamp(1px,var(--chord-strike-progress),calc(100% - 2px));width:1px;background:#fffce8;box-shadow:0 0 5px #fff2b9;pointer-events:none}.immersive-shell .cinema-stage.is-chord-mode .lyric-line-current{padding-top:38px}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric{overflow:visible}@media (max-width:600px) and (orientation:portrait){:root{--guide-title-size:21px;--guide-body-size:15px}.immersive-shell .lyric-attack-rail[data-edge=start]{left:0;transform:none}.immersive-shell .lyric-attack-rail[data-edge=end]{left:auto;right:0;transform:none}}@media (max-width:480px) and (orientation:portrait){.immersive-shell .cinema-stage.is-chord-mode .mv-lyric{bottom:max(110px,calc(var(--safe-bottom) + 108px))}.story-hands-context{gap:7px;bottom:calc(100% + 5px)}.story-hands-context strong{font-size:12px;padding:2px 6px}.story-hands-context>span{font-size:12px}.chord-queue.is-counting .story-hands-context{bottom:calc(100% + 5px)}.immersive-shell .cinema-stage.is-chord-mode .chord-countdown{bottom:calc(100% + 42px);max-width:70px;left:0;right:auto}}@media (max-height:500px) and (orientation:landscape){:root{--guide-title-size:20px;--guide-body-size:14px}.chapter-video-guide-card>p,.portal-path-guide p,.rehearsal-decision-card>p{line-height:1.4}.immersive-shell .cinema-stage.is-chord-mode .lyric-line-current{padding-top:38px}.story-hands-context{bottom:calc(100% + 6px)}}.portal-discovery-chords>button{container-type:inline-size}.portal-discovery-chords>button .chord-symbol{font-size:min(1em,calc(96cqw / var(--symbol-em-width)))}.portal-path-stage .portal-path-detail.detail-rehearsal{display:flex;flex-direction:column;overflow:hidden}.portal-path-stage .portal-path-detail.detail-rehearsal>.portal-inline-free-learning{flex:1 1;min-height:0;height:auto;gap:clamp(5px,1.2vh,14px)}.portal-inline-free-learning>header.portal-free-chord-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;text-align:center}.portal-free-chord-heading>div{padding-left:38px}.portal-knowledge-footer{display:flex;flex:none;align-items:stretch;gap:10px;padding:8px 14px;border-top:1px solid #e8d4ad4a;background:#2c514649}.portal-path-stage .portal-knowledge-footer .portal-shared-theory{position:static;width:auto;flex:1 1;height:auto;min-height:48px;margin:0;padding:4px 8px;grid-template-columns:auto 1px minmax(0,1fr);gap:10px;background:transparent;border:0;box-shadow:none}.portal-knowledge-footer .portal-shared-theory>small{white-space:nowrap;font-size:14px}.portal-knowledge-footer .portal-shared-theory>div{min-width:0}.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>strong{font-size:14px;line-height:1.3}.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>p{font-size:14px;line-height:1.4;margin:3px 0 0}.theory-library-trigger{flex:none;align-self:center;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:9px 13px;border:1px solid #e9d9ad99;border-radius:5px 16px;color:#fff3da;background:#66745c88;font-family:inherit;font-size:15px;white-space:nowrap}.theory-library-trigger:hover{background:#92845bb0}.theory-library-trigger i{font-style:normal}.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{position:fixed!important;top:max(12px,calc(var(--safe-top) + 8px))!important;bottom:auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:6px;min-width:80px;width:auto!important;height:46px!important;min-height:46px!important;padding:8px 15px!important;border:1px solid #eee0c580!important;border-radius:24px!important;color:#fff4da!important;background:#3c5c50a8!important;box-shadow:inset 0 0 12px #ffefc512!important;font-size:20px!important;line-height:1!important;transform:none!important;z-index:80}.portal-back-corner{left:max(14px,calc(var(--safe-left) + 8px))!important;right:auto!important}.immersive-shell>.settings-toggle,.portal-free-settings-toggle{right:max(14px,calc(var(--safe-right) + 8px))!important;left:auto!important}.portal-back-corner span,.portal-free-settings-toggle span{font-family:var(--font-display,serif);font-size:16px!important;line-height:1.2!important}.story-hands-context{padding:7px 10px;gap:10px;border:1px solid #e6d1a771;border-radius:4px 13px;background:linear-gradient(120deg,#314e46de,#6d6241b5)}.story-hands-context strong{border:0;background:transparent;padding:0 9px 0 0;border-right:1px solid #f1dab467;border-radius:0;font-size:clamp(16px,1.5vw,21px);letter-spacing:.08em}.story-hands-context>span{font-size:clamp(14px,1.3vw,18px);line-height:1.45;text-wrap:balance}.story-stage-announcement{position:fixed;top:32%;left:50%;transform:translateX(-50%);width:max-content;max-width:min(540px,76vw);padding:16px 28px;display:grid;gap:7px;justify-items:center;text-align:center;border:1px solid #f5dfb17a;border-radius:5px 23px;background:linear-gradient(125deg,#32534ee3,#775d40d9);color:#fff3d5;pointer-events:none;animation:stage-announcement-in .45s ease-out both}.story-stage-announcement small{font-size:14px;letter-spacing:.1em}.story-stage-announcement strong{font-size:clamp(22px,2.8vw,32px);font-weight:500}.story-stage-announcement>span{font-size:16px}.lyric-line.is-held .lyric-cell>b{opacity:.8}.immersive-shell .lyric-style-focus .lyric-line-next.is-active{opacity:1}.immersive-shell .cinema-stage.is-chord-mode .lyric-line-next:has(.has-attack-rail){padding-top:38px}@keyframes stage-announcement-in{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}@media(max-width:600px) and (orientation:portrait){.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{min-width:64px;height:38px!important;min-height:38px!important;padding:5px 8px!important;top:max(8px,var(--safe-top))!important}.portal-back-corner span,.portal-free-settings-toggle span{font-size:14px!important}.portal-back-corner{left:max(9px,var(--safe-left))!important}.immersive-shell>.settings-toggle,.portal-free-settings-toggle{right:max(9px,var(--safe-right))!important}.portal-knowledge-footer{gap:7px;padding:7px 8px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory{display:grid;grid-template-columns:minmax(0,1fr);gap:2px;padding:0}.portal-knowledge-footer .portal-shared-theory>i{display:none}.portal-knowledge-footer .portal-shared-theory>small,.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>strong{font-size:13px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>p{font-size:13px;line-height:1.4}.theory-library-trigger{white-space:normal;width:83px;min-height:58px;padding:7px 10px;line-height:1.5;text-wrap:balance;font-size:14px}.theory-library-trigger>i{display:none}.theory-library-label{display:flex;flex-direction:column;align-items:center;white-space:nowrap}.story-hands-context{padding:5px 7px;gap:7px}.story-hands-context strong{font-size:14px;padding-right:6px}.story-hands-context>span{font-size:13px}.story-stage-announcement{top:29%;padding:12px 18px}.story-stage-announcement small{font-size:13px}.story-stage-announcement>span{font-size:14px}}@media(max-height:500px) and (orientation:landscape){.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{min-width:70px;height:34px!important;min-height:34px!important;padding:5px 11px!important;top:max(7px,var(--safe-top))!important}.portal-back-corner span,.portal-free-settings-toggle span{font-size:14px!important}.portal-knowledge-footer{gap:8px;padding:3px 10px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory{min-height:32px;padding:0;gap:7px}.portal-knowledge-footer .portal-shared-theory>small,.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>strong{font-size:12px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div>p{font-size:12px;margin:0}.theory-library-trigger{min-height:32px;padding:5px 9px;font-size:13px}.story-hands-context{padding:4px 7px;gap:7px}.story-hands-context strong{font-size:15px}.story-hands-context>span{font-size:14px}.story-stage-announcement{top:27%;padding:9px 20px;gap:4px}.story-stage-announcement strong{font-size:23px}.story-stage-announcement>span{font-size:14px}}@media(prefers-reduced-motion:reduce){.story-stage-announcement{animation:none}}