@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=JetBrains+Mono:wght@400;500;700&display=swap");:root{color-scheme:light;--primitive-purple-50:#F5F3FF;--primitive-purple-100:#EAE8FF;--primitive-purple-200:#D4D0FF;--primitive-purple-400:#9C96FF;--primitive-purple-600:#6C63FF;--primitive-purple-700:#5A52E0;--primitive-purple-900:#2D2880;--primitive-navy-950:#13131f;--primitive-navy-900:#1A1A2E;--primitive-navy-850:#232338;--primitive-navy-800:#16213E;--primitive-navy-700:#0F3460;--primitive-amber-100:#FEF3DC;--primitive-amber-400:#F5A623;--primitive-amber-600:#D4891A;--primitive-green-100:#E6F7F1;--primitive-green-400:#4AB87E;--primitive-green-500:#2D9E6B;--primitive-green-700:#1A6B48;--primitive-band-cobalt:#3A7BF2;--primitive-band-crimson:#E14A8A;--primitive-red-100:#FEE8E8;--primitive-red-500:#E53E3E;--primitive-red-700:#C0392B;--primitive-blue-100:#DBEAFE;--primitive-blue-500:#3B82F6;--primitive-blue-700:#1D4ED8;--primitive-gray-50:#F9FAFB;--primitive-gray-100:#F3F4F6;--primitive-gray-200:#E5E7EB;--primitive-gray-300:#D1D5DB;--primitive-gray-400:#9CA3AF;--primitive-gray-500:#6B7280;--primitive-gray-700:#374151;--primitive-gray-900:#111827;--primitive-white:#FFFFFF;--primitive-black:#000000;--primitive-on-dark-95:rgba(255,255,255,0.95);--primitive-on-dark-66:rgba(255,255,255,0.66);--primitive-on-dark-42:rgba(255,255,255,0.42);--primitive-on-dark-22:rgba(255,255,255,0.22);--primitive-on-dark-10:rgba(255,255,255,0.10);--primitive-on-dark-06:rgba(255,255,255,0.06);--primitive-on-dark-045:rgba(255,255,255,0.045);--primitive-on-dark-035:rgba(255,255,255,0.035);--primitive-wood-maple-hi:#F0CE8E;--primitive-wood-maple-mid:#E0B25E;--primitive-wood-maple-lo:#C89440;--primitive-wood-maple-grain:#A9772E;--primitive-wood-maple-inlay:#6A4E28;--primitive-wood-rosewood-hi:#7A4E37;--primitive-wood-rosewood:#5E3625;--primitive-wood-rosewood-edge:#3E2216;--primitive-wood-rosewood-grain:#2A150C;--primitive-wood-rosewood-inlay:#EBDDC2;--primitive-wood-ebony-hi:#3C3830;--primitive-wood-ebony:#26241F;--primitive-wood-ebony-edge:#121110;--primitive-wood-ebony-grain:#0A0908;--primitive-wood-ebony-inlay:#F6EED2;--primitive-wood-ebony-binding:#D8C07A;--primitive-gold-400:#E2BC5E;--primitive-hw-nickel-hi:#F4F6FA;--primitive-hw-nickel-mid:#C3C9D2;--primitive-hw-nickel-lo:#868D9B;--primitive-string-gold:#E7D8A6;--primitive-nut-bone:#E7DDCA;--primitive-nut-bone-hi:#FBF7EE;--primitive-nut-bone-lo:#C9BDA2;--primitive-wood-flame-hi:#F1B84F;--primitive-wood-flame-mid:#C76A24;--primitive-wood-flame-lo:#7C2D12;--primitive-wood-flame-grain:#5A1E0C;--primitive-wood-flame-inlay:#FFF4D6;--primitive-wood-flame-binding:#F3E4BF;--primitive-burst-shadow:#2A0D04;--primitive-hw-gold-hi:#FFE9A8;--primitive-hw-gold-mid:#E0B552;--primitive-hw-gold-lo:#A97E26;--primitive-fret-silver-hi:#F7FAFE;--primitive-fret-silver-mid:#D4DAE4;--primitive-fret-silver-lo:#9AA2B2;--primitive-string-steel:#E2E6ED;--primitive-neon-board-hi:#241348;--primitive-neon-board-mid:#1A0F38;--primitive-neon-board-lo:#0E0722;--primitive-neon-grain:#3A1F6E;--primitive-neon-fret-hi:#FF6FE0;--primitive-neon-fret-mid:#FF4FD8;--primitive-neon-fret-lo:#C93CB0;--primitive-neon-string:#7CF0FF;--primitive-neon-inlay:#66F0FF;--primitive-hw-chrome-pink-hi:#FF9AEA;--primitive-hw-chrome-pink-mid:#D24FD8;--primitive-hw-chrome-pink-lo:#7A2FB0;--primitive-holo-board-hi:#BFA6FF;--primitive-holo-board-mid:#8FE8FF;--primitive-holo-board-lo:#FFB6E9;--primitive-holo-fret-hi:#FFFFFF;--primitive-holo-fret-mid:#DCE9FF;--primitive-holo-fret-lo:#A9C3FF;--primitive-holo-string:#EAF6FF;--primitive-holo-iris-1:#9B7BFF;--primitive-holo-iris-2:#67E8FF;--primitive-holo-iris-3:#FF9FE6;--primitive-holo-iris-4:#8AFFC6;--color-brand-primary:var(--primitive-purple-600);--color-brand-primary-hover:var(--primitive-purple-700);--color-brand-primary-subtle:var(--primitive-purple-100);--color-brand-secondary:var(--primitive-navy-900);--color-on-brand-primary:var(--primitive-white);--color-action-primary:var(--primitive-amber-400);--color-action-primary-hover:var(--primitive-amber-600);--color-action-subtle:var(--primitive-amber-100);--color-on-action-primary:var(--primitive-gray-900);--color-action:var(--color-action-primary);--color-action-hover:var(--color-action-primary-hover);--color-on-action:var(--primitive-navy-900);--color-nav-active:var(--primitive-purple-600);--color-nav-active-bg:var(--color-brand-tint);--color-nav-active-border:var(--color-brand-tint-border);--color-nav-inactive:var(--primitive-gray-400);--color-success:var(--primitive-green-500);--color-success-subtle:var(--primitive-green-100);--color-warning:var(--primitive-amber-400);--color-warning-subtle:var(--primitive-amber-100);--color-error:var(--primitive-red-500);--color-error-subtle:var(--primitive-red-100);--color-text-primary:var(--primitive-gray-900);--color-text-secondary:var(--primitive-gray-700);--color-text-muted:var(--primitive-gray-500);--color-text-faint:var(--primitive-gray-400);--color-text-inverse:var(--primitive-white);--color-text-brand:var(--primitive-purple-600);--color-surface-base:var(--primitive-white);--color-surface-subtle:var(--primitive-gray-50);--color-surface-muted:var(--primitive-gray-100);--color-surface-hover:rgba(0,0,0,0.04);--color-surface-deep:var(--primitive-navy-950);--color-surface-elevated:var(--primitive-white);--color-surface-inverse:var(--primitive-navy-900);--color-surface-brand:var(--primitive-purple-100);--color-overlay-scrim:rgba(10,10,22,0.6);--color-border-default:var(--primitive-gray-300);--color-border-subtle:var(--primitive-gray-100);--color-border-brand:var(--primitive-purple-600);--color-border-strong:var(--primitive-gray-700);--color-brand-tint:rgba(108,99,255,0.12);--color-brand-tint-strong:rgba(108,99,255,0.18);--color-brand-tint-border:rgba(108,99,255,0.30);--color-success-tint:rgba(45,158,107,0.12);--color-success-tint-border:rgba(45,158,107,0.24);--color-warning-tint:rgba(245,166,35,0.10);--color-warning-tint-border:rgba(245,166,35,0.18);--color-error-tint:rgba(229,62,62,0.08);--color-error-tint-border:rgba(229,62,62,0.22);--color-harmonic-tonic:var(--primitive-green-500);--color-harmonic-tonic-bg:var(--primitive-green-100);--color-harmonic-subdominant:var(--primitive-purple-600);--color-harmonic-subdominant-bg:var(--primitive-purple-100);--color-harmonic-dominant:var(--primitive-amber-400);--color-harmonic-dominant-bg:var(--primitive-amber-100);--color-note-root:var(--primitive-amber-400);--color-note-scale:var(--primitive-purple-600);--color-on-note-root:var(--primitive-navy-900);--color-on-note-scale:var(--primitive-white);--color-scale-note-text:#7A5200;--color-trail-revisit:var(--primitive-purple-400);--color-band-preset-violeta:var(--primitive-purple-600);--color-band-preset-cobalto:var(--primitive-band-cobalt);--color-band-preset-carmim:var(--primitive-band-crimson);--color-harmonic-tonic-badge-text:var(--primitive-green-700);--color-harmonic-subdominant-badge-text:var(--primitive-purple-700);--color-harmonic-dominant-badge-text:var(--primitive-gray-900);--tab-string-1:var(--primitive-amber-400);--tab-string-2:var(--primitive-green-400);--tab-string-3:var(--primitive-blue-500);--tab-string-4:var(--primitive-purple-400);--tab-string-5:var(--primitive-red-500);--tab-string-6:var(--primitive-gray-400);--font-family-sans:"Inter",system-ui,-apple-system,sans-serif;--font-family-mono:"JetBrains Mono","Fira Code",monospace;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--text-size-caption:var(--font-size-xs);--text-size-label:var(--font-size-sm);--text-size-body:var(--font-size-base);--text-size-body-lg:var(--font-size-lg);--text-size-subtitle:var(--font-size-xl);--text-size-title-sm:var(--font-size-2xl);--text-size-title-md:var(--font-size-3xl);--text-size-title-lg:var(--font-size-4xl);--text-size-hero:var(--font-size-5xl);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--spacing-0:0;--spacing-px:1px;--spacing-0-5:0.125rem;--spacing-1:0.25rem;--spacing-2:0.5rem;--spacing-3:0.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--space-component-xs:var(--spacing-2);--space-component-sm:var(--spacing-3);--space-component-md:var(--spacing-4);--space-component-lg:var(--spacing-6);--space-component-xl:var(--spacing-8);--space-gap-xs:var(--spacing-2);--space-gap-sm:var(--spacing-3);--space-gap-md:var(--spacing-4);--space-gap-lg:var(--spacing-6);--space-gap-xl:var(--spacing-8);--space-section-y:var(--spacing-16);--space-page-x:var(--spacing-6);--space-page-x-lg:var(--spacing-12);--space-results-x:var(--space-page-x);--space-dock-h:4.5rem;--radius-none:0;--radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--radius-button:var(--radius-md);--radius-card:var(--radius-lg);--radius-input:var(--radius-md);--radius-badge:var(--radius-full);--radius-note:var(--radius-full);--border-width-thin:1px;--border-width-default:1px;--border-width-thick:2px;--border-width-heavy:4px;--shadow-none:none;--shadow-sm:0 1px 2px 0 rgb(0 0 0/0.05);--shadow-md:0 4px 6px -1px rgb(0 0 0/0.1),0 2px 4px -2px rgb(0 0 0/0.1);--shadow-lg:0 10px 15px -3px rgb(0 0 0/0.1),0 4px 6px -4px rgb(0 0 0/0.1);--shadow-xl:0 20px 25px -5px rgb(0 0 0/0.1),0 8px 10px -6px rgb(0 0 0/0.1);--shadow-bottom-bar:0 -4px 24px rgb(0 0 0/0.18);--shadow-card:var(--shadow-md);--shadow-card-hover:var(--shadow-lg);--shadow-dropdown:var(--shadow-lg);--shadow-modal:var(--shadow-xl);--shadow-note-active:0 0 0 3px var(--color-brand-primary);--duration-instant:50ms;--duration-fast:150ms;--duration-normal:250ms;--duration-slow:400ms;--duration-lazy:700ms;--ease-default:cubic-bezier(0.4,0,0.2,1);--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--transition-button:color var(--duration-fast) var(--ease-default),background-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);--transition-card:transform var(--duration-normal) var(--ease-out),box-shadow var(--duration-normal) var(--ease-out);--transition-note:transform var(--duration-fast) var(--ease-spring);--bp-sm:640px;--bp-md:768px;--bp-lg:1024px;--bp-xl:1280px;--bp-2xl:1536px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-content:80rem;--container-wide:96rem;--container-prose:72ch;--z-base:0;--z-raised:10;--z-dropdown:100;--z-sticky:200;--z-overlay:300;--z-modal:400;--z-toast:500;--fretboard-string-color:var(--primitive-gray-500);--fretboard-string-width:1.5px;--fretboard-fret-color:var(--primitive-gray-300);--fretboard-fret-width:1px;--fretboard-nut-width:4px;--fretboard-nut-color:var(--primitive-gray-900);--fretboard-bg:var(--primitive-navy-900);--fretboard-note-size:1.75rem;--fretboard-note-root-size:2rem;--chord-card-min-width:5rem;--chord-card-radius:var(--radius-lg);--chord-tonic-border:var(--border-width-heavy) solid var(--color-harmonic-tonic);--chord-dominant-border:var(--border-width-heavy) solid var(--color-harmonic-dominant);--chord-subdominant-border:var(--border-width-heavy) solid var(--color-harmonic-subdominant);--waveform-color:var(--primitive-purple-400);--waveform-progress-color:var(--primitive-purple-600);--waveform-cursor-color:var(--primitive-amber-400);--waveform-region-color:rgba(108,99,255,0.2);--waveform-region-border:var(--primitive-purple-600);--waveform-height:80px;--playback-speed-active-bg:var(--primitive-purple-600);--playback-speed-active-text:var(--primitive-white);--confidence-high:var(--primitive-green-500);--confidence-medium:var(--primitive-amber-400);--confidence-low:var(--primitive-red-500);--chord-diagram-string-color:var(--primitive-gray-400);--chord-diagram-fret-color:var(--primitive-gray-300);--chord-diagram-nut-color:var(--primitive-gray-900);--chord-diagram-finger-bg:var(--primitive-navy-900);--chord-diagram-finger-color:var(--primitive-white);--chord-diagram-barre-color:var(--primitive-navy-700);--skin-board:var(--primitive-navy-850);--skin-board-edge:var(--primitive-on-dark-22);--skin-fret:var(--primitive-gray-300);--skin-inlay:var(--primitive-on-dark-42);--fretboard-neck-nut:var(--primitive-nut-bone);--fretboard-neck-wood:var(--skin-board);--fretboard-neck-edge:var(--skin-board-edge);--guitar-body:#1A1A2E;--guitar-nut:#EAE8FF;--guitar-fret-wire:rgba(255,255,255,0.32);--guitar-fret-separator:rgba(255,255,255,0.08);--guitar-fret-counter:rgba(255,255,255,0.55);--guitar-string-treble:rgba(255,255,255,0.96);--guitar-string-bass:rgba(255,255,255,0.55);--guitar-fret-marker:rgba(245,166,35,0.55);--guitar-finger:var(--primitive-purple-600);--guitar-finger-text:var(--primitive-white);--guitar-finger-root:var(--primitive-amber-400);--guitar-finger-root-ring:var(--primitive-amber-400);--chord-focus-padding:var(--spacing-4);--chord-focus-gap:var(--spacing-3);--chord-focus-radius:var(--radius-card);--chord-focus-name-size:var(--font-size-3xl);--chord-focus-degree-size:var(--font-size-xs);--chord-focus-notes-size:var(--font-size-xs);--degree-pill-padding-y:var(--spacing-2);--degree-pill-padding-x:var(--spacing-1);--degree-pill-radius:var(--radius-md);--degree-pill-accent-width:3px;--degree-pill-roman-size:var(--font-size-xs);--degree-pill-name-size:var(--font-size-sm);--color-scale-pentatonic:var(--primitive-green-500);--color-scale-pentatonic-bg:var(--primitive-green-100);--color-scale-diatonic:var(--primitive-purple-600);--color-scale-diatonic-bg:var(--primitive-purple-100);--color-difficulty-beginner:var(--primitive-green-500);--color-difficulty-beginner-bg:var(--primitive-green-100);--color-difficulty-intermediate:var(--primitive-blue-500);--color-difficulty-intermediate-bg:var(--primitive-blue-100);--level-badge-beginner-bg:var(--primitive-green-100);--level-badge-beginner-text:var(--primitive-green-700);--level-badge-intermediate-bg:var(--primitive-amber-100);--level-badge-intermediate-text:var(--primitive-amber-600);--level-badge-advanced-bg:var(--primitive-purple-100);--level-badge-advanced-text:var(--primitive-purple-700);--progress-bar-bg:var(--primitive-gray-100);--progress-bar-fill:var(--primitive-purple-600);--session-card-border:var(--primitive-gray-200);--explanation-panel-bg:var(--primitive-navy-900);--explanation-panel-text:var(--primitive-gray-100);--explanation-highlight-text:var(--primitive-amber-400);--explanation-border:var(--primitive-purple-600);--explanation-label-color:var(--primitive-purple-400);--token-meter-bg:var(--primitive-gray-100);--token-meter-fill-low:var(--primitive-green-500);--token-meter-fill-mid:var(--primitive-amber-400);--token-meter-fill-high:var(--primitive-red-500);--chat-bubble-user-bg:var(--primitive-purple-600);--chat-bubble-user-text:var(--primitive-white);--chat-bubble-ai-bg:var(--primitive-gray-100);--chat-bubble-ai-text:var(--primitive-gray-900);--chat-bubble-radius:var(--radius-xl);--chat-input-bg:var(--primitive-white);--chat-input-border:var(--primitive-gray-300);--chat-context-badge-bg:var(--primitive-purple-100);--chat-context-badge-text:var(--primitive-purple-700);--upsell-panel-bg:rgba(245,166,35,0.04);--upsell-panel-border:rgba(245,166,35,0.16);--feature-lock-icon:#B4B9CA;--input-border:rgba(0,0,0,0.12);--eartraining-hint-locked-bg:var(--primitive-gray-100);--eartraining-hint-locked-text:var(--primitive-gray-400);--eartraining-hint-active-bg:var(--primitive-amber-100);--eartraining-hint-active-text:var(--primitive-amber-600);--eartraining-correct-bg:var(--primitive-green-100);--eartraining-correct-text:var(--primitive-green-700);--eartraining-wrong-bg:var(--primitive-red-100);--eartraining-wrong-text:var(--primitive-red-500);--eartraining-direction-icon:var(--primitive-blue-500);--radius-card-compact:0.625rem;--radius-sheet:1rem;--app-sidebar-width:13.75rem;--app-sidebar-width-collapsed:56px;--app-panel-width:18.75rem;--app-mobile-nav-height:64px;--app-mobile-topbar-height:52px;--app-content-x:var(--spacing-8);--app-content-x-mobile:var(--spacing-4)}@media (max-width:767px){:root{--space-page-x:var(--spacing-4);--space-results-x:var(--spacing-4);--space-results-content-top:var(--spacing-6);--text-size-results-key:var(--font-size-xl);--degree-pill-roman-size:0.625rem;--chord-focus-name-size:var(--font-size-4xl)}}@media (min-width:1600px){:root{--container-content:90rem}}@media (min-width:1800px){:root{font-size:18px;--waveform-height:90px;--container-content:80rem}}@media (min-width:2300px){:root{font-size:24px;--waveform-height:120px;--container-content:80rem}}.text-hero{font:var(--font-weight-bold) var(--text-size-hero) /var(--line-height-tight) var(--font-family-sans);letter-spacing:-.02em}.text-page-title{font:var(--font-weight-bold) var(--text-size-title-lg) /var(--line-height-tight) var(--font-family-sans);letter-spacing:-.015em}.text-section-title{font:var(--font-weight-semibold) var(--text-size-title-md) /var(--line-height-snug) var(--font-family-sans)}.text-card-title{font:var(--font-weight-semibold) var(--text-size-subtitle) /var(--line-height-snug) var(--font-family-sans)}.text-body{font:var(--font-weight-normal) var(--text-size-body) /var(--line-height-normal) var(--font-family-sans);color:var(--color-text-primary)}.text-body-emphasis{font:var(--font-weight-semibold) var(--text-size-body) /var(--line-height-normal) var(--font-family-sans)}.text-label{font:var(--font-weight-medium) var(--text-size-label) /var(--line-height-normal) var(--font-family-sans)}.text-caption{font:var(--font-weight-normal) var(--text-size-caption) /var(--line-height-normal) var(--font-family-sans);color:var(--color-text-muted)}.text-note-name{font:var(--font-weight-bold) var(--text-size-label) /var(--line-height-tight) var(--font-family-sans)}.text-chord-name{font:var(--font-weight-bold) var(--text-size-subtitle) /var(--line-height-tight) var(--font-family-sans)}.text-mono{font-family:var(--font-family-mono)}.text-tabular-nums{font-variant-numeric:tabular-nums}@keyframes reveal-card{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.reveal-card{animation:reveal-card .25s ease-out both}@media (prefers-reduced-motion:reduce){.reveal-card{animation:none}}.guitar--dots .finger{width:1.75rem!important;height:1.75rem!important;padding:0!important;background:transparent!important;border-bottom:none!important;box-shadow:none!important;border-radius:50%!important}@keyframes harmonicPulse{0%{transform:scale(.8);background-color:var(--color-harmonic-dominant);opacity:.6}50%{transform:scale(1.1);opacity:1}to{transform:scale(.8);background-color:var(--color-harmonic-tonic);opacity:.6}}.music-loader-pulse{width:var(--spacing-8);height:var(--spacing-8);border-radius:var(--radius-full);flex-shrink:0;animation:harmonicPulse var(--duration-slow) var(--ease-default) infinite}@media (prefers-reduced-motion:reduce){.music-loader-pulse{animation:none;transform:none;opacity:1;background-color:var(--color-harmonic-dominant)}}@keyframes practiceHaloPulse{0%,to{opacity:.15}50%{opacity:.5}}.practice-halo{animation:practiceHaloPulse var(--duration-slow) var(--ease-default) infinite}@media (prefers-reduced-motion:reduce){.practice-halo{animation:none;opacity:.4}}@keyframes trail-node-enter{0%{opacity:0}to{opacity:1}}.trail-node-enter{animation:trail-node-enter var(--duration-slow) var(--ease-out) both;animation-delay:var(--trail-enter-delay,0s)}@keyframes trail-node-pop{0%{transform:translate(-50%,-50%) scale(1)}40%{transform:translate(-50%,-50%) scale(1.3)}to{transform:translate(-50%,-50%) scale(1)}}.trail-node-pop{animation:trail-node-pop var(--duration-lazy) var(--ease-spring) backwards}@media (prefers-reduced-motion:reduce){.trail-node-enter,.trail-node-pop{animation:none}}.practice-pulse-dot{width:var(--spacing-2);height:var(--spacing-2);border-radius:var(--radius-full);flex-shrink:0;background-color:var(--color-harmonic-tonic);animation:harmonicPulse var(--duration-slow) var(--ease-default) infinite}@media (prefers-reduced-motion:reduce){.practice-pulse-dot{animation:none}}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.skeleton-shimmer{position:relative;overflow:hidden;background:var(--color-surface-muted,#E5E7EB)}.skeleton-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55) 50%,transparent);animation:skeleton-shimmer 1.6s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.skeleton-shimmer:after{animation:none;opacity:0}.skeleton-shimmer{opacity:.6}}.analyses-card{transition:border-color .18s ease,box-shadow .18s ease,background-color .18s ease}.analyses-card:hover{border-color:rgba(108,99,255,.35)!important;box-shadow:0 4px 16px rgba(108,99,255,.1);background-color:rgba(108,99,255,.025)}.analyses-card:hover .analyses-card__chevron{color:var(--primitive-purple-200)}@keyframes chord-skeleton-pulse{0%,to{opacity:.4}50%{opacity:1}}.chord-skeleton-pulse{animation:chord-skeleton-pulse 1.4s ease-in-out infinite;background-color:var(--color-surface-hover)}@media (prefers-reduced-motion:reduce){.chord-skeleton-pulse{animation:none;opacity:.6}}.ia-coming-dots{color:var(--color-action);letter-spacing:.02em}.ia-coming-dots>span{display:inline-block;opacity:.18;animation:iaDotWave 1.5s ease-in-out infinite}.ia-coming-dots>span:nth-child(2){animation-delay:.22s}.ia-coming-dots>span:nth-child(3){animation-delay:.44s}@keyframes iaDotWave{0%,62%,to{opacity:.18}28%{opacity:1}}@media (prefers-reduced-motion:reduce){.ia-coming-dots>span{animation:none;opacity:1}}@media (max-width:640px){.ia-waitlist-row{flex-direction:column}.ia-waitlist-row>button{width:100%}}dialog.improvisa-dialog-backdrop::backdrop,dialog.improvisa-dialog::backdrop{background:var(--color-overlay-scrim);backdrop-filter:blur(4px)}dialog.improvisa-dialog{background:var(--color-surface-elevated);box-shadow:var(--shadow-modal);border:1px solid var(--color-border-subtle)}[data-theme=dark] dialog.improvisa-dialog{border-color:var(--color-border-default)}[data-theme=dark] dialog.improvisa-dialog-backdrop::backdrop,[data-theme=dark] dialog.improvisa-dialog::backdrop{background:color-mix(in srgb,var(--color-surface-deep) 80%,transparent)}.improvisa-dialog-panel{background:var(--color-surface-elevated)}.improvisa-bottom-nav{background:var(--color-surface-base);border-top:1px solid var(--color-border-default);box-shadow:0 -4px 12px rgb(0 0 0/.06)}[data-theme=dark] .improvisa-bottom-nav{background:var(--color-surface-deep);border-top-color:var(--color-border-default);box-shadow:0 -4px 16px rgb(0 0 0/.4)}[data-theme=dark]{color-scheme:dark;--color-surface-base:var(--primitive-on-dark-035);--color-surface-subtle:var(--primitive-navy-900);--color-surface-deep:var(--primitive-navy-950);--color-surface-elevated:var(--primitive-navy-850);--color-surface-muted:var(--primitive-on-dark-06);--color-surface-inverse:var(--primitive-gray-50);--color-surface-hover:var(--primitive-on-dark-06);--color-text-primary:var(--primitive-on-dark-95);--color-text-secondary:var(--primitive-on-dark-66);--color-text-muted:var(--primitive-on-dark-42);--color-text-faint:var(--primitive-on-dark-22);--color-nav-inactive:var(--primitive-on-dark-42);--color-text-inverse:var(--primitive-gray-900);--color-border-subtle:var(--primitive-on-dark-045);--color-border-default:var(--primitive-on-dark-10);--color-brand-primary-subtle:var(--color-brand-tint);--color-scale-note-text:var(--color-text-secondary);--color-harmonic-tonic-bg:rgba(45,158,107,0.15);--color-harmonic-subdominant:var(--primitive-purple-400);--color-harmonic-subdominant-bg:rgba(156,150,255,0.15);--color-harmonic-dominant-bg:rgba(245,166,35,0.15);--color-harmonic-tonic-badge-text:var(--primitive-green-400);--color-harmonic-subdominant-badge-text:var(--primitive-purple-400);--color-harmonic-dominant-badge-text:var(--primitive-amber-400);--color-trail-revisit:var(--primitive-purple-400);--color-text-brand:var(--primitive-purple-400);--color-success-subtle:rgba(45,158,107,0.15);--color-warning-subtle:rgba(245,166,35,0.15);--color-error-subtle:rgba(229,62,62,0.15);--color-surface-brand:var(--color-brand-tint);--color-action-subtle:rgba(245,166,35,0.15);--upsell-panel-bg:rgba(245,166,35,0.06);--upsell-panel-border:rgba(245,166,35,0.2);--feature-lock-icon:rgba(255,255,255,0.24);--input-border:rgba(255,255,255,0.1);--chat-bubble-ai-bg:var(--primitive-on-dark-06);--chat-bubble-ai-text:var(--primitive-on-dark-95);--chat-input-bg:var(--primitive-on-dark-06);--chat-input-border:var(--primitive-on-dark-10);--chat-context-badge-bg:var(--color-brand-tint);--chat-context-badge-text:var(--primitive-purple-400);--guitar-finger:var(--primitive-purple-400);--chord-diagram-string-color:var(--guitar-string-treble);--chord-diagram-fret-color:var(--guitar-fret-wire);--chord-diagram-nut-color:var(--guitar-nut);--chord-diagram-finger-bg:var(--primitive-purple-400);--chord-diagram-barre-color:var(--primitive-purple-600);--chord-diagram-barre-bg:rgba(156,150,255,0.15);--chord-diagram-finger-color:var(--guitar-finger-text)}.duration-chips-grid,.scale-type-chips{display:flex;flex-wrap:wrap;gap:var(--space-gap-xs)}@media (max-width:639px){.duration-chips-grid,.scale-type-chips{display:grid;grid-template-columns:repeat(2,max-content)}}.practice-bpm-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;background:transparent;cursor:pointer}.practice-bpm-slider::-webkit-slider-runnable-track{height:4px;background:var(--color-border-subtle);border-radius:2px}.practice-bpm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--color-brand-primary);border-radius:50%;margin-top:-7px}.practice-bpm-slider::-moz-range-track{height:4px;background:var(--color-border-subtle);border-radius:2px}.practice-bpm-slider::-moz-range-thumb{width:18px;height:18px;background:var(--color-brand-primary);border-radius:50%;border:none}@media (max-width:767px){:root,[data-theme=dark],[data-theme]{--font-family-mono:var(--font-family-sans)}}