.score-ribbon{--ribbon-paper:var(--paper);--ribbon-ink:var(--ink);--ribbon-accent:var(--accent);--ribbon-muted:var(--muted);--ribbon-past:var(--past);display:flex;flex-direction:column;position:relative;height:100%;min-height:0;min-width:0;margin:0;background:var(--ribbon-paper);border:1px solid var(--line);border-radius:6px;overflow:hidden;color:var(--ink)}
.ribbon-body{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}
.ribbon-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 12px;min-height:44px;flex-shrink:0;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.score-ribbon[data-timing=true] .ribbon-tools{min-height:28px;padding-block:0}
.ribbon-reading{display:flex;align-items:center;gap:2px;min-height:44px}.ribbon-reading button,.ribbon-return{border:1px solid transparent;border-radius:4px;background:none;color:var(--ribbon-ink);font:inherit;font-size:12px;min-height:40px;padding:6px 10px}
.ribbon-reading button[aria-pressed=true]{background:var(--peach);border-color:var(--selection-line)}.ribbon-reading button:hover,.ribbon-return:hover{background:var(--hover)}
.ribbon-previous,.ribbon-next{min-width:40px}.ribbon-axis{font-size:11px;color:var(--ribbon-muted)}
.ribbon-part-label{display:flex;gap:6px;align-items:center;font-size:11px;min-width:0;margin-left:auto}.ribbon-part{border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ribbon-ink);font-size:12px;min-height:36px;max-width:230px;min-width:0;padding:6px}
.ribbon-viewport{flex:1;min-height:180px;min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--ribbon-paper)}
.ribbon-canvas{width:100%;height:100%;display:block;cursor:crosshair}.ribbon-canvas:focus-visible,.ribbon-viewport:focus-visible{outline:2px solid var(--ribbon-accent);outline-offset:-3px}
.ribbon-bottom{display:flex;align-items:center;gap:12px;padding:5px 12px;min-height:28px;flex-shrink:0;border-top:1px solid var(--line);font-size:10px;flex-wrap:wrap}
.ribbon-position{font-variant-numeric:tabular-nums;white-space:nowrap}.ribbon-reading-status{color:var(--ribbon-muted)}.ribbon-return{min-height:28px;padding:2px 6px;font-size:10px}
.ribbon-legend{display:flex;gap:12px;margin-left:auto;font-size:10px;color:var(--ribbon-muted)}.ribbon-legend span{display:flex;align-items:center;gap:5px}.ribbon-legend i{display:inline-block;width:7px;height:7px;background:var(--ribbon-ink);border-radius:50%}.ribbon-legend .ribbon-played{opacity:.55}.ribbon-legend .ribbon-active{background:var(--ribbon-accent)}
.ribbon-status{position:absolute;z-index:1;left:12px;bottom:35px;max-width:calc(100% - 24px);background:var(--ribbon-paper);border:1px solid var(--line);border-radius:4px;padding:6px 10px;font-size:12px;color:var(--ribbon-muted)}
@media(max-width:680px){.ribbon-tools{padding:6px 8px;gap:4px}.ribbon-reading{gap:0}.ribbon-reading button{font-size:11px;padding:6px 7px;min-height:44px}.ribbon-part{max-width:135px;font-size:12px;min-height:40px}.ribbon-part-label{gap:4px}.ribbon-legend{display:none}.ribbon-bottom{gap:6px;padding:5px 8px;font-size:10px}.ribbon-reading-status{flex:1;min-width:0}.ribbon-return{min-height:36px}}
