.ocr{--color-primary: #2563eb;--color-primary-hover: #1d4ed8;--color-primary-ring: #3b82f6;--color-primary-border-hover: #60a5fa;--color-primary-tint: #eff6ff;--color-gain: #d97706;--color-surface: #ffffff;--color-surface-muted: #f9fafb;--color-surface-placeholder: #f3f4f6;--color-border: #e5e7eb;--color-border-input: #d1d5db;--color-text-heading: #111827;--color-text-body: #374151;--color-text-secondary: #4b5563;--color-text-muted: #6b7280;--gradient-hero: linear-gradient(to right, #eef2ff, #ffffff, #fdf2f8);--radius-input: .5rem;--radius-card: 1rem;--shadow-card: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-raised: 0 10px 15px -3px rgb(0 0 0 / .1);color:var(--color-text-body);background:#fcfcfd;line-height:1.5;-webkit-font-smoothing:antialiased}.ocr *{box-sizing:border-box}.ocr-container{max-width:72rem;margin-inline:auto;padding-inline:1rem;padding-bottom:1rem}@media (min-width: 640px){.ocr-container{padding-inline:1.5rem}}@media (min-width: 1024px){.ocr-container{padding-inline:2rem}}.ocr .card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:1.5rem}.ocr .card--raised{box-shadow:var(--shadow-raised)}.ocr .btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--color-primary);color:#fff;font-weight:600;padding:.625rem 1.5rem;border-radius:var(--radius-input);border:0;cursor:pointer;text-decoration:none;transition:.15s;font-size:1rem}.ocr .btn:hover{background:var(--color-primary-hover)}.ocr .btn:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ocr .btn:disabled{opacity:.55;cursor:not-allowed}.ocr .btn--full{width:100%}.ocr .btn--sm{padding:.4rem .85rem;font-size:.85rem}.ocr .btn--ghost{background:var(--color-surface);color:var(--color-text-body);border:1px solid var(--color-border-input)}.ocr .btn--ghost:hover{background:var(--color-surface-muted)}.ocr label.field{display:block;font-size:.875rem;font-weight:500;color:var(--color-text-body);margin-bottom:.35rem}.ocr .input,.ocr select.input{width:100%;padding:.55rem .75rem;border:1px solid var(--color-border-input);border-radius:var(--radius-input);background:var(--color-surface);color:var(--color-text-heading);font-size:1rem;font-family:inherit}.ocr .input:focus,.ocr select.input:focus{outline:2px solid var(--color-primary-ring);outline-offset:1px;border-color:var(--color-primary-ring)}.ocr .field-note{margin:.4rem 0 0;font-size:.76rem;line-height:1.4;color:var(--color-text-muted)}.ocr h2.section{font-size:1.5rem;font-weight:700;color:var(--color-text-heading);letter-spacing:-.01em;margin:0}.ocr h3.panel{font-size:1.125rem;font-weight:600;color:var(--color-text-heading);margin:0}.ocr .muted{color:var(--color-text-muted)}.ocr .tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;background:var(--color-surface-muted);border-radius:var(--radius-input);padding:1rem;border:1px solid var(--color-border)}.ocr .tile__label{font-size:.85rem;color:var(--color-text-muted)}.ocr .tile__value{font-size:1.35rem;font-weight:700;color:var(--color-text-heading)}.ocr .tile__value--primary{color:var(--color-primary)}@media (max-width: 560px){.ocr .tiles{grid-template-columns:1fr;gap:.75rem}}.ocr .layout{display:grid;grid-template-columns:1fr;gap:1.5rem;margin-top:2rem}@media (min-width: 920px){.ocr .layout{grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);align-items:start}.ocr .side-card{position:sticky;top:1.5rem}}.ocr .dropzone{border:2px dashed var(--color-border-input);border-radius:var(--radius-card);background:var(--color-surface-muted);padding:3rem 1.5rem;text-align:center;cursor:pointer;transition:.18s;user-select:none}.ocr .dropzone:hover,.ocr .dropzone.is-drag{border-color:var(--color-primary-ring);background:var(--color-primary-tint)}.ocr .dropzone.is-drag{border-style:solid}.ocr .dropzone:focus-visible{outline:2px solid var(--color-primary-ring);outline-offset:2px}.ocr .dropzone__icon{width:56px;height:56px;margin:0 auto .9rem;color:var(--color-primary)}.ocr .dropzone__icon svg{width:100%;height:100%;display:block}.ocr .dropzone__title{font-weight:700;font-size:1.15rem;color:var(--color-text-heading)}.ocr .dropzone__sub{font-size:.92rem;color:var(--color-text-muted);margin-top:.35rem}.ocr .dropzone__formats{display:inline-flex;flex-wrap:wrap;gap:.35rem;justify-content:center;margin-top:1rem}.ocr .fmt-chip{font-size:.7rem;font-weight:700;letter-spacing:.03em;padding:.18rem .5rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}.ocr .thumbs-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin:1.5rem 0 .9rem}.ocr .thumbs-head__count{font-weight:600;color:var(--color-text-heading);font-size:.95rem}.ocr .file-list{display:flex;flex-direction:column;gap:.6rem}.ocr .file-row{display:flex;align-items:center;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-input);background:var(--color-surface);padding:.7rem .85rem;box-shadow:var(--shadow-card);transition:box-shadow .15s}.ocr .file-row:hover{box-shadow:var(--shadow-raised)}.ocr .file-row--bad{border-color:#fde68a;background:#fffbeb}.ocr .file-row__icon{flex:0 0 auto;font-size:1.25rem;line-height:1}.ocr .file-row__meta{flex:1 1 auto;min-width:0}.ocr .file-row__name{font-size:.92rem;font-weight:600;color:var(--color-text-heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ocr .file-row__sub{font-size:.78rem;color:var(--color-text-muted);margin-top:.1rem}.ocr .file-row__remove{flex:0 0 auto;width:1.7rem;height:1.7rem;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-secondary);border:1px solid var(--color-border);cursor:pointer;font-size:1.05rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:.15s}.ocr .file-row__remove:hover{background:#b91c1c;color:#fff;border-color:#b91c1c}.ocr .file-row__remove:disabled{opacity:.4;cursor:not-allowed}.ocr .list-empty{border:1px dashed var(--color-border-input);border-radius:var(--radius-input);padding:1.5rem;text-align:center;color:var(--color-text-muted);font-size:.9rem;background:var(--color-surface-muted)}.ocr .output{margin-top:1.5rem;border-top:1px solid var(--color-border);padding-top:1.5rem}.ocr .output__head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap;margin-bottom:.8rem}.ocr .output__actions{display:inline-flex;gap:.5rem}.ocr .output__text{width:100%;min-height:16rem;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.55;color:var(--color-text-heading);border:1px solid var(--color-border-input);border-radius:var(--radius-input);background:var(--color-surface-muted);padding:.85rem 1rem;white-space:pre-wrap}.ocr .output__text:focus{outline:2px solid var(--color-primary-ring);outline-offset:1px;border-color:var(--color-primary-ring)}.ocr .output__hint{margin:.6rem 0 0;font-size:.78rem;color:var(--color-text-muted)}.ocr .side-card h3.panel{margin-bottom:1.1rem}.ocr .field-group{margin-bottom:1rem}.ocr .summary-line{margin:.9rem 0 0;font-size:.85rem;color:var(--color-text-muted);text-align:center}.ocr .gen-note{margin-top:.9rem;padding:.7rem .85rem;border-radius:var(--radius-input);font-size:.84rem;line-height:1.45;background:var(--color-primary-tint);color:var(--color-primary-hover);border:1px solid #bfdbfe}.ocr .gen-note--warn{background:#fffbeb;color:#b45309;border-color:#fde68a}.ocr .fine-print{margin:.9rem 0 0;font-size:.78rem;line-height:1.45;color:var(--color-text-muted)}.ocr .preflight{margin-top:.9rem;padding:.85rem .9rem;border-radius:var(--radius-input);background:#fffbeb;border:1px solid #fde68a}.ocr .preflight__msg{margin:0 0 .7rem;font-size:.84rem;line-height:1.45;color:#92400e}.ocr .preflight__actions{display:flex;gap:.5rem}.ocr .progress{margin-top:.9rem}.ocr .progress__bar{height:.5rem;border-radius:999px;background:var(--color-surface-placeholder);overflow:hidden}.ocr .progress__fill{display:block;height:100%;width:0%;background:linear-gradient(to right,var(--color-primary),#60a5fa);transition:width .2s ease}.ocr .progress__row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-top:.6rem}.ocr .progress__label{font-size:.82rem;font-weight:600;color:var(--color-text-secondary)}.ocr .results-row{margin-top:1.5rem}.ocr .how{margin-top:3.25rem}.ocr .how h2.section{text-align:center}.ocr .how__lead{text-align:center;color:var(--color-text-secondary);margin:.4rem 0 1.75rem}.ocr .steps{display:grid;grid-template-columns:1fr;gap:1.1rem}@media (min-width: 720px){.ocr .steps{grid-template-columns:repeat(3,1fr)}}.ocr .step{text-align:center;padding:1.75rem 1.25rem}.ocr .step__n{width:2.5rem;height:2.5rem;margin:0 auto .9rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:1.1rem;color:var(--color-primary);background:var(--color-primary-tint);border:1px solid #bfdbfe}.ocr .step h3{font-size:1.05rem;font-weight:700;color:var(--color-text-heading);margin:0 0 .4rem}.ocr .step p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.ocr .privacy-line{margin-top:1.75rem;display:flex;align-items:center;gap:1rem;background:#ecfdf5;border:1px solid #a7f3d0}.ocr .privacy-line__icon{font-size:1.5rem;flex:0 0 auto}.ocr .privacy-line strong{color:#065f46}.ocr .privacy-line p{margin:0;color:#047857;font-size:.95rem}.ocr .foot{margin:2.5rem 0 1rem;padding-top:1.25rem;border-top:1px solid var(--color-border);text-align:center}.ocr .foot p{margin:0;font-size:.85rem}
