:root{--color-bg: #eef3f8;--color-surface: #ffffff;--color-surface-soft: #f7f9fc;--color-surface-muted: #eef3f9;--color-border: #d7e0ec;--color-border-strong: #c4cfdd;--color-topbar: #172033;--color-topbar-soft: #202b43;--color-text: #172033;--color-text-muted: #607086;--color-text-subtle: #8a98aa;--color-text-inverse: #f8fafc;--color-primary: #1f3a5f;--color-primary-hover: #172f50;--color-primary-soft: #e8eef8;--color-accent: #2563eb;--color-cyan: #0891b2;--color-success: #059669;--color-warning: #d97706;--color-error: #dc2626;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(23, 32, 51, .06);--shadow-md: 0 10px 28px rgba(23, 32, 51, .08);--shadow-lg: 0 24px 70px rgba(23, 32, 51, .16)}[data-theme=dark]{--color-bg: #0f172a;--color-surface: #111827;--color-surface-soft: #1f2937;--color-surface-muted: #1e293b;--color-border: #334155;--color-border-strong: #475569;--color-topbar: #020617;--color-topbar-soft: #111827;--color-text: #f9fafb;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-text-inverse: #f8fafc;--color-primary: #7dd3fc;--color-primary-hover: #38bdf8;--color-primary-soft: rgba(125, 211, 252, .16)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;min-width:980px;overflow:hidden;background:var(--color-bg);color:var(--color-text);font-family:Inter,SF Pro Display,Segoe UI,PingFang SC,Microsoft YaHei,Noto Sans SC,sans-serif}button,input,select{font:inherit}button,a{color:inherit}button:disabled,a[aria-disabled=true]{cursor:not-allowed;opacity:.52;pointer-events:none}.app-shell{height:100vh;min-height:0;overflow:hidden;display:flex;flex-direction:column}.topbar{height:64px;display:grid;grid-template-columns:300px minmax(0,1fr) auto;align-items:center;gap:16px;padding:0 18px;color:var(--color-text-inverse);border-bottom:1px solid rgba(255,255,255,.08);background:var(--color-topbar);box-shadow:0 10px 30px #1720332e;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand>svg{width:38px;height:38px;padding:8px;color:var(--color-topbar);border-radius:13px;background:#fff;box-shadow:0 10px 20px #0000002e}.brand span{display:block;color:#b9c5d6;font-size:12px}.topbar-status{min-width:0;height:36px;display:flex;align-items:center;padding:0 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#dbeafe;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#ffffff14;font-size:12px;gap:8px}.status-prefix{flex:none;color:#b9c5d6}.status-file{min-width:80px;max-width:min(42vw,420px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.status-stage{flex:none;color:#dbeafe}.status-dot{display:inline-block;width:8px;height:8px;margin-right:8px;border-radius:50%;background:var(--color-success);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 18%,transparent)}.topbar-chips,.button-row,.toolbar-group,.home-actions,.empty-actions{display:flex;align-items:center;gap:8px}.inspector-group .button-row{gap:6px}.inspector-group .button-row .secondary-button,.inspector-group .button-row .primary-button{flex:1 1 0;min-width:0;min-height:34px;padding:0 8px;border-radius:10px;font-size:12px;line-height:1.15}.inspector-group .button-row .secondary-button svg,.inspector-group .button-row .primary-button svg{width:16px;height:16px}.topbar-chips{min-width:0}.chip{display:inline-flex;align-items:center;gap:6px;max-width:280px;height:32px;padding:0 10px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#dbeafe;background:#ffffff14;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspace-layout{flex:1;display:grid;min-height:0;grid-template-columns:238px minmax(560px,1fr) 320px;gap:0;padding:0}.workspace-layout.left-collapsed{grid-template-columns:58px minmax(560px,1fr) 320px}.workspace-layout.right-collapsed{grid-template-columns:238px minmax(560px,1fr) 58px}.workspace-layout.left-collapsed.right-collapsed{grid-template-columns:58px minmax(560px,1fr) 58px}.status-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 14px;color:var(--color-error);border-bottom:1px solid color-mix(in srgb,var(--color-error) 24%,var(--color-border));background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface));font-size:13px}.sidebar,.inspector{min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid var(--color-border);border-radius:0;background:var(--color-surface);box-shadow:var(--shadow-md);padding:12px}.workspace-layout>.workspace,.workspace-layout>.inspector{border-left:0}.sidebar.collapsed,.inspector.collapsed{display:block;overflow:hidden;padding:10px}.sidebar.collapsed .sidebar-content{display:none}.panel-collapse-header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;margin-bottom:10px}.panel-collapse-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text);font-size:13px}.inspector{border-right:1px solid var(--color-border);border-left:1px solid var(--color-border)}.sidebar-content,.inspector-content{min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:2px}.sidebar h2,.panel-card h2{margin:0 0 12px;font-size:13px;color:var(--color-text-muted)}.sidebar-actions{display:grid;gap:8px;margin-bottom:18px}.sidebar-empty-hint{padding:10px 11px;border:1px dashed var(--color-border-strong);border-radius:12px;color:var(--color-text-muted);background:var(--color-surface-soft);font-size:12px;line-height:1.5}.primary-button,.secondary-button,.icon-button,.mode-card,.file-item{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;text-decoration:none;transform:translateY(0) scale(1);transition:transform .16s cubic-bezier(.22,1,.36,1),border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,filter .16s ease;will-change:transform}.primary-button{min-height:40px;padding:0 14px;color:#fff;background:var(--color-primary);box-shadow:0 10px 18px #1720332e;font-weight:700}.primary-button:hover{background:var(--color-primary-hover)}.primary-button:active{filter:brightness(.96)}.secondary-button{min-height:40px;padding:0 12px;border-color:var(--color-border-strong);background:var(--color-surface);font-weight:650}.secondary-button.compact{padding:5px 8px;border-radius:var(--radius-sm);font-size:12px}.secondary-button.full{width:100%}.icon-button{width:34px;height:34px;border-radius:11px;border-color:var(--color-border);background:var(--color-surface)}.topbar .icon-button{color:#e2e8f0;border-color:#ffffff1f;background:#ffffff14}.icon-button.ghost{border-color:transparent;background:transparent}.icon-button.danger{color:var(--color-error);border-color:color-mix(in srgb,var(--color-error) 24%,var(--color-border));background:color-mix(in srgb,var(--color-error) 8%,var(--color-surface))}.chip.task-center-trigger,.segmented button,.task-center-tabs button,.log-filters button,.task-card-main,.ocr-item{position:relative;transform:translateY(0) scale(1);transition:transform .16s cubic-bezier(.22,1,.36,1),border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,filter .16s ease;will-change:transform}.primary-button:focus-visible,.secondary-button:focus-visible,.icon-button:focus-visible,.mode-card:focus-visible,.file-item:focus-visible,.chip.task-center-trigger:focus-visible,.segmented button:focus-visible,.task-center-tabs button:focus-visible,.log-filters button:focus-visible,.task-card-main:focus-visible,.ocr-item:focus-visible{outline:3px solid color-mix(in srgb,var(--color-accent) 28%,transparent);outline-offset:2px}@media(hover:hover)and (pointer:fine){.primary-button:not(:disabled):hover,.primary-button:not([aria-disabled=true]):hover{transform:translateY(-1px);box-shadow:0 14px 26px #17203338}.secondary-button:not(:disabled):not([aria-disabled=true]):hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border-strong));background:color-mix(in srgb,var(--color-primary-soft) 58%,var(--color-surface));box-shadow:0 8px 18px #17203317;transform:translateY(-1px)}.icon-button:not(:disabled):hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 62%,var(--color-surface));box-shadow:0 8px 18px #17203317;transform:translateY(-1px)}.topbar .icon-button:not(:disabled):hover,.chip.task-center-trigger:not(:disabled):hover,.chip.ocr-inspector-trigger:not(:disabled):hover{color:#fff;border-color:#93c5fd6b;background:#ffffff26;box-shadow:0 10px 22px #0000002e;transform:translateY(-1px)}.mode-card:not(:disabled):hover{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 28%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 58%,var(--color-surface));box-shadow:0 8px 18px #17203314;transform:translateY(-1px)}.file-row:hover{border-color:color-mix(in srgb,var(--color-primary) 18%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 44%,transparent)}.file-item:not(:disabled):hover{color:var(--color-primary)}.segmented button:not(:disabled):not(.active):hover,.task-center-tabs button:not(:disabled):not(.active):hover,.log-filters button:not(:disabled):not(.active):hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-surface) 72%,var(--color-primary-soft));transform:translateY(-1px)}.task-card:hover{border-color:color-mix(in srgb,var(--color-primary) 22%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 32%,rgba(248,251,255,.82));box-shadow:0 8px 20px #17203312}.ocr-item:not(:disabled):hover{border-color:color-mix(in srgb,var(--color-primary) 24%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 38%,var(--color-surface));box-shadow:0 8px 18px #17203314;transform:translateY(-1px)}}.primary-button:not(:disabled):not([aria-disabled=true]):active,.secondary-button:not(:disabled):not([aria-disabled=true]):active,.icon-button:not(:disabled):active,.mode-card:not(:disabled):active,.file-item:not(:disabled):active,.chip.task-center-trigger:not(:disabled):active,.segmented button:not(:disabled):active,.task-center-tabs button:not(:disabled):active,.log-filters button:not(:disabled):active,.task-card-main:not(:disabled):active,.ocr-item:not(:disabled):active{transform:translateY(1px) scale(.985);transition-duration:.06s}@media(prefers-reduced-motion:reduce){.primary-button,.secondary-button,.icon-button,.mode-card,.file-item,.chip.task-center-trigger,.segmented button,.task-center-tabs button,.log-filters button,.task-card-main,.ocr-item{transform:none!important;transition:none!important}}.project-card,.panel-card,.capability-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-soft);box-shadow:var(--shadow-sm)}.project-card{display:grid;gap:4px;padding:14px;margin-bottom:18px}.project-card span{color:var(--color-text-muted);font-size:13px}.file-list{display:grid;gap:8px}.section-title-row,.select-all-row{display:flex;align-items:center}.section-title-row{justify-content:space-between;gap:8px;margin-bottom:8px}.section-title-row h2{margin-bottom:0}.select-all-row{gap:7px;margin:0 0 8px;color:var(--color-text-muted);font-size:12px}.muted-text{margin:8px 0;color:var(--color-text-muted);font-size:13px;line-height:1.6}.file-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px;border:1px solid transparent;border-radius:13px;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.file-row .icon-button.danger{opacity:0;pointer-events:none;transition:opacity .14s ease,transform .16s cubic-bezier(.22,1,.36,1),border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,filter .16s ease}.file-row:hover .icon-button.danger,.file-row:focus-within .icon-button.danger,.file-row:has(input:checked) .icon-button.danger{opacity:1;pointer-events:auto}.file-row.active{border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border));background:var(--color-primary-soft)}.file-item{justify-content:flex-start;width:100%;min-width:0;min-height:40px;padding:0 10px;color:var(--color-text-muted);background:transparent;text-align:left}.file-item svg{flex:none}.file-item span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-item small{flex:none;color:var(--color-text-subtle);font-size:11px}.file-row.active .file-item{color:var(--color-primary);font-weight:700}.workspace{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:54px minmax(0,1fr);border:1px solid var(--color-border);border-radius:0;background:var(--color-surface);box-shadow:var(--shadow-md)}.empty-workspace{grid-template-rows:minmax(0,1fr);place-items:center;text-align:center;padding:40px}.empty-workspace-content{width:min(620px,100%);display:grid;justify-items:center;align-content:center;gap:14px}.empty-workspace-content h1{margin:0;font-size:28px}.empty-workspace-content p{margin:0;max-width:560px;color:var(--color-text-muted)}.illustration{display:block;justify-self:center;align-self:center;margin-inline:auto;width:min(420px,80%);height:auto}.pdf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.segmented{display:inline-flex;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface-muted)}.segmented button{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border:0;border-radius:10px;background:transparent;color:var(--color-text-muted);cursor:pointer}.segmented button.active{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.page-indicator{min-width:0;max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.page-jump{display:inline-flex;align-items:center;gap:6px;color:var(--color-text-muted);font-size:13px;white-space:nowrap}.page-jump input{width:58px;height:32px;padding:4px 6px;text-align:center;color:var(--color-text);border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface)}.pdf-dual-view{height:100%;min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:12px;padding:12px;background:linear-gradient(90deg,rgba(23,32,51,.03) 1px,transparent 1px),linear-gradient(rgba(23,32,51,.03) 1px,transparent 1px),#e8eef7;background-size:24px 24px}.pdf-pane header{margin-bottom:8px;text-align:left;color:var(--color-text-muted);font-weight:700;font-size:12px}.pdf-pane{min-width:0;min-height:0;overflow:hidden;display:grid;grid-template-rows:auto minmax(0,1fr);padding:10px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#ffffffb8}.rendered-page,.translated-preview{position:relative;margin:0 auto;background:#fff;border:1px solid #d8e1ed;border-radius:12px;box-shadow:0 12px 28px #1720331f;overflow:hidden}.rendered-page{align-self:stretch;justify-self:center;width:auto;max-width:100%;height:100%;max-height:100%}.rendered-page img{display:block;width:100%;height:100%;object-fit:contain}.native-pdf-frame{display:block;width:100%;height:100%;border:0;background:#fff}.translated-preview{width:100%;min-height:0;height:100%;background:var(--color-surface)}.translated-preview iframe{width:100%;height:100%;border:0;background:#fff}.preview-state{min-height:0;height:100%;display:grid;place-items:center;align-content:center;gap:10px;padding:34px;text-align:center;color:var(--color-text-muted)}.preview-flow{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:10px}.preview-flow span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--color-border);border-radius:999px;color:var(--color-text-muted);background:var(--color-surface-soft);font-size:12px}.preview-flow span.active{color:#fff;border-color:var(--color-primary);background:var(--color-primary)}.preview-state strong{color:var(--color-text)}.preview-failed svg{color:var(--color-error)}.paper-page{position:relative;width:min(100%,560px);min-height:720px;margin:0 auto;padding:42px 44px;background:#fff;color:#20242d;box-shadow:var(--shadow-md)}.paper-page-number{position:absolute;top:18px;right:28px;font-family:Georgia,serif}.figure-card{position:relative;height:280px;border:1px solid #d5dde8;border-radius:10px;background:linear-gradient(90deg,rgba(6,182,212,.15),transparent 45%),linear-gradient(180deg,rgba(79,70,229,.08),transparent);overflow:hidden}.figure-block{position:absolute;left:58%;top:30%;padding:8px 12px;border-radius:8px;background:#06b6d42e;border:1px solid rgba(6,182,212,.45);font-weight:700}.figure-block.large{left:7%;top:10%;font-size:18px}.figure-block.small{left:70%;top:8%;background:#f59e0b29;border-color:#f59e0b73}.ocr-box{position:absolute;border:2px solid var(--color-success);background:color-mix(in srgb,var(--color-success) 12%,transparent)}.ocr-box.medium{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 14%,transparent)}.ocr-box.low{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 14%,transparent)}.translated-label{position:absolute;padding:5px 8px;border-radius:5px;background:#fff;color:#111827;font-weight:700;box-shadow:0 0 0 1px #e5e7eb}.label-a{left:7%;top:10%}.label-b{left:58%;top:30%}.label-c{left:70%;top:8%}.paper-text,.paper-columns{font-size:12px;line-height:1.7}.paper-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel-card{padding:14px;margin-bottom:12px;border-radius:var(--radius-lg);background:var(--color-surface-soft)}.inspector-group{margin-bottom:10px;padding:0;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-soft);overflow:hidden}.inspector-group summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;cursor:pointer;color:var(--color-text);background:var(--color-surface);border-bottom:1px solid transparent;font-size:13px;font-weight:750;list-style:none}.inspector-group summary::-webkit-details-marker{display:none}.inspector-group summary:after{content:"⌄";color:var(--color-text-subtle);font-size:13px}.inspector-group:not([open]) summary:after{content:"›"}.inspector-group[open] summary{border-bottom-color:var(--color-border)}.inspector-group>:not(summary){margin:10px 12px}.compact-fields.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:0}.metric-strip{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.metric-strip span{display:inline-flex;min-height:24px;align-items:center;padding:0 8px;border-radius:999px;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);font-size:11px}.token-summary{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:9px;padding:9px;border:1px solid var(--color-border);border-radius:12px;background:color-mix(in srgb,var(--color-primary-soft) 48%,var(--color-surface))}.token-summary div:not(.token-page-list){display:grid;gap:2px}.token-summary span,.token-summary small,.price-hint{color:var(--color-text-muted);font-size:11px;line-height:1.35}.token-summary strong{font-size:13px}.token-summary>small,.token-page-list{grid-column:1 / -1}.token-page-list{display:grid;gap:4px;max-height:96px;overflow:auto;padding-top:4px}.token-page-list span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.price-hint{margin:-2px 0 10px}.field-label{display:grid;gap:6px;margin-bottom:10px;color:var(--color-text-muted);font-size:13px}.field-label input,.field-label select{width:100%;min-height:36px;padding:7px 9px;color:var(--color-text);border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface)}.field-label.inline-check{display:flex;align-items:center;color:var(--color-text)}.field-label.inline-check input{width:auto;min-height:auto}.output-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px}.output-options .field-label{min-height:36px;margin:0;padding:8px 9px;border:1px solid var(--color-border);border-radius:11px;background:var(--color-surface-soft);font-size:12px}.setting-grid{display:grid;grid-template-columns:92px minmax(0,1fr);gap:9px 10px;font-size:13px}.setting-grid span,.ocr-summary,.ocr-item small{color:var(--color-text-muted)}.setting-grid strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mode-cards{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.mode-card{justify-content:flex-start;padding:10px;border-color:var(--color-border);background:var(--color-surface)}.inspector-group .mode-cards{gap:8px;margin-top:10px}.inspector-group .mode-card{min-width:0;min-height:40px;padding:7px 8px;gap:5px;border-radius:10px;font-size:11px;font-weight:600;line-height:1;text-align:left;white-space:nowrap}.inspector-group .mode-card svg{flex:none;width:14px;height:14px}.mode-card.active{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));background:var(--color-primary-soft)}.ocr-results{max-height:340px;overflow:hidden}.ocr-summary{display:flex;justify-content:space-between;margin-bottom:8px;font-size:13px}.ocr-list{display:grid;gap:7px;max-height:240px;overflow:auto}.ocr-item{display:grid;gap:3px;padding:8px;border:1px solid var(--color-border);border-radius:13px;background:var(--color-surface);text-align:left;cursor:pointer}.current-task-brief,.current-task-empty{display:grid;gap:4px;margin-bottom:10px}.current-task-brief strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.current-task-brief span,.current-task-empty span{color:var(--color-text-muted);font-size:12px;line-height:1.45}.current-task-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.current-task-actions .primary-button,.current-task-actions .secondary-button{min-height:32px;padding:0 9px;border-radius:10px;font-size:11px;font-weight:600;line-height:1}.current-task-actions .primary-button svg,.current-task-actions .secondary-button svg{width:14px;height:14px}.primary-button.compact{min-height:32px;padding:5px 10px;border-radius:var(--radius-sm);font-size:12px}.danger-text{color:var(--color-error)}.secondary-button.active{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border));background:var(--color-primary-soft)}.topbar-status.status-failed .status-dot{background:var(--color-error);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-error) 20%,transparent)}.topbar-status.status-running .status-dot{background:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent)}.task-center-trigger.failed{color:#fecaca;border-color:#f8717159;background:#7f1d1d3d}.task-center-trigger.running{border-color:#60a5fa6b;background:#2563eb38}.task-center-trigger{cursor:pointer;font-weight:750}.task-center-trigger.active,.task-center-trigger.queued,.task-center-trigger.completed{border-color:#93c5fd52;background:#ffffff1f}.ocr-inspector-trigger.active{color:#fff;border-color:#60a5fa73;background:#2563eb3d}.stage-badge{display:inline-flex;justify-content:center;padding:5px 8px;border-radius:999px;font-size:12px;color:var(--color-text-muted);background:var(--color-surface-soft);font-weight:650;white-space:nowrap}.stage-loading_model,.stage-parsing_pdf,.stage-extracting_images{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.stage-running_ocr{color:#0891b2;background:#ecfeff;border:1px solid #a5f3fc}.stage-detecting_layout,.stage-rebuilding_pdf,.stage-saving{color:#1f3a5f;background:#e8eef8;border:1px solid #c4cfdd}.stage-translating{color:#6d28d9;background:#f5f3ff;border:1px solid #ddd6fe}.stage-completed{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.stage-failed{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.stage-paused{color:#b45309;background:#fff7ed;border:1px solid #fed7aa}.stage-queued,.stage-cancelled,.stage-idle{color:#607086;background:#f7f9fc;border:1px solid var(--color-border)}.progress-track{height:8px;border-radius:999px;background:var(--color-surface-soft);overflow:hidden}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.rendered-page.loading:after{content:"";position:absolute;inset:0;border-radius:inherit;background:#f8fbff5c;pointer-events:none}.page-loading-indicator{position:absolute;left:50%;bottom:14px;z-index:3;padding:7px 11px;border:1px solid #c9d6e6;border-radius:999px;color:var(--color-primary);background:#ffffffeb;box-shadow:var(--shadow-sm);font-size:12px;font-weight:700;transform:translate(-50%)}.empty-task{padding:20px 14px;color:var(--color-text-muted)}.task-center-backdrop{position:fixed;inset:0;z-index:78;border:0;background:transparent;cursor:default}.modal-backdrop{position:fixed;inset:0;z-index:88;border:0;background:#0f172a38;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.network-pdf-dialog{position:fixed;left:50%;top:50%;z-index:90;width:min(520px,calc(100vw - 32px));display:grid;gap:14px;padding:18px;border:1px solid #d7e1ee;border-radius:20px;background:#fffffff7;box-shadow:0 28px 70px #0f172a38;transform:translate(-50%,-50%)}.network-pdf-dialog header,.network-pdf-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.network-pdf-dialog header>div{min-width:0;display:grid;gap:4px}.network-pdf-dialog header strong{color:var(--color-text);font-size:17px}.network-pdf-dialog header span,.network-pdf-dialog p{color:var(--color-text-muted);font-size:13px;line-height:1.55}.network-pdf-dialog p{margin:-4px 0 0}.network-pdf-dialog footer{justify-content:flex-end;flex-wrap:wrap}.upload-progress-panel{position:fixed;right:16px;bottom:72px;z-index:86;width:min(460px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 140px));display:grid;gap:12px;padding:14px;border:1px solid #cbd8e8;border-radius:18px;background:#fffffff0;box-shadow:0 24px 60px #0f172a38;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.upload-progress-panel.minimized{width:auto;padding:0;border-radius:999px;overflow:hidden}.upload-progress-panel.minimized button{min-height:42px;padding:0 16px;border:0;color:var(--color-primary);background:transparent;font-weight:800}.upload-progress-panel header,.upload-total-progress,.upload-file-row{display:flex;align-items:center}.upload-progress-panel header{justify-content:space-between;gap:12px}.upload-progress-panel header>div:first-child{min-width:0;display:grid;gap:3px}.upload-progress-panel header strong{color:var(--color-text);font-size:15px}.upload-progress-panel header span{color:var(--color-text-muted);font-size:12px}.upload-panel-actions{flex:none;display:flex;align-items:center;gap:8px}.upload-total-progress{gap:10px}.upload-total-progress .progress-track{flex:1}.upload-total-progress strong{min-width:42px;color:var(--color-primary);text-align:right;font-size:13px}.upload-file-list{min-height:0;max-height:340px;display:grid;gap:8px;overflow-y:auto;padding-right:2px}.upload-file-row{display:grid;grid-template-columns:minmax(0,1fr) 112px 38px;gap:10px;padding:9px 10px;border:1px solid #d9e3ef;border-radius:12px;background:#f9fbfe}.upload-file-row>div:first-child{min-width:0;display:grid;gap:2px}.upload-file-row strong,.upload-file-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-file-row strong{color:var(--color-text);font-size:13px}.upload-file-row span,.upload-file-row small{color:var(--color-text-muted);font-size:11px}.upload-file-row small{text-align:right;font-weight:700}.upload-file-row.status-completed .progress-track span{background:var(--color-success)}.upload-file-row.status-failed{border-color:#fecaca;background:#fff5f5}.upload-file-row.status-failed .progress-track span{background:var(--color-error)}.upload-failures{display:grid;gap:4px;padding:9px 10px;border:1px solid #fecaca;border-radius:12px;color:#b42318;background:#fff5f5;font-size:12px}.ocr-inspector-backdrop{position:fixed;inset:0;z-index:81;border:0;background:transparent;cursor:default}.ocr-inspector-popover{position:fixed;top:76px;right:20px;z-index:82;width:min(900px,calc(100vw - 40px));height:min(720px,calc(100vh - 110px));min-height:470px;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #d7e1ee;border-radius:20px;background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 28px 70px #0f172a33;overflow:hidden}.ocr-inspector-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 16px 12px;border-bottom:1px solid var(--color-border)}.ocr-inspector-header>div:first-child{min-width:0;display:grid;gap:3px}.ocr-inspector-header strong{color:var(--color-text);font-size:16px}.ocr-inspector-header span{min-width:0;color:var(--color-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-inspector-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;justify-content:flex-end}.ocr-page-counter{min-width:62px;color:var(--color-text-muted);font-size:12px;text-align:center}.ocr-inspector-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px 16px;border-bottom:1px solid var(--color-border);background:color-mix(in srgb,var(--color-primary-soft) 42%,var(--color-surface))}.ocr-inspector-summary span{display:inline-flex;align-items:center;gap:5px;min-height:24px;padding:0 8px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);font-size:12px}.ocr-inspector-summary strong{color:var(--color-text)}.ocr-inspector-body{min-height:0;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr)}.ocr-image-panel{min-width:0;min-height:0;display:grid;place-items:center;padding:16px;border-right:1px solid var(--color-border);background:linear-gradient(90deg,rgba(215,224,236,.34) 1px,transparent 1px),linear-gradient(180deg,rgba(215,224,236,.34) 1px,transparent 1px),#eef3f8;background-size:28px 28px;overflow:auto}.ocr-image-frame{position:relative;width:min(100%,520px);max-height:100%;border:1px solid var(--color-border);border-radius:14px;background:#fff;box-shadow:0 18px 44px #0f172a1f;overflow:hidden}.ocr-image-frame.figure-frame{width:min(100%,660px);max-height:100%}.ocr-image-frame img{display:block;width:100%;height:100%;object-fit:contain}.ocr-inspector-box{position:absolute;padding:0;border:2px solid var(--color-success);border-radius:3px;background:color-mix(in srgb,var(--color-success) 10%,transparent);color:#fff;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.ocr-inspector-box.medium{border-color:var(--color-warning);background:color-mix(in srgb,var(--color-warning) 13%,transparent)}.ocr-inspector-box.low{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error) 13%,transparent)}.ocr-inspector-box:hover,.ocr-inspector-box.selected{z-index:2;border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 18%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-accent) 22%,transparent)}.ocr-inspector-box.selected{z-index:3;transform:scale(1.02)}.ocr-inspector-box span{position:absolute;left:-1px;top:-18px;min-width:18px;height:18px;display:inline-grid;place-items:center;padding:0 4px;border-radius:6px 6px 6px 0;background:var(--color-accent);color:#fff;font-size:10px;font-weight:800;line-height:1;opacity:0;transform:translateY(3px);transition:opacity .14s ease,transform .14s ease}.ocr-inspector-box:hover span,.ocr-inspector-box.selected span{opacity:1;transform:translateY(0)}.ocr-image-empty{position:absolute;inset:0;display:grid;place-content:center;justify-items:center;gap:8px;padding:28px;color:var(--color-text-muted);text-align:center;background:#ffffffe0}.ocr-image-empty strong{color:var(--color-text);font-size:16px}.ocr-image-empty span{max-width:300px;line-height:1.55}.ocr-result-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);background:#f8fbffeb}.ocr-image-selector{display:flex;align-items:center;gap:6px;padding:10px 12px;border-bottom:1px solid var(--color-border);overflow-x:auto}.ocr-image-selector button,.ocr-image-selector>span{flex:none;min-height:30px;display:inline-flex;align-items:center;gap:6px;padding:0 9px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-muted);font-size:12px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.ocr-image-selector>span{cursor:default}.ocr-image-selector button:hover,.ocr-image-selector button.active{color:var(--color-primary);border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));background:var(--color-primary-soft);box-shadow:0 8px 18px #17203314}.ocr-image-selector button span{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;background:var(--color-surface-muted);color:var(--color-text-muted);font-size:11px}.ocr-image-selector button.active span{background:var(--color-surface);color:var(--color-primary)}.ocr-selected-card{display:grid;gap:9px;padding:14px;border-bottom:1px solid var(--color-border);background:var(--color-surface)}.ocr-selected-card>span{color:var(--color-text-muted);font-size:12px}.ocr-selected-card strong{max-height:88px;overflow:auto;color:var(--color-text);font-size:14px;line-height:1.5}.ocr-selected-card dl{display:grid;grid-template-columns:70px minmax(0,1fr);gap:6px 8px;margin:0;font-size:12px}.ocr-selected-card dt{color:var(--color-text-muted)}.ocr-selected-card dd{min-width:0;margin:0;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ocr-result-list{min-height:0;display:grid;align-content:start;gap:8px;padding:12px;overflow:auto}.ocr-result-row{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px;padding:9px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);color:var(--color-text);text-align:left;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.22,1,.36,1)}.ocr-result-row:hover,.ocr-result-row.active{border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 60%,var(--color-surface));box-shadow:0 8px 18px #17203314}.ocr-result-row>span{grid-row:span 2;min-width:28px;height:24px;display:inline-grid;place-items:center;border-radius:8px;color:var(--color-primary);background:var(--color-primary-soft);font-size:11px;font-weight:800}.ocr-result-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.ocr-result-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted)}.ocr-result-empty{min-height:260px;display:grid;place-content:center;gap:6px;color:var(--color-text-muted);text-align:center}.ocr-result-empty strong{color:var(--color-text)}.task-center-popover{position:fixed;top:76px;right:20px;z-index:80;width:620px;height:min(720px,calc(100vh - 110px));min-height:420px;display:grid;grid-template-rows:auto auto minmax(0,1fr);border:1px solid #d7e1ee;border-radius:20px;background:#fffffff5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 28px 70px #0f172a33;overflow:hidden}.task-center-popover.pinned{border-color:color-mix(in srgb,var(--color-primary) 28%,#d7e1ee)}.task-center-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--color-border)}.task-center-header>div:first-child{min-width:0;display:grid;gap:3px}.task-center-header strong{color:var(--color-text);font-size:16px}.task-center-header span{min-width:0;color:var(--color-text-muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-center-header-actions,.task-card-actions,.log-actions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}.task-center-tabs,.log-filters{display:flex;align-items:center;gap:4px;padding:4px;border:1px solid var(--color-border);border-radius:13px;background:#f2f6fbc7}.task-center-tabs{margin:12px 16px}.task-center-tabs button,.log-filters button{min-height:30px;padding:0 11px;border:0;border-radius:9px;color:var(--color-text-muted);background:transparent;font-weight:700;cursor:pointer}.task-center-tabs button.active,.log-filters button.active{color:var(--color-primary);background:var(--color-surface);box-shadow:var(--shadow-sm)}.task-center-body{min-height:0;overflow:auto;padding:0 16px 16px}.task-center-list{display:grid;align-content:start;gap:10px}.task-card{display:grid;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:16px;background:#f8fbffd1;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}.task-card.active{border-color:color-mix(in srgb,var(--color-primary) 30%,var(--color-border));background:color-mix(in srgb,var(--color-primary-soft) 54%,var(--color-surface))}.task-card-main{display:grid;gap:8px;padding:0;border:0;color:var(--color-text);background:transparent;text-align:left;cursor:pointer}.task-card-title{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:10px}.task-card-title strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-stage,.task-card-meta{color:var(--color-text-muted);font-size:12px}.task-card-meta{display:grid;grid-template-columns:auto 1fr 1fr auto;gap:8px;align-items:center}.task-card-meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-card-meta strong{color:var(--color-text)}.task-card-cost{display:flex;flex-wrap:wrap;gap:6px;color:var(--color-text-muted);font-size:11px}.task-card-cost span{display:inline-flex;align-items:center;min-height:22px;padding:0 7px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface)}.task-center-empty{min-height:320px;display:grid;place-items:center;align-content:center;gap:10px;color:var(--color-text-muted);text-align:center}.task-center-empty.compact{min-height:260px}.task-center-empty strong{color:var(--color-text);font-size:16px}.task-center-empty p{max-width:340px;margin:0;line-height:1.6}.task-center-empty>span{color:var(--color-text-subtle);font-size:12px}.empty-icon{width:58px;height:58px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:18px;color:var(--color-primary);background:var(--color-primary-soft)}.task-log-tab{min-height:0;height:100%;display:grid;grid-template-rows:auto minmax(0,1fr);gap:10px}.log-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.task-center-log-list{min-height:0;max-height:calc(100vh - 270px);overflow:auto;padding:8px 0;border:1px solid var(--color-border);border-radius:14px;background:#0f172a;color:#e2e8f0;font-family:JetBrains Mono,Consolas,monospace;font-size:12px}.log-line{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:6px 12px;line-height:1.45}.log-line span:first-child{color:#94a3b8}.log-repeat{display:inline-flex;align-items:center;margin-left:8px;padding:1px 6px;border:1px solid rgba(148,163,184,.28);border-radius:999px;color:#cbd5e1;background:#94a3b824;font-size:11px;font-weight:700}.log-success{color:#86efac}.log-warning{color:#fde68a}.log-error{color:#fecaca;background:#7f1d1d33}.log-debug{color:#cbd5e1}.failed-task-card,.output-file-card{display:grid;gap:7px;padding:12px;border:1px solid var(--color-border);border-radius:14px;color:var(--color-text);background:#ffffffb8;text-decoration:none}.failed-task-card p{margin:0;color:var(--color-error);font-size:13px}.failed-task-card span,.output-file-card span,.output-file-card small{color:var(--color-text-muted);font-size:12px}.failed-page-list{display:flex;flex-wrap:wrap;gap:6px}.failed-page-list span{padding:4px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-error) 9%,var(--color-surface))}.output-file-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.output-file-card{align-content:start;min-height:112px}.output-file-card[aria-disabled=true],.secondary-button[aria-disabled=true]{pointer-events:none;opacity:.52}.toast-stack{position:fixed;right:18px;top:72px;display:grid;align-content:start;gap:10px;z-index:50;pointer-events:none}.toast{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;width:360px;padding:12px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);box-shadow:var(--shadow-lg);pointer-events:auto}.toast p{margin:4px 0 0;color:var(--color-text-muted);font-size:13px}.toast-success>svg{color:var(--color-success)}.toast-warning>svg{color:var(--color-warning)}.toast-error>svg{color:var(--color-error)}#codex-browser-sidebar-comments-root{display:none!important;pointer-events:none!important}.home-shell,.simple-page{min-height:100vh;background:var(--color-bg)}.home-nav{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 44px}.home-nav a{margin-left:18px;color:var(--color-text-muted);text-decoration:none}.home-main{width:min(1120px,calc(100% - 48px));margin:0 auto}.home-hero{display:grid;grid-template-columns:minmax(0,1fr) 420px;align-items:center;gap:44px;padding:54px 0 34px}.home-hero h1{margin:0 0 14px;font-size:56px;line-height:1.08}.home-hero p{max-width:620px;color:var(--color-text-muted);font-size:18px;line-height:1.7}.capability-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.capability-card{display:grid;gap:8px;padding:16px}.capability-card svg{color:var(--color-primary)}.capability-card span{color:var(--color-text-muted);font-size:13px;line-height:1.6}.simple-page{padding:44px}.simple-page h1{margin-top:28px}@media(max-width:1220px){.workspace-layout{grid-template-columns:220px minmax(520px,1fr) 300px;gap:0}.topbar{grid-template-columns:260px minmax(0,1fr) auto;gap:10px}.chip{max-width:220px}.task-center-popover{width:560px}.ocr-inspector-popover{width:min(820px,calc(100vw - 40px))}.sidebar-actions .secondary-button,.project-card,.sidebar h2{display:none}}@media(max-width:1040px){.workspace-layout{grid-template-columns:72px minmax(520px,1fr) 300px}.topbar{grid-template-columns:220px minmax(0,1fr) auto}.brand span{display:none}.chip:not(.task-center-trigger):not(.ocr-inspector-trigger){max-width:150px}.file-item span{display:none}}@media(max-width:860px){.task-center-popover,.ocr-inspector-popover{left:12px;right:12px;width:auto;height:calc(100vh - 100px)}.ocr-inspector-body{grid-template-columns:1fr;grid-template-rows:minmax(240px,1fr) minmax(220px,.8fr)}.ocr-image-panel{border-right:0;border-bottom:1px solid var(--color-border)}.task-center-header,.ocr-inspector-header{align-items:flex-start}.ocr-inspector-actions{max-width:310px}.task-center-header-actions{max-width:240px}.task-card-meta{grid-template-columns:1fr 1fr}.log-toolbar{align-items:stretch}}
