@keyframes melody-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.melody-v4,.melody-tokens{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--font-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--page-max:1240px;--nav-h:72px;--radius-sm:12px;--radius-md:18px;--radius-lg:28px;--radius-xl:38px;--ease-out:cubic-bezier(.2,.8,.2,1);--ease-spring:cubic-bezier(.2,1.2,.2,1);--bg:#080914;--bg-2:#0d1020;--surface:#111427c2;--surface-solid:#121529;--surface-2:#1a1d35d1;--surface-3:#191d35;--text:#f7f5ff;--text-soft:#c5c7dc;--muted:#8b91ad;--line:#b8adff29;--line-strong:#b8adff47;--primary:#8b5cf6;--primary-2:#a78bfa;--secondary:#22d3ee;--secondary-ink:var(--secondary);--primary-ink:var(--primary-2);--success-ink:var(--success);--warning-ink:var(--warning);--danger-ink:var(--danger);--accent-ink:var(--accent);--accent:#fb7185;--accent-2:#f472b6;--success:#4ade80;--warning:#fbbf24;--danger:#fb7185;--nav:#080914a8;--glass:#0c0e1d94;--grid:#9788ff14;--shadow:0 30px 90px #0000005c;--shadow-soft:0 16px 50px #0000003d;--glow-primary:#8b5cf670;--glow-secondary:#22d3ee47;--hero-haze:radial-gradient(circle at 46% 42%,#8b5cf626,transparent 38%),radial-gradient(circle at 80% 20%,#22d3ee1a,transparent 32%);--cta-gradient:linear-gradient(120deg,#7c3aed 0%,#6d28d9 42%,#0ea5e9 100%);--skill-not-started:var(--muted);--skill-not-started-ink:var(--text-soft);--skill-learning:var(--secondary);--skill-learning-ink:var(--secondary-ink);--skill-practicing:var(--primary);--skill-practicing-ink:var(--primary-ink);--skill-proficient:var(--success);--skill-proficient-ink:var(--success-ink);--skill-mastered:var(--warning);--skill-mastered-ink:var(--warning-ink);--skill-proposed:var(--warning);--skill-proposed-ink:var(--warning-ink);--metric-fill:var(--secondary);--metric-target:var(--success);--metric-unmeasured:var(--muted);--evidence-lesson:var(--muted);--evidence-practice:var(--secondary);--evidence-assessment:var(--primary);--evidence-live:var(--accent);--evidence-teacher:var(--success);--evidence-self:var(--text-soft);--assignment-not-started:var(--muted);--assignment-in-progress:var(--secondary);--assignment-awaiting-review:var(--primary);--assignment-done:var(--success);--assignment-late:var(--success);--assignment-overdue:var(--danger-ink);--sparkline-stroke:var(--secondary);--sparkline-fill:color-mix(in srgb,var(--secondary)12%,transparent);--ring-track:var(--line);--ring-fill:var(--primary);--mt-beat-lit:var(--secondary);--mt-beat-accent:var(--primary);--mt-info:var(--secondary);--mt-info-ink:var(--secondary-ink);--mt-pro:var(--primary);--mt-pro-ink:var(--primary-ink);--mt-on-primary:#fff;--mt-on-status:var(--bg);--mt-tuner-band:var(--success);--mt-tuner-tick:var(--text);--mt-trainer-hit-sounding:var(--mt-beat-lit);--mt-trainer-hit-muted:var(--primary-ink);--mt-font-mono:"JetBrains Mono",var(--font-mono);--mt-type-tempo-hero:600 clamp(64px,12vw,104px)/1 var(--mt-font-mono);--mt-type-tempo-hero-tracking:-.04em;--mt-type-tuner-note:600 clamp(56px,11vw,88px)/1 var(--mt-font-mono);--mt-type-tuner-note-tracking:-.03em;--mt-type-ring-count:600 44px/1 var(--mt-font-mono);--mt-type-readout-mid:600 40px/1.1 var(--mt-font-mono);--mt-type-result-hero:800 32px/1.1 var(--font-sans);--mt-type-readout-mini:600 22px/1.2 var(--mt-font-mono);--mt-type-title-sm:700 16px/1.3 var(--font-sans);--mt-type-label-mono:700 15px/1.3 var(--mt-font-mono);--mt-type-label:600 13px/1.35 var(--font-sans);--mt-type-caption:500 12px/1.45 var(--font-sans);--mt-type-caption-mono:600 11px/1.4 var(--mt-font-mono);--mt-type-kind-label:700 11px/normal var(--font-sans);--mt-type-kind-label-tracking:.08em;--mt-type-diagram-label:600 11px/normal var(--mt-font-mono);--mt-type-finger-number:700 10px/normal var(--font-sans);--mt-touch-min:44px;--mt-bottom-slot-min:74px;--mt-sheet-max:46vh;--mt-sheet-max-short:40vh;--mt-dock-min:360px;--mt-mini-offset:18px;--mt-beat-cell-min:112px;--mt-fret-cell:44px;--mt-diagram-min-width:120px;--mt-diagram-min-height:140px;--mt-clearance-mini-desktop:96px;--mt-clearance-mini-phone:160px;--mt-clearance-dock-sheet:calc(var(--mt-sheet-max) + 80px);--mt-tools-sheet-max:min(85vh,85dvh)}html[data-theme=aurora] :is(.melody-v4,.melody-tokens){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f4f5fb;--bg-2:#eef0f8;--surface:#ffffffb8;--surface-solid:#fff;--surface-2:#f6f7fde6;--surface-3:#ebeef8;--text:#15152a;--text-soft:#424762;--muted:#646a84;--line:#37306b1f;--line-strong:#5b43b438;--primary:#6d4aff;--primary-2:#8b6dff;--secondary:#00a7c4;--secondary-ink:#0a6675;--primary-ink:#4a2fbf;--success-ink:#0a6b41;--warning-ink:#7a4c08;--danger-ink:#a01f4f;--accent-ink:#a8256a;--accent:#f04f8d;--accent-2:#c026d3;--success:#12a866;--warning:#b7791f;--danger:#dc3f78;--nav:#f8f9ffb8;--glass:#ffffff9e;--grid:#5441a012;--shadow:0 34px 90px #362f662b;--shadow-soft:0 18px 50px #4137731f;--glow-primary:#6d4aff47;--glow-secondary:#00a7c433;--hero-haze:radial-gradient(circle at 46% 42%,#6d4aff21,transparent 38%),radial-gradient(circle at 82% 18%,#00a7c41c,transparent 31%);--cta-gradient:linear-gradient(120deg,#6445f5 0%,#8b5cf6 44%,#00a7c4 100%);--mt-beat-lit:var(--secondary-ink);--mt-on-status:var(--text)}html[data-theme=ember] :is(.melody-v4,.melody-tokens){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0f0a0a;--bg-2:#17100f;--surface:#1f1312c2;--surface-solid:#211413;--surface-2:#2b1917d6;--surface-3:#321c1a;--text:#fff8f1;--text-soft:#ead1c7;--muted:#ad8d82;--line:#ff987026;--line-strong:#ff8a6147;--primary:#ff6b4a;--primary-2:#ff9478;--secondary:#ffbf5f;--secondary-ink:var(--secondary);--accent:#ff4d7d;--accent-ink:#ff8fab;--accent-2:#fb7185;--success:#78d98b;--warning:#ffbf5f;--danger:#ff5e84;--nav:#0f0a0aad;--glass:#1b100f94;--grid:#ff8e6612;--shadow:0 30px 90px #0006;--shadow-soft:0 16px 50px #00000047;--glow-primary:#ff6b4a6b;--glow-secondary:#ffbf5f40;--hero-haze:radial-gradient(circle at 46% 42%,#ff6b4a21,transparent 38%),radial-gradient(circle at 82% 18%,#ffbf5f17,transparent 31%);--cta-gradient:linear-gradient(120deg,#e54b2c 0%,#f43f5e 48%,#f59e0b 100%);--skill-learning:#7dd3fc;--skill-learning-ink:#7dd3fc;--metric-fill:#7dd3fc;--mt-beat-lit:#7dd3fc;--mt-info:#7dd3fc;--mt-info-ink:#7dd3fc;--mt-on-primary:var(--bg)}.melody-v4,.melody-v4 *{box-sizing:border-box}.melody-v4 :is(h1,h2,h3,h4,h5,h6){font-weight:700}html:has(.melody-v4){scroll-behavior:smooth}html:has(.melody-v4){scroll-padding-top:88px}html[data-theme=midnight]:has(.melody-v4,.melody-tokens){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=ember]:has(.melody-v4,.melody-tokens){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html[data-theme=aurora]:has(.melody-v4,.melody-tokens){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (max-width:900px){html:has(.melody-v4){scroll-padding-top:80px}}html[data-theme=midnight]:has(.melody-v4,.melody-tokens) body{background:#080914}html[data-theme=aurora]:has(.melody-v4,.melody-tokens) body{background:#f4f5fb}html[data-theme=ember]:has(.melody-v4,.melody-tokens) body{background:#0f0a0a}.melody-v4{min-width:320px;font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;margin:0;font-size:16px;line-height:1.55;overflow-x:clip}.melody-v4 button,.melody-v4 a,.melody-v4 input{font:inherit}.melody-v4 button,.melody-v4 a{-webkit-tap-highlight-color:transparent}.melody-v4 a{color:inherit;text-decoration:none}.melody-v4 button{color:inherit;cursor:pointer;border:0}.melody-v4 img,.melody-v4 svg,.melody-v4 canvas{display:block}.melody-v4 button:focus-visible,.melody-v4 a:focus-visible{outline:3px solid color-mix(in srgb,var(--secondary)72%,var(--text));outline-offset:3px}.melody-v4 ::selection{color:#fff;background:var(--primary)}.melody-v4 .svg-sprite{width:0;height:0;position:absolute;overflow:hidden}.melody-v4 svg:not(.at-main *,.mt-vdiagram,.excalidraw *){fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em}.melody-v4 .skip-link{z-index:999;color:#fff;background:var(--primary);border-radius:10px;padding:10px 16px;transition:top .2s;position:fixed;top:-70px;left:16px}.melody-v4 .skip-link:focus{top:14px}.melody-v4 .landing-shell{background:var(--bg);min-height:100vh;transition:background .45s,color .45s;overflow:clip}.melody-v4 .section-shell{width:min(var(--page-max),calc(100% - 48px));margin-inline:auto}.melody-v4 .gradient-text{color:#0000;background:linear-gradient(115deg,var(--primary-2),var(--secondary)48%,var(--accent));-webkit-background-clip:text;background-clip:text}.melody-v4 .site-nav{z-index:100;height:var(--nav-h);background:0 0;border-bottom:1px solid #0000;transition:background .25s,border-color .25s,box-shadow .25s;position:fixed;inset:0 0 auto}.melody-v4 .site-nav.is-scrolled{border-color:var(--line);background:var(--nav);-webkit-backdrop-filter:blur(20px)saturate(140%);box-shadow:0 12px 40px #00000014}.melody-v4 .nav-inner{width:min(var(--page-max),calc(100% - 48px));align-items:center;gap:36px;height:100%;margin-inline:auto;display:flex}.melody-v4 .brand{flex:none;align-items:center;gap:11px;display:inline-flex}.melody-v4 .brand-mark{background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--secondary)65%,var(--primary)));width:34px;height:34px;box-shadow:0 8px 28px var(--glow-primary);border:1px solid #ffffff2e;border-radius:11px;justify-content:center;align-items:center;gap:2px;display:flex;position:relative;overflow:hidden}.melody-v4 .brand-mark:after{content:"";background:#ffffff3d;position:absolute;inset:-40% 54% -40% -30%;transform:rotate(18deg)}.melody-v4 .brand-mark span{z-index:1;background:#fff;border-radius:4px;width:3px;animation:1.15s ease-in-out infinite logoBars;position:relative}.melody-v4 .brand-mark span:first-child{height:9px;animation-delay:-.3s}.melody-v4 .brand-mark span:nth-child(2){height:18px;animation-delay:-.15s}.melody-v4 .brand-mark span:nth-child(3){height:13px;animation-delay:-.45s}.melody-v4 .brand-mark span:nth-child(4){height:21px;animation-delay:-.05s}.melody-v4 .brand-name{letter-spacing:-.045em;font-size:20px;font-weight:780}.melody-v4 .brand-name span{color:var(--secondary-ink)}.melody-v4 .desktop-nav{align-items:center;gap:4px;margin-left:auto;display:flex}.melody-v4 .desktop-nav a,.melody-v4 .nav-login{color:var(--text-soft);border-radius:10px;padding:9px 12px;font-size:14px;font-weight:610;transition:color .2s,background .2s}.melody-v4 .desktop-nav a:hover,.melody-v4 .nav-login:hover{color:var(--text);background:var(--surface)}.melody-v4 .nav-actions{align-items:center;gap:8px;display:flex}.melody-v4 .nav-account{position:relative}.melody-v4 .nav-avatar{border:1px solid var(--line-strong);color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));width:34px;height:34px;box-shadow:0 6px 18px var(--glow-primary);border-radius:50%;place-items:center;font-size:13px;font-weight:700;display:grid}.melody-v4 .nav-avatar:hover{box-shadow:0 8px 22px var(--glow-primary)}.melody-v4 .nav-account-menu{z-index:60;border:1px solid var(--line);background:var(--surface-solid);min-width:210px;box-shadow:var(--shadow);border-radius:14px;padding:6px;display:grid;position:absolute;top:calc(100% + 10px);right:0}.melody-v4 .nav-account-who{border-bottom:1px solid var(--line);gap:2px;margin-bottom:5px;padding:9px 12px 11px;display:grid}.melody-v4 .nav-account-who b{color:var(--text);font-size:13px;font-weight:700}.melody-v4 .nav-account-who small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.melody-v4 .nav-account-menu a,.melody-v4 .nav-account-menu button{color:var(--text-soft);text-align:left;background:0 0;border-radius:10px;padding:9px 12px;font-size:13px;font-weight:610}.melody-v4 .nav-account-menu a:hover,.melody-v4 .nav-account-menu button:hover{color:var(--text);background:var(--surface-2)}.melody-v4 .mobile-menu-signout{color:var(--text-soft);text-align:left;background:0 0;padding:12px 4px;font-size:15px;font-weight:610}:is(.melody-v4,.melody-tokens) .theme-picker{border:1px solid var(--line);background:var(--surface);border-radius:999px;align-items:center;gap:8px;margin-right:4px;padding:6px 8px;display:flex}:is(.melody-v4,.melody-tokens) .theme-dot{border:2px solid #0000;border-radius:50%;width:16px;height:16px;padding:0;transition:transform .18s,border-color .18s;position:relative;box-shadow:inset 0 0 0 1px #ffffff61}:is(.melody-v4,.melody-tokens) .theme-dot:hover{transform:scale(1.18)}:is(.melody-v4,.melody-tokens) .theme-dot--midnight{background:linear-gradient(135deg,#6d4aff,#21d4e5)}:is(.melody-v4,.melody-tokens) .theme-dot--aurora{background:linear-gradient(135deg,#fff,#8b6dff 60%,#00a7c4)}:is(.melody-v4,.melody-tokens) .theme-dot--ember{background:linear-gradient(135deg,#ff6b4a,#ffbf5f)}:is(.melody-v4,.melody-tokens) .nav-lang{border:1px solid var(--line);background:var(--surface);border-radius:999px;gap:2px;margin-right:4px;padding:3px;display:inline-flex}:is(.melody-v4,.melody-tokens) .nav-lang button{min-width:44px;min-height:44px;color:var(--text-soft);font-family:var(--font-mono,inherit);letter-spacing:.08em;border-radius:999px;padding:0 10px;font-size:10px;font-weight:700;transition:color .18s,background .18s}:is(.melody-v4,.melody-tokens) .nav-lang button:hover{color:var(--text)}:is(.melody-v4,.melody-tokens) .nav-lang button[aria-pressed=true]{color:var(--text);background:var(--surface-3)}:is(.melody-v4,.melody-tokens) .theme-dot:focus-visible,:is(.melody-v4,.melody-tokens) .theme-dot[aria-pressed=true]:focus-visible{outline:3px solid var(--primary);outline-offset:2px}html[data-theme=midnight] :is(.melody-v4,.melody-tokens) .theme-dot--midnight,html[data-theme=aurora] :is(.melody-v4,.melody-tokens) .theme-dot--aurora,html[data-theme=ember] :is(.melody-v4,.melody-tokens) .theme-dot--ember{border-color:var(--text);transform:scale(1.08)}.melody-v4 .menu-button{border:1px solid var(--line);background:var(--surface);border-radius:12px;place-items:center;width:42px;height:42px;display:none}.melody-v4 .menu-button svg{width:22px;height:22px}.melody-v4 .mobile-menu{border:1px solid var(--line);background:var(--surface-solid);box-shadow:var(--shadow);border-radius:18px;padding:12px;display:none;position:absolute;top:calc(100% + 8px);left:24px;right:24px}.melody-v4 .mobile-menu a{color:var(--text-soft);border-radius:10px;padding:12px 14px;font-weight:650;display:block}.melody-v4 .mobile-menu a:hover{color:var(--text);background:var(--surface-3)}.melody-v4 .mobile-menu.is-open{animation:menuIn .22s var(--ease-out);display:block}@media (min-width:901px){.melody-v4 .mobile-menu.is-open{display:none}}.melody-v4 .button{letter-spacing:-.01em;min-height:46px;transition:transform .2s var(--ease-out),box-shadow .2s ease,background .2s ease,border-color .2s ease;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:0 20px;font-size:14px;font-weight:730;display:inline-flex}.melody-v4 .button svg{width:18px;height:18px;transition:transform .2s}.melody-v4 .button:hover{transform:translateY(-2px)}.melody-v4 .button:hover>svg:last-child{transform:translate(3px)}.melody-v4 .button--small{border-radius:12px;min-height:40px;padding:0 16px}.melody-v4 .button--large{border-radius:17px;min-height:56px;padding:0 25px;font-size:15px}.melody-v4 .button--primary{color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));box-shadow:0 14px 38px var(--glow-primary),inset 0 1px 0 #ffffff38}.melody-v4 .button--primary:hover{box-shadow:0 18px 48px var(--glow-primary),inset 0 1px 0 #ffffff47}.melody-v4 .button--glass{color:var(--text);border-color:var(--line-strong);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 1px #ffffff14}.melody-v4 .button--glass:hover{border-color:color-mix(in srgb,var(--primary)60%,transparent);background:var(--surface-2)}.melody-v4 .button-play{color:#fff;background:var(--primary);width:28px;height:28px;box-shadow:0 6px 18px var(--glow-primary);border-radius:50%;place-items:center;display:grid}.melody-v4 .button-play svg{fill:currentColor;stroke-width:0;width:13px;height:13px}.melody-v4 .button--light{color:#27203f;background:#fff;box-shadow:0 18px 46px #10072833}.melody-v4 .button--outline-light{color:#fff;background:#ffffff14;border-color:#ffffff57}.melody-v4 .hero{min-height:950px;padding:calc(var(--nav-h) + 82px)0 76px;isolation:isolate;background:var(--hero-haze),var(--bg);position:relative}.melody-v4 .hero:before{content:"";z-index:-4;opacity:.5;background-image:radial-gradient(circle at center,var(--grid)1px,transparent 1px);background-size:26px 26px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0% 64%,#0000 96%);mask-image:linear-gradient(#000 0% 64%,#0000 96%)}.melody-v4 .hero-grid-lines{z-index:-3;opacity:.65;background-image:linear-gradient(var(--grid)1px,transparent 1px),linear-gradient(90deg,var(--grid)1px,transparent 1px);transform-origin:bottom;background-size:90px 90px;position:absolute;inset:0;transform:perspective(800px)rotateX(68deg)scale(1.5)translateY(12%);-webkit-mask-image:radial-gradient(at 76% 42%,#000 0%,#0000 65%);mask-image:radial-gradient(at 76% 42%,#000 0%,#0000 65%)}.melody-v4 .ambient{z-index:-2;filter:blur(115px);opacity:.18;pointer-events:none;border-radius:50%;width:540px;height:540px;position:absolute}.melody-v4 .ambient--one{background:var(--primary);top:4%;right:6%}.melody-v4 .ambient--two{background:var(--secondary);opacity:.12;bottom:4%;left:-12%}.melody-v4 .hero-layout{grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);align-items:center;gap:58px;display:grid}.melody-v4 .hero-copy{z-index:3;padding-top:6px;position:relative}.melody-v4 .eyebrow{border:1px solid var(--line);color:var(--muted);background:var(--surface);letter-spacing:.03em;border-radius:999px;align-items:center;gap:11px;margin-bottom:28px;padding:6px 11px 6px 7px;font-size:12px;font-weight:680;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.melody-v4 .eyebrow-live{color:var(--text);background:var(--surface-3);border-radius:999px;align-items:center;gap:7px;padding:5px 9px;display:inline-flex}.melody-v4 .eyebrow-live i{background:var(--success);width:7px;height:7px;box-shadow:0 0 0 5px color-mix(in srgb,var(--success)15%,transparent);border-radius:50%;animation:2s infinite livePulse}.melody-v4 .hero h1{letter-spacing:-.07em;max-width:740px;margin:0;font-size:clamp(56px,6.3vw,92px);font-weight:780;line-height:.98}.melody-v4 .hero-lead{max-width:610px;color:var(--text-soft);margin:30px 0 0;font-size:clamp(17px,1.5vw,20px);line-height:1.65}.melody-v4 .hero-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:35px;display:flex}.melody-v4 .hero-points{color:var(--muted);flex-wrap:wrap;gap:17px;margin:20px 0 0;padding:0;font-size:12px;font-weight:620;list-style:none;display:flex}.melody-v4 .hero-points li{align-items:center;gap:6px;display:inline-flex}.melody-v4 .hero-points svg{width:14px;height:14px;color:var(--success);stroke-width:2.4px}.melody-v4 .hero-proof{align-items:center;gap:14px;margin-top:44px;display:flex}.melody-v4 .proof-avatars{padding-left:8px;display:flex}.melody-v4 .proof-avatars i{border:2px solid var(--bg);color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;place-items:center;width:34px;height:34px;margin-left:-8px;font-size:11px;font-style:normal;font-weight:760;display:grid}.melody-v4 .proof-avatars i:nth-child(2){background:linear-gradient(135deg,var(--secondary),var(--primary))}.melody-v4 .proof-avatars i:nth-child(3){background:linear-gradient(135deg,var(--accent),#f59e0b)}.melody-v4 .hero-proof>div:last-child{display:grid}.melody-v4 .hero-proof strong{font-size:13px}.melody-v4 .hero-proof span{color:var(--muted);font-size:12px}.melody-v4 .hero-stage{perspective:1200px;isolation:isolate;-webkit-user-select:none;user-select:none;min-height:650px;position:relative}.melody-v4 #space-canvas{z-index:-2;opacity:.86;width:108%;height:108%;position:absolute;inset:-4%}.melody-v4 .stage-shadow{background:var(--glow-primary);filter:blur(58px);opacity:.45;border-radius:50%;width:58%;height:18%;position:absolute;bottom:7%;left:50%;transform:translate(-50%)}.melody-v4 .stage-world{--stage-x:-7deg;--stage-y:-10deg;transform-style:preserve-3d;transform:rotateX(var(--stage-x))rotateY(var(--stage-y));transition:transform .16s linear;position:absolute;inset:5% 0 10%}.melody-v4 .music-core{width:230px;height:230px;transform-style:preserve-3d;animation:6s ease-in-out infinite coreFloat;position:absolute;top:48%;left:50%;transform:translate3d(-50%,-50%,90px)}.melody-v4 .core-halo{background:radial-gradient(circle,var(--glow-primary)0%,var(--glow-secondary)34%,transparent 69%);filter:blur(12px);border-radius:50%;animation:3.6s ease-in-out infinite haloPulse;position:absolute;inset:-42%}.melody-v4 .core-sphere{background:radial-gradient(circle at 35% 25%,#ffffffc2,#ffffff14 13%,transparent 30%),radial-gradient(circle at 60% 62%,color-mix(in srgb,var(--secondary)38%,transparent),transparent 45%),linear-gradient(145deg,color-mix(in srgb,var(--primary)90%,#fff),color-mix(in srgb,var(--primary)50%,#111)52%,color-mix(in srgb,var(--secondary)65%,#111));box-shadow:inset -32px -38px 70px #00000047,inset 25px 22px 50px #ffffff1a,0 28px 80px var(--glow-primary);border:1px solid #ffffff42;border-radius:50%;position:absolute;inset:0;overflow:hidden}.melody-v4 .core-sphere:after{content:"";border:1px solid #ffffff24;border-radius:50%;position:absolute;inset:7%;box-shadow:inset 0 0 32px #ffffff14}.melody-v4 .core-grid{opacity:.28;background-image:linear-gradient(#ffffff38 1px,#0000 1px),linear-gradient(90deg,#ffffff38 1px,#0000 1px);background-size:29px 29px;animation:10s linear infinite coreGridMove;position:absolute;inset:-20%;transform:rotate(-18deg);-webkit-mask-image:radial-gradient(circle,#000 10%,#0000 68%);mask-image:radial-gradient(circle,#000 10%,#0000 68%)}.melody-v4 .core-center{text-align:center;color:#fff;text-shadow:0 2px 18px #0000004d;place-content:center;display:grid;position:absolute;inset:0}.melody-v4 .core-center span{font-family:var(--font-mono);letter-spacing:.34em;font-size:9px;font-weight:760}.melody-v4 .core-center strong{letter-spacing:-.08em;margin-top:-4px;font-size:62px;line-height:1}.melody-v4 .core-latitude,.melody-v4 .core-meridian{transform-style:preserve-3d;border:1px solid #ffffff3d;border-radius:50%;position:absolute;inset:2%}.melody-v4 .core-latitude--one{transform:rotateX(70deg)translateZ(3px)}.melody-v4 .core-latitude--two{transform:rotateX(70deg)rotate(58deg)translateZ(3px)}.melody-v4 .core-meridian--one{transform:rotateY(68deg)translateZ(3px)}.melody-v4 .core-meridian--two{transform:rotateY(68deg)rotateX(58deg)translateZ(3px)}.melody-v4 .orbit{border:1px solid var(--line-strong);transform-style:preserve-3d;border-radius:50%;position:absolute;top:48%;left:50%}.melody-v4 .orbit:before{content:"";border-radius:inherit;border-top:2px solid color-mix(in srgb,var(--secondary)65%,transparent);filter:drop-shadow(0 0 7px var(--secondary));border-right:2px solid #0000;position:absolute;inset:-2px}.melody-v4 .orbit i{background:var(--secondary);width:9px;height:9px;box-shadow:0 0 16px var(--secondary);border-radius:50%;position:absolute}.melody-v4 .orbit i:first-child{top:12%;left:16%}.melody-v4 .orbit i:last-child{background:var(--accent);width:6px;height:6px;box-shadow:0 0 14px var(--accent);bottom:18%;right:10%}.melody-v4 .orbit--a{width:440px;height:440px;margin:-220px 0 0 -220px;animation:15s linear infinite orbitA;transform:rotateX(69deg)rotate(12deg)}.melody-v4 .orbit--b{width:355px;height:355px;margin:-177px 0 0 -177px;animation:12s linear infinite reverse orbitB;transform:rotateY(72deg)rotate(-18deg)}.melody-v4 .orbit--c{opacity:.58;width:520px;height:290px;margin:-145px 0 0 -260px;animation:20s linear infinite orbitC;transform:rotateX(54deg)rotate(-25deg)}.melody-v4 .spectral-ring{width:1px;height:1px;transform-style:preserve-3d;position:absolute;top:48%;left:50%;transform:translateZ(120px)rotateX(72deg)rotate(4deg)}.melody-v4 .spectral-bar{width:4px;height:calc(11px + var(--amp)*32px);transform-origin:50% 100%;transform:rotateZ(calc(var(--i)*7.5deg))translateY(-184px)rotateX(-72deg);background:linear-gradient(to top,color-mix(in srgb,var(--primary)75%,transparent),var(--secondary));box-shadow:0 0 8px color-mix(in srgb,var(--secondary)60%,transparent);opacity:calc(.35 + var(--amp)*.65);border-radius:5px;transition:height .12s linear,opacity .12s linear;position:absolute;bottom:0;left:0}.melody-v4 .floating-panel{border:1px solid var(--line-strong);min-width:205px;color:var(--text);background:color-mix(in srgb,var(--surface-solid)75%,transparent);box-shadow:var(--shadow-soft),inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform-style:preserve-3d;border-radius:16px;align-items:center;gap:11px;padding:12px 13px;display:flex;position:absolute}.melody-v4 .floating-panel:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff1a,#0000 40%);position:absolute;inset:0}.melody-v4 .panel-icon{color:#fff;background:linear-gradient(145deg,var(--primary),var(--accent));width:36px;height:36px;box-shadow:0 8px 22px var(--glow-primary);border-radius:11px;flex:none;place-items:center;display:grid}.melody-v4 .panel-icon svg{width:18px;height:18px}.melody-v4 .floating-panel>span:nth-child(2){min-width:0;display:grid}.melody-v4 .floating-panel b{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.melody-v4 .floating-panel small{color:var(--muted);white-space:nowrap;font-size:9px}.melody-v4 .floating-panel--tab{animation:5.4s ease-in-out infinite panelFloatA;top:15%;left:2%;transform:translateZ(145px)rotateY(8deg)rotateX(2deg)}.melody-v4 .floating-panel--stems{animation:6.2s ease-in-out infinite panelFloatB;top:22%;right:-1%;transform:translateZ(130px)rotateY(-10deg)}.melody-v4 .floating-panel--generate{animation:6.8s ease-in-out infinite panelFloatC;bottom:8%;left:8%;transform:translateZ(165px)rotateY(7deg)}.melody-v4 .panel-status{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 5px color-mix(in srgb,var(--success)12%,transparent);border-radius:50%;margin-left:auto}.melody-v4 .mini-eq{align-items:end;gap:2px;width:27px;height:18px;margin-left:auto;display:flex}.melody-v4 .mini-eq i{background:linear-gradient(var(--secondary),var(--primary));border-radius:3px;width:3px;animation:.9s ease-in-out infinite eqBounce}.melody-v4 .mini-eq i:first-child{height:38%}.melody-v4 .mini-eq i:nth-child(2){height:85%;animation-delay:-.2s}.melody-v4 .mini-eq i:nth-child(3){height:55%;animation-delay:-.45s}.melody-v4 .mini-eq i:nth-child(4){height:95%;animation-delay:-.1s}.melody-v4 .generated-cover{background:conic-gradient(from 45deg,var(--secondary),var(--primary),var(--accent),var(--secondary));border-radius:8px;width:31px;height:31px;margin-left:auto;animation:6s linear infinite coverSpin;box-shadow:inset 0 0 0 7px #0a0a1461}.melody-v4 .floating-note{color:color-mix(in srgb,var(--secondary)70%,var(--text));text-shadow:0 0 20px var(--secondary);opacity:.72;font-size:26px;font-weight:700;position:absolute}.melody-v4 .floating-note--one{animation:5s ease-in-out infinite noteFloat;top:8%;right:20%;transform:translateZ(40px)}.melody-v4 .floating-note--two{animation:6.5s ease-in-out infinite reverse noteFloat;bottom:17%;right:7%;transform:translateZ(70px)}.melody-v4 .floating-note--three{color:var(--accent);text-shadow:0 0 20px var(--accent);animation:5.8s ease-in-out -2s infinite noteFloat;bottom:3%;left:27%}.melody-v4 .stage-ui{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:min(440px,80%);color:var(--muted);border-radius:14px;justify-content:center;align-items:center;gap:24px;padding:10px 16px;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.melody-v4 .stage-ui>div:not(.stage-ui-wave){display:grid}.melody-v4 .stage-ui span{font-family:var(--font-mono);letter-spacing:.15em;font-size:7px}.melody-v4 .stage-ui strong{color:var(--text);font-family:var(--font-mono);letter-spacing:.08em;font-size:9px}.melody-v4 .stage-ui-wave{flex:1;justify-content:center;align-items:center;gap:3px;height:20px;display:flex}.melody-v4 .stage-ui-wave i{background:var(--secondary);border-radius:3px;width:3px;height:30%;animation:1s ease-in-out infinite eqBounce}.melody-v4 .stage-ui-wave i:nth-child(2){height:70%;animation-delay:-.1s}.melody-v4 .stage-ui-wave i:nth-child(3){height:45%;animation-delay:-.4s}.melody-v4 .stage-ui-wave i:nth-child(4){height:90%;animation-delay:-.25s}.melody-v4 .stage-ui-wave i:nth-child(5){height:55%;animation-delay:-.55s}.melody-v4 .stage-ui-wave i:nth-child(6){height:75%;animation-delay:-.15s}.melody-v4 .stage-ui-wave i:nth-child(7){height:38%;animation-delay:-.35s}.melody-v4 .product-strip{border:1px solid var(--line);color:var(--muted);background:var(--surface);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;border-radius:16px;justify-content:space-between;align-items:center;gap:24px;margin-top:74px;padding:18px 28px;font-size:10px;font-weight:650;display:flex}.melody-v4 .product-strip i{background:var(--primary-2);width:4px;height:4px;box-shadow:0 0 10px var(--primary);border-radius:50%;flex:none}.melody-v4 .product-section,.melody-v4 .workflow-section,.melody-v4 .course-section,.melody-v4 .theme-section{background:var(--bg);padding:128px 0;position:relative}.melody-v4 .section-heading{grid-template-columns:1.18fr .82fr;align-items:end;gap:80px;margin-bottom:58px;display:grid}.melody-v4 .section-heading--compact{margin-bottom:50px}.melody-v4 .section-kicker{color:var(--secondary-ink);font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;margin-bottom:16px;font-size:11px;font-weight:760;display:inline-block}.melody-v4 .section-heading h2,.melody-v4 .studio-heading h2,.melody-v4 .theme-copy h2,.melody-v4 .final-cta h2{letter-spacing:-.055em;margin:0;font-size:clamp(42px,5vw,68px);line-height:1.03}.melody-v4 .section-heading p,.melody-v4 .studio-heading p,.melody-v4 .theme-copy>p{max-width:550px;color:var(--text-soft);margin:0;font-size:17px;line-height:1.75}.melody-v4 .feature-grid{gap:24px;display:grid}.melody-v4 .feature-card{border:1px solid var(--line);border-radius:var(--radius-xl);background:var(--surface);min-height:600px;box-shadow:var(--shadow-soft),inset 0 1px #ffffff0d;transform-style:preserve-3d;transition:transform .22s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.melody-v4 .feature-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.melody-v4 .feature-card:before{content:"";z-index:0;opacity:.42;pointer-events:none;background:radial-gradient(circle at var(--glow-x,50%)var(--glow-y,50%),var(--glow-primary),transparent 34%);position:absolute;inset:0}.melody-v4 .feature-card--player,.melody-v4 .feature-card--editor{grid-template-columns:.78fr 1.22fr;align-items:center;gap:42px;padding:52px;display:grid}.melody-v4 .feature-card--editor{grid-template-columns:1.12fr .88fr}.melody-v4 .feature-copy{z-index:3;position:relative;transform:translateZ(24px)}.melody-v4 .feature-index{color:var(--line-strong);font-family:var(--font-mono);margin-bottom:50px;font-size:44px;font-weight:760;line-height:1;display:block}.melody-v4 .feature-label{color:var(--secondary-ink);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:730;display:inline-flex}.melody-v4 .feature-label svg{width:17px;height:17px}.melody-v4 .feature-copy h3{letter-spacing:-.05em;margin:20px 0 18px;font-size:clamp(34px,3.3vw,52px);line-height:1.06}.melody-v4 .feature-copy p{max-width:520px;color:var(--text-soft);margin:0;font-size:15px;line-height:1.75}.melody-v4 .feature-tags{flex-wrap:wrap;gap:7px;margin-top:24px;display:flex}.melody-v4 .feature-tags span{border:1px solid var(--line);color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);text-transform:uppercase;border-radius:999px;padding:7px 10px;font-size:9px}.melody-v4 .text-link{color:var(--text);align-items:center;gap:8px;margin-top:30px;font-size:13px;font-weight:730;display:inline-flex}.melody-v4 .text-link svg{width:17px;height:17px;transition:transform .2s}.melody-v4 .text-link:hover svg{transform:translate(4px)}.melody-v4 .player-window{z-index:3;border:1px solid var(--line-strong);background:var(--surface-solid);border-radius:22px;min-width:0;position:relative;overflow:hidden;transform:translateZ(34px)rotateY(-3deg)rotateX(1deg);box-shadow:0 38px 90px #00000047}.melody-v4 .window-topbar{border-bottom:1px solid var(--line);color:var(--text-soft);font-family:var(--font-mono);grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:13px 16px;font-size:9px;display:grid}.melody-v4 .window-dots{gap:5px;display:flex}.melody-v4 .window-dots i{background:var(--muted);opacity:.4;border-radius:50%;width:7px;height:7px}.melody-v4 .window-dots i:first-child{background:var(--accent);opacity:1}.melody-v4 .window-dots i:nth-child(2){background:var(--secondary);opacity:1}.melody-v4 .window-pill{color:var(--muted);background:var(--surface-3);border-radius:999px;padding:4px 7px}.melody-v4 .player-toolbar{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 16px;display:flex}.melody-v4 .transport-button{color:#fff;background:linear-gradient(145deg,var(--primary),var(--accent));width:39px;height:39px;box-shadow:0 8px 25px var(--glow-primary);border-radius:50%;flex:none;place-items:center;display:grid}.melody-v4 .transport-button svg{width:16px;height:16px}.melody-v4 .transport-button .play-icon{fill:currentColor;stroke:none}.melody-v4 .transport-button .pause-icon,.melody-v4 .player-window.is-playing .transport-button .play-icon{display:none}.melody-v4 .player-window.is-playing .transport-button .pause-icon{display:block}.melody-v4 .transport-time{color:var(--muted);font-family:var(--font-mono);align-items:baseline;gap:4px;font-size:8px;display:flex}.melody-v4 .transport-time strong{color:var(--text);font-size:10px}.melody-v4 .transport-track{background:var(--surface-3);border-radius:99px;flex:1;height:3px;position:relative;overflow:hidden}.melody-v4 .transport-track i{border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--secondary));width:36%;height:100%;display:block}.melody-v4 .speed-pill{color:var(--text-soft);background:var(--surface-3);font-family:var(--font-mono);border-radius:8px;padding:5px 8px;font-size:9px}.melody-v4 .notation-area{background-image:linear-gradient(var(--grid)1px,transparent 1px);background-size:100% 32px;min-height:320px;padding:40px 20px 20px 48px;position:relative;overflow:hidden}.melody-v4 .measure-numbers{color:var(--muted);font-family:var(--font-mono);justify-content:space-around;font-size:7px;display:flex;position:absolute;top:12px;left:0;right:0}.melody-v4 .staff-row--notes{height:74px;color:var(--text);justify-content:space-around;align-items:center;font-size:20px;display:flex;transform:skewY(-2deg)}.melody-v4 .staff-row--notes span:nth-child(2n){transform:translateY(-10px)}.melody-v4 .tab-lines{color:var(--text-soft);font-family:var(--font-mono);white-space:nowrap;gap:7px;margin-top:25px;font-size:clamp(8px,.8vw,11px);display:grid}.melody-v4 .tab-playhead{background:var(--secondary);width:2px;box-shadow:0 0 13px var(--secondary);border-radius:3px;position:absolute;top:24px;bottom:18px;left:18%}.melody-v4 .tab-playhead:before{content:"";background:var(--secondary);width:8px;height:8px;position:absolute;top:0;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.melody-v4 .player-window.is-playing .tab-playhead{animation:5.5s linear infinite tabPlayhead}.melody-v4 .loop-zone{border:1px solid color-mix(in srgb,var(--primary)55%,transparent);background:color-mix(in srgb,var(--primary)7%,transparent);width:23%;position:absolute;top:19px;bottom:14px;left:45%}.melody-v4 .notation-area--live{background-image:none;max-height:320px;padding:0;overflow-y:auto}.melody-v4 .mixer-row{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);align-items:center;gap:14px;padding:13px 16px;font-size:8px;display:flex}.melody-v4 .mixer-row>span{align-items:center;gap:5px;display:inline-flex}.melody-v4 .track-color{border-radius:2px;width:6px;height:6px}.melody-v4 .track-color--one{background:var(--primary)}.melody-v4 .track-color--two{background:var(--secondary)}.melody-v4 .track-color--three{background:var(--accent)}.melody-v4 .tiny-levels{align-items:end;gap:2px;height:15px;margin-left:auto;display:flex}.melody-v4 .tiny-levels i{background:var(--success);border-radius:3px;width:3px;height:35%;animation:.8s ease-in-out infinite eqBounce}.melody-v4 .tiny-levels i:nth-child(2){height:80%;animation-delay:-.25s}.melody-v4 .tiny-levels i:nth-child(3){height:50%;animation-delay:-.4s}.melody-v4 .tiny-levels i:nth-child(4){height:95%;animation-delay:-.1s}.melody-v4 .tiny-levels i:nth-child(5){height:60%;animation-delay:-.55s}.melody-v4 .player-window:not(.is-playing) .tiny-levels i{animation-play-state:paused}.melody-v4 .editor-demo{z-index:3;border:1px solid var(--line-strong);background:var(--surface-solid);border-radius:22px;position:relative;overflow:hidden;transform:translateZ(35px)rotateY(3deg)rotateX(1deg);box-shadow:0 38px 90px #00000047}.melody-v4 .editor-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.melody-v4 .editor-header>div{align-items:center;gap:10px;display:flex}.melody-v4 .editor-header>div>span:last-child{display:grid}.melody-v4 .editor-header b{font-size:11px}.melody-v4 .editor-header small{color:var(--muted);font-size:8px}.melody-v4 .editor-doc-icon{color:#fff;background:linear-gradient(145deg,var(--primary),var(--accent));border-radius:9px;place-items:center;width:32px;height:32px;display:grid}.melody-v4 .editor-doc-icon svg{width:16px;height:16px}.melody-v4 .editor-header button{color:#fff;background:var(--primary);border-radius:8px;padding:7px 10px;font-size:9px;font-weight:720}.melody-v4 .editor-tools{border-bottom:1px solid var(--line);gap:4px;padding:10px 12px;display:flex;overflow-x:auto}.melody-v4 .editor-tools span{color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);text-transform:uppercase;border-radius:7px;padding:5px 8px;font-size:7px}.melody-v4 .editor-tools .active{color:#fff;background:var(--primary)}.melody-v4 .fret-editor{background-image:linear-gradient(90deg,transparent 0 28px,var(--grid)28px 29px,transparent 29px),linear-gradient(var(--grid)1px,transparent 1px);background-size:100% 100%,100% 34px;grid-template-rows:repeat(6,34px);grid-template-columns:28px repeat(12,minmax(22px,1fr));min-height:268px;padding:30px 14px 24px;display:grid;position:relative;overflow:hidden}.melody-v4 .fret-editor:before{content:"";background:color-mix(in srgb,var(--primary)5%,transparent);border-left:1px solid color-mix(in srgb,var(--primary)28%,transparent);border-right:1px solid color-mix(in srgb,var(--primary)28%,transparent);width:20%;position:absolute;top:0;bottom:0;left:43%}.melody-v4 .fret-cell{z-index:1;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;color:var(--muted);font-family:var(--font-mono);background:0 0;place-items:center;font-size:8px;display:grid;position:relative}.melody-v4 .fret-cell.string-label{border-right-color:var(--line-strong);color:var(--secondary-ink);font-weight:760}.melody-v4 .fret-cell.note{color:#fff}.melody-v4 .fret-cell.note:after{content:attr(data-note);background:linear-gradient(145deg,var(--primary),var(--accent));width:22px;height:22px;box-shadow:0 5px 16px var(--glow-primary);border-radius:50%;place-items:center;display:grid}.melody-v4 .fret-cell:not(.string-label):hover{background:color-mix(in srgb,var(--primary)12%,transparent)}.melody-v4 .editor-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);justify-content:space-between;gap:12px;padding:12px 16px;font-size:8px;display:flex}.melody-v4 .studio-section{background:var(--bg-2);isolation:isolate;padding:130px 0 140px;position:relative;overflow:hidden}.melody-v4 .studio-section:before{content:"";z-index:-2;background:radial-gradient(circle,var(--glow-primary),transparent 65%);filter:blur(50px);opacity:.22;border-radius:50%;width:980px;height:780px;position:absolute;top:22%;left:50%;transform:translate(-50%)}.melody-v4 .studio-grid-bg{z-index:-3;opacity:.8;background-image:linear-gradient(var(--grid)1px,transparent 1px),linear-gradient(90deg,var(--grid)1px,transparent 1px);background-size:70px 70px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000 14% 84%,#0000);mask-image:linear-gradient(#0000,#000 14% 84%,#0000)}.melody-v4 .studio-heading{text-align:center;max-width:820px;margin:0 auto 64px}.melody-v4 .studio-heading p{margin:24px auto 0}.melody-v4 .studio-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.melody-v4 .studio-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft),inset 0 1px #ffffff0d;transform-style:preserve-3d;transition:transform .22s,box-shadow .3s,border-color .3s;position:relative;overflow:hidden}.melody-v4 .studio-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.melody-v4 .studio-card:before{content:"";opacity:.34;pointer-events:none;background:radial-gradient(circle at var(--glow-x,50%)var(--glow-y,50%),var(--glow-primary),transparent 30%);position:absolute;inset:0}.melody-v4 .studio-card--stems{grid-column:1/-1}.melody-v4 .studio-card-head,.melody-v4 .studio-card-foot{z-index:2;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;display:flex;position:relative}.melody-v4 .studio-card-head{border-bottom:1px solid var(--line)}.melody-v4 .studio-card-head>div{align-items:center;gap:11px;display:flex}.melody-v4 .studio-card-head>div>span:last-child{display:grid}.melody-v4 .studio-card-head b{font-size:13px}.melody-v4 .studio-card-head small{color:var(--muted);font-size:10px}.melody-v4 .studio-icon{color:#fff;background:linear-gradient(145deg,var(--primary),var(--accent));width:38px;height:38px;box-shadow:0 8px 24px var(--glow-primary);border-radius:11px;flex:none;place-items:center;display:grid}.melody-v4 .studio-icon svg{width:18px;height:18px}.melody-v4 .ai-badge{border:1px solid color-mix(in srgb,var(--secondary)28%,transparent);color:var(--secondary-ink);background:color-mix(in srgb,var(--secondary)8%,transparent);font-family:var(--font-mono);border-radius:999px;align-items:center;gap:5px;padding:5px 8px;font-size:8px;font-weight:760;display:inline-flex}.melody-v4 .ai-badge svg{width:12px;height:12px}.melody-v4 .studio-card-foot{border-top:1px solid var(--line);color:var(--muted);font-family:var(--font-mono);font-size:9px}.melody-v4 .studio-card-foot a{color:var(--text);font-family:var(--font-sans);align-items:center;gap:6px;font-size:11px;font-weight:700;display:inline-flex}.melody-v4 .studio-card-foot a svg{width:14px;height:14px}.melody-v4 .stem-workspace{z-index:2;background:color-mix(in srgb,var(--surface-solid)54%,transparent);padding:18px 20px 22px;position:relative}.melody-v4 .stem-ruler{color:var(--muted);font-family:var(--font-mono);grid-template-columns:repeat(5,1fr);margin:0 0 8px 196px;font-size:7px;display:grid}.melody-v4 .stem-ruler span:last-child{text-align:right}.melody-v4 .stem-playhead{z-index:5;background:var(--secondary);width:1px;box-shadow:0 0 10px var(--secondary);animation:8s linear infinite stemPlayhead;position:absolute;top:20px;bottom:20px;left:46%}.melody-v4 .stem-playhead:before{content:"";background:var(--secondary);width:7px;height:7px;position:absolute;top:-2px;left:50%;transform:translate(-50%)rotate(45deg)}.melody-v4 .stem-track{border-top:1px solid var(--line);grid-template-columns:180px 1fr 58px;align-items:center;gap:14px;min-height:66px;transition:opacity .2s;display:grid}.melody-v4 .stem-track.is-muted{opacity:.35}.melody-v4 .stem-meta{grid-template-columns:auto 1fr auto;align-items:center;gap:9px;display:grid}.melody-v4 .stem-meta>span:nth-child(2){display:grid}.melody-v4 .stem-meta b{font-size:10px}.melody-v4 .stem-meta small{color:var(--muted);font-size:8px}.melody-v4 .stem-meta button{width:24px;height:24px;color:var(--muted);background:var(--surface-3);font-family:var(--font-mono);border-radius:7px;font-size:8px;font-weight:760}.melody-v4 .stem-track.is-muted .stem-meta button{color:#fff;background:var(--primary)}.melody-v4 .stem-color{border-radius:4px;width:7px;height:28px}.melody-v4 .stem-color--vocals{background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent)60%,transparent)}.melody-v4 .stem-color--drums{background:var(--secondary);box-shadow:0 0 12px color-mix(in srgb,var(--secondary)60%,transparent)}.melody-v4 .stem-color--bass{background:var(--primary);box-shadow:0 0 12px var(--glow-primary)}.melody-v4 .stem-color--other{background:var(--success);box-shadow:0 0 12px color-mix(in srgb,var(--success)60%,transparent)}.melody-v4 .wave-track{align-items:center;gap:2px;height:45px;display:flex;overflow:hidden}.melody-v4 .wave-track i{min-width:2px;max-width:5px;height:calc(12% + var(--bar)*82%);background:color-mix(in srgb,var(--primary)58%,var(--secondary));opacity:calc(.45 + var(--bar)*.55);transform-origin:50%;animation:2.2s ease-in-out infinite waveBreath;animation-delay:calc(var(--index)*-34ms);border-radius:4px;flex:1}.melody-v4 .stem-track:nth-of-type(3) .wave-track i{background:var(--accent)}.melody-v4 .stem-track:nth-of-type(4) .wave-track i{background:var(--secondary)}.melody-v4 .stem-track:nth-of-type(5) .wave-track i{background:var(--primary)}.melody-v4 .stem-track:nth-of-type(6) .wave-track i{background:var(--success)}.melody-v4 .stem-value{color:var(--muted);font-family:var(--font-mono);text-align:right;font-size:8px}.melody-v4 .karaoke-preview{z-index:2;background:radial-gradient(circle at 50% 25%,color-mix(in srgb,var(--primary)20%,transparent),transparent 42%);min-height:500px;padding:26px;position:relative;overflow:hidden}.melody-v4 .karaoke-art{perspective:600px;width:170px;height:170px;margin:0 auto 18px;position:relative}.melody-v4 .mic-3d{z-index:2;width:58px;height:112px;transform-style:preserve-3d;animation:4.8s ease-in-out infinite micFloat;position:absolute;top:46%;left:50%;transform:translate(-50%,-50%)rotate(-18deg)rotateY(-14deg)}.melody-v4 .mic-3d span{background:repeating-linear-gradient(45deg,#fff3 0 1px,transparent 1px 5px),linear-gradient(145deg,var(--secondary),var(--primary));width:42px;height:60px;box-shadow:inset 0 0 22px #0003,0 18px 44px var(--glow-primary);border:1px solid #ffffff5c;border-radius:22px;position:absolute;top:0;left:8px}.melody-v4 .mic-3d span:after{content:"";background:color-mix(in srgb,var(--primary)75%,#222);border-radius:8px;width:32px;height:14px;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.melody-v4 .mic-3d i{background:linear-gradient(var(--primary),color-mix(in srgb,var(--primary)45%,#111));border-radius:4px 4px 9px 9px;width:14px;height:48px;position:absolute;top:62px;left:22px;box-shadow:0 11px 22px #00000047}.melody-v4 .karaoke-orbit{border:1px solid var(--line-strong);border-radius:50%;animation:10s linear infinite orbitA;position:absolute;inset:12px;transform:rotateX(68deg)rotate(14deg)}.melody-v4 .karaoke-orbit:before,.melody-v4 .karaoke-orbit:after{content:"";background:var(--secondary);width:7px;height:7px;box-shadow:0 0 16px var(--secondary);border-radius:50%;position:absolute}.melody-v4 .karaoke-orbit:before{top:25%;left:10%}.melody-v4 .karaoke-orbit:after{background:var(--accent);box-shadow:0 0 16px var(--accent);bottom:19%;right:12%}.melody-v4 .karaoke-stars i{background:var(--secondary);width:4px;height:4px;box-shadow:0 0 12px var(--secondary);border-radius:50%;animation:2s infinite starPulse;position:absolute}.melody-v4 .karaoke-stars i:first-child{top:26%;left:8%}.melody-v4 .karaoke-stars i:nth-child(2){animation-delay:-.7s;top:38%;right:4%}.melody-v4 .karaoke-stars i:nth-child(3){animation-delay:-1.2s;bottom:7%;left:21%}.melody-v4 .karaoke-stars i:nth-child(4){animation-delay:-.35s;bottom:12%;right:18%}.melody-v4 .karaoke-song{text-align:center;display:grid}.melody-v4 .karaoke-song>span{color:var(--secondary-ink);font-family:var(--font-mono);letter-spacing:.18em;font-size:8px;font-weight:760}.melody-v4 .karaoke-song strong{letter-spacing:-.035em;margin-top:3px;font-size:22px}.melody-v4 .karaoke-song small{color:var(--muted);font-size:9px}.melody-v4 .lyrics-window{text-align:center;min-height:116px;margin-top:24px;-webkit-mask-image:linear-gradient(#0000,#000 25% 75%,#0000);mask-image:linear-gradient(#0000,#000 25% 75%,#0000)}.melody-v4 .lyrics-window p{color:var(--muted);transition:transform .35s var(--ease-out),color .35s ease,opacity .35s ease;opacity:.36;margin:0;padding:4px 0;font-size:13px;font-weight:620}.melody-v4 .lyrics-window p.is-active{color:var(--text);opacity:1;text-shadow:0 0 18px var(--glow-primary);font-size:15px;transform:scale(1.05)}.melody-v4 .karaoke-progress{background:var(--surface-3);border-radius:999px;height:3px;margin-top:8px;overflow:hidden}.melody-v4 .karaoke-progress i{border-radius:inherit;background:linear-gradient(90deg,var(--primary),var(--secondary));width:42%;height:100%;display:block}.melody-v4 .karaoke-controls{color:var(--muted);font-family:var(--font-mono);align-items:center;gap:11px;margin-top:13px;font-size:8px;display:flex}.melody-v4 .karaoke-controls button{color:#fff;background:var(--primary);border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.melody-v4 .karaoke-controls button svg{fill:currentColor;stroke:none;width:13px;height:13px}.melody-v4 .karaoke-eq{align-items:end;gap:2px;height:17px;margin-left:auto;display:flex}.melody-v4 .karaoke-eq i{background:var(--secondary);border-radius:3px;width:3px;animation:.8s ease-in-out infinite eqBounce}.melody-v4 .karaoke-eq i:first-child{height:40%}.melody-v4 .karaoke-eq i:nth-child(2){height:90%;animation-delay:-.2s}.melody-v4 .karaoke-eq i:nth-child(3){height:55%;animation-delay:-.45s}.melody-v4 .karaoke-eq i:nth-child(4){height:78%;animation-delay:-.1s}.melody-v4 .karaoke-eq i:nth-child(5){height:32%;animation-delay:-.55s}.melody-v4 .karaoke-preview:not(.is-playing) .karaoke-eq i{animation-play-state:paused}.melody-v4 .generator-preview{z-index:2;min-height:500px;padding:26px;position:relative}.melody-v4 .prompt-box{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;padding:17px;box-shadow:inset 0 1px #ffffff0a}.melody-v4 .prompt-label{color:var(--secondary-ink);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:8px;font-weight:760;display:block}.melody-v4 .prompt-box p{min-height:66px;color:var(--text-soft);margin:0;font-size:12px;line-height:1.65}.melody-v4 .prompt-tags{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.melody-v4 .prompt-tags button{border:1px solid var(--line);color:var(--muted);background:var(--surface-solid);border-radius:999px;padding:6px 8px;font-size:8px}.melody-v4 .prompt-tags button:hover{color:var(--text);border-color:var(--line-strong)}.melody-v4 .generator-settings{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.melody-v4 .generator-settings span{border:1px solid var(--line);color:var(--muted);background:var(--surface-2);font-family:var(--font-mono);border-radius:12px;gap:2px;padding:10px;font-size:7px;display:grid}.melody-v4 .generator-settings b{color:var(--text);font-size:8px}.melody-v4 .generate-button{color:#fff;background:linear-gradient(120deg,var(--primary),var(--accent));width:100%;min-height:46px;box-shadow:0 12px 30px var(--glow-primary);border-radius:13px;margin-top:12px;font-size:11px;font-weight:760}.melody-v4 .generate-button span{justify-content:center;align-items:center;gap:8px;display:inline-flex}.melody-v4 .generate-button svg{width:15px;height:15px}.melody-v4 .generate-loading{display:none!important}.melody-v4 .generate-loading i{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite melody-spin}.melody-v4 .generator-preview.is-generating .generate-idle{display:none}.melody-v4 .generator-preview.is-generating .generate-loading{display:inline-flex!important}.melody-v4 .generated-track{border:1px solid var(--line);background:var(--surface-2);opacity:.72;transition:transform .4s var(--ease-spring),opacity .4s ease,border-color .4s ease;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;margin-top:14px;padding:12px;display:grid}.melody-v4 .generated-track.is-new{border-color:color-mix(in srgb,var(--secondary)44%,transparent);opacity:1;box-shadow:0 12px 34px var(--glow-secondary);transform:translateY(-3px)scale(1.015)}.melody-v4 .generated-art{background:conic-gradient(from 30deg,var(--secondary),var(--primary),var(--accent),var(--secondary));border-radius:12px;width:48px;height:48px;display:block;position:relative;overflow:hidden}.melody-v4 .generated-art:before{content:"";background:var(--surface-solid);border-radius:50%;position:absolute;inset:9px;box-shadow:inset 0 0 0 2px #ffffff14}.melody-v4 .generated-art i{z-index:1;background:var(--secondary);border-radius:50%;width:6px;height:6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.melody-v4 .generated-info{display:grid}.melody-v4 .generated-info small{color:var(--secondary-ink);font-family:var(--font-mono);letter-spacing:.1em;font-size:7px}.melody-v4 .generated-info b{font-size:12px}.melody-v4 .generated-info span{color:var(--muted);font-size:8px}.melody-v4 .generated-track>button{border:1px solid var(--line);width:34px;height:34px;color:var(--text);background:var(--surface-solid);border-radius:50%;place-items:center;display:grid}.melody-v4 .generated-track>button svg{fill:currentColor;stroke:none;width:13px;height:13px}.melody-v4 .workflow-section{background:var(--bg)}.melody-v4 .workflow-line{grid-template-columns:repeat(4,1fr);gap:18px;display:grid;position:relative}.melody-v4 .workflow-line:before{content:"";background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),var(--accent),transparent);opacity:.45;height:1px;position:absolute;top:37px;left:10%;right:10%}.melody-v4 .workflow-line article{z-index:1;text-align:center;padding:0 18px 26px;position:relative}.melody-v4 .workflow-icon{border:1px solid var(--line-strong);width:74px;height:74px;color:var(--secondary);background:var(--surface);box-shadow:var(--shadow-soft),inset 0 1px #ffffff12;transition:transform .25s var(--ease-spring),box-shadow .25s ease;border-radius:24px;place-items:center;margin:0 auto 26px;display:grid}.melody-v4 .workflow-line article:hover .workflow-icon{box-shadow:0 22px 50px var(--glow-primary);transform:translateY(-7px)rotate(-3deg)}.melody-v4 .workflow-icon svg{width:28px;height:28px}.melody-v4 .workflow-line small{color:var(--muted);font-family:var(--font-mono);letter-spacing:.16em;font-size:8px}.melody-v4 .workflow-line h3{margin:7px 0 8px;font-size:20px}.melody-v4 .workflow-line p{color:var(--text-soft);margin:0;font-size:13px;line-height:1.65}.melody-v4 .course-section{border-top:1px solid var(--line);isolation:isolate;overflow:hidden}.melody-v4 .course-glow{z-index:-1;background:radial-gradient(circle,var(--glow-secondary),transparent 62%);filter:blur(60px);opacity:.5;pointer-events:none;border-radius:50%;width:1080px;height:620px;position:absolute;top:-12%;left:50%;transform:translate(-50%)}.melody-v4 .course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.melody-v4 .course-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft),inset 0 1px #ffffff0d;transform-style:preserve-3d;transition:transform .22s,border-color .3s,box-shadow .3s;position:relative;overflow:hidden}.melody-v4 .course-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow)}.melody-v4 .course-card:before{content:"";z-index:1;opacity:.3;pointer-events:none;background:radial-gradient(circle at var(--glow-x,50%)var(--glow-y,50%),var(--glow-primary),transparent 32%);position:absolute;inset:0}.melody-v4 .course-cover{z-index:2;border-bottom:1px solid var(--line);place-items:center;height:168px;display:grid;position:relative;overflow:hidden}.melody-v4 .course-cover--one{background:linear-gradient(140deg,color-mix(in srgb,var(--primary)40%,transparent),color-mix(in srgb,var(--accent)26%,transparent))}.melody-v4 .course-cover--two{background:linear-gradient(140deg,color-mix(in srgb,var(--secondary)34%,transparent),color-mix(in srgb,var(--primary)34%,transparent))}.melody-v4 .course-cover--three{background:linear-gradient(140deg,color-mix(in srgb,var(--accent-2)32%,transparent),color-mix(in srgb,var(--secondary)28%,transparent))}.melody-v4 .course-cover-photo{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.melody-v4 .course-cover-photo~.course-cover-icon{display:none}.melody-v4 .course-cover-icon{color:#fff;background:color-mix(in srgb,var(--bg)42%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);width:60px;height:60px;transition:transform .3s var(--ease-spring);border:1px solid #ffffff38;border-radius:20px;place-items:center;display:grid}.melody-v4 .course-cover-icon svg{width:26px;height:26px}.melody-v4 .course-card:hover .course-cover-icon{transform:translateY(-4px)rotate(-4deg)}.melody-v4 .course-level,.melody-v4 .course-lessons{border:1px solid var(--line-strong);background:color-mix(in srgb,var(--surface-solid)84%,transparent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:8px;font-weight:760;display:inline-flex;position:absolute;top:13px}.melody-v4 .course-level{color:var(--text);left:13px}.melody-v4 .course-level--beginner{border-color:color-mix(in srgb,var(--success)52%,transparent);color:var(--success-ink)}.melody-v4 .course-level--intermediate{border-color:color-mix(in srgb,var(--secondary)52%,transparent);color:var(--secondary-ink)}.melody-v4 .course-level--advanced{border-color:color-mix(in srgb,var(--accent)52%,transparent);color:var(--accent-ink)}.melody-v4 .course-lessons{color:var(--text-soft);right:13px}.melody-v4 .course-lessons svg{width:11px;height:11px}.melody-v4 .course-cover-wave{opacity:.45;align-items:flex-end;gap:3px;height:44px;padding:0 14px;display:flex;position:absolute;bottom:0;left:0;right:0}.melody-v4 .course-cover-wave i{transform-origin:bottom;background:#ffffffb8;border-radius:2px 2px 0 0;flex:1;height:40%;animation:1.6s ease-in-out infinite eqBounce}.melody-v4 .course-cover-wave i:nth-child(3n+1){height:34%;animation-delay:-.2s}.melody-v4 .course-cover-wave i:nth-child(3n+2){height:62%;animation-delay:-.7s}.melody-v4 .course-cover-wave i:nth-child(3n){height:46%;animation-delay:-1.1s}.melody-v4 .course-cover-wave i:nth-child(4n){height:78%;animation-duration:2s;animation-delay:-.4s}.melody-v4 .course-cover-wave i:nth-child(7n){height:26%;animation-duration:1.3s;animation-delay:-.9s}html[data-theme=ember] .melody-v4 .course-cover--one{background:linear-gradient(140deg,color-mix(in srgb,var(--primary)52%,transparent),color-mix(in srgb,var(--accent)34%,transparent))}html[data-theme=ember] .melody-v4 .course-cover--two{background:linear-gradient(140deg,color-mix(in srgb,var(--secondary)40%,transparent),color-mix(in srgb,var(--primary)44%,transparent))}html[data-theme=ember] .melody-v4 .course-cover--three{background:linear-gradient(140deg,color-mix(in srgb,var(--accent)40%,transparent),color-mix(in srgb,var(--secondary)34%,transparent))}html[data-theme=aurora] .melody-v4 .course-cover--one{background:linear-gradient(140deg,color-mix(in srgb,var(--primary)55%,transparent),color-mix(in srgb,var(--accent)42%,transparent))}html[data-theme=aurora] .melody-v4 .course-cover--two{background:linear-gradient(140deg,color-mix(in srgb,var(--secondary)50%,transparent),color-mix(in srgb,var(--primary)50%,transparent))}html[data-theme=aurora] .melody-v4 .course-cover--three{background:linear-gradient(140deg,color-mix(in srgb,var(--accent-2)46%,transparent),color-mix(in srgb,var(--secondary)44%,transparent))}html[data-theme=aurora] .melody-v4 .course-cover-icon{border-color:#ffffff80}html[data-theme=aurora] .melody-v4 .course-cover-wave i{background:#ffffffd9}.melody-v4 .course-body{z-index:2;padding:20px 22px 22px;position:relative}.melody-v4 .course-body h3{letter-spacing:-.02em;margin:0;font-size:19px}.melody-v4 .course-body h3 a{color:var(--text)}.melody-v4 .course-body h3 a:hover{color:var(--secondary-ink)}.melody-v4 .course-body>p{color:var(--text-soft);margin:9px 0 0;font-size:13px;line-height:1.65}.melody-v4 .course-meta{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding-top:16px;display:flex}.melody-v4 .course-teacher{color:var(--text-soft);align-items:center;gap:8px;font-size:12px;display:inline-flex}.melody-v4 .course-teacher i{color:#fff;background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;place-items:center;width:26px;height:26px;font-size:10px;font-style:normal;font-weight:760;display:grid}.melody-v4 .course-teacher i.alt{background:linear-gradient(135deg,var(--secondary),var(--primary))}.melody-v4 .course-price{font-size:13px;font-weight:730}.melody-v4 .course-price--free{border:1px solid color-mix(in srgb,var(--success)34%,transparent);color:color-mix(in srgb,var(--success)90%,var(--text));background:color-mix(in srgb,var(--success)9%,transparent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;padding:4px 9px;font-size:9px}.melody-v4 .course-stats{color:var(--muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:16px;margin-top:13px;font-size:9px;display:flex}.melody-v4 .course-stats span{align-items:center;gap:6px;display:inline-flex}.melody-v4 .course-stats small{font-size:9px}.melody-v4 .course-stats span:first-child svg{color:inherit}.melody-v4 .course-stats svg{width:13px;height:13px}.melody-v4 .course-bar{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);justify-content:space-between;align-items:center;gap:34px;margin-top:24px;padding:24px 28px;display:flex}.melody-v4 .course-included{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px;margin:0;padding:0;list-style:none;display:grid}.melody-v4 .course-included li{color:var(--text-soft);align-items:center;gap:9px;font-size:13px;display:flex}.melody-v4 .course-included svg{width:14px;height:14px;color:var(--success);stroke-width:2.4px;flex:none}.melody-v4 .course-bar-actions{flex:none;align-items:center;gap:22px;display:flex}.melody-v4 .course-bar-actions .text-link{color:var(--text-soft);margin-top:0}.melody-v4 .course-bar-actions .text-link:hover{color:var(--text)}.melody-v4 .theme-section{background:var(--bg-2);overflow:hidden}.melody-v4 .theme-section:before{content:"";pointer-events:none;background:radial-gradient(circle at 72% 50%,var(--glow-primary),transparent 34%);opacity:.18;position:absolute;inset:0}.melody-v4 .theme-layout{grid-template-columns:.78fr 1.22fr;align-items:center;gap:90px;display:grid;position:relative}.melody-v4 .theme-copy>p{margin-top:23px}.melody-v4 .theme-shortcuts{gap:9px;margin-top:34px;display:grid}.melody-v4 .theme-shortcuts button{border:1px solid var(--line);color:var(--text);background:var(--surface);text-align:left;border-radius:14px;align-items:center;gap:13px;padding:12px 13px;transition:border-color .2s,transform .2s;display:flex}.melody-v4 .theme-shortcuts button:hover{border-color:var(--line-strong);transform:translate(4px)}.melody-v4 .theme-shortcuts button svg{width:20px;height:20px;color:var(--secondary)}.melody-v4 .theme-shortcuts button span{display:grid}.melody-v4 .theme-shortcuts b{font-size:12px}.melody-v4 .theme-shortcuts small{color:var(--muted);font-size:9px}.melody-v4 .theme-deck{perspective:1100px;min-height:570px;position:relative}.melody-v4 .theme-preview{text-align:left;width:420px;height:292px;transform-style:preserve-3d;transition:transform .35s var(--ease-spring),z-index .1s linear;border:1px solid #ffffff29;border-radius:24px;padding:14px;position:absolute;overflow:hidden;box-shadow:0 35px 80px #00000047}.melody-v4 .theme-preview:hover{z-index:5;transform:translate3d(0,-10px,80px)rotateY(0)!important}.melody-v4 .theme-preview>span:last-child{color:#fff;display:grid;position:absolute;bottom:20px;left:24px}.melody-v4 .theme-preview>span:last-child b{font-size:16px}.melody-v4 .theme-preview>span:last-child small{color:#ffffffa3;font-size:10px}.melody-v4 .theme-preview--midnight{z-index:1;background:#0a0c19;top:0;left:0;transform:rotateY(9deg)rotate(-3deg)}.melody-v4 .theme-preview--aurora{z-index:3;background:#eef0f8;top:116px;right:0;transform:translateZ(30px)rotateY(-7deg)rotate(2deg)}.melody-v4 .theme-preview--aurora>span:last-child{color:#17162b}.melody-v4 .theme-preview--aurora>span:last-child small{color:#6f7185}.melody-v4 .theme-preview--ember{z-index:2;background:#160e0d;bottom:0;left:58px;transform:rotateY(7deg)rotate(1deg)}.melody-v4 .theme-browser{background:#ffffff0a;border-radius:16px;height:205px;display:block;position:relative;overflow:hidden}.melody-v4 .theme-browser:before{content:"";background-image:linear-gradient(#ffffff0a 1px,#0000 1px),linear-gradient(90deg,#ffffff0a 1px,#0000 1px);background-size:28px 28px;position:absolute;inset:0}.melody-v4 .theme-preview--aurora .theme-browser{background:#fff}.melody-v4 .theme-preview--aurora .theme-browser:before{background-image:linear-gradient(#3d30780f 1px,#0000 1px),linear-gradient(90deg,#3d30780f 1px,#0000 1px)}.melody-v4 .theme-browser i{background:#ffffff4d;border-radius:50%;width:7px;height:7px;position:absolute;top:14px;left:14px}.melody-v4 .theme-browser i:nth-child(2){left:26px}.melody-v4 .theme-browser i:nth-child(3){left:38px}.melody-v4 .theme-browser b{background:radial-gradient(circle at 34% 28%,#fff,#0000 12%),linear-gradient(135deg,#8b5cf6,#22d3ee);border-radius:50%;width:82px;height:82px;position:absolute;top:50%;left:50%;transform:translate(-50%,-45%);box-shadow:0 18px 44px #8b5cf67a}.melody-v4 .theme-preview--aurora .theme-browser b{background:radial-gradient(circle at 34% 28%,#fff,#0000 12%),linear-gradient(135deg,#6d4aff,#00a7c4);box-shadow:0 18px 44px #6d4aff47}.melody-v4 .theme-preview--ember .theme-browser b{background:radial-gradient(circle at 34% 28%,#fff,#0000 12%),linear-gradient(135deg,#ff6b4a,#ffbf5f);box-shadow:0 18px 44px #ff6b4a61}.melody-v4 .theme-browser em{border:1px solid #ffffff3d;border-radius:50%;width:145px;height:58px;position:absolute;top:50%;left:50%;transform:translate(-50%,-38%)rotateX(68deg)rotate(-9deg)}.melody-v4 .final-cta{color:#fff;background:var(--cta-gradient);isolation:isolate;padding:132px 0;position:relative;overflow:hidden}.melody-v4 .cta-noise{z-index:-1;opacity:.17;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:absolute;inset:0}.melody-v4 .cta-orb{z-index:-1;border:1px solid #ffffff2e;border-radius:50%;position:absolute;box-shadow:inset 0 0 80px #ffffff0f}.melody-v4 .cta-orb--one{width:480px;height:480px;top:-160px;left:-180px}.melody-v4 .cta-orb--two{width:620px;height:620px;bottom:-330px;right:-280px}.melody-v4 .final-cta-inner{text-align:center;justify-items:center;display:grid}.melody-v4 .final-cta .section-kicker{color:#ffffffb8}.melody-v4 .final-cta h2{max-width:900px}.melody-v4 .final-cta h2 span{color:#fff;text-shadow:0 0 32px #ffffff40}.melody-v4 .final-cta p{color:#ffffffc7;max-width:650px;margin:24px 0 0;font-size:17px;line-height:1.7}.melody-v4 .final-cta .hero-actions{justify-content:center}.melody-v4 .site-footer{color:#fff;background:#080911;padding:72px 0 28px}.melody-v4 .site-footer .brand-name span{color:var(--secondary)}.melody-v4 .footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:54px;display:grid}.melody-v4 .footer-brand p{color:#8f93a8;max-width:340px;margin:20px 0 0;font-size:13px;line-height:1.7}.melody-v4 .footer-grid>div:not(.footer-brand){align-content:start;gap:9px;display:grid}.melody-v4 .footer-grid h3{color:#fff;margin:0 0 7px;font-size:12px}.melody-v4 .footer-grid>div:not(.footer-brand) a{color:#8f93a8;font-size:12px;transition:color .2s}.melody-v4 .footer-grid>div:not(.footer-brand) a:hover{color:#fff}.melody-v4 .footer-bottom{color:#7a7f97;font-family:var(--font-mono);letter-spacing:.05em;border-top:1px solid #ffffff14;flex-wrap:nowrap;justify-content:space-between;gap:16px;margin-top:58px;padding-top:23px;font-size:8px;display:flex}.melody-v4 .reveal{opacity:0;transition:opacity .8s var(--ease-out),transform .8s var(--ease-out);transform:translateY(26px)}.melody-v4 .reveal.is-visible{opacity:1;transform:translateY(0)}@keyframes logoBars{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}@keyframes livePulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--success)12%,transparent)}50%{box-shadow:0 0 0 8px color-mix(in srgb,var(--success)0%,transparent)}}@keyframes menuIn{0%{opacity:0;transform:translateY(-8px)scale(.98)}}@keyframes coreFloat{0%,to{transform:translate3d(-50%,-50%,90px)translateY(0)rotate(-1deg)}50%{transform:translate3d(-50%,-50%,90px)translateY(-13px)rotate(1deg)}}@keyframes haloPulse{0%,to{opacity:.65;transform:scale(.9)}50%{opacity:1;transform:scale(1.08)}}@keyframes coreGridMove{to{transform:rotate(342deg)}}@keyframes orbitA{to{transform:rotateX(69deg)rotate(372deg)}}@keyframes orbitB{to{transform:rotateY(72deg)rotate(342deg)}}@keyframes orbitC{to{transform:rotateX(54deg)rotate(335deg)}}@keyframes panelFloatA{0%,to{transform:translateZ(145px)rotateY(8deg)rotateX(2deg)translateY(0)}50%{transform:translateZ(155px)rotateY(8deg)rotateX(2deg)translateY(-12px)}}@keyframes panelFloatB{0%,to{transform:translateZ(130px)rotateY(-10deg)translateY(0)}50%{transform:translateZ(142px)rotateY(-10deg)translateY(10px)}}@keyframes panelFloatC{0%,to{transform:translateZ(165px)rotateY(7deg)translateY(0)}50%{transform:translateZ(177px)rotateY(7deg)translateY(-9px)}}@keyframes noteFloat{0%,to{translate:0;rotate:-8deg}50%{translate:5px -17px;rotate:7deg}}@keyframes eqBounce{0%,to{transform:scaleY(.45)}50%{transform:scaleY(1)}}@keyframes coverSpin{to{transform:rotate(360deg)}}@keyframes tabPlayhead{0%{left:10%}to{left:94%}}@keyframes stemPlayhead{0%{left:30%}to{left:92%}}@keyframes waveBreath{0%,to{transform:scaleY(.72)}50%{transform:scaleY(1)}}@keyframes micFloat{0%,to{transform:translate(-50%,-50%)rotate(-18deg)rotateY(-14deg)translateY(0)}50%{transform:translate(-50%,-50%)rotate(-14deg)rotateY(4deg)translateY(-10px)}}@keyframes starPulse{0%,to{opacity:.2;transform:scale(.7)}50%{opacity:1;transform:scale(1.5)}}@keyframes melody-spin{to{transform:rotate(360deg)}}@media (max-width:1120px){.melody-v4 .hero{min-height:auto}.melody-v4 .hero-layout{grid-template-columns:1fr;gap:30px}.melody-v4 .hero-copy{text-align:center;max-width:780px;margin-inline:auto}.melody-v4 .eyebrow,.melody-v4 .hero-lead{margin-inline:auto}.melody-v4 .hero-actions,.melody-v4 .hero-points,.melody-v4 .hero-proof{justify-content:center}.melody-v4 .hero-stage{width:min(720px,100%);min-height:620px;margin-inline:auto}.melody-v4 .product-strip{margin-top:32px}.melody-v4 .feature-card--player,.melody-v4 .feature-card--editor{grid-template-columns:1fr}.melody-v4 .feature-card--editor .editor-demo{order:2}.melody-v4 .feature-index{margin-bottom:24px}.melody-v4 .course-bar{flex-direction:column;align-items:flex-start;gap:22px}.melody-v4 .course-bar-actions{flex:initial;align-self:stretch}.melody-v4 .theme-layout{grid-template-columns:1fr;gap:50px}.melody-v4 .theme-copy{text-align:center;max-width:670px;margin-inline:auto}.melody-v4 .theme-copy>p{margin-inline:auto}.melody-v4 .theme-shortcuts{grid-template-columns:repeat(3,1fr)}.melody-v4 .theme-shortcuts button{align-items:flex-start}.melody-v4 .theme-deck{width:min(760px,100%);margin-inline:auto}}@media (max-width:900px){.melody-v4{--nav-h:64px}.melody-v4 .desktop-nav,.melody-v4 .nav-login,.melody-v4 .theme-picker,.melody-v4 .nav-lang{display:none}.melody-v4 .nav-actions{margin-left:auto}.melody-v4 .menu-button{display:grid}.melody-v4 .hero{padding-top:calc(var(--nav-h) + 72px)}.melody-v4 .hero h1{font-size:clamp(50px,10vw,78px)}.melody-v4 .product-strip{flex-wrap:wrap;justify-content:center}.melody-v4 .product-strip i{display:none}.melody-v4 .section-heading{grid-template-columns:1fr;gap:18px}.melody-v4 .studio-cards{grid-template-columns:1fr}.melody-v4 .studio-card--stems{grid-column:auto}.melody-v4 .stem-track{grid-template-columns:150px 1fr}.melody-v4 .stem-value{display:none}.melody-v4 .stem-ruler{margin-left:166px}.melody-v4 .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.melody-v4 .workflow-line{grid-template-columns:repeat(2,1fr);gap:38px 18px}.melody-v4 .workflow-line:before{display:none}.melody-v4 .footer-grid{grid-template-columns:2fr 1fr 1fr}.melody-v4 .footer-grid>div:last-child{grid-column:2}}@media (max-width:680px){.melody-v4 .section-shell,.melody-v4 .nav-inner{width:min(100% - 30px,var(--page-max))}.melody-v4 .site-nav .button--small{display:none}.melody-v4 .hero{padding-bottom:48px}.melody-v4 .eyebrow{gap:5px;margin-bottom:23px;font-size:10px}.melody-v4 .eyebrow>span:last-child{display:none}.melody-v4 .hero h1{font-size:clamp(45px,13.6vw,70px)}.melody-v4 .hero-lead{margin-top:23px;font-size:16px}.melody-v4 .hero-actions{grid-template-columns:1fr;display:grid}.melody-v4 .hero-actions .button{width:100%}.melody-v4 .hero-points{gap:10px 13px}.melody-v4 .hero-proof{margin-top:33px}.melody-v4 .hero-stage{transform-origin:top;min-height:515px;margin-top:18px;transform:scale(.94)}.melody-v4 .music-core{width:175px;height:175px}.melody-v4 .core-center strong{font-size:48px}.melody-v4 .orbit--a{width:330px;height:330px;margin:-165px 0 0 -165px}.melody-v4 .orbit--b{width:278px;height:278px;margin:-139px 0 0 -139px}.melody-v4 .orbit--c{width:390px;height:220px;margin:-110px 0 0 -195px}.melody-v4 .spectral-bar{transform:rotateZ(calc(var(--i)*7.5deg))translateY(-137px)rotateX(-72deg)}.melody-v4 .floating-panel{min-width:176px;padding:9px 10px}.melody-v4 .floating-panel--tab{top:12%;left:-2%}.melody-v4 .floating-panel--stems{top:22%;right:-5%}.melody-v4 .floating-panel--generate{bottom:9%;left:1%}.melody-v4 .panel-icon{width:30px;height:30px}.melody-v4 .floating-panel b{font-size:10px}.melody-v4 .floating-panel small{font-size:7px}.melody-v4 .product-strip{display:none}.melody-v4 .product-section,.melody-v4 .workflow-section,.melody-v4 .course-section,.melody-v4 .theme-section,.melody-v4 .studio-section{padding:88px 0}.melody-v4 .section-heading h2,.melody-v4 .studio-heading h2,.melody-v4 .theme-copy h2,.melody-v4 .final-cta h2{font-size:clamp(37px,11vw,54px)}.melody-v4 .section-heading p,.melody-v4 .studio-heading p,.melody-v4 .theme-copy>p{font-size:15px}.melody-v4 .feature-card--player,.melody-v4 .feature-card--editor{border-radius:28px;min-height:0;padding:26px 20px 20px}.melody-v4 .feature-copy h3{font-size:37px}.melody-v4 .player-window,.melody-v4 .editor-demo{transform:none}.melody-v4 .notation-area{min-height:270px;padding-left:22px}.melody-v4 .notation-area--live{padding-left:0}.melody-v4 .tab-lines{font-size:7px}.melody-v4 .mixer-row>span:nth-child(2),.melody-v4 .mixer-row>span:nth-child(3){display:none}.melody-v4 .fret-editor{grid-template-columns:23px repeat(12,minmax(18px,1fr));overflow-x:auto}.melody-v4 .studio-card{border-radius:24px}.melody-v4 .studio-card-head{align-items:flex-start}.melody-v4 .studio-card-head small{display:none}.melody-v4 .stem-workspace{padding-inline:14px;overflow-x:auto}.melody-v4 .stem-workspace>*{min-width:620px}.melody-v4 .studio-card-foot{flex-direction:column;align-items:flex-start}.melody-v4 .karaoke-preview,.melody-v4 .generator-preview{padding:22px 18px}.melody-v4 .course-grid{grid-template-columns:1fr}.melody-v4 .course-card{border-radius:24px}.melody-v4 .course-bar{border-radius:22px;padding:22px 20px}.melody-v4 .course-included{grid-template-columns:1fr}.melody-v4 .course-bar-actions{flex-direction:column;align-items:stretch;gap:16px}.melody-v4 .course-bar-actions .button{justify-content:center;width:100%}.melody-v4 .workflow-line{grid-template-columns:1fr;gap:22px}.melody-v4 .workflow-line article{text-align:left;grid-template-columns:64px 1fr;column-gap:18px;padding:0;display:grid}.melody-v4 .workflow-icon{border-radius:20px;grid-row:1/5;width:64px;height:64px;margin:0}.melody-v4 .workflow-line small{align-self:end}.melody-v4 .workflow-line h3{margin:2px 0 4px}.melody-v4 .theme-shortcuts{grid-template-columns:1fr}.melody-v4 .theme-deck{transform-origin:top;min-height:520px;transform:scale(.86)}.melody-v4 .theme-preview{width:min(420px,94vw)}.melody-v4 .theme-preview--midnight{left:50%;transform:translate(-58%)rotateY(9deg)rotate(-3deg)}.melody-v4 .theme-preview--aurora{left:50%;right:auto;transform:translate(-42%)translateZ(30px)rotateY(-7deg)rotate(2deg)}.melody-v4 .theme-preview--ember{left:50%;transform:translate(-54%)rotateY(7deg)rotate(1deg)}.melody-v4 .final-cta{padding:96px 0}.melody-v4 .footer-grid{grid-template-columns:1fr 1fr;gap:38px 24px}.melody-v4 .footer-brand{grid-column:1/-1}.melody-v4 .footer-grid>div:last-child{grid-column:auto}.melody-v4 .footer-bottom{flex-direction:column}}@media (prefers-reduced-motion:reduce){html:has(.melody-v4){scroll-behavior:auto}.melody-v4,.melody-v4 *,.melody-v4 :before,.melody-v4 :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.melody-v4 .reveal{opacity:1;transform:none}.melody-v4 #space-canvas{display:none}}.melody-v4 .learn-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:56px;display:grid}.melody-v4 .learn-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft),inset 0 1px #ffffff0d;padding:34px 30px 32px;transition:transform .22s,border-color .3s,box-shadow .3s;position:relative}.melody-v4 .learn-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-4px)}.melody-v4 .learn-card .workflow-icon{margin:0 0 24px}.melody-v4 .learn-card h3{letter-spacing:-.02em;margin:0 0 10px;font-size:20px}.melody-v4 .learn-card p{color:var(--text-soft);margin:0;font-size:13px;line-height:1.7}.melody-v4 .learn-actions{margin-top:44px}@media (max-width:1120px){.melody-v4 .learn-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:900px){.melody-v4 .learn-grid{grid-template-columns:1fr}}.melody-v4 .sr-only-v4{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.melody-v4 .course-card.is-placeholder{pointer-events:none}.melody-v4 .course-card.is-placeholder .course-cover{opacity:.45}.melody-v4 .placeholder-line{background:var(--surface-3);opacity:.7;border-radius:6px;height:12px;animation:1.4s ease-in-out infinite melody-v4-pulse;display:block}.melody-v4 .placeholder-line+.placeholder-line{margin-top:10px}.melody-v4 .placeholder-line--title{width:72%;height:19px;margin-bottom:16px}.melody-v4 .placeholder-line--short{width:46%}@keyframes melody-v4-pulse{0%,to{opacity:.45}50%{opacity:.8}}.melody-v4 .tabs-page{padding:calc(var(--nav-h) + 56px)0 120px;background:var(--bg)}.melody-v4 .tabs-hero{align-items:center;gap:22px;margin-bottom:40px;display:flex}.melody-v4 .tabs-hero .workflow-icon{flex:none;margin:0}.melody-v4 .tabs-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,44px)}.melody-v4 .tabs-hero p{max-width:560px;color:var(--text-soft);margin:8px 0 0;font-size:15px;line-height:1.65}.melody-v4 .tabs-hero .button{flex:none;margin-left:auto}.melody-v4 .search-field{max-width:640px;margin-bottom:24px;position:relative}.melody-v4 .search-field svg{width:18px;height:18px;color:var(--muted);position:absolute;top:50%;left:18px;transform:translateY(-50%)}.melody-v4 .search-field input{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:var(--surface);padding:15px 18px 15px 48px;font-size:14px;transition:border-color .2s,background .2s}.melody-v4 .search-field input::placeholder{color:var(--muted)}.melody-v4 .search-field input:focus{border-color:color-mix(in srgb,var(--primary)55%,transparent);background:var(--surface-solid);outline:none}.melody-v4 .filter-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.melody-v4 .chip-group{flex-wrap:wrap;gap:8px;display:flex}.melody-v4 .chip{border:1px solid var(--line);color:var(--text-soft);background:var(--surface);border-radius:999px;padding:8px 14px;font-size:13px;font-weight:610;transition:color .2s,border-color .2s,background .2s}.melody-v4 .chip:hover{color:var(--text);border-color:var(--line-strong)}.melody-v4 .chip.is-active{color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));border-color:#0000}.melody-v4 .view-toggle{border:1px solid var(--line);background:var(--surface);border-radius:12px;align-items:center;gap:2px;padding:4px;display:flex}.melody-v4 .view-toggle button{width:34px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.melody-v4 .view-toggle button svg{width:16px;height:16px}.melody-v4 .view-toggle button.is-active{color:var(--text);background:var(--surface-3)}.melody-v4 .results-bar{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:14px;font-size:13px;display:flex}.melody-v4 .results-bar b{color:var(--text);font-weight:700}.melody-v4 .tab-filetype{color:var(--secondary-ink);background:color-mix(in srgb,var(--secondary)14%,transparent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;align-items:center;padding:3px 8px;font-size:9px;font-weight:760;display:inline-flex}.melody-v4 .tab-difficulty{align-items:center;gap:6px;font-size:12px;font-weight:610;display:inline-flex}.melody-v4 .tab-difficulty svg{width:14px;height:14px}.melody-v4 .tab-difficulty--beginner{color:var(--success-ink)}.melody-v4 .tab-difficulty--intermediate{color:var(--muted)}.melody-v4 .tab-difficulty--advanced{color:var(--accent-ink)}.melody-v4 .tab-difficulty--unrated{color:var(--text-soft);border-bottom:1px dashed var(--line-strong);font-style:italic}.melody-v4 .tabs-list{flex-direction:column;gap:10px;display:flex}.melody-v4 .tab-row{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);box-shadow:var(--shadow-soft);align-items:center;gap:18px;padding:14px 18px;transition:border-color .2s,transform .2s;display:flex}.melody-v4 .tab-row:hover{border-color:var(--line-strong);transform:translateY(-2px)}.melody-v4 .tab-row-thumb{width:52px;height:52px;color:var(--secondary);background:color-mix(in srgb,var(--secondary)14%,transparent);border-radius:14px;flex:none;place-items:center;display:grid}.melody-v4 .tab-row-thumb svg{width:22px;height:22px}.melody-v4 .tab-row-body{flex:1;min-width:0}.melody-v4 .tab-row-title{align-items:center;gap:10px;display:flex}.melody-v4 .tab-row-title span:first-child{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.melody-v4 .tab-row-artist{color:var(--muted);margin:3px 0 0;font-size:13px}.melody-v4 .tab-row-meta{flex:none;align-items:center;gap:20px;display:flex}.melody-v4 .tab-row-chevron{width:18px;height:18px;color:var(--line-strong)}.melody-v4 .tab-row.is-placeholder{pointer-events:none}.melody-v4 .tab-row-wrap{position:relative}.melody-v4 .tab-row.has-heart{padding-right:72px}.melody-v4 .tab-row-heart{z-index:2;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.melody-v4 .tl-heart{width:44px;height:44px;color:var(--text-soft);background:color-mix(in srgb,var(--surface-solid)78%,transparent);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;transition:color .15s,background .15s;display:inline-grid}.melody-v4 .tl-heart:hover:not(:disabled){color:var(--text);background:var(--surface-solid)}.melody-v4 .tl-heart[aria-pressed=true]{color:var(--accent-ink)}.melody-v4 .tl-heart:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.melody-v4 .tl-heart:disabled{cursor:progress;opacity:.6}.melody-v4 .course-card-heart{z-index:3;position:absolute;top:12px;left:12px}.melody-v4 .tab-relation{color:var(--primary-ink);background:color-mix(in srgb,var(--primary)12%,transparent)}.melody-v4 .tab-row.is-placeholder .tab-row-thumb{background:var(--surface-3)}.melody-v4 .empty-state{text-align:center;color:var(--text-soft);justify-items:center;gap:14px;padding:90px 20px;display:grid}.melody-v4 .empty-state .workflow-icon{margin:0}.melody-v4 .empty-state h3{color:var(--text);margin:0;font-size:20px}.melody-v4 .empty-state p{max-width:400px;margin:0;font-size:14px}.melody-v4 .alert-error{border:1px solid color-mix(in srgb,var(--accent)40%,transparent);border-radius:var(--radius-md);color:var(--text);background:color-mix(in srgb,var(--accent)10%,var(--surface));align-items:center;gap:16px;padding:20px 22px;display:flex}.melody-v4 .pagination{justify-content:center;align-items:center;gap:6px;margin-top:36px;display:flex}.melody-v4 .pagination>:is(a,button,span){color:var(--text-soft);border-radius:10px;justify-content:center;align-items:center;gap:4px;padding:9px 14px;font-size:13px;font-weight:610;display:inline-flex}.melody-v4 .pagination>:is(a,button):hover{color:var(--text);background:var(--surface)}.melody-v4 .pagination>:is(a,button).is-active{color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)))}.melody-v4 .pagination>:is(a,button,span).is-disabled{color:var(--line-strong);pointer-events:none}.melody-v4 .pagination>:is(a,button,span)>svg{width:15px;height:15px}.melody-v4 .pagination>:is(a,button).pagination-prev svg{transform:rotate(180deg)}@media (max-width:680px){.melody-v4 .tabs-hero{flex-wrap:wrap}.melody-v4 .tabs-hero .button{margin-left:0}.melody-v4 .tab-row-meta{gap:12px}.melody-v4 .tab-row-chevron{display:none}}.melody-v4 .tabs-hero-actions{flex:none;align-items:center;gap:12px;margin-left:auto;display:flex}.melody-v4 .tabs-hero-actions .button{margin-left:0}@media (max-width:680px){.melody-v4 .tabs-hero-actions{width:100%;margin-left:0}.melody-v4 .tabs-hero-actions .button{flex:1}}.melody-v4 .upload-page{padding:calc(var(--nav-h) + 56px)0 120px;background:var(--bg)}.melody-v4 .upload-hero{align-items:center;gap:22px;margin-bottom:40px;display:flex}.melody-v4 .upload-hero .workflow-icon{flex:none;margin:0}.melody-v4 .upload-hero h1{letter-spacing:-.04em;margin:0;font-size:clamp(32px,4vw,44px)}.melody-v4 .upload-hero p{max-width:560px;color:var(--text-soft);margin:8px 0 0;font-size:15px;line-height:1.65}.melody-v4 .upload-form{flex-direction:column;gap:22px;max-width:640px;display:flex}.melody-v4 .dropzone{border:1.5px dashed var(--line-strong);border-radius:var(--radius-md);text-align:center;background:var(--surface);cursor:pointer;justify-items:center;gap:10px;padding:48px 24px;transition:border-color .2s,background .2s,transform .2s;display:grid;position:relative}.melody-v4 .dropzone:hover{border-color:color-mix(in srgb,var(--primary)55%,transparent);background:var(--surface-solid)}.melody-v4 .dropzone:focus-visible{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary)30%,transparent);outline:none}.melody-v4 .dropzone.is-dragover{border-color:var(--primary);background:color-mix(in srgb,var(--primary)10%,var(--surface));transform:translateY(-2px)}.melody-v4 .dropzone.has-file{border-style:solid;border-color:color-mix(in srgb,var(--success)45%,var(--line-strong));background:color-mix(in srgb,var(--success)8%,var(--surface))}.melody-v4 .dropzone.has-error{border-color:color-mix(in srgb,var(--accent)55%,var(--line-strong));background:color-mix(in srgb,var(--accent)8%,var(--surface))}.melody-v4 .dropzone[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.melody-v4 .dropzone-input{display:none}.melody-v4 .dropzone-icon{width:60px;height:60px;color:var(--secondary);background:var(--surface-3);border-radius:20px;place-items:center;display:grid}.melody-v4 .dropzone-icon svg{width:26px;height:26px}.melody-v4 .dropzone-icon--success{color:var(--success)}.melody-v4 .dropzone-title{max-width:460px;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;font-weight:700;overflow:hidden}.melody-v4 .dropzone-sub{max-width:420px;color:var(--muted);margin:0;font-size:13px}.melody-v4 .form-field{flex-direction:column;gap:8px;display:flex}.melody-v4 .form-field label{color:var(--text-soft);font-size:13px;font-weight:610}.melody-v4 .form-field .form-optional{color:var(--muted);font-weight:500}.melody-v4 .form-field input[type=text]{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:var(--surface);padding:14px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,background .2s}.melody-v4 .form-field input[type=text]::placeholder{color:var(--muted)}.melody-v4 .form-field input[type=text]:focus{border-color:color-mix(in srgb,var(--primary)55%,transparent);background:var(--surface-solid);outline:none}.melody-v4 .form-field input[type=text]:disabled{opacity:.55;cursor:not-allowed}.melody-v4 .form-field select{border:1px solid var(--line);border-radius:var(--radius-md);width:100%;color:var(--text);background:var(--surface);padding:14px 16px;font-family:inherit;font-size:14px;transition:border-color .2s,background .2s}.melody-v4 .form-field select:focus{border-color:color-mix(in srgb,var(--primary)55%,transparent);background:var(--surface-solid);outline:none}.melody-v4 .form-field select:disabled{opacity:.55;cursor:not-allowed}.melody-v4 .upload-form .button{align-self:flex-start}.melody-v4 .upload-form .button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed;pointer-events:none}.melody-v4 .upload-form .button:disabled:hover{transform:none}.melody-v4 .upload-loading{color:var(--text-soft);justify-content:center;align-items:center;gap:12px;padding:90px 20px;font-size:14px;display:flex}.melody-v4 .upload-loading i{border:2px solid var(--line-strong);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite melody-spin}.melody-v4 .alert-success{border:1px solid color-mix(in srgb,var(--success)40%,transparent);border-radius:var(--radius-md);color:var(--text);background:color-mix(in srgb,var(--success)10%,var(--surface));align-items:center;gap:16px;padding:20px 22px;display:flex}.melody-v4 .alert-success svg{width:22px;height:22px;color:var(--success);flex:none}.melody-v4 .alert-success p{color:var(--text-soft);margin:2px 0 0;font-size:13px}@media (max-width:680px){.melody-v4 .upload-hero{flex-wrap:wrap}.melody-v4 .dropzone{padding:36px 16px}.melody-v4 .upload-form .button{align-self:stretch}}.melody-v4 .tab-detail-page{padding:calc(var(--nav-h) + 40px)0 100px;background:var(--bg)}.melody-v4 .tab-detail-breadcrumb{color:var(--muted);align-items:center;gap:6px;margin-bottom:22px;font-size:13px;display:flex}.melody-v4 .tab-detail-breadcrumb a{color:var(--muted)}.melody-v4 .tab-detail-breadcrumb a:hover{color:var(--text)}.melody-v4 .tab-detail-breadcrumb svg{width:14px;height:14px;color:var(--line-strong)}.melody-v4 .tab-detail-breadcrumb-current{min-width:0;color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.melody-v4 .tab-detail-header{align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.melody-v4 .tab-detail-header .workflow-icon{border-radius:var(--radius-md);flex:none;width:58px;height:58px;margin:0}.melody-v4 .tab-detail-header .workflow-icon svg{width:24px;height:24px}.melody-v4 .tab-detail-header-main{flex:1;min-width:0}.melody-v4 .tab-detail-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.melody-v4 .tab-detail-title-row h1{letter-spacing:-.03em;margin:0;font-size:clamp(24px,3vw,32px)}.melody-v4 .tab-detail-subtitle{color:var(--muted);margin:6px 0 0;font-size:14px}.melody-v4 .tab-detail-subtitle span{color:var(--text-soft);font-weight:610}.melody-v4 .tab-detail-actions{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.melody-v4 .tab-detail-icon-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--text-soft);background:var(--surface);border-radius:12px;flex:none;place-items:center;transition:color .2s,border-color .2s,background .2s;display:grid;position:relative}.melody-v4 .tab-detail-icon-btn svg{width:18px;height:18px}.melody-v4 .tab-detail-icon-btn:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-2)}.melody-v4 .tab-detail-icon-btn.is-active{color:var(--primary);border-color:color-mix(in srgb,var(--primary)50%,transparent);background:color-mix(in srgb,var(--primary)12%,var(--surface))}.melody-v4 .tab-detail-icon-btn[aria-pressed=true]{color:var(--accent-ink);border-color:color-mix(in srgb,var(--accent)50%,transparent);background:color-mix(in srgb,var(--accent)12%,var(--surface))}.melody-v4 .tab-detail-icon-btn:disabled{opacity:.5;cursor:not-allowed}.melody-v4 .tab-detail-transport-btn{min-width:48px;height:48px;color:var(--muted);background:0 0;border-radius:10px;flex-direction:column;flex:none;justify-content:space-between;align-items:center;gap:2px;padding:4px 8px;transition:color .2s,background .2s;display:flex}.melody-v4 .tab-detail-transport-btn:hover{color:var(--primary)}.melody-v4 .tab-detail-transport-btn.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary)12%,transparent)}.melody-v4 .tab-detail-transport-btn svg,.melody-v4 .tab-detail-transport-btn .material-symbols-outlined{color:inherit}.melody-v4 .tab-detail-transport-btn-value{padding-top:2px;font-size:10px;font-weight:700}.melody-v4 .tab-detail-transport-btn-label{text-transform:uppercase;letter-spacing:.04em;color:inherit;font-size:9px;font-weight:700}.melody-v4 .tab-detail-layout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px;display:grid}.melody-v4 .tab-detail-layout.sidebar-collapsed{grid-template-columns:minmax(0,1fr) auto}.melody-v4 .tab-detail-stage{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:300px;box-shadow:var(--shadow-soft);flex-direction:column;display:flex;overflow:hidden}.melody-v4 .tab-detail-stage.is-fullscreen{z-index:500;background:var(--surface-solid);min-height:0;box-shadow:var(--shadow);border-radius:0;position:fixed;inset:0}.melody-v4 .tab-detail-transport{border-top:1px solid var(--line);flex-wrap:nowrap;align-items:center;gap:16px;padding:14px 18px;display:flex}.melody-v4 .tab-detail-transport-left{flex:none;align-items:center;gap:12px;display:flex}.melody-v4 .tab-detail-play-btn{color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));width:48px;height:48px;box-shadow:0 14px 34px var(--glow-primary);border-radius:14px;flex:none;place-items:center;display:grid}.melody-v4 .tab-detail-controls{scrollbar-width:thin;scrollbar-color:var(--line-strong)transparent;flex-wrap:nowrap;flex:1;align-items:center;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow:auto hidden}.melody-v4 .tab-detail-controls::-webkit-scrollbar{height:6px}.melody-v4 .tab-detail-controls::-webkit-scrollbar-thumb{background:var(--line-strong);border-radius:999px}.melody-v4 .tab-detail-track-select{max-width:160px;height:48px;color:var(--text-soft);background:var(--surface-2);border-radius:12px;flex:none;align-items:center;gap:6px;padding:0 10px;transition:color .2s,background .2s;display:flex}.melody-v4 .tab-detail-track-select:hover,.melody-v4 .tab-detail-track-select.is-active{color:var(--primary);background:color-mix(in srgb,var(--primary)12%,var(--surface))}.melody-v4 .tab-detail-track-select-icon{color:var(--secondary);flex:none;place-items:center;display:grid}.melody-v4 .tab-detail-track-select-icon svg{width:16px;height:16px}.melody-v4 .tab-detail-track-select-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:700;overflow:hidden}.melody-v4 .tab-detail-switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;display:inline-flex}.melody-v4 .tab-detail-switch input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.melody-v4 .tab-detail-switch-track{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;flex:none;width:34px;height:20px;transition:background .15s,border-color .15s;position:relative}.melody-v4 .tab-detail-switch-track:before{content:"";background:var(--muted);border-radius:50%;width:16px;height:16px;transition:transform .15s,background .15s;position:absolute;top:1px;left:1px}.melody-v4 .tab-detail-switch input:checked+.tab-detail-switch-track{background:color-mix(in srgb,var(--primary)35%,var(--surface-2));border-color:color-mix(in srgb,var(--primary)50%,transparent)}.melody-v4 .tab-detail-switch input:checked+.tab-detail-switch-track:before{background:var(--primary);transform:translate(14px)}.melody-v4 .tab-detail-switch input:focus-visible+.tab-detail-switch-track{outline:2px solid var(--primary);outline-offset:2px}.melody-v4 .tab-detail-switch-label{color:var(--text-soft);font-size:12px;font-weight:700}.melody-v4 .tab-detail-divider{background:var(--line);flex:none;width:1px;height:28px}.melody-v4 .tab-detail-fullscreen-btn{flex:none;margin-left:auto}.melody-v4 .tab-detail-complete-btn{color:#fff;background:linear-gradient(125deg,var(--success),color-mix(in srgb,var(--success)60%,var(--secondary)));border:none;border-radius:12px;align-items:center;gap:6px;height:40px;padding:0 16px;font-size:13px;font-weight:700;display:inline-flex}.melody-v4 .tab-detail-complete-btn:disabled{opacity:.6;cursor:not-allowed}.melody-v4 .tab-detail-complete-badge{height:40px;color:var(--success-ink);background:color-mix(in srgb,var(--success)14%,transparent);border-radius:12px;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.melody-v4 .tab-detail-complete-badge svg{width:16px;height:16px}.melody-v4 .tab-detail-gate{border-top:1px solid var(--line);padding:0 18px 14px}.melody-v4 .tab-detail-gate-card{margin-top:14px}.melody-v4 .tab-detail-stage-body{flex:1;min-height:0;position:relative}.melody-v4 .tab-detail-stage-error{text-align:center;color:var(--text-soft);justify-items:center;gap:8px;padding:90px 20px;display:grid}.melody-v4 .tab-detail-stage-error b{color:var(--accent);font-size:16px}.melody-v4 .tab-detail-sidebar{flex-direction:column;gap:18px;display:flex;position:relative}.melody-v4 .tab-detail-sidebar-toggle{z-index:1;border:1px solid var(--line);width:28px;height:28px;color:var(--muted);background:var(--surface-solid);box-shadow:var(--shadow-soft);border-radius:999px;place-items:center;display:grid;position:absolute;top:0;left:-14px}.melody-v4 .tab-detail-sidebar-toggle-icon{transform:rotate(180deg)}.melody-v4 .tab-detail-layout.sidebar-collapsed .tab-detail-sidebar-toggle{border-radius:16px;flex-direction:column;align-items:center;gap:10px;width:32px;height:auto;padding:8px 0 12px;display:flex;position:static;left:auto}.melody-v4 .tab-detail-sidebar-toggle-title{writing-mode:vertical-rl;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.melody-v4 .tab-detail-ai-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);background:var(--hero-haze),var(--surface);padding:20px}.melody-v4 .tab-detail-ai-card h3{margin:12px 0 6px;font-size:17px}.melody-v4 .tab-detail-ai-card p{color:var(--text-soft);margin:0 0 16px;font-size:13px;line-height:1.6}.melody-v4 .tab-detail-toast{z-index:600;color:#fff;background:var(--surface-solid);box-shadow:var(--shadow);border-radius:12px;align-items:center;gap:8px;padding:10px 18px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.melody-v4 .tab-detail-toast svg{width:16px;height:16px}.melody-v4 .tab-detail-loading{color:var(--text-soft);justify-content:center;align-items:center;gap:12px;padding:140px 20px;font-size:14px;display:flex}.melody-v4 .tab-detail-loading i{border:2px solid var(--line-strong);border-top-color:var(--primary);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite melody-spin}.tab-detail-dropdown{z-index:9999;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid);min-width:100px;max-height:300px;box-shadow:var(--shadow);padding:4px 0;position:fixed;overflow-y:auto}.tab-detail-dropdown-item{width:100%;color:var(--text-soft);text-align:left;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background .15s,color .15s;display:flex}.tab-detail-dropdown-item:hover{background:var(--surface-2)}.tab-detail-dropdown-item.is-selected{color:var(--primary);background:color-mix(in srgb,var(--primary)12%,transparent);font-weight:700}.tab-detail-dropdown-item svg,.tab-detail-dropdown-item .material-symbols-outlined{color:inherit}.melody-v4 .tab-detail-stepper{align-items:center;gap:1px;display:flex}.melody-v4 .tab-detail-stepper-btn{width:28px;height:28px;color:var(--text-soft);background:var(--surface-2);border-radius:10px;place-items:center;transition:color .15s,background .15s;display:grid}.melody-v4 .tab-detail-stepper-btn:hover{color:var(--primary)}.melody-v4 .tab-detail-stepper-btn:disabled{color:var(--muted);opacity:.5;cursor:not-allowed}.melody-v4 .tab-detail-stepper-value{border:1px solid var(--line);min-width:44px;color:var(--text-soft);background:var(--surface-2);text-align:center;border-radius:10px;padding:5px 8px;font-size:13px;font-weight:700;transition:color .15s,background .15s,border-color .15s}.melody-v4 .tab-detail-stepper-value.is-active{color:var(--primary);border-color:color-mix(in srgb,var(--primary)50%,transparent);background:color-mix(in srgb,var(--primary)12%,var(--surface))}.melody-v4 .tab-detail-loop-badge{color:var(--primary);background:color-mix(in srgb,var(--primary)12%,transparent);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:flex}.melody-v4 .tab-detail-loop-badge svg,.melody-v4 .tab-detail-loop-badge .material-symbols-outlined{color:inherit}.melody-v4 .tab-detail-volume-pill{border-left:1px solid var(--line);align-items:center;gap:6px;padding-left:10px;display:flex}.melody-v4 .tab-detail-volume-pill-btn{color:var(--text-soft);background:var(--surface-2);border-radius:10px;align-items:center;gap:4px;padding:5px 8px;font-size:12px;font-weight:700;transition:background .15s;display:flex}.melody-v4 .tab-detail-volume-pill-btn:hover{background:var(--line)}.melody-v4 .tab-detail-range{appearance:none;background:var(--line);height:4px;accent-color:var(--primary);cursor:pointer;border-radius:999px}.melody-v4 .tab-detail-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--primary);cursor:pointer;border-radius:50%;width:12px;height:12px}.melody-v4 .tab-detail-range::-moz-range-thumb{background:var(--primary);cursor:pointer;border:none;border-radius:50%;width:12px;height:12px}.melody-v4 .tab-detail-range:disabled{accent-color:var(--muted);opacity:.5;cursor:not-allowed}.tab-detail-mixer-panel{z-index:9999;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-solid);width:320px;box-shadow:var(--shadow);overflow:hidden}.tab-detail-mixer-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.tab-detail-mixer-head-title{color:var(--text);align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.tab-detail-mixer-head-title svg,.tab-detail-mixer-head-title .material-symbols-outlined{color:var(--primary)}.tab-detail-mixer-close{width:26px;height:26px;color:var(--muted);border-radius:8px;place-items:center;transition:color .15s,background .15s;display:grid}.tab-detail-mixer-close:hover{color:var(--text);background:var(--surface-2)}.tab-detail-mixer-master{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--primary)6%,transparent);padding:12px 16px}.tab-detail-mixer-master-row{align-items:center;gap:12px;display:flex}.tab-detail-mixer-master-row>svg,.tab-detail-mixer-master-row>.material-symbols-outlined{color:var(--primary)}.tab-detail-mixer-master-label{color:var(--text-soft);margin-bottom:4px;font-size:12px;font-weight:700}.tab-detail-mixer-master-value{min-width:36px;color:var(--text-soft);text-align:right;font-size:12px;font-weight:700}.tab-detail-mixer-list{max-height:256px;overflow-y:auto}.tab-detail-mixer-empty{color:var(--muted);text-align:center;padding:24px 16px;font-size:13px}.tab-detail-mixer-track{border-top:1px solid var(--line);cursor:pointer;padding:12px 16px;transition:background .15s}.tab-detail-mixer-track:first-child{border-top:none}.tab-detail-mixer-track:hover{background:var(--surface-2)}.tab-detail-mixer-track.is-active{background:color-mix(in srgb,var(--primary)8%,transparent);box-shadow:inset 2px 0 0 var(--primary)}.tab-detail-mixer-track-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tab-detail-mixer-track-name{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.tab-detail-mixer-track-name svg,.tab-detail-mixer-track-name .material-symbols-outlined{color:var(--muted);flex:none}.tab-detail-mixer-track.is-active .tab-detail-mixer-track-name svg,.tab-detail-mixer-track.is-active .tab-detail-mixer-track-name .material-symbols-outlined{color:var(--primary)}.tab-detail-mixer-track-name span{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:610;overflow:hidden}.tab-detail-mixer-track.is-active .tab-detail-mixer-track-name span{color:var(--primary)}.tab-detail-mixer-track-name.is-muted span{color:var(--muted)}.tab-detail-mixer-mutesolo{align-items:center;gap:4px;display:flex}.tab-detail-mixer-mute-btn,.tab-detail-mixer-solo-btn{width:26px;height:26px;color:var(--text-soft);background:var(--surface-2);border-radius:8px;place-items:center;font-size:11px;font-weight:760;transition:color .15s,background .15s;display:grid}.tab-detail-mixer-mute-btn.is-on{color:#fff;background:#ef4444}.tab-detail-mixer-solo-btn.is-on{color:#fff;background:var(--accent)}.tab-detail-mixer-vol-row{align-items:center;gap:8px;display:flex}.tab-detail-mixer-vol-row svg,.tab-detail-mixer-vol-row .material-symbols-outlined{color:var(--muted);flex:none}.tab-detail-mixer-vol-value{min-width:34px;color:var(--muted);text-align:right;font-size:12px;font-weight:610}@media (max-width:900px){.melody-v4 .tab-detail-layout,.melody-v4 .tab-detail-layout.sidebar-collapsed{grid-template-columns:1fr}.melody-v4 .tab-detail-layout.sidebar-collapsed .tab-detail-sidebar-toggle{flex-direction:row;justify-self:start;width:auto;min-height:44px;padding:0 14px 0 8px}.melody-v4 .tab-detail-sidebar-toggle-title{writing-mode:horizontal-tb}}@media (max-width:1164px){.portal-main .melody-v4 .tab-detail-layout,.portal-main .melody-v4 .tab-detail-layout.sidebar-collapsed{grid-template-columns:1fr}.portal-main .melody-v4 .tab-detail-layout.sidebar-collapsed .tab-detail-sidebar-toggle{flex-direction:row;justify-self:start;width:auto;min-height:44px;padding:0 14px 0 8px}.portal-main .melody-v4 .tab-detail-sidebar-toggle-title{writing-mode:horizontal-tb}}@media (min-width:768px) and (max-width:1164px){.portal-main .melody-v4 .course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px) and (max-width:944px){.portal-main .melody-v4 .course-grid{grid-template-columns:1fr}}@media (max-width:680px){.melody-v4 .tab-detail-header{flex-wrap:wrap}.melody-v4 .tab-detail-actions{margin-left:0}}.at-wrap{background:#fff}.at-overlay{background:#ffffffd9}.at-overlay-content{background:#fff}.at-spinner{border-color:#0000 #f43f5e #f43f5e}.at-loading-label{color:#525252}.at-error{color:#171717;background:#fff}.at-error-title{color:#ef4444}.at-error-detail{color:#737373}.melody-v4 .at-wrap{background:var(--surface-2)}.melody-v4 .at-overlay{background:color-mix(in srgb,var(--surface-solid)85%,transparent)}.melody-v4 .at-overlay-content{background:var(--surface-solid);border:1px solid var(--line);box-shadow:var(--shadow-soft)}.melody-v4 .at-spinner{border-color:var(--line-strong);border-top-color:var(--primary)}.melody-v4 .at-loading-label{color:var(--text-soft)}.melody-v4 .at-error{background:var(--surface-2);color:var(--text)}.melody-v4 .at-error-title{color:var(--accent)}.melody-v4 .at-error-detail{color:var(--text-soft)}.melody-v4 .tp-controls{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;min-width:0;padding:10px 12px;display:flex}.at-wrap>.tp-controls{flex:none}.melody-v4 .tp-controls-reason{letter-spacing:.02em;color:var(--text-soft);font-size:12px;font-weight:600}.melody-v4 .tp-controls [aria-disabled=true]{cursor:default}.melody-v4 .at-cursor-bar{background:color-mix(in srgb,var(--primary)30%,transparent)!important}.melody-v4 .at-selection div{background:color-mix(in srgb,var(--primary)40%,transparent)!important}.melody-v4 .at-cursor-beat{background:var(--primary)!important}.melody-v4 .at-highlight *{fill:var(--primary)!important;stroke:var(--primary)!important}.melody-v4 .lp-playhead{--playhead:var(--primary)}.melody-v4 .lp-capsule-cursor .at-cursor-bar{background:0 0!important}html:has(.portal-shell){--sidebar-w:264px}.portal-shell{--nav-h:72px;min-height:100vh}@media (max-width:900px){.portal-shell{--nav-h:64px}}.portal-main{margin-left:var(--sidebar-w);padding-top:var(--nav-h);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;min-height:100vh}html:has(.portal-shell){scroll-padding-bottom:calc(var(--mt-stack-h,0px) + 8px)}.portal-main:has(>.portal-bleed){color-scheme:normal;background:0 0;padding-top:0}.melody-v4.portal-chrome .msi{-webkit-user-select:none;user-select:none;flex:none;place-items:center;width:1em;height:1em;font-size:20px;line-height:1;display:inline-grid}.melody-v4.portal-chrome .msi>svg{width:100%;height:100%;display:block}.melody-v4.portal-chrome .msi.sm{font-size:16px}.melody-v4.portal-chrome .msi.lg{font-size:26px}.melody-v4.portal-chrome .sidebar-section{padding:3px 14px}.melody-v4.portal-chrome .sidebar-section-head{cursor:pointer}.melody-v4.portal-chrome .sidebar-section-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.melody-v4.portal-chrome .sidebar-section-caret{color:var(--muted)}.melody-v4.portal-chrome .sidebar-section-head:is(.is-active,.is-within) .sidebar-section-caret{color:inherit}.melody-v4.portal-chrome .sidebar-section-list{border-left:1px solid var(--line);gap:2px;margin:4px 0 2px 27px;padding:0 0 0 14px;list-style:none;display:grid}.melody-v4.portal-chrome .sidebar-section-item{min-height:38px;color:var(--muted);transition:color .18s var(--ease-out),background .18s var(--ease-out);border-radius:10px;align-items:center;gap:12px;padding:0 12px;font-size:13px;font-weight:610;display:flex}.melody-v4.portal-chrome .sidebar-section-item:hover{color:var(--text);background:color-mix(in srgb,var(--text)7%,transparent)}.melody-v4.portal-chrome .sidebar-section-item.is-active{color:var(--text);background:color-mix(in srgb,var(--primary)20%,transparent)}.melody-v4.portal-chrome{overflow:visible}.melody-v4.portal-chrome .site-nav--portal{left:var(--sidebar-w)}.melody-v4.portal-chrome .site-nav.site-nav--portal{border-bottom-color:var(--line);background:var(--bg-2);-webkit-backdrop-filter:none}.melody-v4.portal-chrome .site-nav--portal{z-index:45}.melody-v4.portal-chrome .site-nav--portal .nav-actions{margin-left:auto}.melody-v4.portal-footer .site-footer{margin-left:var(--sidebar-w)}.melody-v4.portal-chrome .sidebar{z-index:46;width:var(--sidebar-w);border-right:1px solid var(--line);background:var(--bg-2);color:var(--text);flex-direction:column;display:flex;position:fixed;inset:0 auto 0 0}.melody-v4.portal-chrome .sidebar:before{content:"";z-index:0;pointer-events:none;background:linear-gradient(190deg,color-mix(in srgb,var(--primary)13%,transparent),transparent 46%);position:absolute;inset:0}.melody-v4.portal-chrome .sidebar>*{position:relative}.melody-v4.portal-chrome .sidebar--studio:before{background:linear-gradient(190deg,color-mix(in srgb,var(--secondary)15%,transparent),transparent 46%)}.melody-v4.portal-chrome .sidebar-logo{height:var(--nav-h);border-bottom:1px solid var(--line);align-items:center;gap:11px;padding:0 18px;display:flex}.melody-v4.portal-chrome .sidebar-mark{color:#fff;background:linear-gradient(145deg,var(--primary),color-mix(in srgb,var(--secondary)65%,var(--primary)));width:34px;height:34px;box-shadow:0 8px 24px var(--glow-primary);border-radius:11px;flex:none;place-items:center;display:grid}.melody-v4.portal-chrome .sidebar--studio .sidebar-mark{background:linear-gradient(145deg,var(--secondary),color-mix(in srgb,var(--accent)70%,var(--secondary)));box-shadow:0 8px 24px var(--glow-secondary)}.melody-v4.portal-chrome .logo-word{letter-spacing:-.02em;min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:730;overflow:hidden}.melody-v4.portal-chrome .sidebar-nav{overscroll-behavior:contain;border-bottom:1px solid var(--line);flex:1;padding:16px 14px;overflow-y:auto}.melody-v4.portal-chrome .sidebar-nav ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.melody-v4.portal-chrome .nav-item,.melody-v4.portal-chrome .sidebar-slot-row,.melody-v4.portal-chrome .sidebar-section-head,.melody-v4.portal-chrome .studio-jobs-toggle{border-radius:var(--radius-sm);width:100%;min-height:44px;color:var(--text-soft);text-align:left;background:0 0;align-items:center;gap:12px;padding:0 14px;font-size:14px;font-weight:620;transition:color .18s,background .18s,box-shadow .18s;display:flex}.melody-v4.portal-chrome .nav-item:hover,.melody-v4.portal-chrome .sidebar-section-head:hover,.melody-v4.portal-chrome .studio-jobs-toggle:hover{color:var(--text);background:var(--surface-2)}.melody-v4.portal-chrome .nav-item.is-active,.melody-v4.portal-chrome .sidebar-section-head.is-active,.melody-v4.portal-chrome .sidebar-section-head.is-within,.melody-v4.portal-chrome .mt-nav-head.is-within{color:#fff;background:linear-gradient(120deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));box-shadow:0 10px 28px var(--glow-primary)}.melody-v4.portal-chrome .sidebar--studio .nav-item.is-active{background:linear-gradient(120deg,var(--secondary),color-mix(in srgb,var(--secondary)55%,var(--accent)));box-shadow:0 10px 28px var(--glow-secondary)}.melody-v4.portal-chrome .nav-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.melody-v4.portal-chrome .lp-nav-count{border:1px solid var(--line);background:var(--surface-2);min-width:22px;height:22px;color:var(--text);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;place-items:center;margin-left:auto;padding:0 7px;font-size:11.5px;font-weight:700;line-height:1;display:inline-grid}.melody-v4.portal-chrome .mt-nav-sep{background:var(--line);height:1px;margin:4px 6px}.melody-v4.portal-chrome .mt-nav-head{cursor:pointer}.melody-v4.portal-chrome .mt-nav-head .nav-label{flex:1}.melody-v4.portal-chrome .mt-nav-chev{color:var(--muted);transition:transform .2s var(--ease-out)}.melody-v4.portal-chrome .mt-nav-group:not(.is-open) .mt-nav-chev{transform:rotate(-90deg)}.melody-v4.portal-chrome .mt-nav-head.is-within .mt-nav-chev{color:inherit}.melody-v4.portal-chrome .sidebar-nav .mt-nav-sub{border-left:1px solid var(--line);gap:4px;margin:4px 0 0 25px;padding:0 0 0 12px}.melody-v4.portal-chrome .mt-nav-group .nav-item{padding-block:8px;line-height:1.35}.melody-v4.portal-chrome .mt-nav-group .nav-label{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.melody-v4.portal-chrome .mt-nav-pro{color:var(--mt-pro-ink);flex:none;align-items:center;margin-left:auto;display:inline-flex;position:relative}.melody-v4.portal-chrome .mt-nav-pro-tip{border:1px solid color-mix(in srgb,var(--mt-pro)45%,transparent);background:var(--surface-solid);color:var(--mt-pro-ink);font:var(--mt-type-caption);white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;border-radius:999px;padding:2px 8px;font-weight:700;position:absolute;bottom:calc(100% + 4px);right:-6px}.melody-v4.portal-chrome .mt-nav-pro-tip:after{content:attr(data-tip)}.melody-v4.portal-chrome .mt-nav-sub .nav-item:is(:hover,:focus-visible) .mt-nav-pro-tip{opacity:1;visibility:visible}.melody-v4 .mt-crumbs{max-width:980px;padding:calc(var(--nav-h) + 28px)20px 0;margin:0 auto}.melody-v4 .mt-crumbs ol{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;margin:0;padding:0;font-size:13px;line-height:1.5;list-style:none;display:flex}.melody-v4 .mt-crumbs li{align-items:center;gap:8px;min-width:0;display:inline-flex}.melody-v4 .mt-crumbs .msi{flex:none;place-items:center;width:16px;height:16px;display:inline-grid}.melody-v4 .mt-crumbs .msi>svg{width:100%;height:100%}.melody-v4 .mt-crumbs a{color:var(--text-soft);text-underline-offset:3px;text-decoration:underline}.melody-v4 .mt-crumbs a:hover{color:var(--text)}.melody-v4 .mt-crumbs [aria-current=page]{color:var(--text);font-weight:600}.melody-v4 .mt-crumbs~.lv-lobby{padding-top:16px}.melody-v4.portal-chrome .sidebar-slot{padding:3px 14px}.melody-v4.portal-chrome .sidebar-slot-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.melody-v4.portal-chrome .sidebar-slot-trigger{min-height:32px;color:var(--text-soft);background:0 0;border-radius:10px;align-items:center;gap:6px;padding:0 8px;transition:color .18s,background .18s;display:inline-flex;position:relative}.melody-v4.portal-chrome .sidebar-slot-trigger:hover{color:var(--text);background:var(--surface-2)}.melody-v4.portal-chrome .sidebar-slot-trigger.is-open{color:var(--text);background:var(--surface-3)}.melody-v4.portal-chrome .sidebar-slot-trigger .msi.is-busy{animation:1.1s linear infinite melody-spin}.melody-v4.portal-chrome .sidebar-slot-count{border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:800;line-height:1;display:inline-grid}.melody-v4.portal-chrome .sidebar-slot-count.is-alert{color:#fff;background:var(--danger)}.melody-v4.portal-chrome .sidebar-slot-count.is-busy{color:#1a1508;background:var(--warning)}.melody-v4.portal-chrome .sidebar-slot-count.is-done{color:#06210f;background:var(--success)}.melody-v4.portal-chrome .studio-jobs-count{background:var(--warning);color:#1a1508;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:11px;font-weight:800}.melody-v4.portal-chrome .studio-jobs-list{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);gap:2px;margin-top:8px;padding:6px;display:grid}.melody-v4.portal-chrome .studio-job{border-radius:10px;gap:1px;padding:8px 10px;transition:background .18s;display:grid}.melody-v4.portal-chrome .studio-job:hover{background:var(--surface-2)}.melody-v4.portal-chrome .studio-job-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:610;overflow:hidden}.melody-v4.portal-chrome .studio-job-state{color:var(--muted);font-size:11px}.melody-v4.portal-chrome .sidebar-bottom{border-top:1px solid var(--line);padding:14px}.melody-v4.portal-chrome .sidebar-home{border-radius:var(--radius-sm);min-height:44px;color:var(--muted);align-items:center;gap:12px;margin-bottom:10px;padding:0 14px;font-size:13px;font-weight:610;transition:color .18s,background .18s;display:flex}.melody-v4.portal-chrome .sidebar-home:hover{color:var(--text);background:var(--surface-2)}.melody-v4.portal-chrome .sidebar-user{align-items:center;gap:12px;margin-bottom:12px;padding:0 2px;display:flex}.melody-v4.portal-chrome .sidebar-avatar{color:#fff;background:linear-gradient(125deg,var(--primary),color-mix(in srgb,var(--primary)55%,var(--accent)));width:38px;height:38px;box-shadow:0 6px 18px var(--glow-primary);border-radius:50%;flex:none;place-items:center;font-size:14px;font-weight:700;display:grid}.melody-v4.portal-chrome .sidebar--studio .sidebar-avatar{background:linear-gradient(125deg,var(--secondary),color-mix(in srgb,var(--accent)70%,var(--secondary)));box-shadow:0 6px 18px var(--glow-secondary)}.melody-v4.portal-chrome .sidebar-user>div{min-width:0}.melody-v4.portal-chrome .sidebar-user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:660;overflow:hidden}.melody-v4.portal-chrome .sidebar-user-mail{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.melody-v4.portal-chrome :is(.sidebar-user-name,.sidebar-user-mail){min-height:1.5em;min-height:1lh}.melody-v4.portal-chrome .btn-logout{border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--glass);width:100%;min-height:42px;color:var(--text);justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:680;transition:background .18s,border-color .18s;display:flex}.melody-v4.portal-chrome .btn-logout:hover:not(:disabled){border-color:color-mix(in srgb,var(--primary)60%,transparent);background:var(--surface-2)}.melody-v4.portal-chrome .btn-logout:disabled{opacity:.55;cursor:not-allowed}.melody-v4.portal-chrome .btn-logout-spinner{border:2px solid #0000;border-bottom-color:currentColor;border-radius:50%;width:15px;height:15px;animation:.8s linear infinite melody-spin}.melody-v4.portal-chrome .bottom-nav{z-index:30;border-top:1px solid var(--line);background:var(--bg-2);padding-bottom:env(safe-area-inset-bottom);display:none;position:fixed;inset:auto 0 0}.melody-v4.portal-chrome .mt-bar-list{overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:none;margin:0;padding:0;list-style:none;display:flex;overflow-x:auto}.melody-v4.portal-chrome .mt-bar-list::-webkit-scrollbar{display:none}.melody-v4.portal-chrome .mt-bar-list>li{flex:0 0 clamp(var(--mt-bottom-slot-min),calc(100%/4.5),104px);min-width:var(--mt-bottom-slot-min);scroll-snap-align:center;display:flex}.melody-v4.portal-chrome .mt-bar-slot{min-height:max(56px,var(--mt-touch-min));color:var(--muted);font:var(--mt-type-caption);text-align:center;cursor:pointer;background:0 0;border:0;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:3px;padding:7px 4px 6px;font-weight:620;display:flex}.melody-v4.portal-chrome .mt-bar-slot:focus-visible{outline:3px solid color-mix(in srgb,var(--secondary)72%,var(--text));outline-offset:-3px;border-radius:var(--radius-sm)}.melody-v4.portal-chrome .mt-bar-slot.is-active{color:var(--primary-ink)}.melody-v4.portal-chrome .mt-bar-slot.is-active .msi{color:var(--primary)}.melody-v4.portal-chrome .bottom-nav .bottom-nav-label{white-space:normal;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;max-width:100%;line-height:1.25}.melody-v4.portal-chrome .mt-bar[data-fade-end] .mt-bar-list{-webkit-mask-image:linear-gradient(90deg,#000 88%,#0000);mask-image:linear-gradient(90deg,#000 88%,#0000)}.melody-v4.portal-chrome .mt-bar[data-fade-start] .mt-bar-list{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%);mask-image:linear-gradient(90deg,#0000,#000 12%)}.melody-v4.portal-chrome .mt-bar[data-fade-start][data-fade-end] .mt-bar-list{-webkit-mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000);mask-image:linear-gradient(90deg,#0000,#000 12% 88%,#0000)}.melody-v4.portal-chrome .mt-bar .mt-bar-list:focus-within,.melody-v4.portal-chrome .mt-bar[data-fade-start][data-fade-end] .mt-bar-list:focus-within{-webkit-mask-image:none;mask-image:none}.melody-v4.portal-chrome .mt-bar-chev{display:none}.melody-v4.portal-chrome .mt-bar:has(.mt-bar-slot:focus-visible) .mt-bar-chev:not([hidden]){display:none}@media (hover:hover) and (pointer:fine){.melody-v4.portal-chrome .mt-bar-chev:not([hidden]){z-index:1;width:var(--mt-touch-min);height:var(--mt-touch-min);border:1px solid var(--line-strong);background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-soft);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:50%;transform:translateY(-50%)}.melody-v4.portal-chrome .mt-bar-chev--prev{left:4px}.melody-v4.portal-chrome .mt-bar-chev--next{right:4px}}.melody-v4.portal-chrome .mt-tools-sheet{width:100%;max-width:100%;max-height:var(--mt-tools-sheet-max);padding:8px 16px calc(18px + env(safe-area-inset-bottom));border:0;border-top:1px solid var(--line-strong);border-radius:var(--radius-lg)var(--radius-lg)0 0;background:var(--surface-solid);color:var(--text);box-shadow:var(--shadow-soft);margin:0;position:fixed;inset:auto 0 0;overflow:auto}.melody-v4.portal-chrome .mt-sheet-drag{touch-action:none;cursor:grab}.melody-v4.portal-chrome .mt-tools-sheet::backdrop{background:#0000008c}.melody-v4.portal-chrome .mt-sheet-grab{background:var(--line-strong);border-radius:9999px;width:44px;height:5px;margin:2px auto 8px;display:block}.melody-v4.portal-chrome .mt-sheet-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.melody-v4.portal-chrome .mt-sheet-title{font:var(--mt-type-title-sm);color:var(--text);margin:0}.melody-v4.portal-chrome .mt-sheet-close{width:var(--mt-touch-min);height:var(--mt-touch-min);border:1px solid var(--line);background:var(--surface-2);color:var(--text);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.melody-v4.portal-chrome .mt-sheet-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.melody-v4.portal-chrome .mt-sheet-row{min-height:var(--mt-touch-min);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-2);color:var(--text);align-items:center;gap:12px;padding:10px 12px;display:flex}.melody-v4.portal-chrome .mt-sheet-row.is-active{border-color:color-mix(in srgb,var(--primary)55%,transparent);background:color-mix(in srgb,var(--primary)16%,var(--surface-solid))}.melody-v4.portal-chrome .mt-sheet-row.is-active .mt-sheet-desc{color:var(--text-soft)}.melody-v4.portal-chrome .mt-sheet-row>.msi{color:var(--primary);flex:none}.melody-v4.portal-chrome .mt-sheet-text{flex:1;gap:2px;min-width:0;display:grid}.melody-v4.portal-chrome .mt-sheet-name{font:var(--mt-type-label);overflow-wrap:anywhere;font-size:14px}.melody-v4.portal-chrome .mt-sheet-desc{font:var(--mt-type-caption);color:var(--muted);overflow-wrap:anywhere}.melody-v4.portal-chrome .mt-sheet-pro{font:var(--mt-type-caption);color:var(--mt-pro-ink);flex:none;align-items:center;gap:4px;font-weight:700;display:inline-flex}.melody-v4.portal-chrome .mt-sheet-note{font:var(--mt-type-caption);color:var(--muted);margin:12px 2px 0}@media (max-width:767px){html[data-host-playing] .melody-v4.portal-chrome .bottom-nav{display:none!important}}@media (max-width:900px){.melody-v4.portal-chrome .site-nav--portal .theme-picker,.melody-v4.portal-chrome .site-nav--portal .nav-lang{display:inline-flex}}@media (max-width:680px){.melody-v4.portal-chrome .site-nav--portal .brand-name{display:none}.melody-v4.portal-chrome .site-nav--portal .nav-lang button{min-width:38px;padding:0 7px}}@media (max-width:767px){.melody-v4.portal-chrome .sidebar{display:none}.melody-v4.portal-chrome .bottom-nav{display:block}.melody-v4.portal-chrome .site-nav--portal{left:0}.melody-v4.portal-footer .site-footer{margin-left:0}.melody-v4.portal-footer{padding-bottom:var(--mt-stack-h,calc(76px + env(safe-area-inset-bottom)))}html:has(.portal-shell){scroll-padding-bottom:calc(var(--mt-stack-h,calc(76px + env(safe-area-inset-bottom))) + 8px)}.portal-main{margin-left:0}}.portal-main:has(>.app-page){background:0 0}.melody-v4.app-page .msi{-webkit-user-select:none;user-select:none;flex:none;place-items:center;width:1em;height:1em;font-size:20px;line-height:1;display:inline-grid}.melody-v4.app-page .msi>svg{width:100%;height:100%;display:block}.melody-v4.app-page .msi.sm{font-size:16px}.melody-v4.app-page .msi.lg{font-size:26px}.melody-v4.app-page .msi.xl{font-size:40px}.melody-v4.app-page .page{max-width:var(--page-max);margin:0 auto;padding:32px 24px 64px}.melody-v4.app-page .page.narrow{max-width:896px}.melody-v4.app-page .page.form{max-width:768px}@media (min-width:640px){.melody-v4.app-page .page{padding:32px 32px 72px}}.melody-v4.app-page .page-header{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:32px;display:flex}.melody-v4.app-page .page-header .ph-icon{border-radius:var(--radius-sm);background:color-mix(in srgb,var(--primary)18%,transparent);width:48px;height:48px;color:var(--primary-2);flex:none;place-items:center;display:grid}.melody-v4.app-page .page-header h1{color:var(--text);letter-spacing:-.02em;margin:0;font-size:28px;font-weight:800}.melody-v4.app-page .page-header .ph-sub{color:var(--text-soft);margin:4px 0 0;font-size:15px}.melody-v4.app-page .page-header .ph-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-left:auto;display:flex}@media (max-width:639px){.melody-v4.app-page .page-header h1{font-size:24px}.melody-v4.app-page .page-header .ph-actions{margin-left:0}}.melody-v4.app-page .breadcrumb{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:20px;font-size:13px;display:flex}.melody-v4.app-page .breadcrumb a:hover{color:var(--primary-2)}.melody-v4.app-page .breadcrumb .cur{color:var(--text-soft);font-weight:600}.melody-v4.app-page .breadcrumb .msi{font-size:16px}.melody-v4.app-page .section-title{color:var(--text);align-items:center;gap:8px;margin:0 0 16px;font-size:18px;font-weight:700;display:flex}.melody-v4.app-page .section-title .msi{color:var(--primary-2)}.melody-v4.app-page .btn{border-radius:var(--radius-sm);white-space:nowrap;transition:background .18s var(--ease-out),border-color .18s var(--ease-out),color .18s var(--ease-out),box-shadow .18s var(--ease-out),transform .18s var(--ease-out);background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.2;display:inline-flex}.melody-v4.app-page .btn .msi{font-size:19px}.melody-v4.app-page .btn.sm{border-radius:10px;padding:7px 14px;font-size:13px}.melody-v4.app-page .btn.sm .msi{font-size:16px}.melody-v4.app-page .btn.lg{border-radius:14px;padding:13px 26px;font-size:15px}.melody-v4.app-page .btn-primary{color:#fff;background:linear-gradient(135deg,var(--primary)0%,var(--primary-2)100%)}.melody-v4.app-page .btn-primary:hover{box-shadow:0 0 22px var(--glow-primary);transform:translateY(-1px)}.melody-v4.app-page .btn-accent{color:#fff;background:linear-gradient(135deg,var(--accent)0%,var(--accent-2)100%)}.melody-v4.app-page .btn-accent:hover{box-shadow:0 0 22px color-mix(in srgb,var(--accent)44%,transparent);transform:translateY(-1px)}.melody-v4.app-page .btn-secondary{color:var(--text);background:var(--surface-3)}.melody-v4.app-page .btn-secondary:hover{background:var(--surface-2)}.melody-v4.app-page .btn-outline{color:var(--text-soft);background:var(--surface);border:1px solid var(--line)}.melody-v4.app-page .btn-outline:hover{color:var(--text);border-color:var(--line-strong);background:var(--surface-2)}.melody-v4.app-page .btn-ghost{color:var(--muted)}.melody-v4.app-page .btn-ghost:hover{color:var(--text);background:var(--surface-3)}.melody-v4.app-page .btn-danger{color:#fff;background:var(--danger)}.melody-v4.app-page .btn-danger:hover{box-shadow:0 0 22px color-mix(in srgb,var(--danger)44%,transparent)}.melody-v4.app-page .btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.melody-v4.app-page .btn-icon{color:var(--text-soft);background:var(--surface-2);border:1px solid var(--line);border-radius:10px;place-items:center;padding:9px;display:inline-grid}.melody-v4.app-page .btn-icon:hover{color:var(--text);border-color:var(--line-strong)}.melody-v4.app-page .card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);padding:24px}.melody-v4.app-page .card.subtle{box-shadow:none;background:var(--surface-2);border-color:var(--line)}.melody-v4.app-page .card.pad-sm{padding:16px}.melody-v4.app-page .card.pad-lg{padding:32px}.melody-v4.app-page .card.pad-0{padding:0;overflow:hidden}.melody-v4.app-page .card.interactive{transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out),border-color .18s var(--ease-out)}.melody-v4.app-page .card.interactive:hover{border-color:var(--line-strong);box-shadow:var(--shadow);transform:translateY(-3px)}.melody-v4.app-page .metric-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:var(--shadow-soft);align-items:flex-start;gap:16px;padding:20px;display:flex}.melody-v4.app-page .metric-icon{border-radius:var(--radius-sm);flex:none;place-items:center;width:46px;height:46px;display:grid}.melody-v4.app-page .metric-icon.rose{background:color-mix(in srgb,var(--primary)18%,transparent);color:var(--primary-2)}.melody-v4.app-page .metric-icon.pink{background:color-mix(in srgb,var(--accent-2)18%,transparent);color:var(--accent-2)}.melody-v4.app-page .metric-icon.fuchsia{background:color-mix(in srgb,var(--accent)18%,transparent);color:var(--accent)}.melody-v4.app-page .metric-icon.green{background:color-mix(in srgb,var(--success)18%,transparent);color:var(--success)}.melody-v4.app-page .metric-icon.amber{background:color-mix(in srgb,var(--warning)18%,transparent);color:var(--warning)}.melody-v4.app-page .metric-icon.sky{background:color-mix(in srgb,var(--secondary)18%,transparent);color:var(--secondary)}.melody-v4.app-page .metric-icon.red{background:color-mix(in srgb,var(--danger)18%,transparent);color:var(--danger)}.melody-v4.app-page .metric-label{color:var(--muted);margin:0;font-size:13px;font-weight:500}.melody-v4.app-page .metric-value{color:var(--text);letter-spacing:-.02em;margin:0;font-size:26px;font-weight:800}.melody-v4.app-page .metric-sub{color:var(--muted);margin:2px 0 0;font-size:12px}.melody-v4.app-page .metric-sub.up{color:var(--success-ink)}.melody-v4.app-page .metric-sub.down{color:var(--danger-ink)}.melody-v4.app-page .badge{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;line-height:1.4;display:inline-flex}.melody-v4.app-page .badge .msi{font-size:14px}.melody-v4.app-page .badge.label{border-radius:6px}.melody-v4.app-page .badge-neutral{background:var(--surface-3);color:var(--text-soft)}.melody-v4.app-page .badge-primary{background:color-mix(in srgb,var(--primary)20%,transparent);color:var(--primary-ink)}.melody-v4.app-page .badge-secondary{background:color-mix(in srgb,var(--secondary)20%,transparent);color:var(--secondary-ink)}.melody-v4.app-page .badge-accent{background:color-mix(in srgb,var(--accent)20%,transparent);color:var(--accent-ink)}.melody-v4.app-page .badge-success{background:color-mix(in srgb,var(--success)20%,transparent);color:var(--success-ink)}.melody-v4.app-page .badge-warning{background:color-mix(in srgb,var(--warning)20%,transparent);color:var(--warning-ink)}.melody-v4.app-page .badge-error{background:color-mix(in srgb,var(--danger)20%,transparent);color:var(--danger-ink)}.melody-v4.app-page .badge-info{background:color-mix(in srgb,var(--secondary)20%,transparent);color:var(--secondary-ink)}.melody-v4.app-page .avatar{background:linear-gradient(135deg,var(--primary)0%,var(--primary-2)100%);color:#fff;border-radius:999px;flex:none;place-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:grid}.melody-v4.app-page .avatar.accent{background:linear-gradient(135deg,var(--accent)0%,var(--accent-2)100%)}.melody-v4.app-page .avatar.sm{width:32px;height:32px;font-size:12px}.melody-v4.app-page .avatar.lg{width:56px;height:56px;font-size:20px}.melody-v4.app-page .field{gap:6px;margin-bottom:18px;display:grid}.melody-v4.app-page .field label{color:var(--text-soft);font-size:13.5px;font-weight:600}.melody-v4.app-page .field .hint{color:var(--muted);font-size:12px}.melody-v4.app-page .field .err{color:var(--danger-ink);font-size:12px;font-weight:500}.melody-v4.app-page :is(.input,.select,.textarea){border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);width:100%;font:inherit;color:var(--text);transition:border-color .15s var(--ease-out),background .15s var(--ease-out);padding:10px 14px;font-size:14px}.melody-v4.app-page :is(.input,.textarea)::placeholder{color:var(--muted)}.melody-v4.app-page :is(.input,.select,.textarea):focus{border-color:color-mix(in srgb,var(--primary)55%,transparent);background-color:var(--surface-solid);outline:none}.melody-v4.app-page :is(.input,.select,.textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--secondary)72%,var(--text));outline-offset:2px}.melody-v4.app-page .input.invalid{border-color:var(--danger)}.melody-v4.app-page .textarea{resize:vertical;min-height:110px}.melody-v4.app-page .select{appearance:none;color:var(--text);background-image:linear-gradient(45deg,transparent 50%,var(--muted)50%),linear-gradient(135deg,var(--muted)50%,transparent 50%);background-position:right 18px center,right 13px center;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.melody-v4.app-page .select option{color:var(--text);background:var(--surface-solid)}.melody-v4.app-page .input-icon-wrap{position:relative}.melody-v4.app-page .input-icon-wrap>.msi{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.melody-v4.app-page .input-icon-wrap .input{padding-left:44px}.melody-v4.app-page input[type=checkbox]{width:17px;height:17px;accent-color:var(--primary)}.melody-v4.app-page input[type=radio],.melody-v4.app-page input[type=range]{accent-color:var(--primary)}.melody-v4.app-page .table-wrap{overflow-x:auto}.melody-v4.app-page table.table{border-collapse:collapse;width:100%;font-size:14px}.melody-v4.app-page .table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);white-space:nowrap;padding:12px 16px;font-size:12px;font-weight:700}.melody-v4.app-page .table td{border-bottom:1px solid var(--line);color:var(--text-soft);vertical-align:middle;padding:14px 16px}.melody-v4.app-page .table tbody tr:hover{background:color-mix(in srgb,var(--primary)8%,transparent)}.melody-v4.app-page .table tbody tr:last-child td{border-bottom:none}.melody-v4.app-page .td-main{color:var(--text);font-weight:600}.melody-v4.app-page .td-sub{color:var(--muted);font-size:12.5px}.melody-v4.app-page .progress{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.melody-v4.app-page .progress>span{background:linear-gradient(90deg,var(--primary)0%,var(--primary-2)100%);border-radius:999px;height:100%;display:block}.melody-v4.app-page .progress.green>span{background:linear-gradient(90deg,var(--success),color-mix(in srgb,var(--success)60%,var(--secondary)))}.melody-v4.app-page .progress.amber>span{background:linear-gradient(90deg,var(--warning),color-mix(in srgb,var(--warning)60%,var(--accent)))}.melody-v4.app-page .progress.sky>span{background:linear-gradient(90deg,var(--secondary),var(--primary-2))}.melody-v4.app-page .progress.thin{height:5px}.melody-v4.app-page .chips{flex-wrap:wrap;gap:8px;display:flex}.melody-v4.app-page .chip{border:1px solid var(--line);background:var(--surface);color:var(--text-soft);transition:border-color .15s var(--ease-out),color .15s var(--ease-out),background .15s var(--ease-out);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600}.melody-v4.app-page .chip:hover{border-color:var(--line-strong);color:var(--text)}.melody-v4.app-page .chip.active{background:linear-gradient(135deg,var(--primary)0%,var(--primary-2)100%);color:#fff;border-color:#0000}.melody-v4.app-page .chip[aria-pressed=true]{color:var(--primary-ink);border-color:var(--primary);background:color-mix(in srgb,var(--primary)14%,transparent);font-weight:700}.melody-v4.app-page .chip:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.melody-v4.app-page .menu-row{width:100%;color:var(--text-soft);text-align:left;transition:color .15s var(--ease-out),background .15s var(--ease-out);background:0 0;border-radius:8px;padding:8px 10px}.melody-v4.app-page .menu-row:hover{color:var(--text);background:var(--surface-3)}.melody-v4.app-page .seg{border-radius:var(--radius-sm);background:var(--surface-2);gap:2px;padding:4px;display:inline-flex}.melody-v4.app-page .seg :is(button,a){color:var(--muted);transition:color .15s var(--ease-out),background .15s var(--ease-out);background:0 0;border-radius:9px;padding:7px 16px;font-size:13.5px;font-weight:600}.melody-v4.app-page .seg :is(button,a):hover{color:var(--text)}.melody-v4.app-page .seg .active{color:var(--text);background:var(--surface-solid);box-shadow:var(--shadow-soft)}.melody-v4.app-page .ring{--pct:70;--ring-color:var(--primary);background:conic-gradient(var(--ring-color)calc(var(--pct)*1%),var(--surface-3)0);border-radius:999px;place-items:center;width:84px;height:84px;display:grid}.melody-v4.app-page .ring>span{background:var(--surface-solid);width:64px;height:64px;color:var(--text);border-radius:999px;place-items:center;font-size:15px;font-weight:800;display:grid}.melody-v4.app-page .empty{text-align:center;justify-items:center;gap:8px;padding:56px 24px;display:grid}.melody-v4.app-page .empty .empty-icon{border-radius:var(--radius-md);background:linear-gradient(135deg,color-mix(in srgb,var(--primary)16%,transparent),color-mix(in srgb,var(--accent)16%,transparent));width:72px;height:72px;color:var(--primary-2);place-items:center;margin-bottom:8px;display:grid}.melody-v4.app-page .empty .empty-icon .msi{font-size:34px}.melody-v4.app-page .empty h3{color:var(--text);margin:0;font-size:17px;font-weight:700}.melody-v4.app-page .empty p{color:var(--text-soft);max-width:380px;margin:0;font-size:14px}.melody-v4.app-page .empty .btn{margin-top:10px}.melody-v4.app-page .alert{border-radius:var(--radius-sm);align-items:flex-start;gap:12px;padding:14px 16px;font-size:14px;display:flex}.melody-v4.app-page .alert .msi{flex:none;margin-top:1px}.melody-v4.app-page .alert b{color:var(--text);margin-bottom:2px;display:block}.melody-v4.app-page .alert p{color:var(--text-soft);margin:0;font-size:13.5px}.melody-v4.app-page .alert-info{background:color-mix(in srgb,var(--secondary)12%,transparent);border:1px solid color-mix(in srgb,var(--secondary)30%,transparent);color:var(--secondary-ink)}.melody-v4.app-page .alert-success{background:color-mix(in srgb,var(--success)12%,transparent);border:1px solid color-mix(in srgb,var(--success)30%,transparent);color:var(--success-ink)}.melody-v4.app-page .alert-warning{background:color-mix(in srgb,var(--warning)12%,transparent);border:1px solid color-mix(in srgb,var(--warning)30%,transparent);color:var(--warning-ink)}.melody-v4.app-page .alert-error{background:color-mix(in srgb,var(--danger)12%,transparent);border:1px solid color-mix(in srgb,var(--danger)30%,transparent);color:var(--danger-ink)}.melody-v4.app-page .pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;margin-top:32px;display:flex}.melody-v4.app-page .pagination :is(a,button,.page-gap){min-width:38px;height:38px;color:var(--text-soft);background:var(--surface);border:1px solid var(--line);transition:border-color .15s var(--ease-out),color .15s var(--ease-out);border-radius:10px;justify-content:center;align-items:center;padding:0 10px;font-size:14px;font-weight:600;display:inline-flex}.melody-v4.app-page .pagination .page-gap{color:var(--muted);background:0 0;border-color:#0000}.melody-v4.app-page .pagination :is(a,button):hover:not(:disabled):not(.active){color:var(--text);border-color:var(--line-strong)}.melody-v4.app-page .pagination .active{color:#fff;background:linear-gradient(135deg,var(--primary)0%,var(--primary-2)100%);border-color:#0000}.melody-v4.app-page .pagination :is(a,button):disabled{color:var(--muted);opacity:.5;cursor:not-allowed}.melody-v4.app-page .skeleton{border-radius:var(--radius-sm);background:var(--surface-3);animation:1.4s ease-in-out infinite melody-v4-pulse}.melody-v4.app-page .bars{align-items:flex-end;gap:10px;height:160px;padding-top:8px;display:flex}.melody-v4.app-page .bars .bar{flex:1;align-content:end;justify-items:center;gap:6px;height:100%;display:grid}.melody-v4.app-page .bars .bar i{background:linear-gradient(180deg,var(--secondary),var(--primary));border-radius:8px 8px 4px 4px;width:100%;max-width:42px}.melody-v4.app-page .bars .bar.hot i{background:linear-gradient(180deg,var(--primary-2),var(--accent))}.melody-v4.app-page .bars .bar b{color:var(--muted);font-size:11px;font-weight:600}:is(.melody-v4.app-page,.melody-tokens) .bg-gradient-dreamy{background:linear-gradient(135deg,color-mix(in srgb,var(--accent)16%,transparent)0%,color-mix(in srgb,var(--primary)16%,transparent)50%,color-mix(in srgb,var(--secondary)16%,transparent)100%)}:is(.melody-v4.app-page,.melody-tokens) .bg-gradient-sunset{background:linear-gradient(135deg,color-mix(in srgb,var(--primary)20%,transparent)0%,color-mix(in srgb,var(--accent-2)20%,transparent)100%)}:is(.melody-v4.app-page,.melody-tokens) .bg-gradient-soft{background:linear-gradient(180deg,color-mix(in srgb,var(--secondary)18%,transparent)0%,color-mix(in srgb,var(--primary-2)18%,transparent)100%)}.melody-v4.app-page .divider{background:var(--line);border:none;height:1px;margin:24px 0}.melody-v4 .setting-row{border-bottom:1px solid var(--line);cursor:pointer;align-items:center;gap:16px;padding:14px 0;display:flex}.melody-v4 .setting-row:last-child{border-bottom:0}.melody-v4 .setting-row:not(:has(~.setting-row)){border-bottom:0}.melody-v4 .setting-row-text{flex:auto;min-width:0}.melody-v4 .setting-row-label{color:var(--text);margin:0;font-size:14px;font-weight:600;display:block}.melody-v4 .setting-row-hint{color:var(--muted);margin:4px 0 0;font-size:12px;display:block}.melody-v4 .switch{flex:none;width:42px;height:24px;position:relative}.melody-v4 .switch input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.melody-v4 .switch .track{pointer-events:none;background:var(--surface-3);border:1px solid var(--line);transition:background .18s var(--ease-out);border-radius:999px;position:absolute;inset:0}.melody-v4 .switch .track:after{content:"";background:var(--text);width:18px;height:18px;box-shadow:var(--shadow-soft);transition:transform .18s var(--ease-out);border-radius:999px;position:absolute;top:2px;left:2px}.melody-v4 .switch input:checked+.track{background:var(--primary);border-color:var(--primary)}.melody-v4 .switch input:checked+.track:after{background:#fff;transform:translate(18px)}.melody-v4 .switch input:disabled{cursor:not-allowed}.melody-v4 .switch input:disabled+.track{opacity:.5}.melody-v4 .switch input:focus-visible+.track{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){.melody-v4 .switch .track,.melody-v4 .switch .track:after{transition:none}}.melody-v4.app-page .grid{gap:20px;display:grid}.melody-v4.app-page .grid>*{min-width:0}.melody-v4.app-page .grid-2{grid-template-columns:repeat(2,1fr)}.melody-v4.app-page .grid-3{grid-template-columns:repeat(3,1fr)}.melody-v4.app-page .grid-4{grid-template-columns:repeat(4,1fr)}.melody-v4.app-page .grid-sidebar{grid-template-columns:2fr 1fr}@media (max-width:1023px){.melody-v4.app-page .grid-3,.melody-v4.app-page .grid-4{grid-template-columns:repeat(2,1fr)}.melody-v4.app-page .grid-sidebar{grid-template-columns:1fr}}@media (max-width:639px){.melody-v4.app-page :is(.grid-2,.grid-3,.grid-4){grid-template-columns:1fr}}.melody-v4.app-page .flex{align-items:center;gap:12px;display:flex}@media (max-width:639px){.melody-v4.app-page .flex:not(.col){flex-wrap:wrap}}.melody-v4.app-page .flex.between{justify-content:space-between}.melody-v4.app-page .flex.wrap{flex-wrap:wrap}.melody-v4.app-page .flex.col{flex-direction:column;align-items:stretch}.melody-v4.app-page .flex.start{align-items:flex-start}.melody-v4.app-page .flex.end{justify-content:flex-end}.melody-v4.app-page .grow{flex:1;min-width:0}.melody-v4.app-page .gap-sm{gap:8px}.melody-v4.app-page .gap-lg{gap:24px}.melody-v4.app-page .mt-1{margin-top:8px}.melody-v4.app-page .mt-2{margin-top:16px}.melody-v4.app-page .mt-3{margin-top:24px}.melody-v4.app-page .mt-4{margin-top:32px}.melody-v4.app-page .mb-1{margin-bottom:8px}.melody-v4.app-page .mb-2{margin-bottom:16px}.melody-v4.app-page .mb-3{margin-bottom:24px}.melody-v4.app-page .mb-4{margin-bottom:32px}.melody-v4.app-page .muted{color:var(--muted)}.melody-v4.app-page .small{font-size:13px}.melody-v4.app-page .tiny{color:var(--muted);font-size:12px}.melody-v4.app-page .strong{color:var(--text);font-weight:700}.melody-v4.app-page .center{text-align:center}.melody-v4.app-page .mono{font-family:var(--font-mono)}.melody-v4.app-page .truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.melody-v4.app-page .page>section,.melody-v4.app-page .page>div{min-width:0}.melody-v4.app-page .eq{align-items:flex-end;gap:3px;height:20px;display:inline-flex}.melody-v4.app-page .eq i{background:linear-gradient(180deg,var(--secondary),var(--primary));transform-origin:bottom;border-radius:2px;width:3.5px;height:100%;animation:1.1s ease-in-out infinite eqBounce}.melody-v4.app-page .eq i:nth-child(2){animation-delay:.15s}.melody-v4.app-page .eq i:nth-child(3){animation-delay:.3s}.melody-v4.app-page .eq i:nth-child(4){animation-delay:.45s}.melody-v4.app-page .eq i:nth-child(5){animation-delay:.6s}.melody-v4.app-page .eq.static i{animation:none}.melody-v4.app-page .eq.static i:first-child{height:40%}.melody-v4.app-page .eq.static i:nth-child(2){height:75%}.melody-v4.app-page .eq.static i:nth-child(3){height:55%}.melody-v4.app-page .eq.static i:nth-child(4){height:90%}.melody-v4.app-page .eq.static i:nth-child(5){height:60%}@media (prefers-reduced-motion:reduce){.melody-v4.app-page .eq i:first-child{height:40%}.melody-v4.app-page .eq i:nth-child(2){height:75%}.melody-v4.app-page .eq i:nth-child(3){height:55%}.melody-v4.app-page .eq i:nth-child(4){height:90%}.melody-v4.app-page .eq i:nth-child(5){height:60%}}.melody-v4.app-page .qa-row{transition:background .15s var(--ease-out);border-radius:12px;padding:10px}.melody-v4.app-page .qa-row:hover{background:var(--surface-3)}.melody-v4.app-page .play-btn{color:#fff;background:linear-gradient(135deg,var(--primary)0%,color-mix(in srgb,var(--primary)55%,var(--accent))100%);width:52px;height:52px;box-shadow:0 10px 30px var(--glow-primary);border-radius:999px;place-items:center;transition:transform .15s;display:grid}.melody-v4.app-page .play-btn:hover{transform:scale(1.06)}.melody-v4.app-page .play-btn .msi{font-size:28px}.melody-v4.app-page .play-btn.sm{width:40px;height:40px}.melody-v4.app-page .play-btn.sm .msi{font-size:22px}.melody-v4.tab-editor-portal{background:var(--bg);padding:20px 24px 32px}.melody-v4.tab-editor-portal .tab-studio--embedded{height:calc(100dvh - var(--nav-h) - 52px);min-height:560px}.melody-v4.tab-editor-portal .tab-studio--embedded.tab-studio--fullscreen{height:100dvh}@media (max-width:767px){.melody-v4.tab-editor-portal{padding:12px 12px calc(76px + env(safe-area-inset-bottom))}.melody-v4.tab-editor-portal .tab-studio--embedded{height:calc(100dvh - var(--nav-h) - 100px)}}.melody-v4 select option,.melody-v4 select optgroup,.melody-tokens select option,.melody-tokens select optgroup{color:var(--text);background:var(--surface-solid)}@supports (appearance:base-select){.melody-v4 select,.melody-v4.app-page .select,.melody-tokens select{appearance:base-select}.melody-v4 select::picker(select){appearance:base-select}.melody-tokens select::picker(select){appearance:base-select}.melody-v4.app-page .select{background-image:none;padding-right:16px}.melody-v4 select::picker-icon{color:var(--muted);transition:transform .2s}.melody-tokens select::picker-icon{color:var(--muted);transition:transform .2s}.melody-v4 select:open::picker-icon{transform:rotate(180deg)}.melody-tokens select:open::picker-icon{transform:rotate(180deg)}.melody-v4 select::picker(select){border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid);box-shadow:var(--shadow);padding:6px}.melody-tokens select::picker(select){border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-solid);box-shadow:var(--shadow);padding:6px}.melody-v4 select option,.melody-tokens select option{color:var(--text);cursor:pointer;background:0 0;border-radius:12px;padding:10px 12px;font-size:14px}.melody-v4 select option:hover,.melody-v4 select option:focus,.melody-tokens select option:hover,.melody-tokens select option:focus{color:var(--text);background:var(--surface-2);outline:none}.melody-v4 select option:checked,.melody-tokens select option:checked{color:var(--primary);background:color-mix(in srgb,var(--primary)12%,transparent);font-weight:700}.melody-v4 select option::checkmark{color:var(--primary)}.melody-tokens select option::checkmark{color:var(--primary)}}.melody-v4.app-page .tl-usage{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.melody-v4.app-page .tl-usage-head{color:var(--text-soft);margin:0 0 6px;font-size:12px;font-weight:610}.melody-v4.app-page .tl-usage-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.melody-v4.app-page .tl-usage-item{align-items:baseline;gap:8px;min-width:0;display:flex}.melody-v4.app-page .tl-usage-lesson{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.melody-v4.app-page .tl-usage-deleted{color:var(--warning-ink);background:color-mix(in srgb,var(--warning)16%,transparent);border-radius:999px;flex:none;padding:1px 7px;font-size:10.5px;font-weight:700}.melody-v4.app-page .tl-usage--none{border-top:1px solid var(--line);color:var(--text-soft);margin-top:12px;padding-top:10px;font-size:12.5px;font-style:italic}.melody-v4.app-page .tl-field{margin-bottom:10px;display:block}.melody-v4.app-page .tl-field-label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:610;display:block}.melody-v4.app-page .tl-error{color:var(--danger-ink)}.melody-tokens .tl-usage-list{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.melody-tokens .tl-usage-item{align-items:baseline;gap:8px;min-width:0;display:flex}.melody-tokens .tl-usage-lesson{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;overflow:hidden}.melody-tokens .tl-field{margin-bottom:10px;display:block}.melody-tokens .tl-field-label{color:var(--text);margin-bottom:6px;font-size:13px;font-weight:610;display:block}.melody-tokens .tl-error{color:var(--danger-ink)}.melody-v4 .tl-sources{margin-bottom:14px}.melody-v4 .tl-check{border:1px solid var(--line);min-height:36px;color:var(--text-soft);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:13px;font-weight:610;transition:color .15s,border-color .15s,background .15s;display:inline-flex}.melody-v4 .tl-check:hover{color:var(--text);border-color:var(--line-strong)}.melody-v4 .tl-check input{width:16px;height:16px;accent-color:var(--primary);margin:0}.melody-v4 .tl-check:has(input:checked){color:var(--primary-ink);border-color:color-mix(in srgb,var(--primary)55%,var(--line));background:color-mix(in srgb,var(--primary)10%,var(--surface))}.melody-v4 .tl-check:has(input:focus-visible){outline:2px solid var(--primary);outline-offset:2px}.melody-tokens .tl-field .input{border:1px solid var(--line-strong);width:100%;min-height:44px;color:var(--text);background:var(--surface-2);font:inherit;border-radius:12px;padding:0 14px}.melody-tokens .tl-field .input:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.melody-tokens .md-modal-description+.tl-field{margin-top:14px}.melody-tokens .tl-share-row{align-items:center;gap:8px;display:flex}.melody-tokens .tl-share-row .input{flex:1;width:auto;min-width:0}.melody-tokens .tl-share-list{flex-direction:column;gap:6px;margin:8px 0 0;padding:0;list-style:none;display:flex}.melody-tokens .tl-share-item{border:1px solid var(--line);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.melody-tokens .tl-share-who{flex-direction:column;min-width:0;display:flex}.melody-tokens .tl-share-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:610;overflow:hidden}.melody-tokens .tl-share-mail{color:var(--text-soft);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}:is(.melody-v4,.melody-tokens) .rich-text-renderer blockquote{border-left:4px solid color-mix(in srgb,var(--primary)55%,transparent);background:color-mix(in srgb,var(--primary)9%,var(--surface-3));color:var(--text-soft);border-radius:0 .375rem .375rem 0}:is(.melody-v4,.melody-tokens) .rich-text-renderer pre{border:1px solid var(--line);background:var(--surface-3);color:var(--text-soft);font-family:var(--font-mono)}:is(.melody-v4,.melody-tokens) .rich-text-renderer code{background:color-mix(in srgb,var(--primary)13%,var(--surface-3));color:var(--text);font-family:var(--font-mono)}:is(.melody-v4,.melody-tokens) .rich-text-renderer pre code{color:inherit;background:0 0}@media (forced-colors:active){.melody-v4.portal-chrome .mt-bar-slot.is-active{outline-offset:-2px;text-underline-offset:3px;outline:2px solid highlight;text-decoration:underline}.melody-v4.portal-chrome .mt-sheet-row{border:1px solid canvastext}.melody-v4.portal-chrome .mt-sheet-row.is-active{outline-offset:-2px;outline:2px solid highlight}.melody-v4.portal-chrome .mt-sheet-row:focus-visible{outline:3px solid highlight}.melody-v4.portal-chrome .mt-tools-sheet{border-top:1px solid canvastext}.as-card .as-seg button[aria-checked=true]{outline:2px solid highlight}.as-card .as-level-tick,.as-card .as-level-marker,.as-chip-dot{forced-color-adjust:none;border-color:canvastext}.as-chip-dot.is-ready{background:canvastext}}
