.lab-body{padding:26px}.lab-instruction{color:#52677f;line-height:1.6;margin:0 0 18px}.lab-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}.lab-toolbar button,.lab-editor button,.lab-options button{min-height:46px}.lab-toolbar label{font-weight:700}.lab-score{overflow-x:auto;background:#fff;border:1px solid #dfe6ee;border-radius:14px;padding:8px}.lab-score .result-notation{border:0!important;padding:0!important;margin:0!important}.lab-score svg{min-width:620px!important;max-height:480px}.lab-score [data-note]{cursor:pointer;outline:none}.lab-score [data-note]:focus{filter:drop-shadow(0 0 4px #3989bd)}.lab-slots{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.lab-slot{border:2px solid #b8c9dc;background:#f6f9fc;border-radius:12px;padding:12px;min-width:94px;min-height:74px;flex:1;color:#183b68;text-align:center;cursor:pointer;font:700 17px system-ui}.lab-slot small{display:block;font-size:12px;font-weight:500;line-height:1.5}.lab-slot[aria-pressed=true]{border-color:#245c96;background:#e8f2ff;box-shadow:0 0 0 2px #93b4d8}.lab-slot.given{border-style:dashed;background:#edf3f7;cursor:default}.lab-slot.correct{background:#eaf7f0;border-color:#19734b}.lab-slot.wrong{background:#fff0f0;border-color:#b32d36}.lab-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:18px 0}.lab-options button{border:1px solid #b8c9dc;border-radius:12px;padding:15px;background:white;color:#183b68;font:750 17px system-ui;cursor:pointer;text-align:left}.lab-options button small{display:block;font-size:12px;font-weight:500;line-height:1.6;color:#52677f}.lab-options button[aria-pressed=true]{background:#e8f2ff;border:2px solid #245c96}.lab-options button.correct{background:#eaf7f0;border-color:#19734b}.lab-options button.wrong{background:#fff0f0;border-color:#b32d36}.lab-editor{display:flex;gap:10px;flex-wrap:wrap;align-items:center;padding:16px;background:#edf3fa;border-radius:12px;margin:14px 0}.lab-editor label{font-weight:700;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.lab-editor select{font:700 16px system-ui;padding:10px;border-radius:8px;border:1px solid #b8c9dc;background:white}.lab-keyboard-scroll{overflow-x:auto;padding:12px 0;margin:8px 0}.lab-keyboard{position:relative;height:190px;display:flex;min-width:650px;isolation:isolate}.lab-key{position:relative;padding:0;border:1px solid #183b68;border-radius:0 0 5px 5px;cursor:pointer;font:750 14px system-ui;flex-shrink:0}.lab-key.white{height:190px;background:white;color:#183b68;width:7.142857%;z-index:1}.lab-key.black{height:118px;background:#172a42;color:white;position:absolute;width:4.3%;z-index:2}.lab-key span{position:absolute;bottom:12px;left:0;right:0;pointer-events:none}.lab-key[aria-pressed=true]{background:#a6c5ed}.lab-key.given{box-shadow:inset 0 -8px #55708f}.lab-key.correct{background:#78c4a1}.lab-key.wrong{background:#e7a1a7}.lab-key:focus-visible,.lab-slot:focus-visible,.lab-options button:focus-visible{outline:3px solid #b67816;outline-offset:3px}.lab-correction{background:#f6f9fc;border:1px solid #dfe6ee;border-radius:12px;padding:16px;margin:16px 0}.lab-correction h3{margin:0 0 10px}.lab-reference{margin:18px 0;color:#52677f;font-size:13px;line-height:1.6}.lab-reference a{text-decoration:underline}.lab-answer-list{line-height:1.8;padding-left:22px}.lab-answer-list .wrong{color:#a32a35;font-weight:700}.lab-answer-list .correct{color:#19734b}.lab-mark-summary{font-size:14px;color:#52677f;line-height:1.6}.lab-stage-status{font-size:14px;color:#52677f;min-height:1.5em;line-height:1.6}.lab-editor #selectedLabel{font-weight:750;flex:1 1 100%}.lab-progressions{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.lab-note-list{font-size:18px;font-weight:750;color:#183b68;line-height:1.8;overflow-wrap:anywhere}.lab-preview-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}body.present .lab-body{padding:30px}body.present .lab-slot,body.present .lab-options button{font-size:23px;min-height:74px}body.present .lab-instruction{font-size:19px}#solution[hidden]{display:none!important}@media(max-width:600px){.lab-body{padding:16px}.lab-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lab-options button{font-size:15px;padding:12px;overflow-wrap:anywhere}.lab-slot{font-size:15px;min-width:72px;padding:10px}.lab-toolbar button{flex:1 1 120px}.lab-score svg{min-width:580px!important}.lab-editor button{flex:1}.lab-editor label{width:100%}.lab-keyboard{min-width:620px}.lab-stage-status{font-size:13px}}

.lab-score [data-note]:not([data-note="0"]){touch-action:none;cursor:grab}.lab-score.dragging,.lab-score.dragging [data-note]{cursor:grabbing}.lab-score [data-note="0"]{cursor:default}

/* The starting note is an anchor, not an unanswered or disabled-looking gap. */
body[data-lab="scales"] .lab-slot.given{opacity:1;background:#183b68;color:#fff;border:3px solid #183b68;box-shadow:0 3px 0 #b8cce3;font-size:24px;font-weight:850}body[data-lab="scales"] .lab-slot.given small{color:#fff;font-size:12px;font-weight:800;letter-spacing:.025em}body[data-lab="scales"] .lab-key.given{opacity:1;background:#f5cd77!important;color:#10243e!important;box-shadow:inset 0 0 0 3px #9a6613}body[data-lab="scales"] .lab-key.given span{font-size:20px;font-weight:850}body[data-lab="scales"] .lab-key.given::after{content:"GIVEN";position:absolute;bottom:42px;left:2px;right:2px;text-align:center;font:800 9px system-ui;letter-spacing:.03em;color:#10243e;pointer-events:none}body[data-lab="scales"] .lab-key.given[aria-pressed="true"]{outline:3px solid #245c96;outline-offset:-5px}
