.importPanel h2{margin:0 0 22px}
.importMethods{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0}
.importMethods legend,.uploadStep>label{font-size:17px;font-weight:650;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.stepNumber{display:inline-grid;place-items:center;background:#314a3e;color:#fff;border-radius:50%;width:26px;height:26px;font:600 14px/1 system-ui;flex-shrink:0}
.methodCard{display:flex;align-items:flex-start;gap:12px;border:1px solid #c6cabe;border-radius:10px;padding:18px;background:#fff;cursor:pointer}
.methodCard:hover{border-color:#607b68;background:#fafcf8}
.methodCard:has(input:checked){border:2px solid #314a3e;padding:17px;background:#edf3ed}
.methodCard:has(input:focus-visible){outline:3px solid #9cb8a5;outline-offset:3px}
.methodCard input{accent-color:#314a3e;width:19px;height:19px;flex-shrink:0;margin:4px 0 0;padding:0}
.methodCard strong{display:block;font-size:17px;margin-bottom:5px}
.methodCard span span{display:block;font-size:14px;line-height:1.6;color:#596458}
.importMethods:disabled .methodCard{opacity:.6;cursor:wait}
.uploadStep{margin-top:24px;padding:20px;border:1px dashed #9da99d;border-radius:10px;background:#f5f7f0}
.uploadStep>label{margin-bottom:5px}
.uploadStep p{font-size:14px;color:#566153}
.uploadStep input[type=file]{display:block;width:100%;margin:14px 0 8px;padding:0;cursor:pointer}
.uploadStep input::file-selector-button{font:600 15px/1.5 system-ui;padding:10px 18px;margin-right:12px;background:#314a3e;color:white;border:0;border-radius:6px;cursor:pointer}
.uploadStep input:disabled{cursor:not-allowed}
.uploadStep input:disabled::file-selector-button{background:#d9ded5;color:#586153;cursor:not-allowed}
.uploadStep.awaitingMethod{background:#f6f5f0;border-color:#cecec4}
.awaitingMethod .stepNumber{background:#d9ded5;color:#586153}
.uploadStep .fileTypes{font-size:12px;color:#64705f;margin:6px 0 0}
.importPanel #importHelp{margin-top:18px;border-top:1px solid #e0e1d7;padding-top:8px}
.importPanel #importHelp summary{font-size:14px;color:#596458}
@media(max-width:560px){.importMethods{grid-template-columns:1fr}.methodCard{padding:14px}.methodCard:has(input:checked){padding:13px}.uploadStep{padding:16px}.importPanel{padding:20px}}
@media screen{main{max-width:1320px}}
.reviewHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.reviewHeader h2{margin:0}.reviewHeader>label{font-size:14px;color:#566153}
.reviewHeader input{width:180px;background:white;border:1px solid #b7bfb4;border-radius:5px}
.editWorkspace{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;align-items:start}
.scoreStage{min-width:0;border:1px solid #d6dcd1;border-radius:8px;overflow:hidden;background:#fff}
.scoreNavigation.scoreTools{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:58px;padding:8px 12px;background:#f1f4ed;border-bottom:1px solid #d6dcd1}
.scoreNavigation.scoreTools>label{font-size:14px;white-space:nowrap;grid-column:auto}
.scoreNavigation.scoreTools>label:last-child{margin-left:auto}
.scoreNavigation select{margin:0 0 0 5px;padding:5px;border:1px solid #aebaa9;border-radius:5px;background:white}
.scoreViewport{height:68vh;max-height:800px!important;background:#f4f4ef;overscroll-behavior:contain}
.editHint{display:block;height:3.4em;overflow:auto;padding:8px 12px;border-top:1px solid #d6dcd1;font-size:13px;color:#4c604f;background:#f9faf6}
.editPanel{margin:0;padding:0;border:1px solid #d6dcd1;border-radius:8px;background:#f8faf4;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto}
.editPanel>summary{padding:12px 16px;font-size:16px;margin:0!important}
.editPanelBody{padding:0 14px 12px}
.editToolGroup{border-top:1px solid #dce2d7;padding:12px 0}
.editToolGroup h3{font:600 14px/1.5 system-ui;margin:0 0 10px}
.editPanel .duration-editor{gap:5px;margin:0}
.editPanel .duration-editor select{width:100%;margin:0 0 6px;background:#fff;border:1px solid #aebaa9;border-radius:4px}
.editPanel .duration-editor button{min-width:35px;width:35px;height:38px;font-size:24px}
.editPanel .duration-editor output{display:block;width:100%;margin:5px 0 0;font-size:13px;min-height:1.6em}
.symbolChoices{display:flex;gap:6px;width:100%;margin-bottom:8px}
.editPanel .duration-editor .symbolChoices button{flex:1;width:auto;font:600 15px/1.4 system-ui;height:40px;border-radius:6px}
.symbolChoices button::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:7px;background:#b62c35}
.symbolChoices button[data-kind=rest]::before{background:#247ca4}
.editPanel .duration-editor button:disabled{opacity:.4;cursor:not-allowed}
.conversionActions{padding:16px;background:#f1f4ed;border-top:1px solid #d6dcd1}
.convertPrimary{display:block;width:100%;margin:0;min-height:50px;border-radius:8px;background:#314a3e;font:650 17px/1.5 system-ui;box-shadow:0 2px 4px #263c2420}
.convertPrimary:hover{background:#243e31}.convertPrimary:focus-visible{outline:3px solid #8fae99;outline-offset:3px}
.conversionActions .convertPrimary{background:#eef3eb;color:#344b3b;border:1px solid #a6b4a5;box-shadow:none}
.conversionActions .convertPrimary:hover{background:#e2ebdf}
.conversionActions .readyToConvert{background:#d3f599;color:#223b12;border-color:#71a13d;box-shadow:0 0 0 3px #a6d766}
.conversionActions .readyToConvert:hover{background:#c4ed80}
.conversionActions .readyToConvert::after{content:' →';font-size:1.15em}
.conversionActions p{margin:8px 0 0;font-size:13px;color:#435c49}.conversionActions p:empty{display:none}
.titleEditor{padding:16px 20px;background:#f1f4ed;border:1px solid #d6dcd1;border-radius:8px;margin:18px 0 12px}
.titleEditor label{display:flex;align-items:center;gap:16px;font-size:16px;font-weight:600}
.titleEditor input{flex:1;min-width:0;max-width:420px;margin:0;padding:10px 12px;border:1px solid #aebaa9;border-radius:6px;background:white;font-weight:400}
.titleEditor p{margin:8px 0 0;font-size:13px;color:#596b59}
.scorePager,.sourcePager{display:flex;align-items:center;gap:8px}
.scorePager{justify-content:center;padding:10px 14px;border:1px solid #d6dcd1;border-radius:8px;background:#f1f4ed;margin-top:14px}
.scorePager button,.sourcePager button{margin:0;padding:7px 11px;background:white;border:1px solid #aebaa9;border-radius:6px;color:#314a3e;font:600 14px/1.5 system-ui;white-space:nowrap}
.scorePager button:disabled,.sourcePager button:disabled{opacity:.4;cursor:not-allowed}
.scorePager select{background:white;border:1px solid #aebaa9;border-radius:5px}
.sourcePager label{font-size:13px;white-space:nowrap}
.exportActions{padding:16px;background:#f1f4ed;border:1px solid #d6dcd1;border-radius:8px;margin-top:18px}
.exportActions p{margin:8px 0 0;color:#596b59;font-size:13px}
.sheet:not(.continuationSheet) .verticalTitle{border-left:0}
.sheet:not(.continuationSheet) .scoreBody{border-right:0}
@media screen{
 #grid{max-height:76vh;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
 #grid>.printPage:not(.activeScorePage){display:none}
}
@media print{#grid{width:210mm;max-height:none;overflow:visible;direction:ltr;overscroll-behavior:auto;scrollbar-gutter:auto}#grid>.printPage{display:block;margin:0}}
@media(max-width:920px){.scoreNavigation.scoreTools{flex-wrap:wrap}.sourcePager{gap:4px}.sourcePager button{padding:5px 7px}.scorePager{font-size:13px;gap:5px}}
@media(max-width:540px){.titleEditor{padding:14px}.titleEditor label{align-items:stretch;flex-direction:column;gap:8px}.titleEditor input{max-width:none;width:100%}}
.editHelp{font-size:12px;line-height:1.6;color:#62705f;margin:8px 0 0}
.editPanel .markEdits{margin:0;gap:5px}.editPanel .markEdits button{margin:0;font-size:13px;border-radius:4px}
.editPanel .editToolGroup>label{display:block;font-size:13px}
.editPanel .editToolGroup>button{margin:8px 0 0;font-size:13px;border-radius:4px}
.editPanelBody>details{border-top:1px solid #dce2d7;margin:0;padding-top:5px}
.editPanelBody>details summary{font-size:14px}
.editPanelBody>details p,.editPanelBody>details label{font-size:13px}
.editPanelBody>details select{max-width:100%;margin:5px 0;font-size:13px}
.editPanelBody>details button{font-size:13px;margin:5px 0;border-radius:4px}
@media(max-width:720px){
 .editWorkspace{display:flex;flex-direction:column;gap:10px}
 .editPanel{order:-1;width:100%;position:static;max-height:none}
 .editPanelBody{max-height:30vh;overflow:auto}
 .scoreStage{width:100%}.scoreViewport{height:60vh}
 .editPanel .duration-editor select{width:auto}.editPanel .duration-editor output{width:auto}
 .reviewHeader{align-items:flex-start}.reviewHeader>label{width:100%}
 .scoreNavigation.scoreTools{padding:8px;gap:5px}.scoreNavigation.scoreTools>label{font-size:12px}
}
/* Keep printed sheets in normal flow; absolute grid children can disappear
   when Chromium prints a previously scrollable, paginated preview. */
@media print{
 #grid>.printPage{box-sizing:border-box;width:210mm;height:296.9mm;padding:10mm;overflow:hidden;direction:ltr}
 .printPage .sheet,.printPage .sheet.continuationSheet{position:static;margin:0;width:190mm;height:277mm}
}
/* Draw a continuous separator even across the empty middle grid row. */
.sheet:not(.continuationSheet) .verticalTitle{background-image:linear-gradient(to right,#181818 0,#181818 1px,transparent 1px);print-color-adjust:exact;-webkit-print-color-adjust:exact}
.meterPanel>.previewSetting{margin-top:18px;padding-top:12px;border-top:1px solid #d6dcd1}
.packingExample{width:104px;margin:10px auto;border:1px solid #41473f;background:white}
.packingCell{height:76px;display:grid;grid-template-columns:76px minmax(0,1fr)}
.packingNotes{display:flex;flex-direction:column;min-height:0}
.packingMargin{border-left:1px solid #41473f}
#nameFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
#nameFields label{display:flex;align-items:center;gap:4px}#nameFields input{width:100%;min-width:0;margin:0}
.packingCell+.packingCell{border-top:1px solid #41473f}
.packingNote{flex:1;display:flex;justify-content:center;align-items:center;font:26px/1 "Segoe UI Symbol","Noto Music",serif;min-height:0}
.packingNote+.packingNote{border-top:1px dashed #cf4242}
.previewSetting .packingLegend{font-size:11px;line-height:1.5;color:#ad3434;margin:8px 0 0}
#barChoicesUI button{width:100%;margin:3px 0;padding:7px}
.meterPanel>[hidden]{display:none!important}
.meterPanel .notationOption{display:flex;align-items:baseline;gap:5px;font-size:14px;margin:10px 0}
.meterPanel .notationOption input{margin:0}
#yulChoices p{font-size:13px;line-height:1.5}
#yulChoices label{display:flex;align-items:center;gap:4px;font-size:14px}
#yulChoices select{margin:3px 0}
.printPage .sheet.shortScore{height:calc((277mm - 8mm)/2)}
.pitchAdjustment{font:700 .67em/1 "Segoe UI Symbol",serif;align-self:flex-start}
.pitchKey{font-size:12px;text-align:center;line-height:1.4;margin:2px 0}
.measureCounts .noteInputLink{margin:0;padding:5px 10px;background:white;color:#314a3e;border:1px solid #98a99e}
.editPanel .geometryToggle{background:white;color:#314a3e;border:1px solid #879487}
.editPanel .geometryToggle[aria-pressed=true]{background:#314a3e;color:white;border-color:#314a3e;font-weight:600}
.editHistory{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.editHistory button{margin:0;padding:6px 10px;background:white;color:#314a3e;border:1px solid #879487;border-radius:5px;font-size:14px}
.editHistory button:disabled{opacity:.45;cursor:default}.editHistory span{font-size:13px;color:#546252}
.titleEditor .editHistory{margin-top:12px}
body.scanningScore,body.scanningScore *{cursor:wait!important}
.scanProgress{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:10;isolation:isolate;overflow:hidden;width:min(320px,calc(100% - 32px));display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;background:#f5f8f2;color:#203c2c;border:1px solid #81a38a;border-radius:12px;box-shadow:0 4px 20px #1b382632;padding:12px 18px;pointer-events:none;font-size:15px}
.scanProgress::before{content:'';position:absolute;z-index:-1;inset:0 auto 0 0;width:var(--scan-fill,0%);background:#a8d996;transition:width .16s ease-out}
.scanProgress b{font-size:21px;font-variant-numeric:tabular-nums}.scanProgress span{grid-column:1/-1;font-size:13px}
@media(prefers-reduced-motion:reduce){.scanProgress::before{transition:none}}
.measureNumberAudit>label{display:block;margin:5px 0}
.measureNumberAudit select,.measureNumberAudit input{display:block;width:100%;margin:4px 0}
.measureNumberAudit button:disabled{opacity:.55;cursor:default}
.measureCounts{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;padding:12px 16px;margin-bottom:14px;border:1px solid #ccd6c9;background:#f2f6ef;border-radius:8px}
.measureCounts span{font-size:13px;color:#4a5c50}.measureCounts strong{display:block;color:#253e31;font-size:18px}
.measureCounts button{margin:0 0 0 auto;border-radius:6px;font-size:14px}
.auditLinks{display:grid;grid-template-columns:15em 12em;gap:12px;margin-left:auto;font-size:14px}
.measureCounts .auditLinks button{position:relative;margin:0;background:#faf9f6;color:#465249;border:1px solid #b9c2b9;white-space:nowrap}
@media(max-width:540px){.auditLinks{width:100%;grid-template-columns:1fr}}
.measureCounts .auditLinks button:focus-visible{outline:2px solid #304c66;outline-offset:3px}
.editPanel .auditStep{margin:0}.editPanel .auditStep>summary{font-weight:650;padding:8px 0}
.auditStatus{float:right;margin-left:4px;padding:1px 7px;border-radius:10px;background:#eceae4;color:#59594e;font:600 12px/1.6 system-ui}
.auditStatus[data-state=mismatch]{background:#fbe2df;color:#982f22}
.auditStatus[data-state=match]{background:#e1efe4;color:#28573d}
.measureCounts output{font-weight:650;color:#28573d}
.measureCounts[data-state=mismatch]{background:#fff3f1;border-color:#d49b94}
.measureCounts[data-state=mismatch] output,.measureCounts[data-state=mismatch] strong{color:#982f22}
.measureCounts[data-state=unknown]{background:#f6f5f1;border-color:#cbc8be}
.measureCounts[data-state=unknown] output{color:#625e55}
.errorSelectionBar{display:flex;gap:6px}.errorChoices h4{font-size:13px;margin:10px 0 4px}
.auditStep{padding:10px 0;border-top:1px solid #d6dcd1}.auditStep h3{font:650 15px/1.5 system-ui;margin:0 0 8px}
.auditStep>label{display:block}.auditStep input[type=number]{width:100%;margin:2px 0 6px;font-size:13px}
.errorChoices{max-height:180px;overflow:auto}.errorChoices>div{display:flex;align-items:center;justify-content:space-between;gap:4px;border-top:1px solid #dce0d8}
.errorChoices label{flex:1;cursor:pointer}.errorChoices button{padding:3px 6px}.auditStep button:disabled{opacity:.5;cursor:default}
.measureCounts .auditNextStep{flex-basis:100%;margin:0;font-size:13px;color:#47505b}
.measureCounts .auditLinks button.guidedAction{
 background:#a23529;color:white;border-color:#872b22;font-weight:650}
.measureCounts .auditLinks button.guidedAction::after{content:' →'}
.measureCounts .auditLinks button.guidedAction::before{
 content:'';position:absolute;inset:-8px;border:4px solid #b54133;border-radius:13px;pointer-events:none}
.measureCounts[data-next=rhythm] .auditLinks button:first-child,.measureCounts[data-next=done] .auditLinks button{
 background:#316044;color:white;border-color:#284e38;font-weight:650}
.editPanel{background:#fcfbf8}
.editPanelBody>details:has(.auditStep){margin:2px 0 14px;border:1px solid #bac7d8;border-radius:7px;background:#f1f5fa;color:#243d58;padding:6px 10px}
.editPanelBody .auditStep{border-color:#c8d4e1}.editPanelBody .auditStep button:not(.geometryToggle){background:#3b546f;color:white}
.editPanelBody .auditStep .errorSelectionBar{flex-wrap:wrap;gap:5px;margin:5px 0}
.editPanelBody .auditStep .errorSelectionBar button{flex:0 0 auto;white-space:nowrap;padding:3px 8px;margin:0;font:500 12px/1.5 system-ui;border:1px solid #aebdcb;background:#fff;color:#364d64}
.editPanel .editToolGroup{border-color:#d8d3c8}.editToolGroup h3{color:#4c4034}
.editPanelBody>.editHistory{position:sticky;top:0;z-index:2;background:#fcfbf8;padding:7px 0;border-bottom:1px solid #d6dcd1}
.editHistory{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center}
.editHistory span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right;min-width:0}
.editHistory button{white-space:nowrap}
.auditActionStack{margin-left:auto;max-width:100%;display:grid;gap:14px}
.auditActionStack .auditLinks{margin:0}
.measureCounts .auditActionStack .noteInputLink.guidedAction,.editPanel .auditStep button.guidedAction:enabled,.editPanel .auditStep .errorSelectionBar button.guidedAction:enabled{
 background:#a23529;color:white;border:1px solid #872b22;outline:4px solid #b54133;outline-offset:3px;border-radius:6px}
.measureCounts .auditActionStack .noteInputLink{margin:0;justify-self:end;padding:8px 16px}
.editPanel .auditStep button.retrySelected:enabled{margin:10px 7px;max-width:calc(100% - 14px)}
@media(max-width:540px){.auditActionStack{width:100%}.measureCounts .auditActionStack .noteInputLink{justify-self:stretch}}
.measureDetail{border-left:3px solid #8097b1;background:white;padding:6px 8px;margin:6px 0}
.measureDetail select{display:block;width:100%}.measureDetail p{font-size:13px;overflow-wrap:anywhere}
.customMeter{margin:5px 0 10px;padding:8px;border:1px solid #bbc6c0;border-radius:5px}
.customMeter label,.customMeter input{display:block;width:100%}.customMeter input{margin:3px 0;font-size:14px}
.customMeter button{margin:4px 5px 0 0;padding:5px 10px}
.canvasMode{font-size:13px;color:#694897}
.canvasMode[data-kind=note]{color:#a62c30}.canvasMode[data-kind=rest]{color:#226b98}
.canvasMode[data-kind=staff]{color:#087896}.canvasMode[data-kind=edges]{color:#944715}
.communityNav{display:flex;justify-content:flex-end;gap:18px;font-size:14px}
.auditStep input.guidedAction,.auditStep select.guidedAction{outline:4px solid #b54133;outline-offset:3px}.auditStep button.guidedAction:enabled{margin-block:10px}.measureCounts .auditActionStack .noteInputLink[hidden]{display:none}
.scanStage{background:#e7edf4;border-radius:5px;padding:5px 8px;font-weight:600}.auditStep .lowerInput:not([hidden]){display:block;border:2px solid #8c342a;margin:12px 0;outline:2px solid #b54133;outline-offset:2px}

.zoomControls{display:flex;align-items:center;gap:4px;margin-inline-start:auto;white-space:nowrap;font-size:14px}.zoomControls button{margin:0;padding:0;width:34px;height:34px;font:600 19px/1 system-ui;border-radius:5px}.zoomControls button:disabled{opacity:.4}

.zoomControls button{display:inline-grid;place-items:center}.zoomControls button::before,.zoomControls .zoomIn::after{content:"";grid-area:1/1;background:currentColor;border-radius:1px;width:12px;height:2px}.zoomControls .zoomIn::after{width:2px;height:12px}

.meterRange{display:block;margin:8px 0;font-weight:600;color:#284866}
