@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-ext-400-normal-BtiwyxMk.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-400-normal-BjWJ59Pq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-sans-latin-400-normal-CW0RaeGs.woff2) format("woff2"),url(/assets/dm-sans-latin-400-normal-BwCSEQnW.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-ext-500-normal-BJfUCQsA.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-500-normal-DR84L5F-.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/dm-sans-latin-500-normal-B9HHJjqV.woff2) format("woff2"),url(/assets/dm-sans-latin-500-normal-Dr3UlScf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-ext-600-normal-4vooXBpG.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-600-normal-DRtaDpgU.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/dm-sans-latin-600-normal-Aqo67rzb.woff2) format("woff2"),url(/assets/dm-sans-latin-600-normal-BmdmIIQ2.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-ext-700-normal-CJIcxD6K.woff2) format("woff2"),url(/assets/dm-sans-latin-ext-700-normal-BLI3TTWz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/dm-sans-latin-700-normal-DvUfVpUG.woff2) format("woff2"),url(/assets/dm-sans-latin-700-normal-CUSSCpQX.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-ext-400-normal-C2zvOubV.woff2) format("woff2"),url(/assets/dm-mono-latin-ext-400-normal-1aZr6b2b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/dm-mono-latin-400-normal-4GdczIuU.woff2) format("woff2"),url(/assets/dm-mono-latin-400-normal--0xN8mdc.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-normal-C2je3j2s.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-normal-CFCUzsTy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-normal-DnYpCC2O.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-normal-BVbkICAY.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-ext-400-italic-C9HzH3YL.woff2) format("woff2"),url(/assets/instrument-serif-latin-ext-400-italic-D7-lnxEk.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Instrument Serif";font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-serif-latin-400-italic-DKMiL14s.woff2) format("woff2"),url(/assets/instrument-serif-latin-400-italic-u__WvvIK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{font-family:DM Sans,sans-serif;color:#30372d;background:#f6f4ee;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f6f4ee;--paper: #fcfbf7;--text: #30372d;--muted: #818377;--line: #dfdfd3;--soft: #eeeee5;--sage: #e9ecde;--sage-ink: #596c48;--accent: #cb5c37;--accent-soft: #f7e9df;--sidebar: #f0f0e8;--shadow: 0 8px 30px #3b3d2607}:root[data-theme=dark]{color-scheme:dark;--bg: #20241e;--paper: #292e25;--text: #e9e9db;--muted: #a0a594;--line: #41483b;--soft: #30362b;--sage: #363f2e;--sage-ink: #bccda2;--accent: #ef936e;--accent-soft: #48372b;--sidebar: #252a21;--shadow: 0 8px 30px #00000012;color:var(--text);background:var(--bg)}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}button{border:0;background:none}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus,select:focus,textarea:focus{outline:2px solid var(--sage-ink);outline-offset:2px}input,select,textarea{color:var(--text);border:1px solid var(--line);border-radius:8px;background:var(--paper);padding:10px 12px;min-width:0}input[type=checkbox]{accent-color:var(--sage-ink);width:17px;height:17px;flex-shrink:0}input[type=range]{accent-color:var(--sage-ink);padding:0;width:100%;height:6px}input[type=number]{-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}p{line-height:1.65}h1,h2,h3,p{margin-top:0}h1,h2{font-weight:400}h3{font-weight:600}em{font-family:"Instrument Serif",serif;font-weight:400}svg{flex-shrink:0}::selection{background:var(--sage);color:var(--text)}.app-header{height:88px;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 38px;gap:29px;background:var(--bg);position:relative;z-index:20}.brand{display:flex;align-items:center;gap:11px;letter-spacing:-2.2px;font-weight:600;font-size:34px;padding:0}.brand-period{color:var(--accent)}.brand-icon{width:43px;height:43px;background:var(--text);color:var(--bg);border-radius:50%;display:grid;place-items:center;transform:rotate(-9deg)}.brand-caption{font-family:DM Mono,monospace;font-size:9px;letter-spacing:1.7px;color:var(--muted);border-left:1px solid var(--line);padding:7px 0 7px 24px}.header-tools{margin-left:auto;display:flex;align-items:center;gap:13px}.setup-button{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--paper);font-size:12px;padding:9px 13px;border-radius:30px}.header-divider{width:1px;background:var(--line);height:22px;margin:0 3px}.icon-button{width:34px;height:34px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.icon-button:hover{background:var(--soft)}.icon-button.outlined{border:1px solid var(--line);width:40px;height:40px;background:var(--paper)}.icon-button.active{color:var(--sage-ink);border-color:var(--sage-ink);background:var(--sage)}.mobile-menu-button{display:none}.library-layout{display:grid;grid-template-columns:233px minmax(0,1fr);max-width:1720px;margin:0 auto;min-height:calc(100vh - 88px)}.sidebar{padding:37px 20px 25px 25px;border-right:1px solid var(--line);background:linear-gradient(140deg,var(--sidebar),var(--bg));display:flex;flex-direction:column;align-self:stretch}.sidebar-title{font-family:DM Mono,monospace;font-size:9px;letter-spacing:1.5px;color:var(--muted);padding:0 13px;margin-bottom:13px}.chapter-label{margin-top:28px}.nav-item{display:flex;align-items:center;width:100%;gap:10px;padding:11px 13px;margin-bottom:3px;border-radius:7px;color:var(--muted);text-align:left;font-size:12px;white-space:nowrap}.nav-item span{flex:1}.nav-item small{font-family:DM Mono,monospace;font-size:10px;opacity:.8}.nav-item:hover{background:var(--soft);color:var(--text)}.nav-item.selected{background:var(--sage);color:var(--sage-ink);font-weight:600}.sidebar-divider{height:1px;background:var(--line);margin:23px 13px 17px}.sidebar-bottom{padding:45px 13px 20px;margin-top:44px}.sidebar-bottom p{font-size:24px;line-height:1.35;letter-spacing:-.7px;margin:14px 0 19px}.sidebar-bottom em{font-size:29px}.sidebar-bottom>span{font-family:DM Mono,monospace;font-size:7px;letter-spacing:1.1px;color:var(--muted)}.tiny-sticks{height:25px;position:relative}.tiny-sticks i{position:absolute;width:43px;height:3px;background:#b8a17b;border-radius:5px;transform:rotate(-37deg);top:12px;left:0}.tiny-sticks i+i{transform:rotate(37deg);left:4px}.library-main{padding:0 45px;max-width:1460px;min-width:0}.hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr);gap:30px;align-items:center;padding:49px 0 36px;border-bottom:1px solid var(--line);position:relative}.eyebrow{font-family:DM Mono,monospace;letter-spacing:1.5px;font-size:9px;line-height:1.8;color:var(--muted);font-weight:400;display:flex;align-items:center;gap:9px}.tiny-dot{width:5px;height:5px;border-radius:50%;background:var(--accent)}.hero-copy>h1{font-family:"Instrument Serif",serif;font-size:clamp(44px,4.8vw,74px);letter-spacing:-1.8px;line-height:1.02;margin:20px 0 22px}.hero-copy>h1 em{color:var(--sage-ink)}.hero-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:1.85}.hero-stats{display:flex;align-items:center;gap:25px;margin-top:27px}.hero-stats>span{font-size:10px;color:var(--muted);display:flex;flex-direction:column;gap:3px}.hero-stats strong{font-weight:500;font-size:24px;letter-spacing:-.8px;color:var(--text);display:flex;align-items:baseline;gap:4px}.hero-stats strong small{font-size:11px;letter-spacing:0}.hero-stats i{width:1px;height:33px;background:var(--line)}.hero-feature{padding:0 1px 0 15px;align-self:center}.pad-art{height:200px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at center,#d8ddc239 0,transparent 65%)}.pad-art svg{width:265px;max-width:100%;filter:drop-shadow(0 12px 20px #4a52390b);transform:rotate(-3deg)}.feature-card{border-top:1px solid var(--line);padding:20px 0 0}.feature-card .eyebrow{font-size:8px;letter-spacing:1px}.feature-card>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.feature-card h3{font-size:17px;letter-spacing:-.3px;margin:9px 0}.feature-card p{font-family:DM Mono,monospace;font-size:9px;color:var(--muted);margin:0}.feature-card p span{margin:0 5px}.round-arrow{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:var(--paper);display:grid;place-items:center}.round-arrow:hover{background:var(--sage);transform:rotate(5deg)}.lesson-library{padding:34px 0 0}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-heading .eyebrow{margin-bottom:9px;font-size:8px}.section-heading h2{font-family:"Instrument Serif",serif;font-size:33px;letter-spacing:-.6px;margin:0 0 6px}.section-heading p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:9px;font-size:11px;font-weight:500;padding:11px 15px;border-radius:7px;white-space:nowrap;transition:background .15s,transform .15s}.button.primary{background:var(--text);color:var(--bg)}.button.primary:hover{background:var(--sage-ink);color:var(--paper)}.button.secondary{border:1px solid var(--line);background:var(--paper)}.button.secondary:hover{border-color:var(--sage-ink);background:var(--soft)}.full-width{width:100%;margin:14px 0}.library-filters{display:flex;align-items:center;gap:8px;margin:25px 0 16px}.search-field{display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:var(--paper);padding:0 11px;gap:8px;flex:1;min-width:140px;max-width:370px;color:var(--muted)}.search-field input{width:100%;border:0;background:none;font-size:11px;padding:11px 0}.search-field input:focus{outline:none}.search-field:focus-within{outline:2px solid var(--sage-ink)}.search-field button{padding:0;display:flex}.library-filters>select{font-size:10px;border-radius:6px;padding:10px 9px;max-width:165px;height:37px}.equipment-filter{border:1px solid var(--line);border-radius:6px;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px;font-size:10px;background:var(--paper);height:37px}.equipment-filter.active{background:var(--sage);color:var(--sage-ink);border-color:var(--sage-ink)}.library-results{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:10px;color:var(--muted)}.library-results>span+span{font-family:DM Mono,monospace;font-size:7px;letter-spacing:1.3px}.lesson-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.lesson-card{border:1px solid var(--line);border-radius:10px;background:var(--paper);padding:16px 17px 0;box-shadow:var(--shadow);transition:transform .18s,border-color .18s;overflow:hidden;display:flex;flex-direction:column;min-width:0;animation:arrive .4s both}.lesson-card:nth-child(3n+2){animation-delay:.04s}.lesson-card:nth-child(3n+3){animation-delay:.08s}.lesson-card:hover{transform:translateY(-3px);border-color:#b3baa3}.card-topline{display:flex;align-items:center;justify-content:space-between;gap:4px}.lesson-sequence{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.65px;color:var(--muted)}.favorite-button{padding:3px;color:var(--muted);display:flex}.favorite-button:hover,.favorite-button.is-favorite{color:var(--accent)}.card-main{padding:0;text-align:left;display:flex;flex-direction:column;flex:1;width:100%}.card-main h3{font-size:15px;line-height:1.35;letter-spacing:-.4px;margin:15px 0 8px}.card-main p{font-size:10px;color:var(--muted);line-height:1.7;margin:0 0 13px;min-height:35px}.rhythm-preview{width:100%;height:43px;display:block;color:var(--sage-ink);margin-top:auto}.chapter-3 .rhythm-preview,.chapter-4 .rhythm-preview{color:var(--accent)}.chapter-6 .rhythm-preview{color:#8b7a5e}.chapter-7 .rhythm-preview{color:#75888c}.card-tags{display:flex;align-items:center;gap:9px;margin:13px 0 16px;font-size:8px;color:var(--muted);flex-wrap:wrap}.difficulty{display:flex;align-items:center;gap:4px}.difficulty i{width:4px;height:4px;display:block;border-radius:50%;background:var(--sage-ink)}.difficulty-intermediate i{background:#b29561}.difficulty-advanced i{background:var(--accent)}.practiced-label{color:var(--sage-ink);display:flex;align-items:center;gap:2px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;border-top:1px solid var(--line);padding:11px 0;font-size:9px}.card-bottom>span{font-family:DM Mono,monospace;font-size:8px;color:var(--muted);margin-right:auto}.card-bottom i{font-style:normal;margin:0 4px}.card-bottom button{font-weight:500;display:flex;align-items:center;gap:5px;font-size:9px;padding:3px 0}.card-bottom button:hover{color:var(--accent)}.library-footer{margin:35px 0 0;border-top:1px solid var(--line);padding:20px 0 28px;display:flex;justify-content:space-between;color:var(--muted);font-size:9px}.library-footer span,.library-footer button{display:flex;align-items:center;gap:7px}.library-footer button{font-size:9px;color:var(--muted)}.empty-state{text-align:center;padding:60px 15px;color:var(--muted)}.empty-state>svg{margin-bottom:14px}.empty-state h3{font-family:"Instrument Serif",serif;font-size:31px;font-weight:400;color:var(--text);margin:0}.empty-state p{font-size:12px;margin:9px 0 23px}.practice-page{max-width:1550px;margin:0 auto;padding:29px 44px 45px}.practice-breadcrumb{display:flex;align-items:center;gap:15px;font-size:10px;color:var(--muted)}.text-button{padding:0;display:inline-flex;align-items:center;gap:8px;font-size:11px;color:var(--muted)}.text-button:hover{color:var(--accent)}.practice-number{font-family:DM Mono,monospace;font-size:8px;letter-spacing:1px;margin-left:auto}.practice-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:31px 0 28px}.practice-heading .eyebrow{font-size:8px;text-transform:uppercase}.practice-heading .eyebrow span{margin:0 3px}.practice-heading h1{font-family:"Instrument Serif",serif;font-size:49px;line-height:1.1;margin:10px 0 0;letter-spacing:-1px}.practice-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:35px}.lesson-notes{padding-top:12px}.lesson-notes section{margin-bottom:28px}.lesson-notes .eyebrow{font-size:8px;margin-bottom:12px}.lesson-notes h2{font-family:"Instrument Serif",serif;font-size:30px;line-height:1.15;letter-spacing:-.4px;margin:0 0 15px}.lesson-notes h2 em{color:var(--sage-ink)}.lesson-notes section>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.9}.lesson-notes .counting-text{font-size:12px!important;color:var(--text)!important}.tip{display:flex;gap:10px;background:var(--sage);border-radius:8px;padding:15px;color:var(--sage-ink)}.tip h3{font-size:10px;margin:1px 0 7px}.tip p{font-size:10px;margin:0;line-height:1.8}.lesson-detail-pair{display:flex;justify-content:space-between;font-size:10px;padding:9px 0;border-bottom:1px solid var(--line);gap:10px}.lesson-detail-pair>span{color:var(--muted)}.lesson-detail-pair strong{font-weight:500}.lesson-notes>.small{margin:12px 0}.next-lesson{margin:20px 0;color:var(--text)}.practice-workspace{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--paper);min-width:0;align-self:start}.practice-workspace:fullscreen{background:var(--bg);border-radius:0;display:flex;flex-direction:column;justify-content:center;padding:12px 4vw;overflow-y:auto}.practice-workspace:fullscreen .stage-content{flex:1;min-height:250px}.practice-workspace:fullscreen .falling-canvas{height:100%;min-height:45vh}.stage-toolbar{padding:12px 15px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.view-switch{display:inline-flex;background:var(--soft);padding:3px;border-radius:7px;gap:2px}.view-switch>button{padding:7px 11px;border-radius:5px;font-size:10px;color:var(--muted)}.view-switch>button.selected{background:var(--paper);box-shadow:0 1px 5px #30372d0b;color:var(--text)}.stage-toolbar-right{display:flex;align-items:center;gap:7px}.stage-status{font-size:9px!important;color:var(--muted)}.status-dot{width:5px;height:5px;border-radius:50%;background:#9ba48f}.status-dot.pulsing{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.stage-content{height:365px;background:var(--soft);position:relative}.falling-canvas{display:block;height:100%;width:100%}.stage-position{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:12px;font-family:DM Mono,monospace;font-size:8px;color:var(--muted)}.bar-indicators{display:flex;gap:4px}.bar-indicators button{width:20px;height:5px;background:var(--line);border-radius:2px;padding:0;position:relative}.bar-indicators button:before{position:absolute;content:"";inset:-8px 0}.bar-indicators button.current{background:var(--sage-ink)}.transport-controls{display:flex;align-items:center;gap:21px;padding:20px}.playback-buttons{display:flex;align-items:center;gap:10px}.playback-buttons .icon-button{width:35px;height:35px}.play-button{display:grid;place-items:center;width:49px;height:49px;border-radius:50%;background:var(--text);color:var(--bg)}.play-button:hover{background:var(--sage-ink)}.play-button svg{width:18px}.play-button svg.lucide-play{margin-left:3px}.tempo-control{display:flex;align-items:center;gap:4px;border-left:1px solid var(--line);padding-left:17px}.tempo-control>button{padding:10px 0;color:var(--muted);display:flex}.tempo-control label{display:flex;align-items:baseline;gap:4px}.tempo-control input{width:61px;text-align:center;border:0;background:transparent;font-family:DM Mono,monospace;font-size:26px;letter-spacing:-1px;padding:0}.tempo-control label>span{font-family:DM Mono,monospace;font-size:8px;color:var(--muted)}.session-clock{margin-left:auto;display:grid;grid-template-columns:18px auto;column-gap:7px;row-gap:2px;align-items:center;color:var(--muted)}.session-clock>span{font-family:DM Mono,monospace;font-size:18px;letter-spacing:-.7px;color:var(--text)}.session-clock>small{font-size:8px;grid-column:2}.finish-button{font-size:10px;padding:9px 11px}.tempo-presets{display:flex;align-items:center;gap:7px;border-top:1px solid var(--line);padding:11px 20px}.tempo-presets>span{font-family:DM Mono,monospace;font-size:7px;letter-spacing:.9px;color:var(--muted);margin-right:5px}.tempo-presets>button{font-family:DM Mono,monospace;border:1px solid var(--line);border-radius:5px;font-size:9px;padding:5px 9px}.tempo-presets>button:hover,.tempo-presets>button.active{background:var(--sage);border-color:var(--sage-ink);color:var(--sage-ink)}.tempo-presets>.practice-options-button{margin-left:auto;display:flex;align-items:center;gap:6px;font-family:DM Sans,sans-serif;font-size:9px;border:0;padding:4px 0}.practice-footer{display:flex;justify-content:space-between;padding:12px 20px;background:var(--bg);gap:10px;color:var(--muted);font-size:8px;border-top:1px solid var(--line)}kbd{font-family:DM Mono,monospace;border:1px solid var(--line);border-radius:3px;background:var(--paper);padding:2px 4px;font-size:8px;margin-right:5px}.practice-footer kbd+kbd{margin-left:7px}.practice-options{border-top:1px solid var(--line);padding:18px 20px;background:var(--bg)}.volume-settings{display:grid;grid-template-columns:1fr 1fr;gap:25px}.volume-settings>label{display:grid;grid-template-columns:16px 1fr 30px;align-items:center;gap:7px;font-size:10px}.volume-settings input{grid-column:1/3;grid-row:2}.volume-settings>label>span{grid-column:3;grid-row:2;color:var(--muted);font-family:DM Mono,monospace;font-size:8px}.options-row{display:flex;align-items:center;gap:20px;margin:20px 0 0}.options-row .field{font-size:9px;margin:0}.options-row input[type=number]{max-width:95px}.options-row .check-label{margin-top:10px}.practice-options>.small{margin:13px 0 0}.equipment-warning{display:flex;align-items:center;gap:10px;background:var(--accent-soft);padding:14px 18px;color:var(--accent);font-size:10px;line-height:1.6}.equipment-warning>span{flex:1}.equipment-warning button{display:flex;align-items:center;gap:4px;font-size:10px;font-weight:600;white-space:nowrap}.notice{font-size:11px;line-height:1.7;padding:13px 16px;border:1px solid var(--line);border-radius:7px;margin:14px}.notice.error{background:var(--accent-soft);color:var(--accent)}.notice.success{background:var(--sage);color:var(--sage-ink)}.storage-banner{background:var(--accent-soft);color:var(--accent);padding:10px 30px;font-size:11px;display:flex;gap:20px;align-items:center;justify-content:center;position:relative;z-index:30}.storage-banner button{color:var(--text);white-space:nowrap;text-decoration:underline}.toast{position:fixed;z-index:100;bottom:25px;left:50%;transform:translate(-50%);background:var(--text);color:var(--bg);border-radius:9px;box-shadow:0 5px 30px #0002;padding:14px 20px;font-size:12px;display:flex;align-items:center;gap:10px;max-width:90vw}.text-button,.source-link{line-height:1.5}.notation-stage{height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding:22px 0 15px}.notation-caption{display:flex;justify-content:space-between;padding:0 23px;font-size:8px;color:var(--muted);font-family:DM Mono,monospace;gap:15px}.notation-scroll{overflow-x:auto;overflow-y:hidden;width:100%;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.notation-inner{position:relative;width:max-content;min-height:250px}.notation-inner svg{display:block}.notation-playhead{position:absolute;left:0;top:62px;bottom:45px;width:2px;background:var(--accent);pointer-events:none;box-shadow:0 0 0 5px var(--accent-soft);opacity:.8}.notation-key{display:flex;justify-content:center;flex-wrap:wrap;gap:15px;font-size:8px;color:var(--muted);font-family:DM Mono,monospace;padding:0 15px}.stage-note{font-size:10px;text-align:center;color:var(--muted);margin:12px 0 0}.notation-loading{text-align:center;padding:50px;color:var(--muted);font-family:"Instrument Serif",serif;font-size:24px}.drawer-overlay{position:fixed;inset:0;z-index:80;background:#22291e66;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:flex-end}.drawer{width:min(470px,100vw);height:100%;background:var(--bg);box-shadow:-15px 0 80px #0002;overflow-y:auto;animation:slide-in .2s ease-out;overscroll-behavior:contain}.drawer-wide{width:min(610px,100vw)}.drawer-header{display:flex;align-items:center;justify-content:space-between;padding:31px 30px 25px;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2;background:var(--bg);gap:15px}.drawer-header h2{font-family:"Instrument Serif",serif;font-size:33px;letter-spacing:-.7px;margin:7px 0 0}.drawer-header .eyebrow{font-size:8px;margin:0}.drawer-body{padding:27px 30px 40px}.drawer-intro{color:var(--muted);font-size:13px;line-height:1.85;margin:0 0 28px}.drawer-body h3{font-size:13px;margin:22px 0 14px}.drawer-section{padding:10px 0 17px;border-top:1px solid var(--line);scroll-margin-top:140px}.drawer-section p{font-size:12px;color:var(--muted);line-height:1.9}.small{font-size:10px;line-height:1.8}.muted{color:var(--muted)}.pad-select{display:flex;gap:9px;margin-bottom:22px}.pad-select button{display:flex;flex-direction:column;align-items:center;flex:1;border:1px solid var(--line);border-radius:8px;padding:16px 7px 12px;background:var(--paper);gap:7px}.pad-select button strong{font-size:19px;font-weight:500}.pad-select button small{font-size:10px;color:var(--muted)}.pad-select button.selected{border-color:var(--sage-ink);background:var(--sage);color:var(--sage-ink)}.pedal-toggle{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.pedal-toggle>div{display:flex;align-items:center;gap:13px}.pedal-toggle strong{display:block;font-size:12px;font-weight:500}.pedal-toggle small{display:block;font-size:10px;color:var(--muted);margin-top:5px}.setup-map{display:flex;align-items:center;justify-content:center;gap:12px;min-height:120px}.pad-dot{display:grid;place-items:center;border-radius:50%;width:48px;height:48px;background:var(--sage);border:5px solid var(--line);font-family:DM Mono,monospace;font-size:12px;color:var(--sage-ink)}.pad-dot.pad-2{background:#d5e2d7;color:#526551}.pad-dot.pad-3{background:#e8dec1;color:#7b6840}.pad-dot.pad-4{background:#ddd7e8;color:#71637f}.pad-dot.pedal-dot{background:#d4dfe4;color:#536b80;border-radius:10px;width:32px}.theme-choices{display:flex;gap:10px}.theme-choices button{display:flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--paper);border-radius:6px;flex:1;font-size:11px;padding:12px}.theme-choices .selected{border-color:var(--sage-ink);background:var(--sage)}.history-totals{display:flex;justify-content:space-between;gap:20px;margin:0 0 25px}.history-totals>div{display:flex;flex-direction:column;gap:6px}.history-totals strong{font-family:"Instrument Serif",serif;font-size:40px;font-weight:400}.history-totals span{font-size:10px;color:var(--muted)}.backup-actions{display:flex;gap:10px}.backup-actions>*{flex:1}.history-list{margin-top:25px;border-top:1px solid var(--line)}.history-list article{display:flex;align-items:center;justify-content:space-between;padding:17px 0;border-bottom:1px solid var(--line);gap:12px}.history-list article strong{font-size:12px;font-weight:500}.history-list article small{display:block;color:var(--muted);font-size:10px;margin-top:7px}.rating-label{white-space:nowrap;background:var(--sage);color:var(--sage-ink);border-radius:4px;padding:5px 7px;font-size:9px}.rating-needs-work{background:var(--accent-soft);color:var(--accent)}.help-intro{display:flex;align-items:center;gap:17px;padding-bottom:20px;color:var(--sage-ink)}.help-intro p{font-family:"Instrument Serif",serif;font-size:25px;line-height:1.3;max-width:275px;margin:0}.help-links{display:flex;flex-direction:column;margin:0 0 25px}.help-links a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;text-decoration:none;font-size:11px}.help-links a:hover{color:var(--accent)}.keyboard-row{display:flex;align-items:center;gap:20px;font-size:11px;padding:8px 0}.keyboard-row kbd{min-width:58px;text-align:center;font-size:10px;padding:4px}.source-link{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted);text-decoration:none;margin-top:24px}.field{display:flex;flex-direction:column;gap:8px;font-size:11px;font-weight:500;margin-bottom:22px}.field input,.field select,.field textarea{width:100%;font-size:12px;font-weight:400}.field textarea{font-family:DM Mono,monospace;font-size:12px;line-height:1.8;resize:vertical}.editor-builder{border:1px solid var(--line);padding:4px 17px 17px;border-radius:9px;background:var(--paper);margin-bottom:25px}.builder-controls{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:9px}.builder-controls .field{font-size:10px;margin:0}.builder-controls select{font-size:10px;padding:10px 6px}.builder-add{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:16px 0 12px}.check-label{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:400;white-space:nowrap}.step-chips{display:flex;flex-wrap:wrap;gap:7px}.step-chip{background:var(--soft);border:1px solid var(--line);display:flex;border-radius:6px;padding:7px;gap:9px;font-family:DM Mono,monospace;font-size:10px;align-items:center}.step-chip small{display:block;font-size:8px;color:var(--muted);margin-top:5px}.step-chip button{display:flex;padding:4px;color:var(--muted)}.step-chip button:hover{color:var(--accent)}.custom-preview{background:var(--sage);border-radius:8px;padding:14px 18px;font-size:11px}.custom-preview .rhythm-preview{max-width:330px}.custom-preview p{margin:8px 0 3px}.rating-options{display:flex;flex-direction:column;gap:10px;margin:25px 0}.rating-button{display:flex;align-items:center;gap:17px;border:1px solid var(--line);background:var(--paper);padding:20px 17px;text-align:left;border-radius:8px}.rating-button:hover{border-color:var(--sage-ink);background:var(--sage)}.rating-button>span{color:var(--muted);font-family:DM Mono,monospace;font-size:11px}.rating-button>div{flex:1}.rating-button strong{font-size:13px;font-weight:500;display:block}.rating-button small{font-size:10px;color:var(--muted);margin-top:6px;display:block}.fatal-error{padding:20vh 25px;text-align:center}.fatal-error h1{font-family:"Instrument Serif",serif;font-size:40px}.fatal-error button{background:var(--text);color:var(--bg);border-radius:6px;padding:12px 20px}@keyframes arrive{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-in{0%{transform:translate(25px);opacity:.5}to{transform:translate(0);opacity:1}}@media(min-width:1550px){.library-main{padding:0 65px}.hero{padding-top:60px;padding-bottom:46px}.hero-copy>h1{font-size:78px}.hero-copy>p:not(.eyebrow){font-size:14px}.hero-feature{padding-left:55px}.pad-art{height:220px}.lesson-card{padding:20px 22px 0}.card-main h3{font-size:17px}.card-main p{font-size:12px}.card-tags{font-size:10px}.card-bottom{font-size:10px;padding:14px 0}.card-bottom>span{font-size:9px}.card-bottom button{font-size:10px}.lesson-sequence{font-size:8px}.section-heading h2{font-size:38px}.library-filters input{font-size:12px}}@media(max-width:1200px){.library-layout{grid-template-columns:210px minmax(0,1fr)}.sidebar{padding-left:14px;padding-right:14px}.library-main{padding:0 30px}.lesson-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:minmax(0,1.2fr) minmax(210px,1fr);gap:15px}.hero-copy>h1{font-size:56px}.hero-stats{gap:17px}.hero-feature{padding-left:0}.hero-stats>span{font-size:9px}.hero-stats strong{font-size:23px}.practice-layout{grid-template-columns:205px minmax(0,1fr);gap:25px}.practice-page{padding:25px 30px}.transport-controls{gap:13px;padding:17px 14px}.tempo-control{padding-left:10px}.finish-button{font-size:0;gap:0;width:31px;height:31px;padding:0}.finish-button svg{width:12px}.practice-heading h1{font-size:43px}.lesson-notes h2{font-size:28px}}@media(max-width:960px){.app-header{padding:0 25px;height:78px}.brand-caption{font-size:8px;letter-spacing:1px}.library-layout{grid-template-columns:190px minmax(0,1fr)}.nav-item{font-size:10px;gap:8px;padding:10px}.nav-item svg{width:15px}.sidebar{padding:32px 10px}.sidebar-title{font-size:8px;padding:0 10px}.hero{grid-template-columns:1fr;padding-top:33px}.hero-copy>h1{font-size:62px;margin:16px 0}.hero-feature{display:none}.hero-stats{margin-top:23px;gap:30px}.section-heading{align-items:flex-start}.section-heading h2{font-size:30px}.new-rhythm{font-size:0;gap:0;padding:9px}.new-rhythm svg{width:17px}.library-filters{flex-wrap:wrap}.search-field{max-width:none;flex-basis:100%}.library-filters>select{flex:1;max-width:none}.library-results>span+span{display:none}.library-main{padding:0 25px}.practice-layout{grid-template-columns:minmax(0,1fr)}.lesson-notes{display:grid;grid-template-columns:1fr 1fr;gap:0 25px;padding:0;order:2;margin-top:10px}.lesson-notes section{margin-bottom:10px}.lesson-notes h2{display:none}.lesson-notes .tip{margin-top:15px}.lesson-notes>section:first-child{grid-column:1}.lesson-notes>section:nth-child(2){grid-column:2}.lesson-notes>section:nth-child(3){grid-row:2/5}.lesson-notes>.small{grid-column:2}.lesson-notes>.next-lesson{grid-column:2;margin-top:6px}.practice-workspace{order:1}.stage-content{height:400px}.practice-heading{margin:25px 0}.transport-controls{padding:20px;gap:25px}.finish-button{font-size:11px;width:auto;height:auto;padding:10px 13px;gap:7px}.tempo-control{padding-left:20px}.library-footer{font-size:8px}.sidebar-bottom{padding-left:10px}.sidebar-bottom>span{font-size:6px}}@media(max-width:700px){.app-header{height:72px;padding:0 18px;gap:12px}.brand{font-size:31px;gap:8px}.brand-icon{width:35px;height:35px}.brand-icon svg{width:21px}.brand-caption{display:none}.header-tools{gap:5px}.header-divider,.header-help{display:none}.setup-button{font-size:10px;padding:8px 10px;gap:6px}.setup-button>svg:last-child{display:none}.mobile-menu-button{display:flex}.library-layout{display:block;min-height:calc(100vh - 72px)}.sidebar{display:none}.sidebar.mobile-open{display:flex;position:fixed;inset:72px 0 0;z-index:40;background:var(--bg);overflow-y:auto;padding:25px}.sidebar.mobile-open .nav-item{font-size:13px;padding:12px 15px}.sidebar.mobile-open .sidebar-bottom{display:none}.library-main{padding:0 21px}.hero{padding:31px 0 28px}.hero-copy>h1{font-size:60px;letter-spacing:-1.4px;margin:17px 0 19px}.hero-copy>p:not(.eyebrow){font-size:12px}.hero .eyebrow{font-size:8px}.hero-stats{gap:27px;margin-top:24px}.hero-stats strong{font-size:25px}.hero-stats>span{font-size:9px}.hero-stats i{height:33px}.lesson-library{padding-top:27px}.section-heading h2{font-size:31px;max-width:240px;line-height:1.1;margin-bottom:9px}.section-heading p:not(.eyebrow){font-size:10px}.new-rhythm{padding:9px 10px;margin-top:10px}.library-filters{margin-top:21px}.library-filters>select{font-size:9px;padding:9px}.equipment-filter{font-size:9px}.lesson-grid{gap:11px}.lesson-card{padding:14px 13px 0;border-radius:8px}.lesson-sequence{font-size:6px;letter-spacing:.3px}.card-main h3{font-size:14px;margin:14px 0 8px}.card-main p{font-size:9px;min-height:43px}.card-topline{gap:0}.favorite-button svg{width:14px}.rhythm-preview{height:35px}.card-tags{font-size:7px;gap:5px;margin:11px 0}.card-bottom>span{font-size:7px;white-space:nowrap}.card-bottom button{font-size:8px;gap:2px}.card-bottom button svg{width:12px}.card-bottom i{margin:0 2px}.library-footer{margin-top:27px;padding-bottom:24px;font-size:8px;gap:12px}.library-footer span svg{display:none}.library-footer button{font-size:8px}.practice-page{padding:20px 17px 35px}.practice-breadcrumb{font-size:9px;gap:10px}.practice-breadcrumb .text-button{font-size:10px}.practice-number{font-size:7px;letter-spacing:.5px}.practice-heading{margin:24px 0 22px}.practice-heading h1{font-size:39px;letter-spacing:-.5px}.practice-heading .eyebrow{font-size:7px;gap:5px}.practice-heading>.icon-button{width:33px;height:33px}.stage-toolbar{padding:10px;gap:6px}.view-switch>button{font-size:9px;padding:7px 9px}.stage-toolbar-right{gap:5px}.stage-toolbar-right .icon-button{width:29px;height:29px}.stage-status{display:none}.stage-content{height:350px}.stage-position{font-size:7px;padding:12px 13px;gap:5px}.bar-indicators button{width:14px}.transport-controls{padding:17px 12px;gap:12px;flex-wrap:wrap}.playback-buttons{gap:6px}.playback-buttons .icon-button{width:29px;height:29px}.playback-buttons .icon-button svg{width:15px}.play-button{width:43px;height:43px}.tempo-control{padding-left:10px;gap:0}.tempo-control input{font-size:23px;width:46px}.tempo-control label>span{font-size:7px}.tempo-control button{padding:10px 0}.tempo-control button svg{width:15px}.session-clock{column-gap:4px;grid-template-columns:13px auto}.session-clock svg{width:12px}.session-clock>span{font-size:15px}.session-clock>small{font-size:7px}.finish-button{font-size:0;gap:0;width:28px;height:28px;padding:0}.tempo-presets{padding:12px;gap:5px}.tempo-presets>span{font-size:6px;letter-spacing:.3px;margin-right:0}.tempo-presets>button{font-size:8px;padding:5px 7px}.tempo-presets>.practice-options-button{font-size:8px;gap:4px}.practice-footer{font-size:7px;padding:12px;gap:8px;flex-wrap:wrap}.practice-footer>span:last-child{font-size:7px}.practice-footer kbd{font-size:7px}.practice-layout{gap:15px}.lesson-notes{gap:0 18px;padding:0 3px}.lesson-notes .eyebrow{font-size:7px}.lesson-notes section>p:not(.eyebrow){font-size:10px;line-height:1.9}.lesson-notes .counting-text{font-size:10px!important}.tip{padding:12px;gap:7px}.tip>svg{display:none}.tip p{font-size:9px}.lesson-detail-pair{font-size:9px;gap:7px}.lesson-notes>.small{font-size:8px}.equipment-warning{padding:12px;font-size:9px;gap:6px;flex-wrap:wrap}.equipment-warning>svg{width:15px}.equipment-warning button{margin-left:21px;font-size:9px}.volume-settings{grid-template-columns:1fr;gap:17px}.options-row{flex-wrap:wrap;gap:15px}.practice-options{padding:18px 14px}.notation-caption{font-size:6px;padding:0 15px}.notation-key{gap:9px;font-size:7px}.stage-note{font-size:9px}.drawer-header{padding:25px 23px 22px}.drawer-header h2{font-size:31px}.drawer-body{padding:23px 23px 35px}.builder-controls{grid-template-columns:1fr 1fr}.builder-controls>.field:last-child{grid-column:1/3}.storage-banner{font-size:10px;padding:10px 16px;display:block}.storage-banner button{margin-left:8px}.history-totals{gap:12px}.history-totals span{font-size:9px}}@media(max-width:370px){.hero-copy>h1{font-size:52px}.hero-stats{gap:18px}.lesson-grid{grid-template-columns:1fr}.lesson-card{padding:18px 20px 0}.card-main h3{font-size:17px}.card-main p{font-size:11px;min-height:auto}.lesson-sequence{font-size:8px}.card-tags{font-size:9px}.card-bottom>span{font-size:8px}.card-bottom button{font-size:10px}.header-tools .icon-button{width:30px}.setup-button{padding:7px;font-size:9px}.setup-button>svg:first-child{display:none}.stage-content{height:310px}.tempo-presets>span{display:none}.transport-controls{gap:9px}.tempo-control{border:0;padding:0}.practice-number{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@media(min-width:701px){.card-main h3{font-size:17px}.card-main p{font-size:12px;line-height:1.75}.card-tags{font-size:9px}.card-bottom>span{font-size:9px}.card-bottom button{font-size:10px}.lesson-sequence{font-size:8px}.nav-item{font-size:12px}.library-filters>select,.equipment-filter,.search-field input{font-size:11px}}@media(max-width:520px){.lesson-grid{grid-template-columns:1fr;gap:15px}.lesson-card{padding:20px 22px 0}.lesson-sequence{font-size:8px;letter-spacing:.6px}.favorite-button svg{width:18px}.card-main h3{font-size:19px;margin-top:18px}.card-main p{font-size:12px;min-height:0;margin-bottom:14px}.rhythm-preview{height:43px}.card-tags{font-size:10px;gap:13px;margin:15px 0}.card-bottom{padding:14px 0}.card-bottom>span{font-size:9px}.card-bottom button{font-size:11px;gap:6px}.card-bottom button svg{width:15px}.play-button{width:45px;height:45px}}
