:root{color-scheme:light;font-family:Inter,PingFang SC,Microsoft YaHei,Arial,sans-serif;color:#172327;background:#eef7f6;--accent: #0f9f98;--accent-strong: #087d77;--panel: #ffffff;--line: #d8e5e3;--muted: #64757b;--soft: #e8fbf8;--danger: #b42318}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{background:linear-gradient(180deg,#f6fffd,#eef7f6)}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:not-allowed;opacity:.56}.app-shell{display:grid;grid-template-rows:auto minmax(560px,1fr) auto;gap:14px;height:100vh;min-height:100vh;overflow:hidden;padding:12px 14px 0}.app-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:58px;padding:8px 14px;border:1px solid rgba(216,229,227,.92);border-radius:10px;background:#ffffffe6;box-shadow:0 12px 34px #15464314}.brand{display:inline-flex;min-width:0;align-items:center;gap:10px;color:#172327;text-decoration:none}.brand-mark{display:grid;place-items:center;width:38px;height:46px;border:2px solid #14b8b1;border-radius:7px;color:#087d77;font-size:12px;font-weight:900;background:linear-gradient(180deg,#fff,#edfffd)}.brand-text{display:grid;gap:1px}.brand-text strong{font-size:18px;line-height:1.15}.brand-text small,.header-note{color:var(--muted);font-size:12px;line-height:1.35}.brand-text small{display:flex;align-items:center;min-width:0;gap:6px;overflow:hidden;white-space:nowrap}.header-note{min-width:0;overflow:hidden;text-overflow:ellipsis}.header-note:before{content:"·";margin-right:6px;color:#a1afb4}.header-nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.header-nav a{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid var(--line);border-radius:8px;color:#405158;font-size:13px;font-weight:800;text-decoration:none;background:#fff}.header-nav a.active,.header-nav a:hover{border-color:#0f9f9859;color:var(--accent-strong);background:var(--soft)}.compress-workbench{display:grid;grid-template-columns:250px minmax(0,1fr) 340px;gap:12px;min-height:0;overflow:hidden}.compress-workbench>*{min-width:0;min-height:0}.file-sidebar,.preview-pane,.tool-sidebar,.site-footer{border:1px solid var(--line);border-radius:10px;background:#ffffffeb;box-shadow:0 14px 38px #15464312}.file-sidebar{display:grid;grid-template-rows:auto auto minmax(0,1fr);align-content:stretch;gap:0;min-height:0;overflow:hidden}.sidebar-title,.tool-section-header,.preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px}.sidebar-title{min-height:58px;padding:12px 12px 10px;border-bottom:1px solid var(--line)}.sidebar-title>div{display:grid;min-width:0;gap:3px}.sidebar-title span,.tool-section-header h2,.preview-toolbar strong{color:#172327;font-size:15px;font-weight:900}.sidebar-title small{min-width:0;overflow:hidden;color:var(--muted);font-size:12px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.sidebar-title button,.preview-toolbar button{min-height:30px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:var(--accent-strong);font-size:12px;font-weight:800;background:#f7fbfa}.file-drop-card{display:grid;justify-items:center;align-content:center;gap:10px;min-height:220px;margin:12px;padding:18px 12px;border:1px dashed #b7cfcb;border-radius:8px;text-align:center;background:#fbfefd}.view-switch{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:10px 12px;border-bottom:1px solid var(--line)}.view-switch button{min-height:32px;border:1px solid var(--line);border-radius:7px;color:#405158;font-size:13px;font-weight:800;background:#fff}.view-switch button.active{border-color:#0f9f9861;color:var(--accent-strong);background:var(--soft)}.file-drop-card.dragging,.preview-pane.dragging{border-color:var(--accent);background:var(--soft)}.file-icon,.empty-file-icon{display:grid;place-items:center;width:58px;height:74px;border:3px solid #ef5145;border-radius:8px;color:#ef5145;font-weight:900;background:#fff7f6}.file-drop-card strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}.file-drop-card small,.file-tips p,.preview-toolbar span,.preview-empty-state p,.tool-actions p,.footer-brand span{color:var(--muted);font-size:12px;line-height:1.55}.file-tips{display:grid;align-content:start;gap:8px;padding:10px;border-radius:8px;background:#f7fbfa}.file-tips p,.preview-empty-state h1,.preview-empty-state p,.tool-actions p,.footer-brand strong,.footer-group h2{margin:0}.thumbnail-list,.outline-panel{display:grid;align-content:start;gap:10px;min-height:0;padding:12px;overflow:auto;overscroll-behavior:contain}.thumbnail-card{position:relative;display:grid;grid-template-columns:76px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:8px;border:1px solid var(--line);border-radius:8px;text-align:left;background:#fbfcfd;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.thumbnail-card:hover{border-color:#9fb3bf;transform:translateY(-1px)}.thumbnail-card.active{border-color:var(--accent);box-shadow:0 0 0 3px #0f9f9821}.thumbnail-card img,.thumbnail-placeholder{display:block;width:76px;max-height:108px;min-height:96px;object-fit:contain;border:1px solid #cfd8df;border-radius:4px;background:#fff;box-shadow:0 5px 12px #2021241a}.thumbnail-placeholder{display:grid;place-items:center;color:#7a8790;font-size:13px;background:linear-gradient(135deg,#2fbab61f,#fff0 46%),#fff}.thumbnail-placeholder.loading span{animation:thumbnail-pulse 1.2s ease-in-out infinite}.thumbnail-card div:not(.thumbnail-placeholder){display:grid;min-width:0;gap:4px}.thumbnail-card strong{overflow:hidden;color:#24343a;font-size:13px;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.thumbnail-card span{color:var(--muted);font-size:12px;line-height:1.3}.outline-list{display:grid;gap:4px;margin:0;padding:0;list-style:none}.outline-node{display:grid;gap:4px}.outline-item{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;width:100%;min-height:34px;border:1px solid transparent;border-radius:6px;color:#33454c;text-align:left;background:transparent}.outline-item:hover:not(:disabled),.outline-item.active{border-color:#0f9f983d;color:var(--accent-strong);background:var(--soft)}.outline-item:disabled{color:#9aa7ad}.outline-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.outline-item small{color:var(--muted);font-size:11px}.outline-empty{display:grid;align-content:center;justify-items:center;gap:10px;min-height:260px;color:var(--muted);text-align:center}.outline-empty span{display:grid;place-items:center;width:54px;height:54px;border-radius:10px;color:var(--accent-strong);font-size:26px;background:var(--soft)}.hidden-input{display:none}.preview-pane{display:grid;grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;border-style:solid}.preview-toolbar{position:relative;z-index:10;min-height:52px;padding:8px 12px;border-bottom:1px solid var(--line);background:#fafefdeb}.preview-title{display:grid;gap:2px;min-width:0}.preview-actions{display:inline-flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px}.toolbar-icon-button,.page-nav,.zoom-controls button,.toc-jump-button,.page-jump-control button{display:inline-grid;place-items:center;min-width:32px;min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:7px;color:#405158;font-size:13px;font-weight:800;background:#fff}.toolbar-icon-button{width:32px;padding:0}.toolbar-icon-button:hover:not(:disabled),.toolbar-icon-button.active,.page-nav:hover:not(:disabled),.zoom-controls button:hover:not(:disabled),.toc-jump-button:hover:not(:disabled),.page-jump-control button:hover:not(:disabled){border-color:#0f9f9859;color:var(--accent-strong);background:var(--soft)}.fit-display-button.active{border-color:var(--accent);color:#fff;background:var(--accent)}.toolbar-icon-button svg{width:17px;height:17px}.search-control{position:relative}.search-popover{position:absolute;top:calc(100% + 8px);right:0;z-index:40;display:grid;gap:8px;width:280px;padding:12px;border:1px solid var(--line);border-radius:8px;background:#fff;box-shadow:0 18px 40px #0f172a29}.search-popover input{width:100%;min-height:34px;padding:0 34px 0 10px;border:1px solid var(--line);border-radius:7px;outline:none}.search-popover input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #0f9f981f}.search-popover-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:24px;height:24px;border:0;color:#7c8a90;background:transparent}.search-popover-close svg{width:15px;height:15px}.search-summary{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.search-result-nav{display:inline-flex;gap:4px}.search-result-nav button{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:6px;background:#fff}.page-nav-controls,.zoom-controls,.page-jump-control{display:inline-flex;align-items:center}.page-nav-controls,.zoom-controls{gap:4px}.page-nav{padding:0;font-size:20px;line-height:1}.toc-jump-button{min-width:48px}.preview-toolbar strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-jump-control{display:inline-flex;align-items:center;min-height:30px;padding:0 8px;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:#fff}.page-jump-control input{width:50px;border:0;color:#172327;text-align:center;background:transparent;outline:none}.page-jump-control button{min-width:40px;min-height:26px;margin-left:6px;padding:0 8px;border-radius:6px}.zoom-controls{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:#fff}.zoom-controls button{min-width:34px;min-height:32px;border:0;border-radius:0;background:transparent}.zoom-reset{min-width:54px;border-inline:1px solid var(--line)!important;color:var(--accent-strong)!important}.document-stage{min-height:0;padding:18px;overflow:auto;overscroll-behavior:contain;background:linear-gradient(180deg,#fff6,#e8f0efd1),#e9f0ef}.document-preview{display:grid;justify-items:center;gap:10px;width:var(--preview-width);max-width:none;margin:0 auto}.page-surface{display:grid;place-items:center;width:100%;aspect-ratio:var(--preview-ratio);overflow:hidden;border-radius:4px;background:#fff;box-shadow:0 1px 2px #0f172a1f,0 18px 38px #0f172a29}.page-surface img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}.page-render-placeholder{display:grid;justify-items:center;gap:8px;color:var(--muted);font-size:13px;text-align:center}.page-render-placeholder strong{color:#172327;font-size:18px}.document-preview figcaption{display:inline-flex;align-items:center;gap:8px;min-height:28px;margin:0;padding:0 10px;border:1px solid rgba(216,229,227,.9);border-radius:999px;color:var(--muted);font-size:12px;background:#ffffffc7}.document-preview figcaption strong{color:#24343a;font-size:12px}.preview-empty-state{display:grid;place-items:center;align-content:center;gap:14px;padding:28px;text-align:center}.preview-empty-state h1{font-size:28px;line-height:1.2}.preview-empty-state p{max-width:440px;font-size:14px}.tool-sidebar{display:grid;align-content:start;gap:12px;min-height:0;padding:12px;overflow:auto}@keyframes thumbnail-pulse{0%,to{opacity:.45}50%{opacity:1}}.tool-section{display:grid;gap:12px;padding:12px;border:1px solid rgba(216,229,227,.9);border-radius:8px;background:#fff}.tool-section-header h2{line-height:1.2}.tool-section-header span{color:var(--accent-strong);font-size:12px;font-weight:900}.preset-grid{display:grid;gap:8px}.preset-card{display:grid;gap:4px;min-height:64px;padding:11px;border:1px solid var(--line);border-radius:8px;color:#172327;text-align:left;background:#fff}.preset-card span{color:var(--muted);font-size:12px;line-height:1.45}.preset-card.active{border-color:var(--accent);background:var(--soft);box-shadow:inset 0 0 0 1px #0f9f9833}.field-row{display:grid;grid-template-columns:94px minmax(0,1fr) 42px;gap:8px;align-items:center;color:#34454b;font-size:12px}.field-row input[type=range]{accent-color:var(--accent)}.check-row{display:flex;align-items:center;gap:8px;color:#34454b;font-size:13px}.check-row input{width:16px;height:16px;accent-color:var(--accent)}.tool-actions{position:sticky;bottom:0;display:grid;gap:8px;padding:12px;border:1px solid rgba(15,159,152,.18);border-radius:8px;background:#f5fffd}.primary-button,.secondary-button,.compress-button{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 16px;border:0;border-radius:8px;color:#fff;font-weight:900;background:linear-gradient(135deg,var(--accent),#18c7bd);box-shadow:0 10px 22px #0f9f9833}.secondary-button{width:100%;min-height:38px}.compress-button{width:100%;min-height:46px}.result-section p{margin:0;font-size:13px;line-height:1.55}.result-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.result-stats div{display:grid;gap:4px;padding:10px;border:1px solid var(--line);border-radius:8px;background:#f8fbfb}.result-stats span{color:var(--muted);font-size:12px}.result-stats strong{font-size:16px}.success-text{color:#087d3f;font-weight:800}.warning-text{color:#a15c00;font-weight:800}.site-footer{display:grid;gap:8px;padding:12px 14px 10px;border-radius:10px 10px 0 0;color:#50606a}.footer-main{display:flex;align-items:center;justify-content:space-between;gap:18px}.footer-brand{display:grid;gap:3px;min-width:160px}.footer-brand strong{color:#202124;font-size:14px}.footer-nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:12px 24px}.footer-group{display:inline-flex;align-items:center;gap:10px}.footer-group h2{color:#22524d;font-size:12px;font-weight:900}.footer-group a,.footer-record a{color:#50606a;font-size:12px;line-height:1.3;text-decoration:none;white-space:nowrap}.footer-group a:hover,.footer-record a:hover{color:#0f766e;text-decoration:underline;text-underline-offset:2px}.footer-record{display:flex;justify-content:center}.progress-backdrop{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:#0c1d1f5c;backdrop-filter:blur(4px)}.progress-modal{display:grid;gap:16px;width:min(720px,100%);padding:20px;border:1px solid rgba(15,159,152,.22);border-radius:12px;background:#fff;box-shadow:0 24px 70px #0a252842}.progress-modal.error{border-color:#ef444461}.progress-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.eyebrow,.progress-modal-header h2{margin:0}.eyebrow{margin-bottom:6px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.04em}.progress-modal-header h2{font-size:22px}.modal-close{display:grid;place-items:center;width:32px;height:32px;border:1px solid var(--line);border-radius:8px;color:#52646a;font-size:24px;line-height:1;background:#f7fbfa}.modal-close:hover{border-color:var(--accent);color:var(--accent-strong)}.progress-card{display:grid;gap:10px}.progress-meta{display:flex;justify-content:space-between;gap:12px;color:#203034}.progress-track{height:10px;overflow:hidden;border-radius:999px;background:#dce9e7}.progress-track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#1bcfc2);transition:width .18s ease}.progress-steps{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;margin:2px 0 0;padding:0;list-style:none}.progress-steps li{display:grid;justify-items:center;gap:6px;min-width:0;color:#93a2a7;font-size:12px;line-height:1.35;text-align:center}.step-dot{width:14px;height:14px;border:2px solid #c6d7d4;border-radius:999px;background:#fff}.progress-steps li.done{color:#0f766e}.progress-steps li.done .step-dot{border-color:var(--accent);background:var(--accent)}.progress-steps li.active{color:#172327;font-weight:800}.progress-steps li.active .step-dot{border-color:var(--accent);box-shadow:0 0 0 4px #0f9f9829}.progress-steps li.error{color:var(--danger);font-weight:800}.progress-steps li.error .step-dot{border-color:#ef4444;background:#ef4444}.progress-hint{margin:0;padding:10px 12px;border-radius:8px;color:#31545b;font-size:13px;font-weight:700;line-height:1.55;background:#edf8f7}@media(max-width:960px){.compress-workbench{grid-template-columns:1fr;overflow:visible}.file-sidebar{min-height:360px}.tool-sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-actions{position:static}}@media(max-width:760px){.app-shell{padding:8px 8px 0}.app-header,.footer-main{align-items:flex-start;flex-direction:column}.app-header{display:flex}.brand-text small{align-items:flex-start;flex-direction:column;gap:2px;white-space:normal}.header-note:before{content:"";margin-right:0}.compress-workbench,.tool-sidebar{grid-template-columns:1fr}.document-stage{min-height:440px;padding:12px}.preview-toolbar{align-items:flex-start;flex-direction:column}.preview-actions{justify-content:flex-start}.progress-steps{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:520px){.field-row,.result-stats{grid-template-columns:1fr}.progress-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
