.rhythm-reader{max-width:1500px;margin:0 auto;color:#173568}.rhythm-reader button,.rhythm-reader select,.rhythm-reader input{font:inherit}.rhythm-reader button,.rr-options>summary,.rr-help>summary{cursor:pointer}.rhythm-reader button{border:1px solid #b8cdf5;background:#f5f8ff;color:#234e9b;border-radius:8px;padding:11px 17px;font-size:13px;font-weight:600}.rhythm-reader button:disabled{opacity:.45;cursor:default}.rhythm-reader button:focus-visible,.rhythm-reader summary:focus-visible{outline:3px solid #2761d6;outline-offset:3px}.rhythm-reader .rr-primary{background:#245bd3;color:#fff;border-color:#245bd3}.rr-audience{display:inline-block;margin-top:13px;font-size:12px;color:#e8efff}.rr-setup{display:flex;flex-wrap:wrap;align-items:end;gap:24px;padding:24px 0;border-bottom:1px solid #cfdbed}.rr-setup label,.rr-tempo{display:flex;flex-direction:column;gap:8px;font-size:12px;font-weight:600}.rhythm-reader select,.rhythm-reader input[type=number]{border:1px solid #b8cceb;border-radius:7px;background:#fff;color:#24426f;padding:10px;font-size:14px;min-height:42px}.rr-tempo>div{display:flex;gap:8px;align-items:center}.rr-tempo input{width:75px}.rr-tempo button{padding:8px 12px;font-size:18px}.rr-options,.rr-help{padding:20px 0;border-bottom:1px solid #cfdbed;font-size:13px;line-height:1.8}.rr-options summary,.rr-help summary{font-size:14px;font-weight:600}.rr-options p,.rr-help p{max-width:900px;color:#536d94}.rr-options fieldset{border:0;padding:0;margin:22px 0}.rr-options legend{font-weight:600;font-size:14px;margin-bottom:10px}.rr-patterns{display:flex;flex-wrap:wrap;gap:9px}.rr-patterns button{width:133px;min-height:108px;padding:10px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;font-size:11px;line-height:1.4;background:#fff}.rr-patterns svg{height:47px;width:84px}.rr-patterns button[aria-pressed=true]{background:#e0eaff;border-color:#245bd3;color:#173f8b;box-shadow:inset 0 -3px 0 #245bd3}.rr-toggles,.rr-playback{display:flex;flex-wrap:wrap;align-items:center;gap:20px}.rr-toggles label,.rr-playback label{display:flex;align-items:center;gap:8px;font-size:13px}.rr-practice{padding:24px 0}.rr-actions{display:flex;flex-wrap:wrap;gap:10px}.rr-playback{margin-top:22px}.rr-playback output{margin-left:auto;font-size:13px;font-weight:600}.rr-hint{font-size:11px;color:#5875a5;line-height:1.7}.rhythm-reader progress{display:block;width:100%;height:5px;margin:18px 0 10px;accent-color:#245bd3}.rr-score{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.rr-bar{min-width:0;background:#fff;border:1px solid #d1ddef;border-radius:10px;overflow:hidden}.rr-bar h3{margin:15px 18px 0;font:500 12px Poppins,sans-serif;color:#5a7398}.rr-sheet{overflow-x:auto;overflow-y:hidden;padding:0 8px 10px}.rr-sheet svg{display:block;max-width:none}.rr-notation-note{transition:opacity .1s}.rr-hit path,.rr-hit text{fill:#277544!important;stroke:#277544!important}.rr-miss path,.rr-miss text{fill:#b74343!important;stroke:#b74343!important}.rr-current{filter:drop-shadow(0 0 3px #80a5ff)}.rhythm-reader #rrTap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:min(100%,460px);min-height:108px;margin:26px auto 12px;background:#245bd3;color:#fff;border-color:#1747aa;border-bottom-width:4px;touch-action:manipulation;user-select:none}.rhythm-reader #rrTap strong{font-family:Candal,sans-serif;font-size:28px;letter-spacing:2px}.rhythm-reader #rrTap span{font-size:12px;font-weight:400}.rhythm-reader #rrTap.rr-tapped{animation:rr-tap .13s ease-out}@keyframes rr-tap{50%{background:#173c91;transform:translateY(2px)}}#rrStatus{text-align:center;font-size:14px;min-height:24px;line-height:1.7}.rr-results{padding:22px;background:#fff;border:1px solid #c7d7f2;border-radius:10px;text-align:center}.rr-results[hidden]{display:none}.rr-results>strong{font-family:Candal,sans-serif;font-size:38px}.rr-results p{font-size:14px}.rr-results span{font-size:12px;color:#5875a5}.rr-help li{margin-bottom:7px}.rr-help input{width:90px;margin:0 7px}.rr-setup input:disabled,.rr-setup select:disabled{opacity:.55}@media(max-width:700px){.rhythm-reader{padding:20px 14px}.rr-score{grid-template-columns:1fr}.rr-setup{gap:18px}.rr-setup>label{min-width:130px;flex:1}.rr-patterns button{width:calc((100% - 18px)/3);min-width:85px;padding:8px 4px}.rr-actions button{flex:1;min-width:115px}.rr-playback output{margin-left:0;width:100%}.rr-options,.rr-help{padding:18px 0}.rhythm-reader .header-medallion{display:none}}@media(prefers-reduced-motion:reduce){.rhythm-reader #rrTap.rr-tapped{animation:none}.rr-notation-note{transition:none}}
.rhythm-reader .rr-score{position:relative;display:flex;gap:0;overflow-x:auto;overflow-y:hidden;background:#fff;border:1px solid #cbd9ed;border-radius:10px;padding:10px 0;scrollbar-width:thin;overscroll-behavior-x:contain}
.rhythm-reader .rr-bar{flex:0 0 auto;border:0;border-radius:0;background:transparent;overflow:visible}.rhythm-reader .rr-sheet{overflow:visible}.rhythm-reader .rr-bar h3{margin-left:20px}.rhythm-reader #rrCursor{display:none;position:absolute;top:48px;bottom:24px;width:2px;background:#2563eb;pointer-events:none;z-index:2}.rhythm-reader .rr-running #rrCursor{display:block}
.rr-timing-choices{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:20px 0 8px}.rr-timing-choices strong{font-size:13px;margin-right:8px}.rhythm-reader .rr-timing-choices [aria-pressed=true]{background:#245bd3;color:#fff;border-color:#245bd3}
.rr-picker{min-height:42px;min-width:95px;text-align:left}.rr-chooser{width:min(480px,calc(100vw - 28px));padding:24px;border:1px solid #c7d7f0;border-radius:14px;background:#f7faff;color:#173568;font-family:Poppins,sans-serif}.rr-chooser::backdrop{background:#11234475}.rr-chooser-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}.rr-chooser h2{font:20px Candal,sans-serif;margin:0}.rr-chooser button{font:600 13px Poppins,sans-serif;border:1px solid #b9ccee;border-radius:8px;padding:12px 16px;background:#fff;color:#254b8b;cursor:pointer}.rr-chooser-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rr-chooser-options [aria-pressed=true]{background:#245bd3;color:#fff;border-color:#245bd3}.rr-chooser button:focus-visible{outline:3px solid #245bd3;outline-offset:3px}
.rr-count-in{display:flex;align-items:center;justify-content:center;gap:18px;margin:24px 0 14px;color:#536d94}.rr-count-in strong{font-size:12px;min-width:60px}#rrCountDots{display:flex;flex-wrap:wrap;gap:8px}#rrCountDots span{display:grid;place-items:center;min-width:36px;height:36px;border:1px solid #bdceeb;border-radius:50%;background:#f9fbff;font-size:16px;font-weight:600;color:#577199}#rrCountDots .is-beat{background:#245bd3;border-color:#245bd3;color:#fff;box-shadow:0 0 0 3px #d3e1ff}@media(max-width:550px){.rr-count-in{gap:10px}#rrCountDots{gap:5px}#rrCountDots span{min-width:29px;height:29px;font-size:13px}}
.rhythm-reader .rr-custom-open{margin:20px 0 0}.rr-custom-dialog{width:min(940px,calc(100vw - 28px));max-height:85vh;overflow-y:auto;padding:26px;border:1px solid #bfd1ee;border-radius:14px;background:#f7faff;color:#173568;font-family:Poppins,sans-serif}.rr-custom-dialog::backdrop{background:#11234475}.rr-custom-dialog h2{font:21px Candal,sans-serif;margin:0}.rr-custom-dialog .rr-options{padding-top:0;border:0}.rr-custom-dialog #rrSelectionCount{font-size:12px;color:#54709a}.rr-custom-dialog .rr-patterns{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.rr-custom-dialog .rr-patterns button{width:100%;min-width:0}.rr-custom-dialog .rr-chooser-heading{position:sticky;top:-26px;background:#f7faff;padding:12px 0;z-index:2}@media(max-width:700px){.rr-custom-dialog{padding:18px}.rr-custom-dialog h2{font-size:18px}.rr-custom-dialog .rr-patterns{grid-template-columns:repeat(3,minmax(0,1fr))}.rr-custom-dialog .rr-chooser-heading{top:-18px}}
.rhythm-reader .rr-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;background:#f8faff}.rr-toggle strong{display:inline-grid;place-items:center;min-width:35px;font-size:11px;padding:3px 7px;border-radius:5px;background:#e6ecf6;color:#5a6c89}.rhythm-reader .rr-toggle[aria-pressed=true]{border-color:#82a7e9;background:#edf4ff}.rr-toggle[aria-pressed=true] strong{background:#245bd3;color:#fff}.rr-mistake{position:absolute;top:140px;width:23px;height:23px;display:grid;place-items:center;background:#b73f45;color:#fff;border-radius:50%;font:700 23px/1 Arial,sans-serif;z-index:3;pointer-events:none}.rr-notation-note.rr-miss{filter:drop-shadow(0 0 2px #b73f4520)}
.rr-rest-buttons{display:flex;gap:10px;flex-wrap:wrap}.rr-custom-dialog .rr-rest-option{display:flex;align-items:center;justify-content:space-between;gap:18px;min-width:155px;min-height:52px;background:#fff}.rr-rest-option strong{font-size:11px;padding:3px 7px;border-radius:5px;background:#e7edf7;color:#5b7095}.rr-custom-dialog .rr-rest-option[aria-pressed=true]{border-color:#245bd3;background:#e0eaff}.rr-rest-option[aria-pressed=true] strong{background:#245bd3;color:#fff}@media(max-width:500px){.rr-custom-dialog .rr-rest-option{min-width:0;width:100%}}

/* Adjacent staves meet at their barlines, forming one continuous score. */
.rhythm-reader .rr-sheet{padding:0;overflow:visible}.rhythm-reader .rr-bar{margin:0;padding:0}.rhythm-reader #rrCursor{top:42px;bottom:24px}.rhythm-reader .rr-mistake{top:122px}

.rhythm-reader .rr-score{scrollbar-width:none;-ms-overflow-style:none}.rhythm-reader .rr-score::-webkit-scrollbar{display:none}
