:root{color-scheme:light dark;--bg: #ebe7df;--panel: rgba(255, 253, 247, .92);--panel-strong: #fffdf7;--panel-border: rgba(58, 47, 28, .12);--ink: #231d16;--muted: #726454;--accent: #1756cb;--accent-strong: #0f42a2;--ok: #0f7f52;--warn: #a44d1a;--shadow: 0 24px 70px rgba(34, 24, 10, .16);--bg-spot-a: rgba(34, 117, 222, .14);--bg-spot-b: rgba(190, 147, 47, .16);--bg-top: #f4efe6;--bg-bottom: #e5ded4;--surface-soft: rgba(255, 255, 255, .65);--surface-strong: rgba(255, 255, 255, .88);--surface-border: rgba(34, 25, 11, .08);--mode-track: rgba(34, 25, 11, .06);--mode-pill-active: #ffffff;--mode-pill-shadow: 0 8px 18px rgba(24, 19, 12, .08);--dropzone-fill: rgba(255, 255, 255, .45);--paper-stage-fill: rgba(255, 255, 255, .34);--paper-card: #ffffff;--output-surface: rgba(255, 255, 255, .62);--toast-bg: rgba(27, 21, 14, .9);--toast-ink: #ffffff;font-family:Avenir Next,Segoe UI,sans-serif}@media(prefers-color-scheme:dark){:root{--bg: #0c1118;--panel: rgba(15, 21, 31, .9);--panel-strong: #131b25;--panel-border: rgba(196, 211, 229, .12);--ink: #e6edf6;--muted: #99a8ba;--accent: #6aa4ff;--accent-strong: #2f7bff;--ok: #64d8a1;--warn: #ff9f73;--shadow: 0 26px 80px rgba(0, 0, 0, .42);--bg-spot-a: rgba(57, 112, 227, .22);--bg-spot-b: rgba(168, 128, 46, .12);--bg-top: #0b1118;--bg-bottom: #101925;--surface-soft: rgba(255, 255, 255, .05);--surface-strong: rgba(17, 24, 35, .94);--surface-border: rgba(196, 211, 229, .1);--mode-track: rgba(255, 255, 255, .06);--mode-pill-active: #182331;--mode-pill-shadow: 0 10px 24px rgba(0, 0, 0, .34);--dropzone-fill: rgba(13, 19, 28, .52);--paper-stage-fill: rgba(255, 255, 255, .05);--paper-card: #f8fbff;--output-surface: rgba(10, 15, 23, .72);--toast-bg: rgba(233, 239, 247, .96);--toast-ink: #0d1420}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(circle at top left,var(--bg-spot-a),transparent 34%),radial-gradient(circle at bottom right,var(--bg-spot-b),transparent 36%),linear-gradient(180deg,var(--bg-top) 0%,var(--bg-bottom) 100%);color:var(--ink)}button,input,textarea,select{font:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.app-shell{height:var(--app-height, 100dvh);min-height:var(--app-height, 100dvh)}.gate-screen{min-height:100%;display:grid;place-items:center;padding:32px}.gate-card{width:min(760px,100%);padding:32px;background:var(--panel);border:1px solid var(--panel-border);border-radius:28px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.install-card{display:grid;gap:24px}.eyebrow{display:inline-block;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}.gate-card h1{margin:8px 0 10px;font-size:clamp(2.3rem,5vw,4.2rem);line-height:.95}.gate-copy{margin:0;color:var(--muted);font-size:1.05rem;line-height:1.6;max-width:62ch}.support-box,.warning-box{padding:16px 18px;border-radius:20px;background:var(--surface-soft);border:1px solid var(--surface-border)}.support-box strong,.warning-box strong{display:block;margin-bottom:6px}.support-box p,.warning-box{margin:0;color:var(--muted);line-height:1.5}.warning-box{color:var(--warn);background:#cd824614}.facts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px}.fact-card{padding:16px;background:var(--panel-strong);border-radius:18px;border:1px solid var(--surface-border)}.fact-card span{display:block;color:var(--muted);font-size:.86rem;margin-bottom:8px}.fact-card strong{font-size:1.15rem}.progress-track{width:100%;height:10px;border-radius:999px;background:#1c244217;overflow:hidden}.progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1d78df,#1756cb)}.progress-header,.gate-actions,.page-actions,.pane-heading,.status-strip,.toolbar,.brand-block,.toolbar-controls,.page-meta,.page-controls{display:flex;align-items:center}.progress-header,.pane-heading,.status-strip,.page-controls{justify-content:space-between}.gate-actions{gap:12px}.primary-action,.toolbar-button,.mode-pill{border:0;border-radius:999px;cursor:pointer;transition:transform .12s ease,background .12s ease,opacity .12s ease}.primary-action,.toolbar-button.accent{background:linear-gradient(135deg,var(--accent) 0%,var(--accent-strong) 100%);color:#fff;padding:14px 20px;font-weight:700}.toolbar-button{background:var(--surface-strong);color:var(--ink);padding:11px 16px;border:1px solid var(--surface-border)}.primary-action:hover,.toolbar-button:hover,.mode-pill:hover{transform:translateY(-1px)}.primary-action:disabled,.toolbar-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.workspace{height:100%;min-height:0;padding:20px;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;overflow:hidden}.toolbar,.status-strip,.page-rail,.preview-pane,.output-pane{border:1px solid var(--panel-border);background:var(--panel);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.toolbar{justify-content:space-between;padding:18px 22px;border-radius:24px;gap:16px;position:relative;z-index:6}.brand-block{gap:14px}.brand-mark{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;font-weight:800;letter-spacing:.12em;color:#fff;background:linear-gradient(145deg,#1e6dd0,#0f488d)}.brand-block h1{margin:0 0 2px;font-size:1.4rem}.brand-block p{margin:0;color:var(--muted)}.toolbar-controls{gap:10px;flex-wrap:wrap;justify-content:flex-end;position:relative;z-index:1}.mode-segment{display:inline-flex;gap:6px;padding:6px;border-radius:999px;background:var(--mode-track)}.mode-pill{padding:10px 14px;background:transparent;color:var(--muted);font-weight:700}.mode-pill.active{background:var(--mode-pill-active);color:var(--ink);box-shadow:var(--mode-pill-shadow)}.status-strip{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);align-items:stretch;gap:18px;padding:14px 18px;border-radius:22px;color:var(--muted)}.status-summary{min-width:0;display:grid;align-content:center;gap:14px}.status-copy{min-width:0;font-size:1.05rem;line-height:1.35;color:var(--ink)}.status-pill{padding:6px 10px;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.status-pill.ready{color:var(--ok);background:#0f7f521c}.status-pill.gpu{color:var(--accent);background:#1756cb1f}.status-badges{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.status-meta{min-width:0;display:grid;align-content:center;gap:10px;padding-left:18px;border-left:1px solid var(--surface-border)}.status-progress{min-width:0;display:grid;gap:10px;padding:12px 14px;border-radius:18px;border:1px solid var(--surface-border);background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 14%,transparent),transparent 70%),var(--surface-soft);box-shadow:inset 0 1px #ffffff0f}.status-progress-copy{display:grid;gap:4px;color:var(--muted)}.status-progress-copy strong{font-size:1.7rem;line-height:.95;letter-spacing:-.04em;color:var(--ink)}.status-progress-copy span{font-size:.86rem}.status-progress-track{width:100%;height:10px;overflow:hidden;border-radius:999px;background:#1756cb1f}.status-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#2c90ef,color-mix(in srgb,var(--accent) 84%,#9bc3ff 16%))}.status-runtime{display:flex;align-items:center;justify-content:space-between;gap:12px}.status-runtime-label{font-size:.76rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.status-hint{font-size:.96rem;color:var(--ink);text-align:right}.workspace-grid{min-height:0;height:100%;display:grid;grid-template-columns:280px minmax(0,1fr) 420px;gap:14px}.page-rail,.preview-pane,.output-pane{min-height:0;border-radius:26px;padding:16px;overflow:hidden}.page-rail{display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px}.pane-heading{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.page-list{min-height:0;overflow:auto;display:grid;gap:10px;padding-right:6px;padding-bottom:12px;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.page-thumb{padding:10px;display:grid;gap:10px;border-radius:18px;border:1px solid var(--surface-border);background:var(--surface-soft);cursor:pointer;text-align:left}.page-thumb.active{border-color:#1756cb59;box-shadow:0 10px 22px #1756cb1f}.page-thumb img{width:100%;border-radius:12px;display:block;background:#fff}.page-meta{justify-content:space-between;gap:12px}.page-meta span{color:var(--muted);font-size:.88rem;text-transform:capitalize}.empty-card,.empty-rail,.empty-output{display:grid;place-items:center;text-align:center;color:var(--muted);line-height:1.6}.empty-card{align-self:center;min-height:180px;padding:24px 18px;border-radius:22px;border:1px dashed rgba(23,86,203,.2);background:radial-gradient(circle at top,rgba(23,86,203,.05),transparent 50%),var(--surface-soft)}.preview-pane{display:grid;grid-template-rows:auto minmax(0,1fr);gap:16px}.preview-pane.empty{align-items:stretch}.dropzone{min-height:100%;display:grid;place-items:center;text-align:center;padding:32px;border-radius:22px;border:1px dashed rgba(23,86,203,.28);background:radial-gradient(circle at top,rgba(23,86,203,.08),transparent 45%),var(--dropzone-fill)}.dropzone h2{margin:12px 0 8px;font-size:2rem}.dropzone p{margin:0 0 18px;max-width:48ch;color:var(--muted)}.paper-stage{min-height:0;display:grid;place-items:center;position:relative;padding:24px;border-radius:24px;background:linear-gradient(145deg,#1756cb0d,#c2993614),var(--paper-stage-fill);overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.paper-stage img{width:min(100%,920px);height:auto;border-radius:14px;background:var(--paper-card);box-shadow:0 18px 45px #1c160e24}.paper-status{position:absolute;top:18px;right:18px;padding:8px 12px;border-radius:999px;background:var(--surface-strong);color:var(--muted);text-transform:capitalize;font-weight:700;font-size:.85rem}.paper-status.done{color:var(--ok)}.paper-status.error{color:#b04324}.output-pane{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:16px}.page-controls{min-height:0;gap:12px;align-items:flex-start;flex-direction:column}.page-actions{gap:8px;flex-wrap:wrap}.download-split{position:relative;display:inline-grid;grid-template-columns:minmax(0,auto) auto;align-items:stretch;z-index:2;transition:transform .12s ease}.download-split .toolbar-button{position:relative}.download-split:hover{transform:translateY(-1px)}.download-split .toolbar-button:hover{transform:none}.download-main{border-top-right-radius:0;border-bottom-right-radius:0}.download-toggle{min-width:42px;padding-inline:12px;border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.download-split.open .download-toggle{z-index:1}.download-split.open{z-index:20}.download-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:160px;padding:8px;display:grid;gap:4px;border-radius:18px;background:var(--panel-strong);border:1px solid var(--surface-border);box-shadow:var(--shadow);z-index:40}.download-menu-item{border:0;background:transparent;color:var(--ink);text-align:left;border-radius:12px;padding:10px 12px;cursor:pointer}.download-menu-item:hover{background:var(--surface-soft)}.output-scroll{min-height:0;height:100%;overflow:auto;padding:18px;border-radius:20px;background:var(--output-surface);border:1px solid var(--surface-border);overscroll-behavior:contain;scrollbar-gutter:stable both-edges}.ocr-output{margin:0;font-family:SFMono-Regular,ui-monospace,monospace;white-space:pre-wrap;word-break:break-word;line-height:1.6;color:var(--ink)}.error-box{padding:14px 16px;border-radius:16px;background:#b0432414;color:#9e3c21}.install-progress{display:grid;gap:8px}.install-status{margin:0}.status-line{color:var(--muted);line-height:1.5}.toast{position:fixed;bottom:20px;left:50%;transform:translate(-50%);padding:12px 16px;border-radius:999px;background:var(--toast-bg);color:var(--toast-ink);box-shadow:0 18px 40px #00000029}.workspace-footer{display:flex;align-items:center;gap:12px;min-height:0;padding:4px 2px 0;color:#168654;overflow:hidden}.footer-lock{flex:0 0 auto;width:40px;height:40px;display:grid;place-items:center;border-radius:999px;background:#1686541f;color:inherit}.footer-lock svg{width:19px;height:19px;fill:currentColor}.footer-copy{min-width:0;display:grid;gap:3px}.footer-copy strong{font-size:.94rem;color:inherit}.footer-copy span{line-height:1.45;color:color-mix(in srgb,#168654 78%,var(--ink) 22%)}@media(prefers-color-scheme:dark){.workspace-footer{color:#73d9aa}.footer-lock{background:#73d9aa1f}.footer-copy span{color:color-mix(in srgb,#73d9aa 74%,var(--ink) 26%)}}@media(max-width:1320px){.workspace-grid{grid-template-columns:240px minmax(0,1fr) 360px}}@media(max-width:1120px){.app-shell{height:auto;min-height:var(--app-height, 100dvh)}.workspace-grid{grid-template-columns:1fr;height:auto}.page-rail,.preview-pane,.output-pane{min-height:280px}.workspace-footer{flex-wrap:wrap}.facts-grid,.status-strip{grid-template-columns:1fr}.status-meta{padding-left:0;border-left:0;padding-top:2px}.status-runtime{justify-content:flex-start;flex-wrap:wrap}.status-hint{text-align:left}}
