:root{--bg:#f1f5f9;--panel:#fff;--ink:#0f172a;--muted:#64748b;--line:#cbd5e1;--accent:#2563eb;--shifted:#ea580c;--shifted-bg:#fb923c2e;--out:#dc2626;--selected:#2563eb;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{flex-direction:column;display:flex}.app-header{color:#f8fafc;background:#1e293b;flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;padding:.5rem 1rem;display:flex}.app-header h1{white-space:nowrap;margin:0;font-size:1.15rem}.toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.toolbar label{flex-direction:column;gap:2px;font-size:.7rem;display:flex}.app-header .toolbar label{color:#cbd5e1}.toolbar.compact{gap:.35rem}.toolbar.compact label{flex-direction:row;align-items:center;gap:.35rem;font-size:.8rem}button,.button,select{font:inherit;border:1px solid var(--line);color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:6px;padding:.3rem .6rem;font-size:.85rem}button:hover:not(:disabled),.button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:default}button:focus-visible,.button:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.button.primary,#btn-transcribe{background:var(--accent);color:#fff;border-color:var(--accent)}.segmented{display:inline-flex}.segmented button{border-radius:0}.segmented button:first-child{border-radius:6px 0 0 6px}.segmented button:last-child{border-radius:0 6px 6px 0;margin-left:-1px}.segmented button[aria-checked=true],.tabs button[aria-selected=true]{border-color:var(--accent);background:#dbeafe}.split{flex:1;min-height:0;display:flex}.pane{background:var(--panel);flex-direction:column;flex:50%;min-width:0;display:flex}.divider{background:var(--line);width:6px}.pane-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.pane-header h2{margin:0 auto 0 0;font-size:1rem}.pane-header h2 small{color:var(--muted);font-weight:400}.tabs{gap:.25rem;display:inline-flex}.pane-body{background:#e2e8f0;flex:1;position:relative;overflow:auto}.pane-body:focus{outline:none}.dropzone,.empty{border:2px dashed var(--line);color:var(--muted);background:#fff;border-radius:12px;margin:1.5rem;padding:1.5rem}.dropzone.dragover{border-color:var(--accent);background:#eff6ff}.dropzone .big,.empty .big{color:var(--ink);margin-top:0;font-size:1.2rem}.dropzone li,.empty li{margin:.35rem 0}.hint{font-size:.85rem}.shifted-text{color:var(--shifted);font-weight:600}kbd{border:1px solid var(--line);background:#f8fafc;border-bottom-width:2px;border-radius:4px;padding:0 .3em;font-family:inherit;font-size:.8em}.source-view,.score-view{flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.source-view img,.source-view canvas,.source-view .page-svg{background:#fff;width:100%;max-width:1100px;box-shadow:0 1px 4px #0f172a40}.source-view svg{width:100%;height:auto;display:block}.faithful-view{flex-direction:column;align-items:center;gap:1rem;padding:1rem;display:flex}.faithful-page{width:calc(100% * var(--zoom,1));max-width:calc(1100px * var(--zoom,1));background:#fff;display:block;box-shadow:0 1px 4px #0f172a40}.page{-webkit-user-select:none;user-select:none;background:#fff;position:relative;box-shadow:0 1px 4px #0f172a40}.page>svg{width:100%;height:auto;display:block}.page .page-number{color:var(--muted);font-size:.7rem;position:absolute;bottom:6px;right:8px}.score-view.tool-text .page{cursor:text}.score-view.tool-select .page{cursor:default}.score-view g.note{cursor:pointer}.score-view g.note.bsx-shifted{fill:var(--shifted);color:var(--shifted)}.score-view g.note.bsx-out{fill:var(--out);color:var(--out)}.score-view g.note.bsx-selected{fill:var(--selected);color:var(--selected)}.score-view rect.bsx-hl{fill:var(--shifted-bg)}.score-view rect.bsx-hl.bsx-current{fill:#fb923c66}.rubber-band{border:1px dashed var(--accent);pointer-events:none;background:#2563eb1f;position:absolute}.annotation-layer{pointer-events:none;position:absolute;inset:0}.annotation{pointer-events:auto;align-items:flex-start;display:flex;position:absolute}.annotation .text{white-space:pre;-webkit-user-select:text;user-select:text;cursor:text;border:1px dashed #0000;outline:none;min-width:1ch;padding:0 2px;font-family:Helvetica,Arial,sans-serif;line-height:1.2}.annotation:hover .text,.annotation:focus-within .text{background:#ffffffd9;border-color:#94a3b8}.annotation .handle,.annotation .remove{visibility:hidden;color:#fff;background:#334155;border:none;border-radius:3px;padding:2px 3px;font-size:11px;line-height:1}.annotation .handle{cursor:move;margin-right:2px}.annotation .remove{cursor:pointer;margin-left:2px}.annotation:hover .handle,.annotation:hover .remove,.annotation:focus-within .handle,.annotation:focus-within .remove{visibility:visible}.legend{color:var(--muted);border-bottom:1px solid var(--line);flex-wrap:wrap;gap:.25rem 1rem;padding:.35rem .75rem;font-size:.8rem;display:flex}.swatch{vertical-align:-.05em;border-radius:2px;width:.8em;height:.8em;margin-right:.35em;display:inline-block}.swatch.shifted{background:var(--shifted)}.swatch.out{background:var(--out)}.swatch.selected{background:var(--selected)}.messages:empty{display:none}.messages{border-bottom:1px solid var(--line);background:#fffbeb;padding:.35rem .75rem;font-size:.85rem}.messages p{margin:.15rem 0}.messages .error{color:var(--out)}[hidden]{display:none!important}.status{color:#fff;z-index:10;background:#1e293b;border-radius:999px;align-items:center;gap:.6rem;padding:.6rem 1rem;display:flex;position:fixed;bottom:1.25rem;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0f172a59}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=900px){.split{flex-direction:column}.divider{width:auto;height:6px}}#print-root{display:none}@media print{body>:not(#print-root){display:none!important}html,body{background:#fff;height:auto;display:block}#print-root{display:block}.print-page{break-after:page;page-break-after:always;color:#000;background:#fff;position:relative;overflow:hidden}.print-page:last-child{break-after:auto;page-break-after:auto}.print-page svg{display:block}.print-page>img{width:100%;height:100%;display:block}.print-annotation{white-space:pre;font-family:Helvetica,Arial,sans-serif;line-height:1.2;position:absolute}}
