:root{--scale: 1;--paper: #eceef3;--paper-2: #f5f6f9;--paper-3: #e0e3ea;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #14161c;--ink-soft: #333a47;--muted: #5d6572;--line: #dee2ea;--line-strong: #c0c6d2;--accent: #5a4bdc;--accent-2: #6f61e0;--accent-ink: #4536c4;--accent-tint: color-mix(in srgb, var(--accent) 13%, var(--paper));--on-accent: #ffffff;--on-fill: #ffffff;--glass-blur: 28px;--glass-thin: color-mix(in srgb, var(--card) 58%, transparent);--glass: color-mix(in srgb, var(--card) 72%, transparent);--glass-strong: color-mix(in srgb, var(--card) 90%, transparent);--glass-border: rgba(20, 22, 28, .08);--glass-highlight: rgba(255, 255, 255, .92);--glass-shade: rgba(20, 22, 28, .045);--ok: #3f6b4a;--ok-tint: #e2ede4;--warn: #8a5a1c;--warn-tint: #f6ead6;--danger: #96331f;--danger-tint: #f6e0da;--string-g: #1d4ed8;--string-d: #047857;--string-a: #b91c1c;--string-e: #eab308;--string-g-on: #ffffff;--string-d-on: #ffffff;--string-a-on: #ffffff;--string-e-on: #1c1917;--string-g-ink: #1e40af;--string-d-ink: #065f46;--string-a-ink: #991b1b;--string-e-ink: #a16207;--song-1: #059669;--song-2: #d97706;--song-3: #e11d48;--song-4: #7c3aed;--song-5: #0891b2;--inverse-bg: #1c1f27;--inverse-ink: #f3f5f9;--inverse-line: rgba(243, 245, 249, .18);--staff-line: #2b2f3a;--play-ink: #b45309;--play-tint: color-mix(in srgb, var(--play-ink) 26%, transparent);--played-ink: #15803d;--sharp-ink: #b91c1c;--flat-ink: #b45309;--select-ink: #2563eb;--select-tint: color-mix(in srgb, var(--select-ink) 14%, transparent);--loop-tint: color-mix(in srgb, var(--accent) 12%, var(--card));--r-xs: 8px;--r-sm: 12px;--r-md: 16px;--r-lg: 22px;--r-xl: 28px;--r-full: 999px;--hair: 1px;--hair-strong: 1.5px;--elev-1: 0 1px 2px rgba(28, 26, 23, .06), 0 1px 1px rgba(28, 26, 23, .04);--elev-2: 0 4px 16px rgba(28, 26, 23, .1), 0 1px 3px rgba(28, 26, 23, .06);--elev-3: 0 16px 48px rgba(28, 26, 23, .18), 0 2px 8px rgba(28, 26, 23, .08);--shadow: var(--elev-1);--shadow-lg: var(--elev-2);--font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-serif: "New York", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font: var(--font-sans);--font-display: var(--font-sans);--fs-xs: calc(13px * var(--scale));--fs-sm: calc(15px * var(--scale));--fs-base: calc(17px * var(--scale));--fs-lg: calc(20px * var(--scale));--fs-xl: calc(24px * var(--scale));--fs-2xl: calc(30px * var(--scale));--fs-3xl: calc(38px * var(--scale));--fw-medium: 500;--fw-title: 600;--fw-figure: 700;--tap: max(44px, calc(44px * var(--scale)));--space-1: calc(.25rem * var(--scale));--space-2: calc(.5rem * var(--scale));--space-3: calc(.75rem * var(--scale));--space-4: calc(1rem * var(--scale));--space-5: calc(1.5rem * var(--scale));--space-6: calc(2rem * var(--scale));--measure: 1360px;--measure-wide: 1600px;--safe-t: 0px;--safe-b: 0px;--safe-l: 0px;--safe-r: 0px}[data-theme=dark]{--paper: #0c0d11;--paper-2: #14161c;--paper-3: #1c1f27;--card: #171a21;--paper-ink-soft: #171a21;--ink: #eef0f5;--ink-soft: #c9cedb;--muted: #8d95a6;--line: #262a34;--line-strong: #3d4351;--accent: #9d94ff;--accent-2: #b3abff;--accent-ink: #b3abff;--accent-tint: color-mix(in srgb, var(--accent) 22%, var(--paper));--on-accent: #10121a;--on-fill: #ffffff;--glass-blur: 32px;--glass-border: rgba(255, 255, 255, .09);--glass-highlight: rgba(255, 255, 255, .12);--glass-shade: rgba(0, 0, 0, .24);--ok: #4ade80;--ok-tint: #10281a;--warn: #fbbf24;--warn-tint: #2a2010;--danger: #fb7185;--danger-tint: #2c1219;--string-g: #1d4ed8;--string-d: #047857;--string-a: #b91c1c;--string-e: #eab308;--string-g-on: #ffffff;--string-d-on: #ffffff;--string-a-on: #ffffff;--string-e-on: #1c1917;--string-g-ink: #93c5fd;--string-d-ink: #6ee7b7;--string-a-ink: #fca5a5;--string-e-ink: #fde047;--song-1: #34d399;--song-2: #fbbf24;--song-3: #fb7185;--song-4: #a78bfa;--song-5: #22d3ee;--inverse-bg: #1c1f27;--inverse-ink: #f3f5f9;--inverse-line: rgba(243, 245, 249, .18);--staff-line: #c3c9d6;--play-ink: #fbbf24;--played-ink: #4ade80;--sharp-ink: #f87171;--flat-ink: #fbbf24;--elev-1: 0 1px 2px rgba(0, 0, 0, .45);--elev-2: 0 4px 18px rgba(0, 0, 0, .5), 0 1px 3px rgba(0, 0, 0, .4);--elev-3: 0 18px 52px rgba(0, 0, 0, .6), 0 2px 8px rgba(0, 0, 0, .45);--shadow: var(--elev-1);--shadow-lg: var(--elev-2)}[data-palette=classic]{--font: var(--font-serif);--font-display: var(--font-serif);--paper: #eae7df;--paper-2: #f2efe8;--paper-3: #e0dcd1;--card: #fbf9f5;--paper-ink-soft: #fbf9f5;--ink: #1c1a17;--ink-soft: #3d3a34;--muted: #665f56;--line: #d8d3c7;--line-strong: #bdb6a6;--accent: #6b2f52;--accent-2: #85426a;--accent-ink: #5a2745;--on-accent: #fdfbf8;--staff-line: #33302b;--play-ink: #9a6112;--inverse-bg: #2c2129;--inverse-ink: #f4efe9}[data-palette=classic][data-theme=dark]{--paper: #16151a;--paper-2: #1e1d23;--paper-3: #26242c;--card: #232128;--paper-ink-soft: #232128;--ink: #f2efea;--ink-soft: #d3cec6;--muted: #9a938c;--line: #35323b;--line-strong: #4f4a55;--accent: #e2a5c8;--accent-2: #eebbd8;--accent-ink: #eebbd8;--on-accent: #1c1119;--staff-line: #c8c1b8;--play-ink: #e8bd6b;--inverse-bg: #3a2f38;--inverse-ink: #f4efe9}[data-palette=rosewood]{--font: var(--font-serif);--font-display: var(--font-serif);--paper: #f1eae0;--paper-2: #f8f4ec;--paper-3: #e5dccd;--card: #fffdf8;--paper-ink-soft: #fffdf8;--ink: #241a12;--ink-soft: #4a3a2a;--muted: #6d5c48;--line: #ddd0bd;--line-strong: #c2ad93;--accent: #9a4a1f;--accent-2: #b45c2c;--accent-ink: #7d3a15;--on-accent: #fffdf8;--staff-line: #3a2b1e;--play-ink: #7a5cc4;--inverse-bg: #2a1f17;--inverse-ink: #f5ece1}[data-palette=rosewood][data-theme=dark]{--paper: #150f0b;--paper-2: #1e1611;--paper-3: #2a1f17;--card: #211812;--paper-ink-soft: #211812;--ink: #f5ece1;--ink-soft: #ddcdb9;--muted: #a08a71;--line: #33261c;--line-strong: #4d3b2c;--accent: #e0915c;--accent-2: #edaa7c;--accent-ink: #edaa7c;--on-accent: #150f0b;--staff-line: #d6c6b2;--play-ink: #b9a2ee;--inverse-bg: #2a1f17;--inverse-ink: #f5ece1}[data-palette=nocturne]{--paper: #e8ecf2;--paper-2: #f3f5f9;--paper-3: #dae0e9;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #131923;--ink-soft: #33404f;--muted: #56626f;--line: #d7dde5;--line-strong: #b6c0cc;--accent: #1e3a5f;--accent-2: #2d5285;--accent-ink: #16304f;--on-accent: #ffffff;--staff-line: #202a38;--play-ink: #a2620f;--inverse-bg: #131923;--inverse-ink: #eaf0f8}[data-palette=nocturne][data-theme=dark]{--paper: #080b12;--paper-2: #101620;--paper-3: #182130;--card: #121a26;--paper-ink-soft: #121a26;--ink: #eaf0f8;--ink-soft: #c3cedd;--muted: #8593a5;--line: #1e2836;--line-strong: #35455a;--accent: #c8a45a;--accent-2: #d9b874;--accent-ink: #d9b874;--on-accent: #080b12;--staff-line: #c9d4e2;--play-ink: #6fb6e8;--inverse-bg: #182130;--inverse-ink: #eaf0f8}[data-palette=sage]{--paper: #e8ede6;--paper-2: #f2f6ef;--paper-3: #dae2d5;--card: #fdfefb;--paper-ink-soft: #fdfefb;--ink: #161c17;--ink-soft: #35402f;--muted: #586353;--line: #d7ded1;--line-strong: #b6c0af;--accent: #3f6b4a;--accent-2: #4d7d57;--accent-ink: #33583c;--on-accent: #fdfefb;--staff-line: #202a20;--play-ink: #a8520f;--inverse-bg: #1c241c;--inverse-ink: #ecf2ea}[data-palette=sage][data-theme=dark]{--paper: #0a0e0b;--paper-2: #121812;--paper-3: #1a221a;--card: #141b15;--paper-ink-soft: #141b15;--ink: #ecf2ea;--ink-soft: #cad4c6;--muted: #86927f;--line: #1f281f;--line-strong: #374534;--accent: #8fc79b;--accent-2: #a8d6b2;--accent-ink: #a8d6b2;--on-accent: #0a0e0b;--staff-line: #ccd6c8;--play-ink: #f0a94e;--inverse-bg: #1a221a;--inverse-ink: #ecf2ea}[data-palette=ocean]{--paper: #edf4f8;--paper-2: #f7fbfd;--paper-3: #dce9f1;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #111a20;--ink-soft: #344650;--muted: #536671;--line: #d5e3eb;--line-strong: #b4c9d5;--accent: #0b669e;--accent-2: #157bb7;--accent-ink: #07547f;--on-accent: #ffffff;--staff-line: #24343e;--play-ink: #a85d0b;--inverse-bg: #102432;--inverse-ink: #eef8fd}[data-palette=ocean][data-theme=dark]{--paper: #071016;--paper-2: #0c1a22;--paper-3: #132732;--card: #0e1d26;--paper-ink-soft: #0e1d26;--ink: #eef8fd;--ink-soft: #cadce6;--muted: #8aa0ac;--line: #1d303b;--line-strong: #38505e;--accent: #69c3ff;--accent-2: #8bd1ff;--accent-ink: #8bd1ff;--on-accent: #071016;--staff-line: #c6dce8;--play-ink: #ffc06a;--inverse-bg: #132732;--inverse-ink: #eef8fd}[data-palette=lagoon]{--paper: #ebf5f2;--paper-2: #f5fbf9;--paper-3: #d8eae5;--card: #fdfffe;--paper-ink-soft: #fdfffe;--ink: #101b19;--ink-soft: #324741;--muted: #536a64;--line: #d1e3de;--line-strong: #aec8c1;--accent: #0f6b66;--accent-2: #17837b;--accent-ink: #0b5753;--on-accent: #ffffff;--staff-line: #223631;--play-ink: #a65318;--inverse-bg: #102823;--inverse-ink: #eef9f6}[data-palette=lagoon][data-theme=dark]{--paper: #07110f;--paper-2: #0d1b18;--paper-3: #142722;--card: #0f1e1a;--paper-ink-soft: #0f1e1a;--ink: #edf9f5;--ink-soft: #c8ddd6;--muted: #879e96;--line: #1d302b;--line-strong: #395149;--accent: #73d6cd;--accent-2: #94e3dc;--accent-ink: #94e3dc;--on-accent: #07110f;--staff-line: #c5ddd6;--play-ink: #ffb679;--inverse-bg: #142722;--inverse-ink: #edf9f5}[data-palette=forest]{--paper: #eef3ea;--paper-2: #f7faf4;--paper-3: #dfe8d8;--card: #fefffc;--paper-ink-soft: #fefffc;--ink: #151b12;--ink-soft: #394631;--muted: #5d6a56;--line: #d7e0d0;--line-strong: #b8c5af;--accent: #41652b;--accent-2: #537d39;--accent-ink: #355322;--on-accent: #ffffff;--staff-line: #293424;--play-ink: #9b4f14;--inverse-bg: #1a2815;--inverse-ink: #f1f7ed}[data-palette=forest][data-theme=dark]{--paper: #0a1008;--paper-2: #121a0f;--paper-3: #1b2716;--card: #151e12;--paper-ink-soft: #151e12;--ink: #f0f7eb;--ink-soft: #d0dec7;--muted: #8e9e84;--line: #24301f;--line-strong: #404f38;--accent: #9bcd7a;--accent-2: #b3da99;--accent-ink: #b3da99;--on-accent: #0a1008;--staff-line: #ceddc5;--play-ink: #f3aa64;--inverse-bg: #1b2716;--inverse-ink: #f0f7eb}[data-palette=amber]{--paper: #f6f0e5;--paper-2: #fbf8f1;--paper-3: #eadfcb;--card: #fffdf9;--paper-ink-soft: #fffdf9;--ink: #211a11;--ink-soft: #4b3d2a;--muted: #6d5d47;--line: #e0d4c0;--line-strong: #c6b394;--accent: #9b5c00;--accent-2: #a66308;--accent-ink: #7d4900;--on-accent: #ffffff;--staff-line: #3a3021;--play-ink: #6e56b7;--inverse-bg: #2a2012;--inverse-ink: #fbf3e6}[data-palette=amber][data-theme=dark]{--paper: #151006;--paper-2: #1e170b;--paper-3: #2a2110;--card: #21190d;--paper-ink-soft: #21190d;--ink: #fbf3e6;--ink-soft: #e3d2b6;--muted: #a49275;--line: #342816;--line-strong: #514027;--accent: #ffc266;--accent-2: #ffd18c;--accent-ink: #ffd18c;--on-accent: #251500;--staff-line: #deccb0;--play-ink: #bba8ff;--inverse-bg: #2a2110;--inverse-ink: #fbf3e6}[data-palette=coral]{--paper: #f7efed;--paper-2: #fcf8f7;--paper-3: #ebdcd8;--card: #fffdfc;--paper-ink-soft: #fffdfc;--ink: #211614;--ink-soft: #4d3834;--muted: #705a55;--line: #e3d4d0;--line-strong: #c8afa9;--accent: #a43f37;--accent-2: #bd5147;--accent-ink: #85332d;--on-accent: #ffffff;--staff-line: #3c2b28;--play-ink: #6b5bb0;--inverse-bg: #2d1b18;--inverse-ink: #fbefec}[data-palette=coral][data-theme=dark]{--paper: #160c0a;--paper-2: #201210;--paper-3: #2d1b18;--card: #231512;--paper-ink-soft: #231512;--ink: #fbeeea;--ink-soft: #e2cbc5;--muted: #a38b85;--line: #37221e;--line-strong: #533630;--accent: #ff9d91;--accent-2: #ffb8af;--accent-ink: #ffb8af;--on-accent: #220906;--staff-line: #ddc7c1;--play-ink: #bdaeff;--inverse-bg: #2d1b18;--inverse-ink: #fbeeea}[data-palette=berry]{--paper: #f5eef3;--paper-2: #fbf7fa;--paper-3: #e8dbe4;--card: #fffdfF;--paper-ink-soft: #fffdfF;--ink: #20151d;--ink-soft: #493743;--muted: #6b5864;--line: #dfd1da;--line-strong: #c4acbb;--accent: #8b3c70;--accent-2: #a34d86;--accent-ink: #73305c;--on-accent: #ffffff;--staff-line: #382a33;--play-ink: #9a5b0f;--inverse-bg: #2a1924;--inverse-ink: #faeef6}[data-palette=berry][data-theme=dark]{--paper: #140b11;--paper-2: #1d1119;--paper-3: #291923;--card: #21131c;--paper-ink-soft: #21131c;--ink: #faeef6;--ink-soft: #dfcad8;--muted: #a08a99;--line: #33202b;--line-strong: #4f3445;--accent: #eba5d0;--accent-2: #f2bddc;--accent-ink: #f2bddc;--on-accent: #1b0a14;--staff-line: #dbc6d4;--play-ink: #efb564;--inverse-bg: #291923;--inverse-ink: #faeef6}[data-palette=graphite]{--paper: #f0f1f3;--paper-2: #f7f8f9;--paper-3: #e0e2e6;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #16181c;--ink-soft: #3b4048;--muted: #59616c;--line: #d8dbe0;--line-strong: #b9bec7;--accent: #4b5563;--accent-2: #606b7a;--accent-ink: #374151;--on-accent: #ffffff;--staff-line: #292d33;--play-ink: #97580b;--inverse-bg: #20242a;--inverse-ink: #f4f5f7}[data-palette=graphite][data-theme=dark]{--paper: #0d0f12;--paper-2: #15181d;--paper-3: #20242a;--card: #191c21;--paper-ink-soft: #191c21;--ink: #f3f4f6;--ink-soft: #d1d5db;--muted: #9198a3;--line: #292e35;--line-strong: #444b55;--accent: #c3c8d0;--accent-2: #d7dbe1;--accent-ink: #d7dbe1;--on-accent: #121417;--staff-line: #ccd1d8;--play-ink: #f2b65f;--inverse-bg: #20242a;--inverse-ink: #f3f4f6}:root[data-theme=contrast]{--paper: #ffffff;--paper-2: #ffffff;--paper-3: #f0f0f0;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #000000;--ink-soft: #000000;--muted: #2e2e2e;--line: #000000;--line-strong: #000000;--accent: #57104a;--accent-2: #6d1a5e;--accent-ink: #57104a;--on-accent: #ffffff;--on-fill: #ffffff;--glass-blur: 0px;--glass-thin: #ffffff;--glass: #ffffff;--glass-strong: #ffffff;--accent-tint: #f2e6ef;--glass-border: #000000;--glass-highlight: transparent;--glass-shade: transparent;--ok: #14531f;--ok-tint: #e4f0e6;--warn: #6b3e00;--warn-tint: #f7ecd9;--danger: #8a1200;--danger-tint: #f8e2dd;--string-g: #10307f;--string-d: #04402f;--string-a: #7a1010;--string-e: #5c3a04;--string-g-on: #ffffff;--string-d-on: #ffffff;--string-a-on: #ffffff;--string-e-on: #ffffff;--string-g-ink: #10307f;--string-d-ink: #04402f;--string-a-ink: #7a1010;--string-e-ink: #5c3a04;--song-1: #14531f;--song-2: #6b4400;--song-3: #8a1200;--song-4: #2c2170;--song-5: #57104a;--inverse-bg: #000000;--inverse-ink: #ffffff;--inverse-line: rgba(255, 255, 255, .4);--staff-line: #000000;--play-ink: #6b4400;--played-ink: #14531f;--sharp-ink: #7a1010;--flat-ink: #6b3e00;--play-tint: color-mix(in srgb, var(--play-ink) 30%, transparent);--select-tint: color-mix(in srgb, var(--select-ink) 18%, transparent);--loop-tint: #eeddea;--elev-1: 0 0 0 1px #000000;--elev-2: 0 0 0 2px #000000;--elev-3: 0 0 0 3px #000000;--shadow: var(--elev-1);--shadow-lg: var(--elev-2)}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--fw-title);line-height:1.18;letter-spacing:-.01em;margin:0 0 var(--space-3)}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg)}h4,h5,h6{font-size:var(--fs-base)}strong,b{font-weight:var(--fw-figure)}p{margin:0 0 var(--space-3)}a{color:var(--accent-ink)}:focus-visible{outline:2.5px solid var(--accent);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app{display:flex;flex-direction:column;min-height:100%}.btn[aria-pressed=true]{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-ink)}.display--lg{font-size:var(--fs-3xl)}.display--sm{font-size:var(--fs-lg)}.empty__icon,.dropzone__icon{display:inline-flex;line-height:1}.empty__icon svg,.dropzone__icon svg{display:block;width:1em;height:1em}.btn svg,.chip svg,.segmented button svg,.song-card__fav svg{flex:none;width:1.15em;height:1.15em}.btn{appearance:none;font:inherit;font-weight:var(--fw-title);border-radius:var(--r-sm);border:var(--hair) solid var(--line-strong);background:var(--card);color:var(--ink);padding:var(--space-2) var(--space-4);min-height:var(--tap);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);transition:background .12s,border-color .12s,transform .06s;text-decoration:none;line-height:1.25}.btn:hover:not(:disabled){background:var(--paper-3)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--primary{background:var(--accent);border-color:var(--accent-2);color:var(--on-accent)}.btn--primary:hover:not(:disabled){background:var(--accent-2)}.btn--ghost{border-color:transparent;background:transparent}.btn--ghost:hover:not(:disabled){background:var(--paper-3)}.btn--danger{color:var(--danger);border-color:var(--danger);background:var(--card)}.btn--danger:hover:not(:disabled){background:var(--danger-tint)}.btn--big{font-size:var(--fs-base);padding:var(--space-3) var(--space-4);min-height:calc(var(--tap) + 6px)}.btn--sm{min-height:var(--tap);padding:var(--space-1) var(--space-3);font-size:var(--fs-sm)}.btn--icon{padding:.4rem;aspect-ratio:1}.btn__label,.btn--aa__label{display:inline}@media(max-width:480px){.btn__label,.btn--aa__label{display:none}}.text-size-button{white-space:nowrap}.text-size-button__value{color:var(--muted);font-size:var(--fs-xs);font-weight:var(--fw-title);line-height:1;text-transform:capitalize}.text-size-button[aria-pressed=true] .text-size-button__value{color:var(--accent-ink)}.btn--on{background:var(--accent-tint);border-color:var(--accent);color:var(--accent-ink);font-weight:var(--fw-figure)}.btn--on:hover:not(:disabled){background:var(--accent-tint);border-color:var(--accent-2)}.btn-row{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}summary{display:flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) 0;font-weight:var(--fw-title);cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"";width:.5em;height:.5em;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(-45deg);transition:transform .18s ease}details[open]>summary:before{transform:rotate(45deg)}.field{display:flex;flex-direction:column;gap:var(--space-1)}.field__label{font-weight:var(--fw-title);font-size:var(--fs-sm)}.field__hint{font-size:var(--fs-xs);color:var(--muted)}.input,.select,.textarea{font:inherit;color:var(--ink);background:var(--card);border:var(--hair) solid var(--line-strong);border-radius:var(--r-sm);padding:var(--space-2) var(--space-3);min-height:var(--tap);line-height:1.25;width:100%}.textarea{min-height:12rem;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:var(--fs-sm);line-height:1.6}.song-note{min-height:4.5rem;resize:vertical;line-height:1.5;width:100%}.select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-size:.34em .34em;background-position:right calc(var(--space-3) + .34em) top 50%,right var(--space-3) top 50%;background-repeat:no-repeat;padding-right:calc(var(--space-3) * 2 + .68em)}.switch{display:inline-flex;align-items:center;gap:.6rem;min-height:var(--tap);cursor:pointer;font-size:var(--fs-sm);font-weight:var(--fw-title);-webkit-user-select:none;user-select:none}.switch input{position:absolute;opacity:0;width:1px;height:1px}.switch__track{width:calc(52px * var(--scale));height:calc(30px * var(--scale));border-radius:999px;background:var(--paper-3);border:var(--hair) solid var(--line-strong);position:relative;flex:none;transition:background .15s,border-color .15s}.switch__thumb{position:absolute;top:50%;left:calc(4px * var(--scale));transform:translateY(-50%);width:calc(22px * var(--scale));height:calc(22px * var(--scale));border-radius:50%;background:var(--muted);transition:transform .15s,background .15s}.switch input:checked+.switch__track{background:var(--accent-tint);border-color:var(--accent)}.switch input:checked+.switch__track .switch__thumb{transform:translate(calc(22px * var(--scale) - var(--hair) * 2),-50%);background:var(--accent)}.switch input:focus-visible+.switch__track{outline:3px solid var(--accent);outline-offset:2px}.switch:hover .switch__track{border-color:var(--accent)}.slider{display:flex;align-items:center;gap:var(--space-3)}input[type=range]{appearance:none;-webkit-appearance:none;height:var(--tap);background:transparent;accent-color:var(--accent);cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:calc(6px * var(--scale));border-radius:var(--r-full);background:var(--line-strong)}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;box-sizing:border-box;width:calc(22px * var(--scale));height:calc(22px * var(--scale));border-radius:var(--r-full);background:var(--accent);border:var(--hair) solid var(--card);margin-top:calc((6px - 22px) * var(--scale) / 2)}input[type=range]::-moz-range-track{height:calc(6px * var(--scale));border-radius:var(--r-full);background:var(--line-strong)}input[type=range]::-moz-range-thumb{box-sizing:border-box;width:calc(22px * var(--scale));height:calc(22px * var(--scale));border-radius:var(--r-full);background:var(--accent);border:var(--hair) solid var(--card)}.slider input[type=range]{flex:1;min-width:0}.slider__value{flex:none;width:6em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--fw-figure)}.segmented{display:inline-flex;border:var(--hair) solid var(--line-strong);border-radius:var(--r-sm);background:var(--card);flex-wrap:wrap}.segmented button{appearance:none;flex:1 1 auto;font:inherit;font-weight:var(--fw-title);font-size:var(--fs-sm);border:none;background:transparent;color:var(--ink-soft);padding:var(--space-2) var(--space-3);min-height:var(--tap);margin-block:calc(-1 * var(--hair));cursor:pointer;border-right:var(--hair) solid var(--line);white-space:nowrap;transition:background .12s,color .12s,transform .06s}.segmented button:hover:not(:disabled):not([aria-pressed=true]){background:var(--paper-3);color:var(--ink)}.segmented button:active:not(:disabled){transform:translateY(1px)}.segmented button:disabled{opacity:.45;cursor:not-allowed}.segmented button:has(.segmented__sub){white-space:normal}.segmented button:last-child{border-right-color:transparent}.segmented button:first-child{border-start-start-radius:calc(var(--r-sm) - var(--hair));border-end-start-radius:calc(var(--r-sm) - var(--hair))}.segmented button:last-child{border-start-end-radius:calc(var(--r-sm) - var(--hair));border-end-end-radius:calc(var(--r-sm) - var(--hair))}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--on-accent)}.segmented--block{display:flex;width:100%}.segmented--block button{flex:1;padding-inline:var(--space-2)}.segmented__label{display:block}.segmented__sub{display:block;font-size:var(--fs-xs);font-weight:var(--fw-medium);line-height:1.25;opacity:.78}.card{background:var(--card);border:var(--hair) solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);padding:var(--space-4)}.card--inverse{background:var(--inverse-bg);border-color:var(--inverse-line);color:var(--inverse-ink)}.card--inverse .card__title,.card--inverse h2,.card--inverse h3,.card--inverse a{color:inherit}.card--inverse .btn{background:transparent;border-color:var(--inverse-line);color:inherit}.card--inverse .btn:hover:not(:disabled){background:color-mix(in srgb,var(--inverse-ink) 14%,transparent)}.card__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.8rem;flex-wrap:wrap}.card__title{font-size:var(--fs-lg);font-weight:var(--fw-title);margin:0}.stack{display:flex;flex-direction:column;gap:var(--space-4)}.stack>*{margin-block:0}.stack>ul:not([class]),.stack>ol:not([class]){padding-inline-start:var(--space-5)}.stack--sm{gap:var(--space-2)}.row{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap}.spacer{flex:1}.grid{display:grid;gap:var(--space-4)}.grid--3{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr))}.grid--cards{grid-template-columns:repeat(auto-fill,minmax(min(300px,100%),1fr));grid-auto-rows:1fr}.grid--settings{grid-template-columns:repeat(auto-fit,minmax(min(25em,100%),1fr));align-items:start}.note-box{border:var(--hair) solid var(--line);border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent-tint) 62%,var(--card));border-radius:0 var(--r-sm) var(--r-sm) 0;padding:var(--space-3) var(--space-4);font-size:var(--fs-sm);line-height:1.55}.note-box--warn{border-left-color:var(--warn);background:var(--warn-tint)}.note-box--danger{border-left-color:var(--danger);background:var(--danger-tint)}.note-box h4{margin:0 0 .3rem;font-size:var(--fs-base);font-weight:var(--fw-title);line-height:1.3}.note-box ul{margin:.4rem 0 0;padding-left:1.2rem}.note-box li{margin-bottom:.25rem}.tag{display:inline-block;font-size:var(--fs-xs);font-weight:var(--fw-title);padding:.15rem .55rem;border-radius:999px;background:var(--paper-3);color:var(--ink-soft);border:1px solid var(--line);white-space:nowrap}.tag--warn{background:var(--warn-tint);color:var(--warn);border-color:var(--warn)}.tag--ok{background:var(--ok-tint);color:var(--ok);border-color:var(--ok)}.level-dots{display:inline-flex;gap:calc(3px * var(--scale));vertical-align:middle}.level-dots span{width:calc(9px * var(--scale));height:calc(9px * var(--scale));border-radius:50%;background:var(--paper-3);box-shadow:inset 0 0 0 var(--hair-strong) var(--line-strong)}.level-dots span.on{background:var(--accent);box-shadow:none}.pop-stars{display:inline-flex;gap:calc(1px * var(--scale));vertical-align:middle;font-size:calc(11px * var(--scale));line-height:1}.pop-stars span{color:var(--line-strong)}.pop-stars span.on{color:var(--accent)}.method-units{list-style:none;padding-left:0}.build-line{margin:var(--space-4) 0 0;font-size:var(--fs-xs);color:var(--muted);text-align:center}.build-line span{font-family:ui-monospace,monospace;-webkit-user-select:all;user-select:all}.song-card{position:relative;display:flex;flex-direction:column;appearance:none;border:var(--hair) solid var(--glass-border);margin:0;padding:0;font:inherit;color:inherit;text-align:left;border-radius:var(--r-lg);background:var(--glass);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(180%);backdrop-filter:blur(var(--glass-blur)) saturate(180%);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--elev-1);overflow:hidden;transition:transform .16s cubic-bezier(.22,1,.36,1),box-shadow .16s ease}.song-card:has(.song-card__open:hover){transform:translateY(-2px);box-shadow:inset 0 1px 0 var(--glass-highlight),var(--elev-2)}.song-card__open:focus-visible{outline:none}.song-card:has(.song-card__open:focus-visible){transform:translateY(-2px);box-shadow:inset 0 0 0 2.5px var(--accent),var(--elev-2)}.song-card:has(.song-card__open:active){transform:translateY(0) scale(.994)}.song-card__open{appearance:none;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.25rem;padding:var(--space-4);padding-right:calc(var(--tap) + var(--space-1));min-height:var(--tap);border-radius:inherit;flex:1}.song-card__open--full{padding-right:var(--space-4)}.song-card__fav{position:absolute;top:var(--space-2);right:var(--space-2);background:transparent;border:none;cursor:pointer;font-size:var(--fs-lg);line-height:1;display:grid;place-items:center;width:var(--tap);height:var(--tap);border-radius:50%;color:var(--muted);transition:color .12s,background .12s;z-index:1}.song-card__fav:hover{color:var(--accent-ink);background:var(--paper-2)}.song-card__fav[aria-pressed=true]{color:var(--warn)}.song-card__playlist{appearance:none;background:transparent;border:0;font:inherit;color:var(--muted);cursor:pointer;min-height:var(--tap);font-size:var(--fs-sm);text-align:left;padding:0 var(--space-4);border-radius:var(--r-sm);align-self:flex-start}.song-card__playlist:hover{color:var(--accent-ink);background:var(--accent-tint)}.song-card__playlist:focus-visible{outline-offset:-3px}.library-hub{min-width:0}.library-hub .muted{color:var(--muted);font-size:var(--fs-sm)}.library-hub__heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.library-hub__heading .page-head,.library-hub__heading h2,.library-hub__heading p{margin:0}.library-hub__tabs{display:flex;gap:var(--space-1);overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:thin}.library-hub__tabs .chip{flex:none}.library-hub__search{display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,12rem) auto;align-items:end;gap:var(--space-2)}.library-hub__search .field,.library-hub__facets .field{min-width:0}.library-hub__search .input,.library-hub__search .select,.library-hub__facets .select{width:100%;min-width:0}.library-hub__facets{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr));gap:var(--space-3);padding-block:var(--space-3);border-top:var(--hair) solid var(--line)}.library-hub__check{display:flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);min-height:var(--tap)}.library-hub__filter-done{grid-column:1 / -1;display:flex;justify-content:flex-end}.library-hub__status{display:flex;justify-content:space-between;gap:var(--space-2);font-size:var(--fs-xs);color:var(--muted)}.library-hub__status a{flex-shrink:0}.library-hub__error{color:var(--danger)}.library-hub__browse{display:grid;gap:var(--space-2)}.library-hub__browse>strong{font-size:var(--fs-sm);color:var(--muted)}.library-hub__traditions{display:grid;gap:var(--space-2)}.library-hub__traditions h2{margin:0;font-size:var(--fs-lg)}.library-hub__traditions p{margin:var(--space-1) 0;color:var(--muted);font-size:var(--fs-sm)}.library-hub__traditions>.field{max-width:24rem}.library-hub__playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:var(--space-3)}.library-hub__playlist{appearance:none;font:inherit;color:var(--ink);text-align:left;cursor:pointer;display:grid;gap:var(--space-2)}.library-hub__playlist:hover{background:var(--accent-tint)}.library-hub__playlist span{color:var(--muted);font-size:var(--fs-sm)}.library-hub__setlist{padding:0;margin:0;list-style:none}.library-hub__setlist li{display:flex;align-items:center;gap:var(--space-2);padding-block:var(--space-2);border-bottom:var(--hair) solid var(--line)}.library-hub__number{color:var(--muted);width:2ch;text-align:right;flex-shrink:0;font-variant-numeric:tabular-nums}.library-hub__song-link{appearance:none;border:0;background:transparent;color:var(--ink);font:inherit;text-align:left;flex:1;min-width:0;min-height:var(--tap);cursor:pointer;border-radius:var(--r-sm)}.library-hub__song-link:hover{color:var(--accent-ink)}.library-hub__song-link:disabled{color:var(--muted);cursor:default}.library-hub__more{align-self:center}@media(max-width:600px){.library-hub__search{grid-template-columns:minmax(0,1fr) auto}.library-hub__search>.field:first-child{grid-column:1 / -1}.library-hub__facets{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}.library-hub__facets .field{justify-content:flex-end}.library-hub__check{grid-column:1 / -1}.library-hub__browse{min-width:0}.library-hub__browse>.filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--space-1);scrollbar-width:thin}.library-hub__browse .chip{flex-shrink:0;white-space:nowrap}.library-hub__setlist li{flex-wrap:wrap}.library-hub__setlist li>.row{margin-left:auto}.library-hub__status{flex-wrap:wrap}}.song-card__marks{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:auto;padding-top:var(--space-2)}.song-card__flag{font-size:var(--fs-xs);font-weight:var(--fw-title);color:var(--warn);white-space:nowrap}.song-card__flag--exercise{padding:.1em .5em;border-radius:var(--r-xs);background:var(--accent-tint);color:var(--accent-ink)}.song-card__flag--excerpt{color:var(--muted)}.song-card__flag--mine{color:var(--accent-ink)}.song-card__progress{display:block;height:3px;background:var(--paper-3)}.song-card__progress>span{display:block;height:100%;background:var(--song-accent, var(--accent));border-radius:0 3px 3px 0}.song-card__title{font-size:var(--fs-lg);font-weight:var(--fw-title);line-height:1.25}.song-card__sub{font-size:var(--fs-sm);color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.song-card__note{display:block;font-size:var(--fs-xs);color:var(--muted);font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-card__note:before{content:"“"}.song-card__note:after{content:"”"}.song-card__sub:empty{display:none}.path-card__step{font-size:var(--fs-xs);font-weight:var(--fw-figure);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft)}.streak-pill{display:inline-flex;align-items:center;gap:.5rem;border:2px solid var(--accent);border-radius:999px;background:var(--accent-tint);color:var(--accent-ink);padding:var(--space-1) var(--space-3);min-height:var(--tap);font-size:var(--fs-sm);font-weight:var(--fw-figure)}.filters{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center}.library-toolbar.card--toolbar{display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(.85rem,1.5vw,1.15rem);border:var(--hair) solid var(--glass-border);border-radius:var(--r-lg);background:color-mix(in srgb,var(--card) 84%,transparent);box-shadow:var(--elev-1),inset 0 1px 0 var(--glass-highlight)}.library-overview{display:flex;flex-direction:column;gap:clamp(1.5rem,3vw,2.5rem)}.library-shelf{display:flex;flex-direction:column;gap:var(--space-3);min-width:0}.library-shelf__head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-3)}.library-shelf__head h2{margin:0;font-size:var(--fs-xl);letter-spacing:-.02em}.library-shelf__head p{margin:var(--space-1) 0 0;color:var(--muted);font-size:var(--fs-sm)}.library-shelf__all{appearance:none;border:0;background:transparent;color:var(--accent-ink);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-title);white-space:nowrap;min-height:var(--tap);padding:0 var(--space-1);cursor:pointer;border-radius:var(--r-sm)}.library-shelf__all:hover{background:var(--accent-tint)}.library-shelf__grid{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(.7rem,1.4vw,1rem)}@media(min-width:34rem){.library-shelf__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:60rem){.library-shelf__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:106rem){.library-shelf__grid{grid-template-columns:repeat(6,minmax(0,1fr))}}@media(max-width:780px){.library-shelf__head{align-items:flex-start}.library-shelf__head p{max-width:30ch}.library-shelf__grid{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(min(82vw,18rem),1fr);overflow-x:auto;margin-inline:calc(-1 * var(--space-2));padding:0 var(--space-2) var(--space-2);scroll-snap-type:x mandatory;scrollbar-width:thin}.library-shelf__grid .song-card{scroll-snap-align:start}}.chip{appearance:none;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-title);border:var(--hair) solid var(--line-strong);background:var(--card);color:var(--ink-soft);border-radius:999px;padding:var(--space-2) var(--space-3);min-height:var(--tap);cursor:pointer;transition:background .12s,border-color .12s,color .12s,transform .06s}.chip:hover:not(:disabled):not([aria-pressed=true]){background:var(--paper-3);color:var(--ink)}.chip:active:not(:disabled){transform:translateY(1px)}.chip:disabled{opacity:.45;cursor:not-allowed}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent-2);color:var(--on-accent)}.song-hero{--song-accent: var(--accent);display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2) var(--space-3);border-left:5px solid var(--song-accent);padding-left:var(--space-3);margin-bottom:var(--space-3)}.song-hero .display{margin-bottom:var(--space-1)}.song-layout{display:grid;grid-template-columns:minmax(0,1fr) clamp(280px,26vw,360px);gap:1.2rem;align-items:start}@media(max-width:1080px){.song-layout{grid-template-columns:1fr}}.score-surface{background:var(--card);border:var(--hair) solid var(--line);border-radius:var(--r-lg);padding:.6rem .9rem 1rem;overflow-x:auto;box-shadow:var(--shadow)}.now-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-2) var(--space-3)}.now-panel>*{grid-column:1 / -1}.now-panel__name{grid-column:1;grid-row:1;margin:0;font-family:var(--font-display);font-weight:400;font-size:var(--fs-3xl);line-height:1}.now-panel__badge{grid-column:2;grid-row:1;width:calc(58px * var(--scale));height:calc(58px * var(--scale));border-radius:50%;--badge-color: currentColor;border:2px solid var(--badge-color);background:color-mix(in srgb,var(--badge-color) 42%,transparent);color:var(--on-fill, #fff);display:grid;place-items:center;font-size:var(--fs-xl);font-weight:var(--fw-figure);line-height:1}.now-panel__sentence{margin:0;font-size:var(--fs-sm)}.now-panel__actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.now-panel__board{margin-top:var(--space-1)}.now-panel__board svg{display:block;width:100%;height:auto}.now-panel--sounding{box-shadow:0 0 0 3px var(--play-ink)}.pitch__verdict{display:inline-flex;align-items:center;gap:.4rem;border:var(--hair) solid var(--line-strong);border-radius:999px;background:var(--paper-2);color:var(--ink-soft);padding:.2rem .75rem;font-size:var(--fs-xs);font-weight:var(--fw-figure)}.pitch__verdict--ok{border-color:var(--ok);background:var(--ok-tint);color:var(--ok)}.pitch__verdict--warn{border-color:var(--warn);background:var(--warn-tint);color:var(--warn)}.pager{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.pager__nav{display:flex;align-items:center;gap:var(--space-2);font-weight:var(--fw-figure);font-variant-numeric:tabular-nums}.pager__caption{margin-left:auto;text-align:right;font-size:var(--fs-xs);color:var(--muted)}.mode-switch{display:flex;flex-direction:column;gap:var(--space-1)}.mode-switch .segmented{display:flex;width:100%}.mode-switch .segmented button{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.5rem .7rem;text-align:center;line-height:1.25}.mode-switch .segmented button>*+*{font-size:var(--fs-xs);font-weight:var(--fw-medium)}.pitch__easy{display:flex;flex-direction:column;align-items:center;gap:.1rem;line-height:1.3;height:auto;padding-block:var(--space-2)}.pitch__easy small{font-size:var(--fs-xs);font-weight:var(--fw-medium);opacity:.85}.pitch__already{margin:0;font-size:var(--fs-sm);color:var(--muted)}.pitch__octaves{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2)}.pitch__fine{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.pitch__says{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.song-hand__written{color:var(--muted);font-weight:var(--fw-medium)}.learn__step{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-3);border-top:var(--hair) solid var(--line)}.error-page{max-width:40rem;margin-inline:auto}.error-page__detail{font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;word-break:break-word}.fifths__twin{opacity:.6}.shortcut-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--fs-xs);color:var(--muted)}.shortcut-bar .kbd{color:var(--ink)}.pages-strip{display:flex;gap:var(--space-2);overflow-x:auto;padding-bottom:var(--space-1)}.pages-strip__thumb{appearance:none;font:inherit;padding:0;cursor:pointer;flex:none;width:calc(104px * var(--scale));height:calc(140px * var(--scale));border:var(--hair) solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);overflow:hidden}.pages-strip__thumb:hover{border-color:var(--accent)}.pages-strip__thumb img{display:block;width:100%;height:100%;object-fit:cover}.page-viewer{position:fixed;inset:0;z-index:250;background:var(--overlay, rgba(28, 20, 12, .55));display:grid;place-items:safe center;padding:var(--space-3);overflow:auto}.page-viewer__img{display:block;max-width:100%;max-height:100%;border-radius:var(--r-sm);box-shadow:var(--shadow-lg);background:var(--card)}.transport{position:sticky;bottom:0;z-index:30;background:var(--paper-2);border:var(--hair) solid var(--line);border-radius:var(--r-lg);padding:.7rem .9rem;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}.transport__main{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.play-pill{display:inline-flex;align-items:stretch;flex:none;height:calc(var(--tap) + 8px);border-radius:999px;border:2px solid var(--accent-2);background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow);overflow:hidden}.play-pill__zone{appearance:none;font:inherit;border:0;background:none;color:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-width:var(--tap);padding:0 var(--space-2);position:relative}.play-pill__zone--go{min-width:calc(var(--tap) + 14px)}.play-pill__zone+.play-pill__zone:before{content:"";position:absolute;left:0;top:22%;bottom:22%;width:var(--hair);background:var(--on-accent);opacity:.42}.play-pill__zone:hover,.play-pill__zone:active{background:var(--accent-2)}.play-pill__zone svg{width:calc(24px * var(--scale));height:calc(24px * var(--scale))}.play-pill--stop{background:var(--accent)}.play-pill__count{font-size:var(--fs-base);font-weight:var(--fw-figure);font-variant-numeric:tabular-nums;line-height:1}.tempo-readout{font-size:var(--fs-lg);font-weight:var(--fw-figure);font-variant-numeric:tabular-nums;line-height:1.05}.tempo-readout small{font-size:var(--fs-xs);font-weight:var(--fw-title);color:var(--muted);display:block}.count-in{position:fixed;inset:0;display:grid;place-items:center;background:var(--overlay-strong, rgba(20, 15, 10, .72));z-index:100;pointer-events:none}.count-in__num{font-size:min(38vw,320px);font-weight:var(--fw-figure);color:var(--on-fill, #fff);line-height:1}.simple-view{display:flex;flex-direction:column;gap:.9rem}.simple-bar{border:var(--hair) solid var(--line);border-radius:var(--r-sm);background:var(--paper-2);padding:.5rem .6rem .65rem}.simple-bar__label{display:flex;gap:.6rem;align-items:center;margin-bottom:.4rem}.simple-bar__num{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.simple-bar__section{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--accent-ink)}.simple-bar__cards{display:flex;gap:.5rem;flex-wrap:wrap}.note-card{--card-color: var(--ink);appearance:none;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.15rem;background:var(--card);border:2px solid var(--card-color);border-radius:var(--r-sm);padding:.45rem .5rem .55rem;color:var(--ink);position:relative}.note-card:hover{background:var(--paper-3)}.note-card--active{background:var(--play-tint);box-shadow:0 0 0 4px var(--play-ink)}.note-card--rest{border-style:dashed;opacity:.75}.note-card__top{display:flex;gap:.3rem;align-items:center;min-height:1.4em}.note-card__bow{font-size:var(--fs-lg);font-weight:var(--fw-figure);line-height:1}.note-card__string{font-size:var(--fs-xs);font-weight:var(--fw-figure);padding:.05rem .4rem;border-radius:999px}.note-card__name{font-size:calc(var(--fs-xl) * 1.05);font-weight:var(--fw-figure);line-height:1.05}.note-card__finger{width:calc(34px * var(--scale));height:calc(34px * var(--scale));border-radius:50%;border:2px solid;display:grid;place-items:center;font-size:var(--fs-lg);font-weight:var(--fw-figure)}.note-card__len{width:100%;height:6px;background:var(--paper-3);border-radius:3px;overflow:hidden;margin-top:.2rem}.note-card__lenbar{display:block;height:100%;background:var(--card-color)}.note-card__beats{font-size:var(--fs-xs);color:var(--muted)}.note-card__alt{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--card-color);border:2px dashed var(--card-color);border-radius:999px;padding:0 .4rem;opacity:.85}.note-card__rest{font-size:var(--fs-lg);font-weight:var(--fw-figure);color:var(--muted);font-style:italic}.note-card__tie{font-size:var(--fs-xs);color:var(--accent-ink);font-weight:var(--fw-figure)}.simple-view--large .note-card__name{font-size:var(--fs-3xl)}.simple-view--large .note-card__finger{width:calc(46px * var(--scale));height:calc(46px * var(--scale));font-size:var(--fs-xl)}.listen__key{list-style:none;margin:0;padding:0;display:flex;gap:var(--space-3);flex-wrap:wrap;font-size:var(--fs-xs);color:var(--muted)}.listen__key li{display:flex;align-items:center;gap:.35rem}.listen__swatch{width:.7rem;height:.7rem;border-radius:50%;display:inline-block}.listen__swatch--right{background:var(--played-ink)}.listen__swatch--sharp{border:2px solid var(--sharp-ink)}.listen__swatch--flat{border:2px solid var(--flat-ink)}.page-head{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.page-head>*{margin:0}.page-head__lead{font-size:var(--fs-lg);line-height:1.35;color:var(--ink-soft);max-width:46ch}.page-head__body{color:var(--muted);max-width:64ch}.learn strong,.learn b{font-weight:var(--fw-title)}.learn__body>.card>p:not([class]),.learn__body>.card>ul:not([class]),.learn__body>.card>ol:not([class]),.learn__body>.card>h2,.learn__body>.card>h3,.learn__body>.card>h4,.learn__body>.card>details,.learn__body>.card>.note-box{max-width:68ch}.chapters{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.chapter{appearance:none;border:var(--hair) solid transparent;background:none;cursor:pointer;font:inherit;display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--tap);padding:var(--space-2) var(--space-3);border-radius:var(--r-full);color:var(--muted);font-weight:var(--fw-title)}.chapter:hover{color:var(--ink);background:var(--paper-3)}.chapter--on{color:var(--accent-ink);background:var(--accent-tint);border-color:var(--accent)}.chapter__label{white-space:nowrap}.chapter-head{margin-bottom:var(--space-3)}.chapter-head__blurb{margin:0 0 var(--space-2);color:var(--muted);max-width:60ch}.topics{display:flex;flex-wrap:wrap;gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:var(--hair) solid var(--line)}.topics__item{appearance:none;border:0;background:none;cursor:pointer;font:inherit;font-size:var(--fs-base);font-weight:var(--fw-title);color:var(--muted);padding:var(--space-2) var(--space-3);min-height:var(--tap);border-radius:var(--r-sm);white-space:nowrap;position:relative}.topics__item:hover{color:var(--ink);background:var(--paper-3)}.topics__item--on{color:var(--accent-ink);background:var(--accent-tint)}.transport__speeds{display:flex;flex-wrap:wrap;gap:var(--space-1);flex:1 1 auto;min-width:min(16rem,100%)}.transport__speeds .btn{flex:1 1 auto;min-width:3.4em;padding-inline:var(--space-2);font-variant-numeric:tabular-nums}.transport__row2{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding-top:var(--space-2);margin-top:var(--space-2);border-top:var(--hair) solid var(--line)}.transport__right{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;margin-left:auto}.transport__drawer{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-3);margin-top:var(--space-2);border-top:var(--hair) solid var(--line)}.transport__drawerrow{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.transport__sub{display:inline-flex;align-items:center;gap:var(--space-2)}.transport__sublabel{font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.transport__hint{font-size:var(--fs-sm);color:var(--muted)}.transport__toggle{appearance:none;border:0;cursor:pointer;font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-title);display:inline-flex;align-items:center;gap:.4rem;padding:var(--space-2) var(--space-3);min-height:var(--tap);border-radius:999px;background:var(--glass-thin);color:var(--muted);box-shadow:inset 0 1px 0 var(--glass-highlight);transition:background .12s,color .12s;white-space:nowrap}.transport__toggle svg{width:1.15em;height:1.15em;flex:none}.transport__toggle:not(.transport__toggle--on):hover{color:var(--ink)}.transport__toggle--on{background:var(--accent);color:var(--on-accent)}.transport__toggle--on:hover{background:var(--accent-2)}.transport__vol{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--fs-sm);color:var(--muted);white-space:nowrap}.transport__vol .slider{width:clamp(64px,7vw,96px)}.transport__volnum{font-variant-numeric:tabular-nums;min-width:2.2rem}.tuner-modes{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-2);margin-top:var(--space-4)}.tuner-mode{appearance:none;cursor:pointer;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.1rem;padding:var(--space-3);min-height:var(--tap);border-radius:var(--r-md);background:var(--paper-2);border:var(--hair) solid var(--line);transition:transform .14s cubic-bezier(.22,1,.36,1),background .14s ease,border-color .14s ease}.tuner-mode:hover{transform:translateY(-1px)}.tuner-mode:active{transform:none}.tuner-mode--on{background:var(--accent-tint);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.tuner-mode__name{font-weight:var(--fw-title)}.tuner-mode__hint{font-size:var(--fs-xs);color:var(--muted);line-height:1.35}.tuner-freehint{margin:var(--space-4) 0 0;text-align:center;font-size:var(--fs-lg);color:var(--ink-soft)}.ladder{margin-top:var(--space-4)}.ladder__pick{display:flex;gap:var(--space-2);justify-content:center}.ladder__string{appearance:none;border:var(--hair) solid var(--str-ink, var(--ink));cursor:pointer;font:inherit;font-weight:var(--fw-figure);background:var(--card);color:var(--str-ink, var(--ink));width:var(--tap);height:var(--tap);border-radius:50%;transition:background .12s,color .12s}.ladder__string:not(.ladder__string--on):hover{background:var(--paper-3)}.ladder__string--on{background:var(--str);color:var(--str-on)}.tuner-diag{margin-top:var(--space-4);text-align:left}.tuner-diag ul{margin:var(--space-2) 0;padding-left:1.1rem}.ladder__key{display:block;max-width:20rem;margin:var(--space-3) auto 0}.ladder__rungs{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-1)}.rung{display:grid;grid-template-columns:1fr 3.2rem var(--tap);align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);border-radius:var(--r-md);background:var(--paper-2);border:var(--hair) solid var(--line);transition:background .12s,border-color .12s,box-shadow .12s}.rung--live{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.rung--good{background:var(--ok-tint);border-color:var(--ok);box-shadow:inset 0 0 0 1px var(--ok)}.rung__pick{appearance:none;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;padding:0;min-height:var(--tap);display:grid;grid-template-columns:3.2rem 1fr;align-items:center;gap:var(--space-2)}.rung__finger{font-weight:var(--fw-figure);color:var(--muted);font-size:var(--fs-sm)}.rung__note{font-weight:var(--fw-title);font-size:var(--fs-lg)}.rung__read{font-variant-numeric:tabular-nums;color:var(--muted);font-size:var(--fs-sm);text-align:right}.rung__hear{appearance:none;border:0;background:none;cursor:pointer;font:inherit;color:var(--muted);width:var(--tap);height:var(--tap);border-radius:50%;display:grid;place-items:center}.rung__hear svg{width:1.15em;height:1.15em}.rung__hear:hover{color:var(--accent-ink);background:var(--paper-3)}.course{list-style:none;margin:var(--space-3) 0 0;padding:0}.course__row{display:grid;grid-template-columns:2.4rem minmax(0,1fr) auto;align-items:center;gap:var(--space-2);border-top:var(--hair) solid var(--line)}.course__row:first-child{border-top:0}.course__n{font-variant-numeric:tabular-nums;font-weight:var(--fw-figure);color:var(--muted);text-align:right}.course__open{appearance:none;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;display:flex;flex-direction:column;gap:.15rem;padding:var(--space-3) var(--space-2);min-height:var(--tap);border-radius:var(--r-sm)}.course__open:hover{background:var(--paper-3);color:var(--ink)}.course__title{font-weight:var(--fw-title)}.course__meta{font-size:var(--fs-xs);color:var(--muted)}.course__done{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;padding-right:var(--space-2);min-width:9ch}.card.volume{padding-block:var(--space-2)}.volume__head{margin:0;font-size:inherit;font-weight:inherit}.volume__toggle{appearance:none;border:0;background:none;cursor:pointer;font:inherit;color:inherit;text-align:left;width:100%;display:grid;grid-template-columns:1.4rem minmax(0,1fr) auto;align-items:center;gap:var(--space-2);padding:var(--space-2);min-height:var(--tap);border-radius:var(--r-sm)}.volume__toggle:hover{background:var(--paper-3);color:var(--ink)}.volume__caret{color:var(--muted);transition:transform .15s ease;display:inline-block}.volume__caret--open{transform:rotate(90deg)}.volume__names{display:flex;flex-direction:column;gap:.1rem;min-width:0}.volume__title{font-size:var(--fs-lg);font-weight:var(--fw-title)}.volume__sub{font-size:var(--fs-xs);color:var(--muted)}.volume__count{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap}@media(prefers-reduced-motion:reduce){.volume__caret{transition:none}}.song__nav{display:flex;align-items:center;gap:var(--space-1);flex:none}.song__nav .btn[disabled]{opacity:.35;cursor:default}.tuner-dial{display:block;margin:0 auto;max-width:520px;width:100%}.tuner-input{max-width:520px;margin:0 auto}.tuner-input__meter{height:5px;border-radius:999px;background:var(--paper-3);overflow:hidden}.tuner-input__fill{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .1s linear}.tuner-input__hint{margin:var(--space-2) 0 0;text-align:center;font-size:var(--fs-xs);color:var(--muted)}.string-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem}.string-btn{border:2px solid;border-radius:var(--r-sm);background:var(--card);display:flex;flex-direction:column;min-height:calc(var(--tap) + var(--space-6));overflow:hidden}.string-btn__pick{appearance:none;font:inherit;color:inherit;cursor:pointer;border:0;padding:var(--space-3) var(--space-1);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);flex:1}.string-btn__pick{background:var(--pick-bg, none)}.string-btn__pick:hover{background:color-mix(in srgb,var(--ink) 8%,var(--pick-bg, transparent))}.string-btn__hear{appearance:none;font:inherit;cursor:pointer;border:0;border-top:var(--hair) solid var(--line);background:none;display:grid;place-items:center;min-height:var(--tap)}.string-btn__name{font-size:var(--fs-xl);font-weight:var(--fw-figure)}.string-btn__hz{font-size:var(--fs-xs);color:var(--muted)}.board{--stop-w: calc(74px * var(--scale));--stop-h: calc(56px * var(--scale));display:grid;grid-template-columns:5.6em repeat(var(--stops),var(--stop-w));grid-auto-rows:auto;gap:var(--space-2) var(--space-3);align-items:center;overflow-x:auto;overscroll-behavior-x:contain;padding-bottom:var(--space-2);padding-right:calc(var(--stop-w) / 2)}.board__lane{justify-self:center;align-self:stretch;width:calc(var(--stop-w) + var(--space-2));border-radius:var(--r-full);background:var(--paper-3);pointer-events:none}.board__string{height:2px;border-radius:2px;opacity:.55;align-self:center;pointer-events:none;margin-inline:calc(var(--stop-w) / -2)}.board__nut{justify-self:start;align-self:stretch;width:4px;margin-left:calc(var(--space-2) / -2 - 4px);border-radius:2px;background:var(--ink-soft, var(--ink));opacity:.85;pointer-events:none}.board--compact{--stop-w: calc(46px * var(--scale));--stop-h: calc(44px * var(--scale));grid-template-columns:2.6em repeat(var(--stops),var(--stop-w));gap:var(--space-1) var(--space-2);font-size:var(--fs-xs)}.board--compact .board__lane{width:var(--stop-w)}.board--compact .board__nut{width:3px;margin-left:calc(var(--space-2) / -2 - 3px)}.board--compact .stop{border-width:1.5px}.board__ends{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--fs-xs);color:var(--muted);margin-top:var(--space-1)}.board__mm{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--ink-soft, var(--ink));text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap}.board__unit{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--muted);text-align:left}.board__label{font-size:var(--fs-sm);font-weight:var(--fw-figure);text-align:left}.stop{--dot-color: var(--accent);appearance:none;font:inherit;cursor:pointer;width:var(--stop-w);height:var(--stop-h);padding:0;border-radius:999px;border:2px solid var(--dot-color);background:color-mix(in srgb,var(--dot-color) 16%,var(--card));color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;line-height:1.1;overflow:hidden}.stop:hover{background:color-mix(in srgb,var(--dot-color) 30%,var(--card))}.stop__note{font-size:var(--fs-sm);font-weight:var(--fw-figure)}.stop__finger{font-size:var(--fs-xs);font-weight:var(--fw-title);color:var(--muted);white-space:nowrap}.stop--empty{width:var(--stop-w);height:var(--stop-h)}.stop--accidental{border-style:dashed;background:var(--card)}.stop--used{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent)}.stop[aria-pressed=true]{background:var(--accent);border-color:var(--accent-2);border-style:solid;color:var(--on-accent)}.stop[aria-pressed=true] .stop__finger{color:inherit}.keysig-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:var(--space-3)}.keysig-pick{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2);border-radius:var(--r-md);border:var(--hair) solid var(--line);background:var(--paper-2)}.keysig-pick--on{border-color:var(--accent);border-width:2px;background:var(--accent-tint)}.keysig-pick__count{font-size:var(--fs-xs);color:var(--muted);text-align:center}.keysig-pick__names{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:center}.accidental-key{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;gap:var(--space-3)}.accidental-key li{display:flex;align-items:flex-start;gap:var(--space-3);max-width:62ch}.accidental-key svg{flex:none;margin-top:.1em}.fifths{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.fifths__wheel{width:100%;max-width:22rem;height:auto;display:block}.fifths__ring{fill:none;stroke:var(--line);stroke-width:1}.fifths__spoke{stroke:var(--accent);stroke-width:2;opacity:.5}.fifths__seat{cursor:pointer}.fifths__seat circle{fill:var(--card);stroke:var(--line-strong);stroke-width:1.5;transition:fill .12s,stroke .12s}.fifths__seat text{fill:var(--ink);font-weight:var(--fw-title);pointer-events:none}.fifths__seat:hover circle{fill:var(--paper-3)}.fifths__seat:focus-visible circle{stroke:var(--accent);stroke-width:3}.fifths__seat--on circle{fill:var(--accent);stroke:var(--accent-2)}.fifths__seat--on text{fill:var(--on-accent)}.fifths__name{fill:var(--ink);font-weight:var(--fw-title)}.fifths__count{fill:var(--muted)}.fifths__legend{margin:0;max-width:60ch;color:var(--muted);font-size:var(--fs-sm)}.rhythm{margin:var(--space-3) 0;display:grid;gap:var(--space-3);max-width:44rem}.rhythm__row{display:grid;gap:var(--space-1)}.rhythm__bar{display:grid;gap:2px;border-radius:var(--r-xs);overflow:hidden}.rhythm__cell{display:flex;align-items:flex-end;justify-content:center;min-height:3.2rem;padding-bottom:var(--space-1);background:var(--paper-3);color:var(--ink)}.rhythm__label{font-size:var(--fs-sm);font-weight:var(--fw-title)}.rhythm__beats{color:var(--muted);font-weight:400}.rhythm__foot{font-size:var(--fs-sm);color:var(--muted);max-width:60ch;margin:0}.figure{margin:var(--space-3) 0}.figure figcaption{font-size:var(--fs-sm);color:var(--muted);max-width:60ch;margin-top:var(--space-2)}.figure svg{width:100%;height:auto;max-width:30rem;display:block}.vib__note{stroke:var(--accent);stroke-width:2;stroke-dasharray:6 5}.vib__wave{fill:none;stroke:var(--ink);stroke-width:2.5;stroke-linejoin:round}.vib__label{fill:var(--muted)}.vib__label--low{fill:var(--ink-soft, var(--ink))}.interval{margin:var(--space-3) 0;display:grid;gap:var(--space-3)}.interval__pick{display:flex;flex-wrap:wrap;gap:var(--space-1)}.interval__ruler{display:grid;grid-template-columns:repeat(13,minmax(0,1fr));gap:2px;max-width:32rem}.interval__cell{min-height:2.4rem;display:flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:var(--fw-figure);border-radius:var(--r-xs);background:var(--paper-3);color:var(--muted)}.interval__cell--in{background:var(--accent-tint)}.interval__cell--edge{background:var(--accent);color:var(--on-accent)}.interval__says{margin:0;max-width:60ch}.tuner-pick{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-top:var(--space-3)}.tuner-pick .field{margin:0;flex:1 1 14rem}.strokes{list-style:none;margin:var(--space-3) 0;padding:0;display:grid;gap:var(--space-3)}.strokes li{display:flex;align-items:flex-start;gap:var(--space-3);max-width:62ch}.strokes__mark{flex:none;width:2.2rem;text-align:center;font-size:var(--fs-2xl);line-height:1;color:var(--accent-ink)}.strokes__name{display:block;font-weight:var(--fw-title)}.trouble{margin:var(--space-3) 0 0;display:grid;gap:var(--space-4)}.trouble dt{font-weight:var(--fw-title);margin-bottom:var(--space-1)}.trouble dd{margin:0;max-width:66ch}.trouble__cause{color:var(--accent-ink)}.tuning{margin:var(--space-3) 0}.tuning__strings{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2);max-width:30rem}.tuning__string{appearance:none;font:inherit;cursor:pointer;width:100%;min-height:var(--tap);padding:var(--space-2) 0;display:flex;flex-direction:column;align-items:center;gap:.15rem;border-radius:var(--r-md);border:var(--hair) solid var(--line);background:var(--card);color:var(--ink)}.tuning__string:hover{background:var(--paper-2);border-color:var(--str-ink)}.tuning__string--on{background:var(--accent-tint);border-color:var(--accent)}.tuning__name{font-size:var(--fs-lg);font-weight:var(--fw-figure);color:var(--str-ink)}.tuning__wire{display:block}.tuning__pitch{font-size:var(--fs-sm);font-weight:var(--fw-figure)}.tuning__hz{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums}.tuning__hear{display:inline-flex;align-items:center;gap:.25rem;font-size:var(--fs-xs);color:var(--muted)}.tuning__caption{margin:var(--space-3) 0 0;max-width:62ch}.symbol-key{list-style:none;margin:var(--space-3) 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(23rem,100%),1fr));gap:var(--space-4) var(--space-5)}.symbol-key li{display:flex;align-items:flex-start;gap:var(--space-3)}.symbol-key__art{flex:none}.symbol-key__name{display:block;font-weight:var(--fw-figure)}.symbol-key__says{display:block;color:var(--muted);font-size:var(--fs-sm)}.ruler{display:grid;grid-template-columns:repeat(13,minmax(2.3rem,1fr));gap:var(--space-1);align-items:stretch;overflow-x:auto;padding-bottom:var(--space-1);margin-bottom:var(--space-3)}.ruler__cell{appearance:none;font:inherit;cursor:pointer;min-height:var(--tap);padding:.3rem .1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border-radius:var(--r-full);border:var(--hair-strong) solid var(--line-strong);background:var(--card);color:var(--ink);overflow:hidden;transition:background .12s,border-color .12s}.ruler__cell--between{background:transparent;border-style:dashed;color:var(--muted)}.ruler__cell--on{background:var(--accent-tint);border-color:var(--accent);border-style:solid;color:var(--accent-ink)}.ruler__cell--third{box-shadow:0 0 0 2px var(--card),0 0 0 4px var(--accent-2)}.ruler__cell:hover{background:var(--paper-3)}.ruler__cell--on:hover{background:var(--accent-tint);border-color:var(--accent-2)}.ruler__name{font-size:var(--fs-sm);font-weight:var(--fw-figure);white-space:nowrap}.ruler__degree{font-size:var(--fs-xs);color:var(--muted)}.ruler__cell--on .ruler__degree{color:inherit}.ruler__step{align-self:center;text-align:center;font-size:var(--fs-xs);color:var(--muted);border-top:var(--hair) solid var(--line);padding-top:2px;margin-top:2px;white-space:nowrap;overflow:hidden}.ruler__step--half{color:var(--accent-ink);font-weight:var(--fw-figure);border-top-color:var(--accent)}.scale-lab__lead{margin:0 0 var(--space-3);max-width:64ch}.scale-lab__rowlabel{margin:0 0 var(--space-1);font-size:var(--fs-sm)}.scale-lab__controls{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-3)}.scale-lab__roots{display:flex;flex-wrap:wrap;gap:var(--space-1)}.scale-lab__result{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-3);border-radius:var(--r-md);background:var(--paper-2);max-width:64ch}.scale-lab__notes{display:flex;flex-wrap:wrap;gap:var(--space-1);margin:var(--space-3) 0 0}.scale-lab__note{font-size:var(--fs-sm);font-weight:var(--fw-figure);border-radius:var(--r-full);border:var(--hair) solid var(--line);padding:.15em .7em}.scale-lab__note--alt{border-color:var(--accent);background:var(--accent-tint);color:var(--accent-ink)}.board-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3);margin-bottom:var(--space-2)}.board-controls .field{margin:0}.board-controls .select{min-width:15rem}.board-intro{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-4)}.board-intro>:first-child{flex:1 1 20rem;min-width:0}.song-card__length{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--muted);background:var(--paper-3);border-radius:var(--r-xs);padding:.1em .5em;white-space:nowrap;font-variant-numeric:tabular-nums}.board-sig{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1)}.board-sig__hint{font-size:var(--fs-xs);color:var(--muted);text-align:right;max-width:18ch}@media(max-width:700px){.board-sig{align-items:flex-start}.board-sig__hint{text-align:left}}.song-card__scale{font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--accent-ink);background:var(--accent-tint);border-radius:var(--r-xs);padding:.1em .5em;white-space:nowrap}.board-key{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-1) var(--space-2);margin:0 0 var(--space-3);font-size:var(--fs-sm);color:var(--muted)}.board-key__swatch{width:1.6em;height:1em;border-radius:4px;border:2px solid var(--line-strong);background:var(--card)}.board-key__swatch--in{border-style:solid}.board-key__note{flex-basis:100%}.board-key__swatch--out{border-style:dashed;background:var(--paper-2)}.dropzone{border:2px dashed var(--line-strong);border-radius:var(--r-lg);padding:2.2rem 1.2rem;text-align:center;background:var(--paper-2);cursor:pointer;transition:border-color .12s,background .12s}.dropzone--over{border-color:var(--accent);background:var(--accent-tint)}.dropzone__icon{font-size:2.6rem;line-height:1}.import-paste{display:flex;flex-direction:column;gap:var(--space-2)}.import-paste .textarea{min-height:9rem}.table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.table th,.table td{text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line)}.table th{font-weight:var(--fw-figure);background:var(--paper-2);position:sticky;top:0}.table tr:hover td{background:var(--paper-2)}.dialog-backdrop{position:fixed;inset:0;background:var(--overlay, rgba(28, 20, 12, .55));display:grid;place-items:center;z-index:200;padding:1rem}.dialog{background:var(--card);border:var(--hair) solid var(--line-strong);border-radius:var(--r-lg);box-shadow:var(--shadow-lg);max-width:620px;width:100%;max-height:88vh;overflow:auto;padding:1.3rem}.dialog--wide{max-width:1000px}.dialog__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:-9999px;top:0;z-index:999;background:var(--accent);color:var(--on-accent);padding:.7rem 1.1rem;border-radius:0 0 var(--r-sm) 0}.skip-link:focus{left:0}.empty{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty__icon{font-size:3rem;line-height:1;margin-bottom:.5rem}.kbd{font-family:ui-monospace,monospace;font-size:.85em;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:5px;padding:.05em .4em;background:var(--paper-2)}.progress-track{height:10px;background:var(--paper-3);border-radius:5px;overflow:hidden}.progress-bar{height:100%;background:var(--accent);transition:width .1s linear}.string-legend{display:flex;gap:.5rem;flex-wrap:wrap}.string-legend__item{display:inline-flex;align-items:center;gap:.35rem;font-size:var(--fs-xs);font-weight:var(--fw-title);border:2px solid;border-radius:999px;padding:.15rem .6rem}.string-legend__dot{width:12px;height:12px;border-radius:50%}.toast-stack{position:fixed;bottom:1rem;left:50%;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;gap:.5rem;align-items:center;pointer-events:none;width:min(560px,92vw)}.toast{background:var(--ink);color:var(--paper);border-radius:var(--r-sm);padding:.7rem 1.1rem;box-shadow:var(--shadow-lg);font-size:var(--fs-sm);font-weight:var(--fw-title);pointer-events:auto;width:100%}.toast--ok{background:var(--ok);color:var(--on-accent)}.toast--warn{background:var(--warn);color:var(--on-accent)}.toast--danger{background:var(--danger);color:var(--on-accent)}.keysig-row{display:flex;flex-wrap:wrap;gap:var(--space-4) var(--space-3);align-items:flex-end;margin:var(--space-3) 0}.keysig-row__item{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.keysig-row__item figcaption{font-size:var(--fs-sm);color:var(--muted);text-align:center;max-width:22ch}@media(max-width:700px){.transport{padding:.45rem .55rem;gap:.4rem;border-radius:var(--r-md)}.transport__main{column-gap:.5rem;row-gap:.4rem}.transport__toggle .btn__label{display:none}.transport__toggle{min-width:var(--tap);justify-content:center}.play-pill{height:calc(var(--tap) + 4px)}.play-pill__zone{padding-inline:.55rem;font-size:var(--fs-sm)}.play-pill__zone--go{min-width:var(--tap)}.transport__right{width:100%;margin-left:0;gap:var(--space-2)}.transport__speeds{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;min-width:0;gap:.25rem}.transport__speeds::-webkit-scrollbar{display:none}.transport__speeds .btn{flex:0 0 auto;min-width:0;padding-inline:.4rem;font-size:var(--fs-sm)}.transport__bar{font-size:var(--fs-sm);white-space:nowrap}.transport__toggle{padding-inline:.5rem;font-size:var(--fs-sm)}.transport__speeds{order:9;width:100%}.tempo-readout{display:flex;align-items:baseline;gap:.35rem}.tempo-readout>*{font-size:var(--fs-sm)}.transport__drawer{max-height:45dvh;overflow-y:auto;overscroll-behavior:contain}.transport__drawerrow{gap:var(--space-2)}}@media(max-width:720px){.card{padding:var(--space-3)}.transport{padding:.6rem .7rem}}@media print{.transport,.song-side,.no-print{display:none!important}.shell-main{padding:0;max-width:none}.score-surface{border:none;box-shadow:none;padding:0;overflow:visible}body{background:#fff}}.segmented--scroll{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;max-width:100%}.segmented--scroll::-webkit-scrollbar{display:none}.segmented--scroll button{flex:0 0 auto;scroll-snap-align:start}.segmented-wrap{container-type:inline-size}@container (max-width: 25em){.segmented--block:not(.segmented--compact){flex-direction:column;align-items:stretch}.segmented--block:not(.segmented--compact) button{border-right:0;border-bottom:var(--hair) solid var(--line)}.segmented--block:not(.segmented--compact) button:last-child{border-bottom:0}.segmented--block:not(.segmented--compact) button{margin-block:0}.segmented--block:not(.segmented--compact) button{border-radius:var(--r-lg)!important}.segmented--block:not(.segmented--compact){border-radius:calc(var(--r-lg) + 3px)}}.grid--side-main{grid-template-columns:minmax(0,1fr);align-items:start}@media(min-width:60rem){.grid--side-main{grid-template-columns:minmax(17rem,22rem) minmax(0,1fr)}}.method-unit__rest{margin:var(--space-2) 0 0;font-size:var(--fs-sm);color:var(--muted);max-width:62ch}.song-hand{appearance:none;border:0;background:none;cursor:pointer;font:inherit;padding:.8em .3em;margin:-.8em -.3em;font-weight:var(--fw-figure);color:var(--accent-ink);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:from-font}.song-hand:hover{color:var(--ink)}.pin-input{font-variant-numeric:tabular-nums;letter-spacing:.35em}.glass{background:linear-gradient(to bottom,var(--glass-highlight) 0%,transparent 42%) border-box,var(--glass) border-box;-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(190%);backdrop-filter:blur(var(--glass-blur)) saturate(190%);border:1px solid var(--glass-border);box-shadow:var(--elev-2),inset 0 1px 0 var(--glass-highlight),inset 0 -1px 0 var(--glass-shade)}.glass--strong{background:linear-gradient(to bottom,var(--glass-highlight) 0%,transparent 42%) border-box,var(--glass-strong) border-box;box-shadow:var(--elev-3),inset 0 1px 0 var(--glass-highlight)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass,.glass--strong{background:var(--card)}}.app{--shell-frame: 12px;--shell-bar-h: calc(var(--tap) + var(--space-2) + max(var(--space-2), var(--safe-t)) + 1px);--nav-h: calc(var(--tap) + var(--space-1) + max(var(--space-1), var(--safe-b)) + 1px);min-height:100dvh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"bar" "main" "tabs"}.shell-bar{grid-area:bar}.shell-main{grid-area:main;min-width:0}.shell-tabs{grid-area:tabs}.shell-tabs .shell-brand,.shell-tabs .shell-history,.shell-tabs .shell-tools{display:none}.shell-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);padding-top:max(var(--space-2),var(--safe-t));border-width:0 0 1px;border-radius:0}.shell-brand{display:flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-title);color:inherit;text-decoration:none;letter-spacing:-.01em}.shell-brand__mark{width:1.5em;height:1.5em;flex:none}.shell-brand__sub{display:none}.shell-tabs{position:sticky;bottom:0;z-index:40;display:flex;justify-content:safe center;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:none;gap:var(--space-1);padding:var(--space-1) var(--space-2);padding-bottom:max(var(--space-1),var(--safe-b));border-width:1px 0 0;border-radius:0}.shell-tabs::-webkit-scrollbar{display:none}.shell-tab{flex:0 0 auto;min-width:var(--tap);min-height:var(--tap);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--space-1) 2px;border:0;border-radius:var(--r-sm);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-xs);line-height:1.1;cursor:pointer;transition:color .18s ease,background .18s ease}.shell-tab svg{width:1.55em;height:1.55em;flex:none}.shell-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.shell-tab:hover{color:var(--ink)}.shell-tab[aria-current=page]{background:var(--accent-tint);color:var(--accent-ink);font-weight:var(--fw-title);box-shadow:inset 0 0 0 var(--hair) var(--accent)}.shell-main{--main-pad-x: max(var(--space-4), var(--safe-l));--main-pad-y: var(--space-4);--main-pad-b: var(--main-pad-y);padding:var(--main-pad-y) var(--main-pad-x);overflow-x:clip}.shell-main>*{max-width:var(--measure);margin-inline:auto}@media(min-width:900px){.app{--shell-bar-h: 0px;--nav-h: 0px;grid-template-columns:auto minmax(0,1fr);grid-template-rows:1fr;grid-template-areas:"tabs main"}.shell-bar{display:none}.shell-tabs{position:sticky;top:0;align-self:start;height:100dvh;width:calc(15rem * var(--scale));flex-direction:column;justify-content:flex-start;gap:var(--space-1);padding:var(--space-4) var(--space-3);padding-top:max(var(--space-4),var(--safe-t));padding-bottom:max(var(--space-4),var(--safe-b));padding-left:max(var(--space-3),var(--safe-l));border-width:0 1px 0 0;overflow-y:auto}.shell-tabs .shell-tools{display:block}.shell-tabs .shell-history{display:flex;justify-content:center;gap:var(--space-2);margin:0 0 var(--space-3)}.shell-tabs .shell-brand{display:flex;padding:var(--space-2) var(--space-2) var(--space-5);font-size:var(--fs-xl)}.shell-brand__sub{display:block;font-family:var(--font);font-size:var(--fs-xs);font-weight:400;color:var(--muted);letter-spacing:0}.shell-tab{flex:none;min-width:0;flex-direction:row;justify-content:flex-start;gap:var(--space-3);width:100%;padding:0 var(--space-3);font-size:var(--fs-sm);text-align:left}.shell-tab svg{width:1.3em;height:1.3em}.shell-tab span{max-width:none}.shell-tools{margin-top:auto;padding-top:var(--space-4)}.shell-tools .text-size-button{width:100%;justify-content:flex-start;padding-inline:var(--space-3)}.shell-tools .text-size-button__value{margin-left:auto}.song__bar{padding-top:max(var(--space-2),var(--safe-t))}.song__stage{padding-bottom:calc(var(--tap) * 4.3)}.shell-main{--main-pad-x: var(--space-5);--main-pad-y: var(--space-5)}}@media(min-width:900px)and (max-width:1279px){.shell-tabs{width:calc(12.5rem * var(--scale));align-items:stretch}.shell-tabs .shell-brand{font-size:var(--fs-lg);padding:var(--space-1) var(--space-2) var(--space-3)}.shell-tabs .shell-brand span:not(.shell-brand__sub){display:inline}.shell-brand__sub{display:none}.shell-tab{justify-content:flex-start;gap:var(--space-2);padding-inline:var(--space-2)}.shell-tab span,.shell-tabs .btn--aa__label{display:inline}.shell-tools{width:100%}.shell-tools .text-size-button{gap:var(--space-1);padding-inline:var(--space-2);font-size:var(--fs-sm)}}.song{--song-gutter: clamp(.5rem, 1vw, .75rem);--song-frame-inset: var(--shell-frame);position:relative;display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--song-gutter);column-gap:0;margin:calc(-1 * var(--main-pad-y)) calc(-1 * var(--main-pad-x));padding:0;min-height:calc(100dvh - 2 * var(--main-pad-y))}.shell-main>.song{max-width:none}@media(min-width:900px){.shell-main>.song{max-width:var(--measure-wide);margin-block-start:calc(var(--song-frame-inset) - var(--main-pad-y));margin-block-end:calc(-1 * var(--main-pad-b));margin-inline:max(calc(var(--song-frame-inset) - var(--main-pad-x)),calc((100% - var(--measure-wide)) / 2))}}.song__bar{position:sticky;top:var(--shell-bar-h, 0px);z-index:30;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--song-gutter);border-width:0 0 1px;border-radius:0;min-height:calc(var(--tap) + var(--space-2))}.song__identity{min-width:0;flex:1 1 auto}@media(max-width:700px){.pager,.shortcut-bar{display:none}.song__bar{--tap: 44px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity view" "back actions";gap:.25rem var(--space-2)}.song__identity{grid-area:identity}.song__back{grid-area:back;justify-self:start}.practice-view-switch--toolbar{grid-area:view;justify-self:end}}.song__title{font-family:var(--font-display);font-size:var(--fs-lg);font-weight:var(--fw-title);line-height:1.15;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song__caption{display:block;font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song__bar-actions{display:flex;align-items:center;gap:var(--space-2);flex:none}@media(max-width:700px){.song__title{font-size:clamp(1rem,5vw,var(--fs-lg))}.song__bar-actions{grid-column:1 / -1;grid-row:2;justify-self:end;gap:.1rem;margin-left:0;max-width:calc(100% - var(--tap) - var(--space-2));overflow-x:auto;scrollbar-width:none}.song__bar-actions::-webkit-scrollbar{display:none}.song__bar-actions .btn__label{display:none}.song__nav{gap:0}}.song__stage{padding:var(--song-gutter);padding-bottom:calc(var(--tap) * 6 + var(--nav-h));display:flex;flex-direction:column;gap:var(--song-gutter);min-width:0}.song__stage[data-hand=side]{display:grid;grid-template-columns:minmax(0,1fr) minmax(17rem,21rem);align-items:start}.song__stage-main{display:flex;flex-direction:column;gap:var(--song-gutter);min-width:0}.song__stage[data-hand=side]>.hand-dock{position:sticky;top:var(--space-3)}.hand-dock__head{align-items:flex-start}.hand-dock__tools{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.song__dock{position:sticky;bottom:var(--nav-h, 0px);z-index:30;margin:0 var(--song-gutter);margin-bottom:max(var(--song-gutter),var(--safe-b));border-radius:var(--r-lg);padding:var(--space-1);display:flex;flex-direction:column;gap:var(--space-1)}@media(min-width:900px){.song__bar{top:var(--song-frame-inset);border-width:1px;border-radius:var(--r-lg)}.song__stage{padding-inline:0}.song__dock{bottom:var(--song-frame-inset);margin-inline:0;margin-bottom:0}}.song__dock .card--inverse .card__head{margin:0;padding:0;border:0}.song__dock .card--inverse .card__title{font-family:var(--font);font-size:var(--fs-xs);font-weight:var(--fw-title);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.song__dock .card--inverse,.song__dock .now-panel{background:var(--glass-shade);color:inherit;border:0;border-radius:var(--r-lg);padding:var(--space-2) var(--space-3);margin:0;box-shadow:none;gap:var(--space-3);min-height:0}:root[data-theme=contrast] .song__dock .card--inverse,:root[data-theme=contrast] .song__dock .now-panel{border:var(--hair) solid var(--line)}.song__dock .now-panel h2,.song__inspector{position:fixed;z-index:60;inset:auto 0 0;max-height:82dvh;border-radius:var(--r-xl) var(--r-xl) 0 0;border-width:1px 0 0;padding:var(--space-2) var(--space-4) max(var(--space-4),var(--safe-b));overflow-y:auto;overscroll-behavior:contain;transform:translateY(101%);transition:transform .32s cubic-bezier(.32,.72,0,1);display:flex;flex-direction:column;gap:var(--space-4)}.song__inspector[data-open=true]{transform:translateY(0)}.inspector__close{display:flex;justify-content:flex-end;padding-bottom:var(--space-2);position:sticky;top:calc(-1 * var(--space-2));z-index:2;margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4);padding-top:var(--space-2);background:var(--glass-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.inspector__close{background:var(--card)}}.song__inspector:before{content:"";align-self:center;width:2.5rem;height:5px;flex:none;border-radius:var(--r-full);background:var(--line-strong);opacity:.6}.song__scrim{position:fixed;inset:0;z-index:50;background:#00000047;opacity:0;pointer-events:none;transition:opacity .32s ease;border:0;padding:0}.song__scrim[data-open=true]{opacity:1;pointer-events:auto}.inspector__section{display:flex;flex-direction:column;gap:var(--space-3)}.inspector__heading{font-family:var(--font);font-size:var(--fs-xs);font-weight:var(--fw-title);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0}@media(min-width:1180px){.song{grid-template-columns:minmax(0,1fr) 0px;transition:grid-template-columns .32s cubic-bezier(.32,.72,0,1)}.song[data-inspector=true]{grid-template-columns:minmax(0,1fr) var(--inspector-w, 24rem)}.song__bar{grid-column:1 / -1}.song__dock{grid-column:1}.song__inspector{position:sticky;inset:0 auto auto;grid-column:2;grid-row:2 / span 2;height:100dvh;max-height:none;width:auto;min-width:0;overflow:hidden auto;margin-left:var(--song-gutter);margin-block:var(--song-gutter);top:calc(var(--song-bar-h, 0px) + var(--song-gutter) * 2);height:calc(100dvh - var(--song-bar-h, 0px) - var(--song-gutter) * 4);border-radius:0;border-style:solid;border-color:var(--glass-border);border-width:1px 0 1px 1px;transform:none;opacity:0;visibility:hidden;transition:opacity .24s ease,visibility .24s;padding-top:var(--space-4)}.song__inspector[data-open=true]{opacity:1;visibility:visible}.song__inspector:before{display:none}.song__scrim{display:none}.song__grip{position:absolute;top:0;bottom:0;left:calc(-1 * var(--song-gutter));width:var(--song-gutter);z-index:1;appearance:none;border:0;padding:0;background:none;cursor:col-resize;touch-action:none}.song__grip:after{content:"";position:absolute;inset:calc(50% - 1.25rem) 35% auto;height:2.5rem;border-radius:var(--r-full);background:var(--line-strong);opacity:0;transition:opacity .15s}.song__grip:hover:after,.song__grip:focus-visible:after,.song__grip[data-dragging=true]:after{opacity:1}.song__grip:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}}@media(pointer:coarse){.shell-tab:hover{color:var(--muted)}.shell-tab[aria-current=page]:hover{color:var(--accent-ink)}}.song__stage>*,.song__stage-main>*{min-width:0;max-width:100%}.song__stage .card{min-width:0;overflow-x:auto}.score-surface{width:100%;min-width:0;max-width:100%;touch-action:pan-x pan-y pinch-zoom;-webkit-user-select:none;user-select:none}@media print{.shell-tabs,.shell-bar,.song__dock,.song__inspector,.song__scrim,.song__bar{display:none!important}.app{display:block}.song,.song__stage{display:block;margin:0;padding:0;min-height:0}}.listen{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;padding:var(--space-2) var(--space-3);border-radius:var(--r-lg);border:1.5px solid var(--listen-edge, var(--glass-border));background:var(--listen-bg, var(--glass-shade));transition:background .2s ease,border-color .2s ease}.listen[data-verdict=right]{--listen-bg: var(--ok-tint);--listen-edge: var(--ok)}.listen[data-verdict=sharp],.listen[data-verdict=flat]{--listen-bg: var(--warn-tint);--listen-edge: var(--warn)}.listen[data-verdict=wrong],.listen[data-verdict=error]{--listen-bg: var(--danger-tint);--listen-edge: var(--danger)}.listen__read{display:flex;align-items:center;gap:var(--space-2);flex:1 1 16rem;min-width:0}.listen__dot{flex:none;width:.72em;height:.72em;border-radius:var(--r-full);background:var(--listen-edge, var(--muted))}.listen[data-verdict=quiet] .listen__dot,.listen[data-verdict=starting] .listen__dot{animation:listen-pulse 1.6s ease-in-out infinite}@keyframes listen-pulse{0%,to{opacity:.35}50%{opacity:1}}.listen__message{margin:0;font-size:var(--fs-sm);font-weight:var(--fw-medium)}.listen__meter{position:relative;flex:1 1 12rem;min-width:8rem;height:1.5rem;border-radius:var(--r-full);background:var(--paper-3);box-shadow:0 0 0 var(--hair) var(--line);overflow:hidden}.listen__band{position:absolute;top:0;bottom:0;left:50%;translate:-50% 0;background:var(--ok-tint);border-left:1px solid var(--ok);border-right:1px solid var(--ok);opacity:.75}.listen__centre{position:absolute;top:12%;bottom:12%;left:50%;width:2px;translate:-1px 0;background:var(--muted)}.listen__needle{position:absolute;top:8%;bottom:8%;width:4px;translate:-2px 0;border-radius:2px;background:var(--listen-edge, var(--ink));transition:left .09s linear}.listen__side{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:var(--space-3);flex:1 1 auto;min-width:0}.listen__cents{font-size:var(--fs-lg);font-weight:var(--fw-figure);font-variant-numeric:tabular-nums;line-height:1}.listen__cents small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--muted)}.listen__tally{font-size:var(--fs-lg);font-weight:var(--fw-figure);font-variant-numeric:tabular-nums;line-height:1;color:var(--played-ink)}.listen__tally small{display:block;font-size:var(--fs-xs);font-weight:400;color:var(--muted);white-space:nowrap}.listen__tally-off{font-size:var(--fs-sm);font-weight:var(--fw-title);color:var(--muted)}.song__dock .transport{position:static;margin:0;padding:var(--space-1) var(--space-2);gap:var(--space-2);background:transparent;border:0;border-radius:var(--r-lg);box-shadow:none}.song__dock .transport__main{gap:var(--space-3)}.song__stage .pager{gap:var(--space-2) var(--space-3)}.song__stage .pager .field__label{margin:0;font-size:var(--fs-xs);font-weight:var(--fw-title);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.song__stage .pager .segmented button{padding-inline:var(--space-3);font-size:var(--fs-sm);font-variant-numeric:tabular-nums}.song__stage .pager .field{flex-direction:row;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0}.slider__value{font-size:var(--fs-sm);font-weight:var(--fw-title);color:var(--muted)}.card--toolbar{background:transparent;border:0;box-shadow:none;padding:0;gap:var(--space-3)}.card--toolbar .chip{font-size:var(--fs-sm)}.form--narrow{max-width:26rem}.string-btn__hear svg{width:1.15em;height:1.15em}.string-btn__hear:hover{background:var(--paper-3)}.song__dock .transport__main{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}.song__dock .transport--wide .transport__main,.song__dock .transport--wide .transport__row2{flex-wrap:nowrap}.transport__sound{flex:0 1 auto;min-width:0}.transport__sound .segmented button{font-size:var(--fs-sm);padding-inline:var(--space-3)}.song__dock .transport__row2{gap:var(--space-2);padding-top:var(--space-1);margin-top:var(--space-1)}.song__dock .transport__row2 .segmented button{padding-inline:clamp(.42rem,.7vw,.68rem)}.song__dock .transport__row2 .transport__right{gap:var(--space-2)}.song__dock .transport__row2 .transport__vol .slider{width:clamp(60px,6vw,84px)}.transport__bar{font-weight:var(--fw-title);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:var(--fs-sm)}@media(max-width:900px){.transport__sound{flex:1 1 100%;order:3}}@media(max-width:700px){.song__dock .transport{--tap: 44px;padding:3px 6px;gap:3px}.song__dock{padding:3px;gap:3px}.song__dock .transport__main{column-gap:var(--space-1);row-gap:var(--space-1)}.song__dock .transport__right{width:100%;margin-left:0;gap:var(--space-1)}.song__dock .transport__main>.transport__right{flex-wrap:nowrap;justify-content:space-between;min-width:0}.song__dock .progress-track{height:4px}.song__stage{padding-bottom:calc(var(--tap) * 3.2 + var(--nav-h))}}.palette-picker{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(9.5em,100%),1fr));gap:var(--space-2)}.palette-swatch{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);padding:var(--space-3);border:var(--hair) solid var(--line-strong);border-radius:var(--r-md);background:var(--paper-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;min-height:var(--tap);transition:border-color .15s ease,transform .12s ease}.palette-swatch:hover{border-color:var(--muted)}.palette-swatch:active{transform:scale(.98)}.palette-swatch[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}.palette-swatch__chips{display:flex;gap:3px}.palette-swatch__chip{width:1.5em;height:1.5em;border-radius:var(--r-full);border:1px solid var(--glass-border)}.palette-swatch__chip--paper{background:var(--paper)}.palette-swatch__chip--accent{background:var(--accent)}.palette-swatch__chip--ink{background:var(--ink)}.palette-swatch__name{font-weight:var(--fw-title);font-size:var(--fs-sm)}.palette-swatch__sub{font-size:var(--fs-xs);color:var(--muted)}.shell-recent{position:relative}.shell-tab--recent{width:100%}.shell-recent__count{margin-left:auto;font-size:var(--fs-xs);font-weight:var(--fw-figure);color:var(--muted)}.shell-recent__panel{position:fixed;z-index:60;min-width:15rem;max-width:22rem;padding:var(--space-2);border-radius:var(--r-md);border:var(--hair) solid var(--line);background:var(--card);box-shadow:var(--shadow-lg, 0 12px 32px rgb(0 0 0 / .18));display:flex;flex-direction:column;gap:2px;opacity:0;pointer-events:none;transform:translate(-4px);transition:opacity .12s ease,transform .12s ease}.shell-recent__panel[data-open=true]{opacity:1;pointer-events:auto;transform:none}.shell-recent__item{appearance:none;border:0;background:none;font:inherit;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:1px;text-align:left;padding:var(--space-2);min-height:var(--tap);border-radius:var(--r-xs);color:var(--ink)}.shell-recent__item:hover{background:var(--paper-3)}.shell-recent__title{font-size:var(--fs-sm);font-weight:var(--fw-title)}.shell-recent__meta{font-size:var(--fs-xs);color:var(--muted)}@media(max-width:900px){.shell-recent{display:none}}.shell-build{display:block;padding:var(--space-1) var(--space-2);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;color:var(--muted);text-decoration:none}.shell-build:hover{color:var(--accent-ink)}.shell-tab__text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.shell-tab__title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-tab__sub{font-size:var(--fs-xs);color:var(--muted);font-weight:var(--fw-medium)}@media(max-width:899px){.shell-tab--overflow,.shell-tab__sub{display:none}.shell-tab--piece .shell-tab__title{max-width:5.5rem}.shell-tabs{justify-content:space-around}.shell-tab{flex:1 1 0;min-width:0}}@media(min-width:900px){.shell-tab--more{display:none}}.more-menu{display:grid;gap:var(--space-2)}.more-menu__item{justify-content:flex-start;width:100%}.shell-history{display:flex;align-items:center;gap:var(--space-1);flex:none}.shell-history__btn{appearance:none;border:0;background:none;color:var(--ink);font:inherit;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:var(--tap);height:var(--tap);padding:0;border-radius:var(--r-full)}.shell-history__btn:hover:not(:disabled){background:var(--glass-shade)}.shell-history__btn:disabled{color:var(--muted);opacity:.45;cursor:default}.shell-history__btn svg{width:1.1em;height:1.1em;flex:none}:root{--r-xs: 10px;--r-sm: 13px;--r-md: 18px;--r-lg: 24px;--r-xl: 34px;--measure: 1440px;--measure-wide: 1680px}:root:not([data-theme=contrast]){--elev-1: 0 1px 2px rgba(20, 20, 25, .04), 0 6px 18px rgba(20, 20, 25, .045);--elev-2: 0 2px 5px rgba(20, 20, 25, .05), 0 16px 36px rgba(20, 20, 25, .08);--elev-3: 0 8px 18px rgba(20, 20, 25, .1), 0 30px 80px rgba(20, 20, 25, .16);--glass-blur: 38px}:root[data-palette=modern]{--paper: #f5f5f7;--paper-2: #fbfbfd;--paper-3: #e8e8ed;--card: #ffffff;--paper-ink-soft: #ffffff;--ink: #1d1d1f;--ink-soft: #424245;--muted: #6e6e73;--line: #e3e3e8;--line-strong: #d1d1d6;--accent: #6558d9;--accent-2: #786be8;--accent-ink: #5749ca;--on-accent: #ffffff;--glass-border: rgba(20, 20, 25, .07);--glass-highlight: rgba(255, 255, 255, .94)}:root[data-palette=modern][data-theme=dark]{--paper: #08080a;--paper-2: #121216;--paper-3: #1c1c22;--card: #17171c;--paper-ink-soft: #17171c;--ink: #f5f5f7;--ink-soft: #d2d2d7;--muted: #98989f;--line: #29292f;--line-strong: #3b3b43;--accent: #9a90ff;--accent-2: #aca4ff;--accent-ink: #b9b2ff;--on-accent: #17151f}:root:not([data-theme=contrast]) body{background-color:var(--paper);background-image:radial-gradient(circle at 82% -10%,color-mix(in srgb,var(--accent) 8%,transparent),transparent 34rem),radial-gradient(circle at 32% 108%,color-mix(in srgb,var(--accent) 4%,transparent),transparent 40rem);background-attachment:fixed}body{letter-spacing:-.006em;text-rendering:optimizeLegibility}.source-pages{overflow:hidden;border:var(--hair) solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:var(--r-lg);background:color-mix(in srgb,var(--card) 70%,transparent);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease}.source-pages--open{border-color:color-mix(in srgb,var(--line-strong) 82%,transparent);background:var(--card);box-shadow:var(--elev-1)}.source-pages__toggle{appearance:none;width:100%;min-height:var(--tap);border:0;border-radius:inherit;padding:var(--space-1) var(--space-2);background:transparent;color:var(--ink);cursor:pointer;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);font:inherit;text-align:start;transition:background .15s ease}.source-pages__toggle:hover{background:color-mix(in srgb,var(--paper-3) 58%,transparent)}.source-pages__toggle:focus-visible{outline-offset:-3px}.source-pages--open .source-pages__toggle{border-radius:var(--r-lg) var(--r-lg) 0 0}.source-pages__icon,.source-pages__chevron{display:inline-grid;place-items:center;flex:none}.source-pages__icon{width:2.1rem;height:2.1rem;border-radius:var(--r-sm);background:color-mix(in srgb,var(--accent) 11%,transparent);color:var(--accent-ink)}.source-pages__icon svg{width:1.05rem;height:1.05rem}.source-pages__copy{min-width:0;display:flex;flex-direction:column;gap:.05rem}.source-pages__title{font-size:var(--fs-sm);font-weight:var(--fw-title);line-height:1.18}.source-pages__meta{overflow:hidden;color:var(--muted);font-size:var(--fs-xs);line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.source-pages__chevron{width:2rem;height:2rem;border:var(--hair) solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:var(--r-full);background:color-mix(in srgb,var(--paper-3) 72%,transparent);color:var(--muted)}.source-pages__chevron svg{width:.95rem;height:.95rem;transition:transform .18s ease}.source-pages__toggle[aria-expanded=true] .source-pages__chevron svg{transform:rotate(180deg)}.source-pages__body{border-top:var(--hair) solid color-mix(in srgb,var(--line) 78%,transparent);padding:var(--space-2)}.source-pages__body>.field__hint{margin:0 0 var(--space-2)}.source-pages__item{width:min-content;flex:none;display:flex;flex-direction:column;gap:var(--space-1)}h1,h2,h3,h4,h5,h6{letter-spacing:-.028em}h2{letter-spacing:-.022em}.display{letter-spacing:-.045em;line-height:1.03}.page-head{gap:.42rem}.page-head__lead{max-width:68ch;line-height:1.56}.page-head__body{max-width:72ch;line-height:1.55}.shell-main>*{animation:page-arrive .42s cubic-bezier(.22,1,.36,1) backwards}@keyframes page-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shell-nav-label{display:none}.shell-nav-group{display:contents}.shell-brand__mark{filter:drop-shadow(0 6px 12px color-mix(in srgb,var(--accent) 26%,transparent))}.shell-tab{transition:color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s cubic-bezier(.22,1,.36,1)}.shell-tab:active{transform:scale(.975)}.shell-tab[aria-current=page]{background:color-mix(in srgb,var(--accent) 11%,var(--card));color:var(--accent-ink);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent)}.shell-bar,.shell-tabs{background:linear-gradient(180deg,color-mix(in srgb,var(--glass-highlight) 62%,transparent),transparent 54%),color-mix(in srgb,var(--card) 84%,transparent)}.shell-main{--main-pad-y: clamp(1.25rem, 2.4vw, 2.5rem);--main-pad-x: max(clamp(1rem, 2.2vw, 3rem), var(--safe-l));--main-pad-b: max(5rem, var(--safe-b));padding-bottom:var(--main-pad-b)}@media(min-width:900px){.app{grid-template-columns:calc(15.75rem * var(--scale)) minmax(0,1fr)}.shell-tabs{position:sticky;top:var(--shell-frame);height:calc(100dvh - 2 * var(--shell-frame));width:auto;margin:var(--shell-frame) 0 var(--shell-frame) var(--shell-frame);padding:.85rem .7rem .65rem;border:1px solid var(--glass-border);border-radius:26px;box-shadow:var(--elev-2),inset 0 1px 0 var(--glass-highlight);overflow:hidden auto}.shell-tabs .shell-brand{align-items:center;gap:.72rem;margin:0 .45rem .55rem;padding:.2rem .25rem .55rem;font-size:calc(21px * var(--scale))}.shell-brand__mark{width:2rem;height:2rem}.shell-brand__sub{display:block;margin-top:.16rem;color:var(--muted);font-family:var(--font);font-size:var(--fs-xs);font-weight:400;letter-spacing:0}.shell-nav-label{display:block;margin:.48rem .75rem .22rem;color:var(--muted);font-size:calc(11px * var(--scale));font-weight:var(--fw-figure);letter-spacing:.075em;line-height:1;text-transform:uppercase}.shell-nav-group{display:grid;width:100%;gap:2px}.shell-tab{width:100%;min-height:var(--tap);flex-direction:row;justify-content:flex-start;gap:.76rem;padding:.54rem .72rem;border-radius:12px;font-size:var(--fs-sm);text-align:left}.shell-tab svg{width:1.18em;height:1.18em}.shell-tab:hover:not([aria-current=page]){background:color-mix(in srgb,var(--ink) 5%,transparent);color:var(--ink)}.shell-tools{margin:auto .25rem 0;padding-top:.5rem}.shell-tools .btn{width:100%;justify-content:flex-start}}@media(min-width:900px)and (max-width:1279px){.app{grid-template-columns:calc(12.5rem * var(--scale)) minmax(0,1fr)}.shell-tabs{width:auto;padding-inline:.55rem}.shell-nav-label{display:none}.shell-tab{gap:.55rem;padding-inline:.58rem;font-size:calc(13px * var(--scale))}.shell-tabs .shell-brand{margin-inline:.2rem}.shell-tabs .shell-tools{margin-inline:.15rem}}.btn{border-color:color-mix(in srgb,var(--line-strong) 72%,transparent);border-radius:var(--r-full);background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:0 1px 2px #14141909;font-weight:var(--fw-title);transition:transform .16s cubic-bezier(.22,1,.36,1),background .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover:not(:disabled){background:var(--card);border-color:color-mix(in srgb,var(--ink) 18%,var(--line));box-shadow:0 4px 14px #14141914;transform:translateY(-1px)}.btn:active:not(:disabled){transform:scale(.98);box-shadow:0 1px 3px #1414190f}.btn--primary{border-color:transparent;background:linear-gradient(180deg,var(--accent-2),var(--accent));color:var(--on-accent);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 24%,transparent)}.btn--primary:hover:not(:disabled){border-color:transparent;background:linear-gradient(180deg,color-mix(in srgb,var(--accent-2) 90%,white),var(--accent));box-shadow:0 12px 28px color-mix(in srgb,var(--accent) 30%,transparent)}.btn--big{min-height:calc(var(--tap) + 8px);padding-inline:1.2rem}.btn--ghost{box-shadow:none}.input,.select,.textarea,textarea{border-color:var(--line);border-radius:12px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:inset 0 1px 2px #14141906,0 1px 0 var(--glass-highlight);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input:hover,.select:hover,.textarea:hover,textarea:hover{border-color:var(--line-strong)}.input:focus,.select:focus,.textarea:focus,textarea:focus{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 14%,transparent);outline:none}.field__label{color:var(--ink-soft);font-size:var(--fs-xs);font-weight:var(--fw-title)}.segmented{gap:2px;padding:3px;border:0;border-radius:var(--r-full);background:color-mix(in srgb,var(--ink) 7%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}.segmented button{border:0!important;border-radius:var(--r-full)!important;color:var(--muted)}.segmented button:has(.segmented__sub){border-radius:var(--r-lg)!important}.segmented:has(.segmented__sub){border-radius:calc(var(--r-lg) + 3px)}.segmented button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 4px #14141921,inset 0 1px 0 var(--glass-highlight)}.chip{min-height:38px;border-color:var(--line);background:color-mix(in srgb,var(--card) 92%,transparent);color:var(--muted);font-weight:var(--fw-medium)}.chip[aria-pressed=true]{border-color:color-mix(in srgb,var(--accent) 38%,transparent);background:color-mix(in srgb,var(--accent) 12%,var(--card));color:var(--accent-ink)}.card{border-color:var(--glass-border);border-radius:var(--r-lg);background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:var(--elev-1),inset 0 1px 0 var(--glass-highlight)}.card--inverse{background:color-mix(in srgb,var(--inverse-bg) 92%,transparent);border-color:var(--inverse-line)}.card--toolbar{padding:clamp(1rem,2vw,1.4rem);border-color:color-mix(in srgb,var(--line) 74%,transparent);background:color-mix(in srgb,var(--card) 82%,transparent);-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);box-shadow:0 12px 34px #1414190e,inset 0 1px 0 var(--glass-highlight)}.stack>section>h2:not([class]){margin-bottom:.9rem;font-size:clamp(var(--fs-xl),2.3vw,var(--fs-2xl))}.empty{min-height:18rem;border:1px dashed var(--line-strong);border-radius:var(--r-xl);background:color-mix(in srgb,var(--card) 66%,transparent)}.empty__icon{width:4rem;height:4rem;border-radius:50%;background:var(--accent-tint);color:var(--accent-ink)}.home-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.22fr) minmax(260px,.78fr);min-height:clamp(390px,42vw,520px);overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:clamp(28px,3.5vw,44px);background:radial-gradient(circle at 84% 17%,color-mix(in srgb,var(--accent-2) 92%,white 8%) 0%,transparent 31%),radial-gradient(circle at 77% 88%,color-mix(in srgb,var(--accent) 72%,#22194d) 0%,transparent 38%),linear-gradient(135deg,#15141b,color-mix(in srgb,var(--accent) 55%,#16131f) 58%,#242033);color:#fff;box-shadow:0 28px 80px color-mix(in srgb,var(--accent) 17%,rgba(20,20,25,.2))}.home-hero:after{content:"";position:absolute;inset:0;z-index:-1;opacity:.24;background-image:radial-gradient(rgba(255,255,255,.5) .65px,transparent .65px);background-size:8px 8px;-webkit-mask-image:linear-gradient(90deg,transparent,black 68%,black);mask-image:linear-gradient(90deg,transparent,black 68%,black)}.home-hero__copy{align-self:center;padding:clamp(2rem,5vw,5.25rem);padding-right:clamp(1rem,2vw,2rem)}.eyebrow{margin:0 0 1.1rem;color:#cfcaff;font-size:var(--fs-sm);font-weight:var(--fw-figure);letter-spacing:.045em;text-transform:uppercase}.home-hero__title{max-width:11ch;margin:0;color:#fff;font-size:clamp(calc(44px * var(--scale)),5.4vw,calc(74px * var(--scale)));font-weight:var(--fw-title);letter-spacing:-.06em;line-height:.98}.home-hero__lead{max-width:54ch;margin:1.45rem 0 0;color:#ffffffc2;font-size:clamp(var(--fs-base),1.45vw,var(--fs-lg));line-height:1.55}.home-hero__actions{margin-top:1.75rem}.home-hero .btn--primary{border-color:#fff;background:#fff;color:#1d1d1f;box-shadow:0 12px 34px #00000038}.home-hero .btn--primary:hover:not(:disabled){background:#f5f5f7}.btn--hero-secondary{border-color:#ffffff47;background:#ffffff17;color:#fff;box-shadow:inset 0 1px #ffffff1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.btn--hero-secondary:hover:not(:disabled){border-color:#ffffff70;background:#ffffff29;color:#fff}.home-hero__art{position:relative;display:grid;place-items:center;min-height:100%}.home-hero__halo{position:absolute;width:min(30vw,390px);aspect-ratio:1;border-radius:50%;background:#ffffff1a;box-shadow:0 0 0 1px #ffffff29,0 0 0 42px #ffffff09,0 0 70px #ffffff29}.home-hero__mark{position:relative;z-index:1;width:min(19vw,245px);height:min(24vw,310px);color:#fff;filter:drop-shadow(0 30px 32px rgba(0,0,0,.28));animation:hero-float 6s ease-in-out infinite}.home-hero__note{position:absolute;z-index:2;display:grid;place-items:center;width:2.8rem;height:2.8rem;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:#ffffff1f;color:#fff;font-size:var(--fs-sm);font-weight:var(--fw-figure);box-shadow:0 12px 30px #00000029;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.home-hero__note--one{top:16%;right:16%}.home-hero__note--two{bottom:19%;right:10%}.home-hero__note--three{bottom:14%;left:13%}@keyframes hero-float{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-10px) rotate(1deg)}}.home-feature{position:relative;display:flex;flex-direction:column;gap:.72rem;min-height:230px;padding:clamp(1.25rem,2.2vw,1.75rem);overflow:hidden;transition:transform .24s cubic-bezier(.22,1,.36,1),box-shadow .24s ease}.home-feature:after{content:"";position:absolute;right:-3rem;bottom:-4rem;width:10rem;height:10rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 7%,transparent);pointer-events:none}.home-feature:hover{transform:translateY(-4px);box-shadow:var(--elev-2)}.home-feature__icon{display:grid;place-items:center;width:3rem;height:3rem;border-radius:14px;background:var(--accent-tint);color:var(--accent-ink)}.home-feature h3{margin:0;font-size:var(--fs-xl)}.home-feature p{flex:1;margin:0;color:var(--muted);line-height:1.55}.home-feature__action{appearance:none;z-index:1;display:inline-flex;align-items:center;align-self:flex-start;gap:.35rem;min-height:var(--tap);padding:0;border:0;background:transparent;color:var(--accent-ink);font:inherit;font-weight:var(--fw-title);cursor:pointer}.home-feature__action svg{width:1em;transition:transform .18s ease}.home-feature__action:hover svg{transform:translate(3px)}.grid--cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(.75rem,1.4vw,1rem)}.song-card{position:relative;border-color:color-mix(in srgb,var(--line) 82%,transparent);border-radius:20px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:0 2px 5px #14141909,0 12px 30px #14141909}.song-card:before{content:"";position:absolute;z-index:1;inset:.72rem auto .72rem 0;width:4px;border-radius:0 var(--r-full) var(--r-full) 0;background:var(--song-accent)}.song-card:after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 1px 0 var(--glass-highlight);pointer-events:none}.song-card:has(.song-card__open:hover){transform:translateY(-3px) scale(1.005);box-shadow:0 8px 18px #14141912,0 22px 46px #14141914}.song-card__open{display:flex;flex-direction:column;align-items:stretch;gap:0;padding:.9rem 1rem .85rem 1.15rem;padding-right:calc(var(--tap) + .4rem)}.song-card__open--full{padding-right:1rem}.song-card__body{display:flex;flex-direction:column;min-width:0;min-height:60px}.song-card__title{font-size:var(--fs-base);letter-spacing:-.018em}.song-card__sub{margin-top:.18rem;font-size:var(--fs-xs)}.song-card__marks{margin-top:auto;padding-top:.5rem}.song-card__fav{top:.42rem;right:.42rem}.song-card__progress{position:absolute;inset:auto 0 0;height:3px}.song-hero{border-left:0;padding:.4rem 0 1rem;margin-bottom:.35rem}.song-hero:before{content:"";align-self:stretch;width:5px;min-height:3.5rem;border-radius:var(--r-full);background:var(--song-accent);box-shadow:0 8px 22px color-mix(in srgb,var(--song-accent) 26%,transparent)}.song-hero .display{font-size:clamp(var(--fs-2xl),3.2vw,var(--fs-3xl))}.score-surface{border-color:var(--glass-border);border-radius:20px;padding:.6rem .7rem .85rem;box-shadow:0 18px 46px #14141911,inset 0 1px 0 var(--glass-highlight)}.practice-view-switch{align-self:center;display:flex;align-items:center;gap:3px;width:fit-content;max-width:100%;padding:4px;border:var(--hair) solid var(--glass-border);border-radius:var(--r-full);background:color-mix(in srgb,var(--card) 80%,transparent);-webkit-backdrop-filter:blur(28px) saturate(180%);backdrop-filter:blur(28px) saturate(180%);box-shadow:var(--elev-1),inset 0 1px 0 var(--glass-highlight);overflow-x:auto;scrollbar-width:none}.practice-view-switch::-webkit-scrollbar{display:none}.practice-view-switch--toolbar{flex:0 0 auto;padding:3px;box-shadow:none}.practice-view-switch__option{appearance:none;display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.38rem;min-height:var(--tap);padding:.48rem .78rem;border:0;border-radius:var(--r-full);background:transparent;color:var(--muted);font:inherit;font-size:var(--fs-sm);font-weight:var(--fw-title);white-space:nowrap;cursor:pointer;transition:background .16s ease,color .16s ease,box-shadow .16s ease,transform .12s ease}.practice-view-switch__option svg{width:1.05rem;height:1.05rem}.practice-view-switch__option:hover{color:var(--ink);background:color-mix(in srgb,var(--paper-3) 70%,transparent)}.practice-view-switch__option:active{transform:scale(.98)}.practice-view-switch__option--on{background:var(--card);color:var(--accent-ink);box-shadow:0 1px 3px #14141914,0 5px 15px #1414190f}.practice-view-switch--toolbar .practice-view-switch__option{min-height:40px;padding:.36rem .7rem}.practice-notes{overflow-x:visible!important}.practice-notes .card__head{margin-bottom:.45rem}.simple-view--compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,370px),1fr));gap:.45rem}.simple-view--compact .simple-bar{min-width:0;padding:.36rem .4rem .42rem;border-radius:13px}.simple-view--compact .simple-bar__label{margin-bottom:.24rem}.simple-view--compact .simple-bar__cards{display:grid;grid-auto-flow:column;grid-auto-columns:max-content;justify-content:start;gap:.26rem;overflow-x:auto;padding:2px;scrollbar-width:none;scroll-snap-type:x proximity}.simple-view--compact .simple-bar__cards::-webkit-scrollbar{display:none}.simple-view--compact .note-card{flex:none;gap:.08rem;min-height:78px;padding:.24rem .28rem .28rem;border-width:1.5px;border-radius:11px;scroll-snap-align:start}.simple-view--compact .note-card__top{min-height:1.15em;gap:.2rem}.simple-view--compact .note-card__bow{font-size:var(--fs-sm)}.simple-view--compact .note-card__string{padding:0 .3rem;font-size:calc(var(--fs-xs) * .9)}.simple-view--compact .note-card__name{font-size:var(--fs-lg)}.simple-view--compact .note-card__finger{width:calc(26px * var(--scale));height:calc(26px * var(--scale));border-width:1.5px;font-size:var(--fs-sm)}.simple-view--compact .note-card__len{height:3px;margin-top:.1rem}.simple-view--compact .note-card__beats,.simple-view--compact .note-card__tie{font-size:calc(var(--fs-xs) * .9);line-height:1.1}.simple-view--compact .note-card__alt{padding-inline:.25rem;border-width:1px;line-height:1.15}.simple-view--compact .note-card--active{box-shadow:0 0 0 3px var(--play-ink)}.simple-view--compact.simple-view--small .note-card{min-height:70px}.simple-view--compact.simple-view--small .note-card__name{font-size:var(--fs-base)}.simple-view--compact.simple-view--small .note-card__finger{width:calc(23px * var(--scale));height:calc(23px * var(--scale));font-size:var(--fs-xs)}.simple-view--compact.simple-view--large .note-card{min-height:92px}.simple-view--compact.simple-view--large .note-card__name{font-size:var(--fs-xl)}.simple-view--compact.simple-view--large .note-card__finger{width:calc(32px * var(--scale));height:calc(32px * var(--scale));font-size:var(--fs-lg)}.method-page{gap:clamp(.8rem,1.6vw,1.2rem)}.method-units{gap:.55rem}.method-page .card.volume{padding:.35rem;border-radius:18px}.method-page .volume__toggle{padding:.55rem .65rem}.method-page .volume__title{font-size:var(--fs-base);letter-spacing:-.012em}.method-unit__body{padding:.2rem .7rem .7rem;gap:.7rem}.method-rationale{border-bottom:var(--hair) solid var(--line);padding:0 0 .65rem;color:var(--muted)}.method-rationale summary{width:fit-content;border-radius:var(--r-full);padding:.2rem .45rem;color:var(--ink-soft);font-size:var(--fs-sm);font-weight:var(--fw-title);cursor:pointer}.method-rationale summary:hover{background:var(--paper-3);color:var(--ink)}.method-rationale[open] summary{margin-bottom:.45rem}.method-unit__copy{display:grid;gap:.45rem;max-width:76ch;color:var(--muted);font-size:var(--fs-sm)}.method-unit__copy p{margin:0;line-height:1.5}.method-unit__guides{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.method-guide{min-width:0;border:var(--hair) solid var(--line);border-radius:14px;padding:.7rem .8rem;background:color-mix(in srgb,var(--card) 72%,var(--paper-2));color:var(--ink-soft);font-size:var(--fs-sm);line-height:1.48}.method-guide__title{margin:0 0 .35rem;color:var(--ink);font-size:var(--fs-base)}.method-guide p{margin:0 0 .55rem}.method-guide ul{margin:0;padding-left:1.15rem}.method-guide li+li{margin-top:.28rem}.method-guide__detail{color:var(--muted);font-size:var(--fs-xs)}.method-unit__pieces-head{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.method-unit__pieces-head h3{margin:0;font-size:var(--fs-base)}.method-unit__pieces-head span{color:var(--muted);font-size:var(--fs-xs)}.method-piece-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:.6rem}.method-page .song-card:before{background:var(--accent);opacity:.62}.transport{bottom:.75rem;border-color:var(--glass-border);border-radius:22px;background:color-mix(in srgb,var(--card) 84%,transparent);-webkit-backdrop-filter:blur(34px) saturate(190%);backdrop-filter:blur(34px) saturate(190%);box-shadow:0 18px 55px #14141929,inset 0 1px 0 var(--glass-highlight)}.now-panel__name{letter-spacing:-.05em}.now-panel__badge{box-shadow:0 10px 25px color-mix(in srgb,var(--badge-color) 22%,transparent)}.tuner-modes{gap:.7rem}.tuner-mode{min-height:92px;border-color:var(--line);border-radius:17px;background:color-mix(in srgb,var(--card) 82%,transparent);box-shadow:0 4px 14px #14141909}.tuner-mode:hover{transform:translateY(-2px);box-shadow:var(--elev-1)}.tuner-mode--on{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--card));box-shadow:0 8px 24px color-mix(in srgb,var(--accent) 12%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}.palette-picker{grid-template-columns:repeat(auto-fill,minmax(min(100%,132px),1fr));gap:.55rem}.palette-swatch{min-height:92px;gap:.3rem;padding:.7rem;border-radius:15px}.palette-swatch__chips{gap:2px}.palette-swatch__chip{width:1.25rem;height:1.25rem}.palette-swatch__name{line-height:1.1}.palette-swatch__sub{line-height:1.25}.string-btn{border-width:1px;border-radius:18px;box-shadow:0 8px 24px #1414190d}.rung{border-color:var(--line);border-radius:15px;background:color-mix(in srgb,var(--card) 84%,transparent)}.dialog-backdrop{background:#10101475;-webkit-backdrop-filter:blur(12px) saturate(130%);backdrop-filter:blur(12px) saturate(130%)}.dialog{border-color:var(--glass-border);border-radius:28px;background:color-mix(in srgb,var(--card) 94%,transparent);box-shadow:var(--elev-3),inset 0 1px 0 var(--glass-highlight)}.toast{border-color:var(--glass-border);border-radius:var(--r-full);background:color-mix(in srgb,var(--inverse-bg) 92%,transparent);box-shadow:0 16px 40px #0000003d;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}@media(max-width:899px){.shell-bar{padding-inline:max(1rem,var(--safe-l))}.shell-tabs{gap:.2rem;padding-inline:.45rem}.shell-tab{min-width:66px;padding-inline:.35rem;border-radius:12px}.home-hero{grid-template-columns:minmax(0,1fr);min-height:auto}.home-hero__copy{padding:clamp(2rem,7vw,3.5rem)}.home-hero__art{position:absolute;inset:auto -4rem -5rem auto;width:18rem;height:18rem;opacity:.38;pointer-events:none}.home-hero__mark{width:8rem;height:11rem}.home-hero__halo{width:13rem}.home-hero__note{display:none}.home-hero__copy{position:relative;z-index:2}.home-hero__lead{max-width:min(88%,52ch)}}@media(max-width:1050px){.practice-view-switch--toolbar{align-self:center;width:auto;max-width:none}.practice-view-switch--toolbar .practice-view-switch__option{flex:0 0 40px;width:40px;min-height:40px;padding:0}.practice-view-switch--toolbar .practice-view-switch__option span{display:none}.practice-view-switch--toolbar .practice-view-switch__option svg{display:block}}@media(max-width:620px){.shell-main{--main-pad-x: max(.8rem, var(--safe-l));--main-pad-y: 1rem}.home-hero{border-radius:26px}.home-hero__copy{padding:2rem 1.35rem 2.25rem}.home-hero__title{font-size:calc(42px * var(--scale))}.home-hero__lead{max-width:100%;font-size:var(--fs-base)}.home-hero__actions{align-items:stretch}.home-hero__actions .btn{width:100%;justify-content:center}.home-feature{min-height:205px}.song-card__open{padding-block:.8rem}.song-card__body{min-height:58px}.practice-notes{padding:var(--space-2)}.simple-view--compact,.method-unit__guides{grid-template-columns:minmax(0,1fr)}.method-unit__pieces-head{align-items:flex-start;flex-direction:column;gap:.2rem}.method-unit__body{padding-inline:.35rem}.method-page .volume__toggle{grid-template-columns:1.25rem minmax(0,1fr);align-items:start}.method-page .volume__title{font-size:var(--fs-base)}.method-page .volume__count{grid-column:2;white-space:normal}.palette-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.palette-swatch{min-height:72px}.palette-swatch__sub{display:none}.card--toolbar{border-radius:20px}.transport{bottom:.35rem;border-radius:20px}}@media(prefers-reduced-motion:reduce){.shell-main>*{animation:none}.home-hero__mark{animation:none}}:root[data-theme=contrast] .home-hero{border:3px solid #000;background:#000;box-shadow:none}:root[data-theme=contrast] .home-hero:after{display:none}:root[data-theme=contrast] .card,:root[data-theme=contrast] .song-card,:root[data-theme=contrast] .dialog{box-shadow:var(--elev-1)}
