.portal-path-stage .designer-guide-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:0;container-type:size}.portal-path-stage .designer-square-gallery{width:100%;height:100%;grid-template-columns:repeat(3,max-content);grid-template-rows:minmax(0,1fr);justify-content:center;align-items:center;gap:clamp(12px,2vw,28px);overflow:visible}.portal-path-stage .designer-square-gallery>button{position:relative;container-type:inline-size;width:min(calc((100cqw - 56px) / 3),calc(100cqh - 76px),300px);height:auto;max-height:none;min-height:0;padding:0;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto;gap:0;align-self:center;border:1px solid #d9c69f99;border-radius:5px 22px 5px 22px;background:linear-gradient(145deg,#33594e,#514f42);box-shadow:0 6px 20px #182e2833;color:#fff0d1;opacity:1;touch-action:manipulation}.portal-path-stage .designer-square-gallery .designer-square-art{position:relative;display:block;width:100%;aspect-ratio:1;overflow:hidden}.designer-square-art img{display:block;width:100%;height:100%;object-fit:cover}.designer-square-play{position:absolute;inset:0;margin:auto;display:grid;place-items:center;width:46px;height:46px;padding:10px;border:1px solid #fff0cddd;border-radius:50%;background:#24463db3;color:#fff5da}.designer-square-play svg{width:100%;height:100%}.portal-path-stage .learning-card-caption{display:grid;min-height:0;min-width:0;justify-items:center;align-content:center;gap:4px;padding:6px 4px;border-top:1px solid #e7d6b15c;text-align:center}.portal-path-stage .designer-square-gallery .learning-card-caption{min-height:66px;padding:10px 8px}.portal-path-stage .designer-square-gallery .learning-card-caption strong,.portal-path-stage .learning-card-caption strong{font:500 var(--card-title-size,clamp(14px,1.5vw,21px))/var(--card-line-height,1.3) var(--font-display,serif);letter-spacing:normal;max-width:100%}.portal-path-stage .learning-card-caption small{color:#dfd8bd;font:400 var(--card-status-size,12px)/var(--card-line-height,1.3) var(--font-display,serif);letter-spacing:normal;text-wrap:balance}.portal-path-stage .learning-card-caption small[data-completed=true]{color:#d9f4dc}.learning-card-caption i{font-style:normal}@media(max-height:500px) and (orientation:landscape){.portal-path-stage .learning-card-caption{--card-title-size:12px;--card-status-size:9px;--card-line-height:1.1;padding:1px 3px;gap:1px}}@media(max-height:360px) and (orientation:landscape){.portal-path-stage .learning-card-caption{display:flex;align-items:center;justify-content:center;gap:6px;--card-title-size:11px}}@container(max-width:180px){.portal-path-stage .learning-card-caption{padding:1px 3px;gap:1px;--card-title-size:11px;--card-status-size:9px;--card-line-height:1.15}}.portal-path-stage .designer-square-gallery>button:disabled{cursor:not-allowed;opacity:1}.portal-path-stage .designer-square-gallery>button:disabled .learning-card-caption{background:#55516780}.portal-path-stage .designer-square-gallery>button:disabled .learning-card-caption small{font-size:11px;line-height:1.3;color:#f0e5cc}.portal-path-stage .designer-square-gallery>button:focus-visible{outline:2px solid #ffe6ad;outline-offset:4px}.practice-layer-rehearsal .rehearsal-upper-panel{top:max(74px,calc(var(--safe-top) + 62px));width:min(880px,calc(100% - var(--safe-left) - var(--safe-right) - 64px));gap:10px}.rehearsal-upper-panel.is-selecting{padding:18px 22px;gap:12px;background:linear-gradient(120deg,#30574e99,#665c468a)}.rehearsal-upper-panel .rehearsal-video-guide-row{min-height:34px;flex-wrap:wrap}.practice-layer-rehearsal .rehearsal-stepper-dock{left:max(5vw,calc(var(--safe-left) + 18px));right:max(5vw,calc(var(--safe-right) + 18px));bottom:max(4vh,calc(var(--safe-bottom) + 14px));max-width:1080px;padding:12px 16px;gap:6px;height:auto;min-height:0;background:linear-gradient(138deg,#223d3a80,#5e47386b);-webkit-backdrop-filter:none;backdrop-filter:none}.portal-knowledge-footer .discovery-view-toggle{flex:none;align-self:stretch;white-space:nowrap;min-width:84px;padding:8px 13px;font:500 15px/1.2 var(--font-display,serif);color:#fff0d0;border:1px solid #f2dba2a6;border-radius:4px 16px;background:#365b4eb3;box-shadow:inset 0 0 14px #f5dc9a18}.portal-knowledge-footer .discovery-view-toggle[aria-expanded=true]{background:#52695a}.portal-knowledge-footer .discovery-view-toggle.hidden-area-entry{background:linear-gradient(125deg,#635c778a,#596d7899);border-color:#e3d4ed;color:#fff3eb;box-shadow:none;animation:none}.portal-knowledge-footer .hidden-area-entry:disabled{opacity:.5;cursor:not-allowed}.portal-knowledge-footer .hidden-area-entry:after,.portal-knowledge-footer .hidden-area-entry:before{content:none}@media(min-width:601px) and (max-width:760px) and (min-height:381px) and (orientation:landscape){.portal-knowledge-footer{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;padding:5px 10px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory{grid-column:1/-1;width:100%;min-height:28px}.portal-knowledge-footer .discovery-view-toggle,.portal-knowledge-footer .theory-library-trigger{width:100%;min-height:32px;justify-content:center}}.portal-path-story .portal-path-detail.detail-story{display:flex;flex-direction:column}.portal-path-detail.detail-story>:first-child{flex:1 1;min-height:0;height:auto;width:100%}@media(min-width:601px) and (max-width:1132px) and (min-height:501px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{left:max(16px,calc(var(--safe-left) + 12px));right:auto;width:clamp(180px,24vw,240px);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{left:calc(var(--safe-left) + clamp(220px,30vw,300px));right:max(60px,calc(var(--safe-right) + 52px));width:auto;max-width:none;transform:none}}.portal-inline-free-learning.is-overview{justify-content:flex-start}.portal-inline-free-learning.is-discovery-open>.portal-free-chord-heading{grid-template-columns:1fr}.portal-inline-free-learning .hidden-free-play-chapters{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr)}.portal-inline-free-learning .hidden-free-play-chapters>button{gap:3px;white-space:nowrap}.portal-inline-free-learning .hidden-free-play-chapters>.is-hidden-free-chapter:not(.is-current){background:linear-gradient(125deg,#635c7766,#596d7866);border-color:#e3d4ed80;color:#fff3eb}.portal-inline-free-learning .hidden-free-play-rule{flex:none;margin:5px 0 0;padding:0;text-align:center;white-space:nowrap;font:400 clamp(11px,1.4vw,14px)/1.4 var(--font-display,serif);letter-spacing:0;color:#f4ead4}.rehearsal-operation .rehearsal-start-prominent{pointer-events:auto;position:absolute;top:72%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:28px;width:min(380px,calc(100% - 48px));min-height:54px;padding:12px 26px;white-space:nowrap;font:500 clamp(18px,2vw,23px)/1.2 var(--font-display,serif);color:#fff3d1;border:1px solid #ffe6a6;border-radius:5px 25px;background:linear-gradient(120deg,#31584ee6,#766044dc);box-shadow:0 0 22px #ffe0a04a,inset 0 0 16px #ffe0a029;animation:rehearsal-start-breathe 2.8s ease-in-out infinite}@keyframes rehearsal-start-breathe{50%{box-shadow:0 0 32px #ffe0a080,inset 0 0 22px #ffe0a045;border-color:#fff8d8}}@media(prefers-reduced-motion:reduce){.rehearsal-operation .rehearsal-start-prominent{animation:none}}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:52px;height:52px;padding-block:4px}.free-practice-topbar .rehearsal-back-corner,.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{flex-direction:row!important;flex-wrap:nowrap!important;white-space:nowrap!important;writing-mode:horizontal-tb;letter-spacing:0;max-width:none!important}.free-practice-topbar .rehearsal-back-corner,.free-practice-topbar .rehearsal-settings-toggle{position:fixed!important}.practice-layer-rehearsal .free-practice-topbar{transform:none!important;transition-property:opacity}.portal-back-corner>span,.portal-free-settings-toggle>span{flex:none;white-space:nowrap}.story-opening-countdown{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:8px;color:#fff4d9;pointer-events:none;text-align:center;text-shadow:0 2px 8px #183b36,0 0 22px #183b36;z-index:10;padding:14px 30px;border-radius:8px 24px;background:radial-gradient(ellipse,#25433cbb,#25433c00 72%)}.story-opening-countdown small{font-size:clamp(15px,1.6vw,20px);white-space:nowrap}.story-opening-countdown strong{font:500 clamp(56px,7vw,88px)/1.15 var(--font-display,serif)}.immersive-shell .cinema-stage.is-chord-mode .lyric-sweep-mask{transition:opacity .18s ease}:root{--guide-surface:linear-gradient(138deg,#284c46,#69523e)}.chapter-video-guide-card,.portal-path-guide,.rehearsal-decision-card{background:var(--guide-surface);background-color:#284c46}.portal-path-guide{animation:none}.portal-path-detail:has(>.portal-path-guide)>:not(.portal-path-guide){visibility:hidden;pointer-events:none}.portal-path-stage{--portal-reserved-height:230px;--portal-entry-gap:10px}.portal-cinematic .portal-path-stage>.portal-start-game{position:absolute;grid-row:auto;left:50%;top:auto;bottom:max(0px,calc((100% - var(--portal-reserved-height) - 540px) / 4 + var(--portal-entry-gap) / 2));transform:translateX(-50%);margin:0}.portal-path-stage .designer-guide-chapters button.is-hidden-unlocked{border-color:#e3d4ed;background:linear-gradient(125deg,#635c778a,#596d7899);color:#fff3eb}.designer-guide-chapters button.is-unlock-reveal{animation:designer-secret-reveal 1.8s ease-out both}.designer-guide-chapters button.is-unlock-reveal:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 25px #eedaf599;animation:designer-secret-light 1.8s ease-out both}@keyframes designer-secret-reveal{0%{filter:brightness(.75)}35%{filter:brightness(1.5)}to{filter:brightness(1)}}@keyframes designer-secret-light{0%{opacity:0}35%{opacity:1}to{opacity:0}}@media(max-width:600px) and (orientation:portrait){.portal-path-stage{--portal-reserved-height:196px;--portal-entry-gap:6px}.practice-layer-rehearsal .rehearsal-upper-panel{width:calc(100% - var(--safe-left) - var(--safe-right) - 32px);top:max(62px,calc(var(--safe-top) + 52px));gap:8px}.rehearsal-upper-panel.is-selecting{padding:12px;gap:7px}.rehearsal-upper-panel .rehearsal-chapter-switcher button{min-height:42px;padding:6px}.rehearsal-speed-choice{gap:7px;margin:4px 0}.rehearsal-speed-choice button{padding:7px 9px;font-size:13px}.practice-layer-rehearsal .rehearsal-stepper-dock{left:max(16px,calc(var(--safe-left) + 12px));right:max(16px,calc(var(--safe-right) + 12px));bottom:max(4vh,calc(var(--safe-bottom) + 12px));padding:6px 8px;gap:4px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:36px;height:36px;padding:2px 0;gap:2px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i>small{font-size:7px;line-height:1}.practice-layer-rehearsal .rehearsal-hand-beat{height:26px}.practice-layer-rehearsal .rehearsal-hand-score{gap:3px}.practice-layer-rehearsal .rehearsal-hand-harmony>b{padding-block:3px}}@media(max-height:500px) and (orientation:landscape){.portal-path-stage{--portal-reserved-height:134px;--portal-entry-gap:3px}.practice-layer-rehearsal .rehearsal-upper-panel{top:max(48px,calc(var(--safe-top) + 42px));width:min(720px,calc(100% - var(--safe-left) - var(--safe-right) - 96px));gap:4px}.rehearsal-upper-panel.is-selecting{padding:7px 12px;gap:4px}.rehearsal-upper-panel .rehearsal-video-guide-row{min-height:26px}.rehearsal-upper-panel.is-focused{display:grid;grid-template-columns:auto auto;justify-content:center;column-gap:12px}.rehearsal-upper-panel.is-focused>:first-child{grid-column:1/-1}.practice-layer-rehearsal .rehearsal-stepper-dock{padding:5px 10px;gap:3px;bottom:max(10px,calc(var(--safe-bottom) + 5px));display:grid;grid-template-columns:minmax(0,1fr);align-items:center}.rehearsal-stepper-dock>div:first-child{grid-column:1/-1;grid-row:1}.rehearsal-stepper-dock>div:last-child{grid-column:1/-1;grid-row:2}.rehearsal-operation .rehearsal-start-prominent{top:75%;min-height:42px;width:290px;padding:9px 20px}.practice-layer-rehearsal .rehearsal-one-line-stepper>i{min-height:35px;height:35px}.practice-layer-rehearsal .rehearsal-hand-beat{height:22px}.story-opening-countdown{top:35%;gap:4px}}.rehearsal-stepper-shell:has(.rehearsal-upper-panel.is-selecting) .rehearsal-stepper-dock{display:none}@media(prefers-reduced-motion:reduce){.designer-guide-chapters button.is-unlock-reveal,.designer-guide-chapters button.is-unlock-reveal:after{animation:none}}:root{--portal-gesture-clearance:0px}@media(any-pointer:coarse){:root{--portal-gesture-clearance:44px}}.portal-path-stage.portal-path-free,.portal-path-stage.portal-path-rehearsal,.portal-path-stage.portal-path-story{bottom:max(24px,calc(var(--safe-bottom) + 14px),var(--portal-gesture-clearance))}@media(max-height:500px) and (orientation:landscape){.portal-path-stage.portal-path-free,.portal-path-stage.portal-path-rehearsal,.portal-path-stage.portal-path-story{bottom:max(16px,calc(var(--safe-bottom) + 12px),var(--portal-gesture-clearance))}}.free-practice-topbar .rehearsal-back-corner,.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{position:fixed!important;top:max(14px,var(--safe-top))!important;display:flex!important;align-items:center;justify-content:center;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;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:inset 0 0 12px #ffefc512!important;font-size:20px!important;line-height:1!important;transform:none!important;z-index:80}.free-practice-topbar .rehearsal-back-corner,.portal-back-corner{left:max(14px,calc(var(--safe-left) + 8px))!important;right:auto!important}.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell>.settings-toggle,.portal-free-settings-toggle{right:max(14px,calc(var(--safe-right) + 8px))!important;left:auto!important}.free-practice-topbar .rehearsal-settings-toggle>span,.portal-back-corner>span,.portal-free-settings-toggle>span{display:inline;font-family:var(--font-display,serif);font-size:16px!important;line-height:1.2!important}.corner-icon{flex:none;width:20px;height:20px;display:block}.practice-layer-rehearsal .practice-layer-heading{display:none!important}@media(max-height:500px),(max-width:600px){.free-practice-topbar .rehearsal-back-corner,.free-practice-topbar .rehearsal-settings-toggle,.immersive-shell>.settings-toggle,.portal-back-corner,.portal-free-settings-toggle{top:max(8px,var(--safe-top))!important;min-width:64px;width:64px!important;height:38px!important;min-height:38px!important;padding:5px 6px!important;gap:4px}.free-practice-topbar .rehearsal-settings-toggle>span,.portal-back-corner>span,.portal-free-settings-toggle>span{font-size:14px!important}.corner-icon{width:16px;height:16px}}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-active-harmony,.rehearsal-hand-harmony>b.is-active{background:color-mix(in srgb,var(--hand-chord-color,var(--portal-chord-color)) 65%,#425c53);border-color:#fff4c5;color:#fffdf2;box-shadow:inset 0 0 12px #fff4c55c,0 0 10px #fff0b352}.practice-layer-rehearsal .rehearsal-one-line-stepper>i.is-active-harmony.is-correct{background:#557e67}.immersive-shell .cinema-stage.is-chord-mode .lyric-line-current,.immersive-shell .cinema-stage.is-chord-mode .lyric-line-next,.immersive-shell .cinema-stage.is-chord-mode .lyric-line-next:has(.has-attack-rail){position:relative;padding-top:44px;overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell{height:calc(var(--story-lyric-chord-size) * 1.04 + 1.25em + 6px);grid-template-rows:calc(var(--story-lyric-chord-size) * 1.04) minmax(0,1fr);overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .lyric-cell:has(.has-attack-rail){z-index:6}.immersive-shell .lyric-attack-rail[data-edge=start]{left:0;right:auto;transform:none}.immersive-shell .lyric-attack-rail[data-edge=end]{left:auto;right:0;transform:none}@media(orientation:portrait) and (min-width:744px) and (max-width:1280px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{left:max(24px,calc(var(--safe-left) + 18px));right:auto;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{left:max(270px,calc(var(--safe-left) + 36vw));right:max(66px,calc(var(--safe-right) + 58px));width:auto;max-width:none;transform:none}}@media(orientation:landscape) and (min-width:1024px) and (max-width:1696px) and (min-height:600px){.immersive-shell .cinema-stage.is-chord-mode .chord-queue{left:max(24px,calc(var(--safe-left) + 18px));right:auto;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{left:max(360px,calc(var(--safe-left) + 30vw));right:max(86px,calc(var(--safe-right) + 74px));width:auto;max-width:none;transform:none}}@media(max-width:600px) and (max-height:700px) and (orientation:portrait){.portal-path-stage .portal-path-detail.detail-rehearsal>.portal-inline-free-learning{gap:4px;padding:6px 8px;justify-content:flex-start}.portal-inline-free-learning .portal-discovery-chords{min-height:48px;height:48px}.portal-inline-free-learning .portal-discovery-chords>button{min-height:0;padding:4px}.portal-inline-free-learning .foundation-keyboard-row{flex:1 1 62px;min-height:50px}.portal-inline-free-learning .foundation-keyboard{height:100%!important;min-height:0!important}.portal-inline-free-learning [data-attack-rail=discovery]{flex:none;height:28px}.portal-knowledge-footer{flex-shrink:0}}@media(max-width:1000px) and (orientation:portrait){.portal-knowledge-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;padding:7px 10px}.portal-path-stage .portal-knowledge-footer .portal-shared-theory{grid-column:1/-1;grid-template-columns:auto 1fr;gap:7px;min-height:0}.portal-knowledge-footer .portal-shared-theory>small{align-self:start;padding-top:1px}.portal-knowledge-footer .portal-shared-theory>i{display:none}.portal-path-stage .portal-knowledge-footer .portal-shared-theory>div{display:block;min-width:0;width:auto}.portal-knowledge-footer .discovery-view-toggle,.portal-knowledge-footer .theory-library-trigger{width:auto;min-width:0;min-height:36px;padding:6px 10px;font-size:14px}.portal-knowledge-footer .theory-library-label{display:inline;white-space:nowrap;font-size:14px}}@media(max-height:350px) and (orientation:landscape){.portal-path-stage .portal-path-detail.detail-rehearsal>.portal-inline-free-learning.is-overview{padding-block:1px}}.hidden-area-entry[aria-disabled=true]{opacity:.55;cursor:help}.portal-inline-free-learning.is-overview{display:flex;justify-content:center;gap:0;padding:clamp(10px,1.8vw,24px)}.hand-beat-slice.is-timing-miss,.rehearsal-one-line-stepper>i.is-timing-miss{background:#8c534caa!important;border-color:#edaa89!important;color:#fff0d9!important}.hand-miss-dot{font:700 14px/1 sans-serif;color:#ffc1a2}.rehearsal-stepper-dock[data-reset="1"] .rehearsal-hand-beat,.rehearsal-stepper-dock[data-reset="1"] .rehearsal-one-line-stepper>i{animation:practice-flip-a .55s ease both}.rehearsal-stepper-dock[data-reset="0"] .rehearsal-hand-beat,.rehearsal-stepper-dock[data-reset="0"] .rehearsal-one-line-stepper>i{animation:practice-flip-b .55s ease both}@keyframes practice-flip-a{0%{transform:rotateX(80deg);opacity:.35}to{transform:none;opacity:1}}@keyframes practice-flip-b{0%{transform:rotateX(80deg);opacity:.35}to{transform:none;opacity:1}}.chapter-arrival-glow{animation:chapter-arrival 1.7s ease both}@keyframes chapter-arrival{30%{text-shadow:0 0 18px #fff0b2;box-shadow:0 0 18px #fff0b255;filter:brightness(1.25)}}.rehearsal-decision-card.is-completed-chapter{isolation:isolate;overflow:hidden}.rehearsal-decision-card.is-completed-chapter>footer,.rehearsal-decision-card.is-completed-chapter>p,.rehearsal-decision-card.is-completed-chapter>strong{position:relative;z-index:4}.wind-ending.is-mastered h2,.wind-ending.is-practice h2{animation:chapter-arrival 2s ease both;text-shadow:0 0 22px #e8d39466}.wind-ending-card{position:relative}.wind-ending-copy{position:relative;z-index:4}.immersive-shell.is-movie-mode .video-segment-rail{max-width:none;top:max(12px,var(--safe-top,0px));z-index:65}.immersive-shell.is-movie-mode .video-segment-rail,.immersive-shell.is-movie-mode .video-segment-rail-trigger{left:calc(var(--safe-left,0px) + 114px);right:calc(var(--safe-right,0px) + 114px);width:auto}@media(max-width:600px) and (orientation:portrait){.immersive-shell.is-movie-mode .video-segment-rail{top:calc(var(--safe-top,0px) + 67px);left:16px;right:16px}.immersive-shell.is-movie-mode .video-segment-rail-trigger{top:calc(var(--safe-top,0px) + 58px);left:16px;right:16px}.rehearsal-timing-feedback{font-size:12px;min-height:18px;line-height:1.3}}@media(max-height:500px) and (orientation:landscape){.rehearsal-stepper-dock>.rehearsal-timing-feedback{grid-row:2}.rehearsal-stepper-dock>div:last-child{grid-row:3}.rehearsal-timing-feedback{min-height:18px;font-size:11px}}@media(prefers-reduced-motion:reduce){.chapter-arrival-glow,.rehearsal-stepper-dock[data-reset] .rehearsal-hand-beat,.rehearsal-stepper-dock[data-reset] .rehearsal-one-line-stepper>i{animation:none}}:root{--visible-height:100dvh}@media(max-height:500px) and (orientation:landscape){html[data-performance-apple=true] .portal-path-stage:is(.portal-path-free,.portal-path-story,.portal-path-rehearsal){top:max(8px,var(--safe-top));bottom:max(28px,calc(var(--safe-bottom) + 8px));gap:3px!important;grid-template-rows:40px 0 30px minmax(0,1fr) 32px!important;--portal-reserved-height:117px;--portal-entry-gap:3px}html[data-performance-apple=true] .portal-path-heading{visibility:hidden}html[data-performance-apple=true] .portal-path-grid .portal-path-card{padding:3px 8px}html[data-performance-apple=true] .portal-path-stage .portal-inline-free-learning.is-overview{padding:4px 10px}html[data-performance-apple=true] .portal-knowledge-footer{padding:3px 8px;min-height:30px}html[data-performance-apple=true] .portal-knowledge-footer .discovery-view-toggle,html[data-performance-apple=true] .portal-knowledge-footer .theory-library-trigger{min-height:26px;padding:3px 8px;font-size:12px}html[data-performance-apple=true] .portal-path-stage .portal-shared-theory{padding:2px 0}html[data-performance-apple=true] .portal-path-stage .portal-shared-theory p,html[data-performance-apple=true] .portal-path-stage .portal-shared-theory strong{font-size:11px;line-height:1.2}html[data-performance-apple=true] .portal-cinematic .portal-path-stage>.portal-start-game{bottom:0}}.landscape-guide{width:min(540px,calc(100vw - 36px));max-height:calc(var(--visible-height) * .5);padding:22px;margin:auto;overflow:auto;border:1px solid #e7d8b7;border-radius:7px 24px;background:var(--guide-surface);color:#fff2d9;text-align:center;font-family:var(--font-display,serif)}.landscape-guide::backdrop{background:#122d3699}.landscape-guide h2{font-size:var(--guide-title-size);font-weight:500;margin:10px 0}.landscape-guide p{font-size:var(--guide-body-size);line-height:1.5;margin:8px 0}.landscape-guide .rotation-help{font-size:14px;color:#e0d6bd}.landscape-guide footer{display:flex;gap:12px;justify-content:center;margin-top:16px}.landscape-guide button{min-height:40px;padding:9px 16px;border:1px solid #e5d5b7;border-radius:5px 18px;background:#eee0be;color:#284c46;font:500 15px/1.2 var(--font-display,serif);cursor:pointer}.landscape-guide button:first-child{background:transparent;color:#fff2d9}.landscape-guide button:disabled{opacity:.5;cursor:default}.rotate-device{display:flex;align-items:center;justify-content:center;gap:10px;color:#eedcaa}.rotate-device i{display:block;width:24px;height:38px;border:2px solid;border-radius:5px;transform:rotate(-28deg);transition:transform .35s}.rotate-device[data-ready=true] i{transform:rotate(-90deg)}.rotate-device span{font-size:29px}.portal-path-detail>.portal-path-guide{inset:0;margin:auto;width:min(760px,94%);height:max-content;max-height:calc(var(--visible-height) * .5);padding:16px 22px;border:1px solid #e8d9b766;border-radius:6px 24px}.portal-path-guide>div{max-height:calc(var(--visible-height) * .5 - 34px);display:flex;flex-direction:column;gap:8px;min-height:0}.portal-path-guide button,.portal-path-guide small,.portal-path-guide strong{flex:none}.portal-path-guide .portal-path-guide-copy{min-height:0;overflow:auto;overscroll-behavior:contain}.portal-path-guide button{min-height:38px;margin:0}.chapter-video-guide-card,.rehearsal-decision-card{max-height:calc(var(--visible-height) * .5);overflow:auto}.rehearsal-operation .rehearsal-start-prominent{z-index:12;touch-action:manipulation}.rehearsal-operation .rehearsal-start-prominent:disabled{opacity:.55;animation:none}@media(max-height:350px) and (orientation:landscape){html[data-performance-apple=true] .portal-path-stage:is(.portal-path-free,.portal-path-story,.portal-path-rehearsal){grid-template-rows:32px 0 26px minmax(0,1fr) 32px!important}html[data-performance-apple=true] .portal-path-detail .portal-knowledge-footer{height:28px;flex:0 0 28px;padding:1px 6px;gap:7px}html[data-performance-apple=true] .portal-path-detail .portal-knowledge-footer .portal-shared-theory{min-height:0;height:24px}html[data-performance-apple=true] .portal-path-detail .portal-knowledge-footer .discovery-view-toggle,html[data-performance-apple=true] .portal-path-detail .portal-knowledge-footer .theory-library-trigger{min-height:24px;padding:2px 6px;font-size:11px}}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric.lyric-style-focus{--lyric-bottom:max(6px,calc(var(--safe-bottom) + 4px));--lyric-field-height:min(220px,calc(var(--visible-height) / 3 - var(--lyric-bottom)));--lyric-row-height:calc((var(--lyric-field-height) - 4px) / 2);--rail-band:min(30px,calc(var(--lyric-row-height) * .27));--chord-band:calc(var(--lyric-row-height) * .30);--lyric-type:min(28px,calc(var(--lyric-row-height) * .25));--chord-lyric-gap:max(3px,calc(var(--lyric-row-height) * .07));position:absolute;top:auto;bottom:var(--lyric-bottom);height:var(--lyric-field-height);min-height:0;max-height:none;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:4px;padding:0;margin:0;overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-line,.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-line-next:has(.has-attack-rail){position:relative;width:100%;height:100%;min-height:0;padding:0;margin:0;transform:none;overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-characters{box-sizing:border-box;height:100%;padding:var(--rail-band) 0 3px;margin:0;font-size:var(--lyric-type);line-height:1;gap:0;align-items:end;overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-cell{--story-lyric-chord-size:min(42px,calc(var(--chord-band) / 1.04));height:100%;min-height:0;padding:0;grid-template-rows:var(--chord-band) minmax(0,1fr);row-gap:var(--chord-lyric-gap);overflow:visible}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-cell>b{font-size:var(--lyric-type);line-height:1;margin:0;padding:0;align-self:end}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-chord-stack{grid-row:1;height:var(--chord-band);overflow:visible;align-self:start}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-chord-stack>.lyric-chord{overflow:visible;transform:none}.immersive-shell .cinema-stage.is-chord-mode .mv-lyric .lyric-chord:is(.is-judged-correct,.is-judged-missed){animation-name:v142ChordLight}@keyframes v142ChordLight{0%,to{filter:brightness(1)}34%{filter:brightness(1.65)}68%{filter:brightness(1.16)}}.immersive-shell .mv-lyric .lyric-attack-rail{bottom:calc(100% + 3px);overflow:visible}.immersive-shell .mv-lyric [data-attack-rail=lyric]{--beat-size:clamp(34px,3vw,40px);height:calc(var(--rail-band) - 3px);min-height:0;padding-bottom:0;gap:1px}.immersive-shell .mv-lyric [data-attack-rail=lyric] [data-rest]{font-size:min(14px,calc(var(--rail-band) * .5));font-family:system-ui,sans-serif;line-height:1}.immersive-shell .mv-lyric .lyric-sweep-mask{bottom:0}.immersive-shell .mv-lyric [data-beat-cell]{height:100%;min-height:0;align-items:stretch;border-radius:2px 4px}.immersive-shell .mv-lyric [data-rest]>span{font:inherit;line-height:1}@media(max-height:500px) and (orientation:landscape){.portal-path-detail>.portal-path-guide{padding:8px 18px}.portal-path-guide>div{max-height:calc(var(--visible-height) * .5 - 18px);gap:4px}.portal-path-guide small{display:none}.portal-path-guide strong{font-size:20px}.portal-path-guide p{font-size:14px;line-height:1.4}.landscape-guide{padding:10px 20px}.landscape-guide h2{margin:3px 0;font-size:20px}.landscape-guide p{margin:4px 0;font-size:14px}.rotate-device{display:none}.landscape-guide footer{margin-top:8px}}:root{--info-border:#e9d6b4;--info-ink:#fff1d6;--info-title:clamp(16px,1.8vw,22px);--info-body:clamp(13px,1.2vw,15px)}.info-panel.info-panel{border:1px solid var(--info-border);border-radius:5px 30px;background:var(--guide-surface);background-color:#284c46;color:var(--info-ink);box-shadow:0 14px 70px #182e4350;font-family:var(--font-display,"Songti SC",serif);pointer-events:auto}@media(max-height:340px) and (orientation:landscape){.info-panel.info-panel[data-compact=true] p{margin:2px 0;line-height:1.25}.info-panel.info-panel[data-compact=true] h2{margin-bottom:2px}}.info-panel::backdrop{background:#152d344b;pointer-events:auto}.info-panel.info-panel h2,.info-panel.info-panel>strong,.portal-path-guide.info-panel>div>strong{font:500 var(--info-title)/1.25 var(--font-display,"Songti SC",serif);color:var(--info-ink);margin:0 0 10px;letter-spacing:.025em}.info-panel.info-panel p{font-size:var(--info-body);line-height:1.5;margin:6px 0;color:inherit;text-wrap:pretty}.info-panel.info-panel :is(button,a.midi-connect-control){min-height:40px;padding:8px 18px;border:1px solid #a1b3a0;border-radius:24px;background:#325f55;color:#fff3da;font:500 14px/1.3 var(--font-display,"Songti SC",serif);cursor:pointer}.info-panel button:disabled{opacity:.55;cursor:default}.info-panel button:focus-visible{outline:2px solid #ffe2a5;outline-offset:3px}.info-panel .development-history-fixed-head{background:#314e44;color:var(--info-ink)}.development-history-card.info-panel .development-history-fixed-head header{background:#314e44}.development-history-card.info-panel .development-history-scroll-body{background:transparent}.development-history-card.info-panel .development-history-scroll-body li span,.development-history-card.info-panel header small{color:var(--info-ink)}.info-panel .development-history-fixed-head h2{font-size:var(--info-title)}.info-panel .development-history-scroll-body li{color:var(--info-ink);font-size:var(--info-body)}.info-panel .development-history-scroll-body li b{color:#e7cf9b}.portal-path-guide.info-panel small{font-size:12px}.rehearsal-decision-card.info-panel{width:min(520px,calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 32px));max-height:calc(min(100dvh,var(--visible-height,100dvh)) * .5);padding:18px 24px;grid-template-columns:minmax(0,1fr);text-align:center;justify-items:center}.rehearsal-decision-card.info-panel>p{width:100%;max-width:100%}.rehearsal-decision-card.info-panel>small{width:100%}dialog.rehearsal-decision-card.info-panel[open]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:max-content;min-height:0;grid-template-columns:none}dialog.rehearsal-decision-card.info-panel>:not([data-celebration]){flex:none;grid-area:auto;min-width:0;max-width:100%}dialog.rehearsal-decision-card.info-panel>:is(small,strong,p){width:100%;white-space:normal;word-break:normal;overflow-wrap:break-word}dialog.portal-path-guide.rehearsal-decision-card[open]{position:fixed;inset:0;margin:auto;min-height:0;height:fit-content;width:min(640px,calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 32px));max-height:calc(min(100dvh,var(--visible-height,100dvh)) * .5)}dialog.portal-path-guide>div{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;min-height:0}dialog.portal-path-guide .portal-path-guide-copy{display:block;width:100%}dialog.portal-path-guide>div>small{display:none}dialog.portal-path-guide>div>strong{display:block;margin:0}dialog.portal-path-guide:after,dialog.portal-path-guide:before{display:none}dialog.portal-path-guide>div{max-height:none}dialog.portal-path-guide .portal-path-guide-copy{overflow:visible}.rehearsal-decision-card.info-panel .rehearsal-decision-mark{display:none}.rehearsal-decision-card.info-panel>small{font-size:12px}.settings-learning-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;width:100%;padding:8px 0}dialog.settings-drawer.settings-drawer[open]{position:fixed!important;inset:auto!important;top:max(12px,env(safe-area-inset-top))!important;right:max(12px,env(safe-area-inset-right))!important;width:min(390px,calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right) - 24px))!important;min-width:0!important;height:auto!important;min-height:0!important;max-height:calc(min(100dvh,var(--visible-height,100dvh)) - env(safe-area-inset-top) - env(safe-area-inset-bottom) - 24px)!important;margin:0!important;padding:14px 16px!important;box-sizing:border-box;display:grid!important;grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:max-content;gap:12px;overflow:auto!important;overscroll-behavior:contain;transform:none!important;transition:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto}dialog.settings-drawer::backdrop{background:#152d344b;pointer-events:auto}dialog.settings-drawer>*{min-width:0;max-width:100%}dialog.settings-drawer .settings-drawer-head{position:sticky;top:-14px;z-index:4;padding:10px 0;background:#e8efe2}dialog.settings-drawer .settings-drawer-head button{flex:none}.settings-learning-tools .settings-learning-tool{display:grid;place-items:center;min-width:0;min-height:42px;padding:7px 3px;font:750 clamp(11px,1.1vw,13px)/1.3 var(--font-display,"Songti SC",serif);white-space:nowrap}.settings-learning-tools .settings-learning-tool,.settings-quick-actions .settings-connect,.settings-quick-actions button{border:1px solid rgba(82,164,139,.55);border-radius:3px 11px;color:#f5fff9;background:linear-gradient(135deg,#4c9281,#68ac95);box-shadow:0 5px 14px rgba(46,119,98,.2)}.settings-learning-tool:focus-visible,.settings-learning-tool:hover,.settings-quick-actions :is(button,a.midi-connect-control):focus-visible,.settings-quick-actions :is(button,a.midi-connect-control):hover{outline:1px solid #bce2ce;outline-offset:2px}a.midi-connect-control{text-decoration:none;cursor:pointer;font:inherit;box-sizing:border-box}.settings-quick-actions a.midi-connect-control{min-width:0;min-height:34px;padding:6px 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.designer-square-gallery .is-locked .designer-square-art:after{content:"";position:absolute;inset:0;background:#41444240;pointer-events:none}.designer-square-gallery .designer-square-art>i{z-index:1}.rehearsal-hand-score,.rehearsal-single-score{position:relative}.rehearsal-playhead{position:absolute;top:0;bottom:0;left:0;right:0;pointer-events:none;z-index:5}.rehearsal-hand-score>.rehearsal-playhead{left:var(--hand-gutter)}.rehearsal-playhead>i{position:absolute;top:0;bottom:0;left:var(--playhead-position,0);width:2px;transform:translateX(-1px);background:#fff0b9;box-shadow:0 0 8px #ffdc96bb}.rehearsal-playhead>i:before{content:"";position:absolute;top:-6px;left:-3px;border:4px solid transparent;border-top-color:#fff0b9}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.info-panel.info-panel .information-close{display:grid;place-items:center;flex:none;width:40px;height:40px;min-width:40px;min-height:40px;margin:0;padding:0!important;line-height:1;box-sizing:border-box}.information-close svg{display:block;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round}.rehearsal-video-guide-row .rehearsal-melody-toggle{display:grid;place-items:center;width:96px;height:34px;min-height:34px;padding:4px 7px;border-color:#efdaa5;box-shadow:inset 0 0 9px #f5e4b629;white-space:nowrap}.portal-cinematic .portal-path-detail.detail-rehearsal>.rehearsal-card-enter{position:relative;inset:auto;transform:none;grid-row:auto;align-self:center;flex:0 0 auto;width:min(420px,85%);min-height:42px;height:42px;margin:4px auto 8px;padding:6px 20px}.portal-cinematic .rehearsal-card-enter b{font-size:clamp(15px,1.5vw,20px)}.wind-ending.is-celebrating .wind-ending-card{overflow:visible;border-color:#ffedaf;box-shadow:0 0 0 1px #ffebbaaa,0 0 28px #ffde9977,0 0 75px #f3c97844;animation:ending-arrival .85s cubic-bezier(.2,.8,.2,1) both}.wind-ending.is-celebrating .wind-ending-card:before{content:"";position:absolute;inset:-4px;border:1px solid #ffedb3;border-radius:inherit;box-shadow:0 0 20px #ffe3a5aa,inset 0 0 18px #ffe6b333;pointer-events:none;animation:ending-halo 2.8s ease-in-out infinite}.wind-ending.is-celebrating h2{color:#fff1bd;text-shadow:0 0 20px #ffdc94aa,0 2px 6px #254039}.wind-ending-card .wind-ending-stats b{font-size:clamp(22px,5vh,32px);line-height:1.15;color:#fff1bd}.wind-ending-card .wind-ending-stats em{font-size:clamp(11px,2.8vh,13px);line-height:1.25;color:#eee4ca}.wind-ending-card .wind-ending-stats span{min-width:0;text-align:center}@keyframes ending-arrival{0%{opacity:0;transform:translateY(18px) scale(.94)}to{opacity:1;transform:none}}@keyframes ending-halo{0%,to{opacity:.6}50%{opacity:1}}@media(prefers-reduced-motion:reduce){.wind-ending.is-celebrating .wind-ending-card,.wind-ending.is-celebrating .wind-ending-card:before{animation:none}}@media(max-height:500px) and (orientation:landscape){:root{--info-title:16px;--info-body:13px}.info-panel.info-panel h2,.info-panel.info-panel>strong,.portal-path-guide.info-panel>div>strong{margin-bottom:6px}.info-panel.info-panel p{line-height:1.35;margin:4px 0}.info-panel.info-panel :is(button,a.midi-connect-control){min-height:32px;padding:5px 14px}.rehearsal-decision-card.info-panel{width:min(660px,calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 32px));padding:10px 18px;gap:3px}.rehearsal-decision-card.info-panel>small{font-size:11px}dialog.portal-path-guide.rehearsal-decision-card[open]{width:min(800px,calc(100vw - var(--safe-left,0px) - var(--safe-right,0px) - 32px))}dialog.portal-path-guide>div{gap:3px}.info-panel[data-compact=true] p{font-size:12px;line-height:1.3;margin:3px 0}.info-panel[data-compact=true] h2{margin-bottom:4px}.portal-cinematic .portal-path-detail.detail-rehearsal>.rehearsal-card-enter{min-height:32px;height:32px;margin:2px auto 4px;padding:3px 16px}}