:root{--paper:#f7f6f2;--white:#fff;--ink:#243d34;--green:#214f40;--muted:#7b827b;--line:#e3e5dd;--soft:#eaf0e8;--gold:#b6955b;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a{touch-action:manipulation}button{color:inherit}button:disabled{opacity:.3;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #b6955b;outline-offset:3px}a{color:inherit}svg{width:22px;height:22px;fill:currentColor;flex-shrink:0}.icon-defs{position:absolute;width:0;height:0;overflow:hidden}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip{position:absolute;top:-100px;z-index:100;background:white;padding:16px}.skip:focus{top:4px}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;font-family:Georgia,serif;font-size:27px;letter-spacing:-.7px}.brand-star{display:grid;place-items:center;background:var(--green);color:#e3cfa1;border-radius:50%;height:44px;width:44px}.brand-star svg{height:27px;width:27px}.brand-sub{display:block;font-family:Inter,-apple-system,sans-serif;font-size:8px;font-weight:600;letter-spacing:2px;margin-top:6px;color:#778078}.help-button{background:none;border:0;padding:12px 0;font-size:12px}.help-button span{margin-left:10px;font-size:16px}.app-layout{display:grid;grid-template-columns:282px minmax(0,1fr);height:100dvh}.library{padding:34px 22px 18px;background:#f1f2ec;border-right:1px solid var(--line);display:flex;flex-direction:column;overflow-y:auto}.eyebrow{font-size:9px;letter-spacing:2px;font-weight:650;color:#798278;margin:0 0 13px}.library-heading h2{font-family:Georgia,serif;font-weight:400;font-size:25px;letter-spacing:-.6px;margin:0;display:flex;align-items:center;gap:13px}.library-heading h2 span{border:1px solid #d8ddd2;border-radius:5px;font-family:Inter,sans-serif;font-size:10px;color:#6c7869;letter-spacing:0;padding:3px 5px}.library-intro{font-size:11px;color:#798176;margin:12px 0 26px;line-height:1.7}#songList{display:flex;flex-direction:column;gap:7px}.song-item{display:flex;align-items:center;text-align:left;gap:12px;padding:16px 12px;min-height:67px;border:1px solid transparent;border-radius:9px;background:none;width:100%;transition:background .18s}.song-item:hover{background:#e6eadf}.song-item[aria-current=true]{background:var(--green);color:#fff;box-shadow:0 4px 9px #214f4012}.song-index{font-size:10px;font-variant-numeric:tabular-nums;opacity:.55;align-self:flex-start;margin-top:3px}.song-item-title{font-size:12px;line-height:1.5;font-weight:550;display:block}.song-detail{font-size:9px;display:block;margin-top:5px;opacity:.6}.song-item .item-arrow{margin-left:auto;width:15px;opacity:.75}.library-bottom{padding:18px 10px 0;border-top:1px solid #dfe3d8;display:flex;justify-content:space-between;font-size:9px;letter-spacing:.4px;color:#8c9387}.workspace{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.song-header{padding:31px 42px 25px;flex-shrink:0}.song-breadcrumb{display:flex;align-items:center;gap:11px;color:#8c9388;font-size:8px;letter-spacing:1.6px;font-weight:600}.breadcrumb-line{width:22px;height:1px;background:#c5cbbf}.song-title-row{display:flex;gap:20px;align-items:center;justify-content:space-between;margin:17px 0 24px}h1{font-family:Georgia,"Times New Roman",serif;letter-spacing:-1.2px;font-weight:400;font-size:clamp(28px,3vw,43px);margin:0;line-height:1.12}.score-badge{white-space:nowrap;display:flex;align-items:center;gap:6px;color:#89917e;font-size:10px}.score-badge svg{width:16px}.voice-row{display:flex;align-items:center;gap:20px}.voice-label{font-size:10px;white-space:nowrap;color:#7b8377}.voices{display:flex;gap:7px;flex-wrap:wrap}.voice-button{display:flex;align-items:center;justify-content:center;gap:7px;background:transparent;border:1px solid #dce0d6;border-radius:6px;min-height:37px;min-width:77px;padding:7px 14px;font-size:11px;color:#6a7767}.voice-button:hover{background:#e9eee5}.voice-button[aria-pressed=true]{border-color:#bacab4;background:#e6eddf;color:#345538;font-weight:600}.voice-button svg{width:13px;height:13px}.score-section{flex:1;min-height:0;display:flex;flex-direction:column;margin:0 28px;border:1px solid var(--line);border-bottom:0;border-radius:10px 10px 0 0;background:#eeefe9;overflow:hidden}.score-toolbar{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 16px;border-bottom:1px solid var(--line);background:#fbfcf8;flex-shrink:0;min-height:53px}.page-controls,.zoom-controls{display:flex;align-items:center;gap:3px}.toolbar-book{width:17px;margin-right:8px;color:#6d7a69}.notes-label{font-size:10px;margin-right:9px;color:#6d7a69}.toolbar-divider{height:16px;width:1px;margin:0 7px;background:var(--line)}.icon-button{background:none;border:0;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:5px;text-decoration:none}.icon-button:hover{background:#e9ede3}.icon-button svg{width:17px;height:17px}.page-label{display:flex;gap:5px;align-items:center;font-size:10px;white-space:nowrap}.page-label select{border:0;background:transparent;color:var(--ink);width:29px;padding:6px 0;appearance:none;text-align:center;cursor:pointer}#pageTotal{color:#919687}.zoom-controls output{font-size:10px;min-width:45px;text-align:center;font-variant-numeric:tabular-nums}.fit-button{font-size:9px;border:1px solid var(--line);border-radius:4px;padding:7px 9px;background:none;margin-left:7px;color:#75826b}.score-scroll{position:relative;overflow:auto;flex:1;min-height:0;overscroll-behavior:contain;scrollbar-color:#c2c9bc transparent;scrollbar-width:thin;padding:25px 25px 0;scroll-behavior:smooth}.pages{width:100%;min-height:100px}.pdf-page{margin:0 auto 25px;background:#fff;box-shadow:0 3px 14px #2635220c;position:relative;max-width:none}.pdf-page:last-child{margin-bottom:0}.pdf-page canvas{display:block;width:100%;height:100%}.pdf-status{font-size:13px;text-align:center;padding:40px 10px;color:#7c8576}.pdf-status:empty{display:none}.transport{position:absolute;bottom:21px;left:50%;transform:translateX(-50%);width:calc(100% - 90px);max-width:1010px;border:1px solid #e0e5da;border-radius:13px;background:#fffffff5;backdrop-filter:blur(18px);box-shadow:0 8px 36px #243d3426;z-index:5;padding:16px 23px 14px}.player-top{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:10px}.playing-label{display:flex;align-items:center;gap:9px;min-width:0}.playing-label strong{font-size:11px;white-space:nowrap}.playing-label #playerSong{color:#959c90;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-divider{color:#d6dacc}.audio-indicator{display:flex;align-items:center;gap:2px;height:16px;margin-right:3px;color:var(--green)}.audio-indicator i{display:block;width:2px;height:9px;background:currentColor;border-radius:2px}.audio-indicator i:nth-child(2){height:16px}.audio-indicator i:nth-child(3){height:12px}.audio-indicator.is-playing i{animation:bars .8s ease-in-out infinite alternate}.audio-indicator.is-playing i:nth-child(2){animation-delay:.3s}.audio-indicator.is-playing i:nth-child(3){animation-delay:.5s}@keyframes bars{to{height:4px}}.player-status{color:#8b9485;white-space:nowrap;font-size:9px}.timeline-area{margin:14px 0 9px}.time-row{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-variant-numeric:tabular-nums;color:#75816d}.time-row output:first-child{color:var(--green);font-weight:600}.wave-hint{font-size:8px;color:#939b8b}.waveform{position:relative;width:100%;height:43px;margin-top:4px;cursor:ew-resize}.waveform canvas{display:block;width:100%;height:100%}.waveform input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;touch-action:pan-y}.waveform:focus-within{outline:2px solid var(--gold);outline-offset:3px;border-radius:3px}.wave-progress{position:absolute;inset:0 auto 0 0;background:#214f4006;pointer-events:none}.playhead{position:absolute;top:0;bottom:0;left:0;width:1.5px;background:var(--green);pointer-events:none}.playhead span{position:absolute;top:-2px;left:-3px;height:7px;width:7px;background:var(--green);border-radius:50%}.player-bottom{display:flex;justify-content:space-between;align-items:center;gap:25px;padding-top:9px;border-top:1px solid #eef0e9}.transport-buttons{display:flex;align-items:center;gap:13px}.transport-button{display:flex;align-items:center;justify-content:center;background:none;border:0;width:40px;height:40px;border-radius:50%;color:#677961}.transport-button:hover{background:#edf2e8}.transport-button svg{height:19px;width:19px}.play-button{width:46px;height:46px;display:grid;place-items:center;border:0;border-radius:50%;background:var(--green);color:#fff;box-shadow:0 3px 8px #214f4024}.play-button:hover{background:#31614d}.play-button svg{height:22px;width:22px}.speed-control{display:grid;grid-template-columns:150px 112px;grid-template-rows:17px 21px;align-items:center;gap:0 18px;min-width:280px}.speed-label{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:#7a8872}.speed-label button{padding:3px;background:none;border:0;color:var(--green);font-weight:650;font-size:11px;font-variant-numeric:tabular-nums}.speed-control input{grid-column:1;grid-row:2;width:100%;accent-color:var(--green);height:18px;margin:0}.pitch-note{grid-column:2;grid-row:1/3;display:flex;gap:3px;align-items:center;font-size:8px;color:#87977b}.pitch-note svg{height:12px;width:12px}.audio-error{font-size:11px;line-height:1.5;margin-bottom:0;color:#a0452b}.mobile-only{display:none}.drawer-backdrop{display:none}body.focus-mode .library{display:none}body.focus-mode .app-layout{grid-template-columns:minmax(0,1fr)}body.focus-mode .song-header{display:none}body.focus-mode .score-section{margin:18px 24px 0}dialog{padding:30px;border:1px solid var(--line);border-radius:16px;max-width:520px;width:calc(100% - 32px);box-shadow:0 30px 100px #162d3433;background:#fafbf7;color:var(--ink)}dialog::backdrop{background:#112b2266;backdrop-filter:blur(3px)}.dialog-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.dialog-top .eyebrow{margin:0}dialog h2{font:normal 34px/1.15 Georgia,serif;letter-spacing:-.7px;margin:19px 0 23px}dialog ol{padding-left:20px;font-size:13px;line-height:1.8;color:#687561}dialog li{padding-left:5px;margin-bottom:13px}dialog strong{color:var(--ink)}.help-tip{padding:15px;background:#edf1e7;border-radius:7px;font-size:11px;line-height:1.7;color:#6a795e}.primary-button{border:0;border-radius:6px;padding:15px 20px;background:var(--green);color:white;width:100%;margin-top:10px;display:flex;justify-content:space-between;font-size:13px}
@media(min-width:1600px){.app-layout{grid-template-columns:310px minmax(0,1fr)}.song-header{padding-left:55px;padding-right:55px}.library{padding-left:30px;padding-right:30px}.score-section{margin:0 42px}.transport{width:calc(100% - 150px)}}
@media(max-width:1100px){.app-layout{grid-template-columns:245px minmax(0,1fr)}.library{padding:30px 15px 18px}.song-header{padding:26px 28px 20px}h1{font-size:31px}.score-badge{display:none}.voice-row{gap:12px}.voice-button{min-width:64px;padding:7px 11px}.transport{width:calc(100% - 66px);padding:14px 17px}.transport-buttons{gap:6px}.speed-control{min-width:160px;grid-template-columns:150px;grid-template-rows:17px 21px}.pitch-note{display:none}.score-toolbar{padding:7px 10px}.fit-button{padding:7px;font-size:8px}.notes-label{display:none}.toolbar-book{margin-right:0}}
@media(max-width:960px){.brand{font-size:23px;gap:10px}.brand-star{width:35px;height:35px}.brand-star svg{width:22px;height:22px}.brand-sub{font-size:6px;letter-spacing:1.5px}.help-button{font-size:10px}.help-button span{margin-left:3px}.app-layout{display:block;height:100dvh}.workspace{height:100%}.library{display:none;position:fixed;inset:0 auto 0 0;z-index:30;width:min(330px,87vw);border:0;box-shadow:12px 0 70px #163b3322;padding:30px 22px 22px}.library.is-open{display:flex}.library-heading{display:flex;justify-content:space-between;align-items:center}.drawer-backdrop:not([hidden]){display:block;position:fixed;inset:0;z-index:29;background:#142e264f;backdrop-filter:blur(3px)}.song-header{padding:20px 19px 18px}.song-breadcrumb{font-size:7px;letter-spacing:1.1px;gap:8px}.song-breadcrumb>span:first-child{display:none}.breadcrumb-line{display:none}.mobile-only{display:inline-flex}.song-switch{display:flex;align-items:center;gap:6px;margin-left:auto;border:0;background:none;padding:0;font-size:10px;letter-spacing:0;font-weight:500;height:25px}.song-switch svg{width:15px;height:15px}.song-switch>span{font-size:15px;margin-left:4px}.song-title-row{margin:12px 0 18px}h1{font-size:30px;letter-spacing:-.8px}.voice-row{align-items:flex-start;gap:8px;flex-direction:column}.voice-label{font-size:9px}.voices{gap:6px;width:100%}.voice-button{font-size:10px;min-width:65px;min-height:37px;padding:7px 12px}.score-section{margin:0 8px}.score-toolbar{min-height:49px;padding:6px}.toolbar-divider{margin:0 3px}.toolbar-book,.notes-label{display:none}.icon-button{height:34px;width:30px}.zoom-controls{gap:0}.zoom-controls output{font-size:9px;min-width:39px}.fit-button{margin-left:3px;padding:7px 5px}.page-controls{gap:0}.page-label{font-size:9px;gap:0}.page-label select{width:24px}.score-scroll{padding:12px 8px 0}.transport{bottom:max(12px,env(safe-area-inset-bottom));width:calc(100% - 26px);border-radius:12px;padding:13px 15px 12px}.playing-label{gap:7px}.playing-label #playerSong,.track-divider{display:none}.player-top{font-size:9px}.playing-label strong{font-size:11px}.timeline-area{margin:12px 0 9px}.waveform{height:38px}.transport-buttons{gap:3px}.transport-button{height:37px;width:30px}.play-button{width:43px;height:43px}.speed-control{grid-template-columns:minmax(85px,110px);min-width:85px;width:110px}.player-bottom{gap:10px;padding-top:9px}.speed-label{font-size:8px}.speed-label button{font-size:10px}.wave-hint{font-size:7px}.time-row{font-size:9px}.player-status{font-size:8px}body.focus-mode .score-section{margin:7px 5px 0}body.focus-mode .app-layout{height:100dvh}dialog{padding:23px}dialog h2{font-size:29px}}
@media(max-width:365px){.song-header{padding:15px}.voice-button{min-width:57px;padding:7px 9px}.transport{padding:12px;width:calc(100% - 18px)}.transport-buttons{gap:1px}.transport-button{width:27px}.speed-control{width:88px}.help-button{font-size:9px}.score-toolbar{padding:5px 3px}.toolbar-divider{margin:0 2px}.icon-button{width:28px}.zoom-controls output{min-width:35px}}
@media(max-height:650px) and (min-width:961px){.app-layout{height:100dvh}.song-header{padding-top:18px;padding-bottom:14px}.song-title-row{margin:11px 0 15px}.library{padding-top:22px}.library-intro{margin-bottom:12px}.song-item{min-height:53px;padding:9px 10px}.transport{bottom:12px}.score-scroll{padding-top:15px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition:none!important}}
@media(min-width:366px) and (max-width:960px){.transport-button{width:36px;height:44px}.play-button{width:46px;height:46px}}
@media(max-width:365px){#downloadPdf{display:none}.zoom-controls .toolbar-divider{display:none}}

.sidebar-footer{margin-top:auto;padding:32px 3px 0;flex-shrink:0}.sidebar-footer .brand{font-size:23px;gap:10px;letter-spacing:-.6px}.sidebar-footer .brand-star{width:35px;height:35px}.sidebar-footer .brand-star svg{width:23px;height:23px}.sidebar-footer .brand-sub{font-size:6px;letter-spacing:1.5px}.sidebar-footer .library-bottom{margin-top:23px;padding:16px 2px 0}.sidebar-footer .help-button{display:flex;width:100%;align-items:center;justify-content:space-between;min-height:44px;margin-top:10px;padding:10px 2px;font-size:11px;text-align:left}.sidebar-footer .help-button:hover{color:var(--green);text-decoration:underline;text-underline-offset:4px}

.transport-button.skip-ten svg{width:24px;height:24px}
.library{overflow:hidden}.library-heading,.library-intro{flex-shrink:0}#songList{min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c2c9bc transparent;flex-shrink:1}.song-item{flex-shrink:0}
@media(max-height:850px){.library{padding-top:24px}.library-intro{margin-bottom:12px}#songList{gap:4px}.song-item{min-height:52px;padding:8px 10px}.sidebar-footer{padding-top:20px}.sidebar-footer .library-bottom{margin-top:16px}}

/* Keep the final staff readable above the floating transport without a fixed spacer. */
.score-scroll{padding-bottom:var(--player-clearance,0px);scroll-padding-bottom:var(--player-clearance,0px)}
