@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{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}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.sticky{position:sticky}.grid{display:grid}.hidden{display:none}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#25314d;--sky:#dff5ff;--cloud:#fff;--panel:#ffffffe0;--shadow:0 20px 60px #365d8229}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 10% 8%,#fffffff2 0 7%,#0000 7.5%),radial-gradient(circle at 20% 10%,#ffffffd9 0 5%,#0000 5.5%),linear-gradient(#cdefff 0%,#e8f9ff 46%,#fff4cf 100%);margin:0;font-family:ui-rounded,Nunito,Trebuchet MS,system-ui,sans-serif}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{min-height:100vh;position:relative;overflow-x:hidden}.app-shell:before,.app-shell:after{content:"";pointer-events:none;filter:blur(1px);z-index:-1;background:#ffffffb8;border-radius:999px;position:fixed}.app-shell:before{width:340px;height:110px;top:12%;left:-90px;box-shadow:90px 10px 0 5px #ffffffb3}.app-shell:after{width:300px;height:90px;top:58%;right:-100px;box-shadow:-100px 12px #ffffffa6}.topbar{justify-content:space-between;align-items:center;gap:16px;max-width:1180px;margin:0 auto;padding:18px clamp(16px,4vw,48px);display:flex}.brand-mini{align-items:center;gap:10px;font-weight:900;display:flex}.brand-mini img{width:150px;height:auto}.sound-button,.ghost-button,.pill-button,.primary-button,.secondary-button,.control-button{cursor:pointer;border:0;border-radius:18px;min-height:48px;font-weight:900;transition:transform .18s,box-shadow .18s,opacity .18s}.sound-button:hover,.ghost-button:hover,.pill-button:hover,.primary-button:hover,.secondary-button:hover,.control-button:hover{transform:translateY(-2px)}.sound-button{color:var(--ink);background:#fffc;padding:10px 14px;box-shadow:0 8px 24px #2850781c}.primary-button{color:#fff;background:linear-gradient(135deg,#7a5cff,#b563f0);padding:16px 24px;font-size:clamp(1rem,2vw,1.15rem);box-shadow:0 14px 30px #7a5cff40}.secondary-button{color:#6b4bd8;background:#fff;border:2px solid #6b4bd821;padding:14px 20px}.ghost-button{color:var(--ink);background:#ffffffb8;padding:10px 14px}.control-button{color:var(--ink);background:#fff;padding:10px 14px;box-shadow:0 7px 18px #25314d17}.control-button.active{color:#fff;background:#5f55d8}.control-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero{grid-template-columns:minmax(0,1fr) minmax(280px,.95fr);align-items:center;gap:36px;max-width:1180px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 56px;display:grid}.hero-copy h1{letter-spacing:-.055em;color:#3d3b72;margin:12px 0 18px;font-size:clamp(2.35rem,7vw,5rem);line-height:.96}.hero-copy p{max-width:640px;margin:0 0 26px;font-size:clamp(1.05rem,2vw,1.28rem);line-height:1.65}.eyebrow{color:#6650a8;background:#ffffffc2;border-radius:999px;padding:8px 13px;font-size:.86rem;font-weight:900;display:inline-flex}.hero-actions{flex-wrap:wrap;gap:12px;display:flex}.hero-art{position:relative}.hero-art:before{content:"";filter:blur(22px);z-index:-1;background:linear-gradient(135deg,#ff7bb242,#70e0ff47);border-radius:45% 55% 48% 52%;position:absolute;inset:6% -2% -5%}.hero-art img{width:100%;box-shadow:var(--shadow);border-radius:36px;display:block}.panel{background:var(--panel);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:var(--shadow);border:1px solid #ffffffe6;border-radius:30px}.world-wrap,.lesson-wrap,.gallery-wrap{max-width:1080px;margin:0 auto;padding:20px clamp(16px,4vw,40px) 64px}.section-head{justify-content:space-between;align-items:flex-start;gap:18px;margin:12px 0 24px;display:flex}.section-head h1,.section-head h2{color:#3d3b72;margin:4px 0}.section-head p{color:#5c6783;margin:6px 0 0}.progress-track{background:#fff;border-radius:999px;height:14px;overflow:hidden;box-shadow:inset 0 0 0 1px #46506e14}.progress-fill{border-radius:inherit;background:linear-gradient(90deg,#ff6e7f,#ffb347,#f7ee65,#52d273,#4dc9ff,#7868e6);height:100%;transition:width .35s}.lesson-path{gap:14px;margin-top:24px;display:grid}.lesson-card{text-align:left;width:100%;color:var(--ink);background:#ffffffe0;border:0;border-radius:24px;grid-template-columns:72px 1fr auto;align-items:center;gap:16px;padding:16px;display:grid;box-shadow:0 10px 30px #2646691a}.lesson-card:not(:disabled){cursor:pointer}.lesson-card:disabled{opacity:.48;filter:saturate(.45)}.avatar{aspect-ratio:1;color:#1f2940;border:4px solid #fff;border-radius:22px;place-items:center;width:62px;font-size:1.2rem;font-weight:1000;display:grid;box-shadow:0 8px 20px #1e28461f}.avatar.dark{color:#fff}.lesson-card strong{font-size:1.1rem;display:block}.lesson-card span{color:#68718a;font-size:.94rem}.status-chip{color:#5f55d8;background:#f1f0ff;border-radius:999px;justify-self:end;padding:7px 10px;font-size:.8rem;font-weight:900}.narrator{background:#fff9df;border:1px solid #ffe6a3;border-radius:22px;align-items:flex-start;gap:12px;margin-bottom:18px;padding:16px 18px;display:flex}.narrator-face{background:#ffcf5a;border-radius:50%;flex:0 0 42px;place-items:center;width:42px;height:42px;font-size:1.3rem;display:grid}.narrator p{margin:2px 0 0;font-weight:750;line-height:1.45}.lesson-panel{padding:clamp(18px,4vw,34px)}.lesson-title{align-items:center;gap:16px;margin-bottom:20px;display:flex}.lesson-title h1{margin:0}.lesson-title p{color:#68718a;margin:4px 0 0}.stage-row{flex-wrap:wrap;gap:8px;margin:0 0 20px;display:flex}.stage-pill{color:#7a849c;background:#eef2f7;border-radius:999px;padding:8px 12px;font-weight:900}.stage-pill.active{color:#fff;background:#5f55d8}.stage-pill.done{color:#247342;background:#dff7e7}.keyboard{background:linear-gradient(#c9e4f5,#e5f5ff);border-radius:26px;align-items:stretch;gap:6px;min-height:190px;padding:18px;display:flex;position:relative;box-shadow:inset 0 0 0 1px #50789614}.piano-key{cursor:pointer;color:#29324c;background:linear-gradient(#fff,#f5f5f8);border:0;border-radius:0 0 18px 18px;flex:1;justify-content:center;align-items:flex-end;min-width:52px;min-height:152px;padding:14px 8px;font-size:1.15rem;font-weight:1000;transition:transform 80ms,background .12s,box-shadow .12s;display:flex;position:relative;box-shadow:0 8px #d9e1e7,0 11px 18px #2c4c631a}.piano-key:active,.piano-key.active{transform:translateY(5px);box-shadow:0 3px #cfd9df}.piano-key.locked{opacity:.42;cursor:not-allowed}.key-label{background:#ffffffd1;border-radius:10px;padding:5px 9px;box-shadow:0 3px 10px #00000014}.lesson-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px;display:flex}.feedback{background:#eef8ff;border-radius:16px;flex:260px;align-items:center;min-height:52px;padding:10px 14px;font-weight:800;display:flex}.song-grid{grid-template-columns:minmax(0,1.45fr) minmax(220px,.55fr);gap:18px;display:grid}.roll{background:linear-gradient(#eff9ff,#fff);border:1px solid #d8ebf5;border-radius:26px;height:330px;position:relative;overflow:hidden}.roll-lanes{grid-template-rows:repeat(5,1fr);display:grid;position:absolute;inset:0}.roll-lane{color:#8090a0;border-bottom:1px dashed #375f7824;align-items:center;padding-left:12px;font-size:.82rem;font-weight:900;display:flex}.roll-notes{position:absolute;inset:0 12px}.roll-note{color:#25314d;border:3px solid #ffffffe6;border-radius:14px;justify-content:center;align-items:center;height:44px;font-weight:1000;display:flex;position:absolute;box-shadow:0 7px 16px #283c5a1f}.play-line{z-index:5;background:#5147c9;width:4px;position:absolute;top:0;bottom:0;box-shadow:0 0 0 3px #5147c91a}.song-side{flex-direction:column;gap:12px;padding:18px;display:flex}.song-side h3{margin:0}.mode-tabs{grid-template-columns:1fr 1fr;gap:8px;display:grid}.song-controls{flex-wrap:wrap;gap:8px;display:flex}.tempo-row{gap:8px;display:flex}.now-playing{text-align:center;background:#fff;border-radius:20px;padding:16px}.now-note{border:5px solid #fff;border-radius:28px;place-items:center;width:86px;height:86px;margin:10px auto;font-size:1.8rem;font-weight:1000;display:grid;box-shadow:0 10px 26px #1e284621}.gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.character-card{text-align:center;background:#ffffffde;border-radius:24px;padding:18px 14px;box-shadow:0 10px 30px #26466917}.character-card .avatar{margin:0 auto 10px}.character-card strong{display:block}.character-card small{color:#6c758c}.footer-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}@media (max-width:800px){.hero{text-align:center;grid-template-columns:1fr;padding-top:10px}.hero-copy p{margin-left:auto;margin-right:auto}.hero-actions{justify-content:center}.hero-art{order:-1;max-width:620px;margin:auto}.song-grid{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.section-head{align-items:center}}@media (max-width:560px){.topbar{padding:12px 14px}.brand-mini img{width:116px}.hero{padding-bottom:34px}.lesson-card{grid-template-columns:58px 1fr}.lesson-card .avatar{border-radius:18px;width:52px}.status-chip{grid-column:2;justify-self:start}.keyboard{gap:3px;min-height:160px;padding:10px}.piano-key{min-width:0;min-height:132px;padding:9px 3px}.key-label{padding:4px 6px;font-size:.92rem}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roll{height:300px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.song-screen-shell{min-height:100dvh}.song-game-wrap{max-width:1180px;margin:0 auto;padding:8px clamp(10px,2.4vw,28px) 28px}.song-game-topline{align-items:center;margin-bottom:8px;display:flex}.song-game-panel{background:linear-gradient(#fffffff5,#f5fafff0);padding:clamp(12px,2vw,20px);overflow:hidden}.song-hud{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px;margin-bottom:10px;display:grid;position:relative}.song-hud-title{min-width:0}.song-hud-kicker{color:#7b79a4;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:.72rem;font-weight:900;display:block}.song-hud h1{color:#34325f;margin:0;font-size:clamp(1.35rem,3vw,2rem);line-height:1.05}.song-hud-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.song-hud-chip,.song-hud-combo{color:#5147c9;white-space:nowrap;background:#f0f1ff;border-radius:999px;padding:7px 10px;font-size:.78rem;font-weight:950}.song-hud-combo{text-align:center;color:#7f5a00;background:#fff4c9;min-width:54px;transition:transform .18s,box-shadow .18s}.song-hud-combo.hot{transform:scale(1.06);box-shadow:0 0 20px #ffbe3657}.song-hud-progress{background:#e8edf6;border-radius:999px;grid-column:1/-1;height:8px;overflow:hidden}.song-hud-progress-fill{border-radius:inherit;background:linear-gradient(90deg,#ff4b55,#ffad33,#f6dd3b,#40c85b,#26d4de);height:100%;transition:width 80ms linear}.song-game-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-bottom:8px;display:grid}.song-mode-tabs{min-width:210px}.song-play-controls{justify-content:center}.song-tempo-controls{justify-content:flex-end}.song-game-toolbar .control-button{min-height:40px;padding:9px 12px}.song-game-message{color:#59667f;text-align:center;justify-content:center;align-items:center;min-height:30px;padding:3px 10px 8px;font-size:.88rem;font-weight:800;display:flex}.rhythm-board{isolation:isolate;background:linear-gradient(#182240 0%,#222b4a 48%,#151c33 100%);border-radius:26px;height:clamp(360px,56vh,620px);position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14,0 18px 38px #202b4e29}.rhythm-board:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 50% 92%,#7b6cff38,#0000 34%),linear-gradient(#ffffff12,#0000 22%);position:absolute;inset:0}.rhythm-board.combo-mid{box-shadow:inset 0 0 0 1px #ffffff1a,0 0 28px #69d2ff2e,0 18px 38px #202b4e29}.rhythm-board.combo-high{box-shadow:inset 0 0 0 1px #ffffff1f,0 0 34px #ffd35b3d,0 18px 38px #202b4e29}.rhythm-lanes{z-index:1;grid-template-columns:repeat(5,1fr);display:grid;position:absolute;inset:0}.rhythm-lane{background:linear-gradient(180deg,var(--lane-color),transparent 30%);border-right:1px solid #ffffff14;min-width:0;position:relative}@supports (color:color-mix(in lab, red, red)){.rhythm-lane{background:linear-gradient(180deg,color-mix(in srgb,var(--lane-color) 10%,transparent),transparent 30%)}}.rhythm-lane{transition:background .12s,box-shadow .12s}.rhythm-lane:last-child{border-right:0}.rhythm-lane.hot{background:linear-gradient(180deg,var(--lane-color),var(--lane-color) 72%,transparent)}@supports (color:color-mix(in lab, red, red)){.rhythm-lane.hot{background:linear-gradient(180deg,color-mix(in srgb,var(--lane-color) 22%,transparent),color-mix(in srgb,var(--lane-color) 9%,transparent) 72%,transparent)}}.rhythm-lane.hot{box-shadow:inset 0 0 28px var(--lane-color)}@supports (color:color-mix(in lab, red, red)){.rhythm-lane.hot{box-shadow:inset 0 0 28px color-mix(in srgb,var(--lane-color) 24%,transparent)}}.rhythm-lane-label{z-index:3;color:#fff;text-shadow:0 2px 8px #00000061;white-space:nowrap;align-items:baseline;gap:5px;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.rhythm-lane-label strong{font-size:1rem}.rhythm-lane-label span{opacity:.68;font-size:.64rem;font-weight:800}.rhythm-hit-pad{aspect-ratio:1.35;background:var(--lane-color);border-radius:18px;place-items:center;width:min(62px,72%);display:grid;position:absolute;top:84%;left:50%;transform:translate(-50%,-50%)}@supports (color:color-mix(in lab, red, red)){.rhythm-hit-pad{background:color-mix(in srgb,var(--lane-color) 74%,white)}}.rhythm-hit-pad{box-shadow:0 0 0 4px #ffffff17,0 0 22px var(--lane-color);border:3px solid #ffffffdb}@supports (color:color-mix(in lab, red, red)){.rhythm-hit-pad{box-shadow:0 0 0 4px #ffffff17,0 0 22px color-mix(in srgb,var(--lane-color) 34%,transparent)}}.rhythm-hit-pad{color:#27314b;font-size:1rem;font-weight:1000;transition:transform .12s,filter .12s}.rhythm-lane.hot .rhythm-hit-pad{filter:brightness(1.15);transform:translate(-50%,-50%)scale(1.12)}.rhythm-notes{z-index:4;pointer-events:none;position:absolute;inset:0}.rhythm-note{box-sizing:border-box;place-items:center;width:20%;padding:0 6px;display:grid;position:absolute;transform:translateY(-50%)}.rhythm-note:before{content:"";background:var(--note-color);box-shadow:0 7px 18px #0000003d,0 0 16px var(--note-color);border:3px solid #ffffffe6;border-radius:16px;position:absolute;inset:2px 8px}@supports (color:color-mix(in lab, red, red)){.rhythm-note:before{box-shadow:0 7px 18px #0000003d,0 0 16px color-mix(in srgb,var(--note-color) 25%,transparent)}}.rhythm-note span{z-index:1;color:#27314b;background:#ffffffd1;border-radius:10px;place-items:center;min-width:28px;min-height:28px;font-size:.95rem;font-weight:1000;display:grid;position:relative}.rhythm-note.near:before{animation:.46s ease-in-out infinite alternate rhythm-note-near}.rhythm-note.passed{opacity:.68}.rhythm-hit-line{z-index:3;pointer-events:none;background:#ffffffeb;height:3px;animation:1.15s ease-in-out infinite alternate hit-line-pulse;position:absolute;left:0;right:0;transform:translateY(-50%);box-shadow:0 0 8px #ffffffdb,0 0 20px #78d2ff99}.rhythm-hit-line:before{content:"";background:linear-gradient(#0000,#ffffff14,#0000);position:absolute;inset:-12px 0}.rhythm-hit-line span{color:#ffffffc7;letter-spacing:.08em;background:#101830b8;border-radius:999px;padding:4px 8px;font-size:.6rem;font-weight:950;position:absolute;bottom:8px;right:8px}.rhythm-hit-line.active{height:5px;box-shadow:0 0 12px #fff,0 0 28px #7eddffeb}.rhythm-feedback{z-index:8;color:#3e3a72;letter-spacing:.035em;pointer-events:none;white-space:nowrap;background:#fffffff0;border-radius:999px;padding:9px 15px;font-size:clamp(.92rem,3vw,1.2rem);font-weight:1000;animation:.7s cubic-bezier(.2,.8,.2,1) both rhythm-feedback-pop;position:absolute;left:50%;transform:translate(-50%,-50%);box-shadow:0 8px 24px #0003}.rhythm-feedback.perfect{color:#785600;background:#fff2aa}.rhythm-feedback.great{color:#176374;background:#dff8ff}.rhythm-feedback.good{color:#2f7140;background:#e8f8e9}.rhythm-feedback.miss{color:#71758b;background:#f3f4fb}.rhythm-sparkles{letter-spacing:.18em;margin-left:7px}.game-keyboard{grid-template-columns:repeat(5,1fr);gap:7px;margin-top:10px;display:grid}.game-key{background:linear-gradient(180deg,var(--key-color),var(--key-color));border:0;border-radius:18px;min-width:0;min-height:82px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.game-key{background:linear-gradient(180deg,color-mix(in srgb,var(--key-color) 72%,white),color-mix(in srgb,var(--key-color) 88%,#d8e7ff))}}.game-key{box-shadow:0 7px 0 var(--key-color),0 10px 18px #1e284624}@supports (color:color-mix(in lab, red, red)){.game-key{box-shadow:0 7px 0 color-mix(in srgb,var(--key-color) 46%,#596171),0 10px 18px #1e284624}}.game-key{color:#27314b;cursor:pointer;touch-action:manipulation;transition:transform 80ms,box-shadow .1s,filter .1s}.game-key:active,.game-key.active{box-shadow:0 2px 0 var(--key-color),0 0 24px var(--key-color);transform:translateY(5px)scale(1.035)}@supports (color:color-mix(in lab, red, red)){.game-key:active,.game-key.active{box-shadow:0 2px 0 color-mix(in srgb,var(--key-color) 44%,#596171),0 0 24px color-mix(in srgb,var(--key-color) 48%,transparent)}}.game-key:active,.game-key.active{filter:brightness(1.08)}.game-key-note{z-index:2;font-size:1.45rem;font-weight:1000;line-height:1;display:block;position:relative}.game-key-name{z-index:2;opacity:.72;margin-top:5px;font-size:.66rem;font-weight:900;display:block;position:relative}.game-key-glow{opacity:0;background:radial-gradient(circle at 50% 62%,#ffffffeb,#0000 52%);transition:opacity .1s;position:absolute;inset:0}.game-key.active .game-key-glow,.game-key:active .game-key-glow{opacity:.65}@keyframes hit-line-pulse{0%{opacity:.72}to{opacity:1}}@keyframes rhythm-note-near{0%{filter:brightness();transform:scale(1)}to{filter:brightness(1.18);transform:scale(1.035)}}@keyframes rhythm-feedback-pop{0%{opacity:0;transform:translate(-50%,-20%)scale(.78)}38%{opacity:1;transform:translate(-50%,-50%)scale(1.12)}to{opacity:0;transform:translate(-50%,-70%)scale(1)}}@media (max-width:760px){.song-game-wrap{padding:4px 8px 14px}.song-game-topline{margin-bottom:4px}.song-game-topline .ghost-button{padding:7px 9px;font-size:.82rem}.song-game-panel{border-radius:22px;padding:10px}.song-hud{grid-template-columns:1fr;gap:6px;margin-bottom:8px}.song-hud-meta{justify-content:flex-end;max-width:58%;position:absolute;top:0;right:18px}.song-hud-chip{display:none}.song-hud-combo{padding:6px 9px}.song-game-toolbar{grid-template-columns:1fr auto;gap:6px}.song-mode-tabs{min-width:0}.song-play-controls{order:3;grid-column:1/-1;grid-template-columns:repeat(3,1fr);display:grid}.song-tempo-controls{justify-content:flex-end}.song-game-toolbar .control-button{min-height:36px;padding:7px 8px;font-size:.76rem}.song-game-message{min-height:24px;padding-bottom:5px;font-size:.76rem}.rhythm-board{border-radius:20px;height:clamp(350px,52dvh,520px)}.rhythm-lane-label span{display:none}.rhythm-hit-pad{border-radius:15px;width:min(52px,74%)}.rhythm-note{padding:0 2px}.rhythm-note:before{border-width:2px;border-radius:13px;inset:2px 4px}.game-keyboard{gap:4px;margin-top:7px}.game-key{min-height:68px;box-shadow:0 5px 0 var(--key-color),0 8px 13px #1e28461f;border-radius:14px}@supports (color:color-mix(in lab, red, red)){.game-key{box-shadow:0 5px 0 color-mix(in srgb,var(--key-color) 46%,#596171),0 8px 13px #1e28461f}}.game-key-note{font-size:1.25rem}.game-key-name{font-size:.58rem}}@media (max-width:420px){.rhythm-board{height:50dvh;min-height:330px}.rhythm-hit-line span{display:none}.rhythm-feedback{padding:8px 12px}.game-key-name{display:none}.game-key{min-height:62px}}.song-game-panel{position:relative}.rhythm-count-in{z-index:10;pointer-events:none;background:radial-gradient(circle,#141d382e,#0000 44%);place-items:center;display:grid;position:absolute;inset:0}.rhythm-count-in span{color:#4f48b8;background:#fffffff2;border-radius:32px;place-items:center;min-width:96px;min-height:96px;font-size:clamp(2.6rem,12vw,5rem);font-weight:1000;animation:.72s cubic-bezier(.2,.85,.2,1) both rhythm-count-pop;display:grid;box-shadow:0 16px 42px #00000047,0 0 30px #85d8ff4d}.rhythm-count-in.go span{color:#287743;background:#e9ffe9;min-width:150px;font-size:clamp(1.7rem,8vw,3.2rem)}.rhythm-combo-burst{z-index:7;color:#fff4a8;pointer-events:none;background:#111930b8;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;animation:.38s both combo-burst-pop;display:flex;position:absolute;top:48px;right:12px;box-shadow:0 0 18px #ffdc5c3d}.rhythm-combo-burst strong{font-size:.86rem}.rhythm-combo-burst span{font-size:.72rem}.rhythm-board.feedback-perfect .rhythm-hit-line{background:#fff4a8;box-shadow:0 0 16px #fff,0 0 38px #ffdd5efa}.rhythm-board.feedback-great .rhythm-hit-line{background:#ccf8ff;box-shadow:0 0 14px #fff,0 0 32px #4fddffe0}.rhythm-board.feedback-good .rhythm-hit-line{background:#ddffe4;box-shadow:0 0 12px #fff,0 0 26px #58d77eb8}.rhythm-feedback.perfect{animation:.78s cubic-bezier(.18,.9,.18,1) both rhythm-feedback-perfect;box-shadow:0 8px 24px #0000002e,0 0 30px #ffd6478c}.rhythm-feedback.great{animation:.72s cubic-bezier(.2,.82,.2,1) both rhythm-feedback-great;box-shadow:0 8px 22px #0000002b,0 0 24px #4cd5ff61}.rhythm-feedback.good{animation:.68s both rhythm-feedback-good}.song-summary-backdrop{z-index:30;border-radius:inherit;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#171d337a;place-items:center;padding:18px;display:grid;position:absolute;inset:0}.song-summary-card{text-align:center;background:#fffffff7;border-radius:28px;width:min(520px,100%);padding:clamp(20px,4vw,30px);animation:.42s cubic-bezier(.2,.85,.2,1) both summary-card-in;box-shadow:0 24px 60px #1218304d}.song-summary-stars{color:#e2ae28;letter-spacing:.22em;margin-bottom:3px;font-size:1.25rem}.song-summary-card h2{color:#39366a;margin:4px 0 7px;font-size:clamp(1.55rem,5vw,2.2rem)}.song-summary-card>p{color:#69728b;max-width:420px;margin:0 auto 16px;font-weight:700;line-height:1.4}.song-summary-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.song-summary-stats div{background:#f4f6fb;border-radius:16px;padding:11px 7px}.song-summary-stats strong{color:#403a83;font-size:1.05rem;display:block}.song-summary-stats span{color:#747d94;margin-top:2px;font-size:.68rem;font-weight:850;display:block}.song-summary-actions{grid-template-columns:1.25fr .75fr;gap:9px;margin-top:16px;display:grid}.song-summary-actions button{min-height:46px}@keyframes rhythm-count-pop{0%{opacity:0;transform:scale(.55)}30%{opacity:1;transform:scale(1.1)}to{opacity:.92;transform:scale(.96)}}@keyframes combo-burst-pop{0%{opacity:0;transform:scale(.7)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes rhythm-feedback-perfect{0%{opacity:0;transform:translate(-50%,-10%)scale(.65)rotate(-2deg)}38%{opacity:1;transform:translate(-50%,-50%)scale(1.2)rotate(1deg)}to{opacity:0;transform:translate(-50%,-82%)scale(1.05)}}@keyframes rhythm-feedback-great{0%{opacity:0;transform:translate(-50%,-18%)scale(.78)}42%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}to{opacity:0;transform:translate(-50%,-74%)scale(1)}}@keyframes rhythm-feedback-good{0%{opacity:0;transform:translate(-50%,-25%)scale(.88)}45%{opacity:1;transform:translate(-50%,-50%)scale(1.04)}to{opacity:0;transform:translate(-50%,-68%)scale(1)}}@keyframes summary-card-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:760px){.song-screen-shell .topbar{padding:7px 9px}.song-screen-shell .brand-mini img{width:94px}.song-screen-shell .sound-button{padding:7px 9px;font-size:.72rem}.song-game-wrap{padding:2px 6px 8px}.song-game-panel{padding:8px}.song-hud{margin-bottom:5px}.song-hud-kicker{font-size:.62rem}.song-hud h1{font-size:1.28rem}.song-game-toolbar{margin-bottom:4px}.song-game-toolbar .control-button{min-height:34px;padding:6px 7px}.song-game-message{min-height:21px;padding:1px 6px 4px;line-height:1.2}.song-tempo-controls{gap:4px}.haptics-toggle span{display:none}.rhythm-board{height:min(49dvh,460px);min-height:320px}.game-keyboard{margin-top:5px}.game-key{min-height:64px}.song-summary-backdrop{padding:10px}.song-summary-card{border-radius:22px;padding:18px 14px}.song-summary-stats{gap:5px}.song-summary-stats div{padding:9px 4px}.song-summary-actions{grid-template-columns:1fr}.song-summary-actions button{min-height:42px}}@media (max-width:420px){.rhythm-board{height:46dvh;min-height:290px}.game-key{min-height:58px}.song-summary-card>p{font-size:.82rem}.song-summary-stats span{font-size:.61rem}}.lesson-flow-wrap{max-width:980px}.lesson-flow-panel{padding:clamp(14px,3vw,28px);position:relative;overflow:hidden}.lesson-cutscene{background:linear-gradient(135deg,var(--lesson-color),#f7f8ff 62%,var(--lesson-color));border-radius:28px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(18px,4vw,34px);min-height:190px;margin-bottom:14px;padding:clamp(18px,4vw,30px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.lesson-cutscene{background:linear-gradient(135deg,color-mix(in srgb,var(--lesson-color) 24%,white),#f7f8ff 62%,color-mix(in srgb,var(--lesson-color) 12%,white))}}.lesson-cutscene{box-shadow:inset 0 0 0 1px var(--lesson-color)}@supports (color:color-mix(in lab, red, red)){.lesson-cutscene{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--lesson-color) 20%,transparent)}}.lesson-cutscene{isolation:isolate}.lesson-scene-glow{background:radial-gradient(circle,var(--lesson-color),transparent 68%);border-radius:50%;width:260px;height:260px;position:absolute;top:-55px;left:-65px}@supports (color:color-mix(in lab, red, red)){.lesson-scene-glow{background:radial-gradient(circle,color-mix(in srgb,var(--lesson-color) 44%,white),transparent 68%)}}.lesson-scene-glow{opacity:.76;filter:blur(2px);z-index:-1;animation:2.6s ease-in-out infinite alternate lesson-glow}.lesson-scene-notes span{z-index:0;color:var(--lesson-color);position:absolute}@supports (color:color-mix(in lab, red, red)){.lesson-scene-notes span{color:color-mix(in srgb,var(--lesson-color) 72%,#4d4a80)}}.lesson-scene-notes span{opacity:.36;font-weight:1000;animation:2.8s ease-in-out infinite lesson-float}.lesson-scene-notes span:first-child{font-size:1.6rem;top:16px;right:14%}.lesson-scene-notes span:nth-child(2){font-size:2.1rem;animation-delay:.42s;bottom:20px;right:31%}.lesson-scene-notes span:nth-child(3){font-size:1.1rem;animation-delay:.8s;top:52%;left:44%}.lesson-scene-cast{z-index:2;justify-content:center;align-items:center;min-width:126px;min-height:126px;display:flex;position:relative}.lesson-hero-avatar{width:118px;height:118px;box-shadow:0 18px 36px var(--lesson-color);border:6px solid #ffffffeb;border-radius:38px;font-size:2.55rem}@supports (color:color-mix(in lab, red, red)){.lesson-hero-avatar{box-shadow:0 18px 36px color-mix(in srgb,var(--lesson-color) 30%,transparent)}}.lesson-hero-avatar{animation:.7s cubic-bezier(.18,.9,.2,1) both lesson-hero-enter}.lesson-hero-avatar-second{margin-left:-34px;animation:.78s cubic-bezier(.18,.9,.2,1) both lesson-hero-enter-second;transform:translateY(14px)rotate(6deg)}.lesson-scene-copy{z-index:2;min-width:0;position:relative}.lesson-scene-kicker{color:#756e9d;letter-spacing:.13em;margin-bottom:5px;font-size:.7rem;font-weight:950;display:block}.lesson-scene-copy strong{color:#36325f;font-size:clamp(1.45rem,4vw,2.35rem);line-height:1.05;display:block}.lesson-scene-copy small{color:#69728b;max-width:560px;margin-top:8px;font-size:.92rem;font-weight:750;line-height:1.4;display:block}.lesson-flow-panel.stage-listen .lesson-cutscene{box-shadow:inset 0 0 0 2px var(--lesson-color),0 0 28px var(--lesson-color)}@supports (color:color-mix(in lab, red, red)){.lesson-flow-panel.stage-listen .lesson-cutscene{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--lesson-color) 34%,transparent),0 0 28px color-mix(in srgb,var(--lesson-color) 12%,transparent)}}.lesson-flow-panel.stage-listen .lesson-hero-avatar{animation:.7s ease-in-out infinite alternate lesson-listen-bob}.lesson-flow-panel.stage-transition .lesson-cutscene{animation:.72s both lesson-transition-flash}.lesson-flow-panel.stage-try .lesson-cutscene{min-height:150px}.lesson-flow-panel.stage-complete .lesson-cutscene{background:linear-gradient(135deg,#fff4bc,#f4fff6 48%,#e9f8ff);box-shadow:0 14px 38px #465e731f}.lesson-flow-panel.stage-complete .lesson-hero-avatar{animation:.65s ease-in-out infinite alternate lesson-celebrate}.lesson-flow-stages{grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px;display:grid}.lesson-flow-stages .stage-pill{text-align:center;padding:7px 8px;font-size:.76rem;transition:transform .2s,background .2s}.lesson-flow-stages .stage-pill.active{transform:translateY(-2px);box-shadow:0 6px 14px #5f55d833}.keyboard.watching .piano-key.waiting{opacity:.72;cursor:default;filter:saturate(.72)}.keyboard.ready{box-shadow:inset 0 0 0 1px #50789614,0 0 30px #57beeb1f}.piano-key.expected:not(.active){box-shadow:0 8px 0 #d9e1e7,0 0 0 4px var(--lesson-color,#5f55d8),0 0 24px #5f55d838;animation:.82s ease-in-out infinite alternate lesson-expected-key}@supports (color:color-mix(in lab, red, red)){.piano-key.expected:not(.active){box-shadow:0 8px 0 #d9e1e7,0 0 0 4px color-mix(in srgb,var(--lesson-color,#5f55d8) 16%,transparent),0 0 24px #5f55d838}}.lesson-flow-feedback{background:linear-gradient(135deg,#eef8ff,#f7f6ff);min-height:48px}.lesson-flow-feedback.is-playing{background:linear-gradient(135deg,#eefcf2,#eef8ff)}.lesson-flow-actions{grid-template-columns:minmax(0,1fr) auto auto;display:grid}.lesson-replay{opacity:.82;font-size:.82rem}.lesson-confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lesson-confetti i{background:var(--lesson-color);border-radius:3px;width:9px;height:18px;animation:2.2s ease-in infinite lesson-confetti;position:absolute;top:-16px}.lesson-confetti i:first-child{animation-delay:.1s;left:8%}.lesson-confetti i:nth-child(2){background:#ffb63e;animation-delay:.55s;left:21%}.lesson-confetti i:nth-child(3){background:#4ed481;animation-delay:.25s;left:34%}.lesson-confetti i:nth-child(4){background:#58cde8;animation-delay:.8s;left:48%}.lesson-confetti i:nth-child(5){background:#ff7484;animation-delay:.35s;left:61%}.lesson-confetti i:nth-child(6){background:#8d79ff;animation-delay:.68s;left:73%}.lesson-confetti i:nth-child(7){background:#f5dc43;animation-delay:.18s;left:86%}.lesson-confetti i:nth-child(8){background:#64d9c8;animation-delay:.95s;left:95%}@keyframes lesson-hero-enter{0%{opacity:0;transform:translate(-46px)rotate(-10deg)scale(.72)}72%{opacity:1;transform:translate(5px)rotate(2deg)scale(1.06)}to{opacity:1;transform:none}}@keyframes lesson-hero-enter-second{0%{opacity:0;transform:translate(42px,20px)rotate(14deg)scale(.72)}to{opacity:1;transform:translateY(14px)rotate(6deg)scale(1)}}@keyframes lesson-listen-bob{0%{transform:translateY(0)rotate(-2deg)}to{transform:translateY(-8px)rotate(2deg)}}@keyframes lesson-glow{0%{opacity:.55;transform:scale(.92)}to{opacity:.85;transform:scale(1.08)}}@keyframes lesson-float{0%,to{transform:translateY(0)rotate(-8deg)}50%{transform:translateY(-10px)rotate(8deg)}}@keyframes lesson-transition-flash{0%{filter:brightness();transform:scale(.985)}45%{filter:brightness(1.08);transform:scale(1.012)}to{filter:brightness();transform:scale(1)}}@keyframes lesson-celebrate{0%{transform:translateY(0)rotate(-3deg)scale(1)}to{transform:translateY(-8px)rotate(3deg)scale(1.045)}}@keyframes lesson-expected-key{0%{filter:brightness();transform:translateY(0)}to{filter:brightness(1.08);transform:translateY(-3px)}}@keyframes lesson-confetti{0%{opacity:0;transform:translateY(-20px)rotate(0)}12%{opacity:1}to{opacity:0;transform:translateY(240px)rotate(330deg)}}@media (max-width:700px){.lesson-screen-shell .topbar{padding:8px 10px}.lesson-screen-shell .brand-mini img{width:98px}.lesson-flow-wrap{padding:4px 8px 20px}.lesson-flow-panel{border-radius:22px;padding:9px;margin-top:7px!important}.lesson-cutscene{border-radius:20px;grid-template-columns:92px 1fr;gap:12px;min-height:142px;padding:14px}.lesson-scene-cast{min-width:88px;min-height:88px}.lesson-hero-avatar{border-width:4px;border-radius:27px;width:84px;height:84px;font-size:1.8rem}.lesson-hero-avatar-second{margin-left:-29px}.lesson-scene-kicker{font-size:.58rem}.lesson-scene-copy strong{font-size:1.25rem}.lesson-scene-copy small{margin-top:5px;font-size:.72rem;line-height:1.3}.lesson-flow-panel .narrator{margin-bottom:10px;padding:9px 11px}.lesson-flow-panel .narrator p{font-size:.78rem;line-height:1.28}.lesson-flow-stages{gap:4px;margin-bottom:9px}.lesson-flow-stages .stage-pill{padding:6px 4px;font-size:.64rem}.lesson-flow-panel .keyboard{border-radius:20px;min-height:142px;padding:8px}.lesson-flow-panel .piano-key{min-height:116px}.lesson-flow-actions{grid-template-columns:1fr auto;gap:7px;margin-top:10px}.lesson-flow-feedback{grid-column:1/-1;min-height:42px;font-size:.76rem}.lesson-replay{padding:7px 9px}.lesson-flow-actions .primary-button,.lesson-flow-actions .secondary-button{min-height:40px;padding:8px 12px}}@media (max-width:420px){.lesson-cutscene{grid-template-columns:76px 1fr;min-height:124px}.lesson-scene-cast{min-width:72px;min-height:72px}.lesson-hero-avatar{border-radius:23px;width:70px;height:70px;font-size:1.45rem}.lesson-scene-copy small{display:none}.lesson-flow-stages .stage-pill{font-size:.58rem}.lesson-flow-panel .keyboard{min-height:132px}.lesson-flow-panel .piano-key{min-height:108px}}.rhythm-board-shell{position:relative}.song-center-control{z-index:18;color:#39366a;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);cursor:pointer;touch-action:manipulation;background:#fffffff0;border:2px solid #ffffffd1;border-radius:26px;justify-items:center;gap:5px;min-width:min(330px,76%);padding:18px 24px;animation:.28s both song-center-control-in;display:grid;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%);box-shadow:0 18px 46px #070c2257,0 0 32px #70cdff3d}.song-center-control:hover{transform:translate(-50%,-50%)scale(1.025)}.song-center-control:active{transform:translate(-50%,-50%)scale(.985)}.song-center-control-icon{color:#fff;background:linear-gradient(135deg,#5f55d8,#4aaee8);border-radius:18px;place-items:center;width:54px;height:54px;font-size:1.35rem;display:grid;box-shadow:0 8px 20px #4d50b842}.song-center-control strong{font-size:clamp(1.15rem,3vw,1.55rem)}.song-center-control small{color:#69728b;font-weight:800}.song-center-control kbd,.song-space-hint kbd,.game-key-binding{font:inherit;font-weight:1000}.song-center-control kbd,.song-space-hint kbd{color:#474270;background:#fff;border:1px solid #ccd2e3;border-bottom-width:3px;border-radius:7px;padding:2px 6px;box-shadow:0 1px #0000000a}.song-space-hint{color:#747d94;white-space:nowrap;align-items:center;gap:5px;font-size:.7rem;font-weight:850;display:flex}.game-key-binding{z-index:3;color:#3f4660;background:#ffffffd1;border:1px solid #363d542e;border-bottom-width:3px;border-radius:7px;place-items:center;min-width:25px;height:25px;font-size:.68rem;line-height:1;display:grid;position:absolute;top:7px;right:7px;box-shadow:0 2px 5px #1e284614}@keyframes song-center-control-in{0%{opacity:0;transform:translate(-50%,-44%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (max-width:760px){.song-space-hint{display:none}.song-center-control{border-radius:22px;min-width:min(290px,80%);padding:14px 18px}.song-center-control-icon{border-radius:15px;width:46px;height:46px}.song-center-control small{font-size:.7rem}.game-key-binding{min-width:22px;height:22px;font-size:.62rem;top:5px;right:5px}}.brand-mini{min-height:auto;box-shadow:none;background:0 0;border-radius:0;padding:0}.brand-mini:hover{box-shadow:none}.brand-logo{object-fit:contain;width:auto;height:auto;display:block}.brand-mini .brand-logo-topbar{width:clamp(178px,19vw,232px);max-height:72px}.hero-brand{margin:0 0 12px}.brand-logo-hero{width:clamp(260px,35vw,430px);max-width:100%;max-height:150px}.avatar.character-avatar{isolation:isolate;position:relative;overflow:hidden}.character-avatar-fallback{z-index:1;transition:opacity .18s;position:relative}.character-avatar-image{z-index:2;object-fit:contain;opacity:0;padding:3px;transition:opacity .18s}.character-avatar[data-avatar-loaded=true] .character-avatar-image{opacity:1}.character-avatar[data-avatar-loaded=true] .character-avatar-fallback{opacity:0}.game-keyboard{grid-template-columns:repeat(var(--game-key-count,5),minmax(0,1fr))}.game-key{grid-template-rows:auto auto auto;align-content:center;place-items:center;min-height:118px;padding:8px 5px 7px;display:grid}.game-key-avatar{border-width:2px;border-radius:17px;width:54px;height:54px;margin-bottom:-2px;box-shadow:0 5px 14px #1e284624}.game-key-note{background:#ffffffc7;border-radius:999px;margin-top:-2px;padding:2px 7px 3px;font-size:1.32rem;box-shadow:0 2px 8px #1e284614}.game-key-name{margin-top:3px;font-size:.63rem}.game-key.black-key{background:linear-gradient(180deg,var(--key-color),var(--key-color))}@supports (color:color-mix(in lab, red, red)){.game-key.black-key{background:linear-gradient(180deg,color-mix(in srgb,var(--key-color) 68%,#283043),color-mix(in srgb,var(--key-color) 82%,#151a25))}}.game-key.black-key{color:#fff}.game-key.black-key .game-key-note{color:#27314b;background:#ffffffe6}@media (max-width:760px){.topbar{padding:10px 12px}.brand-mini .brand-logo-topbar,.song-screen-shell .brand-mini .brand-logo-topbar,.lesson-screen-shell .brand-mini .brand-logo-topbar{width:clamp(142px,34vw,190px);max-height:56px}.hero-brand{margin-bottom:8px}.brand-logo-hero{width:min(72vw,330px);max-height:112px}.game-key{min-height:88px;padding:5px 3px 4px}.game-key-avatar{border-radius:13px;width:39px;height:39px}.game-key-note{padding:1px 5px 2px;font-size:1.08rem}.game-key-name{font-size:.55rem}}@media (max-width:420px){.brand-mini .brand-logo-topbar,.song-screen-shell .brand-mini .brand-logo-topbar,.lesson-screen-shell .brand-mini .brand-logo-topbar{width:138px;max-height:50px}.brand-logo-hero{width:min(76vw,286px)}.game-key{min-height:78px}.game-key-avatar{border-radius:11px;width:34px;height:34px}.game-key-note{font-size:1rem}.game-key-name{display:none}}.song-screen-shell .game-keyboard{--song-key-height:156px;--song-art-height:112px;grid-template-columns:repeat(var(--game-key-count,5),minmax(0,1fr));gap:10px;width:100%;margin-top:10px;padding:2px 1px 9px;display:grid}.song-screen-shell .game-keyboard.density-balanced{--song-key-height:132px;--song-art-height:91px;gap:7px}.song-screen-shell .game-keyboard.density-compact{--song-key-height:112px;--song-art-height:74px;gap:5px}.song-screen-shell .game-key{min-width:0;min-height:0;height:var(--song-key-height);background:linear-gradient(180deg, #fffffffa 0 59%, var(--key-color) 59% 100%);border:0;border-radius:22px;padding:0;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key{background:linear-gradient(180deg, #fffffffa 0 59%, color-mix(in srgb,var(--key-color) 68%,white) 59% 100%)}}.song-screen-shell .game-key{color:#24264f;box-shadow:0 7px 0 var(--key-color), 0 13px 24px #1e284621}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key{box-shadow:0 7px 0 color-mix(in srgb,var(--key-color) 34%,#8b92a4), 0 13px 24px #1e284621}}.song-screen-shell .game-key{cursor:pointer;touch-action:manipulation;transition:transform 90ms,box-shadow .11s,filter .11s}.song-screen-shell .game-key.black-key{background:linear-gradient(180deg, var(--key-color) 0 59%, var(--key-color) 59% 100%)}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key.black-key{background:linear-gradient(180deg, color-mix(in srgb,var(--key-color) 8%,#f7f8fc) 0 59%, color-mix(in srgb,var(--key-color) 78%,#505767) 59% 100%)}}.song-screen-shell .game-key.black-key{box-shadow:0 7px 0 var(--key-color), 0 13px 24px #1e284624}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key.black-key{box-shadow:0 7px 0 color-mix(in srgb,var(--key-color) 42%,#656c7c), 0 13px 24px #1e284624}}.song-screen-shell .game-key:active,.song-screen-shell .game-key.active{box-shadow:0 2px 0 var(--key-color), 0 4px 14px #1e28461f, 0 0 22px var(--key-color);transform:translateY(5px)scale(1.018)}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key:active,.song-screen-shell .game-key.active{box-shadow:0 2px 0 color-mix(in srgb,var(--key-color) 42%,#6c7484), 0 4px 14px #1e28461f, 0 0 22px color-mix(in srgb,var(--key-color) 36%,transparent)}}.song-screen-shell .game-key:active,.song-screen-shell .game-key.active{filter:brightness(1.045)}.song-screen-shell .game-key-character{z-index:2;height:var(--song-art-height);pointer-events:none;place-items:end center;display:grid;position:absolute;top:5px;left:6px;right:6px}.song-character-art{place-items:end center;width:100%;height:100%;display:grid}.song-character-art img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 7px 7px #1f284a29);-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:transform .12s,filter .12s}.song-character-art-fallback{background:var(--key-color);color:#fff;border-radius:20px;place-items:center;width:64px;height:64px;margin:auto;font-size:1.35rem;font-weight:1000;display:grid}.song-screen-shell .game-key.active .song-character-art img,.song-screen-shell .game-key:active .song-character-art img{filter:drop-shadow(0 9px 10px #1f284a33)brightness(1.03);transform:scale(1.065)translateY(-2px)}.song-screen-shell .game-key-note{z-index:4;box-shadow:none;color:#222653;background:0 0;border-radius:0;margin:0;padding:0;font-size:1.52rem;font-weight:1000;line-height:1;display:block;position:absolute;bottom:10px;left:12px}.song-screen-shell .game-key-name{z-index:4;color:#2f3559;text-overflow:ellipsis;white-space:nowrap;opacity:.82;max-width:52%;margin:0;font-size:.64rem;font-weight:950;line-height:1;display:block;position:absolute;bottom:11px;right:11px;overflow:hidden}.song-screen-shell .game-key.black-key .game-key-note,.song-screen-shell .game-key.black-key .game-key-name{color:#fff;text-shadow:0 1px 4px #00000040}.song-screen-shell .game-key-binding{z-index:6;background:#fffffff0;border-radius:8px;min-width:27px;height:27px;top:7px;right:7px}.song-screen-shell .density-balanced .game-key-note{font-size:1.25rem;bottom:9px;left:9px}.song-screen-shell .density-balanced .game-key-name{font-size:.56rem;bottom:10px;right:8px}.song-screen-shell .density-compact .game-key{border-radius:17px}.song-screen-shell .density-compact .game-key-note{font-size:1.06rem;bottom:8px;left:7px}.song-screen-shell .density-compact .game-key-name{font-size:.48rem;bottom:9px;right:6px}.song-screen-shell .density-compact .game-key-binding{border-radius:6px;min-width:22px;height:22px;font-size:.58rem;top:5px;right:5px}@media (max-width:760px){.song-screen-shell .game-keyboard{--song-key-height:108px;--song-art-height:75px;gap:5px;margin-top:6px}.song-screen-shell .game-key{border-radius:16px}.song-screen-shell .game-key-note{font-size:1.05rem;bottom:7px;left:7px}.song-screen-shell .game-key-name{font-size:.49rem;bottom:8px;right:6px}.song-screen-shell .game-key-binding{min-width:21px;height:21px;font-size:.57rem;top:4px;right:4px}.song-screen-shell .game-keyboard.density-balanced,.song-screen-shell .game-keyboard.density-compact{grid-template-columns:repeat(var(--game-key-count),minmax(58px,1fr));overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:10px;overflow-x:auto}.song-screen-shell .game-keyboard.density-balanced{--song-key-height:100px;--song-art-height:68px}.song-screen-shell .game-keyboard.density-compact{--song-key-height:94px;--song-art-height:63px}.song-screen-shell .density-compact .game-key-name{display:none}}@media (max-width:420px){.song-screen-shell .game-keyboard.density-roomy{--song-key-height:100px;--song-art-height:69px;gap:4px}.song-screen-shell .density-roomy .game-key-name{display:none}.song-screen-shell .density-roomy .game-key-note{font-size:.98rem;bottom:7px;left:6px}}.lesson-flow-panel.stage-intro{box-shadow:none;background:0 0;padding:0;overflow:hidden}.lesson-flow-panel.stage-intro .lesson-flow-stages,.lesson-flow-panel.stage-intro .keyboard,.lesson-flow-panel.stage-intro .melody-keyboard-shell,.lesson-flow-panel.stage-intro .lesson-flow-actions{display:none}.lesson-dialogue-scene{--dialogue-color:#5f55d8;background:radial-gradient(circle at 82% 17%,#fffc,transparent 23%), linear-gradient(145deg,var(--dialogue-color),#ffffffeb);border:1px solid #ffffffc7;border-radius:30px;grid-template-columns:minmax(230px,.92fr) minmax(300px,1.08fr);align-items:end;gap:clamp(14px,3vw,34px);min-height:clamp(300px,42vw,430px);padding:clamp(18px,4vw,34px);display:grid;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-scene{background:radial-gradient(circle at 82% 17%,#fffc,transparent 23%), linear-gradient(145deg,color-mix(in srgb,var(--dialogue-color) 13%,#eef6ff),#ffffffeb)}}.lesson-dialogue-scene{animation:.38s both lesson-dialogue-enter;box-shadow:0 24px 55px #27305429}.lesson-dialogue-bg{pointer-events:none;opacity:.19;position:absolute;inset:0}.lesson-dialogue-bg span{color:var(--dialogue-color);filter:blur(.2px);font-weight:1000;position:absolute}.lesson-dialogue-bg span:first-child{font-size:3.4rem;top:12%;left:6%;transform:rotate(-12deg)}.lesson-dialogue-bg span:nth-child(2){font-size:4.2rem;top:9%;right:5%;transform:rotate(11deg)}.lesson-dialogue-bg span:nth-child(3){font-size:2.5rem;bottom:8%;right:31%;transform:rotate(-6deg)}.lesson-dialogue-cast{z-index:2;justify-content:center;align-items:flex-end;min-height:clamp(260px,36vw,360px);display:flex;position:relative}.lesson-dialogue-portrait{filter:drop-shadow(0 18px 18px #222a4c2e);justify-content:center;align-items:flex-end;width:min(300px,100%);height:clamp(250px,35vw,360px);animation:.46s cubic-bezier(.2,.85,.2,1) both lesson-dialogue-portrait-in;display:flex;position:relative}.lesson-dialogue-portrait img{object-fit:contain;object-position:center bottom;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.lesson-dialogue-cast.duet .lesson-dialogue-portrait{width:min(220px,58%)}.lesson-dialogue-cast.duet .lesson-dialogue-portrait.secondary{margin-left:-42px;animation-delay:80ms}.lesson-dialogue-fallback{background:var(--dialogue-color);color:#fff;border-radius:38px;place-items:center;width:150px;height:150px;font-size:3rem;font-weight:1000;display:grid}.lesson-dialogue-bubble{z-index:3;background:#fffffff5;border:2px solid #ffffffe6;border-radius:28px;align-self:center;min-height:190px;padding:20px 22px 22px;animation:.36s .12s both lesson-dialogue-bubble-in;position:relative;box-shadow:0 20px 42px #222b4e26}.lesson-dialogue-bubble:before{content:"";background:#fff;border-bottom:2px solid #ffffffe6;border-left:2px solid #ffffffe6;border-radius:0 0 0 8px;width:42px;height:42px;position:absolute;top:52%;left:-22px;transform:translateY(-50%)rotate(45deg)}.lesson-dialogue-speaker{z-index:2;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex;position:relative}.lesson-dialogue-speaker>span{background:var(--dialogue-color);border-radius:999px;padding:6px 9px}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-speaker>span{background:color-mix(in srgb,var(--dialogue-color) 16%,white)}}.lesson-dialogue-speaker>span{color:var(--dialogue-color)}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-speaker>span{color:color-mix(in srgb,var(--dialogue-color) 68%,#29324c)}}.lesson-dialogue-speaker>span{letter-spacing:.1em;font-size:.63rem;font-weight:1000}.lesson-dialogue-speaker strong{color:#303653;font-size:1.08rem}.lesson-dialogue-speaker i{background:var(--dialogue-color);color:#fff;min-width:34px;height:34px;box-shadow:0 7px 16px var(--dialogue-color);border-radius:11px;place-items:center;margin-left:auto;padding:0 8px;font-style:normal;font-weight:1000;display:grid}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-speaker i{box-shadow:0 7px 16px color-mix(in srgb,var(--dialogue-color) 28%,transparent)}}.lesson-dialogue-bubble p{z-index:2;color:#39415f;min-height:104px;margin:0;font-size:clamp(1.02rem,2vw,1.25rem);font-weight:780;line-height:1.55;position:relative}.lesson-dialogue-cursor{color:var(--dialogue-color);margin-left:2px;animation:.75s step-end infinite lesson-dialogue-cursor;display:inline-block}@keyframes lesson-dialogue-enter{0%{opacity:0;transform:translateY(10px)scale(.985)}to{opacity:1;transform:none}}@keyframes lesson-dialogue-portrait-in{0%{opacity:0;transform:translateY(24px)scale(.9)}72%{opacity:1;transform:translateY(-4px)scale(1.025)}to{opacity:1;transform:none}}@keyframes lesson-dialogue-bubble-in{0%{opacity:0;transform:translate(18px)scale(.98)}to{opacity:1;transform:none}}@keyframes lesson-dialogue-cursor{50%{opacity:0}}@media (max-width:760px){.lesson-flow-panel.stage-intro{margin-top:7px!important}.lesson-dialogue-scene{border-radius:22px;grid-template-rows:205px auto;grid-template-columns:1fr;gap:0;min-height:420px;padding:12px}.lesson-dialogue-cast{min-height:205px}.lesson-dialogue-portrait{width:min(220px,68vw);height:230px}.lesson-dialogue-cast.duet .lesson-dialogue-portrait{width:min(175px,50vw)}.lesson-dialogue-cast.duet .lesson-dialogue-portrait.secondary{margin-left:-34px}.lesson-dialogue-bubble{border-radius:22px;align-self:stretch;min-height:178px;padding:16px 17px 18px}.lesson-dialogue-bubble:before{width:31px;height:31px;top:-15px;left:38px;transform:rotate(45deg)}.lesson-dialogue-bubble p{min-height:88px;font-size:.96rem;line-height:1.45}.lesson-dialogue-speaker{margin-bottom:9px}}@media (max-width:420px){.lesson-dialogue-scene{grid-template-rows:184px auto;min-height:390px}.lesson-dialogue-cast{min-height:184px}.lesson-dialogue-portrait{width:min(198px,65vw);height:205px}.lesson-dialogue-speaker>span{display:none}.lesson-dialogue-speaker strong{font-size:.98rem}.lesson-dialogue-speaker i{border-radius:9px;min-width:30px;height:30px}}.rhythm-note{padding:0 7px}.rhythm-note:before{display:none}.rhythm-note .rhythm-note-surface{z-index:1;background:linear-gradient(180deg,#ffffff61,transparent 24%), linear-gradient(180deg, var(--note-color) 0%, var(--note-color) 58%, var(--note-color) 100%);border:3px solid #ffffffeb;border-radius:18px;width:100%;min-width:0;height:100%;min-height:0;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.rhythm-note .rhythm-note-surface{background:linear-gradient(180deg,#ffffff61,transparent 24%), linear-gradient(180deg, color-mix(in srgb,var(--note-color) 68%,white) 0%, var(--note-color) 58%, color-mix(in srgb,var(--note-color) 76%,#303852) 100%)}}.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffbd, inset 0 -7px 0 #141c361f, 0 7px 0 var(--note-color), 0 12px 22px #040a1c47, 0 0 18px var(--note-color)}@supports (color:color-mix(in lab, red, red)){.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffbd, inset 0 -7px 0 #141c361f, 0 7px 0 color-mix(in srgb,var(--note-color) 58%,#4c566d), 0 12px 22px #040a1c47, 0 0 18px color-mix(in srgb,var(--note-color) 32%,transparent)}}.rhythm-note .rhythm-note-surface{transform:translateY(-3px)}.rhythm-note .rhythm-note-surface:after{content:"";pointer-events:none;border-radius:13px;position:absolute;inset:2px;box-shadow:inset 0 0 0 1px #ffffff29}.rhythm-note .rhythm-note-shine{opacity:.72;background:linear-gradient(90deg,#ffffffb3,#ffffff14);border-radius:999px;height:22%;max-height:12px;position:absolute;top:7%;left:9%;right:28%;transform:skew(-16deg)}.rhythm-note .rhythm-note-badge{z-index:2;aspect-ratio:1;color:#27314b;background:#ffffffe6;border:2px solid #fffffff5;border-radius:12px;place-items:center;width:clamp(29px,38%,40px);min-width:0;min-height:0;font-size:clamp(.82rem,2vw,1.05rem);font-weight:1000;line-height:1;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #191f3a33}.rhythm-note .rhythm-note-music{z-index:1;color:#ffffff7a;text-shadow:0 2px 5px #191f3a2e;background:0 0;border:0;border-radius:0;min-width:0;min-height:0;font-size:clamp(1rem,2.4vw,1.45rem);font-weight:1000;line-height:1;display:block;position:absolute;top:4px;right:8px}.rhythm-note.near .rhythm-note-surface{animation:.38s ease-in-out infinite alternate rhythm-note-gem-near}.rhythm-note.passed .rhythm-note-surface{filter:saturate(.72);opacity:.62}.rhythm-feedback{z-index:14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.045em;text-align:center;background:#fffffff0;border:2px solid #ffffffeb;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-width:min(250px,70%);padding:14px 24px 13px;font-size:clamp(1.15rem,4vw,1.75rem);line-height:1;display:flex;top:50%;left:50%;box-shadow:0 18px 42px #050c1f47,0 0 30px #7fd3ff2e}.rhythm-feedback-label{font-weight:1000;display:block}.rhythm-feedback.perfect{color:#725300;background:#fff7b8f5;animation:.82s cubic-bezier(.18,.9,.18,1) both rhythm-feedback-center-perfect;box-shadow:0 18px 42px #050c1f40,0 0 38px #ffd6478a}.rhythm-feedback.great{color:#176374;background:#def9fff5;animation:.78s cubic-bezier(.2,.84,.2,1) both rhythm-feedback-center-great;box-shadow:0 18px 40px #050c1f3b,0 0 32px #4cd5ff66}.rhythm-feedback.good{color:#2f7140;background:#e8faeaf5;animation:.74s both rhythm-feedback-center-good}.rhythm-feedback.miss{color:#646b82;background:#f6f7fcf2;animation:.68s both rhythm-feedback-center-miss;box-shadow:0 16px 34px #050c1f33}.rhythm-sparkles{letter-spacing:.24em;margin:2px 0 0;font-size:.72em}@keyframes rhythm-note-gem-near{0%{filter:brightness();box-shadow:inset 0 1px 0 #ffffffbd, inset 0 -7px 0 #141c361f, 0 7px 0 color-mix(in srgb,var(--note-color) 58%,#4c566d), 0 12px 22px #040a1c47, 0 0 18px color-mix(in srgb,var(--note-color) 32%,transparent);transform:translateY(-3px)scale(1)}to{filter:brightness(1.13);box-shadow:inset 0 1px 0 #ffffffd9, inset 0 -7px 0 #141c361a, 0 7px 0 color-mix(in srgb,var(--note-color) 58%,#4c566d), 0 14px 26px #040a1c4d, 0 0 28px color-mix(in srgb,var(--note-color) 50%,transparent);transform:translateY(-4px)scale(1.035)}}@keyframes rhythm-feedback-center-perfect{0%{opacity:0;transform:translate(-50%,-50%)scale(.66)}34%{opacity:1;transform:translate(-50%,-50%)scale(1.16)}62%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.96)}}@keyframes rhythm-feedback-center-great{0%{opacity:0;transform:translate(-50%,-50%)scale(.78)}38%{opacity:1;transform:translate(-50%,-50%)scale(1.1)}68%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.97)}}@keyframes rhythm-feedback-center-good{0%{opacity:0;transform:translate(-50%,-50%)scale(.86)}40%{opacity:1;transform:translate(-50%,-50%)scale(1.05)}72%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.98)}}@keyframes rhythm-feedback-center-miss{0%{opacity:0;transform:translate(-50%,-50%)scale(.9)}34%{opacity:1;transform:translate(-50%,-50%)scale(1.03)}70%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:0;transform:translate(-50%,-50%)scale(.98)}}@media (max-width:760px){.rhythm-note{padding:0 3px}.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffb3, inset 0 -5px 0 #141c361c, 0 5px 0 var(--note-color), 0 9px 16px #040a1c3d, 0 0 13px var(--note-color);border-width:2px;border-radius:14px}@supports (color:color-mix(in lab, red, red)){.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffb3, inset 0 -5px 0 #141c361c, 0 5px 0 color-mix(in srgb,var(--note-color) 58%,#4c566d), 0 9px 16px #040a1c3d, 0 0 13px color-mix(in srgb,var(--note-color) 28%,transparent)}}.rhythm-note .rhythm-note-badge{border-radius:10px;width:clamp(25px,42%,34px);font-size:.82rem}.rhythm-note .rhythm-note-music{font-size:1rem;top:3px;right:5px}.rhythm-feedback{border-radius:19px;min-width:min(220px,76%);padding:12px 18px 11px;font-size:clamp(1.05rem,5vw,1.48rem)}}.rhythm-board{contain:layout paint;isolation:isolate}.rhythm-note{contain:paint}.rhythm-note.is-visible{will-change:transform;backface-visibility:hidden}.rhythm-note.is-visible .rhythm-note-surface{backface-visibility:hidden}.song-screen-shell .game-key{contain:paint}.song-character-art img{backface-visibility:hidden}@keyframes rhythm-note-mobile-near{0%{transform:translateY(-3px)scale(1)}to{transform:translateY(-4px)scale(1.025)}}@media (hover:none) and (pointer:coarse){.song-center-control,.rhythm-feedback,.song-summary-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}.rhythm-lane.hot{box-shadow:none}.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffad, inset 0 -4px 0 #141c361a, 0 4px 0 var(--note-color), 0 7px 12px #040a1c33}@supports (color:color-mix(in lab, red, red)){.rhythm-note .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffad, inset 0 -4px 0 #141c361a, 0 4px 0 color-mix(in srgb,var(--note-color) 54%,#4c566d), 0 7px 12px #040a1c33}}.rhythm-note.near .rhythm-note-surface{filter:none;box-shadow:inset 0 1px 0 #ffffffbd, inset 0 -4px 0 #141c3617, 0 4px 0 var(--note-color), 0 8px 13px #040a1c36, 0 0 10px var(--note-color);animation:.34s ease-in-out infinite alternate rhythm-note-mobile-near}@supports (color:color-mix(in lab, red, red)){.rhythm-note.near .rhythm-note-surface{box-shadow:inset 0 1px 0 #ffffffbd, inset 0 -4px 0 #141c3617, 0 4px 0 color-mix(in srgb,var(--note-color) 54%,#4c566d), 0 8px 13px #040a1c36, 0 0 10px color-mix(in srgb,var(--note-color) 26%,transparent)}}.rhythm-feedback,.rhythm-feedback.perfect,.rhythm-feedback.great,.rhythm-feedback.good,.rhythm-feedback.miss{box-shadow:0 10px 24px #050c1f33}.song-character-art img{filter:none}.song-screen-shell .game-key,.song-screen-shell .game-key.black-key{box-shadow:0 5px 0 var(--key-color), 0 8px 13px #1e28461c}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key,.song-screen-shell .game-key.black-key{box-shadow:0 5px 0 color-mix(in srgb,var(--key-color) 34%,#777f91), 0 8px 13px #1e28461c}}.song-screen-shell .game-key:active,.song-screen-shell .game-key.active{box-shadow:0 2px 0 var(--key-color), 0 4px 9px #1e28461a}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .game-key:active,.song-screen-shell .game-key.active{box-shadow:0 2px 0 color-mix(in srgb,var(--key-color) 40%,#6c7484), 0 4px 9px #1e28461a}}.song-screen-shell .game-key:active,.song-screen-shell .game-key.active,.song-screen-shell .game-key.active .song-character-art img,.song-screen-shell .game-key:active .song-character-art img{filter:none}.song-screen-shell .game-key-glow{display:none}}.instrument-test-wrap{max-width:1320px}.instrument-test-panel{padding:clamp(18px,2.6vw,30px);overflow:hidden}.instrument-test-head{justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:18px;display:flex}.instrument-test-head h1{color:#34325f;margin:4px 0 7px;font-size:clamp(1.7rem,3.4vw,2.55rem);line-height:1.05}.instrument-test-head p{color:#69728b;max-width:760px;margin:0;font-weight:750;line-height:1.45}.instrument-test-badge{color:#5147c9;background:#f0f1ff;border-radius:999px;flex:none;padding:8px 11px;font-size:.76rem;font-weight:950}.instrument-screen-shell .game-keyboard{margin-top:8px}.instrument-test-note{color:#7a8299;text-align:center;margin:18px 2px 0;font-size:.78rem;font-weight:750;line-height:1.45}@media (max-width:760px){.instrument-test-wrap{padding-top:4px}.instrument-test-panel{padding:12px 10px 14px}.instrument-test-head{margin-bottom:10px;display:block}.instrument-test-badge{margin-top:8px;display:inline-block}.instrument-test-head p,.instrument-test-note{font-size:.72rem}}.song-screen-shell .game-key .song-character-art{transform:translate3d(var(--character-x,0px),var(--character-y,0px),0) scale(var(--character-scale,1));transform-origin:bottom}.song-screen-shell .game-key-character{align-items:end}.song-screen-shell .game-keyboard.piano-layout{--piano-white-width:12.5%;width:100%;height:214px;margin-top:16px;padding:14px 2px 12px;display:block;position:relative;overflow:visible}.song-screen-shell .piano-layout .game-key{margin:0;transition:transform 90ms,box-shadow .11s,filter .11s}.song-screen-shell .piano-layout .game-key.white-key{left:calc(var(--piano-white-index) * var(--piano-white-width));z-index:1;width:var(--piano-white-width);background:linear-gradient(180deg, #fff 0 70%, var(--key-color) 70% 100%);border:1px solid #50587029;border-radius:17px 17px 20px 20px;height:184px;position:absolute;bottom:12px}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .piano-layout .game-key.white-key{background:linear-gradient(180deg, #fff 0 70%, color-mix(in srgb,var(--key-color) 74%,white) 70% 100%)}}.song-screen-shell .piano-layout .game-key.white-key{box-shadow:inset -1px 0 0 #41486014, inset 1px 0 0 #fffc, 0 7px 0 var(--key-color), 0 13px 22px #1e28461f}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .piano-layout .game-key.white-key{box-shadow:inset -1px 0 0 #41486014, inset 1px 0 0 #fffc, 0 7px 0 color-mix(in srgb,var(--key-color) 30%,#9aa0ae), 0 13px 22px #1e28461f}}.song-screen-shell .piano-layout .game-key.black-key{left:calc((var(--piano-black-boundary) * var(--piano-white-width)) - 4.5%);z-index:8;background:linear-gradient(180deg, var(--key-color) 0 64%, var(--key-color) 64% 100%);border:1px solid #ffffff29;border-radius:15px 15px 18px 18px;width:9%;height:140px;position:absolute;top:2px}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .piano-layout .game-key.black-key{background:linear-gradient(180deg, color-mix(in srgb,var(--key-color) 26%,#242938) 0 64%, color-mix(in srgb,var(--key-color) 76%,#333947) 64% 100%)}}.song-screen-shell .piano-layout .game-key.black-key{box-shadow:inset 0 1px 0 #ffffff1f, 0 7px 0 var(--key-color), 0 13px 22px #141a2c33}@supports (color:color-mix(in lab, red, red)){.song-screen-shell .piano-layout .game-key.black-key{box-shadow:inset 0 1px 0 #ffffff1f, 0 7px 0 color-mix(in srgb,var(--key-color) 36%,#444a58), 0 13px 22px #141a2c33}}.song-screen-shell .piano-layout .white-key .game-key-character{height:132px;top:10px;left:8%;right:8%}.song-screen-shell .piano-layout .black-key .game-key-character{height:96px;top:6px;left:3px;right:3px}.song-screen-shell .piano-layout .game-key-note{font-size:1.34rem;bottom:12px;left:10px}.song-screen-shell .piano-layout .game-key-name{max-width:52%;font-size:.58rem;bottom:13px;right:10px}.song-screen-shell .piano-layout .black-key .game-key-note{font-size:1.02rem;bottom:10px;left:7px}.song-screen-shell .piano-layout .black-key .game-key-name{max-width:48%;font-size:.45rem;bottom:11px;right:6px}.song-screen-shell .piano-layout .black-key .game-key-binding{min-width:22px;height:22px;font-size:.57rem;top:5px;right:5px}.song-screen-shell .piano-layout .game-key:active,.song-screen-shell .piano-layout .game-key.active{transform:translateY(5px)}@media (max-width:760px){.instrument-screen-shell .instrument-test-panel{overscroll-behavior-x:contain;overflow-x:auto}.instrument-screen-shell .game-keyboard.piano-layout{width:820px;min-width:820px;height:194px}.song-screen-shell .piano-layout .game-key.white-key{height:164px}.song-screen-shell .piano-layout .game-key.black-key{height:126px}.song-screen-shell .piano-layout .white-key .game-key-character{height:116px}.song-screen-shell .piano-layout .black-key .game-key-character{height:84px}}.melody-keyboard-shell{width:100%;min-width:0}.game-keyboard-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;width:100%;overflow:auto visible}.instrument-console{z-index:12;color:#f7f8ff;background:radial-gradient(circle at 78% 0,#775ad42e,#0000 34%),linear-gradient(#252940,#171b2d);border:1px solid #ffffff1c;border-bottom:0;border-radius:24px 24px 8px 8px;grid-template-columns:minmax(190px,1fr) auto minmax(110px,.55fr);align-items:center;gap:18px;min-height:112px;padding:14px 18px;display:grid;position:relative;box-shadow:inset 0 1px #ffffff14,0 12px 26px #12162b29}.instrument-lcd{color:#172c2a;text-shadow:0 1px #ffffff3d;background:linear-gradient(#b7d3c7,#89aa9f);border:1px solid #aedcd047;border-radius:13px;align-content:center;justify-items:start;min-width:0;min-height:78px;padding:10px 14px;font-family:Courier New,monospace;display:grid;box-shadow:inset 0 2px 6px #142a2647,0 1px #ffffff14}.instrument-lcd-brand{letter-spacing:.12em;opacity:.7;margin-bottom:2px;font-size:.57rem;font-weight:900}.instrument-lcd strong{letter-spacing:.04em;font-size:1.3rem;line-height:1}.instrument-lcd small{letter-spacing:.09em;margin-top:4px;font-size:.68rem;font-weight:900}.instrument-console-controls{justify-content:center;align-items:center;gap:8px;display:flex}.instrument-console-control{color:#dfe4ff;background:linear-gradient(#383d58,#24283d);border:1px solid #ffffff1a;border-radius:12px;place-items:center;gap:2px;width:58px;min-height:58px;padding:6px;display:grid;box-shadow:inset 0 1px #ffffff14,0 4px 8px #00000024}.instrument-console-control span{font-size:1.05rem;line-height:1}.instrument-console-control small{font-size:.56rem;font-weight:850}.instrument-console-control.selected{background:linear-gradient(#454a68,#2b3049);border-color:#b3a3ff57}.instrument-console-control:disabled{cursor:default;opacity:.78}.instrument-volume{justify-items:end;gap:7px;display:grid}.instrument-volume>span{color:#bec5de;letter-spacing:.15em;font-size:.62rem;font-weight:950}.instrument-volume-segments{gap:5px;display:flex}.instrument-volume-segments i{background:#4c5268;border-radius:50%;width:10px;height:10px;display:block;box-shadow:inset 0 1px 2px #00000059}.instrument-volume-segments i.on{background:#b7d3c7;box-shadow:0 0 7px #b7d3c74d}.with-instrument-panel .game-keyboard-scroll{background:linear-gradient(#202538 0 18px,#eef0f5 18px 100%);border:1px solid #1f243c24;border-top:0;border-radius:0 0 22px 22px;margin-top:-1px;padding:0 10px 10px;box-shadow:0 15px 30px #1f274621}.melody-keyboard-shell .game-keyboard{--song-key-height:154px;--song-art-height:auto;grid-template-columns:repeat(var(--game-key-count,5),minmax(72px,1fr));gap:2px;width:100%;margin:8px 0 0;padding:20px 0 10px;display:grid;overflow:visible}.melody-keyboard-shell .game-key{min-width:0;min-height:0;height:var(--song-key-height);color:#252a47;cursor:pointer;touch-action:manipulation;contain:layout paint style;background:linear-gradient(#fff 0%,#fbfaf5 72%,#f0eee8 100%);border:1px solid #3e455826;border-radius:7px 7px 13px 13px;padding:0;transition:transform 80ms,box-shadow .1s,filter .1s;display:block;position:relative;overflow:visible;box-shadow:inset 0 1px #fffffff2,inset -1px 0 #3a41540f,0 6px #c9ccd4,0 9px 14px #181f341c}.melody-keyboard-shell .game-key.black-key{color:#fff;background:linear-gradient(#303548 0%,#202536 72%,#171b29 100%);border-color:#ffffff1a;box-shadow:inset 0 1px #ffffff1a,0 6px #101420,0 10px 16px #0c111e38}.melody-keyboard-shell .game-key:active,.melody-keyboard-shell .game-key.active{box-shadow:inset 0 0 0 2px var(--key-color), 0 2px 0 var(--key-color), 0 4px 9px #181f341a;transform:translateY(4px)}@supports (color:color-mix(in lab, red, red)){.melody-keyboard-shell .game-key:active,.melody-keyboard-shell .game-key.active{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--key-color) 34%,transparent), 0 2px 0 color-mix(in srgb,var(--key-color) 20%,#a7abb5), 0 4px 9px #181f341a}}.melody-keyboard-shell .game-key:active,.melody-keyboard-shell .game-key.active{filter:none}.melody-keyboard-shell .game-key:after{content:"";z-index:1;border-radius:inherit;background:linear-gradient(180deg,var(--key-color),var(--key-color));position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.melody-keyboard-shell .game-key:after{background:linear-gradient(180deg,color-mix(in srgb,var(--key-color) 0%,transparent),color-mix(in srgb,var(--key-color) 7%,transparent))}}.melody-keyboard-shell .game-key:after{opacity:0;pointer-events:none;transition:opacity .1s}.melody-keyboard-shell .game-key.active:after,.melody-keyboard-shell .game-key:active:after{opacity:1}.melody-keyboard-shell .game-key-avatar-badge{z-index:4;border:2px solid var(--key-color);width:70px;height:70px;position:absolute;top:13px;left:50%;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.melody-keyboard-shell .game-key-avatar-badge{border:2px solid color-mix(in srgb,var(--key-color) 48%,#fff)}}.melody-keyboard-shell .game-key-avatar-badge{transform-origin:50%;pointer-events:none;background:linear-gradient(#fff,#f3f4f8);border-radius:50%;transition:transform .1s,box-shadow .1s;transform:translate(-50%);box-shadow:0 5px 10px #1a223d21}.melody-keyboard-shell .game-key.active .game-key-avatar-badge,.melody-keyboard-shell .game-key:active .game-key-avatar-badge{box-shadow:0 5px 11px var(--key-color);transform:translate(-50%)scale(1.05)}@supports (color:color-mix(in lab, red, red)){.melody-keyboard-shell .game-key.active .game-key-avatar-badge,.melody-keyboard-shell .game-key:active .game-key-avatar-badge{box-shadow:0 5px 11px color-mix(in srgb,var(--key-color) 24%,#1a223d1f)}}.song-character-art.is-bust{border-radius:inherit;width:100%;height:100%;display:block;overflow:hidden;transform:none!important}.song-character-art.is-bust img{object-fit:contain;object-position:center center;-webkit-user-select:none;user-select:none;filter:none;width:100%;height:100%;transform:translate3d(var(--bust-x,0%),var(--bust-y,0%),0) scale(var(--bust-scale,1.88));transform-origin:50% 18%;transition:none}.melody-keyboard-shell .game-key.active .song-character-art.is-bust img,.melody-keyboard-shell .game-key:active .song-character-art.is-bust img{transform:translate3d(var(--bust-x,0%),var(--bust-y,0%),0) scale(var(--bust-scale,1.88));filter:none}.song-character-art.is-bust .song-character-art-fallback{border-radius:50%;width:100%;height:100%;margin:0}.melody-keyboard-shell .game-key-note{z-index:5;box-shadow:none;color:inherit;background:0 0;margin:0;padding:0;font-size:1.55rem;font-weight:1000;line-height:1;display:block;position:absolute;bottom:17px;left:12px}.melody-keyboard-shell .game-key-name{z-index:5;max-width:52%;color:inherit;text-overflow:ellipsis;white-space:nowrap;opacity:.7;margin:0;font-size:.62rem;font-weight:900;line-height:1;display:block;position:absolute;bottom:19px;right:11px;overflow:hidden}.melody-keyboard-shell .game-key.black-key .game-key-note,.melody-keyboard-shell .game-key.black-key .game-key-name{color:#f7f8ff;text-shadow:none}.melody-keyboard-shell .game-key-binding{z-index:7;color:#4f566d;opacity:.58;background:#ffffffc7;border:1px solid #444b601f;border-radius:7px;min-width:24px;height:24px;font-size:.61rem;top:7px;right:7px}.melody-keyboard-shell .black-key .game-key-binding{color:#f4f6ff;background:#ffffff1f;border-color:#ffffff1f}.melody-keyboard-shell .game-key-accent{z-index:3;background:var(--key-color);opacity:.76;border-radius:999px;height:3px;position:absolute;bottom:5px;left:9px;right:9px}.melody-keyboard-shell .game-key-glow{display:none}.melody-keyboard-shell .game-keyboard.piano-layout{--piano-white-width:12.5%;width:100%;min-width:640px;height:246px;margin:0;padding:28px 0 8px;display:block;position:relative;overflow:visible}.melody-keyboard-shell .piano-layout .game-key.white-key{left:calc(var(--piano-white-index) * var(--piano-white-width));z-index:1;width:var(--piano-white-width);background:linear-gradient(90deg,#f7f6f2 0,#fff 8% 88%,#ecebe7 100%);border:1px solid #3d43542e;border-radius:3px 3px 10px 10px;height:210px;position:absolute;bottom:8px;box-shadow:inset 0 -7px 10px #4a505e0a,inset -1px 0 #33394914,0 6px #c7cad1,0 9px 14px #141a2c1a}.melody-keyboard-shell .piano-layout .game-key.black-key{left:calc((var(--piano-black-boundary) * var(--piano-white-width)) - 3.625%);z-index:8;background:linear-gradient(90deg,#171b28,#303548 16%,#252a3c 82%,#111520);border:1px solid #ffffff14;border-radius:3px 3px 9px 9px;width:7.25%;height:130px;position:absolute;top:28px;box-shadow:inset 0 -9px 11px #0000003d,inset 0 1px #ffffff17,0 6px #0b0e16,0 10px 14px #0c101c3d}.melody-keyboard-shell .piano-layout .white-key .game-key-avatar-badge{width:64px;height:64px;top:18px}.melody-keyboard-shell .piano-layout .black-key .game-key-avatar-badge{border-width:1px;width:46px;height:46px;top:10px;box-shadow:0 4px 8px #0003}.melody-keyboard-shell .piano-layout .game-key-note{font-size:1.42rem;bottom:22px;left:12px}.melody-keyboard-shell .piano-layout .game-key-name{font-size:.58rem;bottom:24px;right:11px}.melody-keyboard-shell .piano-layout .black-key .game-key-note{font-size:1.02rem;bottom:13px;left:7px}.melody-keyboard-shell .piano-layout .black-key .game-key-name{max-width:52%;font-size:.43rem;bottom:14px;right:6px}.melody-keyboard-shell .piano-layout .black-key .game-key-binding{min-width:19px;height:19px;font-size:.5rem;top:5px;right:5px}.melody-keyboard-shell .piano-layout .white-key .game-key-accent{bottom:7px;left:10px;right:10px}.melody-keyboard-shell .piano-layout .black-key .game-key-accent{bottom:5px;left:7px;right:7px}.melody-keyboard-shell .piano-layout .game-key:active,.melody-keyboard-shell .piano-layout .game-key.active{transform:translateY(4px)}.instrument-screen-shell .instrument-test-panel{overflow:visible!important}@media (max-width:760px){.instrument-console{border-radius:18px 18px 7px 7px;grid-template-columns:minmax(150px,1fr) auto;gap:9px;min-height:94px;padding:10px}.instrument-lcd{min-height:68px;padding:8px 10px}.instrument-lcd strong{font-size:1.08rem}.instrument-console-controls{gap:5px}.instrument-console-control{border-radius:9px;width:42px;min-height:46px;padding:4px}.instrument-console-control small{display:none}.instrument-console-control span{font-size:.95rem}.instrument-volume{display:none}.with-instrument-panel .game-keyboard-scroll{border-radius:0 0 16px 16px;padding:0 6px 8px}.melody-keyboard-shell .game-keyboard{--song-key-height:112px;grid-template-columns:repeat(var(--game-key-count,5),minmax(68px,1fr));gap:2px;margin-top:5px;padding-top:14px}.melody-keyboard-shell .game-key-avatar-badge{width:50px;height:50px;top:10px}.melody-keyboard-shell .game-key-note{font-size:1.05rem;bottom:14px;left:7px}.melody-keyboard-shell .game-key-name{font-size:.48rem;bottom:15px;right:6px}.melody-keyboard-shell .game-key-binding{display:none}.melody-keyboard-shell .game-keyboard.piano-layout{width:640px;min-width:640px;height:218px;padding-top:24px}.melody-keyboard-shell .piano-layout .game-key.white-key{height:186px}.melody-keyboard-shell .piano-layout .game-key.black-key{height:116px;top:24px}.melody-keyboard-shell .piano-layout .white-key .game-key-avatar-badge{width:52px;height:52px;top:15px}.melody-keyboard-shell .piano-layout .black-key .game-key-avatar-badge{width:40px;height:40px;top:8px}.melody-keyboard-shell .piano-layout .game-key-name{display:none}}.keyboard-variant-lesson{max-width:760px;margin:0 auto}.keyboard-variant-lesson .game-keyboard{grid-template-columns:repeat(var(--game-key-count,5),minmax(76px,1fr));padding-top:16px}.keyboard-variant-lesson .game-key{height:142px}.keyboard-variant-lesson .game-key-avatar-badge{width:62px;height:62px}.keyboard-variant-lesson .game-key:disabled{cursor:default}.keyboard-variant-lesson .game-keyboard.is-watching .game-key:not(.active){opacity:.72;filter:saturate(.72)}.keyboard-variant-lesson .game-keyboard.is-watching .game-key.active{opacity:1}.keyboard-variant-lesson .game-key.expected:not(.active){box-shadow:inset 0 0 0 2px var(--key-color), 0 6px 0 #c9ccd4, 0 0 22px var(--key-color);animation:.82s ease-in-out infinite alternate lesson-expected-key}@supports (color:color-mix(in lab, red, red)){.keyboard-variant-lesson .game-key.expected:not(.active){box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--key-color) 24%,transparent), 0 6px 0 #c9ccd4, 0 0 22px color-mix(in srgb,var(--key-color) 24%,transparent)}}.start-splash-shell{background:radial-gradient(circle at 50% 18%,#fffffffa 0 8%,#0000 30%),radial-gradient(circle at 18% 30%,#ffdef4ad,#0000 28%),radial-gradient(circle at 82% 68%,#bdeeffbd,#0000 30%),linear-gradient(155deg,#dff7ff 0%,#f3efff 47%,#fff2c9 100%);place-items:center;min-height:100dvh;display:grid;overflow:hidden}.start-splash-shell:before,.start-splash-shell:after{z-index:0}.start-splash{z-index:1;place-items:center;width:min(100%,980px);min-height:100dvh;padding:clamp(18px,4vw,44px);display:grid;position:relative}.start-splash-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);isolation:isolate;background:radial-gradient(circle at 50% 38%,#ffffffeb,#ffffffa3 56%,#ffffff6b);border:1px solid #ffffffd1;border-radius:clamp(30px,6vw,52px);flex-direction:column;justify-content:center;align-items:center;width:min(100%,760px);min-height:min(760px,100dvh - 48px);padding:clamp(24px,5vw,52px) clamp(20px,6vw,64px) clamp(26px,4vw,42px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px #444c7e33,inset 0 1px #fffffff2}.start-splash-card:before{content:"";z-index:-1;filter:blur(1px);background:radial-gradient(#78cd9157,#0000 62%),linear-gradient(#7edca82e,#5cb78314);border-radius:50% 50% 18% 18%;height:42%;position:absolute;inset:auto 8% -17%}.start-splash-logo-wrap{z-index:3;filter:drop-shadow(0 14px 18px #49467e21);place-items:center;width:min(92%,580px);margin-bottom:2px;display:grid;position:relative}.start-splash-logo{object-fit:contain;width:100%;height:auto;max-height:190px}.start-splash-tagline{z-index:3;color:#5d6083;text-align:center;margin:2px 0 10px;font-size:clamp(.9rem,2vw,1.08rem);font-weight:850;position:relative}.start-splash-character{z-index:2;pointer-events:none;place-items:end center;width:clamp(210px,40vw,330px);height:clamp(230px,37vh,350px);margin:-8px auto -12px;display:grid;position:relative}.start-splash-character .song-character-art{z-index:2;width:100%;height:100%;position:relative}.start-splash-character .song-character-art img{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 18px #2e365b29);width:100%;height:100%}.start-splash-character-glow{aspect-ratio:1;filter:blur(7px);background:radial-gradient(circle,#fffffff5 0 14%,#ff5c5c2e 38%,#0000 68%);border-radius:50%;width:92%;position:absolute;bottom:8%;left:50%;transform:translate(-50%)}.start-splash-cta{z-index:4;color:#fff;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#6f5be7,#a85bd9 54%,#df6aa6);border:2px solid #ffffffe6;border-radius:24px;place-items:center;gap:2px;min-width:min(390px,88%);min-height:76px;padding:14px 28px;transition:transform .12s,box-shadow .12s,filter .12s;display:grid;position:relative;box-shadow:0 10px #594eb2,0 18px 32px #594eb23b}.start-splash-cta:hover{filter:brightness(1.04);transform:translateY(-2px)}.start-splash-cta:active{transform:translateY(6px);box-shadow:0 4px #594eb2,0 9px 18px #594eb233}.start-splash-cta span{font-size:clamp(1.08rem,3vw,1.28rem);font-weight:1000}.start-splash-cta small{opacity:.76;font-size:.72rem;font-weight:800}.start-splash-stars{z-index:2;pointer-events:none;position:absolute;inset:0}.start-splash-stars span{color:#7061cf;opacity:.34;font-weight:1000;animation:3.4s ease-in-out infinite start-splash-float;position:absolute}.start-splash-stars span:first-child{font-size:2.2rem;top:19%;left:9%}.start-splash-stars span:nth-child(2){font-size:1.5rem;animation-delay:.5s;top:15%;right:11%}.start-splash-stars span:nth-child(3){font-size:2.45rem;animation-delay:1.1s;top:52%;right:7%}.start-splash-stars span:nth-child(4){font-size:1.45rem;animation-delay:1.6s;top:58%;left:6%}.start-splash-stars span:nth-child(5){font-size:1.8rem;animation-delay:.9s;bottom:11%;left:15%}@keyframes start-splash-float{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-10px)rotate(5deg)}}@media (max-width:700px){.keyboard-variant-lesson .game-keyboard{grid-template-columns:repeat(var(--game-key-count,5),minmax(62px,1fr));gap:2px;padding-top:11px}.keyboard-variant-lesson .game-key{height:104px}.keyboard-variant-lesson .game-key-avatar-badge{width:48px;height:48px}.lesson-flow-panel .melody-keyboard-shell{margin-top:-2px}.start-splash{padding:12px}.start-splash-card{border-radius:30px;justify-content:center;min-height:calc(100dvh - 24px);padding:24px 14px 28px}.start-splash-logo-wrap{width:min(94%,430px)}.start-splash-logo{max-height:145px}.start-splash-tagline{margin-top:0;font-size:.88rem}.start-splash-character{width:min(66vw,270px);height:min(35vh,300px);min-height:210px;margin:-4px auto -8px}.start-splash-cta{border-radius:21px;min-width:min(360px,92%);min-height:68px}}@media (max-width:420px){.keyboard-variant-lesson .game-keyboard{grid-template-columns:repeat(var(--game-key-count,5),minmax(54px,1fr))}.keyboard-variant-lesson .game-key-name{display:none}.start-splash-card{padding-top:20px}.start-splash-logo-wrap{width:96%}.start-splash-character{width:min(70vw,245px);height:min(33vh,270px)}.start-splash-stars span:nth-child(3),.start-splash-stars span:nth-child(5){display:none}}.instrument-screen-shell .instrument-test-panel{max-width:990px;margin-inline:auto;overflow:hidden!important}.instrument-screen-shell .instrument-test-head{max-width:820px;margin:0 auto 20px}.instrument-screen-shell .instrument-test-head h1{font-size:clamp(1.5rem,3vw,2.1rem)}.instrument-screen-shell .instrument-test-head p{max-width:560px}.instrument-screen-shell .keyboard-variant-instrument{background:linear-gradient(145deg,#252b41,#161b2c);border:1px solid #3a4157;border-radius:24px;width:min(100%,780px);margin:0 auto;padding:10px;box-shadow:0 24px 46px #171e3638,inset 0 1px #ffffff1a}.keyboard-variant-instrument .instrument-console{z-index:1;background:linear-gradient(#30364e,#22283e);border:0;border-radius:18px 18px 5px 5px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:16px;min-height:150px;padding:12px 16px 16px;box-shadow:inset 0 1px #ffffff1f}.instrument-console-display{gap:9px;min-width:0;display:grid}.instrument-controller-brand{color:#e8eaff;letter-spacing:.025em;font-size:.82rem;font-weight:850}.instrument-controller-brand strong{color:#c6bbff}.keyboard-variant-instrument .instrument-lcd{min-height:75px;padding:9px 12px}.instrument-drum-section{gap:8px;min-width:0;display:grid}.instrument-drum-heading{color:#ddd9f8;letter-spacing:.16em;font-size:.65rem;font-weight:950}.instrument-drum-heading small{color:#a9b1d2;margin-left:8px}.instrument-pad-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.instrument-drum-pad{color:#f3f2ff;cursor:pointer;touch-action:manipulation;background:linear-gradient(145deg,#5e6683,#353c59);border:1px solid #535b78;border-radius:11px;flex-direction:column;justify-content:space-between;min-width:0;min-height:83px;padding:9px 7px;transition:transform 90ms,background 90ms,box-shadow 90ms;display:flex;position:relative;box-shadow:0 4px #181e32,inset 0 1px #ffffff29}.instrument-drum-pad kbd{color:#c6cbdf;align-self:flex-start;font-size:.7rem}.instrument-drum-pad span{font-size:clamp(.57rem,.8vw,.72rem);font-weight:850;line-height:1.1}.instrument-drum-pad:focus-visible{outline-offset:3px;outline:3px solid #cfc4ff}.instrument-drum-pad.active,.instrument-drum-pad:active{background:linear-gradient(145deg,#9d85f1,#6f57c5);transform:translateY(3px);box-shadow:0 1px #181e32,0 0 16px #a893ff66}.keyboard-variant-instrument.with-instrument-panel .game-keyboard-scroll{background:linear-gradient(#20263a 0 13px,#dee1e8 13px);border:0;border-radius:3px 3px 16px 16px;margin:0;padding:10px 8px 12px;overflow:auto hidden;box-shadow:inset 0 1px #0000003d}.instrument-screen-shell .keyboard-variant-instrument .game-keyboard.piano-layout{width:520px;min-width:520px;max-width:none;height:169px;margin:0 auto;padding:12px 0 8px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{border-radius:2px 2px 8px 8px;height:139px;bottom:8px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{border-radius:2px 2px 7px 7px;height:88px;top:12px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-avatar-badge{width:38px;height:38px;top:9px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-avatar-badge{width:26px;height:26px;top:7px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-note{font-size:1rem;bottom:17px;left:7px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-note{font-size:.72rem;bottom:10px;left:4px}.instrument-screen-shell .keyboard-variant-instrument .game-key-name,.instrument-screen-shell .keyboard-variant-instrument .game-key-binding{display:none}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-accent{bottom:5px}.lesson-dialogue-continue{z-index:4;border:1px solid var(--dialogue-color);width:100%;min-height:46px;margin-top:10px;padding:10px 14px;display:block;position:relative}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-continue{border:1px solid color-mix(in srgb,var(--dialogue-color) 30%,white)}}.lesson-dialogue-continue{background:var(--dialogue-color);border-radius:14px}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-continue{background:color-mix(in srgb,var(--dialogue-color) 12%,white)}}.lesson-dialogue-continue{color:#3d3667;cursor:pointer;letter-spacing:.055em;font-size:.78rem;font-weight:950;transition:background .12s,transform .12s}.lesson-dialogue-continue:hover{background:var(--dialogue-color)}@supports (color:color-mix(in lab, red, red)){.lesson-dialogue-continue:hover{background:color-mix(in srgb,var(--dialogue-color) 19%,white)}}.lesson-dialogue-continue:active{transform:scale(.99)}.lesson-dialogue-continue:focus-visible{outline:3px solid var(--dialogue-color);outline-offset:3px}@media (max-width:760px){.instrument-screen-shell .instrument-test-panel{padding:14px 8px 18px;overflow:hidden!important}.instrument-screen-shell .instrument-test-head{padding:0 8px}.instrument-screen-shell .keyboard-variant-instrument{border-radius:19px;width:100%;padding:7px}.keyboard-variant-instrument .instrument-console{grid-template-columns:minmax(0,1fr);gap:13px;min-height:0;padding:11px}.instrument-controller-brand{font-size:.75rem}.keyboard-variant-instrument .instrument-lcd{min-height:64px}.instrument-drum-pad{min-height:67px;padding:8px 5px}.instrument-drum-pad span{font-size:.66rem}.instrument-screen-shell .keyboard-variant-instrument .game-keyboard.piano-layout{width:520px;min-width:520px;height:169px;padding-top:12px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{height:139px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{height:88px;top:12px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-avatar-badge{width:38px;height:38px;top:9px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-avatar-badge{width:26px;height:26px;top:7px}}@media (prefers-reduced-motion:reduce){.instrument-drum-pad,.lesson-dialogue-continue{transition:none}}@media (max-width:760px){.instrument-screen-shell .instrument-test-wrap{padding:4px 10px 26px}.instrument-screen-shell .instrument-test-panel{border-radius:25px;padding:14px 10px 15px;overflow:hidden!important}.instrument-screen-shell .instrument-test-head{margin-bottom:13px;padding:0 3px}.instrument-screen-shell .instrument-test-head h1{margin:3px 0 5px;font-size:clamp(1.4rem,5.6vw,1.65rem);line-height:1.13}.instrument-screen-shell .instrument-test-head .eyebrow{font-size:.73rem}.instrument-screen-shell .instrument-test-head p{max-width:38ch;font-size:.78rem;font-weight:700;line-height:1.4}.instrument-screen-shell .instrument-test-badge{display:none}.instrument-screen-shell .keyboard-variant-instrument{border-radius:18px;width:min(100%,460px);padding:7px;box-shadow:0 12px 24px #171e3626,inset 0 1px #ffffff1a}.instrument-screen-shell .keyboard-variant-instrument .instrument-console{border-radius:12px 12px 2px 2px;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:stretch;gap:9px;min-height:0;padding:10px 9px}.instrument-screen-shell .instrument-console-display{align-content:start;gap:7px}.instrument-screen-shell .instrument-controller-brand{font-size:.65rem;line-height:1.17}.instrument-screen-shell .instrument-controller-brand strong{display:block}.instrument-screen-shell .keyboard-variant-instrument .instrument-lcd{border-radius:9px;min-height:70px;padding:7px 8px}.instrument-screen-shell .instrument-lcd-brand{letter-spacing:.055em;font-size:.41rem}.instrument-screen-shell .instrument-lcd strong{font-size:1.07rem}.instrument-screen-shell .instrument-lcd small{letter-spacing:.04em;font-size:.54rem}.instrument-screen-shell .instrument-drum-section{gap:5px}.instrument-screen-shell .instrument-drum-heading{letter-spacing:.09em;white-space:nowrap;font-size:.56rem}.instrument-screen-shell .instrument-drum-heading small{margin-left:2px;font-size:.52rem}.instrument-screen-shell .instrument-pad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.instrument-screen-shell .instrument-drum-pad{border-radius:8px;min-height:42px;padding:5px 7px}.instrument-screen-shell .instrument-drum-pad kbd{font-size:.58rem}.instrument-screen-shell .instrument-drum-pad span{font-size:.65rem}.instrument-screen-shell .keyboard-variant-instrument.with-instrument-panel .game-keyboard-scroll{background:linear-gradient(#20263a 0 9px,#dee1e8 9px);padding:8px 4px 9px;overflow:hidden}.instrument-screen-shell .keyboard-variant-instrument .game-keyboard.piano-layout{width:100%;min-width:0;max-width:100%;height:145px;margin:0;padding:10px 0 5px;display:block}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{border-radius:2px 2px 6px 6px;height:126px;bottom:5px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{border-radius:2px 2px 5px 5px;height:83px;top:10px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-avatar-badge{border-width:1px;width:clamp(19px,5.8vw,28px);height:clamp(19px,5.8vw,28px);top:16px;box-shadow:0 2px 4px #1a223d1a}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-avatar-badge{display:none}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-note{font-size:.87rem;font-weight:1000;bottom:16px;left:50%;transform:translate(-50%)}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-note{color:#fff;text-shadow:0 1px 2px #0000006b;white-space:nowrap;background:0 0;border:0;margin:0;padding:0;font-size:clamp(.6rem,2.5vw,.77rem);font-weight:950;bottom:12px;left:50%;transform:translate(-50%)}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-accent{height:3px;left:16%;right:16%}.instrument-screen-shell .instrument-test-note{max-width:30ch;margin:12px auto 0;font-size:.68rem;line-height:1.4}}.world-mobile-status,.world-progress-heading,.world-mobile-lessons{display:none}@media (max-width:760px) and (orientation:portrait){.world-screen-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.world-screen-shell .topbar{flex:none;width:100%;max-width:580px;min-height:0;padding:8px 14px 5px}.world-screen-shell .brand-mini{min-height:40px;padding:2px 1px}.world-screen-shell .brand-mini .brand-logo-topbar{width:clamp(154px,45vw,198px);max-height:42px}.world-screen-shell .sound-button{border-radius:15px;min-height:38px;padding:7px 9px;font-size:.74rem;box-shadow:0 3px 12px #28507814}.world-screen-shell .world-wrap{width:100%;max-width:580px;min-height:0;padding:4px 13px max(8px,env(safe-area-inset-bottom));flex-direction:column;flex:auto;gap:clamp(5px,1.05dvh,11px);display:flex;overflow:hidden}.world-screen-shell .section-head{flex:none;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:9px;width:100%;margin:0;display:grid}.world-screen-shell .section-head>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:baseline;column-gap:10px;display:grid}.world-screen-shell .section-head .eyebrow{white-space:nowrap;background:#ffffffa6;border-radius:8px;padding:3px 7px;font-size:.7rem}.world-screen-shell .section-head h1{color:#373c75;letter-spacing:-.025em;margin:0;font-size:clamp(1.1rem,4.8vw,1.45rem);line-height:1.16}.world-screen-shell .section-head p{color:#65718e;grid-column:1/-1;margin:2px 0 0;font-size:.74rem;font-weight:740;line-height:1.22}.world-screen-shell .section-head-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.world-screen-shell .section-head-actions button{overflow-wrap:normal;border-radius:15px;min-width:0;min-height:47px;padding:7px 8px;font-size:clamp(.77rem,3.4vw,.93rem);line-height:1.16;box-shadow:0 5px 13px #4349801a}.world-screen-shell .section-head-actions button:nth-child(3){background:#ffffffc7;grid-column:1/-1;min-height:34px;padding:5px;font-size:.78rem}.world-screen-shell .world-desktop-narrator,.world-screen-shell .world-desktop-lessons{display:none}.world-screen-shell .world-mobile-status{color:#4a496b;background:#fff8dce0;border:1px solid #ffdfa2;border-radius:14px;flex:none;align-items:center;gap:8px;min-height:35px;padding:7px 10px;font-size:clamp(.7rem,2.8vw,.8rem);font-weight:850;line-height:1.2;display:flex}.world-screen-shell .world-mobile-status-icon{color:#3c365f;background:#ffd55e;border-radius:8px;flex:0 0 23px;place-items:center;width:23px;height:23px;font-size:.75rem;display:grid}.world-screen-shell .world-progress-heading{color:#525879;flex:none;justify-content:space-between;align-items:center;padding:0 3px;font-size:.7rem;font-weight:900;line-height:1.05;display:flex}.world-screen-shell .world-progress-heading strong{color:#6b4bd8}.world-screen-shell .progress-track{flex:0 0 8px;height:8px;box-shadow:inset 0 0 0 1px #d8dff0}.world-screen-shell .world-mobile-lessons{touch-action:pan-y;flex-direction:column;flex:auto;justify-content:center;gap:7px;min-height:0;display:flex}.world-screen-shell .world-mobile-lesson-card{background:#fffffff0;border:1px solid #fffffff2;border-radius:24px;flex-direction:column;gap:10px;min-height:0;padding:clamp(12px,2dvh,18px);display:flex;box-shadow:0 11px 25px #3147761f}.world-screen-shell .world-mobile-lesson-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.world-screen-shell .world-mobile-lesson-kicker{color:#6957b3;letter-spacing:.09em;white-space:nowrap;font-size:.67rem;font-weight:950}.world-screen-shell .world-mobile-lesson-state{color:#68718a;background:#edf0fb;border-radius:99px;padding:4px 8px;font-size:.65rem;font-weight:900}.world-screen-shell .world-mobile-lesson-state.is-ready{color:#236d4b;background:#e7f7ee}.world-screen-shell .world-mobile-lesson-state.is-done{color:#5b4ca6;background:#eae5ff}.world-screen-shell .world-mobile-lesson-detail{align-items:center;gap:12px;min-width:0;display:flex}.world-screen-shell .world-mobile-lesson-detail .avatar{aspect-ratio:1;border-radius:18px;flex:0 0 clamp(55px,15vw,69px);width:clamp(55px,15vw,69px)}.world-screen-shell .world-mobile-song-avatar{aspect-ratio:1;color:#fff;background:linear-gradient(135deg,#ff7297,#ffe163,#45dcda,#7868e6);border:3px solid #fff;border-radius:18px;flex:0 0 clamp(55px,15vw,69px);place-items:center;width:clamp(55px,15vw,69px);font-size:2rem;display:grid}.world-screen-shell .world-mobile-lesson-copy{min-width:0}.world-screen-shell .world-mobile-lesson-copy h2{color:#353958;margin:0 0 3px;font-size:clamp(1rem,4.45vw,1.25rem);line-height:1.2}.world-screen-shell .world-mobile-lesson-copy p{color:#6a728d;margin:0;font-size:.78rem;font-weight:730;line-height:1.32}.world-screen-shell .world-mobile-lesson-cta{color:#fff;cursor:pointer;background:linear-gradient(110deg,#7355e9,#ad65ea);border:0;border-radius:13px;justify-content:center;align-items:center;gap:12px;width:100%;min-height:40px;padding:8px 13px;font-size:.85rem;font-weight:950;display:flex;box-shadow:0 5px 12px #7053d52b}.world-screen-shell .world-mobile-lesson-cta:disabled{color:#626b83;box-shadow:none;cursor:default;background:#e6e9f2}.world-screen-shell .world-mobile-pager{flex:none;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;padding:0 3px;display:grid}.world-screen-shell .world-mobile-pager-arrow{color:#5944c0;cursor:pointer;background:#ffffffe6;border:1px solid #dcdaf4;border-radius:15px;place-items:center;width:44px;height:42px;font-size:2rem;font-weight:700;line-height:1;display:grid}.world-screen-shell .world-mobile-pager-arrow:disabled{opacity:.28;cursor:default}.world-screen-shell .world-mobile-pager-center{justify-items:center;gap:6px;display:grid}.world-screen-shell .world-mobile-pager-count{color:#505775;font-size:.67rem;font-weight:900}.world-screen-shell .world-mobile-pager-dots{justify-content:center;gap:6px;display:flex}.world-screen-shell .world-mobile-pager-dot{background:#c9cee1;border-radius:99px;width:7px;height:7px}.world-screen-shell .world-mobile-pager-dot.is-complete{background:#7ecda8}.world-screen-shell .world-mobile-pager-dot.is-current{background:#8561e6;width:18px}.world-screen-shell .footer-actions{flex:none;margin:0}.world-screen-shell .footer-actions .ghost-button{color:#63728c;min-height:24px;box-shadow:none;background:0 0;padding:1px 10px;font-size:.64rem}}@media (max-width:760px) and (orientation:portrait) and (max-height:670px){.world-screen-shell .world-wrap{gap:4px;padding-top:0}.world-screen-shell .topbar{padding-top:3px;padding-bottom:2px}.world-screen-shell .section-head{gap:5px}.world-screen-shell .section-head p{display:none}.world-screen-shell .section-head-actions button{min-height:40px}.world-screen-shell .section-head-actions button:nth-child(3){min-height:31px}.world-screen-shell .world-mobile-status{min-height:28px;padding:4px 8px}.world-screen-shell .world-mobile-lesson-card{gap:7px;padding:10px 12px}.world-screen-shell .world-mobile-lesson-detail .avatar,.world-screen-shell .world-mobile-song-avatar{flex-basis:48px;width:48px}.world-screen-shell .world-mobile-lesson-cta{min-height:35px}.world-screen-shell .world-mobile-pager-arrow{height:37px}}@media (max-width:760px) and (orientation:portrait) and (max-height:530px){.world-screen-shell{height:auto;min-height:530px;overflow-y:auto}.world-screen-shell .world-wrap{overflow:visible}}.instrument-screen-shell .instrument-test-wrap{max-width:1210px}.instrument-screen-shell .instrument-test-panel{background:#ffffffe8;border:1px solid #ffffffdb;max-width:1160px}.instrument-screen-shell .instrument-test-head{align-items:end;max-width:970px}.instrument-screen-shell .keyboard-variant-instrument{isolation:isolate;background:radial-gradient(at 15% 0,#a57af542,#0000 35%),linear-gradient(160deg,#30394f 0%,#1d253a 63%,#111729 100%);border:2px solid #141c2f;border-radius:28px;width:min(100%,980px);padding:14px 15px 17px;position:relative;box-shadow:0 13px #0c1323,0 28px 52px #131c3352,inset 0 2px #ffffff1c}.instrument-screen-shell .keyboard-variant-instrument:before,.instrument-screen-shell .keyboard-variant-instrument:after{content:"";z-index:3;pointer-events:none;background:radial-gradient(circle,#a6b2c7,#5f687c 70%);border:1px solid #0006;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;box-shadow:0 1px 2px #00000059}.instrument-screen-shell .keyboard-variant-instrument:before{left:9px}.instrument-screen-shell .keyboard-variant-instrument:after{right:9px}.instrument-screen-shell .keyboard-variant-instrument .instrument-console{background:linear-gradient(#323c56 0%,#222b43 100%);border-radius:18px 18px 5px 5px;grid-template-columns:minmax(200px,.8fr) minmax(0,1.45fr);align-items:stretch;gap:25px;min-height:166px;padding:18px 21px 21px;box-shadow:inset 0 2px #ffffff12,0 1px #11182a}.instrument-screen-shell .instrument-controller-brand{color:#f7f4ff;text-transform:none;text-shadow:0 2px #0003;font-size:clamp(.82rem,1.25vw,1.06rem);line-height:1.2}.instrument-screen-shell .instrument-controller-brand strong{color:#d4bdff}.instrument-screen-shell .keyboard-variant-instrument .instrument-lcd{background:linear-gradient(160deg,#b6dbc2,#86b8b3);border:2px solid #a0cdb254;border-radius:11px;min-height:100px;padding:12px 15px;box-shadow:inset 0 3px 7px #24443940,0 1px #ffffff1f}.instrument-screen-shell .instrument-lcd strong{font-size:1.4rem}.instrument-drum-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.instrument-drum-heading{color:#edeaff}.instrument-pad-power{letter-spacing:.09em;color:#b3bfd4;align-items:center;gap:5px;font-size:.58rem;font-weight:950;display:inline-flex}.instrument-pad-power i{background:#62f1ad;border-radius:50%;width:7px;height:7px;display:block;box-shadow:0 0 10px #4dfba38c}.instrument-screen-shell .instrument-pad-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.instrument-screen-shell .instrument-drum-pad{--pad-color:#c3a5ff;border:2px solid var(--pad-color);background:linear-gradient(155deg,var(--pad-color),#212840 78%);border-radius:12px;min-height:65px;padding:8px 9px;position:relative}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .instrument-drum-pad{background:linear-gradient(155deg,color-mix(in srgb,var(--pad-color) 22%,#454c68),#212840 78%)}}.instrument-screen-shell .instrument-drum-pad{box-shadow:0 4px 0 #101728, inset 0 0 0 1px #ffffff1c, 0 0 12px var(--pad-color)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .instrument-drum-pad{box-shadow:0 4px 0 #101728, inset 0 0 0 1px #ffffff1c, 0 0 12px color-mix(in srgb,var(--pad-color) 20%,transparent)}}.instrument-screen-shell .instrument-drum-pad{color:#fff;transition:transform 90ms,box-shadow 90ms,filter 90ms}.instrument-screen-shell .instrument-drum-pad kbd{color:var(--pad-color);font-size:.7rem;font-weight:950}.instrument-screen-shell .instrument-drum-pad span{text-shadow:0 1px #13182b;font-size:.7rem;font-weight:950}.instrument-screen-shell .instrument-drum-pad.active,.instrument-screen-shell .instrument-drum-pad:active{filter:brightness(1.24);background:linear-gradient(145deg,var(--pad-color),#343a59);transform:translateY(3px)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .instrument-drum-pad.active,.instrument-screen-shell .instrument-drum-pad:active{background:linear-gradient(145deg,color-mix(in srgb,var(--pad-color) 65%,#263552),#343a59)}}.instrument-screen-shell .instrument-drum-pad.active,.instrument-screen-shell .instrument-drum-pad:active{box-shadow:0 1px 0 #101728,0 0 26px var(--pad-color)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .instrument-drum-pad.active,.instrument-screen-shell .instrument-drum-pad:active{box-shadow:0 1px 0 #101728,0 0 26px color-mix(in srgb,var(--pad-color) 58%,transparent)}}.instrument-playability-tools{color:#d2d8ef;letter-spacing:.16em;justify-content:space-between;align-items:center;gap:14px;padding:12px 15px 0;font-size:.65rem;font-weight:950;display:flex}.instrument-octave-toggle{color:#fff;letter-spacing:0;cursor:pointer;background:#45415f;border:1px solid #dad6ff75;border-radius:999px;padding:8px 13px;font-size:.72rem;font-weight:900;display:none}.instrument-octave-toggle:focus-visible{outline-offset:3px;outline:3px solid #c9bdff}.instrument-screen-shell .keyboard-variant-instrument.with-instrument-panel .game-keyboard-scroll{background:linear-gradient(#181f32 0 12px,#373d53 12px 100%);border:1px solid #06091599;border-radius:6px 6px 17px 17px;margin-top:6px;padding:12px 12px 18px;box-shadow:inset 0 2px 5px #00000042}.instrument-screen-shell .keyboard-variant-instrument .game-keyboard.piano-layout{width:760px;min-width:760px;height:237px;margin:0 auto;padding:14px 0 9px;position:relative}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{border:1px solid var(--key-color);height:207px;bottom:9px}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{border:1px solid color-mix(in srgb,var(--key-color) 80%,#182038)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{background:linear-gradient(180deg, var(--key-color) 0%, var(--key-color) 71%, var(--key-color) 100%);border-radius:4px 4px 11px 11px}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{background:linear-gradient(180deg, color-mix(in srgb,var(--key-color) 73%,#fff) 0%, color-mix(in srgb,var(--key-color) 91%,#1a243d) 71%, color-mix(in srgb,var(--key-color) 69%,#17203a) 100%)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{box-shadow:inset 1px 2px #ffffff42, inset -3px 0 5px #08111f36, 0 7px 0 var(--key-color), 0 12px 18px #080f1c40}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{box-shadow:inset 1px 2px #ffffff42, inset -3px 0 5px #08111f36, 0 7px 0 color-mix(in srgb,var(--key-color) 56%,#0e172e), 0 12px 18px #080f1c40}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{border:1px solid var(--key-color);height:135px;top:14px}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{border:1px solid color-mix(in srgb,var(--key-color) 40%,#0f1525)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{background:linear-gradient(160deg, var(--key-color), var(--key-color));border-radius:3px 3px 9px 9px}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{background:linear-gradient(160deg, color-mix(in srgb,var(--key-color) 35%,#1c2339), color-mix(in srgb,var(--key-color) 13%,#080c17))}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{box-shadow:inset 1px 2px #ffffff2b, 0 7px 0 #090f1d,0 10px 13px #04081073, inset 0 0 0 1px var(--key-color)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{box-shadow:inset 1px 2px #ffffff2b, 0 7px 0 #090f1d,0 10px 13px #04081073, inset 0 0 0 1px color-mix(in srgb,var(--key-color) 25%,transparent)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-note,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-note,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-note{color:#fff;letter-spacing:.01em;text-shadow:0 2px 3px #070e2399,0 0 11px #070e2338;-webkit-text-stroke:.4px #02091759;z-index:10;white-space:nowrap;background:0 0;border:0;max-width:none;padding:0;font-size:clamp(1.35rem,2.4vw,2.25rem);font-weight:1000;line-height:1;position:absolute;top:50%;bottom:auto;left:50%;transform:translate(-50%,-50%)}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-note{font-size:clamp(.85rem,1.55vw,1.25rem);top:57%}.instrument-screen-shell .keyboard-variant-instrument .game-key-avatar-badge,.instrument-screen-shell .keyboard-variant-instrument .game-key-name,.instrument-screen-shell .keyboard-variant-instrument .game-key-binding{display:none}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-accent{background:#fff9;height:4px;bottom:7px;left:22%;right:22%}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key:active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.active{filter:brightness(1.2);box-shadow:inset 0 0 0 3px #ffffff73, 0 2px 0 #101627,0 0 22px var(--key-color);transform:translateY(5px)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key:active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.active{box-shadow:inset 0 0 0 3px #ffffff73, 0 2px 0 #101627,0 0 22px color-mix(in srgb,var(--key-color) 67%,transparent)}}@media (max-width:760px){.instrument-screen-shell .keyboard-variant-instrument{border-radius:18px;width:100%;padding:8px;box-shadow:0 8px #0d1324,0 15px 28px #151c2d38}.instrument-screen-shell .keyboard-variant-instrument .instrument-console{border-radius:12px 12px 5px 5px;grid-template-columns:minmax(0,1fr);gap:12px;padding:12px 12px 15px;display:grid}.instrument-screen-shell .instrument-console-display{gap:7px}.instrument-screen-shell .instrument-controller-brand{font-size:.78rem}.instrument-screen-shell .instrument-controller-brand strong{display:inline}.instrument-screen-shell .keyboard-variant-instrument .instrument-lcd{min-height:65px;padding:8px 11px}.instrument-screen-shell .instrument-lcd strong{font-size:1.08rem}.instrument-screen-shell .instrument-pad-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}.instrument-screen-shell .instrument-drum-pad{border-width:2px;border-radius:10px;min-height:63px;padding:6px}.instrument-screen-shell .instrument-drum-pad span{font-size:.64rem}.instrument-screen-shell .instrument-drum-pad kbd{font-size:.61rem}.instrument-playability-tools{padding:10px 6px 1px}.instrument-octave-toggle{display:inline-block}.instrument-screen-shell .keyboard-variant-instrument.with-instrument-panel .game-keyboard-scroll{overscroll-behavior-x:contain;padding:8px 7px 12px;overflow:auto hidden}.instrument-screen-shell .keyboard-variant-instrument .game-keyboard.piano-layout{width:620px;min-width:620px;height:198px;margin:0;padding:12px 0 7px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{height:170px;bottom:7px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.black-key{height:112px;top:12px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key-note{font-size:1.65rem}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-note{font-size:1rem}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .game-keyboard.piano-layout{width:100%;min-width:0;height:166px}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .game-key.white-key{height:140px}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .game-key.black-key{height:94px}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .game-key-note{font-size:1rem}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .black-key .game-key-note{font-size:.68rem}}@media (prefers-reduced-motion:reduce){.instrument-screen-shell .instrument-drum-pad{transition:none}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key{border-style:solid;border-color:var(--key-color);background:linear-gradient(90deg,#f0f2f6 0%,#fff 13% 84%,#edf0f5 100%);border-width:0 3px 6px;border-radius:3px 3px 10px 10px;box-shadow:inset 0 1px #fffffffa,inset 0 -4px 7px #242e4814,0 6px #b8bec9,0 11px 18px #080f1c38}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:first-child{border-left-width:6px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:last-child{border-right-width:6px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-note{color:#263047;text-shadow:none;-webkit-text-stroke:0;font-size:clamp(1.55rem,2.6vw,2.2rem);top:auto;bottom:51px;left:50%;transform:translate(-50%)}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{z-index:10;border:1px solid var(--key-color);width:max-content;max-width:calc(100% - 10px);margin:0;padding:5px 8px 4px;display:block;position:absolute;inset:auto auto 14px 50%;transform:translate(-50%)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{border:1px solid color-mix(in srgb,var(--key-color) 35%,white)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{background:var(--key-color);border-radius:6px}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{background:color-mix(in srgb,var(--key-color) 18%,white)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{color:#27314a;text-shadow:none;text-align:center;opacity:1;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;font-size:.72rem;font-weight:850;line-height:1.1;overflow:hidden;box-shadow:0 1px 3px #1922381a}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-name,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-accent{display:none}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-accent{background:var(--key-color)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-accent{background:color-mix(in srgb,var(--key-color) 54%,white)}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .black-key .game-key-accent{height:3px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key.active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:active{filter:brightness(1.03);background:linear-gradient(180deg, var(--key-color), var(--key-color));transform:translateY(5px)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key.active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:active{background:linear-gradient(180deg, color-mix(in srgb,var(--key-color) 8%,white), color-mix(in srgb,var(--key-color) 14%,#edf2fa))}}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key.active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:active{box-shadow:inset 0 2px 8px #171f371c, 0 1px 0 #aeb6c3, 0 0 20px var(--key-color)}@supports (color:color-mix(in lab, red, red)){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key.active,.instrument-screen-shell .keyboard-variant-instrument .piano-layout .game-key.white-key:active{box-shadow:inset 0 2px 8px #171f371c, 0 1px 0 #aeb6c3, 0 0 20px color-mix(in srgb,var(--key-color) 30%,transparent)}}@media (max-width:760px){.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-note{font-size:1.55rem;bottom:47px}.instrument-screen-shell .keyboard-variant-instrument .piano-layout .white-key .game-key-name{padding:4px 6px 3px;font-size:.64rem;bottom:12px}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .white-key .game-key-note{font-size:.95rem;bottom:39px}.instrument-screen-shell .keyboard-variant-instrument.fit-octave .piano-layout .white-key .game-key-name{letter-spacing:-.02em;border-radius:4px;max-width:calc(100% - 4px);padding:3px 2px 2px;font-size:.46rem;bottom:10px}}.lesson-intro-layout{gap:12px;display:grid}.lesson-theory-card{isolation:isolate;color:#493b27;background:linear-gradient(125deg,#fff8cc,#ffed91 62%,#ffe376);border:1px solid #e4c459;border-radius:23px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;padding:18px 22px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 25px #6f541821,inset 0 1px #ffffffbf}.lesson-theory-decor{z-index:-1;color:#b37f071c;pointer-events:none;font-size:11rem;font-weight:900;animation:4.5s ease-in-out infinite alternate lesson-theory-sway;position:absolute;top:-46px;right:27%}.lesson-theory-copy{min-width:0;position:relative}.lesson-theory-eyebrow{color:#866008;letter-spacing:.11em;margin-bottom:5px;font-size:.67rem;font-weight:950;display:block}.lesson-theory-copy h2{margin:0;font-size:clamp(1.12rem,2.3vw,1.4rem);font-weight:950;line-height:1.16}.lesson-theory-copy p{max-width:64ch;margin:7px 0 4px;font-size:.86rem;font-weight:730;line-height:1.38}.lesson-theory-copy small{color:#75603c;font-size:.74rem;font-weight:700;line-height:1.35;display:block}.lesson-theory-example{justify-items:center;gap:8px;min-width:170px;display:grid}.lesson-theory-example strong{color:#744b08;white-space:nowrap;font-size:1.28rem;font-weight:950}.lesson-theory-beats{gap:8px;display:flex}.lesson-theory-beats span{color:#7b5d1f;background:#ffffff85;border:1px solid #debf60;border-radius:50%;place-items:center;width:25px;height:25px;font-size:.74rem;font-weight:950;transition:transform .12s,background .12s;display:grid}.lesson-theory-beats span.is-beating{color:#fff7cb;background:#5d4b2b;transform:scale(1.22)}.lesson-theory-example button{color:#fff9e9;cursor:pointer;touch-action:manipulation;background:#574327;border:0;border-radius:10px;min-height:37px;padding:7px 11px;font-size:.73rem;font-weight:900}.lesson-theory-example button:disabled{opacity:.72;cursor:default}.lesson-theory-example button:focus-visible{outline-offset:3px;outline:3px solid #724edd}@keyframes lesson-theory-sway{0%{transform:translateY(-7px)rotate(-10deg)}to{transform:translateY(8px)rotate(8deg)}}@media (max-width:760px){.topbar,.song-screen-shell .topbar,.lesson-screen-shell .topbar{gap:8px;padding:8px 10px}.brand-mini .brand-logo-topbar,.song-screen-shell .brand-mini .brand-logo-topbar,.lesson-screen-shell .brand-mini .brand-logo-topbar,.world-screen-shell .brand-mini .brand-logo-topbar{width:clamp(172px,49vw,230px);max-height:62px}.world-screen-shell .brand-mini .brand-logo-topbar{max-height:52px}.topbar .sound-button{min-height:38px;padding:7px 8px;font-size:.71rem}.start-splash-logo-wrap{width:min(98%,460px)}.lesson-dialogue-scene{grid-template-rows:clamp(225px,32dvh,278px) auto}.lesson-dialogue-cast{min-height:225px}.lesson-dialogue-portrait{width:min(275px,78vw);height:clamp(249px,34dvh,300px)}.lesson-dialogue-cast.duet .lesson-dialogue-portrait{width:min(205px,55vw)}.lesson-theory-card{gap:12px;padding:15px}.lesson-theory-example{min-width:145px}}@media (max-width:520px){.lesson-theory-card{border-radius:18px;grid-template-columns:minmax(0,1fr);gap:10px;padding:13px 15px}.lesson-theory-eyebrow{font-size:.59rem}.lesson-theory-copy h2{font-size:1.11rem}.lesson-theory-copy p{margin-top:5px;font-size:.78rem}.lesson-theory-copy small{font-size:.7rem}.lesson-theory-example{border-top:1px solid #8c6e1838;flex-wrap:wrap;justify-content:space-between;gap:9px;min-width:0;padding-top:8px;display:flex}.lesson-theory-example strong{font-size:1.05rem}.lesson-theory-beats{gap:4px}.lesson-theory-beats span{width:22px;height:22px;font-size:.67rem}.lesson-theory-example button{min-height:38px}}@media (max-width:420px){.brand-mini .brand-logo-topbar,.song-screen-shell .brand-mini .brand-logo-topbar,.lesson-screen-shell .brand-mini .brand-logo-topbar,.world-screen-shell .brand-mini .brand-logo-topbar{width:clamp(164px,48vw,201px)}.lesson-dialogue-scene{grid-template-rows:218px auto}.lesson-dialogue-cast{min-height:218px}.lesson-dialogue-portrait{width:min(252px,75vw);height:258px}.lesson-dialogue-cast.duet .lesson-dialogue-portrait{width:min(185px,54vw)}}@media (prefers-reduced-motion:reduce){.lesson-theory-decor{animation:none}.lesson-theory-beats span{transition:none}}.instrument-screen-shell .keyboard-variant-instrument .instrument-console{grid-template-columns:minmax(160px,.72fr) minmax(0,1.5fr);gap:20px;min-height:0;padding:15px 18px}.instrument-screen-shell .instrument-console-display{flex-direction:column;justify-content:center;gap:9px;display:flex}.instrument-screen-shell .instrument-controller-subtitle{color:#bdc5d9;letter-spacing:.12em;font-size:.58rem;font-weight:850}@media (max-width:760px){.instrument-screen-shell .keyboard-variant-instrument .instrument-console{grid-template-columns:minmax(0,1fr);gap:9px;padding:11px}.instrument-screen-shell .instrument-console-display{gap:3px}.instrument-screen-shell .instrument-controller-brand{font-size:.8rem}.instrument-screen-shell .instrument-controller-subtitle{font-size:.53rem}}.world-one-intro{width:100%;max-width:1080px;margin:0 auto}.jrpg-scene{--dialogue-color:#755cdb;min-height:clamp(340px,48vh,500px)}.jrpg-stage{z-index:2;flex-direction:column;align-self:stretch;min-width:0;display:flex;position:relative}.jrpg-location{color:#554f80;background:#ffffffba;border:1px solid #ffffffad;border-radius:100px;align-self:flex-start;padding:6px 12px;font-size:.72rem;font-weight:900;display:inline-flex}.jrpg-scene .lesson-dialogue-cast{flex:1;justify-content:center;align-items:flex-end;gap:0;min-height:170px;padding:4px 0 0;display:flex}.jrpg-portrait{opacity:.75;filter:saturate(.7);flex-direction:column;flex:1 1 0;justify-content:flex-end;align-items:center;min-width:0;max-width:240px;height:min(34vh,310px);transition:transform .3s,opacity .3s,filter .3s;display:flex;position:relative;transform:translateY(7px)scale(.94)}.jrpg-portrait.is-speaking{opacity:1;filter:drop-shadow(0 12px 18px #272c532b);z-index:2;transform:translateY(0)scale(1.04)}.jrpg-portrait img{object-fit:contain;object-position:center bottom;width:100%;height:calc(100% - 20px);min-height:0}.jrpg-portrait small{color:#535079;z-index:2;background:#fffef9ef;border-radius:100px;margin-top:-5px;padding:3px 11px;font-size:.68rem;font-weight:900;position:relative}.jrpg-scene .lesson-dialogue-bubble{min-height:214px}.jrpg-scene .lesson-dialogue-bubble p{min-height:96px}.jrpg-turn-progress{justify-content:center;gap:6px;padding-top:8px;display:flex}.jrpg-turn-progress span{background:#d7d6e8;border-radius:20px;width:8px;height:6px;display:block}.jrpg-turn-progress span.active{background:var(--dialogue-color);width:24px}.jrpg-turn-progress span.done{background:#9ddbbf}.jrpg-quiz{background:linear-gradient(135deg,#fffef6,#f4f3ff);border:1px solid #e1def3;border-radius:26px;grid-template-columns:minmax(0,1.05fr) minmax(180px,.55fr);align-items:start;column-gap:20px;width:100%;margin:0;padding:clamp(16px,3vw,26px);display:grid}.jrpg-quiz .lesson-theory-copy{grid-column:1}.jrpg-quiz .lesson-theory-copy h2{line-height:1.14}.jrpg-quiz .lesson-theory-example{grid-area:1/2/3}.jrpg-quiz-task{border-top:1px solid #e6e2f0;grid-column:1/-1;gap:11px;margin-top:14px;padding-top:13px;display:grid}.jrpg-quiz-task h3{color:#37335a;margin:0;font-size:clamp(.94rem,1.8vw,1.2rem)}.jrpg-quiz-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.jrpg-quiz-choices button{cursor:pointer;color:#403b5c;background:#fff;border:2px solid #d9d7ea;border-radius:16px;min-height:55px;padding:9px 11px;font-size:.83rem;font-weight:850}.jrpg-quiz-choices button.correct{color:#216242;background:#e0f6e9;border-color:#4ca475}.jrpg-quiz-choices button.wrong{color:#a53b34;background:#fff1f0;border-color:#e4a29e}.jrpg-quiz-choices button:focus-visible,.jrpg-quiz-start:focus-visible,.world-one-pulse-pad:focus-visible{outline-offset:2px;outline:3px solid #5e4be1}.jrpg-quiz-feedback{color:#66637d;margin:0;font-size:.8rem;font-weight:750}.jrpg-quiz-start{color:#fff;cursor:pointer;background:linear-gradient(120deg,#6751db,#9c5fdc);border:0;border-radius:14px;min-height:45px;font-weight:950}.jrpg-quiz-start:disabled{color:#6c6783;cursor:default;background:#e1deef}.world-one-pulse-pad{color:#49409d;cursor:pointer;touch-action:manipulation;background:radial-gradient(circle at 50% 15%,#fff,#f0eaff);border:3px solid #d1c8ff;border-radius:26px;flex-direction:column;justify-content:center;align-items:center;gap:6px;width:min(100%,420px);min-height:176px;margin:12px auto;font-size:1rem;display:flex;box-shadow:0 8px #d1c8f5}.world-one-pulse-pad:active:not(:disabled){transform:translateY(5px);box-shadow:0 3px #d1c8f5}.world-one-pulse-pad:disabled{opacity:.6;cursor:default}.world-one-pulse-pad span{font-size:3rem;line-height:1}.world-one-pulse-pad strong{font-size:1.15rem}.world-one-pulse-pad small{color:#6c648e;font-weight:800}.world-screen-shell .section-head h1{font-size:clamp(1.1rem,3.25vw,2.1rem)}@media (max-width:760px){.lesson-screen-shell .lesson-flow-wrap{max-width:560px}.jrpg-scene{grid-template-rows:minmax(115px,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:6px;height:min(76dvh,550px);min-height:0;padding:10px;overflow:hidden}.jrpg-stage{min-height:0}.jrpg-location{padding:3px 9px;font-size:.62rem}.jrpg-scene .lesson-dialogue-cast{align-items:flex-end;min-height:0;overflow:hidden}.jrpg-portrait{max-width:160px;height:100%;min-height:0}.jrpg-portrait img{height:calc(100% - 18px)}.jrpg-portrait small{padding:2px 7px;font-size:.59rem}.jrpg-scene .lesson-dialogue-bubble{border-radius:19px;align-self:end;min-height:0;padding:12px 14px}.jrpg-scene .lesson-dialogue-bubble p{min-height:58px;font-size:clamp(.78rem,3.3vw,.96rem);line-height:1.34}.jrpg-scene .lesson-dialogue-speaker{margin-bottom:5px}.jrpg-scene .lesson-dialogue-speaker>span{letter-spacing:0;padding:3px 6px;font-size:.52rem;display:inline}.jrpg-scene .lesson-dialogue-continue{min-height:37px;padding:6px 9px;font-size:.72rem}.jrpg-turn-progress{padding-top:5px}.jrpg-quiz{border-radius:20px;grid-template-columns:minmax(0,1fr);gap:5px;max-height:min(76dvh,555px);padding:11px 12px;overflow-y:auto}.jrpg-quiz .lesson-theory-copy{grid-column:1}.jrpg-quiz .lesson-theory-copy h2{margin:3px 0;font-size:1.13rem}.jrpg-quiz .lesson-theory-copy p{font-size:.78rem;line-height:1.35}.jrpg-quiz .lesson-theory-copy small{font-size:.7rem;line-height:1.3}.jrpg-quiz .lesson-theory-example{grid-area:auto/1;justify-content:space-between;align-items:center;gap:7px;min-height:52px;padding:4px 8px;display:flex}.jrpg-quiz .lesson-theory-example strong{font-size:.82rem}.jrpg-quiz .lesson-theory-beats{gap:3px}.jrpg-quiz .lesson-theory-beats span{width:24px;height:24px;font-size:.62rem}.jrpg-quiz .lesson-theory-example button{min-height:32px;padding:5px 8px;font-size:.68rem}.jrpg-quiz-task{grid-column:1;gap:8px;margin-top:4px;padding-top:9px}.jrpg-quiz-task h3{font-size:.88rem}.jrpg-quiz-choices{grid-template-columns:1fr;gap:5px}.jrpg-quiz-choices button{text-align:left;min-height:37px;padding:7px 9px;font-size:.76rem}.jrpg-quiz-feedback{font-size:.72rem}.jrpg-quiz-start{min-height:39px}}@media (max-width:430px) and (max-height:700px){.jrpg-scene{height:min(74dvh,465px)}.jrpg-scene .lesson-dialogue-bubble{padding:9px 11px}.jrpg-scene .lesson-dialogue-bubble p{min-height:53px}}@media (prefers-reduced-motion:reduce){.jrpg-portrait,.jrpg-portrait.is-speaking{transition:none;transform:none}.jrpg-scene,.jrpg-scene .lesson-dialogue-bubble{animation:none}}.jrpg-quiz-relisten{color:#6150ac;cursor:pointer;text-align:center;background:#fff;border:1px solid #c9c0ec;border-radius:11px;justify-content:center;align-items:center;margin-top:10px;padding:7px 11px;font-size:.75rem;font-weight:850;display:inline-flex}.jrpg-quiz-relisten:focus-visible{outline-offset:2px;outline:3px solid #7056d4}@media (max-width:760px){.jrpg-quiz-relisten{min-height:32px;margin-top:5px;padding:5px 8px;font-size:.69rem}}.world-journey-mobile{display:flex}@media (min-width:0){.world-screen-shell{overscroll-behavior:none;background:linear-gradient(#e4f3ff 0%,#f2ecff 42%,#fdf5e6 100%);flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.world-screen-shell .topbar{flex:none;max-width:560px;min-height:0;padding:5px 12px 2px}.world-screen-shell .brand-mini{min-height:36px;padding:0}.world-screen-shell .brand-mini .brand-logo-topbar{width:clamp(141px,41vw,190px);max-height:38px}.world-screen-shell .sound-button{border-radius:12px;min-height:34px;padding:6px 8px;font-size:.68rem}.world-screen-shell .world-wrap{flex-direction:column;flex:auto;gap:0;max-width:560px;min-height:0;padding:2px 11px 0;display:flex;overflow:hidden}.world-screen-shell .section-head{flex:none;width:100%;margin:0 0 5px;padding:0 4px;display:block}.world-screen-shell .section-head>div:first-child{align-items:center;gap:8px;min-height:31px;display:flex}.world-screen-shell .section-head .eyebrow{letter-spacing:.04em;border-radius:8px;flex:none;padding:4px 7px;font-size:.58rem;line-height:1.1}.world-screen-shell .section-head h1{letter-spacing:-.035em;color:#383b77;min-width:0;margin:0;font-size:clamp(1.04rem,4vw,1.32rem);line-height:1.06}.world-screen-shell .section-head p,.world-screen-shell .section-head-actions,.world-screen-shell .world-progress-heading,.world-screen-shell .world-wrap>.progress-track,.world-screen-shell .world-desktop-lessons,.world-screen-shell .world-desktop-narrator,.world-screen-shell .footer-actions{display:none!important}.world-screen-shell .world-journey-mobile{flex-direction:column;flex:auto;gap:5px;width:100%;min-height:0;display:flex}.journey-toolbar{flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:38px;padding:2px 4px 0;display:flex}.journey-counter{flex-direction:column;flex-shrink:0;gap:0;display:flex}.journey-counter>span{color:#7a7594;letter-spacing:.09em;font-size:.54rem;font-weight:1000;line-height:1}.journey-counter>strong{color:#544ac0;font-size:1.13rem;font-weight:1000;line-height:1.15}.journey-counter small{color:#867fad;font-size:.68rem}.journey-tool-links{justify-content:flex-end;align-items:center;gap:4px;min-width:0;display:flex}.journey-tool-links button{color:#59518b;white-space:nowrap;cursor:pointer;background:#ffffffdb;border:1px solid #e2dffc;border-radius:12px;min-width:0;min-height:31px;padding:5px 7px;font-size:clamp(.55rem,2.3vw,.68rem);font-weight:900}.journey-tool-links span{color:#7555d6;font-size:.86rem;font-weight:1000}.journey-progress{background:#e2d9f1;border-radius:10px;flex:0 0 5px;height:5px;margin:0 4px;overflow:hidden}.journey-progress>span{border-radius:inherit;background:linear-gradient(90deg,#ffac75,#e783cc,#8871e6);height:100%;transition:width .35s;display:block}.journey-stage{isolation:isolate;touch-action:pan-y;background:radial-gradient(at 18% 79%,#fffffff0,#0000 23%),radial-gradient(at 80% 16%,#ffffffd9,#0000 27%),linear-gradient(152deg,#dde3ffe6,#e4f8efe0 57%,#fff5d8e6);border:1px solid #fffffff0;border-radius:21px;flex:auto;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 0 38px #9e93d017,0 8px 22px #564a880f}.journey-landscape{z-index:0;pointer-events:none;opacity:.3;border-radius:50%;height:37%;position:absolute;left:-13%;right:-13%}.journey-landscape-top{background:#d2caff;top:-21%;transform:rotate(-7deg)}.journey-landscape-bottom{background:#b5e7d2;bottom:-24%;transform:rotate(9deg)}.journey-map-note{z-index:0;pointer-events:none;color:#b1a5e0;opacity:.53;font-size:clamp(1.2rem,4dvh,2rem);position:absolute}.journey-map-note-one{top:29%;right:9%;transform:rotate(-15deg)}.journey-map-note-two{top:71%;left:6%;transform:rotate(13deg)}.journey-map-note-three{top:48%;left:48%;transform:rotate(-18deg)}.journey-district{pointer-events:none;z-index:0;letter-spacing:.12em;color:#9d96bc;opacity:.8;font-size:.51rem;font-weight:1000;position:absolute}.journey-district-high{top:3%;left:37%}.journey-district-low{bottom:3%;left:35%}.journey-trail{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.journey-trail-glow{fill:none;stroke:#fff;stroke-width:3.4px;stroke-linecap:round;opacity:.8}.journey-trail-line{fill:none;stroke:#a899d7;stroke-width:.91px;stroke-linecap:round;stroke-dasharray:1.1 1.35;opacity:.66}.journey-stop{left:var(--journey-x);top:var(--journey-y);z-index:3;color:#484360;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex-direction:column;align-items:center;gap:4px;width:clamp(82px,26vw,114px);min-width:0;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.journey-stop-orbit{background:linear-gradient(150deg,#bcb2eb,#897ada);border:3px solid #fff;border-radius:50%;place-items:center;width:clamp(48px,8dvh,67px);height:clamp(48px,8dvh,67px);transition:transform .2s,box-shadow .2s;display:grid;position:relative;box-shadow:0 5px #ab9fd4,0 11px 14px #4c449124}.journey-stop.is-selected .journey-stop-orbit{border-color:#fff8b7;transform:scale(1.11);box-shadow:0 0 0 4px #fdda6ca6,0 5px #b79f6d,0 12px 20px #5f469545}.journey-stop.is-complete .journey-stop-orbit{background:linear-gradient(145deg,#9de6c5,#57ba9a);box-shadow:0 5px #66b59b,0 11px 15px #2d886b2b}.journey-stop.is-locked .journey-stop-orbit{background:linear-gradient(145deg,#d9dcea,#b7bacc);border-color:#f7f8fd;box-shadow:0 4px #afb3bf}.journey-stop-core{border-radius:50%;place-items:center;width:100%;height:100%;display:grid;overflow:hidden;box-shadow:inset 0 2px 9px #ffffff5e}.journey-stop .journey-stop-avatar{width:100%;height:100%;box-shadow:none;border:0;border-radius:50%;font-size:.8rem;overflow:hidden}.journey-stop .journey-stop-avatar .character-avatar-image{object-fit:cover;object-position:center 20%}.journey-stop.is-locked .journey-stop-avatar{filter:grayscale(.8);opacity:.7}.journey-stop-icon{color:#fff;text-shadow:0 2px 2px #2e295b21;font-size:clamp(1.2rem,3.7dvh,2rem);font-weight:1000;line-height:1}.journey-stop-index{color:#fff;background:#755ed6;border:2px solid #fff;border-radius:99px;place-items:center;min-width:22px;height:22px;font-size:.64rem;font-weight:1000;display:grid;position:absolute;top:-5px;right:-8px;box-shadow:0 3px 8px #30256929}.journey-stop.is-complete .journey-stop-index{background:#32a97c}.journey-stop.is-locked .journey-stop-index{background:#afb2c1;font-size:.65rem}.journey-stop-label{text-overflow:ellipsis;white-space:nowrap;color:#5e567f;background:#ffffffe8;border:1px solid #fffffff2;border-radius:8px;max-width:100%;padding:3px 6px;font-size:clamp(.59rem,2.35vw,.72rem);font-weight:900;line-height:1.1;display:block;overflow:hidden;box-shadow:0 2px 5px #554b870d}.journey-stop.is-locked .journey-stop-label{color:#8c8d9e;opacity:.84}.journey-stop.is-selected .journey-stop-label{color:#504592;background:#fff7d7;border-color:#ffe39a}.journey-stop:focus-visible{outline-offset:5px;border-radius:16px;outline:3px solid #7059ce}.journey-dock{padding:11px 12px max(6px,env(safe-area-inset-bottom));background:#fffffff7;border:1px solid #fffffffa;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;flex:none;gap:7px;display:flex;box-shadow:0 -5px 25px #3d34751c}.journey-dock-top{align-items:center;gap:10px;min-width:0;display:flex}.journey-dock-avatar{flex:0 0 54px;width:54px;height:54px}.journey-dock-avatar .journey-dock-character{border:2px solid #fff;border-radius:17px;width:54px;height:54px;box-shadow:0 6px 15px #323a5c21}.journey-dock-copy{flex:1;min-width:0}.journey-dock-meta{align-items:center;gap:7px;margin-bottom:3px;display:flex}.journey-dock-meta>span{letter-spacing:.085em;color:#7c72aa;font-size:.58rem;font-weight:1000}.journey-dock-meta strong{color:#867f9b;font-size:.59rem;font-weight:900}.journey-dock-meta strong.is-unlocked{color:#26936c}.journey-dock-meta strong.is-complete{color:#6652c2}.journey-dock-copy h2{color:#333657;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(.98rem,3.85vw,1.17rem);font-weight:1000;line-height:1.13;overflow:hidden}.journey-dock-copy p{color:#73738f;white-space:nowrap;text-overflow:ellipsis;margin:3px 0 0;font-size:.67rem;font-weight:750;line-height:1.16;overflow:hidden}.journey-dock-controls{grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:7px;display:grid}.journey-dock-arrow{color:#6557b2;cursor:pointer;background:#f6f3fe;border:1px solid #dedaf1;border-radius:14px;height:43px;font-size:1.75rem;font-weight:850}.journey-dock-arrow:disabled{opacity:.3;cursor:default}.journey-dock-play{color:#fff;white-space:nowrap;cursor:pointer;background:linear-gradient(115deg,#7354e7,#ad6bea);border:0;border-radius:15px;justify-content:center;align-items:center;gap:9px;width:100%;min-width:0;height:43px;padding:5px 9px;font-size:.91rem;font-weight:1000;display:flex;box-shadow:0 6px #6655be}.journey-dock-play:active:not(:disabled){transform:translateY(3px);box-shadow:0 3px #6655be}.journey-dock-play:disabled{color:#8b90a9;cursor:default;background:#dcdeea;font-size:.69rem;box-shadow:0 4px #c5c8d8}.journey-dock-play>span{font-size:.82rem}.journey-dock-extras{color:#8a86a3;justify-content:space-between;align-items:center;min-height:14px;padding:2px 2px 0;font-size:.57rem;font-weight:750;display:flex}.journey-settings{line-height:1;position:relative}.journey-settings summary{cursor:pointer;padding:1px 6px;font-size:.85rem;line-height:1;list-style:none}.journey-settings summary::-webkit-details-marker{display:none}.journey-settings button{z-index:20;color:#5f597b;cursor:pointer;background:#fff;border:1px solid #ddd8ee;border-radius:12px;width:max-content;min-height:38px;padding:9px 12px;font-size:.7rem;font-weight:900;position:absolute;bottom:20px;right:0;box-shadow:0 8px 23px #6555aa33}.journey-dock button:focus-visible,.journey-tool-links button:focus-visible{outline-offset:2px;outline:3px solid #6e58d7}}@media (min-width:0) and (max-height:670px){.world-screen-shell .world-wrap{gap:0;padding-top:0}.world-screen-shell .section-head{margin-bottom:2px}.world-screen-shell .topbar{padding-top:2px;padding-bottom:0}.journey-toolbar{min-height:34px}.journey-dock{padding:8px 10px max(4px,env(safe-area-inset-bottom));gap:5px}.journey-dock-avatar{flex-basis:45px;width:45px;height:45px}.journey-dock-avatar .journey-dock-character{width:45px;height:45px}.journey-dock-controls{grid-template-columns:35px minmax(0,1fr) 35px}.journey-dock-arrow,.journey-dock-play{height:39px}.journey-stop-orbit{width:clamp(41px,8.1dvh,50px);height:clamp(41px,8.1dvh,50px)}.journey-stop{gap:3px}.journey-stop-label{font-size:.56rem}}@media (min-width:0) and (max-height:530px){.world-screen-shell{height:100dvh;min-height:0;overflow:hidden}.world-screen-shell .world-wrap{min-height:0;overflow:hidden}.world-screen-shell .brand-mini{min-height:28px}.world-screen-shell .brand-mini .brand-logo-topbar{max-height:30px}.world-screen-shell .sound-button{min-height:28px}.world-screen-shell .section-head{margin:0}.journey-toolbar{min-height:27px}.journey-tool-links button{min-height:27px;padding:3px 5px}.journey-stop-orbit{width:38px;height:38px}.journey-stop-index{min-width:19px;height:19px;font-size:.55rem}.journey-stop-label{padding:2px 4px;font-size:.52rem}.journey-dock{padding:5px 8px max(3px,env(safe-area-inset-bottom))}.journey-dock-avatar{flex-basis:39px;width:39px;height:39px}.journey-dock-avatar .journey-dock-character{width:39px;height:39px}.journey-dock-controls{grid-template-columns:32px minmax(0,1fr) 32px}.journey-dock-arrow,.journey-dock-play{height:34px}.journey-dock-extras{display:none}}@media (prefers-reduced-motion:reduce){.journey-stop-orbit,.journey-progress>span{transition:none!important}}@media (min-width:0){.world-screen-shell .journey-stage{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;scroll-behavior:auto;touch-action:pan-y;background:#e9f3ff;flex:auto;min-height:0;overflow:hidden auto}.world-screen-shell .journey-stage::-webkit-scrollbar{display:none}.journey-map-sheet{isolation:isolate;background:radial-gradient(at 32% 11%,#ffffffd1 0 5%,#0000 19%),radial-gradient(at 83% 33%,#cbfde899,#0000 23%),radial-gradient(at 24% 59%,#f9dfff9e,#0000 20%),radial-gradient(at 80% 85%,#fff1c1e6,#0000 28%),linear-gradient(#dcd5ff 0%,#e4f1fa 28%,#d9f3e6 61%,#fff1ce 100%);width:100%;height:1790px;min-height:1790px;position:relative;overflow:hidden}.journey-map-sheet:before{content:"";pointer-events:none;opacity:.4;background-image:radial-gradient(#fff 1.5px,#0000 2px);background-position:8px 17px;background-size:36px 46px;position:absolute;inset:0}.world-screen-shell .journey-trail{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.world-screen-shell .journey-trail-glow{stroke-width:5.2px;opacity:.95}.world-screen-shell .journey-trail-line{stroke-width:1.15px;stroke-dasharray:2 1.7;opacity:.67}.journey-stop-group{left:var(--journey-x);top:var(--journey-y);z-index:3;width:110px;height:114px;position:absolute;transform:translate(-50%,-50%)}.world-screen-shell .journey-stop-group .journey-stop{z-index:3;gap:4px;width:110px;max-width:110px;height:110px;position:relative;top:auto;left:auto;transform:none}.world-screen-shell .journey-stop-orbit{flex-shrink:0;width:clamp(56px,7dvh,72px);height:clamp(56px,7dvh,72px)}.world-screen-shell .journey-stop-label{letter-spacing:-.015em;color:#453b70;white-space:normal;text-overflow:clip;overflow-wrap:break-word;text-align:center;background:#fffffff5;border:1px solid #d8d0f3e6;width:max-content;min-width:116px;max-width:148px;padding:6px 9px;font-size:clamp(.86rem,3.55vw,.99rem);font-weight:950;line-height:1.13;box-shadow:0 4px 10px #5142841c}.journey-hero{pointer-events:none;z-index:2;filter:drop-shadow(0 8px 6px #5e517e24);width:120px;height:154px;position:absolute;top:-42px}.journey-hero-left{right:calc(100% - 1px)}.journey-hero-right{left:calc(100% - 1px)}.journey-hero:after{content:"";z-index:-1;filter:blur(5px);background:#5c50792b;border-radius:50%;height:12px;position:absolute;bottom:8px;left:18%;right:18%}.journey-hero-figures{justify-content:center;align-items:flex-end;gap:0;width:100%;height:100%;display:flex;position:relative}.journey-hero-figure{object-fit:contain;object-position:center bottom;filter:drop-shadow(0 5px 4px #52417224);flex:0 100%;width:100%;min-width:0;height:100%;max-height:150px}.journey-hero-figures:has(.journey-hero-figure:nth-child(2)) .journey-hero-figure{flex-basis:50%;width:50%;max-width:74px;height:116px}.journey-hero.is-ensemble{width:140px}.journey-hero.is-ensemble .journey-hero-figures{flex-wrap:wrap;place-content:center;align-items:flex-end;gap:0}.journey-hero.is-ensemble .journey-hero-figure{flex-basis:50%;width:50%;height:77px;max-height:77px}.journey-stop-group.is-locked .journey-hero{opacity:.45;filter:grayscale(.55)}.journey-stop-group.is-focused .journey-hero{opacity:1;filter:drop-shadow(0 12px 10px #7556a936)}.journey-hero-greeting{color:#6b4cb5;white-space:nowrap;background:#fffffff5;border:1px solid #fff;border-radius:12px 12px 12px 2px;padding:5px 7px;font-size:.63rem;font-weight:1000;position:absolute;top:0;right:-6px;box-shadow:0 4px 14px #63528b17}.journey-stop-group.is-focused .journey-stop-orbit{border-color:#fff4a4;box-shadow:0 0 0 4px #ffe0848c,0 7px #b39967,0 12px 18px #594f8f30}.world-screen-shell .journey-district-high{top:104px;left:12%}.world-screen-shell .journey-district-low{bottom:66px;left:18%}.world-screen-shell .journey-map-note-one{top:19%;right:7%}.world-screen-shell .journey-map-note-two{top:54%;left:7%}.world-screen-shell .journey-map-note-three{top:81%;left:48%}.world-screen-shell .journey-landscape-top{height:13%;top:4%}.world-screen-shell .journey-landscape-bottom{height:14%;bottom:3%}.world-screen-shell .journey-dock{z-index:9;flex:none;position:relative}.world-screen-shell .journey-dock-extras{align-items:center;gap:8px;min-height:18px;padding:2px 2px 0;display:flex}.journey-reset-button{color:#786b9c;cursor:pointer;white-space:nowrap;background:#f9f6ff;border:1px solid #ded7ee;border-radius:10px;align-items:center;gap:4px;padding:5px 8px;font-size:.63rem;font-weight:900;display:inline-flex}.journey-reset-confirm{justify-content:space-between;align-items:center;gap:5px;width:100%;display:flex}.journey-reset-confirm strong{color:#615279;font-size:.66rem;line-height:1.2}.journey-reset-confirm button{color:#685c86;cursor:pointer;background:#f2edf9;border:0;border-radius:9px;min-height:28px;padding:5px 8px;font-size:.66rem;font-weight:900}.journey-reset-confirm button.is-danger{color:#a13c39;background:#ffe3e1}}@media (min-width:0) and (max-height:670px){.journey-hero{width:104px;height:130px;top:-30px}.journey-hero-figure{max-height:125px}.journey-hero-figures:has(.journey-hero-figure:nth-child(2)) .journey-hero-figure{height:100px}.world-screen-shell .journey-stop-orbit{width:clamp(48px,7dvh,59px);height:clamp(48px,7dvh,59px)}}@media (min-width:0) and (max-height:530px){.world-screen-shell .journey-stage{min-height:0;overflow-y:auto}.journey-stop-group{height:114px}.journey-hero{height:114px;top:-18px}.journey-hero-figure{max-height:110px}}@media (prefers-reduced-motion:reduce){.journey-hero,.journey-hero-figure{transition:none;animation:none}}.character-gallery-wrap{max-width:1180px}.character-gallery-wrap .section-head{align-items:center;margin-bottom:15px}.character-gallery-wrap .section-head h1{letter-spacing:-.04em}.hero-gallery{flex-direction:column;gap:13px;display:flex}.hero-gallery-filters{flex-wrap:wrap;align-items:center;gap:7px;padding:0 1px 3px;display:flex}.hero-gallery-filter{color:#746c92;cursor:pointer;background:#ffffffc4;border:1px solid #877ebe24;border-radius:12px;align-items:center;gap:7px;padding:8px 11px;font-size:.76rem;font-weight:900;transition:background .18s,border-color .18s,transform .18s;display:flex}.hero-gallery-filter>span{color:#786d9e;background:#ece9f9;border-radius:6px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:.66rem;display:grid}.hero-gallery-filter.is-current{color:#fff;background:#6c5bd8;border-color:#6c5bd8}.hero-gallery-filter.is-current>span{color:#fff;background:#ffffff30}.hero-gallery-filter:hover:not(.is-current){background:#fff;transform:translateY(-1px)}.hero-gallery-filter:focus-visible,.hero-gallery-card:focus-visible{outline-offset:3px;outline:3px solid #6955d7}.hero-gallery-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(10px,1.8vw,18px);display:grid}.hero-gallery-card{--hero-glow:var(--hero-tone)}@supports (color:color-mix(in lab, red, red)){.hero-gallery-card{--hero-glow:color-mix(in srgb,var(--hero-tone) 30%,white)}}.hero-gallery-card{text-align:left;color:#353659;cursor:pointer;isolation:isolate;background:#ffffffe0;border:1px solid #fffffffa;border-radius:26px;flex-direction:column;align-items:stretch;min-width:0;padding:8px;transition:transform .3s cubic-bezier(.2,.8,.2,1),box-shadow .3s,border-color .3s;display:flex;position:relative;overflow:visible;box-shadow:0 7px #8284a61c,0 12px 32px #42497b14}.hero-gallery-card:hover,.hero-gallery-card.is-selected{border-color:var(--hero-tone);transform:translateY(-5px)}@supports (color:color-mix(in lab, red, red)){.hero-gallery-card:hover,.hero-gallery-card.is-selected{border-color:color-mix(in srgb,var(--hero-tone) 38%,white)}}.hero-gallery-card:hover,.hero-gallery-card.is-selected{box-shadow:0 6px 0 var(--hero-tone),0 18px 33px #3d3c7921}@supports (color:color-mix(in lab, red, red)){.hero-gallery-card:hover,.hero-gallery-card.is-selected{box-shadow:0 6px 0 color-mix(in srgb,var(--hero-tone) 27%,#abb1c5),0 18px 33px #3d3c7921}}.hero-gallery-stage{aspect-ratio:1;isolation:isolate;background:linear-gradient(180deg, #ffffffeb 0%, #ffffffd1 52.9%, var(--hero-tone) 53%, var(--hero-tone) 100%);border-radius:19px;width:100%;display:block;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.hero-gallery-stage{background:linear-gradient(180deg, #ffffffeb 0%, #ffffffd1 52.9%, color-mix(in srgb,var(--hero-tone) 55%,white) 53%, color-mix(in srgb,var(--hero-tone) 72%,white) 100%)}}.hero-gallery-stage{box-shadow:inset 0 0 0 1px #ffffffb3}.hero-gallery-stage:after{content:"";z-index:1;pointer-events:none;filter:blur(8px);background:#372e5521;border-radius:50%;height:8%;transition:transform .32s;position:absolute;bottom:7%;left:18%;right:18%}.hero-gallery-light{z-index:0;opacity:.85;background:radial-gradient(circle,#ffffffe0 0 9%,#ffffff1a 67%,#0000 71%);border-radius:50%;width:75%;height:75%;position:absolute;top:1%;left:12%}.hero-gallery-orbit{aspect-ratio:1;z-index:0;opacity:.57;border:2px solid #ffffffa1;border-radius:50%;width:68%;transition:transform .55s cubic-bezier(.2,.8,.2,1),opacity .3s;position:absolute;top:15%;left:16%}.hero-gallery-figure{z-index:2;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 9px 9px #2c274829);transform-origin:50% 88%;pointer-events:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;transition:transform .42s cubic-bezier(.2,.85,.24,1),filter .4s;display:block;position:absolute;bottom:0;left:0;transform:translateY(1%)scale(.89)}.hero-gallery-card:hover .hero-gallery-figure,.hero-gallery-card.is-selected .hero-gallery-figure{filter:drop-shadow(0 15px 12px #2d274d36);transform:translateY(-1%)scale(.96)rotate(-1deg)}.hero-gallery-card:hover .hero-gallery-orbit,.hero-gallery-card.is-selected .hero-gallery-orbit{opacity:.9;transform:scale(1.15)rotate(14deg)}.hero-gallery-key{z-index:3;color:#4c46696b;font-size:.8rem;font-weight:850;position:absolute;top:11px;right:12px}.hero-gallery-note{z-index:4;color:#343452;background:#fffffff0;border:2px solid #fffffff0;border-radius:14px;place-items:center;min-width:43px;height:43px;padding:3px 9px;font-size:clamp(1rem,2.2vw,1.4rem);font-weight:1000;line-height:1;display:grid;position:absolute;bottom:10px;left:11px;box-shadow:0 5px 11px #3433581f}.hero-gallery-spark{z-index:3;pointer-events:none;color:var(--hero-tone);position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-gallery-spark{color:color-mix(in srgb,var(--hero-tone) 68%,#5b4ab8)}}.hero-gallery-spark{opacity:0;font-size:1.25rem;line-height:1;transition:transform .42s,opacity .2s}.hero-gallery-spark-a{top:17%;left:8%;transform:translate(-6px,12px)rotate(-20deg)}.hero-gallery-spark-b{top:30%;right:9%;transform:translate(6px,8px)rotate(20deg)}.hero-gallery-card:hover .hero-gallery-spark,.hero-gallery-card.is-selected .hero-gallery-spark{opacity:.83;transform:translate(0)rotate(0)}.hero-gallery-fallback{color:var(--hero-tone);place-items:center;font-size:4rem;font-weight:1000;display:grid;position:absolute;inset:0}.hero-gallery-identity{flex-direction:column;gap:2px;min-width:0;padding:12px 9px 8px;display:flex}.hero-gallery-title{color:#303255;letter-spacing:-.035em;font-size:clamp(1.13rem,2.2vw,1.45rem);font-weight:1000;line-height:1.06}.hero-gallery-color{color:#757b95;font-size:.72rem;font-weight:820}.hero-gallery-role{text-overflow:ellipsis;white-space:nowrap;color:#66618a;min-height:1.25em;margin-top:6px;font-size:.72rem;font-weight:850;transition:color .18s;display:block;overflow:hidden}.hero-gallery-card.is-selected .hero-gallery-role{color:var(--hero-tone)}@supports (color:color-mix(in lab, red, red)){.hero-gallery-card.is-selected .hero-gallery-role{color:color-mix(in srgb,var(--hero-tone) 45%,#313052)}}.hero-gallery-card.is-selected .hero-gallery-role{white-space:normal;line-height:1.3}.hero-gallery-card-edge{background:var(--hero-tone);border-radius:99px 99px 0 0;height:3px;position:absolute;bottom:0;left:28%;right:28%}@supports (color:color-mix(in lab, red, red)){.hero-gallery-card-edge{background:color-mix(in srgb,var(--hero-tone) 78%,white)}}.hero-gallery-card-edge{opacity:.7;transition:left .25s,right .25s,opacity .25s}.hero-gallery-card:hover .hero-gallery-card-edge,.hero-gallery-card.is-selected .hero-gallery-card-edge{opacity:1;left:16%;right:16%}.hero-gallery-hint{text-align:center;color:#686b88;background:#ffffffbf;border-radius:999px;align-self:center;max-width:740px;padding:7px 14px;font-size:.74rem;font-weight:750;line-height:1.5}.hero-gallery-hint strong{color:#5e50ae}@media (max-width:920px){.hero-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:620px){.character-gallery-wrap{padding:9px 12px 28px}.character-gallery-wrap .section-head{align-items:center;gap:8px;margin:2px 0 12px}.character-gallery-wrap .section-head .eyebrow{padding:5px 8px;font-size:.64rem}.character-gallery-wrap .section-head h1{font-size:clamp(1.4rem,6vw,1.9rem);line-height:1.04}.character-gallery-wrap .section-head p{margin-top:3px;font-size:.75rem;line-height:1.3}.character-gallery-wrap .section-head .secondary-button{border-radius:11px;flex:none;min-height:37px;padding:7px 10px;font-size:.77rem}.hero-gallery{gap:10px}.hero-gallery-filters{scrollbar-width:none;overscroll-behavior-x:contain;flex-wrap:nowrap;gap:5px;overflow-x:auto}.hero-gallery-filters::-webkit-scrollbar{display:none}.hero-gallery-filter{flex:none;gap:5px;min-height:33px;padding:6px 8px;font-size:.66rem}.hero-gallery-filter>span{min-width:16px;height:17px;font-size:.61rem}.hero-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hero-gallery-card{border-radius:19px;padding:5px}.hero-gallery-stage{border-radius:15px}.hero-gallery-note{border-radius:10px;min-width:34px;height:34px;padding:3px 7px;font-size:1.12rem;bottom:7px;left:7px}.hero-gallery-identity{gap:1px;padding:10px 8px 7px}.hero-gallery-title{font-size:1.11rem}.hero-gallery-color{font-size:.67rem}.hero-gallery-role{margin-top:4px;font-size:.67rem}.hero-gallery-hint{border-radius:12px;margin-bottom:3px;font-size:.67rem}}@media (hover:none){.hero-gallery-card:hover:not(.is-selected){transform:none}.hero-gallery-card:hover:not(.is-selected) .hero-gallery-figure{transform:translateY(1%)scale(.89)}.hero-gallery-card:hover:not(.is-selected) .hero-gallery-spark{opacity:0}}@media (prefers-reduced-motion:reduce){.hero-gallery-card,.hero-gallery-figure,.hero-gallery-orbit,.hero-gallery-spark,.hero-gallery-card-edge,.hero-gallery-filter,.hero-gallery-stage:after{transition:none!important;animation:none!important}.hero-gallery-card:hover,.hero-gallery-card.is-selected{transform:none}.hero-gallery-card:hover .hero-gallery-figure,.hero-gallery-card.is-selected .hero-gallery-figure{transform:translateY(0)scale(.89)}}.w2-shell{color:#353556;background:linear-gradient(172deg,#e8e4ff 0%,#eff8ff 52%,#fff6e2 100%);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.w2-header{background:#ffffffdb;border-bottom:1px solid #e6def5;flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:9px clamp(12px,3vw,28px);display:flex;box-shadow:0 6px 17px #655d9c0d}.w2-home,.w2-back{color:#6253a7;white-space:nowrap;background:#f5f1ff;border-radius:12px;padding:8px 10px;font-size:.82rem;font-weight:950;text-decoration:none}.w2-heading{text-align:center;flex-direction:column;gap:3px;line-height:1.05;display:flex}.w2-heading>span{letter-spacing:.16em;color:#8a78bb;font-size:.59rem;font-weight:1000}.w2-heading strong{letter-spacing:-.045em;color:#42357f;font-size:clamp(.99rem,2.7vw,1.4rem)}.w2-map-layout,.w2-lesson-layout{flex-direction:column;flex:1;gap:7px;width:100%;max-width:700px;min-height:0;margin:auto;padding:8px 12px 0;display:flex}.w2-map-summary{color:#635d81;flex:none;justify-content:space-between;align-items:center;padding:3px 6px;font-size:.82rem;font-weight:850;display:flex}.w2-map-summary strong{color:#6650bf;font-size:1rem}.w2-progress{background:#e5daf7;border-radius:12px;flex:0 0 6px;height:6px;overflow:hidden}.w2-progress span{border-radius:inherit;background:linear-gradient(90deg,#b5a0ff,#63b9ed,#78d7aa);height:100%;display:block}.w2-map-scroll{overscroll-behavior:contain;scrollbar-width:none;background:linear-gradient(#d7e0ff,#d9f6eb,#fff0c9);border-radius:23px;flex:1;min-height:0;overflow:auto}.w2-map-scroll::-webkit-scrollbar{display:none}.w2-map-canvas{isolation:isolate;background:radial-gradient(circle at 38% 24%,#ffffffa8,#0000 26%),radial-gradient(circle at 82% 57%,#a0d5ff6b,#0000 24%),radial-gradient(circle at 32% 86%,#fff8cea3,#0000 25%),linear-gradient(#d7cfff,#d9efff 45%,#def4e7 70%,#ffe8b7);height:1690px;min-height:1690px;position:relative;overflow:hidden}.w2-map-canvas:before{content:"";opacity:.39;pointer-events:none;background-image:radial-gradient(circle,#fff 2px,#0000 3px);background-size:45px 51px;position:absolute;inset:0}.w2-map-canvas:after{content:"";pointer-events:none;opacity:.32;border-left:9px dotted #ffffffbc;border-right:9px dotted #ffffffbc;border-radius:45% 55% 48% 52%;position:absolute;inset:150px 25% 130px}.w2-map-stars{text-align:center;color:#a09ae0;letter-spacing:.2rem;opacity:.6;pointer-events:none;font-size:1.7rem;position:absolute;top:55px;left:11%;right:9%}.w2-map-origin{color:#897b99;letter-spacing:.13em;font-size:.67rem;font-weight:950;position:absolute;bottom:32px;left:21%}.w2-map-node{left:var(--w2-x);top:var(--w2-y);z-index:2;color:#433b77;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;width:clamp(112px,32vw,162px);height:150px;padding:0;display:flex;position:absolute;transform:translate(-50%,-50%)}.w2-map-node .w2-map-hero{z-index:1;width:105px;height:110px;transform:translateX(var(--w2-hero-x,75%));filter:drop-shadow(0 6px 6px #54458a21);position:absolute;bottom:51px}.w2-map-node:nth-of-type(2n){--w2-hero-x:-77%}.w2-map-node.is-locked .w2-map-hero{filter:grayscale(.65);opacity:.55}.w2-hero{pointer-events:none;place-items:end center;display:grid}.w2-hero img{object-fit:contain;object-position:center bottom;width:100%;height:100%}.w2-node-disc{z-index:2;color:#fff;background:linear-gradient(140deg,#bdadf8,#8372d9);border:4px solid #fff;border-radius:50%;place-items:center;width:66px;height:66px;margin-top:auto;font-size:1.7rem;font-weight:1000;transition:transform .2s;display:grid;position:relative;box-shadow:0 6px #9e90c8,0 13px 19px #4a3e8a30}.w2-map-node.is-selected .w2-node-disc{transform:scale(1.13);box-shadow:0 0 0 5px #ffe6a1,0 8px #ad92b7,0 16px 25px #4a3e8a28}.w2-map-node.is-done .w2-node-disc{background:linear-gradient(130deg,#9cdeb9,#3cac92);box-shadow:0 6px #71b49c}.w2-map-node.is-locked .w2-node-disc{background:#b9bfd3;box-shadow:0 6px #9fa5b5}.w2-node-caption{z-index:3;text-align:center;background:#fffffff2;border:1px solid #fff;border-radius:10px;max-width:160px;padding:5px 8px;font-size:.76rem;font-weight:950;line-height:1.18;display:block;position:relative;box-shadow:0 4px 11px #4c538629}.w2-map-node.is-selected .w2-node-caption{background:#fff7ce}.w2-map-dock{padding:9px 12px max(8px,env(safe-area-inset-bottom));background:#fffdfa;border:1px solid #fff;border-radius:23px 23px 0 0;flex-direction:column;flex:none;gap:8px;display:flex;box-shadow:0 -6px 22px #51468f1d}.w2-dock-description{align-items:center;gap:10px;min-width:0;display:flex}.w2-dock-description>div:last-child{flex:1;min-width:0}.w2-dock-description small{color:#8776ad;letter-spacing:.09em;font-size:.58rem;font-weight:1000;display:block}.w2-dock-description strong{color:#3c3567;white-space:nowrap;text-overflow:ellipsis;font-size:1.07rem;font-weight:1000;display:block;overflow:hidden}.w2-dock-description p{color:#707185;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:.74rem;font-weight:740;overflow:hidden}.w2-dock-hero{background:linear-gradient(#fff,#eae1ff);border-radius:15px;flex:0 0 52px;width:52px;height:52px;overflow:hidden}.w2-dock-actions{grid-template-columns:37px 1fr 37px;align-items:center;gap:8px;display:grid}.w2-dock-actions>button:not(.w2-primary){color:#6752b6;background:#f6f2ff;border:1px solid #ddd4f0;border-radius:13px;height:43px;font-size:1.5rem;font-weight:950}.w2-primary{color:#fff;cursor:pointer;background:linear-gradient(125deg,#7560e3,#a86de5);border:0;border-radius:14px;min-height:43px;padding:8px 13px;font-size:.89rem;font-weight:1000;box-shadow:0 5px #7564c6}.w2-primary:disabled,.w2-dock-actions>button:disabled{opacity:.4;cursor:default;box-shadow:none}.w2-dock-bottom{color:#9489a7;justify-content:space-between;align-items:center;gap:7px;min-height:24px;font-size:.63rem;font-weight:810;display:flex}.w2-reset,.w2-reset-actions button{color:#66598c;background:#f8f4ff;border:1px solid #e1d7ec;border-radius:9px;min-height:27px;padding:4px 8px;font-size:.65rem;font-weight:900}.w2-reset-actions{align-items:center;gap:5px;display:flex}.w2-reset-actions>span{font-weight:900}.w2-reset-actions button:last-child{color:#ab4949;background:#fff0ef}.w2-lesson-top{flex:none;justify-content:space-between;align-items:center;padding:1px 4px;display:flex}.w2-lesson-top button{color:#6351a7;background:#fff;border:0;border-radius:10px;padding:8px 10px;font-weight:950}.w2-lesson-top span{color:#7e729d;letter-spacing:.08em;font-size:.7rem;font-weight:950}.w2-lesson-stage{background:#ffffffdc;border:1px solid #fff;border-radius:24px;flex-direction:column;flex:1;gap:12px;min-height:0;padding:15px;display:flex;overflow:auto}.w2-lesson-intro{flex:none;align-items:center;gap:13px;display:flex}.w2-lesson-hero{background:linear-gradient(#fff,#ece6fc);border-radius:19px;flex:none;width:clamp(66px,20vw,108px);height:clamp(76px,23vw,124px)}.w2-eyebrow{color:#8c6ab2;font-size:.67rem;font-weight:1000}.w2-lesson-intro h1{letter-spacing:-.03em;color:#3c3665;margin:3px 0 4px;font-size:clamp(1.12rem,3.4vw,1.62rem);line-height:1.06}.w2-lesson-intro p{color:#686881;margin:0;font-size:clamp(.74rem,2.4vw,.86rem);font-weight:760;line-height:1.36}.w2-lesson-status{flex-direction:column;flex:1;justify-content:center;gap:12px;min-height:0;display:flex}.w2-step-tabs{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.w2-step-tabs span{color:#9690ae;background:#f3effa;border-radius:8px;padding:5px 7px;font-size:.65rem;font-weight:950}.w2-step-tabs .is-current{color:#fff;background:#7160d4}.w2-phrase{flex-wrap:wrap;justify-content:center;gap:5px;max-width:430px;margin:0 auto;display:flex}.w2-phrase-note{color:#61579b;background:#eeeaf8;border:1px solid #e6e0f6;border-radius:11px;place-items:center;min-width:31px;height:34px;padding:4px 7px;font-size:.91rem;font-weight:1000;display:grid}.w2-phrase-note.is-playing{color:#6553ab;background:#fff0a1;border-color:#e8d064;transform:scale(1.12)}.w2-phrase-note.is-done{color:#438c67;background:#d6f5e6}.w2-feedback{text-align:center;color:#5a5a7a;max-width:410px;min-height:38px;margin:0 auto;font-size:clamp(.78rem,2.7vw,.95rem);font-weight:900;line-height:1.35}.w2-lesson-tools{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.w2-lesson-tools button{color:#6550be;background:#f1ebff;border:1px solid #e8defb;border-radius:12px;min-height:39px;padding:9px 12px;font-size:.78rem;font-weight:950}.w2-lesson-tools button:disabled{opacity:.58}.w2-lesson-tools button.w2-help{color:#8062ad;background:#fff8e9}.w2-lesson-task{text-align:center;color:#7761b3;margin:0;font-size:.78rem;font-weight:850}.w2-lesson-dock{padding:12px 7px max(11px,env(safe-area-inset-bottom));background:#fffefa;border:1px solid #fff;border-radius:24px 24px 0 0;flex-direction:column;flex:none;gap:8px;display:flex;box-shadow:0 -5px 22px #54418e1b}.w2-keyboard{grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;min-height:clamp(107px,21dvh,152px);display:grid}.w2-piano-key{color:#4b477b;cursor:pointer;background:linear-gradient(#fff,#f4f3ff);border:1px solid #dae0e8;border-bottom:5px solid #d7dce8;border-radius:8px 8px 11px 11px;justify-content:center;align-items:flex-end;min-width:0;padding:8px 1px;font-size:clamp(.68rem,2.6vw,1.12rem);font-weight:1000;transition:background .15s,border-color .15s;display:flex;position:relative;box-shadow:inset 0 5px 10px #f5f3ff}.w2-piano-key span{pointer-events:none}.w2-piano-key.is-hint{border-color:var(--w2-tone);background:linear-gradient(#fffbe0,#d3f4d5)}@supports (color:color-mix(in lab, red, red)){.w2-piano-key.is-hint{border-color:color-mix(in srgb,var(--w2-tone) 35%,#d7dce8)}}.w2-piano-key.is-playing{background:#ffebb3}.w2-piano-key:disabled{opacity:.37;cursor:default}.w2-lesson-bottom-row{justify-content:space-between;align-items:center;gap:9px;padding:0 5px;display:flex}.w2-lesson-bottom-row>span{color:#726b94;letter-spacing:.04em;font-size:.7rem;font-weight:1000}.w2-lesson-bottom-row .w2-primary{min-width:175px}.w2-shell button:focus-visible,.w2-shell a:focus-visible{outline-offset:3px;outline:3px solid #755cda}@media (max-width:620px){.w2-header{min-height:52px;padding:6px 10px}.w2-home,.w2-back{padding:6px 7px;font-size:.68rem}.w2-map-layout,.w2-lesson-layout{gap:5px;padding:4px 7px 0}.w2-map-node{width:110px}.w2-map-node .w2-map-hero{width:96px;height:105px}.w2-lesson-stage{gap:6px;padding:10px}.w2-lesson-intro,.w2-lesson-status{gap:9px}.w2-lesson-dock{padding:8px 5px max(8px,env(safe-area-inset-bottom))}}@media (max-width:620px) and (max-height:640px){.w2-header{min-height:43px}.w2-lesson-hero{width:64px;height:67px}.w2-keyboard{min-height:93px}.w2-lesson-stage{padding:7px}.w2-lesson-tools button{min-height:33px;padding:6px 9px}.w2-phrase-note{min-width:25px;height:27px;font-size:.74rem}.w2-step-tabs span{padding:3px 5px}}@media (prefers-reduced-motion:reduce){.w2-piano-key,.w2-node-disc{transition:none}}.journey-next-world-link{color:#5b46b6;background:#ede9ff;border-radius:9px;align-items:center;padding:4px 8px;font-size:.72rem;font-weight:1000;text-decoration:none;display:inline-flex;box-shadow:inset 0 0 0 1px #dbd2ff}.journey-next-world-link:focus-visible{outline-offset:2px;outline:3px solid #6854cc}.world-screen-shell .section-head-actions>a.secondary-button{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.world-one-pulse-pad .tempo-pulse-hint{text-align:center;white-space:normal;color:#665984;max-width:92%;font-size:clamp(.68rem,2.4vw,.82rem);line-height:1.24;display:block}.world-one-pulse-pad .tempo-pulse-hint b{color:#50419a;font-weight:1000}.mf-lab-shell{color:#403c65;background:linear-gradient(160deg,#f0eaff,#ebf5ff 56%,#fdf4e5);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.mf-tool-header{background:#ffffffdb;border-bottom:1px solid #e3dff5;flex:none;justify-content:space-between;align-items:center;gap:6px;min-height:56px;padding:8px clamp(9px,2.5vw,22px);display:flex}.mf-tool-header>strong{white-space:nowrap;letter-spacing:-.03em;font-size:clamp(.82rem,3.3vw,1.06rem)}.mf-tool-back,.mf-tool-shortcut{color:#6450b6;background:#f1ecff;border-radius:11px;flex:none;padding:8px 10px;font-size:clamp(.62rem,2.35vw,.8rem);font-weight:900;text-decoration:none}.mf-tool-main,.mf-journal-main{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;gap:11px;width:100%;max-width:680px;min-height:0;margin:0 auto;padding:clamp(10px,2.3vw,18px);display:flex;overflow-y:auto}.mf-tool-intro h1,.mf-journal-heading h1{color:#493f91;letter-spacing:-.05em;margin:5px 0;font-size:clamp(1.55rem,6vw,2.4rem);line-height:1.07}.mf-tool-intro p,.mf-journal-heading p{color:#77718c;max-width:560px;margin:0;font-size:clamp(.79rem,2.8vw,.93rem);font-weight:700;line-height:1.35}.mf-tool-eyebrow{color:#7664b0;letter-spacing:.1em;font-size:.64rem;font-weight:1000}.mf-metronome{background:#fffdf9ec;border:1px solid #fff;border-radius:27px;flex-direction:column;flex:auto;justify-content:center;align-items:stretch;gap:13px;padding:14px clamp(10px,3vw,25px);display:flex;box-shadow:0 9px 22px #5b568f16}.mf-tempo-readout{text-align:center;flex-direction:column;gap:1px;display:flex}.mf-tempo-readout>span{color:#7e72ad;letter-spacing:.17em;font-size:.71rem;font-weight:1000}.mf-tempo-readout>strong{color:#5948b3;font-variant-numeric:tabular-nums;letter-spacing:-.07em;font-size:clamp(3.6rem,12dvh,6.4rem);font-weight:1000;line-height:1.03}.mf-tempo-readout small{letter-spacing:0;font-size:.25em}.mf-tempo-readout p{color:#897aa5;margin:0;font-size:.83rem;font-weight:900}.mf-tempo-dots{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(9px,3vw,19px);width:min(100%,350px);margin:4px auto;display:grid}.mf-tempo-dots span{aspect-ratio:1;color:#8e83b4;background:#ded9f6;border:3px solid #fff;border-radius:50%;place-items:center;font-size:1.2rem;font-weight:1000;transition:transform .11s,background .11s;display:grid;box-shadow:0 5px #c8bfe4}.mf-tempo-dots span.is-active{color:#fff;background:#8864e0;transform:translateY(-5px)scale(1.08);box-shadow:0 6px #6052a0,0 11px 19px #7657c944}.mf-tempo-slider-label{color:#5a5385;align-self:center;font-size:.78rem;font-weight:900}.mf-tempo-slider{accent-color:#8264df;cursor:pointer;width:100%;max-width:450px;height:24px;margin:auto}.mf-tempo-presets{grid-template-columns:repeat(3,1fr);gap:7px;display:grid}.mf-tempo-presets button{color:#6758af;cursor:pointer;background:#f3efff;border:1px solid #e8e0fa;border-radius:14px;flex-direction:column;align-items:center;gap:2px;padding:11px 5px;font-size:.88rem;font-weight:1000;display:flex}.mf-tempo-presets button[aria-pressed=true]{color:#fff;background:#7359d4;border-color:#7359d4}.mf-tempo-presets small{opacity:.85;font-size:.62rem;font-weight:800}.mf-tempo-comparison{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mf-tempo-comparison>div{background:#f6f7fc;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:8px 3px;display:flex}.mf-tempo-comparison strong{color:#6951ad;font-size:.74rem}.mf-tempo-comparison span{text-align:center;color:#87829d;font-size:.66rem;font-weight:780}.mf-tempo-error{color:#a74347;margin:0;font-size:.74rem;font-weight:800}.mf-tool-lesson{background:#e6def89e;border-radius:14px;align-items:center;gap:10px;padding:10px 12px;display:flex}.mf-tool-lesson>span{color:#745dc0;font-size:2rem}.mf-tool-lesson p{color:#675b89;margin:0;font-size:.76rem;font-weight:740}.mf-tool-dock{width:100%;padding:10px max(10px,env(safe-area-inset-left)) max(12px,env(safe-area-inset-bottom));background:#ffffffed;border-radius:18px 18px 0 0;flex:none;justify-content:center;align-items:center;gap:8px;display:flex;box-shadow:0 -5px 22px #51458c1a}.mf-tool-primary{color:#fff;text-align:center;cursor:pointer;background:linear-gradient(110deg,#7255d6,#a46cdc);border:0;border-radius:14px;flex:1;place-items:center;min-width:0;min-height:49px;padding:8px 11px;font-size:clamp(.73rem,2.9vw,.94rem);font-weight:1000;text-decoration:none;display:grid;box-shadow:0 4px #6455b5}.mf-tap-button{color:#6651b2;cursor:pointer;background:#f3eeff;border:1px solid #d5caef;border-radius:14px;flex-direction:column;flex:0 0 42%;justify-content:center;align-items:center;min-width:0;min-height:49px;font-size:clamp(.66rem,2.45vw,.79rem);font-weight:1000;display:flex}.mf-tap-button small{opacity:.77;font-size:.55rem}.mf-journal-main{gap:12px}.mf-journal-heading{flex-direction:column;gap:5px;display:flex}.mf-journal-progress{background:#ffffffd9;border-radius:17px;align-items:center;gap:11px;margin-top:5px;padding:10px 12px;display:flex}.mf-journal-progress>strong{color:#634db7;font-variant-numeric:tabular-nums;flex:none;font-size:1.65rem}.mf-journal-progress small{color:#9e92b5;font-size:.68rem}.mf-journal-progress>span{color:#706b86;font-size:.74rem;font-weight:780;line-height:1.3}.mf-journal-tabs{flex:none;gap:6px;display:flex}.mf-journal-tabs button{color:#7b70a4;cursor:pointer;background:#fffc;border:1px solid #ddd6f1;border-radius:10px;flex:1;padding:9px 5px;font-size:clamp(.67rem,2.4vw,.79rem);font-weight:950}.mf-journal-tabs button.is-current{color:#fff;background:#6c55cb;border-color:#6c55cb}.mf-sticker-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,2.3vw,14px);display:grid}.mf-sticker{text-align:center;cursor:pointer;background:#ffffffc9;border:1px solid #fff;border-radius:19px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:9px 4px;transition:transform .23s,box-shadow .23s;display:flex;position:relative}.mf-sticker.is-earned{box-shadow:0 5px #ddd5ec,0 12px 16px #867cb515}.mf-sticker.is-selected,.mf-sticker.is-earned:hover{transform:translateY(-3px);box-shadow:0 6px #bcb0d8,0 13px 23px #8276b02a}.mf-sticker.is-locked{opacity:.48;filter:grayscale(.8);cursor:default}.mf-sticker-graphic{aspect-ratio:1;background:linear-gradient(150deg,var(--sticker-color),var(--sticker-color));border-radius:24% 30% 23% 29%;place-items:center;width:min(100%,94px);display:grid}@supports (color:color-mix(in lab, red, red)){.mf-sticker-graphic{background:linear-gradient(150deg,color-mix(in srgb,var(--sticker-color) 30%,white),color-mix(in srgb,var(--sticker-color) 90%,white))}}.mf-sticker-graphic{border:3px solid #fff;transition:transform .2s;transform:rotate(-3deg);box-shadow:inset 0 2px 5px #fff8,0 6px 9px #45406c22}.mf-sticker.is-selected .mf-sticker-graphic{transform:rotate(3deg)scale(1.045)}.mf-sticker-icon{color:#fff;text-shadow:0 2px 3px #39305a35;letter-spacing:-.08em;place-items:center;font-size:clamp(1.8rem,5vw,2.7rem);font-weight:1000;display:grid}.mf-sticker strong{color:#454166;overflow-wrap:anywhere;font-size:clamp(.64rem,2.4vw,.76rem);line-height:1.15}.mf-sticker small{color:#8a7cb0;font-size:.59rem;font-weight:900}.mf-sticker-info{border:1px solid var(--sticker-color);background:#fff;flex-direction:column;gap:8px;padding:13px;display:flex}@supports (color:color-mix(in lab, red, red)){.mf-sticker-info{border:1px solid color-mix(in srgb,var(--sticker-color) 35%,white)}}.mf-sticker-info{border-radius:18px;box-shadow:0 8px 17px #655aaa19}.mf-sticker-info-head{align-items:center;gap:10px;display:flex}.mf-sticker-mini{background:var(--sticker-color);color:#fff;border:3px solid #fff;border-radius:13px;place-items:center;min-width:48px;height:48px;font-size:1.55rem;font-weight:1000;display:grid}.mf-sticker-info-head small{color:#9a8bb4;font-size:.65rem;font-weight:1000}.mf-sticker-info-head h2{color:#443969;margin:0;font-size:1.2rem}.mf-sticker-info p{color:#6b6486;margin:0;font-size:.82rem;font-weight:760;line-height:1.35}.mf-sticker-info .mf-sticker-exercise{color:#554c7f;font-weight:900}.mf-sticker-listen{color:#fff;cursor:pointer;background:#715bcf;border:0;border-radius:11px;align-self:flex-start;padding:10px 14px;font-size:.76rem;font-weight:950;text-decoration:none}.mf-journal-dock{justify-content:space-between}.mf-journal-dock>span{color:#675997;flex:none;font-size:.72rem;font-weight:950}.mf-journal-dock .mf-tool-primary{max-width:260px}.mf-world-shortcuts,.mf-world2-shortcuts{align-items:center;gap:7px;min-width:0;display:flex}.mf-world-shortcuts a,.mf-world2-shortcuts a{white-space:nowrap;color:#6651af;background:#f0ebff;border:1px solid #e3daff;border-radius:9px;justify-content:center;align-items:center;padding:5px 8px;font-size:clamp(.6rem,2.3vw,.74rem);font-weight:950;text-decoration:none;display:inline-flex}.mf-world2-shortcuts{flex:none;justify-content:center;padding:1px 4px}.mf-lesson-concepts{flex-wrap:wrap;gap:6px;display:flex}.mf-lesson-concept{color:#6252a5;background:#eeeaff;border:1px solid #ddd6f7;border-radius:99px;align-items:center;gap:4px;min-height:21px;padding:3px 8px;font-size:.66rem;font-weight:950;display:inline-flex}.mf-lesson-concept>span{color:#856ccf;font-size:.84rem}.mf-world1-concepts{margin:0 0 5px;padding:0 4px}.mf-tool-header a:focus-visible,.mf-tool-dock button:focus-visible,.mf-journal-main button:focus-visible,.mf-tool-main button:focus-visible,.mf-world-shortcuts a:focus-visible,.mf-world2-shortcuts a:focus-visible{outline-offset:2px;outline:3px solid #6a50c4}@media (max-width:600px){.mf-tool-back{text-overflow:ellipsis;white-space:nowrap;max-width:34%;overflow:hidden}.mf-tool-header>strong{font-size:.81rem}.mf-sticker-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mf-sticker-graphic{width:min(100%,76px)}.mf-metronome{gap:9px}.mf-tool-main{gap:8px}.mf-tempo-dots{width:min(75%,255px)}.mf-tempo-readout>strong{font-size:clamp(3.2rem,11dvh,5rem)}.mf-world-shortcuts{gap:3px}.mf-world-shortcuts a{padding:5px;font-size:.6rem}.mf-lesson-concept{min-height:18px;padding:2px 6px;font-size:.58rem}}@media (max-width:370px){.mf-sticker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mf-journal-dock>span{font-size:.6rem}}@media (max-height:615px){.mf-tool-header{min-height:45px;padding:5px 10px}.mf-tool-main{gap:6px;padding:8px}.mf-metronome{gap:7px;padding:8px}.mf-tempo-dots span{font-size:.85rem}.mf-tool-lesson{padding:6px}.mf-tool-dock{padding-top:6px;padding-bottom:max(6px,env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.mf-sticker,.mf-sticker-graphic,.mf-tempo-dots span{transition:none!important}}.mf-detective-shell{color:#403960;background:linear-gradient(156deg,#e3e1ff,#e9f7fc 57%,#fff5da);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.mf-detective-subhead{flex:none;justify-content:space-between;align-items:center;gap:10px;padding:8px clamp(9px,2.5vw,21px);display:flex}.mf-detective-subhead>span{color:#6f5fa9;letter-spacing:.06em;font-size:.68rem;font-weight:1000}.mf-detective-cases{align-items:center;gap:5px;display:flex}.mf-detective-cases button{color:#6b579e;cursor:pointer;background:#f6f2fc;border:1px solid #d8d0eb;border-radius:10px;min-width:29px;height:30px;font-size:.74rem;font-weight:1000}.mf-detective-cases button[aria-pressed=true]{color:#fff;background:#755fd3;border-color:#755fd3}.mf-detective-cases button:disabled{color:#a6a4b5;opacity:.45;cursor:default}.mf-detective-main{overscroll-behavior:contain;flex-direction:column;flex:1;justify-content:center;gap:12px;width:100%;max-width:660px;min-height:0;margin:0 auto;padding:12px;display:flex;overflow-y:auto}.mf-detective-story{align-items:center;gap:11px;min-height:110px;display:flex}.mf-detective-story>div:last-child{flex:1;min-width:0}.mf-detective-character{background:linear-gradient(#ffffffdf,#d9c8f4dd);border-radius:22px;flex:0 0 clamp(85px,17dvh,139px);place-items:end center;width:clamp(85px,17dvh,139px);height:clamp(95px,20dvh,155px);display:grid;overflow:hidden}.mf-detective-character img{object-fit:contain;object-position:bottom;max-width:100%;height:100%}.mf-detective-story span{color:#8966b3;letter-spacing:.08em;font-size:.65rem;font-weight:1000}.mf-detective-story h1{color:#443973;letter-spacing:-.035em;margin:5px 0;font-size:clamp(1.17rem,4.5vw,1.85rem);line-height:1.04}.mf-detective-story p{color:#706d88;margin:0;font-size:clamp(.72rem,2.4vw,.83rem);font-weight:760;line-height:1.3}.mf-detective-listens{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.mf-detective-listens button{color:#564995;cursor:pointer;background:#ffffffdb;border:2px solid #e1d8f4;border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:94px;display:flex}.mf-detective-listens button:first-child{color:#487a67;background:linear-gradient(145deg,#e9fbef,#fff);border-color:#d5ecdf}.mf-detective-listens button>span{font-size:1.7rem}.mf-detective-listens button strong{font-size:clamp(.73rem,2.75vw,.94rem)}.mf-detective-listens button:disabled{opacity:.56;cursor:default}.mf-detective-feedback{text-align:center;color:#56517d;background:#fffd;border-radius:13px;place-items:center;min-height:45px;margin:0;padding:7px 10px;font-size:clamp(.74rem,2.6vw,.89rem);font-weight:850;line-height:1.35;display:grid}.mf-detective-phrase{flex-wrap:wrap;justify-content:center;align-items:center;gap:5px;display:flex}.mf-detective-place{color:#554690;cursor:pointer;background:linear-gradient(#fff,#eeeafa);border:2px solid #e0d7f3;border-radius:15px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:clamp(34px,9vw,55px);height:clamp(58px,12dvh,88px);padding:5px;display:flex;box-shadow:0 4px #ccc5e3}.mf-detective-place small{color:#9685b6;font-size:.58rem;font-weight:1000}.mf-detective-place strong{font-size:clamp(1rem,3.6vw,1.45rem);font-weight:1000}.mf-detective-place.is-playing{background:#fff0bd;border-color:#e1b365}.mf-detective-place.is-found{color:#2c795d;background:#dbf5e7;border-color:#79bc99}.mf-detective-place:disabled:not(.is-playing):not(.is-found){opacity:.68;cursor:default}.mf-detective-hints{color:#716b8e;justify-content:space-between;align-items:center;gap:8px;padding:0 4px;font-size:.74rem;font-weight:900;display:flex}.mf-detective-hints button{color:#6c58b1;cursor:pointer;white-space:nowrap;background:#f7f3ff;border:1px solid #e6def8;border-radius:11px;padding:8px 11px;font-size:.7rem;font-weight:950}.mf-detective-keys-note{text-align:center;color:#9685ac;font-size:.72rem;font-weight:870}.mf-detective-dock{padding:12px 9px max(10px,env(safe-area-inset-bottom));background:#fffefa;border-radius:23px 23px 0 0;flex-direction:column;flex:none;gap:8px;display:flex;box-shadow:0 -7px 25px #665a9121}.mf-detective-keyboard{grid-template-columns:repeat(8,minmax(0,1fr));gap:4px;width:100%;max-width:620px;margin:0 auto;display:grid}.mf-detective-keyboard button{color:#565188;cursor:pointer;background:linear-gradient(#fff,#f3f1fd);border:1px solid #d5d7e4;border-bottom:6px solid #c4c8d8;border-radius:8px 8px 12px 12px;place-items:end center;min-width:0;height:clamp(74px,16dvh,124px);padding:8px 2px;font-size:clamp(.82rem,2.6vw,1.2rem);font-weight:1000;display:grid}.mf-detective-keyboard button:active{background:#ffecca;border-bottom-width:3px;transform:translateY(3px)}.mf-detective-next{color:#fff;cursor:pointer;background:linear-gradient(110deg,#725dd3,#a267e4);border:0;border-radius:14px;min-height:48px;font-size:.94rem;font-weight:1000}.mf-detective-dock-tip{text-align:center;color:#635b93;background:#f2eeff;border-radius:12px;padding:16px;font-size:.75rem;font-weight:900}.mf-detective-footerline{color:#9487aa;justify-content:space-between;align-items:center;gap:8px;font-size:.7rem;font-weight:850;display:flex}.mf-detective-footerline button{color:#6f589d;background:#f5f0fb;border:1px solid #ddd3ef;border-radius:10px;padding:7px 9px;font-size:.69rem;font-weight:1000}.mf-detective-reset{justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.mf-detective-reset strong{color:#6e587e;font-size:.7rem}.mf-detective-reset button:last-child{color:#a84a4a;background:#fff1ef}.mf-detective-shell button:focus-visible,.mf-detective-shell a:focus-visible{outline-offset:2px;outline:3px solid #7054bc}@media (max-width:600px){.mf-detective-main{gap:8px;padding:7px}.mf-detective-subhead{padding:6px}.mf-detective-cases{gap:3px}.mf-detective-cases button{min-width:26px;height:28px}.mf-detective-story{gap:8px}.mf-detective-listens button{min-height:73px}.mf-detective-listens button>span{font-size:1.33rem}.mf-detective-dock{padding:8px 6px max(8px,env(safe-area-inset-bottom))}.mf-detective-keyboard button{height:clamp(69px,14dvh,108px)}}@media (max-height:610px){.mf-detective-main{gap:5px;padding:5px 8px}.mf-detective-character{flex-basis:75px;width:75px;height:83px}.mf-detective-listens button{min-height:55px}.mf-detective-story h1{font-size:1.1rem}.mf-detective-place{height:46px}.mf-detective-keyboard button{height:63px}}@media (prefers-reduced-motion:reduce){.mf-detective-place,.mf-detective-keyboard button{transition:none!important}}.mf-world-shortcuts,.mf-world2-shortcuts{overscroll-behavior-x:contain;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;justify-content:flex-start;max-width:100%;overflow:auto hidden}.mf-world-shortcuts::-webkit-scrollbar{display:none}.mf-world2-shortcuts::-webkit-scrollbar{display:none}.mf-world-shortcuts a,.mf-world2-shortcuts a{scroll-snap-align:start;flex:none}@media (min-width:680px){.mf-world-shortcuts,.mf-world2-shortcuts{justify-content:center}}.world-screen-shell .world-desktop-navigation{width:100%;max-width:1080px;margin:4px auto}.world-screen-shell .world-wrap{min-height:0}@media (max-width:760px) and (orientation:portrait){.world-screen-shell .world-desktop-navigation{display:none}.world-screen-shell .world-wrap{gap:0;padding-top:2px}.world-screen-shell .journey-toolbar{min-height:23px;padding:0 4px}.world-screen-shell .journey-counter{flex-direction:row;align-items:baseline;gap:6px}.world-screen-shell .journey-counter>strong{font-size:.83rem}.world-screen-shell .journey-dock-extras{min-width:0;padding-top:2px}.world-screen-shell .journey-dock{overflow:visible}}@media (max-width:760px) and (orientation:portrait) and (max-height:670px){.world-screen-shell .journey-toolbar{min-height:19px}.world-screen-shell .journey-dock-extras{min-height:27px}}@media (max-width:760px) and (orientation:portrait) and (max-height:530px){.world-screen-shell .journey-dock-extras{display:flex}}.world-screen-shell .world-desktop-lessons,.world-screen-shell .world-desktop-navigation,.world-screen-shell .world-desktop-narrator,.world-screen-shell .world-progress-heading,.world-screen-shell .world-wrap>.progress-track{display:none!important}.world-screen-shell .world-journey-mobile{flex:auto;min-width:0;min-height:0;display:flex}@media (min-width:780px){.world-screen-shell .world-wrap{box-sizing:border-box;width:100%;max-width:min(1120px,100%);margin:0 auto;padding:8px clamp(14px,2.2vw,30px) 0}.world-screen-shell .world-journey-mobile{gap:9px;width:100%;max-width:none}.world-screen-shell .journey-stage{border-radius:26px;width:100%;max-width:100%;box-shadow:0 14px 36px #66598c24}.world-screen-shell .journey-toolbar{min-height:42px}.world-screen-shell .journey-dock{padding:12px 20px max(10px,env(safe-area-inset-bottom));border-radius:22px 22px 0 0;gap:9px}.world-screen-shell .journey-dock-top,.world-screen-shell .journey-dock-controls{width:100%;max-width:760px;margin:0 auto}.world-screen-shell .journey-dock-extras{width:100%;max-width:900px;margin:0 auto}.world-screen-shell .journey-stop-orbit{width:clamp(60px,7dvh,84px);height:clamp(60px,7dvh,84px)}.world-screen-shell .journey-stop-label{font-size:clamp(.84rem,1.4vw,1.05rem)}}@media (min-width:1440px){.world-screen-shell .world-wrap{max-width:1200px;padding-left:26px;padding-right:26px}.world-screen-shell .journey-hero{width:144px;height:170px}.world-screen-shell .journey-hero-figure{max-height:166px}}.w2-story-controls{justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.w2-story-controls button{white-space:nowrap;min-height:36px;padding:6px 10px;font-size:.72rem}.w2-story-controls button[aria-pressed=false]{opacity:.72}.w2-story-controls button:disabled{opacity:.4;cursor:default}.w2-story-stage{min-height:0;padding:6px;overflow:hidden}.w2-story-stage .jrpg-scene{grid-template-rows:minmax(100px,1fr) auto;grid-template-columns:minmax(0,1fr);align-items:stretch;gap:7px;width:100%;height:100%;min-height:0;padding:8px;display:grid;overflow:hidden}.w2-story-stage .jrpg-stage{min-height:0}.w2-story-stage .jrpg-scene .lesson-dialogue-cast{align-items:flex-end;min-height:0;overflow:hidden}.w2-story-stage .jrpg-portrait{max-width:180px;height:100%;min-height:0}.w2-story-stage .jrpg-scene .lesson-dialogue-bubble{border-radius:17px;align-self:end;min-height:0;padding:10px 13px}.w2-story-stage .jrpg-scene .lesson-dialogue-bubble p{min-height:48px;font-size:clamp(.78rem,2.6vw,.96rem);line-height:1.35}.w2-story-stage .jrpg-scene .lesson-dialogue-continue{min-height:38px}@media (max-width:390px){.w2-story-controls button{padding:6px 7px;font-size:.65rem}.w2-story-stage{padding:3px}.w2-story-stage .jrpg-portrait{max-width:112px}}@media (max-height:670px){.w2-story-stage .jrpg-scene{gap:4px;padding:6px}.w2-story-stage .jrpg-scene .lesson-dialogue-bubble{padding:7px 11px}.w2-story-stage .jrpg-scene .lesson-dialogue-bubble p{min-height:37px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
