:root{--bg:#f5f6f8;--surface:#fff;--ink:#20242a;--muted:#68717d;--line:#d9dee5;--accent:#0f766e;--accent-strong:#0b5d56;--warn:#a16207;--danger:#b42318;--blue:#2563eb;--shadow:0 18px 48px #1b232c1c}*{box-sizing:border-box}html,body{margin:0}html{min-height:100%;overflow-y:auto}body{background:var(--bg);min-height:100vh;color:var(--ink);font-family:Arial,Malgun Gothic,Apple SD Gothic Neo,sans-serif;overflow:hidden auto}button,input,textarea,select{font:inherit}.appShell{width:min(1180px,100vw - 32px);margin:0 auto;padding:32px 0}.topBar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;display:flex}.eyebrow{color:var(--accent);letter-spacing:0;margin:0 0 6px;font-size:13px;font-weight:800}h1,h2{letter-spacing:0;margin:0}h1{font-size:clamp(28px,4vw,44px);line-height:1.12}h2{font-size:19px;line-height:1.25}.statusBadge{border:1px solid var(--line);background:var(--surface);min-width:118px;min-height:38px;color:var(--muted);white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:inline-flex}.statusBadge.ready,.statusBadge.done{color:var(--accent-strong);border-color:#0f766e42}.statusBadge.running{color:var(--blue);border-color:#2563eb3d}.statusBadge.error{color:var(--danger);border-color:#b423183d}.workspace{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:20px;display:grid}.previewPanel,.controlPanel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px}.previewPanel{padding:16px}.dropZone{cursor:pointer;background:#fbfcfd;border:2px dashed #b9c2cd;border-radius:8px;justify-content:center;align-items:center;min-height:660px;display:flex;overflow:hidden}.dropZone.dragging{border-color:var(--accent);background:#eef9f7}.dropZone.hasPreview{background:#fff;border-style:solid}.fileInput{display:none}.emptyState{text-align:center;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:28px;display:flex}.emptyState strong{max-width:300px;color:var(--ink);word-break:keep-all;font-size:19px;line-height:1.35}.emptyState span{max-width:280px;line-height:1.45}.scorePreview{object-fit:contain;width:100%;max-height:860px;display:block}.fileMeta{min-height:42px;color:var(--muted);align-items:center;gap:10px;padding-top:12px;display:flex}.fileMeta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);flex:1;font-weight:700;overflow:hidden}.fileMeta small{white-space:nowrap}.inputQuality{border:1px solid var(--line);min-height:48px;color:var(--muted);background:#fbfcfd;border-radius:7px;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;margin-top:10px;padding:9px 11px;display:grid}.inputQuality svg{margin-top:1px}.inputQuality span{gap:3px;min-width:0;display:grid}.inputQuality strong{color:var(--ink);font-size:13px}.inputQuality small{color:var(--muted);line-height:1.4}.inputQuality.low{color:var(--danger);background:#fff7f5;border-color:#b4231847}.inputQuality.caution{color:var(--warn);background:#fffbeb;border-color:#a162074d}.inputQuality.ok{color:var(--accent-strong);background:#edf8f5;border-color:#0f766e3d}.inputQuality.info{color:#1d4ed8;background:#eef4ff;border-color:#2563eb38}.generatedPreview{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.generatedPreviewHeader{justify-content:space-between;align-items:flex-start;gap:16px;min-height:44px;margin-bottom:14px;display:flex}.generatedPreviewHeader span{color:var(--muted);white-space:nowrap;font-size:13px;font-weight:700}.reportGrid{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:12px 0 16px;display:grid}.reportMetric{gap:5px;min-width:0;display:grid}.reportMetric span{color:var(--muted);font-size:12px;font-weight:700}.reportMetric strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;overflow:hidden}.generatedPages{gap:16px;margin-top:16px;display:grid}.candidateList{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.candidateRow{border:1px solid var(--line);min-width:0;min-height:34px;color:var(--muted);border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.candidateRow.selected{color:var(--accent-strong);background:#edf8f5;border-color:#0f766e57}.candidateRow span,.candidateRow strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.candidateRow strong{font-size:12px}.resultViewTabs{border-bottom:1px solid var(--line);align-items:end;gap:4px;margin-top:16px;display:flex}.resultViewTabs button{min-height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 14px;font-size:13px;font-weight:900}.resultViewTabs button:hover{color:var(--ink)}.resultViewTabs button.selected{border-bottom-color:var(--accent);color:var(--accent-strong)}.resultViewPane[hidden]{display:none}.resultViewPane>.musicEditor,.resultViewPane>.correctionEditor{border-top:0;margin-top:0}.generatedScoreImage{border:1px solid var(--line);background:#fff;border-radius:4px;width:100%;display:block}.warningList{color:var(--warn);gap:6px;margin-top:14px;font-size:13px;line-height:1.45;display:grid}.warningList p,.musicXmlMeta{margin:0}.musicXmlMeta{color:var(--muted);overflow-wrap:anywhere;margin-top:12px;font-size:13px;font-weight:700}.correctionEditor{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.correctionHeader{justify-content:space-between;align-items:flex-start;gap:14px;min-height:38px;margin-bottom:12px;display:flex}.correctionHeader span{min-height:30px;color:var(--accent-strong);white-space:nowrap;border:1px solid #0f766e47;border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.correctionLayout{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;display:grid}.correctionRows{gap:10px;max-height:720px;padding-right:4px;display:grid;overflow:auto}.correctionRow{border:1px solid var(--line);text-align:left;cursor:pointer;background:#fff;border-radius:6px;width:100%;padding:9px}.correctionRow:hover,.correctionRow.selected{border-color:#0f766e6b}.correctionRow.selected{box-shadow:inset 0 0 0 2px #0f766e1f}.correctionRowNumber{min-width:28px;height:22px;color:var(--accent-strong);background:#edf8f5;border-radius:999px;justify-content:center;align-items:center;margin-bottom:7px;font-size:12px;font-weight:900;display:inline-flex}.correctionStage{background:#fff;border:1px solid #e4e8ee;border-radius:4px;justify-content:center;align-items:center;min-height:180px;padding:14px 14px 58px;display:flex;position:relative;overflow:hidden;container-type:inline-size}.correctionScore{object-fit:contain;max-width:100%;max-height:120px;transition:transform .12s;display:block}.correctionLyric{color:#05070a;overflow-wrap:anywhere;text-shadow:0 2px #fff,2px 0 #fff,-2px 0 #fff,0 -2px #fff;min-height:32px;font-size:23px;font-weight:900;line-height:1.14;transition:transform .12s;position:absolute;bottom:15px;left:14px;right:14px}.correctionControls{border:1px solid var(--line);background:#fbfcfd;border-radius:6px;gap:12px;padding:12px;display:grid}.correctionControlsHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.correctionControlsHeader>div,.correctionControlsHeader button{align-items:center;gap:7px;min-height:30px;display:inline-flex}.correctionControlsHeader button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#fff;border-radius:999px;padding:0 10px;font-size:12px;font-weight:800}.correctionTextField,.correctionSelectField{gap:7px;display:grid}.correctionTextField span,.correctionSelectField span{color:var(--muted);font-size:12px;font-weight:800}.correctionTextField textarea,.correctionSelectField select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:6px}.correctionTextField textarea{resize:vertical;min-height:82px;padding:9px 10px;line-height:1.45}.correctionSelectField select{min-height:38px;padding:0 9px}.correctionTextField textarea:focus,.correctionSelectField select:focus{border-color:#0f766e8c;outline:3px solid #0f766e1f}.sliderGroup{gap:11px;display:grid}.sliderField{gap:6px;display:grid}.sliderField span{justify-content:space-between;align-items:center;gap:12px;display:flex}.sliderField strong{color:var(--ink);font-size:13px}.sliderField small{min-width:40px;color:var(--muted);text-align:right;font-size:12px;font-weight:800}.sliderField input{width:100%;accent-color:var(--accent)}.correctionActions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.secondaryActionButton,.correctionDownloadButton{cursor:pointer;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:0 10px;font-size:13px;font-weight:900;display:inline-flex}.secondaryActionButton{border:1px solid var(--line);color:var(--muted);background:#fff}.correctionDownloadButton{border:1px solid var(--accent-strong);background:var(--accent);color:#fff}.correctionDownloadButton:disabled{cursor:not-allowed;background:#aeb7c2;border-color:#aeb7c2}.correctionError{color:var(--danger);margin:0;font-size:13px;font-weight:800;line-height:1.45}.musicEditor{border-top:1px solid var(--line);margin-top:18px;padding-top:16px;position:relative}.musicEditorInteractionLock{z-index:80;color:var(--blue);text-align:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);cursor:wait;background:#f8fafcc7;border-radius:10px;justify-content:center;align-items:flex-start;gap:8px;padding-top:82px;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.musicEditorHeader{justify-content:space-between;align-items:flex-start;gap:14px;min-height:38px;margin-bottom:12px;display:flex}.musicEditorState{border:1px solid var(--line);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.musicEditorState.ready{color:var(--accent-strong);border-color:#0f766e47}.musicEditorState.rendering{color:var(--blue);border-color:#2563eb3d}.musicEditorState.error{color:var(--danger);border-color:#b423183d}.musicEditorToolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;min-height:50px;padding:7px 0;display:flex}.iconToolGroup,.editorExportGroup{align-items:center;gap:6px;display:flex}.iconToolGroup button,.editorExportGroup button,.noteInspectorHeader button{border:1px solid var(--line);min-width:36px;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.iconToolGroup button:disabled,.editorExportGroup button:disabled,.noteInspectorHeader button:disabled{color:#aeb7c2;cursor:not-allowed;background:#f5f6f8}.editorExportGroup button{min-width:auto;padding:0 11px;font-size:13px;font-weight:900}.editorExportGroup .primaryEditorAction{border-color:var(--accent-strong);background:var(--accent);color:#fff}.iconToolGroup button.selected{color:var(--accent-strong);background:#e7f6f2;border-color:#0f766e73}.editorLiveRegion{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.keyboardShortcutPanel{color:var(--ink);background:#f7f9ff;border:1px solid #2563eb3d;border-radius:9px;margin-top:10px;padding:12px}.keyboardShortcutPanel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.keyboardShortcutPanel header>div{color:#1d4ed8;align-items:center;gap:7px;display:inline-flex}.keyboardShortcutPanel header button{border:1px solid var(--line);width:30px;height:30px;color:var(--muted);cursor:pointer;background:#fff;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.keyboardShortcutPanel dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:11px 0 0;display:grid}.keyboardShortcutPanel dl>div{background:#fff;border:1px solid #2563eb21;border-radius:7px;gap:5px;min-width:0;padding:8px;display:grid}.keyboardShortcutPanel dt{align-items:center;gap:4px;min-height:22px;display:flex}.keyboardShortcutPanel dd{color:var(--muted);margin:0;font-size:11px;font-weight:750;line-height:1.4}.keyboardShortcutPanel p{color:var(--muted);margin:9px 0 0;font-size:11px;font-weight:700}.keyboardShortcutPanel kbd,.quickNoteEditor kbd,.noteEditorShortcutHint kbd{color:#334155;white-space:nowrap;background:#fff;border:1px solid #cbd5e1;border-bottom-width:2px;border-radius:4px;justify-content:center;align-items:center;min-width:21px;height:21px;padding:0 4px;font-family:inherit;font-size:10px;font-weight:900;line-height:1;display:inline-flex}.scoreSettingsPanel{background:#f3fbf9;border:1px solid #0f766e3d;border-radius:8px;grid-template-columns:repeat(4,minmax(110px,1fr));align-items:end;gap:12px;margin-top:10px;padding:12px;display:grid}.scoreSettingsPanel>div{grid-column:1/-1;align-self:center;gap:3px;display:grid}.scoreSettingsPanel>div strong{font-size:14px}.scoreSettingsPanel>div span{color:var(--muted);font-size:12px;font-weight:700}.scoreSettingsPanel label{gap:5px;display:grid}.scoreSettingsPanel label>span{color:var(--muted);font-size:11px;font-weight:900}.scoreSettingsPanel label>small{min-height:16px;color:var(--muted);font-size:10px;font-weight:700;line-height:1.35}.scoreSettingsPanel select{border:1px solid var(--line);min-height:38px;color:var(--ink);background:#fff;border-radius:6px;padding:0 9px;font-weight:800}.scoreSettingsPanel select:focus-visible{border-color:#2563eb;outline:3px solid #2563eb24}.musicEditorLayout{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;margin-top:10px;display:grid}.scoreEditHint{min-height:38px;color:var(--accent-strong);background:#eef9f6;border:1px solid #0f766e33;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:7px 10px;font-size:13px;font-weight:800;display:flex}.quickNoteEditor{background:#f8faff;border:1px solid #2563eb3b;border-radius:9px;gap:9px;margin-top:8px;padding:10px;display:grid}.quickNoteHeader{justify-content:space-between;align-items:center;gap:12px;display:flex}.quickNoteHeader>div:first-child{gap:2px;min-width:0;display:grid}.quickNoteHeader>div:first-child>span{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:900}.quickNoteHeader strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.quickNoteNavigation{flex:none;align-items:center;gap:5px;display:flex}.quickNoteNavigation button,.quickControlGroup button{border:1px solid var(--line);min-height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 8px;font-size:11px;font-weight:900;display:inline-flex}.quickNoteNavigation button:hover:not(:disabled),.quickControlGroup button:hover:not(:disabled){color:#1d4ed8;background:#f4f7ff;border-color:#2563eb75}.quickNoteNavigation button:disabled,.quickControlGroup button:disabled{color:#a3abb6;cursor:not-allowed;background:#f3f4f6}.quickNoteNavigation .quickDetailButton{color:var(--accent-strong);border-color:#0f766e52}.quickNoteControls{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.quickControlGroup{border-top:1px solid #2563eb1f;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding-top:8px;display:flex}.quickControlGroup>span{color:var(--muted);flex:none;margin-right:2px;font-size:10px;font-weight:900}.quickControlGroup button.selected{color:#1d4ed8;background:#eaf0ff;border-color:#2563eb}.quickControlGroup button small{color:currentColor;font-size:11px;font-weight:900}.quickDurationControls{flex:auto}.quickDurationControls button{flex:58px;min-width:52px}.quickStructureControls{flex:0 auto}.quickStructureControls .quickDeleteButton:not(:disabled){color:var(--danger);border-color:#b4231847}.scoreEditorViewport{border:1px solid var(--line);background:#fff;border-radius:6px;max-height:650px;overflow:auto}.scoreEditorViewport:focus-visible{border-color:#2563eb;outline:3px solid #2563eb24}.scoreEditorStage{box-sizing:border-box;width:100%;min-width:650px;min-height:280px;padding:16px 16px 68px;position:relative}.scoreEditorCanvas{z-index:1;width:100%;min-width:0;position:relative}.scoreEditorCanvas svg{display:block;overflow:visible}.scoreEditorOverlay{z-index:2;pointer-events:none;position:absolute;inset:0}.noteHitTarget{pointer-events:auto;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.noteHitTarget.restTarget{z-index:2}.noteHitTarget:hover{background:#dbeafe47;border-color:#2563eb8c;box-shadow:0 0 0 4px #2563eb1a}.noteHitTarget.selected{background:#dbeafe5c;border:2px solid #2563eb;box-shadow:0 0 0 3px #2563eb21}.noteHitTarget.dropTarget{background:#a7f3d080;border:2px solid #059669;box-shadow:0 0 0 5px #0596692e}.noteHitTarget.reviewFocus:not(.selected){background:#ffedd557;border-color:#ea580cc7;box-shadow:0 0 0 4px #ea580c1f}.lyricHandle{min-width:30px;min-height:26px;color:var(--ink);white-space:nowrap;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:#ecfdf5f0;border:1px solid #0f766e57;border-radius:5px;justify-content:center;align-items:center;gap:3px;padding:2px 6px 2px 4px;font-size:14px;font-weight:900;line-height:1.1;display:inline-flex;position:absolute;transform:translate(-50%)}.lyricHandle svg{color:var(--accent);opacity:.65}.scoreTemplatePanel{border:1px solid var(--line);background:#fff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:12px;margin:12px 0;padding:12px 16px;display:flex}.scoreTemplatePanel div{flex:1;gap:4px;display:grid}.scoreTemplatePanel small{color:var(--muted)}.scoreTemplatePanel button{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.scoreTemplatePanel>span{color:var(--accent);font-size:12px}.secondaryScoreLyric{white-space:nowrap;pointer-events:none;z-index:3;font-size:14px;font-weight:700;line-height:26px;position:absolute;transform:translate(-50%)}.lyricHandle.selected{border-color:var(--accent);box-shadow:0 0 0 3px #0f766e1f}.lyricHandle:active{cursor:grabbing}.scoreEditorLoading{z-index:3;min-width:320px;min-height:220px;color:var(--muted);pointer-events:none;background:#ffffffb8;justify-content:center;align-items:center;gap:9px;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.noteInspector{border:1px solid var(--line);background:#fbfcfd;border-radius:6px;gap:14px;padding:12px;display:grid}.noteInspectorHeader{justify-content:space-between;align-items:center;gap:10px;display:flex}.noteInspectorHeader>div:first-child{gap:2px;min-width:0;display:grid}.noteInspectorHeader>div:last-child{gap:5px;display:flex}.noteInspectorHeader span{color:var(--muted);font-size:12px;font-weight:800}.noteInspectorHeader strong{font-size:22px}.noteToolSection{border-top:1px solid var(--line);gap:9px;padding-top:12px;display:grid}.noteToolLabel{color:var(--muted);font-size:12px;font-weight:900}.pitchControls{grid-template-columns:1fr 1fr;gap:7px;display:grid}.pitchControls button,.resetLyricPosition{border:1px solid var(--line);min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.durationSegments{border:1px solid var(--line);border-radius:6px;grid-template-columns:repeat(5,minmax(0,1fr));display:grid;overflow:hidden}.durationSegments button{border:0;border-right:1px solid var(--line);min-width:0;height:36px;color:var(--muted);cursor:pointer;background:#fff;font-size:11px;font-weight:900}.durationSegments button:last-child{border-right:0}.durationSegments button.selected{color:var(--accent-strong);background:#e7f6f2}.dotToggle{min-height:34px;color:var(--ink);cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.dotToggle input{width:17px;height:17px;accent-color:var(--accent)}.noteLyricField{gap:7px;display:grid}.noteLyricField input{border:1px solid var(--line);width:100%;min-height:39px;color:var(--ink);background:#fff;border-radius:6px;padding:0 10px;font-size:15px;font-weight:800}.noteLyricField input:focus{border-color:#0f766e8c;outline:3px solid #0f766e1f}.noteTextFields{grid-template-columns:minmax(0,1fr) minmax(180px,.55fr);gap:10px;display:grid}.lyricPositionGrid{gap:10px;display:grid}.positionControl{gap:5px;display:grid}.positionControl>span{justify-content:space-between;align-items:center;gap:10px;display:flex}.positionControl strong,.positionControl small{font-size:12px}.positionControl strong{color:var(--ink)}.positionControl small{color:var(--muted);font-weight:800}.positionControl input{width:100%;accent-color:var(--accent)}.lyricNudgeControls{grid-template-columns:repeat(4,38px);justify-content:center;gap:6px;display:grid}.lyricNudgeControls button{border:1px solid var(--line);width:38px;height:34px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.lyricNudgeControls button:hover{color:var(--accent-strong);background:#eef9f6;border-color:#0f766e7a}.resetLyricPosition{min-height:34px;color:var(--muted);font-size:12px}.emptyInspector{min-height:180px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:800;display:flex}.noteEditorModalBackdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a85;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.noteEditorModal{background:#fff;border:1px solid #0f172a24;border-radius:12px;width:min(820px,100%);max-height:calc(100vh - 44px);overflow:auto;box-shadow:0 24px 70px #0f172a42}.noteEditorModalHeader,.noteEditorModalFooter{z-index:2;background:#fffffff7;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex;position:sticky}.noteEditorModalHeader{border-bottom:1px solid var(--line);top:0}.noteEditorModalHeader>div{gap:3px;display:grid}.noteEditorModalHeader span{color:var(--muted);font-size:12px;font-weight:800}.noteEditorModalHeader h3{margin:0;font-size:20px}.noteEditorModalHeader h3 strong{color:var(--accent-strong);margin-left:6px}.noteEditorModalHeader>button{border:1px solid var(--line);width:38px;height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.noteEditorModalBody{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px 18px;display:grid}.modalToolSection{border:1px solid var(--line);background:#fbfcfd;border-radius:9px;align-content:start;gap:12px;min-width:0;padding:14px;display:grid}.modalToolHeading{justify-content:space-between;align-items:flex-end;gap:10px;min-height:34px;display:flex}.modalToolHeading>div{gap:2px;display:grid}.modalToolHeading strong{color:var(--accent-strong);font-size:19px}.modalToolHeading small{color:var(--muted);text-align:right;font-size:11px;font-weight:700}.pitchStaffControl{grid-template-columns:minmax(0,1fr) 58px;gap:10px;display:grid}.pitchStaffInteractive{cursor:ns-resize;touch-action:none;-webkit-user-select:none;user-select:none;background:linear-gradient(#fff,#f8fbfb);border:1px solid #0f766e47;border-radius:8px;height:190px;position:relative;overflow:hidden}.pitchStaffInteractive:focus-visible{border-color:var(--accent);outline:3px solid #0f766e2e}.pitchStaffLine{pointer-events:none;background:#0f172aa8;height:1px;position:absolute;left:13%;right:10%}.pitchClef{color:var(--ink);pointer-events:none;font-family:serif;font-size:56px;line-height:1;position:absolute;top:23%;left:14%}.pitchStaffNote{width:42px;height:58px;color:var(--accent-strong);pointer-events:none;transition:top 70ms linear;position:absolute;left:57%;transform:translate(-50%,-43px)}.pitchStaffNote svg{width:100%;height:100%;overflow:visible}.pitchStaffNote ellipse{fill:currentColor}.pitchStaffNote path{fill:none;stroke:currentColor;stroke-width:3px;stroke-linecap:round}.pitchStaffNote .pitchLedgerLine{stroke-width:1.5px}.pitchStaffNote text{fill:currentColor;font-family:serif;font-size:23px;font-weight:700}.pitchPreviewLabel{min-width:38px;color:var(--accent-strong);text-align:center;pointer-events:none;background:#e7f6f2;border-radius:999px;padding:4px 7px;font-size:12px;font-weight:900;position:absolute;top:8px;right:8px}.pitchArrowControls{grid-template-rows:1fr auto 1fr;gap:6px;display:grid}.pitchArrowControls button{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.pitchArrowControls button:hover{border-color:var(--accent);color:var(--accent-strong);background:#eef9f6}.pitchArrowControls span{color:var(--muted);text-align:center;font-size:10px;font-weight:800}.pitchSpellingControls{grid-template-columns:.8fr 1.35fr .8fr;gap:8px;display:grid}.pitchSpellingControls label{gap:5px;display:grid}.pitchSpellingControls label>span{color:var(--muted);font-size:11px;font-weight:900}.pitchSpellingControls select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:7px;padding:0 9px;font-size:13px;font-weight:800}.pitchSpellingControls select:focus{border-color:#0f766e8c;outline:3px solid #0f766e1f}.pitchSpellingHint{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.pitchSpellingHint strong{color:var(--accent-strong)}.durationVisualGrid{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.durationVisualGrid button{border:1px solid var(--line);color:#344054;cursor:pointer;background:#fff;border-radius:8px;align-content:center;place-items:center;gap:3px;min-width:0;min-height:92px;padding:5px 2px;display:grid}.durationVisualGrid button:hover{background:#f4fbf9;border-color:#0f766e75}.durationVisualGrid button.selected{border:2px solid var(--accent);color:var(--accent-strong);background:#e7f6f2;box-shadow:0 0 0 3px #0f766e1a}.durationVisualGrid button span{font-size:11px;font-weight:900}.noteDurationIcon,.durationVisualGrid .restDurationIcon,.modalDotToggle .restDurationIcon{width:38px;height:48px;overflow:visible}.modalDotToggle{border:1px solid var(--line);background:#fff;border-radius:7px;width:fit-content;min-height:43px;padding:4px 10px 4px 8px}.modalDotToggle .noteDurationIcon,.modalDotToggle .restDurationIcon{width:28px;height:34px}.notationToggleGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.notationToggleGrid button{border:1px solid var(--line);color:#344054;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:8px;min-width:0;min-height:54px;padding:7px 9px;display:flex}.notationToggleGrid button:last-child{grid-column:1/-1}.notationToggleGrid button:hover:not(:disabled){background:#f4fbf9;border-color:#0f766e75}.notationToggleGrid button.selected{border:2px solid var(--accent);color:var(--accent-strong);background:#e7f6f2}.notationToggleGrid button:disabled{opacity:.45;cursor:not-allowed}.notationToggleGrid button strong{color:currentColor;text-align:center;flex:0 0 28px;font-family:serif;font-size:24px;line-height:1}.notationToggleGrid button span{text-align:left;min-width:0;font-size:12px;font-weight:900}.notationSelectRow label{gap:5px;display:grid}.notationSelectRow label>span,.measureSymbolControls>span{color:var(--muted);font-size:11px;font-weight:900}.notationSelectRow select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;border-radius:7px;padding:0 9px;font-size:13px;font-weight:800}.measureSymbolControls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.measureSymbolControls>span{grid-column:1/-1}.measureSymbolControls button{border:1px solid var(--line);min-height:42px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:7px;display:inline-flex}.measureSymbolControls button:hover,.measureSymbolControls button.selected{border-color:var(--accent);color:var(--accent-strong);background:#eef9f6}.measureSymbolControls button strong{font-family:serif;font-size:18px}.measureSymbolControls button span{font-size:11px;font-weight:900}.lyricEditorSection{grid-column:1/-1}.scoreLyricVerses{flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0;font-size:13px;display:flex}.scoreLyricVerses label{align-items:center;gap:8px;font-weight:700;display:flex}.scoreLyricVerses select,.scoreLyricVerses button{border:1px solid var(--line);min-height:36px;color:var(--ink);font:inherit;background:#fff;border-radius:8px;align-items:center;gap:5px;padding:6px 10px;display:inline-flex}.scoreLyricVerses button{cursor:pointer}.scoreLyricVerses button:disabled{cursor:default;opacity:.45}.scoreLyricVerses small{color:var(--muted)}.lyricMappingHint{color:var(--accent-strong);background:#eef9f6;border-radius:6px;align-items:center;gap:6px;margin:0;padding:8px 9px;font-size:12px;font-weight:800;display:flex}.lyricShiftPanel{background:#f8fcfb;border:1px solid #0f766e33;border-radius:8px;gap:9px;padding:11px;display:grid}.lyricShiftPanel>div:first-child{gap:3px;display:grid}.lyricShiftPanel strong{color:var(--ink);font-size:13px}.lyricShiftPanel span,.lyricShiftPanel small{color:var(--muted);font-size:11px;font-weight:700;line-height:1.45}.lyricShiftControls{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;display:grid}.lyricShiftControls button{border:1px solid var(--line);min-width:0;min-height:38px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:5px 8px;display:inline-flex}.lyricShiftControls button:hover:not(:disabled){color:var(--accent-strong);background:#eef9f6;border-color:#0f766e80}.lyricShiftControls button:disabled{opacity:.42;cursor:not-allowed}.lyricShiftControls button span{color:currentColor;font-size:11px;font-weight:900}.lyricPositionDetails{border-top:1px solid var(--line);padding-top:10px}.lyricPositionDetails summary{color:var(--muted);cursor:pointer;font-size:12px;font-weight:900}.lyricPositionDetails[open]{gap:12px;display:grid}.noteEditorModalFooter{border-top:1px solid var(--line);bottom:0}.noteStepControls{gap:7px;display:flex}.noteEditorFooterLeft{gap:8px;min-width:0;display:grid}.noteEditorShortcutHint{color:var(--muted);align-items:center;gap:7px;margin:0;font-size:11px;font-weight:750;display:flex}.noteEditorShortcutHint>span{flex-wrap:wrap;align-items:center;gap:3px;display:flex}.noteStructureControls{flex-wrap:wrap;gap:7px;display:flex}.noteStepControls button,.noteStructureControls button,.noteEditorDone{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:4px;padding:0 11px;font-size:13px;font-weight:900;display:inline-flex}.noteStepControls button:disabled,.noteStructureControls button:disabled{color:#aeb7c2;cursor:not-allowed;background:#f5f6f8}.noteStructureControls .deleteNoteButton:not(:disabled){color:var(--danger);border-color:#b4231847}.noteStructureControls .splitRestButton{color:#174ea6;background:#f3f7ff;border-color:#2f6bff57}.measureTiming{border-radius:999px;width:fit-content;padding:4px 8px;font-size:11px;font-weight:900}.measureTiming.valid{color:#067647;background:#ecfdf3}.measureTiming.invalid{color:#a15c07;background:#fff4e8}.measureTiming.split{color:#315b9d;background:#eef4ff}.noteEditorDone{border-color:var(--accent-strong);background:var(--accent);color:#fff;min-width:110px}.musicEditorError,.musicEditorSuccess{margin:10px 0 0;font-size:13px;font-weight:800;line-height:1.45}.musicEditorError{color:var(--danger)}.musicEditorSuccess{color:var(--accent-strong)}.alignmentLab{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.alignmentHeader{justify-content:space-between;align-items:flex-start;gap:14px;min-height:38px;margin-bottom:12px;display:flex}.alignmentState{border:1px solid var(--line);min-height:30px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:7px;padding:0 10px;font-size:12px;font-weight:800;display:inline-flex}.alignmentState.ready{color:var(--accent-strong);border-color:#0f766e47}.alignmentState.rendering{color:var(--blue);border-color:#2563eb3d}.alignmentState.error{color:var(--danger);border-color:#b423183d}.alignmentStats{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-bottom:12px;display:grid}.alignmentStat{border:1px solid var(--line);border-radius:6px;gap:4px;min-width:0;padding:8px 9px;display:grid}.alignmentStat span{color:var(--muted);font-size:11px;font-weight:800}.alignmentStat strong{font-size:14px}.alignmentError{color:var(--danger);margin:0 0 12px;font-size:13px;font-weight:700;line-height:1.45}.osmdViewport{border:1px solid var(--line);background:#fff;border-radius:6px;max-height:580px;overflow:auto}.osmdStage{width:max-content;min-width:100%;min-height:220px;padding:12px 12px 44px;position:relative}.osmdCanvas{z-index:1;position:relative}.osmdCanvas svg{display:block;overflow:visible}.noteMarkerLayer{z-index:2;pointer-events:none;position:absolute;inset:0}.noteMarker{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:2px 6px;font-size:14px;font-weight:900;line-height:1.1;display:inline-flex;position:absolute;transform:translate(-50%)}.noteMarker.assigned{color:var(--accent-strong);background:#ecfdf5eb;border:1px solid #0f766e5c}.noteMarker.empty{color:var(--warn);background:#fffbebf0;border:1px solid #a162074d}.controlPanel{padding:20px;position:sticky;top:24px}.panelHeading{align-items:center;gap:10px;margin-bottom:20px;display:flex}.toggleRow{border-top:1px solid var(--line);cursor:pointer;grid-template-columns:22px minmax(0,1fr);gap:12px;padding:16px 0;display:grid}.toggleRow input{width:18px;height:18px;accent-color:var(--accent);margin-top:2px}.toggleRow strong,.toggleRow small{display:block}.toggleRow strong{margin-bottom:4px;font-size:15px}.toggleRow small{color:var(--muted);line-height:1.45}.phraseField{border-top:1px solid var(--line);gap:10px;padding:16px 0;display:grid}.phraseField>span{align-items:center;gap:8px;min-height:24px;display:flex}.phraseField strong{font-size:15px}.phraseField textarea{resize:vertical;border:1px solid var(--line);width:100%;min-height:118px;color:var(--ink);background:#fbfcfd;border-radius:8px;padding:10px 11px;line-height:1.45}.phraseField textarea:focus{border-color:#0f766e8c;outline:3px solid #0f766e1f}.toolStatusBox{border-top:1px solid var(--line);padding:12px 0 4px}.toolStatusRow{min-height:34px;color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.toolStatusRow strong{border-radius:999px;padding:4px 9px;font-size:12px}.toolStatusRow .available{color:var(--accent-strong);background:#e7f6f2}.toolStatusRow .missing{color:var(--warn);background:#fff4e5}.toolHint{color:var(--muted);margin:8px 0 4px;font-size:13px;line-height:1.5}.toolHint.error{color:var(--danger);font-weight:700}.artifactList{border-top:1px solid var(--line);color:var(--muted);gap:9px;padding-top:14px;font-size:14px;display:grid}.artifactList div{align-items:center;gap:9px;min-height:24px;display:flex}.primaryButton,.downloadButton{border-radius:8px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:46px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.primaryButton{border:1px solid var(--accent-strong);color:#fff;background:var(--accent);cursor:pointer;margin-top:18px}.primaryButton:hover:not(:disabled){background:var(--accent-strong)}.primaryButton:disabled{cursor:not-allowed;background:#aeb7c2;border-color:#aeb7c2}.downloadButton{color:#1d4ed8;background:#eef4ff;border:1px solid #2563eb40;margin-top:10px}.downloadButton span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.errorMessage{color:var(--danger);margin:14px 0 0;font-size:14px;font-weight:700;line-height:1.5}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:960px){.workspace{grid-template-columns:1fr}.controlPanel{position:static}.dropZone{min-height:520px}.reportGrid,.candidateList{grid-template-columns:repeat(2,minmax(0,1fr))}.alignmentStats{grid-template-columns:repeat(3,minmax(0,1fr))}.correctionLayout,.musicEditorLayout{grid-template-columns:1fr}.noteInspector{grid-template-columns:repeat(2,minmax(0,1fr))}.noteInspectorHeader,.emptyInspector{grid-column:1/-1}.scoreSettingsPanel{grid-template-columns:1fr 1fr}.scoreSettingsPanel>div{grid-column:1/-1}}@media (max-width:620px){.appShell{width:min(100vw - 20px,1180px);padding:18px 0}.topBar{flex-direction:column;align-items:flex-start}.statusBadge{width:100%}.previewPanel,.controlPanel{padding:12px}.dropZone{min-height:420px}.generatedPreviewHeader{display:grid}.reportGrid,.candidateList{grid-template-columns:1fr}.resultViewTabs{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.resultViewTabs button{min-width:0;padding:0 5px}.alignmentHeader{display:grid}.alignmentStats{grid-template-columns:repeat(2,minmax(0,1fr))}.correctionHeader,.correctionControlsHeader{display:grid}.musicEditorHeader,.musicEditorToolbar{align-items:stretch;display:grid}.editorExportGroup{grid-template-columns:1fr 1fr;display:grid}.noteInspector{grid-template-columns:1fr}.noteEditorModalBackdrop{align-items:flex-end;padding:0}.noteEditorModal{border-radius:14px 14px 0 0;width:100%;max-height:94vh}.noteEditorModalBody{grid-template-columns:1fr;padding:12px}.lyricEditorSection{grid-column:auto}.noteEditorModalHeader,.noteEditorModalFooter{padding:12px}.noteEditorModalFooter{align-items:stretch;display:grid}.noteTextFields,.scoreSettingsPanel{grid-template-columns:1fr}.pitchSpellingControls{grid-template-columns:repeat(3,minmax(0,1fr))}.lyricShiftControls{grid-template-columns:1fr}.scoreSettingsPanel>div{grid-column:auto}.noteStructureControls{grid-template-columns:1fr 1fr;display:grid}.noteStructureControls button{min-width:0;padding:0 7px}.noteStructureControls button span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.noteStepControls button span{display:none}.durationVisualGrid{gap:4px}.durationVisualGrid button{min-height:82px}.scoreEditorViewport{max-height:520px}.correctionActions{grid-template-columns:1fr}}.workflowShell{width:min(1240px,100vw - 32px)}.workflowTopBar h1{max-width:780px;font-size:clamp(27px,3.6vw,42px)}.startOverButton{border:1px solid var(--line);background:var(--surface);min-height:40px;color:var(--muted);cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:0 14px;font-weight:800;display:inline-flex}.workflowSteps{border:1px solid var(--line);background:var(--surface);border-radius:10px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 0 20px;padding:0;list-style:none;display:grid;overflow:hidden}.workflowSteps li{color:#929aa5;align-items:center;gap:9px;min-height:62px;padding:0 18px;font-size:13px;display:flex;position:relative}.workflowSteps li:not(:last-child):after{content:"";background:var(--line);width:1px;position:absolute;top:16px;bottom:16px;right:0}.workflowSteps li>span{border:1px solid #cfd5dd;border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-weight:900;display:inline-flex}.workflowSteps li.active{color:var(--accent-strong);background:#eef8f6}.workflowSteps li.active>span{border-color:var(--accent);background:var(--accent);color:#fff}.workflowSteps li.done{color:var(--accent-strong)}.workflowSteps li.done>span{background:#dff3ef;border-color:#0f766e40}.workflowCard{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:10px}.uploadStep,.editorStepCard{padding:22px}.stepIntro{align-items:flex-start;gap:14px;margin-bottom:20px;display:flex}.stepIntro>span{background:var(--accent);color:#fff;border-radius:9px;flex:0 0 38px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;font-weight:900;display:inline-flex}.stepIntro p:not(.eyebrow){color:var(--muted);margin:8px 0 0;line-height:1.5}.stepIntro.compact{margin-bottom:2px}.uploadWorkflowGrid{grid-template-columns:minmax(0,1.45fr) minmax(310px,.7fr);align-items:start;gap:22px;display:grid}.workflowDropZone{min-height:580px}.analysisPanel{border:1px solid var(--line);background:#fbfcfd;border-radius:9px;padding:16px;position:sticky;top:16px}.analysisPanelHeader{border-bottom:1px solid var(--line);align-items:flex-start;gap:10px;padding-bottom:15px;display:flex}.analysisPanelHeader svg{color:var(--accent)}.analysisPanelHeader div{gap:4px;display:grid}.analysisPanelHeader span{color:var(--muted);font-size:12px;line-height:1.45}.workflowPhraseField{margin-top:15px}.workflowPhraseField textarea{min-height:130px}.advancedSettings{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:14px;padding:12px 0}.advancedSettings summary,.sourceComparison summary{color:var(--muted);cursor:pointer;font-size:13px;font-weight:800}.advancedSettings[open] summary{margin-bottom:10px}.advancedSettings .toggleRow{margin-top:8px}.readiness{min-height:42px;color:var(--danger);background:#fff7f5;border:1px solid #b4231833;border-radius:7px;align-items:center;gap:8px;margin-top:14px;padding:0 10px;font-size:13px;font-weight:800;display:flex}.readiness.ready{color:var(--accent-strong);background:#edf8f5;border-color:#0f766e38}.analyzeButton{margin-top:12px}.reviewStep,.pptResultStep{gap:18px;display:grid}.analysisCompleteCard{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 20px;display:grid}.analysisCompleteIcon,.pptSuccessIcon{width:48px;height:48px;color:var(--accent-strong);background:#dff3ef;border-radius:999px;justify-content:center;align-items:center;display:flex}.analysisCompleteCard p:not(.eyebrow),.pptResultHeader p:not(.eyebrow){color:var(--muted);margin:7px 0 0;line-height:1.45}.analysisSummary{gap:8px;display:flex}.analysisSummary>span{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:3px;min-width:86px;padding:8px 10px;display:grid}.analysisSummary small{color:var(--muted);font-size:11px;font-weight:700}.analysisSummary strong{font-size:15px}.reviewQualityNotice{color:#854d0e;background:#fffbeb;border:1px solid #e6c98d;border-radius:9px;padding:12px 14px}.reviewQualityNotice summary{cursor:pointer;align-items:flex-start;gap:9px;list-style:none;display:flex}.reviewQualityNotice summary::-webkit-details-marker{display:none}.reviewQualityNotice summary svg{flex:none;margin-top:2px}.reviewQualityNotice summary span{gap:2px;display:grid}.reviewQualityNotice summary small{color:#9a6a22;font-size:12px;font-weight:700}.reviewQualityNotice ul{color:#744210;margin:10px 0 0 26px;padding:0;font-size:12px;font-weight:700;line-height:1.55}.scoreReviewPanel{background:var(--surface);box-shadow:var(--shadow);border:1px solid #0f766e3d;border-radius:10px;gap:14px;padding:18px;display:grid}.scoreReviewHeader{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.scoreReviewHeader>div:first-child{min-width:0}.scoreReviewHeader p:not(.eyebrow){color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.5}.reviewSaveState{min-height:30px;color:var(--accent-strong);background:#f0f9f7;border:1px solid #0f766e33;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:800;display:inline-flex}.reviewSaveState.error{color:var(--danger);background:#fff4f2;border-color:#b4231833}.reviewSummaryGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.reviewSummaryGrid>span{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;gap:3px;min-width:0;padding:9px 11px;display:grid}.reviewSummaryGrid small{color:var(--muted);font-size:10px;font-weight:800}.reviewSummaryGrid strong{font-size:15px}.reviewSummaryGrid .passed,.reviewSummaryGrid .resolved{color:var(--accent-strong);background:#f2faf8;border-color:#0f766e33}.reviewSummaryGrid .review{color:#854d0e;background:#fffbeb;border-color:#a1620738}.reviewSummaryGrid .blocking{color:var(--danger);background:#fff5f3;border-color:#b4231833}.reviewAllClear{min-height:72px;color:var(--accent-strong);background:#f0f9f7;border:1px solid #0f766e33;border-radius:8px;align-items:center;gap:10px;padding:12px 14px;display:flex}.reviewAllClear div{gap:3px;display:grid}.reviewAllClear span{color:var(--muted);font-size:12px}.reviewWorkspace{grid-template-columns:minmax(210px,.34fr) minmax(0,1fr);gap:12px;min-height:250px;display:grid}.reviewIssueQueue{border:1px solid var(--line);background:#f8fafb;border-radius:8px;align-content:start;gap:5px;max-height:390px;padding:6px;display:grid;overflow:auto}.reviewIssueQueue button{width:100%;min-height:54px;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;align-items:flex-start;gap:7px;padding:7px 8px;display:flex}.reviewIssueQueue button:hover,.reviewIssueQueue button.selected{background:#fff;border-color:#0f766e40}.reviewIssueQueue button.blocking>svg{color:var(--danger)}.reviewIssueQueue button.review>svg{color:var(--warn)}.reviewIssueQueue button span{gap:2px;min-width:0;display:grid}.reviewIssueQueue button small{color:var(--muted);font-size:10px;font-weight:800}.reviewIssueQueue button strong{text-overflow:ellipsis;font-size:12px;line-height:1.35;overflow:hidden}.reviewIssueDetail{border:1px solid var(--line);background:#fff;border-radius:8px;min-width:0;padding:14px}.reviewIssueTitle{align-items:flex-start;gap:9px;display:flex}.reviewIssueTitle>span{border-radius:999px;padding:4px 7px;font-size:10px;font-weight:900}.reviewIssueTitle>span.blocking{color:var(--danger);background:#fff0ed}.reviewIssueTitle>span.review{color:#854d0e;background:#fff7df}.reviewIssueTitle small{color:var(--muted);font-size:10px;font-weight:800}.reviewIssueTitle h3{margin:2px 0 0;font-size:16px}.reviewIssueDetail>p{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.55}.reviewIssueDetails{gap:7px;margin:12px 0 0;padding:0;list-style:none;display:grid}.reviewIssueDetails li{border:1px solid var(--line);background:#f8fafb;border-radius:7px;gap:3px;padding:8px 9px;display:grid}.reviewIssueDetails strong{font-size:11px}.reviewIssueDetails span,.reviewActionHint{color:var(--muted);font-size:11px;line-height:1.45}.reviewVisionConsent{cursor:pointer;background:#f5f8ff;border:1px solid #2563eb33;border-radius:7px;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:9px;margin-top:12px;padding:10px;display:grid}.reviewVisionConsent input{width:16px;height:16px;accent-color:var(--accent);margin:2px 0 0}.reviewVisionConsent span{gap:3px;display:grid}.reviewVisionConsent strong{color:var(--ink);font-size:12px}.reviewVisionConsent small{color:var(--muted);line-height:1.4}.reviewIssueDetail>.reviewActionHint{margin-top:8px}.reviewProposal{background:#f6f9ff;border:1px solid #2563eb33;border-radius:8px;margin-top:12px;padding:10px}.reviewProposal>div{color:#1d4ed8;align-items:center;gap:6px;font-size:12px;display:flex}.reviewProposal.failed{background:#fff6f4;border-color:#b4231833}.reviewProposal ul{color:var(--ink);margin:8px 0 0 18px;padding:0;font-size:11px;line-height:1.5}.reviewProposal img{border:1px solid var(--line);object-fit:contain;background:#fff;border-radius:5px;width:100%;max-height:260px;margin-top:9px}.reviewProposal>small{color:var(--danger);margin-top:7px;font-weight:700;display:block}.reviewIssueActions{flex-wrap:wrap;gap:7px;margin-top:14px;display:flex}.reviewIssueActions button,.reviewGateOverride button{border:1px solid var(--line);min-height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:7px;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:11px;font-weight:900;display:inline-flex}.reviewIssueActions button:hover:not(:disabled){background:#f0f9f7;border-color:#0f766e6b}.reviewIssueActions button.apply{border-color:var(--accent-strong);background:var(--accent);color:#fff}.reviewIssueActions button:disabled,.reviewGateOverride button:disabled{opacity:.5;cursor:not-allowed}.reviewActionError{color:var(--danger);margin:10px 0 0;font-size:11px;font-weight:800}.reviewGateOverride{color:var(--muted);text-align:right;justify-self:end;margin-top:-10px;font-size:11px}.reviewGateOverride summary{cursor:pointer;font-weight:800}.reviewGateOverride p{margin:8px 0}.reviewGateOverride button{color:var(--danger);border-color:#b4231847}.editorStepCard>.musicEditor{margin-top:14px}.sourceComparison{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.sourceComparison[open] summary{margin-bottom:12px}.scoreComparisonGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.scoreComparisonPane{border:1px solid var(--line);background:#fbfcfd;border-radius:8px;min-width:0;padding:10px}.scoreComparisonPane>strong{color:var(--ink);margin-bottom:8px;font-size:13px;display:block}.scoreComparisonPane>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.comparisonScrollArea{background:#fff;border-radius:5px;max-height:480px;overflow:auto}.sourceScoreComparisonImage{width:100%;height:auto;display:block}.sourceExtractionReview{gap:8px;display:grid}.sourceExtractionToolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.sourceExtractionToolbar>div:first-child{gap:2px;display:grid}.sourceExtractionToolbar strong{color:var(--ink);font-size:12px}.sourceExtractionToolbar span{color:var(--muted);font-size:11px;font-weight:700}.sourceExtractionToggles{align-items:center;gap:8px;display:flex}.sourceExtractionToggles label{color:var(--muted);cursor:pointer;align-items:center;gap:4px;font-size:11px;font-weight:800;display:flex}.sourceExtractionToggles input{accent-color:var(--accent)}.measureReinspectButton{min-height:28px;color:var(--accent-strong);cursor:pointer;background:#edf8f5;border:1px solid #0f766e4d;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:0 9px;font-size:10px;font-weight:900;display:inline-flex}.measureReinspectButton:disabled{border-color:var(--line);color:#9aa3aa;cursor:not-allowed;background:#f4f6f7}.sourceExtractionLegend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:10px;font-weight:800;display:flex}.sourceExtractionLegend span{align-items:center;gap:4px;display:inline-flex}.sourceExtractionLegend i{border-radius:999px;width:9px;height:9px;display:inline-block}.sourceExtractionLegend .measureLegend{background:#2563eb14;border:2px solid #2563eb;border-radius:2px}.sourceExtractionLegend .noteLegend{background:#0f766e}.sourceExtractionLegend .lowNoteLegend{background:#ea580c}.sourceExtractionLegend>strong{color:#9a3412}.sourceExtractionScrollArea{position:relative}.sourceExtractionCanvas{background:#fff;width:100%;min-width:420px;position:relative}.sourceExtractionLayer{pointer-events:none;position:absolute;inset:0}.sourceMeasureBox{pointer-events:auto;cursor:pointer;background:#2563eb0e;border:2px solid #2563ebb8;min-width:2px;min-height:2px;padding:0;position:absolute;box-shadow:inset 0 0 0 1px #ffffff80}.sourceMeasureBox:hover,.sourceMeasureBox.selected{background:#ea580c1a;border-color:#ea580c;box-shadow:inset 0 0 0 1px #ffffffb8,0 0 0 2px #ea580c26}.sourceMeasureBox b{color:#fff;background:#2563ebe6;border-radius:3px;padding:1px 3px;font-size:8px;line-height:1.2;position:absolute;top:2px;left:2px}.sourceNotePoint{background:#0f766e;border:2px solid #fff;border-radius:999px;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0f766ec7,0 1px 3px #0000004d}.sourceNotePoint.lowConfidence{background:#ea580c;box-shadow:0 0 0 1px #ea580ccc,0 1px 3px #0000004d}.sourceExtractionHint{color:var(--muted);margin:0;font-size:11px;line-height:1.45}.sourceExtractionError{color:var(--danger);background:#fff2f0;border-radius:5px;margin:0;padding:7px 8px;font-size:11px;font-weight:700;line-height:1.45}.compactPages{max-height:480px;overflow:auto}.workflowFooter{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #0f766e47;border-radius:10px;justify-content:space-between;align-items:center;gap:18px;min-height:82px;padding:14px 16px;display:flex;position:sticky;bottom:12px;box-shadow:0 14px 40px #1b232c2b}.workflowFooterMessage{gap:5px;min-width:0;max-width:680px;display:grid}.workflowFooter span{color:var(--muted);font-size:13px}.finalizeButton{width:auto;min-width:250px;margin:0}.scoreExportActions{flex:none;gap:6px;width:min(390px,100%);display:grid}.musicXmlDownloadButton{width:100%;min-width:310px;margin:0}.workflowFooter .musicXmlDownloadButton span{color:#fff}.scoreExportActions>small{color:var(--muted);text-align:center;font-size:11px;line-height:1.45}.musicXmlDownloadError{color:var(--danger);text-align:center;margin:2px 0 0;font-size:11px;font-weight:800}.pptAuxiliaryActions{border-top:1px solid var(--line);color:var(--muted);margin-top:4px;padding-top:7px;font-size:12px}.pptAuxiliaryActions summary{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;font-weight:850;display:flex}.pptAuxiliaryActions summary small{background:#f1f3f5;border-radius:999px;padding:3px 7px;font-size:10px}.pptAuxiliaryActions>p{margin:8px 0;line-height:1.45}.pptAuxiliaryActions>.secondaryActionButton{width:100%}.pptAuxiliaryActions .reviewGateOverride{text-align:left;justify-self:stretch;margin:9px 0 0}.workflowError{color:var(--danger);margin:-6px 0 0;font-weight:800}.pptResultHeader{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;padding:20px;display:grid}.finalDownload{border-color:var(--accent-strong);background:var(--accent);color:#fff;width:auto;min-width:190px;margin:0}.pptResultMeta{align-items:center;gap:12px;padding:0 2px;display:flex}.pptResultMeta span{color:var(--muted);font-size:13px}.pptSlideGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.pptSlideCard{min-width:0}.pptSlideCard>span{color:var(--muted);margin-bottom:7px;font-size:12px;font-weight:800;display:block}.pptSlideCanvas{aspect-ratio:4/3;background:#fff;border:1px solid #cfd5dd;border-radius:7px;grid-template-rows:repeat(2,minmax(0,1fr));align-items:center;gap:4%;padding:7% 5%;display:grid;overflow:hidden;box-shadow:0 10px 28px #1b232c1a}.pptSlideCanvas img{object-fit:contain;width:100%;max-height:100%;display:block}.pptResultActions{justify-content:flex-end;gap:8px;padding-bottom:12px;display:flex}@media (max-width:960px){.uploadWorkflowGrid,.pptSlideGrid,.scoreComparisonGrid{grid-template-columns:1fr}.reviewWorkspace{grid-template-columns:minmax(180px,.4fr) minmax(0,1fr)}.analysisPanel{position:static}.workflowDropZone{min-height:480px}.analysisCompleteCard,.pptResultHeader{grid-template-columns:auto minmax(0,1fr)}.analysisSummary,.finalDownload{grid-column:2}}@media (max-width:620px){.workflowSteps{grid-template-columns:repeat(4,1fr)}.workflowSteps li{justify-content:center;min-height:58px;padding:0 4px}.workflowSteps li strong{display:none}.uploadStep,.editorStepCard{padding:14px}.workflowDropZone{min-height:370px}.analysisCompleteCard,.pptResultHeader{grid-template-columns:1fr}.analysisCompleteIcon,.pptSuccessIcon{width:40px;height:40px}.analysisSummary,.finalDownload{grid-column:1}.analysisSummary{grid-template-columns:1fr 1fr;display:grid}.scoreReviewPanel{padding:14px}.scoreReviewHeader,.reviewWorkspace{grid-template-columns:1fr;display:grid}.reviewSaveState{justify-self:start}.reviewSummaryGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reviewIssueQueue{max-height:190px}.reviewIssueActions button{flex:130px}.reviewGateOverride{text-align:left;justify-self:stretch}.sourceExtractionToolbar{flex-direction:column;align-items:stretch}.sourceExtractionToggles{flex-wrap:wrap}.measureReinspectButton{flex:140px}.workflowFooter{display:grid;position:static}.scoreExportActions{width:100%}.musicXmlDownloadButton,.finalizeButton,.finalDownload{width:100%;min-width:0}.pptResultMeta,.pptResultActions{flex-direction:column;align-items:stretch}.keyboardShortcutPanel dl{grid-template-columns:repeat(2,minmax(0,1fr))}.quickNoteHeader{align-items:stretch;display:grid}.quickNoteNavigation{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.quickNoteNavigation .quickDetailButton{grid-column:1/-1}.quickControlGroup{flex:100%}.quickControlGroup>span{width:100%}.quickPitchControls button,.quickStructureControls button{flex:120px}.quickDurationControls button{flex-basis:60px}.noteEditorShortcutHint{display:none}}.scoreTransposePanel{border:1px solid var(--line,#d9e0e8);background:#f5f8ff;border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;margin:12px 0;padding:14px 18px;display:flex}.scoreTransposePanel>div{gap:4px;display:grid}.scoreTransposePanel small{color:#526174}.scoreTransposePanel label{align-items:center;gap:10px;display:flex}.scoreTransposePanel select{color:#17243a;background:#fff;border:1px solid #aab6c8;border-radius:8px;padding:8px 12px}.scoreSymbolPanel{background:#f7fafc;border:1px solid #c6d5e5;border-radius:12px;margin:12px 0;padding:16px}.scoreSymbolControls{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.scoreSymbolControls label{gap:5px;font-size:13px;display:grid}.scoreSymbolControls select,.scoreSymbolControls button{color:#17243a;background:#fff;border:1px solid #aab6c8;border-radius:8px;padding:8px 10px}.scoreSymbolControls button[aria-pressed=true]{background:#d9f3e9;border-color:#36886e}.scoreSymbolControls small{color:#526174}.scoreSymbolPanel [role=alert]{color:#a52121}.measureHitTarget{pointer-events:auto;cursor:pointer;z-index:1;background:0 0;border:1px solid #0000;position:absolute}.measureHitTarget.selected{background:#4b91d212;border-color:#438ad0}.measureHitTarget:hover{border-color:#85afd4}.noteHitTarget,.lyricHandle{z-index:3}.scoreMeasureQuickTools{background:#f0f6fb;border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px;display:flex}.scoreMeasureQuickTools button{background:#fff;border:1px solid #aab6c8;border-radius:8px;padding:8px 12px}.scoreMeasureQuickTools button[aria-pressed=true]{background:#d9f3e9}.scoreMeasureQuickTools small{color:#526174}.scoreSymbolDetails{margin:10px 0}.scoreSymbolDetails summary{cursor:pointer}.scoreSymbolError{color:#a52121}
