
.listen-panel{border:1px solid var(--border);border-radius:var(--r-panel);background:var(--panel);padding:24px;margin:24px 0 32px}.listen-panel h2{margin:0 0 8px;font-size:20px}.version-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.version-tabs a{padding:8px 14px;border:1px solid var(--border-strong);border-radius:var(--r-ctl);font-size:13px}.version-tabs a[aria-current]{color:var(--accent);border-color:var(--accent)}.version-tabs a:hover{background:var(--panel-2)}audio{display:block;width:100%;margin:16px 0}.controls{display:flex;gap:16px;flex-wrap:wrap;align-items:end;margin:16px 0}.field{display:grid;gap:6px;font-size:12px;color:var(--muted)}.field select{max-width:100%;background:var(--bg2);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-ctl);padding:8px;min-height:38px;font:inherit}.field select:focus-visible{outline:2px solid var(--accent)}.player-status{font-size:12px;color:var(--muted);min-height:1.6em;margin:12px 0}.score-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between;margin:20px 0 12px}.page-buttons{display:flex;gap:12px;align-items:center}.page-buttons button:disabled{opacity:.4;cursor:default}.page-label{font:12px var(--mono);color:var(--muted)}.score-viewport{width:100%;overflow:auto;border-radius:var(--r-ctl);border:1px solid var(--border);background:var(--panel)}.score-viewport img{display:block;width:100%;max-width:none;min-width:360px;height:auto}.score-viewport[data-zoom="1.5"] img{width:150%}.score-viewport[data-zoom="2"] img{width:200%}.score-meta{font-size:12px;color:var(--muted);margin:8px 0 24px}.download-audio{font-size:13px;color:var(--accent);display:inline-flex;margin-top:8px}.download-audio:hover{text-decoration:underline}.details-copy{font-size:13px;line-height:1.85;color:var(--muted)}.details-copy li{margin:8px 0}.chapter-info{font:12px var(--mono);color:var(--muted);margin:8px 0}.catalog{padding-bottom:40px!important}.btn:hover{background:var(--panel-2)}.score-controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end} @media(max-width:680px){.listen-panel{padding:16px}.controls{display:grid;grid-template-columns:1fr 1fr;gap:12px}.controls .field:first-child{grid-column:1/-1}.field select{width:100%}.page-buttons{width:100%;justify-content:space-between}.score-tools{gap:16px}.score-viewport img{min-width:0}.catalog h1{font-size:32px}.version-tabs a{flex:1;text-align:center}}

/* Concertante-style cursor on the unchanged, published score pages. */
:root{--score-cursor:#3975bc}
.follow-toolbar{position:sticky;top:8px;z-index:10;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;margin:12px 0;border:1px solid var(--border-strong);border-radius:var(--r-ctl);background:var(--panel)}
.follow-toggle{display:flex;align-items:center;gap:8px;font-size:13px;cursor:pointer;white-space:nowrap}.follow-toggle input{width:16px;height:16px;margin:0;accent-color:var(--accent)}.follow-toggle:hover{color:var(--accent)}.follow-toggle input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.follow-toolbar .btn{height:32px;padding:0 12px;font-size:12px}.bar-position{margin-left:auto;font:12px var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap}.follow-toolbar{scroll-margin-top:8px}
.score-viewport{max-height:70vh;overscroll-behavior:contain;overflow-anchor:none}.score-viewport:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.score-sheet{position:relative;width:100%;min-width:360px}.score-viewport .score-sheet img{width:100%;min-width:0;height:auto}.score-viewport[data-zoom="1.5"] .score-sheet{width:150%}.score-viewport[data-zoom="2"] .score-sheet{width:200%}.bar-highlight{position:absolute;pointer-events:none;background:color-mix(in srgb,var(--score-cursor) 10%,transparent)}.play-cursor{position:absolute;width:3px;background:var(--score-cursor);pointer-events:none;transform:translateX(-50%);z-index:1}.bar-highlight[hidden],.play-cursor[hidden]{display:none}
@media(min-width:1200px) and (pointer:fine){.score-viewport{max-height:calc(70vh * var(--reading-scale-inverse))}}
@media(max-width:680px){.score-sheet{min-width:0}.follow-toolbar{gap:8px;padding:8px}.bar-position{flex-basis:100%;margin-left:0}.follow-toolbar .btn{padding:0 10px}.follow-toggle{font-size:12px}}
@media print{.follow-toolbar,.bar-highlight,.play-cursor{display:none!important}.score-viewport{max-height:none;overflow:visible}}
