:root{--font-ui:"Kaiti SC","STKaiti","KaiTi","BiauKai",serif;--font-reading:"Kaiti SC","STKaiti","KaiTi","BiauKai",serif;--font-data:"Kaiti SC","STKaiti","KaiTi","BiauKai",serif;--bg:#f3f5f8;--surface:#ffffff;--surface-soft:#eef2f6;--surface-muted:#e3e7ec;--surface-strong:#d5dbe3;--ink:#12161c;--muted:#57606d;--line:#d8dde6;--line-strong:#bcc5d1;--accent:#0f1723;--accent-soft:#dde4ee;--success:#215f41;--danger:#8f2f2f;--shadow:0 16px 40px rgba(17,25,40,0.08)}*{box-sizing:border-box}body,html{height:100%;background:var(--bg);overflow:hidden}body{margin:0;min-height:100%;color:var(--ink);font-family:var(--font-ui)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}button,input,select,textarea{font:inherit}code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.review-app-shell{height:100dvh;width:100%;overflow:hidden}.review-workspace{min-width:0;height:100%;display:grid;grid-template-rows:56px minmax(0,1fr);background:var(--bg)}.review-topbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:0 18px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.topbar-group{min-width:0;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.product-name{flex:0 0 auto;font-size:17px;font-weight:700;letter-spacing:-.02em}.report-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:var(--muted)}.topbar-group-actions{justify-content:flex-end}.lang-toggle{display:inline-flex;gap:6px;padding:4px;border-radius:12px;border:1px solid var(--line);background:var(--surface-soft)}.lang-button{display:inline-flex;align-items:center;justify-content:center;min-width:92px;padding:8px 12px;border-radius:9px;font-size:12px;font-weight:600;color:var(--muted)}.lang-button.is-active{background:var(--accent);color:#ffffff}.action-group{display:inline-flex;align-items:center;gap:8px}.action-button{appearance:none;border:0;border-radius:10px;padding:10px 14px;background:var(--accent);color:#ffffff;font-size:12px;font-weight:700;cursor:pointer}.action-button-secondary{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.action-button:disabled{cursor:wait;opacity:.8}.action-feedback{margin:0;font-size:12px;color:var(--muted)}.review-split-pane{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.review-split-pane,.viewer-pane{height:100%;min-height:0;display:grid}.viewer-pane{min-width:0;grid-template-rows:auto minmax(0,1fr)}.viewer-pane-pdf{border-right:1px solid var(--line);background:#edf1f5}.viewer-pane-report{background:#fcfdff}.viewer-pane-head{display:flex;justify-content:flex-start;align-items:center;height:48px;padding:8px 22px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.viewer-pane-head h2{margin:0;font-size:15px;line-height:1.15;letter-spacing:-.02em;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden;max-width:100%}.viewer-pane-head-report{background:rgba(255,255,255,.92)}.viewer-pane-head-minimal{height:48px;padding-top:8px;padding-bottom:8px}.viewer-scroll{height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y;scrollbar-gutter:stable both-edges;scrollbar-width:thin;scrollbar-color:rgba(63,73,84,.55) rgba(210,217,226,.55);padding:18px 22px 32px}.viewer-scroll::-webkit-scrollbar{width:12px}.viewer-scroll::-webkit-scrollbar-track{border-left:1px solid rgba(216,221,230,.82);background:rgba(232,237,243,.72)}.viewer-scroll::-webkit-scrollbar-thumb{border-radius:999px;border:2px solid rgba(232,237,243,.92);background:rgba(63,73,84,.55);background-clip:padding-box}.viewer-scroll::-webkit-scrollbar-thumb:hover{background:rgba(40,49,61,.72);background-clip:padding-box}.pdf-stack{width:min(100%,860px);margin:0 auto;display:grid;gap:18px}.pdf-sheet{margin:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:var(--shadow)}.pdf-page-image{width:100%;height:auto;border-radius:8px;border:1px solid var(--line-strong);background:#ffffff}.report-column{width:min(100%,980px);margin:0 auto;display:block}.report-summary{max-width:66ch;margin:0 auto 36px;padding:0 0 24px;border-bottom:1px solid rgba(216,221,230,.9)}.report-section-label{margin:0 0 16px;font-family:var(--font-ui);font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.report-summary-title{margin:0 0 18px;font-family:var(--font-reading);font-size:34px;line-height:1.18;letter-spacing:-.02em;color:var(--ink)}.report-summary .report-section-label{margin:0 0 18px}.report-summary-focus{margin:0;font-family:var(--font-reading);font-size:17px;line-height:1.62;color:var(--ink)}.report-summary-body{display:grid;gap:16px;margin-top:24px}.report-summary-body p{margin:0;font-family:var(--font-reading);font-size:16px;line-height:1.72;color:var(--ink)}.report-main{max-width:66ch;margin:0 auto 22px}.report-flow{max-width:66ch;margin:0 auto;display:grid;gap:18px}.report-flow-continuous{padding-bottom:6px}.report-flow>.content-heading:not(:first-child){padding-top:12px}.content-block{margin:0}.content-block li,.content-block p,.content-block td{margin:0;font-family:var(--font-reading);font-size:15.5px;line-height:1.62;color:var(--ink);white-space:pre-wrap}.content-heading h1,.content-heading h2,.content-heading h3,.content-heading h4{margin:0;font-family:var(--font-reading);font-weight:600;letter-spacing:-.03em;color:var(--ink)}.content-heading h1{font-size:26px;line-height:1.1}.content-heading h2{font-size:24px;line-height:1.18}.content-heading h3{font-size:21px;line-height:1.2}.content-heading h4{font-size:18px;line-height:1.22}.content-caption p{font-family:var(--font-data);font-size:11px;line-height:1.45;color:var(--muted)}.content-image{display:grid;gap:8px;margin:10px 0 8px}.content-image img{width:100%;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.content-image figcaption{font-family:var(--font-data);font-size:11px;line-height:1.45;color:var(--muted)}.crop-frame{position:relative;overflow:hidden;width:100%;aspect-ratio:4/3;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.crop-image{position:absolute;top:0;left:0;max-width:none;transform-origin:top left}.content-formula pre{margin:0;overflow-x:auto;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#f5f7fa;color:var(--ink);font-size:12px;line-height:1.55}.content-list{margin:0;padding-left:22px;display:grid;gap:6px}.table-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:14px}.content-table table{width:100%;min-width:560px;border-collapse:collapse;background:var(--surface)}.content-table-html{display:grid;gap:10px}.content-table .ocr-html-table{width:100%;min-width:560px;border-collapse:collapse;background:var(--surface)}.content-table .ocr-html-table td,.content-table .ocr-html-table th,.content-table td,.content-table th{padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;font-family:var(--font-data);font-size:12px;line-height:1.45}.content-table .ocr-html-table th,.content-table th{font-weight:700;text-align:left;background:#f4f6f9}.content-table .ocr-html-table tr:last-child td,.content-table .ocr-html-table tr:last-child th,.content-table tr:last-child td,.content-table tr:last-child th{border-bottom:0}.content-table .ocr-html-table td:last-child,.content-table .ocr-html-table th:last-child,.content-table td:last-child,.content-table th:last-child{border-right:0}.setup-screen{min-height:100svh;display:grid;place-items:center;padding:24px;background:linear-gradient(180deg,#eef3f8,#f7f9fc)}.setup-panel{width:min(920px,100%);padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--surface);box-shadow:var(--shadow)}.setup-eyebrow{margin:0 0 10px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.setup-panel h1{margin:0;font-size:34px;letter-spacing:-.03em}.setup-copy{margin:12px 0 0;max-width:680px;font-size:15px;line-height:1.6;color:var(--muted)}.setup-grid{margin-top:24px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.setup-grid-single{grid-template-columns:minmax(0,1fr)}.setup-card{min-width:0;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fafcff}.setup-card-error{border-color:rgba(143,47,47,.26);background:rgba(255,246,246,.88)}.setup-label{margin:0 0 8px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.setup-value{margin:0;font-size:14px;line-height:1.55;word-break:break-word}.processing-percent{font-size:28px;line-height:1.1;font-weight:700;color:var(--ink)}.processing-stage{margin-top:6px;color:var(--muted)}.processing-progress{margin-top:14px;height:10px;border-radius:999px;background:rgba(216,221,230,.8);overflow:hidden}.processing-progress-bar{height:100%;border-radius:inherit;background:linear-gradient(90deg,#111721,#334155)}.setup-code{margin:24px 0 0;overflow-x:auto;padding:18px 20px;border-radius:16px;background:#111721;color:#edf3fb;line-height:1.7}.processing-actions{margin-top:20px;display:flex;gap:12px}.product-name-link{cursor:pointer}.library-shell{height:100dvh;min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr);overflow:hidden;background:linear-gradient(180deg,#f4f6f9,#eef2f7)}.library-sidebar{min-width:0;min-height:0;padding:28px 20px 24px;border-right:1px solid var(--line);background:rgba(255,255,255,.82);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow-y:auto}.library-sidebar-head,.upload-card h1{margin:0}.library-sidebar-head{display:grid;gap:6px}.library-brand,.library-nav-label,.upload-card h1{margin:0;font-family:var(--font-reading);color:var(--ink)}.library-brand{font-size:38px;line-height:1.08;letter-spacing:-.03em;font-weight:700}.library-nav-label{font-size:14px;line-height:1.4;color:var(--muted)}.upload-card h1{font-size:32px;line-height:1.12;letter-spacing:-.02em}.library-copy,.upload-copy{margin:14px 0 0;font-size:14px;line-height:1.62;color:var(--muted)}.history-list{margin-top:24px;display:grid;gap:12px}.history-card{display:grid;gap:8px;padding:16px 16px 14px;border:1px solid rgba(188,197,209,.86);border-radius:16px;background:rgba(255,255,255,.92);transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease}.history-card:hover{border-color:rgba(83,97,118,.48);transform:translateY(-1px);box-shadow:0 12px 28px rgba(17,25,40,.08)}.history-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.history-file,.history-progress,.history-time,.history-title{margin:0}.history-title-link{min-width:0}.history-title{font-size:16px;line-height:1.4;color:var(--ink)}.history-file,.history-meta,.history-progress,.history-time{font-size:12px;line-height:1.5;color:var(--muted)}.history-meta{display:flex;gap:10px;flex-wrap:wrap}.history-progress-track{position:relative;width:100%;height:7px;overflow:hidden;border-radius:999px;background:rgba(188,197,209,.34)}.history-progress-fill{height:100%;border-radius:inherit;background:var(--accent);transition:width .24s ease}.history-progress-fill-ready{background:var(--success)}.history-progress-fill-processing{background:linear-gradient(90deg,#1f2937,#445063)}.history-progress-fill-failed{background:var(--danger)}.history-progress-fill-canceled{background:rgba(118,127,140,.86)}.history-status{display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.02em}.history-status-ready{background:rgba(33,95,65,.1);color:var(--success)}.history-status-processing{background:rgba(15,23,35,.08);color:var(--accent)}.history-status-failed{background:rgba(143,47,47,.12);color:var(--danger)}.history-status-canceled{background:rgba(118,127,140,.14);color:#5a6472}.history-card-actions{display:flex;gap:8px;flex-wrap:wrap}.history-action-button,.upload-queue-cancel{appearance:none;border:1px solid rgba(188,197,209,.86);border-radius:999px;padding:6px 10px;background:#ffffff;color:var(--ink);font-size:11px;font-weight:700;cursor:pointer}.history-action-button:disabled,.upload-queue-cancel:disabled{cursor:wait;opacity:.6}.history-action-button-secondary{background:rgba(15,23,35,.06)}.library-main{min-width:0;min-height:0;padding:40px;overflow-y:auto;display:grid;align-content:start;justify-items:center}.upload-panel{width:min(560px,100%)}.upload-card{padding:28px 30px;border:1px solid rgba(188,197,209,.86);border-radius:24px;background:rgba(255,255,255,.9);box-shadow:0 18px 38px rgba(17,25,40,.06)}.upload-dropzone{margin-top:20px;display:grid;gap:10px;padding:32px 24px;border:1px dashed rgba(83,97,118,.46);border-radius:20px;background:linear-gradient(180deg,rgba(241,245,249,.76),rgba(255,255,255,.96));cursor:pointer;text-align:center}.upload-dropzone-title{font-size:20px;font-weight:700;color:var(--ink)}.upload-dropzone-copy{font-size:13px;line-height:1.55;color:var(--muted)}.upload-input{margin-top:2px}.upload-actions{margin-top:18px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.upload-submit{min-width:144px}.upload-queue{margin-top:24px;padding-top:20px;border-top:1px solid rgba(188,197,209,.6)}.upload-queue-copy,.upload-queue-head,.upload-queue-item-file,.upload-queue-item-progress,.upload-queue-item-title,.upload-queue-stage,.upload-queue-title{margin:0}.upload-queue-head{display:grid;gap:4px}.upload-queue-title{font-size:18px;line-height:1.3;color:var(--ink)}.upload-queue-copy{font-size:12px;line-height:1.55;color:var(--muted)}.upload-queue-list{margin-top:14px;display:grid;gap:10px}.upload-queue-item{display:grid;gap:7px;padding:14px 14px 12px;border:1px solid rgba(188,197,209,.72);border-radius:16px;background:rgba(247,249,252,.92)}.upload-queue-item-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.upload-queue-item-actions{display:flex;align-items:center;gap:8px}.upload-queue-item-title{font-size:14px;line-height:1.45;color:var(--ink)}.upload-queue-item-file,.upload-queue-item-progress,.upload-queue-stage{font-size:12px;line-height:1.5;color:var(--muted)}.upload-queue-item-progress{flex:0 0 auto;font-weight:700;color:var(--accent)}.upload-queue-progress-track{position:relative;width:100%;height:7px;overflow:hidden;border-radius:999px;background:rgba(188,197,209,.34)}.upload-queue-progress-fill{height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f2937,#445063);transition:width .24s ease}@media (max-width:1180px){.library-shell{height:auto;min-height:100dvh;grid-template-columns:1fr;overflow:visible}.library-sidebar{border-right:0;border-bottom:1px solid var(--line);max-height:none}.library-main{padding:24px 18px 28px}.review-app-shell{height:auto;min-height:100svh;overflow:visible}.review-topbar{grid-template-columns:1fr;height:auto;padding:14px 18px}.topbar-group-actions{justify-content:flex-start;flex-wrap:wrap}.review-split-pane{grid-template-columns:1fr;height:auto}.viewer-pane-pdf{border-right:0;border-bottom:1px solid var(--line)}.review-workspace,.viewer-pane,.viewer-scroll{height:auto;min-height:auto}.setup-grid{grid-template-columns:1fr}}@media (max-width:720px){.upload-card{padding:22px 18px;border-radius:18px}.library-sidebar{padding:22px 16px 20px}.library-brand,.upload-card h1{font-size:26px}.viewer-pane-head,.viewer-scroll{padding-left:16px;padding-right:16px}.viewer-pane-head,.viewer-pane-head-minimal{height:auto;min-height:48px;padding-top:8px;padding-bottom:8px}.report-flow{max-width:100%}.content-block li,.content-block p,.content-block td{font-size:15px}.content-heading h1{font-size:24px}.content-heading h2{font-size:20px}}