/* JustOCR — Paper / typeset. Opt-in root; no IDs, routes or JS contracts. */
:root {
 --jo-page:#F6F5F0; --jo-surface:#FFFFFF; --jo-text:#202522;
 --jo-muted:#5C635F; --jo-border:#D3D6CF; --jo-control-border:#797F79;
 --jo-accent:#254EC7; --jo-accent-hover:#1D3D9F; --jo-on-accent:#FFFFFF;
 --jo-focus:#254EC7; --jo-error:#A52D26; --jo-error-bg:#FFF2EF;
 --jo-success:#256044; --jo-success-bg:#EDF6EF; --jo-active:#E8EAE4;
 --jo-disabled-bg:#E8EAE4; --jo-disabled-text:#5C635F;
 --jo-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
 --jo-mono:ui-monospace,"SFMono-Regular",Consolas,"Liberation Mono",monospace;
 --jo-caption:.8125rem; --jo-small:.875rem; --jo-body:1rem;
 --jo-title:1.75rem; --jo-display:clamp(2.5rem,5vw,4.5rem);
 --jo-space-1:.25rem; --jo-space-2:.5rem; --jo-space-3:.75rem;
 --jo-space-4:1rem; --jo-space-6:1.5rem; --jo-space-8:2rem; --jo-space-12:3rem;
 --jo-radius:6px; --jo-radius-lg:10px;
}
.justocr {margin:0;background:var(--jo-page);color:var(--jo-text);font:400 var(--jo-body)/1.55 var(--jo-font);-webkit-font-smoothing:antialiased;}
.justocr *, .justocr *::before,.justocr *::after {box-sizing:border-box;}
.justocr h1,.justocr h2,.justocr h3 {line-height:1.15;letter-spacing:-.025em;text-wrap:balance;}
.justocr p {max-width:68ch;text-wrap:pretty;}
.justocr a:where(:not(.button)) {color:var(--jo-accent);text-underline-offset:.2em;}
.justocr :focus-visible,.justocr .jo-focus-demo {outline:3px solid var(--jo-focus);outline-offset:3px;}
.justocr ::selection {background:var(--jo-accent);color:var(--jo-on-accent);}
.jo-muted {color:var(--jo-muted);}
.jo-panel {background:var(--jo-surface);border:1px solid var(--jo-border);border-radius:var(--jo-radius-lg);padding:var(--jo-space-6);}
.jo-button {display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:.5rem;padding:.6rem 1rem;border:1px solid var(--jo-control-border);border-radius:var(--jo-radius);background:var(--jo-surface);color:var(--jo-text)!important;font:600 var(--jo-small)/1.4 var(--jo-font);text-decoration:none;cursor:pointer;}
.jo-button:hover {background:var(--jo-active);}
.jo-button--primary {background:var(--jo-accent);border-color:var(--jo-accent);color:var(--jo-on-accent)!important;}
.jo-button--primary:hover {background:var(--jo-accent-hover);border-color:var(--jo-accent-hover);}
.jo-button:disabled {color:var(--jo-disabled-text)!important;background:var(--jo-disabled-bg);border-color:var(--jo-border);cursor:not-allowed;opacity:1;}
.jo-label {display:block;font-size:var(--jo-small);font-weight:600;margin-bottom:.5rem;}
.jo-input {display:block;width:100%;min-height:44px;padding:.65rem .75rem;border:1px solid var(--jo-control-border);border-radius:var(--jo-radius);color:var(--jo-text);background:var(--jo-surface);font:400 1rem/1.4 var(--jo-font);}
.jo-input::placeholder {color:var(--jo-muted);opacity:1;}
.jo-input[aria-invalid="true"] {border:2px solid var(--jo-error);}
.jo-input:disabled {background:var(--jo-disabled-bg);color:var(--jo-disabled-text);}
.jo-nav {display:flex;gap:.25rem;flex-wrap:wrap;}
.jo-nav a {min-height:44px;padding:.65rem .85rem;border-radius:var(--jo-radius);text-decoration:none;color:var(--jo-muted);font-size:var(--jo-small);}
.jo-nav a[aria-current="page"] {background:var(--jo-active);color:var(--jo-text);font-weight:600;}
/* Selected navigation intentionally has no colored border, rail or pseudo-element. */
.jo-error {color:var(--jo-error);font-size:var(--jo-small);}
.jo-status {display:inline-block;padding:.25rem .6rem;border-radius:4px;font-size:var(--jo-small);font-weight:600;color:var(--jo-success);background:var(--jo-success-bg);}
.jo-code {font:400 var(--jo-small)/1.65 var(--jo-mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;}
.jo-number {font-variant-numeric:tabular-nums;}
@media (prefers-reduced-motion:reduce) {.justocr * {scroll-behavior:auto!important;}}

.justocr .brand-logo{display:block;width:148px;height:auto;max-width:100%;}
.justocr .brand{display:inline-flex;align-items:center;color:var(--jo-text);text-decoration:none;}
.justocr :focus-visible{outline:3px solid var(--jo-focus);outline-offset:3px;}
.justocr .sidebar a[aria-current],.justocr [aria-current="page"]{background:var(--jo-active);color:var(--jo-text);border-color:transparent;box-shadow:none;}
