.midi-session-card{margin-top:17px;border:1px solid #dce4d1;border-radius:12px;background:linear-gradient(120deg,#f2f5eb,#fcfcf6);padding:19px 20px}.midi-session-head{display:flex;gap:15px;align-items:center;justify-content:space-between}.midi-session-head h3{font:normal 19px/1.3 Georgia,serif;color:#566c45;margin:8px 0 0}.midi-config-button{font-size:10px;color:#82946e;white-space:nowrap;display:flex;align-items:center;gap:10px}.midi-config-button:hover{color:#516e3c}.midi-session-card>p{font-size:11px;line-height:1.8;color:#859774;margin:9px 0 0}.midi-session-card.connected{border-color:#c5d7b6}.midi-session-card.connected .label:before{content:'';display:inline-block;width:5px;height:5px;background:#77965b;border-radius:50%;margin-right:6px}.midi-task-line{display:flex;justify-content:space-between;font-size:10px;color:#7e936a;margin:19px 0 10px}.midi-target-notes{display:flex;flex-wrap:wrap;gap:7px;min-height:34px}.target-note{padding:8px 13px;border:1px solid #d3ddc5;border-radius:7px;background:#fffef8;font-size:12px;color:#8b794f;display:flex;align-items:center;gap:6px;min-width:55px;justify-content:center}.target-note.received{color:#47704c;background:#e0eddb;border-color:#acc69d}.target-note.received:before{content:'✓';font-size:11px}.midi-progress-track{height:3px;background:#e1e8d7;border-radius:4px;overflow:hidden;margin:16px 0 0}.midi-progress-track i{display:block;width:0;height:100%;background:#86a66d;transition:width .2s}.midi-live-message{font-size:11px;line-height:1.8;color:#81956c;min-height:19px;margin:11px 0}.midi-live-message.wrong{color:#a16a43}.midi-exercise-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.midi-exercise-actions button{font-size:10px;color:#809266;padding:4px 0}.midi-exercise-actions button:hover{color:#4c6938}.midi-exercise-actions>span{font-size:9px;color:#9ba98a;margin-left:auto}.midi-result{display:flex;gap:11px;align-items:center;padding-top:17px;margin-top:16px;border-top:1px solid #dce5d1}.midi-result[hidden],#midi-exercise[hidden]{display:none}.result-check{background:#dfead4;color:#6b8c4d;width:30px;height:30px;display:grid;place-items:center;border-radius:50%;flex-shrink:0}.midi-result strong{font-size:12px;color:#567143;font-weight:500}.midi-result p{font-size:10px;color:#8a9b77;margin:5px 0;line-height:1.7}.midi-result button{margin-left:auto;background:#e1ead7;border-radius:5px;font-size:10px;color:#67834d;padding:8px 11px;white-space:nowrap}.midi-practice{border-top:1px solid #dce4d0;padding-top:15px;font-size:10px}.midi-practice>label{line-height:1.5}.midi-practice small{font-size:9px;line-height:1.7;margin-top:8px}.midi-practice input:disabled+span{opacity:.5}#chord-policy-options{margin-top:12px}#chord-policy-options>span{font-size:9px;color:#9aaa89}.chord-policy-switch{display:flex;background:#e6ecdc;border-radius:5px;padding:3px;margin-top:7px}.chord-policy-switch button{flex:1;font-size:10px;border-radius:4px;padding:7px 4px;color:#8a9d72}.chord-policy-switch button.active{background:#fffef8;color:#607c46;box-shadow:0 1px 4px #1b370b0e}.midi-dialog{width:620px;padding:32px}.midi-dialog .midi-dialog-intro{font-size:12px;line-height:1.8;margin-bottom:20px}.connection-steps{display:flex;align-items:center;gap:20px;padding:13px 16px;background:#f2f5eb;border:1px solid #e4eadb;border-radius:8px}.connection-steps>span{display:flex;align-items:center;gap:7px;color:#9caa8a;font-size:11px}.connection-steps i{font-style:normal;font-size:9px;display:grid;place-items:center;border:1px solid #cdd9bf;background:#f9faf5;border-radius:50%;width:20px;height:20px;color:#92a57d}.connection-steps .passed{color:#67844d}.connection-steps .passed i{background:#738e5c;color:white;border-color:#738e5c}.connection-actions{display:flex;align-items:center;gap:12px;margin-top:10px}.secondary-button{border:1px solid #d9e2cc;border-radius:6px;color:#84946e;background:#fafbf6;font-size:10px;padding:9px 13px}.secondary-button:hover{background:#eef3e6}.midi-dialog .status-message{font-size:11px;line-height:1.7;margin:6px 0 15px}.midi-device-field{margin:11px 0 17px}.midi-device-field label{display:block;font-size:10px;color:#8a9c74;margin-bottom:7px}.midi-device-field select{font-size:12px}.midi-diagnostics{border:1px solid #e1e8d8;background:#fcfdf8;border-radius:10px;padding:15px 16px}.diagnostic-heading{display:flex;justify-content:space-between;align-items:center;font-size:8px;letter-spacing:1.2px;color:#9baa8a;margin-bottom:17px}.diagnostic-heading>span:last-child{font-size:10px;letter-spacing:0}.diagnostic-readout{display:grid;grid-template-columns:1.5fr 1fr .8fr;gap:15px}.diagnostic-readout>div>span{font-size:10px;color:#94a47f;display:block;margin-bottom:10px}.diagnostic-readout strong{display:block;color:#617d4a;font-size:24px;font-weight:400;min-height:30px;font-variant-numeric:tabular-nums}.diagnostic-readout small{font-size:9px;color:#a3b18f;margin-top:4px}.diagnostic-readout .pedal-readout strong{font-size:12px;display:flex;align-items:center}.pedal-readout strong.down{color:#94783e}.velocity-meter{height:5px;background:#e7eddf;border-radius:3px;overflow:hidden;margin:17px 0 11px}.velocity-meter i{width:0;height:100%;display:block;background:#a6b98f;transition:width .07s}.velocity-readout strong{font-size:13px;min-height:17px;color:#91a576}.pressed-line{display:flex;gap:12px;border-top:1px solid #e8edde;margin-top:16px;padding-top:13px;align-items:center}.pressed-line>span{font-size:9px;color:#a3b08e}.pressed-line>div{font-size:11px;color:#778c5f;line-height:1.6}.monitor-option{font-size:11px;display:flex;align-items:center;gap:8px;color:#7d9266;margin-top:19px}.midi-dialog .monitor-help{font-size:10px;line-height:1.7;color:#9aaa86;margin:7px 0 17px 22px}.midi-advanced{border-top:1px solid #e2e9d7;border-bottom:1px solid #e2e9d7;padding:13px 0;margin:10px 0}.midi-advanced summary{font-size:11px;color:#859b6c;cursor:pointer}.midi-advanced-fields{display:grid;grid-template-columns:1fr 1.5fr;gap:15px;margin:17px 0 9px}.midi-advanced-fields label{font-size:10px;color:#8da277;line-height:1.7}.midi-advanced-fields input,.midi-advanced-fields select{display:block;width:100%;margin-top:6px;border:1px solid #dce4ce;border-radius:5px;padding:8px 10px;background:#fff;color:#6b8053;font-size:12px}.midi-advanced p{font-size:10px;line-height:1.8}.midi-dialog-bottom{display:flex;gap:16px;align-items:center;justify-content:space-between;padding-top:5px}.midi-dialog-bottom small{max-width:255px;font-size:9px;line-height:1.7}.midi-dialog-bottom .primary-button{font-size:11px;white-space:nowrap}.key.pressed{box-shadow:inset 0 0 0 2px #477d4d!important}.key.wrong{background:#c97f6d!important}.midi-target.received,.midi-target.received *{fill:#4e8b59!important;color:#4e8b59!important}.midi-config-button span{font-size:14px}
@media(max-width:720px){.midi-session-card{padding:17px 14px}.midi-session-head{align-items:flex-start;gap:10px}.midi-session-head h3{font-size:18px}.midi-config-button{font-size:9px;gap:4px}.midi-session-card>p{font-size:10px}.midi-exercise-actions{gap:12px}.midi-exercise-actions>span{margin-left:0;width:100%}.midi-dialog{padding:25px 21px}.connection-steps{gap:12px;padding:12px}.connection-steps>span{font-size:10px;gap:5px}.diagnostic-readout{grid-template-columns:1.3fr 1fr .9fr;gap:9px}.diagnostic-readout strong{font-size:22px}.diagnostic-readout .pedal-readout strong{font-size:10px}.diagnostic-readout>div>span{font-size:9px}.midi-diagnostics{padding:14px 11px}.midi-dialog-bottom{flex-direction:column;align-items:stretch;gap:5px}.midi-dialog-bottom small{max-width:none}.midi-advanced-fields{grid-template-columns:1fr 1.3fr;gap:11px}.midi-session-card .midi-result{flex-wrap:wrap}.midi-result button{margin-left:41px}.midi-practice{font-size:11px}}
/* Keep small instructional text readable against the pale practice surface. */
.midi-session-card>p,.midi-task-line,.midi-live-message,.midi-config-button,.midi-exercise-actions button{color:#63764f}.midi-exercise-actions>span,.midi-result p{color:#71835e}.midi-practice small{color:#70835e}.midi-dialog .monitor-help,.diagnostic-readout small,.midi-advanced p,.midi-dialog-bottom small{color:#6e7d5f}.diagnostic-heading,.diagnostic-readout>div>span,.pressed-line>span,.midi-device-field label,.midi-advanced-fields label{color:#748565}.midi-step-signal{transition:color .2s}button:disabled{cursor:default}
