.ot-panel{border:1px solid var(--line);background:color-mix(in oklab, var(--bg-2) 60%, transparent);border-radius:3px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 28px;margin-top:18px;padding:18px 20px;display:grid}.ot-group{flex-direction:column;gap:7px;display:flex}.ot-group .vl-tab{padding:7px 12px}.ot-hint{font-family:var(--font-alt);color:var(--muted);font-size:15px;font-style:italic;line-height:1.25}.ot-folio{flex-direction:column;gap:18px;display:flex}.ot-qhead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px 24px;display:flex}.ot-qmeta{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.ot-badge{font-family:var(--font-mono);color:var(--gold);border:1px solid var(--gold);border-radius:3px;padding:2px 8px;font-size:11px}.ot-progress{font-family:var(--font-mono);color:var(--muted);font-size:13px}.ot-line{font-family:var(--font-mono);color:var(--faint);font-size:11px}.ot-mini-btn{border:1px solid var(--line);min-height:36px;font-family:var(--font-mono);border-radius:3px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .16s;display:inline-flex}.ot-mini-btn:hover{border-color:var(--accent);color:var(--accent-bright)}.ot-plate{background:var(--bg-2);border:1px solid var(--line-soft);padding:4px 8px;overflow-x:auto;box-shadow:inset 0 1px 18px #00000024;box-shadow:inset 0 1px 18px lab(0% 0 0/.14)}.ot-staff{color:var(--text);max-width:940px;margin:0 auto}.ot-staff svg{width:100%;min-width:620px;height:auto;display:block}.ot-lines line{stroke:currentColor;stroke-width:1.1px;opacity:.75}.ot-clef{font-family:var(--font-music), serif;font-size:64px}.ot-time{font-family:var(--font-display);font-size:34px}.ot-measure{font-family:var(--font-mono);fill:var(--faint);font-size:10px}.ot-cursor{fill:var(--accent-soft);stroke:color-mix(in oklab, var(--accent) 50%, transparent);transition:transform .25s cubic-bezier(.34,1.3,.5,1),fill .2s,stroke .2s}.ot-cursor.is-ok{fill:var(--ok-soft);stroke:color-mix(in oklab, var(--ok) 60%, transparent)}.ot-cursor.is-bad{fill:var(--bad-soft);stroke:color-mix(in oklab, var(--bad) 60%, transparent)}.ot-note{color:var(--text)}.ot-note.is-current{color:var(--accent-bright)}.ot-note.is-ok{color:var(--ok)}.ot-note.is-bad{color:var(--bad)}.ot-note ellipse{fill:none;stroke:currentColor;stroke-width:3px;transition:stroke .2s}.ot-ledger{stroke:var(--text);stroke-width:1.5px;opacity:.75}.ot-tag{font-family:var(--font-mono);fill:var(--gold);text-anchor:middle;font-size:10px}.ot-name{font-family:var(--font-alt);fill:currentColor;text-anchor:middle;font-size:16px;font-weight:600}.ot-label{font-family:var(--font-mono);fill:var(--faint);text-anchor:middle;font-size:9.5px}.ot-timer{align-items:center;gap:12px;display:flex}.ot-timer>span{font-family:var(--font-mono);color:var(--faint);min-width:44px;font-size:11px}.ot-timer-bar{background:var(--line-soft);border-radius:2px;flex:1;height:4px;overflow:hidden}.ot-timer-bar>div{background:var(--gold);height:4px;transition:width .1s linear}.ot-timer-bar>div.is-low{background:var(--bad)}.ot-actions{min-height:46px;margin-top:0}.ot-actions .vl-msg{flex:1;min-width:min(320px,100%)}.ot-rule{border:1px dashed var(--gold);border-radius:3px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ot-rule>div{flex-direction:column;gap:5px;padding:12px 18px;display:flex}.ot-rule>div+div{border-left:1px dashed color-mix(in oklab, var(--gold) 50%, transparent)}.ot-rule span{font-family:var(--font-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:10px}.ot-rule p{color:var(--text);font-size:16px}.ot-rule p.is-muted{color:var(--muted)}@media (max-width:920px){.ot-panel{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.ot-panel,.ot-rule{grid-template-columns:1fr}.ot-rule>div+div{border-left:0;border-top:1px dashed color-mix(in oklab, var(--gold) 50%, transparent)}}
