:root{--bg:#eef2f6;--surface:#fff;--surface-soft:#f6f8fb;--surface-strong:#111827;--text:#172033;--text-muted:#667085;--border:#d8dee8;--border-strong:#b8c2d2;--primary:#2264d1;--primary-strong:#174ea6;--primary-soft:#e8f0ff;--green:#138a55;--green-soft:#e7f7ef;--red:#c0362c;--red-soft:#fff0ee;--amber:#a36500;--amber-soft:#fff5dd;--shadow:0 16px 40px #16233a1f;--radius:8px;--font:"Microsoft YaHei", "PingFang SC", "Segoe UI", system-ui, sans-serif;color:var(--text);background:var(--bg);font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:15px;line-height:1.5}*{box-sizing:border-box}body{background:linear-gradient(120deg, #2264d114, transparent 34%), linear-gradient(210deg, #138a5514, transparent 28%), var(--bg);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{border:0}button:disabled{cursor:not-allowed;opacity:.55}svg{stroke-width:2.2px;width:18px;height:18px}#app{min-height:100vh}.app-shell{width:min(1280px,100vw - 32px);margin:0 auto;padding:20px 0 24px}.topbar{justify-content:space-between;align-items:center;gap:16px;min-height:72px;margin-bottom:16px;display:flex}.brand,.top-actions,.picker-row,.control-row,.progress-info,.modal-head,.contact-layout{align-items:center;display:flex}.brand{gap:12px;min-width:0}.brand-mark{border-radius:var(--radius);color:#fff;background:var(--surface-strong);flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 10px 24px #1118272e}.brand h1{color:var(--text);letter-spacing:0;margin:0;font-size:24px;font-weight:800}.brand p{color:var(--text-muted);margin:2px 0 0;font-size:14px}.top-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px}.privacy-pill,.quota-badge{height:36px;color:var(--green);background:var(--green-soft);white-space:nowrap;border:1px solid #138a5538;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;font-weight:700;display:inline-flex}.workspace{grid-template-columns:minmax(310px,360px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.setup-panel,.run-panel,.list-section,.log-box,.format-box{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#ffffffeb}.setup-panel{flex-direction:column;gap:14px;max-height:calc(100vh - 40px);padding:16px;display:flex;position:sticky;top:16px;overflow:auto}.run-panel{flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading span{color:var(--text-muted);font-size:12px;font-weight:800;display:block}.section-heading h2{color:var(--text);margin:2px 0 0;font-size:18px;line-height:1.2}.section-heading.compact h2{font-size:16px}.drop-zone{border:1px dashed var(--border-strong);border-radius:var(--radius);min-height:220px;color:var(--text-muted);background:var(--surface-soft);text-align:center;place-items:center;gap:10px;padding:20px;transition:border-color .18s,background .18s,transform .18s;display:grid}.drop-zone.drag-over{border-color:var(--primary);background:var(--primary-soft);transform:translateY(-1px)}.drop-zone strong{color:var(--text);font-size:18px}.drop-zone span{max-width:260px;font-size:13px}.drop-icon{border-radius:var(--radius);width:58px;height:58px;color:var(--primary);background:var(--primary-soft);place-items:center;display:grid}.drop-icon svg{width:28px;height:28px}.picker-row,.control-row{gap:8px;width:100%}.primary-button,.secondary-button,.ghost-button,.icon-button,.text-button,.segment{border-radius:var(--radius);cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:38px;transition:background .16s,border-color .16s,color .16s,transform .16s;display:inline-flex}.primary-button:hover:not(:disabled),.secondary-button:hover:not(:disabled),.ghost-button:hover:not(:disabled),.icon-button:hover:not(:disabled),.text-button:hover:not(:disabled),.segment:hover:not(:disabled){transform:translateY(-1px)}.primary-button{color:#fff;background:var(--primary);flex:1;height:44px;font-weight:800}.primary-button:hover:not(:disabled){background:var(--primary-strong)}.secondary-button,.ghost-button,.text-button,.icon-button{border:1px solid var(--border);color:var(--text);background:var(--surface)}.secondary-button{flex:1 1 0;padding:0 12px}.ghost-button{padding:0 12px}.icon-button{flex:none;width:38px;height:38px;padding:0}.text-button{min-height:32px;color:var(--primary);background:var(--primary-soft);border-color:#2264d133;padding:0 10px;font-size:13px;font-weight:800}.format-box{box-shadow:none;padding:14px}.segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.segment{border:1px solid var(--border);min-width:0;color:var(--text-muted);background:var(--surface-soft);padding:0 10px;font-size:13px;font-weight:800}.segment.active{color:var(--primary);background:var(--primary-soft);border-color:#2264d161}.note-line{border-radius:var(--radius);min-height:36px;color:var(--amber);background:var(--amber-soft);padding:10px 12px;font-size:13px;font-weight:700}.overview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.metric{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-soft);min-width:0;padding:12px}.metric span{color:var(--text-muted);font-size:12px;font-weight:800;display:block}.metric strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:20px;line-height:1.15;display:block;overflow:hidden}.metric.current strong{font-size:15px}.progress-block{border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(#fff,#f7f9fc);padding:12px}.progress-info{color:var(--text-muted);justify-content:space-between;gap:12px;margin-bottom:10px;font-weight:800}.progress-info span:first-child{color:var(--primary);font-size:20px}#activeText{padding-left:20px;font-size:13px;position:relative}#activeText:before{content:"";background:var(--border-strong);border-radius:999px;width:10px;height:10px;margin-top:-5px;position:absolute;top:50%;left:0}#activeText.running:before{background:var(--primary);animation:1s ease-in-out infinite pulse}.progress-track{background:#dfe6f1;border-radius:999px;height:12px;overflow:hidden}.progress-bar{border-radius:inherit;background:linear-gradient(90deg, var(--primary), var(--green));width:0;height:100%;transition:width .22s}.split-area{grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:14px;min-height:300px;display:grid}.list-section,.log-box{min-width:0;box-shadow:none;padding:12px}.file-list,.output-list,.logs{flex-direction:column;gap:8px;height:250px;margin-top:10px;padding-right:2px;display:flex;overflow:auto}.logs{border-radius:var(--radius);color:#d7e4ff;background:#111827;height:150px;padding:10px;font-family:Consolas,Cascadia Mono,monospace;font-size:12px}.queue-item,.output-item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:10px;display:grid}.queue-item{grid-template-columns:38px minmax(0,1fr) 70px}.queue-item.done{border-color:#138a5547}.queue-item.error{background:var(--red-soft);border-color:#c0362c47}.file-icon{border-radius:var(--radius);width:38px;height:38px;color:var(--primary);background:var(--primary-soft);place-items:center;display:grid}.queue-item.done .file-icon{color:var(--green);background:var(--green-soft)}.queue-item.error .file-icon{color:var(--red);background:var(--red-soft)}.queue-item.processing .file-icon svg{animation:1s linear infinite spin}.file-icon.docx{color:var(--green);background:var(--green-soft)}.file-meta{min-width:0}.file-meta strong,.file-meta span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.file-meta strong{color:var(--text);font-size:14px}.file-meta span{color:var(--text-muted);font-size:12px}.mini-progress{background:#dfe6f1;border-radius:999px;height:6px;overflow:hidden}.mini-progress span{border-radius:inherit;background:var(--primary);width:0;height:100%;display:block}.empty-state{border:1px dashed var(--border);border-radius:var(--radius);min-height:78px;color:var(--text-muted);background:var(--surface-soft);place-items:center;font-weight:700;display:grid}.modal{border:1px solid var(--border);border-radius:var(--radius);width:min(560px,100vw - 32px);color:var(--text);background:var(--surface);box-shadow:var(--shadow);padding:0}.modal::backdrop{background:#0f172a61}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;gap:12px;padding:14px 16px}.modal h3{margin:0;font-size:18px}.modal-body{padding:16px}.modal-body ol{margin:0;padding-left:22px}.modal-body li{margin:8px 0}.modal-body p{color:var(--text-muted);margin:14px 0 0}.contact-modal{width:min(640px,100vw - 32px)}.contact-layout{justify-content:space-between;gap:18px;padding:16px}.contact-info{gap:10px;display:grid}.contact-info p{grid-template-columns:72px minmax(0,1fr);gap:10px;margin:0;display:grid}.contact-info span,.contact-info small{color:var(--text-muted)}.contact-info strong{color:var(--text)}.contact-layout img{border:1px solid var(--border);border-radius:var(--radius);object-fit:cover;flex:none;width:190px;height:190px}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.55;transform:scale(.85)}50%{opacity:1;transform:scale(1.2)}}@media (width<=980px){.app-shell{width:min(100vw - 20px,760px);padding-top:12px}.topbar,.workspace,.split-area,.overview-grid{grid-template-columns:1fr}.topbar{display:grid}.top-actions{justify-content:flex-start}.workspace{display:grid}.setup-panel{max-height:none;position:static}.overview-grid{display:grid}}@media (width<=560px){.brand h1{font-size:21px}.brand p,.drop-zone span,.privacy-pill{font-size:12px}.top-actions,.picker-row,.control-row,.segmented{grid-template-columns:1fr;width:100%;display:grid}.ghost-button,.secondary-button,.primary-button{width:100%}.overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-layout{display:grid}.contact-layout img{justify-self:center;width:min(100%,220px);height:auto}}
