body:has(dialog.scoreReaderDialog[open]){overflow:hidden}
.scoreReaderDialog .scorePaper{position:relative;overflow-anchor:none}.practiceLineOverlay{position:absolute;pointer-events:none}.practiceScoreLine{position:absolute;left:1%;width:98%;min-height:0!important;padding:0!important;border:0!important;border-radius:3px;background:transparent!important;box-shadow:none!important;pointer-events:auto;color:transparent!important}.practiceScoreLine.isCurrent{background:#76596822!important;outline:2px solid #76596880}.practiceScoreLine:disabled{pointer-events:none}.practiceFollow{margin-top:6px;font-size:13px}.practiceFollow>label{display:inline-flex;align-items:center;gap:6px;margin:0 10px 0 0;font-weight:500}.practiceFollow input[type=checkbox]{width:auto;margin:0}.practiceFollow details{margin:4px 0}.practiceFollow summary{font-weight:500;padding:5px 0}.practiceFollow p{font-size:12px;line-height:1.5;margin:6px 0}.practiceMarkActions{display:flex;gap:6px;flex-wrap:wrap}.practiceFollow button{font-size:12px;min-height:30px;padding:5px 8px}.practiceMarkerRow{display:flex;align-items:center;gap:6px;margin-top:6px}.practiceMarkerRow>button:first-child{flex:1;text-align:left}.practiceMarkerRow label{font-size:11px;display:flex;gap:4px;align-items:center;margin:0}.practiceMarkerRow input{width:70px;padding:4px;margin:0;min-height:30px}.practiceFollow select{width:auto;max-width:180px;margin:0;padding:4px;min-height:30px;font-size:12px}#practiceLineRepeat>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}#practiceLineRepeat label{display:flex;gap:4px;align-items:center;margin:0}#practicePosition{color:#765968;font-weight:500}
dialog.scoreReaderDialog{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;border-radius:0;overflow:hidden;background:#f5f2f4;box-sizing:border-box}
.scoreReaderDialog .scoreHead{color:#58404f;min-height:0;height:auto;box-sizing:border-box}
.scoreReaderDialog #modal{height:100%;padding:0}.scoreReader{height:100%;display:flex;flex-direction:column}.scoreHead{position:static;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top)) 12px 10px;background:#fff;border-bottom:1px solid #e1d8dd;flex:none}.scoreHead button,.scoreControls button{min-height:38px;padding:7px 13px;white-space:nowrap}.scoreTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;font-size:15px}.scoreMenu{position:relative}.scoreMenu summary{list-style:none;cursor:pointer;padding:10px;font-size:16px}.scoreMenu>div{position:absolute;right:0;top:100%;width:210px;padding:8px;display:grid;gap:6px;background:white;box-shadow:0 4px 20px #30203030;z-index:2;border-radius:10px}.scoreMenu a{padding:9px;color:#58404f;text-decoration:none}.scoreStage{flex:1;min-height:0;overflow:auto;position:relative;touch-action:pan-x pan-y}.scorePaper{width:max-content;min-width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;padding:12px;box-sizing:border-box;transform-origin:center}.scorePaper canvas,.scorePaper img{display:block;max-width:none!important;max-height:none!important;flex:none;background:white;box-shadow:0 2px 12px #30203020}.scoreStatus{position:absolute;top:40%;left:10%;right:10%;text-align:center;background:#f5f2f4;padding:16px}.scoreStatus[hidden]{display:none}.scoreControls{display:flex;align-items:center;justify-content:center;gap:10px;padding:8px 12px calc(8px + env(safe-area-inset-bottom));background:white;border-top:1px solid #e1d8dd;flex:none}.scorePage{min-width:65px;text-align:center;font-size:14px}.scoreZoom{display:flex;gap:6px;margin-left:12px}.scorePrintFrame{position:fixed;left:-10000px;width:800px;height:1000px}.scorePageOrder{margin:10px 0;display:grid;gap:6px}.scorePageOrder>div{display:flex;align-items:center;gap:8px;font-size:14px}.scorePageOrder span{flex:1;overflow-wrap:anywhere}.scorePageOrder button{padding:4px 10px;min-height:30px}.scoreGroupOptions{margin:12px 0}.scoreGroupOptions input[type=checkbox]{width:auto;margin-right:6px}
@media(max-width:480px){.scoreControls{gap:5px;padding-left:6px;padding-right:6px}.scoreZoom{margin-left:4px;gap:4px}.scoreControls button{padding:7px 10px}.scoreHead{gap:6px}.scorePage{min-width:55px}}
.scorePageOrder input[type=checkbox]{width:auto;flex:none;margin:0}
.scoreReaderDialog .scoreReader{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);position:relative;background:#f5f2f4}
.scoreReaderDialog .scoreStage{grid-area:1/1;min-width:0;min-height:0;height:100%;width:100%;background:transparent;z-index:0}
.scoreReaderDialog .scorePaper{padding-top:calc(var(--reader-top,54px) + 12px);padding-bottom:calc(var(--reader-bottom,54px) + 12px)}
.scoreReaderDialog .scoreHead,.scoreReaderDialog .scoreControls,.scoreReaderDialog .practicePlayer{grid-area:1/1;background:transparent;border:0;box-shadow:none;z-index:3;pointer-events:none}
.scoreReaderDialog .scoreHead{align-self:start;position:relative}.scoreReaderDialog .scoreHead::after{display:none}
.scoreReaderDialog .scoreControls{align-self:end;margin-bottom:var(--reader-dock,0px)}
.scoreReaderDialog .practicePlayer{align-self:end;width:100%;z-index:4}
.scoreReaderDialog .scoreHead button,.scoreReaderDialog .scoreHead select,.scoreReaderDialog .scoreMenu,.scoreReaderDialog .scoreControls button,.scoreReaderDialog .practicePlayer button,.scoreReaderDialog .practicePlayer select,.scoreReaderDialog .practicePlayer label,.scoreReaderDialog .practicePlayer audio,.scoreReaderDialog .practicePlayer details{pointer-events:auto}
.scoreHead .scoreMenu{margin:0;border:0}.scoreReaderDialog .scoreHead{padding-top:8px;padding-bottom:8px}
.scoreReaderDialog .scoreChoice{width:min(220px,30vw);min-height:36px;margin:0;padding:6px 8px;font-size:13px}.scoreReaderDialog .scoreLyrics{white-space:pre-wrap;line-height:1.8;font-size:20px;font-weight:550;width:min(700px,calc(100vw - 48px));padding:20px;background:white;color:#292329}.practicePlayer{flex:none;max-height:38dvh;overflow:auto;border-top:1px solid #e6dce3;background:white;padding:8px 14px calc(8px + env(safe-area-inset-bottom))}.practiceVoices{display:flex;gap:6px;overflow-x:auto}.practiceVoices button{min-height:34px;padding:6px 12px;background:#f1e9ef;color:#58404f;white-space:nowrap;font-size:13px}.practiceVoices button[aria-pressed=true]{background:#765968;color:white}.practiceRecording{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}.practiceRecording label{display:flex;align-items:center;gap:6px;margin:0;font-weight:500}.practiceRecording select{width:auto;max-width:260px;min-height:34px;margin:0;padding:6px;font-size:13px}.practiceRepeat input,.practiceSectionLoop input{width:auto;margin:0}.practicePlayer audio{margin:6px 0 0;display:block;width:100%;height:38px}.practiceSectionLoop,.practiceNotes{margin:4px 0 0}.practiceSectionLoop summary,.practiceNotes summary{padding:5px 0;font-size:13px;font-weight:500}.practiceSectionLoop>div{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.practiceSectionLoop button{padding:5px 9px;min-height:32px;font-size:12px}.practiceSectionLoop label{display:flex;gap:5px;margin:0;align-items:center;font-weight:500}.practiceSectionLoop span{font-size:12px;color:#756b75}.practiceNotes p{white-space:pre-wrap;font-size:13px;margin:6px 0}.practiceMessage{font-size:13px;color:#756b75}.practiceReaderDialog .scoreControls{padding-bottom:8px}
@media(max-width:600px){.scoreReaderDialog .scoreHead{padding:8px}.scoreReaderDialog .scoreChoice{max-width:140px;width:30vw}.scoreReaderDialog .scoreTitle{font-size:14px}.practicePlayer{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}.practiceRecording{gap:6px 10px}.practiceRecording select{max-width:180px}.practiceRecording label{font-size:12px}.practiceVoices button{padding:6px 10px}.practiceRepeat{margin-left:auto!important}}
