#paper .score-past path,#paper .score-past ellipse,#paper .score-past polygon{fill:#168a4d!important;stroke:#168a4d!important}
#paper .score-active path,#paper .score-active ellipse,#paper .score-active polygon{fill:#e6a700!important;stroke:#e6a700!important;filter:drop-shadow(0 0 3px #ffd166)}
#paper .score-active{animation:scorePulse .7s ease-in-out infinite alternate}
@keyframes scorePulse{to{opacity:.55}}

/* Nu mai lăsăm browserul să micșoreze o piesă întreagă într-un singur rând. */
#paper{min-height:430px;overflow-x:auto;overflow-y:hidden;padding:14px 12px 24px;box-sizing:border-box}
#paper svg{display:block;min-width:720px;height:auto}
@media (min-width:721px){#paper svg{min-width:0}}

.computer-guide{margin:8px 0 0;padding:10px 14px;border:1px solid #3d4b75;border-radius:12px;background:#0c1020}
.computer-guide summary{cursor:pointer;color:#61e5f3;font-weight:900;list-style-position:outside;margin-left:16px}
.computer-guide[open] summary{margin-bottom:7px}
.computer-guide>span{display:block;color:#aeb9d5;font-size:.82rem;margin:0 0 9px}
.computer-key-guide{display:flex;gap:7px;flex-wrap:wrap}
.key-pair{display:flex;align-items:center;gap:5px;padding:5px 7px;border-radius:8px;background:#202946;color:#fff;font-size:.76rem}
.key-pair kbd{display:grid;place-items:center;min-width:25px;height:25px;border:1px solid #8795bd;border-bottom-width:3px;border-radius:5px;background:#f7f9ff;color:#111827;font:900 .78rem system-ui}
.key-pair b{color:#ffd166}
.computer-key-guide{display:grid;gap:9px}
.key-octave{display:grid;grid-template-columns:105px 1fr;gap:8px;align-items:start}
.key-octave em{padding-top:7px;color:#aeb9d5;font-size:.72rem;font-style:normal;font-weight:800}
.key-octave>div{display:flex;gap:5px;flex-wrap:wrap}
.piano-key[data-computer-key]::after{content:attr(data-computer-key);position:absolute;top:8px;left:50%;transform:translateX(-50%);display:grid;place-items:center;min-width:23px;height:23px;padding:0 4px;border-radius:5px;background:#7c3aed;color:#fff;font:900 .72rem system-ui;box-shadow:0 2px 5px #0006}
.black-key[data-computer-key]::after{background:#f59e0b;color:#17111f}
@media(max-width:650px){.key-octave{grid-template-columns:1fr}.key-octave em{padding-top:0}}

/* Reglaj separat, vizibil și compact, pentru volumul melodiei. */
.selectors{grid-template-columns:1fr 1fr 2fr 1fr 1.25fr}
.volume-field label{display:flex;justify-content:space-between;gap:8px}
.volume-field output{color:#ffd166;font-weight:900}
.volume-field input{width:100%;height:38px;margin:0;accent-color:#61e5f3;cursor:pointer}
@media(max-width:850px){.selectors{grid-template-columns:1fr 1fr}.volume-field{grid-column:span 2}}
@media(max-width:520px){.selectors{grid-template-columns:1fr}.volume-field{grid-column:auto}}
