.exercise-builder{margin-top:24px;border:1px solid #d6dfd1;border-radius:13px;background:#fffef9;overflow:hidden}.exercise-builder>summary{padding:19px 22px;cursor:pointer;font-size:15px;font-weight:650}.exercise-builder>summary span{font-size:11px;font-weight:400;color:#64736d;margin-left:15px}.exercise-builder[open]>summary{border-bottom:1px solid #e0e4da}#builder-content{padding:22px}#builder-content h2{font:400 26px Georgia,serif;margin:0 0 9px}.builder-intro,.builder-notice,.builder-count,.builder-status{font-size:12px;line-height:1.6;color:#64736d}.builder-status{color:#175c4e;min-height:20px}.builder-status.error{color:#9e3024}.builder-meta,.builder-composer{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;margin:20px 0}.builder-composer{grid-template-columns:1.5fr 1fr .7fr 1fr;background:#f1f4eb;padding:16px;border-radius:9px}.builder-meta label,.builder-composer label,.builder-library label{font-size:11px;display:flex;flex-direction:column;gap:8px;color:#526a5f}.builder-meta input:not([type=checkbox]),.builder-meta select,.builder-composer select,.builder-library select{min-height:44px;width:100%;min-width:0;border:1px solid #d7ded1;border-radius:7px;padding:8px;background:#fffef9;color:#223c37}.builder-meta input[type=checkbox]{height:25px;width:25px;margin:9px 0}.builder-step-preview{font-size:13px;font-weight:650;color:#175c4e}.builder-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:15px 0}.builder-actions button,.builder-actions a,.builder-row-actions button,.builder-library button,.builder-staging button{min-height:44px}.builder-actions a{text-decoration:none;display:inline-flex;align-items:center}.builder-steps{list-style:none;margin:16px 0;padding:0;max-height:370px;overflow:auto;border-top:1px solid #e0e4da}.builder-steps li{display:flex;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid #e0e4da;font-size:12px}.builder-steps strong{font-size:13px;min-width:135px}.builder-steps li>span{color:#64736d}.builder-row-actions{display:flex;gap:6px;margin-left:auto}.builder-row-actions button{padding:7px 10px;font-size:11px}.builder-library{display:flex;flex-wrap:wrap;align-items:flex-end;gap:14px;padding:19px 0;border-top:1px solid #e0e4da}.builder-library label{min-width:180px;flex:1}.builder-library input[type=file]{font-size:11px;max-width:100%;min-height:44px;padding-top:10px}.builder-staging{padding:15px;background:#edf3e7;border:1px solid #cfdcc9;border-radius:9px;font-size:12px;line-height:1.6}.builder-staging button{margin:4px 7px 4px 0}.key-shortcut{position:absolute;bottom:63px;font:600 9px system-ui;background:#e7ecdf;border:1px solid #cbd4c2;border-radius:3px;padding:2px 4px;color:#52654e;pointer-events:none}.black .key-shortcut{bottom:auto;top:8px;background:#344b43;border-color:#607568;color:#e8f0e2}.note-pad{position:relative}.note-pad .key-shortcut{bottom:auto;top:4px;right:4px;font-size:8px;padding:1px 3px}.sequence-step.chord-step{min-width:118px}.sequence-step.chord-step strong{font-size:16px;line-height:1.5}.current-chord #current-note{font-size:14px;max-width:90px;text-align:center}.builder-notice{border-left:3px solid #a7bba0;padding-left:12px}.classroom .exercise-builder{display:none}body.classroom #phase-description{font-size:15px}.instrument:focus-visible{outline:3px solid #227cba;outline-offset:4px}
@media(max-width:850px){.builder-meta,.builder-composer{grid-template-columns:1fr 1fr}.builder-steps li{flex-wrap:wrap}.builder-row-actions{margin-left:auto}.exercise-builder>summary span{display:block;margin:6px 0 0}.key-shortcut{font-size:8px;padding:1px 3px}}
.classroom .input-guide{display:none}.builder-text-transfer{margin:12px 0;font-size:12px;line-height:1.6}.builder-text-transfer summary{cursor:pointer;min-height:44px;padding:10px 0}.builder-text-transfer textarea{width:100%;min-width:0;resize:vertical;font:12px/1.5 ui-monospace,Consolas,monospace;padding:10px;border:1px solid #cbd8c4;border-radius:7px;background:#f8faf3}.builder-text-transfer button{margin-top:8px;min-height:44px}.builder-text-transfer textarea:focus-visible{outline:3px solid #227cba;outline-offset:2px}
.rhythm-panel{display:grid;grid-template-columns:1fr auto;gap:8px 12px;padding:10px 0 12px;border-bottom:1px solid #e0e4da}.rhythm-options{display:flex;flex-wrap:wrap;gap:4px 17px;align-items:center}.rhythm-options label{display:flex;align-items:center;gap:7px;min-height:44px;font-size:11px;color:#4f665c}.rhythm-options input{width:18px;height:18px}.rhythm-panel>p{grid-column:1/-1;font-size:10px;line-height:1.55;color:#64736d;margin:0;max-width:660px}.beat-readout{display:flex;gap:9px;align-items:center;font-size:10px;color:#536c5a;min-width:150px}.beat-readout strong{display:grid;place-items:center;min-width:38px;height:38px;padding:0 6px;border:1px solid #d4dfce;border-radius:50%;font:500 19px Georgia,serif;background:#f0f4e9}.beat-readout[data-phase=count-in] strong{background:#f4e5bd;border-color:#c5b47f;color:#65511d}.beat-readout[data-phase=playback] strong{background:#dcefe1;border-color:#91b69a;color:#175c4e}.builder-rhythm{display:grid;grid-template-columns:1fr 1fr 2fr;gap:16px;align-items:center;border:1px solid #dce5d5;background:#f4f7ef;padding:14px;border-radius:8px;margin:15px 0}.builder-rhythm label{display:flex;flex-direction:column;gap:8px;font-size:11px;color:#526a5f}.builder-rhythm input[type=checkbox]{width:25px;height:25px;margin:6px 0}.builder-rhythm select{min-height:44px}.builder-rhythm p{font-size:11px;line-height:1.6;color:#64736d;margin:0}@media(max-width:600px){.rhythm-panel{grid-template-columns:1fr}.beat-readout{grid-row:2;min-height:40px}.rhythm-options{justify-content:space-between;gap:6px}.builder-rhythm{grid-template-columns:1fr 1fr;gap:12px}.builder-rhythm p{grid-column:1/-1}.rhythm-panel>p{font-size:10px}}body.classroom .beat-readout{font-size:13px}body.classroom .beat-readout strong{font-size:26px;min-width:48px;height:48px}
@media(max-width:600px){#builder-content{padding:16px 12px}.builder-meta,.builder-composer{gap:12px}.builder-meta>label:first-child{grid-column:1/-1}.builder-composer{padding:12px}.builder-actions{align-items:stretch}.builder-actions button,.builder-actions a{flex:1;justify-content:center;font-size:11px}.builder-steps li>strong{min-width:0;flex:1}.builder-row-actions{width:100%;justify-content:flex-end}.builder-library{display:grid;grid-template-columns:1fr 1fr}.builder-library label{min-width:0;grid-column:1/-1}.builder-library button{font-size:11px;padding:8px}.builder-steps{max-height:420px}.key-shortcut{bottom:67px;font-size:9px}.exercise-builder>summary{padding:16px;font-size:13px}}
