:root{--paper:#f7f2e8;--sheet:#fffaf0;--ink:#273c36;--muted:#6f766c;--teal:#2e6b61;--teal-soft:#dfebe0;--rust:#b65b42;--gold:#dca853;--line:#dedccd;--serif:'Fraunces',Georgia,serif;--body:'DM Sans',sans-serif;--shadow:0 18px 70px #384a3510}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 var(--body);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;padding-bottom:98px}body:before{content:'';position:fixed;inset:0;pointer-events:none;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23000' opacity='.035' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E");opacity:.4}
button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;border:1px solid var(--line);background:transparent;border-radius:12px;padding:10px 17px;min-height:48px;font-weight:600;transition:background .18s,transform .18s,color .18s}button:hover{background:#e8ecdf}button:active{transform:translateY(1px)}button:disabled{opacity:.36;cursor:default;transform:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}[hidden]{display:none!important}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--serif);font-weight:500;letter-spacing:-.045em;line-height:1.08}h1{font-size:clamp(46px,5.5vw,78px);margin-bottom:22px}h2{font-size:clamp(34px,4vw,52px);margin-bottom:20px}h3{font-size:25px;margin-bottom:12px;letter-spacing:-.025em}em{font-weight:400;color:var(--teal)}p{margin-bottom:17px}a{color:var(--teal);text-underline-offset:4px}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7}.primary{background:var(--teal);border-color:var(--teal);color:#fffdf4}.primary:hover{background:#225449;color:white;border-color:#225449}.quiet-action{border-color:transparent;display:inline-flex;gap:8px;align-items:center;font-size:14px;padding:8px 0;color:var(--teal);background:transparent}.quiet-action:hover{background:transparent;text-decoration:underline;text-underline-offset:5px}.icon-action{padding:7px 14px;min-width:48px}.sr-only,.skip{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip:focus{clip:auto;width:auto;height:auto;top:12px;left:12px;z-index:100;background:var(--sheet);padding:12px}
.book-top{height:85px;max-width:1360px;margin:auto;padding:0 40px;display:flex;align-items:center;justify-content:space-between;gap:20px}.book-home{font:500 20px var(--serif);letter-spacing:-.03em;display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-height:48px}.brand-mark{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--rust);color:var(--sheet);font-size:24px;line-height:1}.book-piece{font-size:12px;color:var(--muted)}.book-piece>span{padding:0 8px}.map-btn{display:flex;align-items:center;gap:10px;border:0;font-size:13px;padding:10px 14px}.book-stage{max-width:1280px;padding:14px 32px 25px;margin:auto;outline:none}.chapter{animation:page-enter .45s ease-out}.chapter.cover,.story-spread{display:grid;grid-template-columns:1.03fr 1fr;background:var(--sheet);border:1px solid #e5e1d5;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);min-height:590px}.spread-art{position:relative;overflow:hidden;min-height:100%;background:#dfe3ca}.spread-art>img{width:100%;height:100%;object-fit:cover;display:block;position:absolute;inset:0}.cover-art>img{object-position:50% 50%}.cover-copy{padding:45px 48px 38px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.cover-copy p{max-width:335px;font-size:15px;color:var(--muted)}.cover-copy .opening-copy{color:var(--ink);font-size:20px;line-height:1.55;margin-bottom:16px}.composer-name{font-size:12px!important;letter-spacing:.01em;color:var(--rust)!important;margin-bottom:28px}.tiny-flourish{font-size:29px;color:var(--gold);margin-bottom:17px;line-height:1}.big-action{min-height:55px;padding:13px 22px;font-size:15px;margin-top:11px;display:flex;gap:30px;align-items:center}.big-action span{font-size:23px;line-height:1}.cover-copy .quiet-action{margin-top:9px;font-size:12px}.art-seal{position:absolute;bottom:27px;left:28px;display:grid;place-content:center;text-align:center;background:#ffeed0e8;width:99px;height:99px;border-radius:50%;font:italic 17px/1.2 var(--serif);color:#573f2f;transform:rotate(-9deg);box-shadow:0 3px 12px #25352813}
.story-copy{padding:44px 42px}.story-copy>p{font-size:15px;line-height:1.75}.story-copy .story-lead{font-family:var(--serif);font-size:22px;line-height:1.45;letter-spacing:-.025em}.story-folds{margin-top:26px;border-top:1px solid var(--line)}.story-panel{border-bottom:1px solid var(--line)}.story-panel summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:54px;cursor:pointer;list-style:none;font-size:14px;font-weight:600}.story-panel summary::-webkit-details-marker{display:none}.story-panel summary span{font-weight:400;font-size:21px;color:var(--teal);transition:transform .2s}.story-panel[open] summary span{transform:rotate(45deg)}.story-panel>div{padding:5px 3px 12px}.story-panel p{font-size:14px;line-height:1.75}.story-panel p:last-child{margin-bottom:5px}.closing-note{position:absolute;left:24px;right:24px;bottom:25px;padding:23px;background:#fff5dfed;border-radius:12px;font:500 28px/1.18 var(--serif);text-align:center}.closing-actions{margin-top:28px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.book-nav{position:fixed;bottom:0;left:0;right:0;z-index:30;height:83px;padding:10px max(30px,calc((100vw - 1220px)/2)) calc(10px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;background:#f7f2e8f5;border-top:1px solid #e3dfd1;backdrop-filter:blur(14px)}.book-nav button{border:0;font-size:14px}.nav-back{justify-self:start;display:flex;align-items:center;gap:17px}.nav-next{justify-self:end;display:flex;align-items:center;gap:20px}.nav-next span,.nav-back span{font-size:20px;font-weight:400}.page-position{display:flex;align-items:center;gap:13px}.page-dots{display:flex;gap:2px}.page-dots button{width:26px;min-width:26px;min-height:44px;padding:0;display:grid;place-content:center}.page-dots button:before{content:'';height:6px;width:6px;background:#c7cbbd;border-radius:50%;transition:all .2s}.page-dots button.current:before{background:var(--teal);width:19px;border-radius:4px}.page-dots button:hover{background:transparent}.page-position p{margin:0;font-size:11px;color:var(--muted);white-space:nowrap}.chapter-map{position:absolute;top:76px;left:50%;transform:translateX(-50%);z-index:40;background:var(--sheet);border:1px solid var(--line);border-radius:20px;padding:30px;width:min(940px,calc(100% - 44px));box-shadow:0 25px 80px #243e3228}.map-intro h2{font-size:29px;margin-bottom:9px}.map-intro p{font-size:14px;color:var(--muted)}.chapter-map ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;margin:24px 0 0;padding:0;gap:10px}.chapter-map li button{width:100%;text-align:left;display:flex;flex-direction:column;align-items:flex-start;padding:18px;border-radius:12px;min-height:132px}.chapter-map button.current{background:var(--teal-soft);border-color:#adccbb}.chapter-map button>span{font:italic 20px var(--serif);color:var(--rust);margin-bottom:10px}.chapter-map strong{font-size:14px}.chapter-map small{font-size:12px;font-weight:400;color:var(--muted)}
.chapter-heading{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:15px 0 23px}.chapter-heading h2{margin-bottom:10px}.chapter-heading p{font-size:14px;max-width:650px;color:var(--muted);margin:0}.movement-label{font:italic 23px var(--serif);white-space:nowrap;color:var(--rust);text-align:right}.movement-label span{display:block;font:11px var(--body);color:var(--muted);margin-top:9px}.listening-room{display:grid;grid-template-columns:.74fr 1.26fr;gap:25px}.recording-card{background:var(--sheet);border:1px solid var(--line);border-radius:20px;overflow:hidden}.recording-art{width:100%;height:186px;object-fit:cover;object-position:50% 40%;display:block}.recording-copy{padding:23px 26px;position:relative}.recording-copy h3{font-size:27px}.recording-copy>p{font-size:13px;color:var(--muted)}.recording-icon{position:absolute;right:26px;top:18px;color:var(--rust);font:30px var(--serif)}.recording-actions{display:flex;gap:9px}.recording-actions .primary{flex:1;font-size:14px}.seek-row{display:flex;flex-direction:column;gap:4px;margin-top:20px}.seek-row>span{font-size:10px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums}input[type=range]{accent-color:var(--teal);min-height:30px;cursor:pointer;width:100%;margin:0}.recording-copy>.quiet-action{font-size:12px;min-height:36px}.discovery-panel{padding:29px;background:#edf0e4;border:1px solid #dce2d1;border-radius:20px}.panel-heading{display:flex;justify-content:space-between;gap:15px}.panel-heading h3{font-size:28px;margin-bottom:7px}.panel-heading p{font-size:13px;color:var(--muted)}.piano-mark{font-size:40px;color:#829582;font-family:var(--serif)}.music-paper{background:#fffaf0;border:1px solid #e5e3d4;border-radius:14px;overflow:hidden;margin:10px 0 20px}#compareViz{width:100%;height:236px;display:block}.viz-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:10px;color:var(--muted);padding:8px 17px 14px}.viz-legend>span{display:flex;align-items:center;gap:5px}.tune-dot,.bass-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--teal);flex-shrink:0}.bass-dot{background:var(--rust)}.segmented{display:flex;border:1px solid #cad4bf;border-radius:12px;padding:4px;gap:4px}.segmented button{flex:1;border:0;font-size:13px;min-height:43px;padding:9px 10px}.segmented button.selected,.segmented button[aria-pressed=true]{background:var(--teal);color:white}.compare-bottom{display:flex;justify-content:space-between;align-items:center;gap:12px}.compare-bottom .quiet-action{font-size:11px}.music-status{font-size:12px;color:var(--muted);margin:9px 0 0;min-height:20px}.sample-state{font-size:12px;color:var(--rust);margin:5px 0 0}.sample-state[data-state=idle],.sample-state[data-state=ready]{display:none}.retry-sounds{display:none!important}.sample-state[data-state=error]+.retry-sounds{display:inline-flex!important}.music-credit{margin-top:19px;font-size:11px;color:var(--muted)}.music-credit summary{cursor:pointer;min-height:35px}.music-credit p{max-width:850px;font-size:12px}.drawn-star{font-size:76px;color:var(--gold);line-height:1;font-family:var(--serif)}
.lesson-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0 0 23px}.lesson-tab{text-align:left;display:flex;align-items:center;gap:16px;border:1px solid var(--line);border-radius:15px;background:var(--sheet);padding:20px}.lesson-tab .lesson-symbol{font:34px var(--serif);color:var(--rust);width:43px;text-align:center}.lesson-tab strong{display:block;font-size:14px}.lesson-tab small{display:block;font-size:11px;font-weight:400;color:var(--muted);margin-top:3px}.lesson-tab[aria-selected=true]{background:var(--teal-soft);border-color:#a4c2ae}.lesson-workshop{display:grid;grid-template-columns:.78fr 1.22fr;gap:45px;border:1px solid var(--line);background:var(--sheet);padding:37px;border-radius:22px;min-height:380px}.lesson-text h3{font-size:34px;margin:0 0 18px}.lesson-text p{font-size:14px;color:var(--muted)}.lesson-text .lesson-question{font-family:var(--serif);font-size:21px;color:var(--ink);line-height:1.4;margin-top:24px}.lesson-canvas{background:#f0eddf;border:1px solid #e2e0cf;border-radius:17px;min-height:230px;display:flex;flex-direction:column;justify-content:center;padding:27px;position:relative;overflow:hidden}.chord-notes{display:flex;justify-content:center;align-items:center;gap:16px;min-height:140px}.chord-note{height:81px;width:81px;background:#dae6d7;color:var(--teal);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;font-family:var(--serif);font-size:32px;box-shadow:0 7px 0 #c1d6bf}.chord-note small{font:10px var(--body);margin-top:3px}.chord-note.middle{background:#efd8b4;box-shadow:0 7px 0 #dbbd91;color:#79512c;transition:transform .3s}.chord-notes.minor .middle{transform:translateY(22px);background:#e6c8bf;box-shadow:0 7px 0 #cca59b}.lesson-control-row{display:flex;justify-content:center;align-items:center;gap:10px;margin-top:24px;flex-wrap:wrap}.lesson-control-row button{font-size:13px}.lesson-control-row .selected{background:var(--teal);color:white;border-color:var(--teal)}.lesson-caption{text-align:center;font-size:12px;color:var(--muted);margin:15px 0 0}.lesson-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 3px}.lesson-footer .quiet-action{font-size:12px}.lesson-footer p{margin:0;font-size:12px;color:var(--muted)}.pulse-dots{display:flex;justify-content:space-between;gap:12px;padding:0 17px 25px;border-bottom:1px dashed #c8cebb}.pulse-dots span{width:34px;height:34px;border-radius:50%;background:#d2ddc9;display:grid;place-items:center;font-size:12px;transition:background .08s}.pulse-dots span.on{background:var(--rust);color:white}.rhythm-steps{display:grid;grid-template-columns:repeat(8,1fr);gap:7px;margin-top:22px}.rhythm-step{padding:0;min-width:0;height:62px;background:var(--teal);border-color:var(--teal);color:white;font-size:24px;border-radius:10px}.rhythm-step.rest{background:#e2e0d3;border:1px dashed #b9bdad;color:#9aa18e}.rhythm-step.playing{outline:3px solid var(--gold);outline-offset:3px}.bass-illustration{display:flex;align-items:flex-end;justify-content:center;gap:34px;min-height:160px}.music-stack{display:flex;flex-direction:column;gap:5px;align-items:center}.music-stack span{width:70px;height:19px;background:var(--teal);border-radius:10px;transform:translateX(calc(var(--offset,0)*1px))}.music-stack.low span{background:var(--rust);width:95px}.music-stack.muted{opacity:.2}.music-stack p{font-size:12px;color:var(--muted);margin:12px 0 0}.lesson-toggle{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:48px;font-size:13px}.lesson-toggle input{accent-color:var(--teal);height:20px;width:20px}.lesson-next{margin-top:18px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:20px 0;gap:25px}.lesson-next p{margin:0;font-family:var(--serif);font-size:21px;max-width:620px}.lesson-next .primary{font-size:13px;white-space:nowrap}
.composer{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--sheet)}.composer-topline{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:19px 26px;border-bottom:1px solid var(--line)}.title-input{min-width:0;flex:1}.title-input input{font:500 25px var(--serif);color:var(--ink);border:0;border-bottom:1px dashed #bfc5b4;width:100%;max-width:310px;background:transparent;min-height:45px;padding:4px 0}.composer-transport{display:flex;gap:8px;align-items:center}.composer-transport button{font-size:12px}.save-action{border-color:#c5ceb9;background:#eef2e6}.composer-body{display:grid;grid-template-columns:228px minmax(0,1fr)}.composer-tools{padding:25px 23px;background:#edf0e4;border-right:1px solid var(--line)}.composer-tools h3{font-size:21px;margin-bottom:26px}.composer-tools>label{display:block;font-size:12px;font-weight:600;margin-bottom:9px}.composer-tools select{width:100%;min-height:46px;border:1px solid #c9d2bd;color:var(--ink);background:#fffaf0;border-radius:9px;padding:9px;font-size:12px;margin-bottom:22px}.composer-tools input[type=range]{margin-bottom:21px}.composer-tools output{float:right;font-weight:400;color:var(--muted)}.tool-pair{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:20px}.tool-pair button{padding:7px;font-size:11px;background:#f9f9ee;border-color:#cdd4c3}.composer-options{border-top:1px solid #d3dbc9}.composer-options summary{font-size:12px;font-weight:600;min-height:47px;display:flex;align-items:center;cursor:pointer}.composer-options summary:after{content:'+';margin-left:auto}.composer-options[open] summary:after{content:'−'}.composer-options>div{display:flex;flex-direction:column;gap:7px}.composer-options button{font-size:11px;padding:9px;min-height:44px}.save-note{font-size:10px;color:var(--muted);line-height:1.5;margin:24px 0 0}.composer-score{padding:19px 25px;min-width:0}.bar-navigation{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.bar-navigation button{height:46px;min-width:46px;padding:0;font-size:20px}.bar-navigation div{text-align:center}.bar-navigation strong{font:500 21px var(--serif);display:block}.bar-navigation span{font-size:10px;color:var(--muted);display:block;margin-top:4px}.track-panel{border:1px solid #dae0d0;border-radius:12px;background:#f6f7ed;overflow:hidden;margin-bottom:12px}.track-panel>summary{display:flex;align-items:center;justify-content:space-between;list-style:none;min-height:50px;padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer}.track-panel summary span{display:flex;align-items:center;gap:8px}.track-panel summary:after{content:'+';font-size:18px;color:var(--muted)}.track-panel[open]>summary:after{content:'−'}.track-description{margin-left:auto;padding-right:15px;font-size:10px;font-weight:400;color:var(--muted)}.track-actions{display:flex;justify-content:space-between;padding:0 13px 9px;gap:10px}.track-actions button{min-height:38px;font-size:10px;padding:6px 10px;background:#fffaf0}.track-actions button[aria-pressed=true]{background:#edcfbd}.composer-grid{padding:5px 12px 15px;overflow:auto;max-height:414px;scrollbar-color:#b3c3b0 transparent}.comp-row{display:grid;grid-template-columns:31px repeat(8,minmax(40px,1fr));gap:4px;margin-bottom:4px}.comp-pitch-label{display:flex;align-items:center;justify-content:center;font-size:10px;color:#778573;position:sticky;left:0;background:#f6f7ed;z-index:1}.comp-step,.comp-cell{height:44px;min-height:44px;padding:0;min-width:0;border-radius:6px;border:1px solid #dce2d4;background:#fffdf4;font-size:10px}.comp-step:nth-child(2n),.comp-cell:nth-child(2n){background:#f0f3e8}.comp-step.on,.comp-cell.on{background:#367c6b;border-color:#2e6b61;color:white;box-shadow:inset 0 -3px 0 #22574335}.comp-step.note-tail{background:#72a18d;color:#f5f8e9}.bass-track .on{background:#bd7858;border-color:#a46748}.comp-step.playing,.comp-cell.playing,.comp-step.playhead{outline:2px solid var(--gold);outline-offset:-2px}.comp-beat-label,.comp-beat-ticks{font-size:10px;color:var(--muted)}.comp-grid-head{display:grid;grid-template-columns:31px repeat(8,minmax(40px,1fr));gap:4px;text-align:center;font-size:10px;color:var(--muted);padding-bottom:6px}
@keyframes page-enter{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1400px){.book-stage{padding-top:26px}.chapter.cover,.story-spread{min-height:655px}.cover-copy{padding:50px 60px}.story-copy{padding:48px 50px}}
@media(max-width:1050px){.book-top{padding:0 26px;height:73px}.book-stage{padding:10px 23px 25px}.cover-copy{padding:33px 30px}.chapter.cover,.story-spread{min-height:557px}.cover-copy h1{font-size:60px}.story-copy{padding:31px 29px}.story-copy>p{font-size:14px}.listening-room{gap:18px;grid-template-columns:.75fr 1.25fr}.discovery-panel{padding:21px}.recording-copy{padding:21px}.recording-copy h3{font-size:25px}.recording-icon{display:none}.lesson-workshop{gap:28px;padding:27px}.lesson-tab{padding:16px;gap:11px}.composer-body{grid-template-columns:194px minmax(0,1fr)}.composer-tools{padding:22px 18px}.composer-score{padding:17px}.composer-topline{padding:17px 22px}.composer-grid{max-height:374px}.comp-row{grid-template-columns:28px repeat(8,minmax(36px,1fr))}.chapter-heading{padding-top:10px}.chapter-heading h2{font-size:43px}}
@media(max-width:820px) and (orientation:portrait){.book-piece{display:none}.chapter.cover,.story-spread{grid-template-columns:1fr;min-height:0}.spread-art{height:380px;min-height:0}.cover-art{height:407px}.cover-copy{padding:30px 37px 33px;display:block}.cover-copy h1{font-size:57px;margin-bottom:13px}.cover-copy h1 br{display:none}.cover-copy h1 em:before{content:' '}.tiny-flourish{display:none}.cover-copy .composer-name{margin-bottom:17px}.cover-copy .opening-copy{display:none}.cover-copy>p{max-width:470px}.cover-copy .big-action{display:inline-flex;margin:6px 20px 0 0}.cover-copy .quiet-action{display:inline-flex}.story-copy{padding:30px 36px}.story-copy h2 br{display:none}.story-copy h2 em:before{content:' '}.story-copy h2{font-size:43px}.listening-room{grid-template-columns:1fr}.recording-card{display:grid;grid-template-columns:.72fr 1fr}.recording-art{height:100%;min-height:275px}.recording-copy{padding:24px}.discovery-panel{padding:24px}#compareViz{height:230px}.lesson-workshop{grid-template-columns:1fr;gap:17px}.lesson-text h3{font-size:32px;margin-bottom:12px}.lesson-text .lesson-question{margin-top:15px}.lesson-text p{margin-bottom:10px}.lesson-tab .lesson-symbol{display:none}.lesson-tab{padding:17px 13px}.lesson-next p{font-size:19px}.composer-body{grid-template-columns:173px minmax(0,1fr)}.composer-tools{padding:20px 13px}.composer-score{padding:15px 11px}.composer-transport button{font-size:11px;padding:10px 11px}.title-input input{font-size:22px}.comp-row{grid-template-columns:22px repeat(8,minmax(35px,1fr));gap:3px}.composer-grid{padding:4px 6px 12px}.comp-step{height:46px;min-height:46px}.track-description{display:none}.bar-navigation span{max-width:225px}.chapter-heading h2{font-size:39px}}
@media(max-width:600px){body{padding-bottom:82px}.book-top{padding:0 18px;height:70px}.book-home{font-size:18px;gap:8px}.brand-mark{width:30px;height:30px;font-size:21px}.map-btn{font-size:0;gap:0;padding:9px;min-width:45px}.map-btn svg{width:23px;height:23px}.book-piece{display:none}.book-stage{padding:5px 13px 20px}.chapter.cover,.story-spread{grid-template-columns:1fr;border-radius:17px;min-height:0}.spread-art,.cover-art{height:310px;min-height:0}.cover-copy{padding:28px 27px 30px}.cover-copy h1{font-size:48px}.cover-copy .quiet-action{margin-top:10px}.art-seal{width:78px;height:78px;font-size:14px;left:20px;bottom:18px}.story-copy{padding:28px 25px}.story-copy h2{font-size:38px}.book-nav{padding:8px 16px calc(8px + env(safe-area-inset-bottom));height:76px;gap:8px}.book-nav button{font-size:12px}.nav-next,.nav-back{gap:8px;padding:8px 2px}.page-dots{display:none}.page-position p{font-size:10px}.chapter-map{top:64px;padding:22px}.chapter-map ol{grid-template-columns:repeat(2,1fr)}.chapter-map li button{padding:14px;min-height:125px}.map-intro h2{font-size:25px}.chapter-heading{padding:13px 6px 23px;gap:12px}.chapter-heading h2{font-size:37px}.chapter-heading p{font-size:13px}.movement-label{display:none}.listening-room{grid-template-columns:1fr}.recording-card{display:block}.recording-art{height:180px;min-height:0}.recording-copy{padding:24px}.discovery-panel{padding:22px 18px}.lesson-tabs{gap:7px}.lesson-tab{padding:13px 9px}.lesson-tab strong{font-size:12px}.lesson-tab small{font-size:9px}.lesson-workshop{grid-template-columns:1fr;gap:18px;padding:24px 19px}.lesson-canvas{padding:21px 14px;min-height:220px}.chord-note{width:67px;height:67px;font-size:29px}.chord-notes{gap:14px}.lesson-control-row{gap:7px}.lesson-control-row button{font-size:12px;padding:10px 12px}.rhythm-steps{gap:4px}.rhythm-step{height:51px}.drawn-star{display:none}.lesson-footer{align-items:flex-start}.lesson-next{align-items:flex-start;flex-direction:column;gap:16px}.composer-chapter .chapter-heading{display:block}.composer-chapter .chapter-heading>.quiet-action{margin-top:8px}.composer-topline{flex-direction:column;align-items:stretch;padding:18px;gap:10px}.composer-transport{justify-content:space-between}.composer-transport .primary{flex:1}.composer-body{display:flex;flex-direction:column}.composer-tools{border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:8px 17px;padding:19px}.composer-tools h3{grid-column:1/-1;margin-bottom:4px}.composer-tools>label{margin:0;align-self:center}.composer-tools select{margin:0}.composer-tools input[type=range]{margin:0}.tool-pair{grid-column:1/-1;margin:5px 0 0}.composer-options{grid-column:1/-1}.composer-options>div{display:grid;grid-template-columns:1fr 1fr}.save-note{display:none}.composer-score{padding:18px 9px}.comp-row{grid-template-columns:24px repeat(8,minmax(30px,1fr));gap:3px}.composer-grid{max-height:396px}.comp-step{height:44px;min-height:44px}.chapter-heading .quiet-action{font-size:11px}.closing-actions{gap:10px}.closing-note{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.home-body{padding-bottom:24px}.home-body a.primary{text-decoration:none;display:inline-flex;align-items:center;justify-content:space-between;gap:24px}.home-note{font-size:13px!important;color:var(--muted);margin-top:25px!important}.lesson-control-row button[aria-pressed=true]{background:var(--teal);border-color:var(--teal);color:white}.lesson-tabs button[aria-selected=true]{border-color:var(--teal);background:#edf0e5}.comp-step.note-tail{border-radius:0 9px 9px 0;opacity:.75}.comp-step.note-start{border-radius:9px 0 0 9px}.comp-step.note-start[data-duration="1"]{border-radius:9px}.comp-step.playing{box-shadow:inset 0 0 0 2px var(--rust)}.comp-step.on.playing{filter:brightness(1.15)}.page-dots button{width:38px}.music-stack b{letter-spacing:8px}.music-stack .muted{opacity:.25}
.music-stack{gap:25px;width:100%}.music-stack>div{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;transition:opacity .2s}.music-stack span{width:auto;height:auto;min-width:80px;background:transparent;transform:none;font-size:12px;color:var(--muted)}.music-stack b{font-size:28px;color:var(--teal);letter-spacing:4px;font-weight:400}.music-stack .low b{color:var(--rust);font-size:32px}.lesson-next h3{font-size:22px;margin-bottom:8px}.lesson-next p{font:14px/1.6 var(--body);color:var(--muted)}
.lesson-listening{display:flex;gap:20px;align-items:center;flex-shrink:0}@media(max-width:600px){.lesson-footer{flex-direction:column;gap:5px}.lesson-listening{width:100%;justify-content:space-between}}
/* The beat markers and note slots use the same eight-column time grid. */
.pulse-dots{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:7px;padding:0 0 25px}.pulse-dots span{justify-self:center}.pulse-dots span:nth-child(1){grid-column:1}.pulse-dots span:nth-child(2){grid-column:3}.pulse-dots span:nth-child(3){grid-column:5}.pulse-dots span:nth-child(4){grid-column:7}
/* Unison lines share exactly the same label width, type size and spacing. */
.music-stack>div{display:grid;grid-template-columns:90px minmax(0,1fr);gap:12px}.music-stack b,.music-stack .low b{font-size:28px;letter-spacing:4px;white-space:nowrap;text-align:center}
@media(max-width:600px){.pulse-dots{gap:4px}.music-stack>div{grid-template-columns:70px minmax(0,1fr);gap:8px}.music-stack b,.music-stack .low b{font-size:23px;letter-spacing:2px}}
