.ocr-workspace{color:var(--color-ink);font-family:var(--font-body);min-width:0;width:100%;margin:auto;scrollbar-color:var(--color-rule-2) var(--color-paper)}
.ocr-workspace [hidden]{display:none!important}
.ocr-workspace *{box-sizing:border-box}
.ocr-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}
.ocr-heading h1{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.2;letter-spacing:-.025em;text-wrap:balance;margin:0}
.ocr-heading p{margin:.5rem 0 0;color:var(--color-muted);line-height:1.55;max-width:65ch}
.ocr-local{color:var(--color-teal);font-size:.8125rem;font-weight:600;line-height:1.5;flex-shrink:0}
.ocr-upload,.ocr-source,.ocr-output{background:transparent;border:0;padding:0;min-width:0}
.ocr-workspace label{display:flex;flex-direction:column;gap:.5rem;font-size:.875rem;font-weight:600;line-height:1.5;min-width:0;color:var(--color-ink-2);overflow-wrap:anywhere}
.ocr-small{font-size:.8125rem;color:var(--color-muted);font-weight:400;line-height:1.55}
.ocr-file-row{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.55fr) minmax(0,1fr);gap:1rem;align-items:start}
.ocr-file-row:has(.ocr-pdf-page[hidden]){grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
.ocr-workspace input,.ocr-workspace select,.ocr-workspace textarea{font:inherit;border:1px solid transparent;border-radius:var(--radius-control,6px);background:var(--color-control,var(--color-paper-3));color:var(--color-ink);min-height:var(--size-control,3rem);padding:.65rem .75rem;width:100%;max-width:100%;min-width:0;caret-color:var(--color-accent);box-shadow:none}
.ocr-workspace input[type=file]{padding:.45rem;font-size:.875rem}
.ocr-file-control{display:flex;align-items:center;gap:.65rem;min-width:0;flex-wrap:wrap}
.ocr-file-control .ocr-filename{font-size:.875rem;font-weight:400;overflow-wrap:anywhere;min-width:0}
.ocr-workspace .ocr-file{position:absolute;inline-size:1px;block-size:1px;min-height:0;padding:0;border:0;clip-path:inset(50%);overflow:hidden;white-space:nowrap}
.ocr-workspace input[type=file]::file-selector-button{background:var(--color-paper-3);border:0;padding:.4rem .6rem;border-radius:.3rem;margin-inline-end:.6rem;color:var(--color-ink);font:inherit;cursor:pointer}
.ocr-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:.25rem 0 1rem}
.ocr-workspace button{font:inherit;font-weight:600;min-height:var(--size-control,3rem);max-width:100%;padding:.65rem 1rem;background:var(--color-control,var(--color-paper-3));color:var(--color-ink);border:1px solid transparent;border-radius:var(--radius-control,6px);white-space:normal;overflow-wrap:anywhere;line-height:1.4;cursor:pointer;transition:background-color var(--dur-micro),border-color var(--dur-micro)}
.ocr-workspace button:hover:not(:disabled){background:var(--color-control-hover,var(--color-paper-2));border-color:transparent}
.ocr-workspace button:active:not(:disabled){background:var(--color-paper-3)}
.ocr-workspace .ocr-primary{background:var(--color-accent);color:var(--color-accent-ink);border-color:var(--color-accent)}
.ocr-workspace .ocr-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}
.ocr-workspace button:disabled{opacity:1;cursor:default;background:var(--color-paper-2);color:var(--color-muted);border-color:transparent}
.ocr-workspace :is(input,select):disabled{opacity:1;background:var(--color-paper-2);color:var(--color-muted)}
.ocr-workspace :is(button,input,select,textarea,summary,a):focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.ocr-actions{display:flex;gap:.75rem;align-items:stretch;flex-wrap:wrap;min-width:0}
.ocr-upload>.ocr-actions{max-width:36rem}
.ocr-actions>button{flex:1 1 8.5rem;min-width:0}
.ocr-model-scope{margin:.8rem 0 1rem;max-width:75ch}
.ocr-settings{margin-top:1rem;border-top:1px solid var(--color-rule)}
.ocr-settings summary,.ocr-lines summary,.ocr-method summary{cursor:pointer;min-height:44px;padding:.65rem 0;font-size:.875rem;font-weight:600;line-height:1.6}
.ocr-runtime-row{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;margin-top:.6rem}
.ocr-runtime{font-size:.8125rem;color:var(--color-muted);line-height:1.55}
.ocr-sample-note{max-width:75ch;margin:.5rem 0 0}
.ocr-feedback{min-height:1.5em;color:var(--color-ink-2);font-size:.875rem;margin:.8rem 0;line-height:1.55}
.ocr-feedback:empty{margin:.5rem 0;min-height:0}
.ocr-pending,.ocr-preview-pending{margin-block:1rem;min-width:0}
.ocr-scan-pending{padding:1rem;min-width:0}
.ocr-feedback.ocr-error{color:var(--color-error);background:var(--color-error-paper);padding:.75rem;border-radius:var(--radius-input);border:1px solid var(--color-error)}
.ocr-empty{padding:1.5rem 0;color:var(--color-muted);border-bottom:1px solid var(--color-rule);line-height:1.55}
.ocr-empty strong{color:var(--color-ink-2);font-size:.9375rem;font-weight:600}
.ocr-empty p{max-width:65ch;margin:.4rem 0 0;font-size:.875rem}
.ocr-warning{padding:.75rem 1rem;border:1px solid var(--color-warning-rule);border-radius:var(--radius-input);color:var(--color-warning);background:var(--color-warning-paper);font-size:.875rem;line-height:1.55;margin-bottom:1rem}
.ocr-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
.ocr-panel-heading{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}
.ocr-panel-heading h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.25;letter-spacing:-.015em;margin:0;text-wrap:balance}
.ocr-panel-heading span{font-size:.8125rem;color:var(--color-muted)}
.ocr-source-meta{display:grid;gap:.2rem;min-width:0;max-width:23ch}
.ocr-source-filename{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-ink-2)}
.ocr-page-scroll{min-width:0;max-width:100%;height:480px;overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);scrollbar-color:var(--color-rule-2) var(--color-paper-2)}
.ocr-page-stage{position:relative;line-height:0}
.ocr-scan{display:block;width:100%;height:auto}
.ocr-regions{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.ocr-regions polygon{pointer-events:all;cursor:pointer;fill:transparent;stroke:var(--color-teal);stroke-width:2;stroke-opacity:.6;vector-effect:non-scaling-stroke}
.ocr-regions polygon:hover,.ocr-regions .ocr-selected{fill:var(--color-teal-paper);fill-opacity:.4;stroke-opacity:1;stroke-width:3}
.ocr-regions polygon:focus{stroke:var(--color-focus);stroke-opacity:1;stroke-width:4;outline:none}
.ocr-text-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:1rem}
.ocr-text-controls select{font-size:.875rem}
.ocr-editor-label{margin-top:.5rem}
.ocr-workspace .ocr-editor{font-family:var(--font-syriac);font-size:2rem;line-height:1.9;height:480px;min-height:0;resize:none;white-space:pre-wrap;overflow-wrap:anywhere;tab-size:4;font-weight:400;unicode-bidi:plaintext;background:var(--color-output);border-color:var(--color-rule);scrollbar-color:var(--color-rule-2) var(--color-output)}
.ocr-workspace .ocr-editor[readonly]{background:var(--color-paper-2)}
.ocr-line-list{padding:0;padding-inline-start:1.5rem;max-height:300px;overflow:auto;direction:rtl}
.ocr-line-list li{margin:.5rem 0}
.ocr-line-list button{width:100%;font-family:var(--font-syriac);text-align:start;font-size:2rem;overflow-wrap:anywhere;line-height:1.8}
.ocr-line-list .ocr-selected button{border-color:var(--color-teal);background:var(--color-teal-paper);color:var(--color-teal)}
.ocr-method{margin-top:.5rem}
.ocr-method p{max-width:75ch;font-size:.875rem;line-height:1.65;color:var(--color-muted)}
.ocr-method a{color:var(--color-accent);overflow-wrap:anywhere;text-underline-offset:.2em}
.ocr-save-note{margin-bottom:0}
.ocr-remove{color:var(--color-error)!important}
.ocr-page-stage.ocr-zoom-2{width:200%}
.ocr-page-stage.ocr-zoom-3{width:300%}
.ocr-workspace .ocr-zoom-label{display:flex;flex-direction:row;align-items:center;flex-wrap:wrap;font-size:.8125rem;font-weight:400;color:var(--color-muted);max-width:100%}
.ocr-zoom-label select{width:auto;min-height:var(--size-control,3rem);font-size:.8125rem;padding:.65rem .75rem}
.ocr-workspace input:invalid{border-color:transparent;box-shadow:none}
.ocr-workspace input:user-invalid{border-color:var(--color-error)}
.ocr-workspace ::selection{background:var(--color-highlight);color:var(--color-ink)}
.ocr-preview{border-block:1px solid var(--color-rule);padding-block:1rem;margin-block:1rem}
.ocr-preview h2,.ocr-comparison h2{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1.25;margin:0}
.ocr-preview-image{display:block;max-width:100%;max-height:300px;margin-block:1rem;object-fit:contain;object-position:top;box-shadow:0 5px 18px rgb(40 25 25 / .12)}
.ocr-comparison{margin-block:1.5rem 2rem;min-width:0}
.ocr-comparison-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.75rem 1rem;margin-block-end:1rem}
.ocr-line-navigation{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.75rem;max-width:100%;min-width:0}
.ocr-line-navigation button{height:100%;min-width:0}
.ocr-line-position{font-size:.875rem;font-variant-numeric:tabular-nums;color:var(--color-ink-2)}
.ocr-workspace .ocr-line-size{display:flex;flex-direction:row;align-items:center;font-size:.8125rem}
.ocr-line-size select{width:auto}
.ocr-line-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.ocr-line-pair>div{min-width:0;display:flex;flex-direction:column}
.ocr-line-pair h3{font-family:var(--font-body);font-size:.875rem;font-weight:600;margin:0 0 .5rem;color:var(--color-ink-2)}
.ocr-line-scroll{direction:ltr;height:180px;display:flex;align-items:flex-start;flex-shrink:0;margin-block-start:auto;overflow:auto;overscroll-behavior:contain;border:1px solid var(--color-rule);background:var(--color-output);scrollbar-color:var(--color-rule-2) var(--color-output);border-radius:var(--radius-control,6px);padding-block:16px}
.ocr-line-scroll canvas{display:block;flex:none;max-width:none;margin-left:auto;margin-right:0}
.ocr-line-scroll:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}
.ocr-comparison-note{max-width:75ch;margin:.65rem 0 0}
.ocr-output{display:flex;flex-direction:column}
.ocr-panel-heading{min-height:5.5rem;align-content:start;margin-bottom:.75rem}
.ocr-output .ocr-editor-label{order:1;margin:0}
.ocr-editor-caption{position:absolute;inline-size:1px;block-size:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.ocr-output .ocr-text-note{order:2}
.ocr-output .ocr-text-controls{order:3;margin-block:.25rem 1rem}
.ocr-output>.ocr-actions{order:4}
.ocr-output>.ocr-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr))}
.ocr-output>.ocr-save-note{order:5}
@media(max-width:1000px){.ocr-file-row,.ocr-file-row:has(.ocr-pdf-page[hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-file-label{grid-column:1/-1}.ocr-file-row:has(.ocr-pdf-page[hidden])>label:last-child{grid-column:1/-1}}
@media(max-width:700px){.ocr-review-grid{grid-template-columns:minmax(0,1fr)}.ocr-page-scroll,.ocr-workspace .ocr-editor{height:360px}.ocr-panel-heading{min-height:0}.ocr-heading{align-items:start;flex-direction:column;gap:.65rem}.ocr-comparison-toolbar{align-items:start}.ocr-comparison-toolbar>h2{flex-basis:100%}.ocr-line-pair{gap:.65rem}.ocr-line-scroll{height:176px}.ocr-line-navigation{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr));width:100%;gap:.4rem}.ocr-line-navigation button{padding-inline:.55rem;font-size:.8125rem;min-width:0;overflow-wrap:anywhere}.ocr-line-position{order:-1;grid-column:1/-1;text-align:start;font-size:.8125rem}.ocr-line-size{width:100%;justify-content:space-between;flex-wrap:wrap}.ocr-line-size select{flex:1 1 10rem}}
@media(max-width:480px){.ocr-heading{margin-bottom:1rem}.ocr-file-row,.ocr-file-row:has(.ocr-pdf-page[hidden]),.ocr-options,.ocr-text-controls{grid-template-columns:minmax(0,1fr);gap:1rem}.ocr-file-label,.ocr-file-row:has(.ocr-pdf-page[hidden])>label:last-child{grid-column:auto}.ocr-local{font-size:.8125rem}.ocr-workspace .ocr-editor{font-size:2rem}.ocr-page-scroll{max-height:400px}.ocr-empty{padding:1.25rem 0}}
@media(prefers-reduced-motion:reduce){.ocr-workspace *{scroll-behavior:auto!important;transition:none!important}}

