@font-face{font-family:Bravura;src:url(assets/Bravura.woff)}*{box-sizing:border-box}body{margin:0;background:#f3f0e7;color:#294b3e;font:14px Arial,'PingFang SC',sans-serif}header{height:58px;background:#fcfbf7;border-bottom:1px solid #dde2d4;display:flex;align-items:center;gap:24px;padding:0 26px}header b{font-size:19px}header span{font-size:12px;color:#82907b}#stats{margin-left:auto}main{padding:0 24px 24px}.intro{display:flex;align-items:center;justify-content:space-between;padding:24px 0}.intro small,.question small{color:#9d7a49;font-size:11px}h1{font:600 32px 'Songti SC',serif;margin:10px 0 0}.intro p{font-size:12px;color:#85917d}.layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:18px}aside{border:1px solid #dce3d2;border-radius:18px;background:#e9ede1;padding:16px}label{font-size:12px}select{width:100%;padding:10px 7px;margin-top:10px}button,select{font:inherit;color:inherit;background:#fffdf8;border:1px solid #d5dfcc;border-radius:9px;cursor:pointer}button{padding:10px 14px}button:hover{background:#edf2e6}button:focus-visible,select:focus-visible{outline:2px solid #b48d51;outline-offset:3px}button:disabled{opacity:.55;cursor:default}[hidden]{display:none!important}#source,.note{color:#829079;font-size:11px;line-height:1.9}.note{border-top:1px solid #d0dac7;padding-top:18px;margin-top:16px}nav{display:grid;gap:7px;margin-top:22px}nav button{text-align:left;border-color:transparent;background:transparent;padding:13px 10px}nav button.active{background:#fffdf8;border-color:#bfcfb3}.card{background:#fffdf8;border:1px solid #dfe4d5;border-radius:19px;overflow:hidden;min-width:0}.cardhead{display:flex;justify-content:space-between;padding:16px 24px;border-bottom:2px solid #edf0e4;font-size:12px;color:#85917d}.question{text-align:center;padding:22px 24px 6px}h2{font-size:21px;font-weight:500;margin:12px 0}.question p{font-size:12px;color:#809078;line-height:1.8}#score{padding:0 24px;min-height:250px;overflow:auto}#score svg{max-width:100%;color:#294b3e}.abcjs-note{cursor:pointer}.abcjs-note.target{fill:#bb873a}.abcjs-note.sounding{fill:#c88329}.controls,.tools{display:flex;gap:10px;justify-content:center;margin:12px 0}.controls button{font-size:12px}#answers{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;padding:12px 22px}#answers button{min-width:85px}.primary{background:#315941;color:white;border-color:#315941}.primary:hover{background:#416b50}#feedback{margin:10px 24px;padding:14px 18px;background:#eaf2e1;border-radius:9px;font-size:13px;line-height:1.9}#feedback.wrong{background:#f9eadb}.bottom{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;gap:15px}.bottom span{font-size:11px;color:#819077}details{border-top:1px solid #e4e8dc;padding:13px 24px;color:#819077;font-size:11px;line-height:1.9}summary{cursor:pointer}#writing{text-align:center;padding:0 24px}#writing p{font-size:12px;color:#819077}#write-staff svg{width:100%;max-width:760px;height:220px}.write-hit:hover{fill:#d5e4c7aa}.tools .active{background:#e2eccf;border-color:#829b6a}@media(min-width:701px){body{height:100dvh;display:flex;flex-direction:column;overflow:hidden}header{flex:none}main{min-height:0;flex:1;display:flex;flex-direction:column}.intro{flex:none;padding:18px 0}.layout{min-height:0;flex:1}.card,aside{overflow:auto}.card{display:flex;flex-direction:column}#score{flex:1;display:flex;align-items:center;justify-content:center;min-height:245px}#score>svg{flex-shrink:0}#writing{flex:1}.bottom{margin-top:auto}}@media(max-width:650px){main{padding:0 12px 16px}.layout{display:block}aside{margin-bottom:14px}nav{grid-template-columns:repeat(3,1fr);margin-top:12px;gap:4px}nav button{font-size:11px;padding:10px 4px}.note,.intro p,#source{display:none}h1{font-size:26px}.question{padding:16px 12px 5px}#score{padding:0 8px}.bottom{padding:14px}#answers{padding:8px}#answers button{font-size:12px}}
.music{font-family:Bravura;font-size:76px;fill:#315941}#score .abcjs-note.target{color:#bb873a}#score .abcjs-note.sounding{color:#c88329}

@media(min-width:701px) and (max-width:950px){.layout{grid-template-columns:160px minmax(0,1fr)}aside{padding:12px}nav{gap:4px;margin-top:12px}nav button{padding:10px 7px}.note{font-size:10px}h1{font-size:28px}.question{padding:14px 16px 5px}.question h2{font-size:19px}#answers button{min-width:58px;padding:8px 10px}.bottom{padding:12px 18px}}

#score{display:block!important;padding:8px 18px;position:relative}#score .engraved{width:100%;min-width:360px}#score .engraved svg{position:static!important;max-width:100%;height:auto}.score-note{cursor:pointer}.score-note.target path{fill:#b4863d!important;stroke:#b4863d!important}.score-note.sounding path{fill:#c77625!important;stroke:#c77625!important}.score-note:focus{outline:none}.score-note:focus>rect{stroke:#b4863d;stroke-width:1}
.controls a{display:inline-flex;align-items:center;font-size:12px;color:#647c54;text-decoration:none;padding:8px;border-bottom:1px solid #c4d2b6}

.controls{flex-wrap:wrap}.controls label{font-size:12px;white-space:nowrap}.controls select{width:auto;padding:5px}.controls input{width:auto}.learning{font-size:12px;line-height:1.7}.learning ul{padding-left:16px}#tutor{margin:8px 24px;padding:14px;background:#eef1e5;border-radius:12px;line-height:1.8}#write-staff{touch-action:none}.written-mark{cursor:ns-resize}.written-mark:focus{outline:none}.written-mark:focus rect{stroke:#ad8242}.score-note.selected-note path{fill:#ad8242!important}#repertoire{font-size:12px;line-height:1.8}
#score[hidden],#writing[hidden],#audio-settings[hidden],#tutor[hidden]{display:none!important}
/* Keep both score systems visible; scroll the card, not a clipped score viewport. */
.card>*{flex-shrink:0}#score{flex:none!important;min-height:0;overflow-x:auto;overflow-y:hidden}.learning{padding:12px 0}.controls{padding:0 16px}#audio-settings{margin:0 0 10px}
