.panel[data-v-c669eb47]{width:300px;min-width:300px;display:flex;flex-direction:column;background:#fff;border-right:1px solid #e8e8e8;overflow:hidden}.panel-header[data-v-c669eb47]{padding:24px 20px 16px;border-bottom:1px solid #f0f0f0}.panel-header h1[data-v-c669eb47]{font-size:20px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.subtitle[data-v-c669eb47]{font-size:13px;color:#999}.panel-body[data-v-c669eb47]{flex:1;overflow-y:auto;padding:16px 20px}.panel-footer[data-v-c669eb47]{padding:16px 20px;border-top:1px solid #f0f0f0}.group[data-v-c669eb47]{margin-bottom:16px}.divider[data-v-c669eb47]{border:none;border-top:1px solid #f0f0f0;margin:16px 0}.label[data-v-c669eb47]{font-size:13px;font-weight:500;color:#555;display:block;margin-bottom:6px}.label-row[data-v-c669eb47]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.label-row .label[data-v-c669eb47]{margin-bottom:0}.value[data-v-c669eb47]{font-size:13px;color:#4a90d9;font-weight:600;font-variant-numeric:tabular-nums}.file-btn[data-v-c669eb47]{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;border-radius:8px;font-size:13px;cursor:pointer;transition:all .2s}.file-btn.primary[data-v-c669eb47]{background:#4a90d9;color:#fff}.file-btn.primary[data-v-c669eb47]:hover{background:#3a7bc8}.file-btn.secondary[data-v-c669eb47]{background:#f5f5f5;color:#666;border:1px dashed #d0d0d0}.file-btn.secondary[data-v-c669eb47]:hover{border-color:#4a90d9;color:#4a90d9}.file-btn.disabled[data-v-c669eb47]{opacity:.5;pointer-events:none}.file-btn-icon[data-v-c669eb47]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:6px;background:#fff3;font-weight:700;font-size:14px}.secondary .file-btn-icon[data-v-c669eb47]{background:#0000000d}.loading-text[data-v-c669eb47]{font-size:12px;color:#999;margin-top:4px;display:block}.error-text[data-v-c669eb47]{font-size:12px;color:#e04040;margin-top:4px;display:block;line-height:1.4}.textarea[data-v-c669eb47]{width:100%;padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;font-size:13px;resize:vertical;outline:none;font-family:inherit;line-height:1.5}.textarea[data-v-c669eb47]:focus{border-color:#4a90d9;box-shadow:0 0 0 3px #4a90d91a}.slider[data-v-c669eb47]{width:100%;height:6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#e8e8e8;border-radius:3px;outline:none}.slider[data-v-c669eb47]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#4a90d9;cursor:pointer;box-shadow:0 1px 4px #0003}.slider[data-v-c669eb47]::-webkit-slider-thumb:hover{transform:scale(1.1)}.toggle-group[data-v-c669eb47]{display:flex;gap:6px}.toggle-btn[data-v-c669eb47]{flex:1;padding:6px 0;border:1px solid #e0e0e0;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:4px}.toggle-btn[data-v-c669eb47]:hover{border-color:#4a90d9}.toggle-btn.active[data-v-c669eb47]{background:#4a90d9;color:#fff;border-color:#4a90d9}.dot[data-v-c669eb47]{width:10px;height:10px;border-radius:50%;display:inline-block}.toggle-btn.active .dot[data-v-c669eb47]{box-shadow:0 0 0 2px #ffffff80}.color-input[data-v-c669eb47]{width:100%;height:32px;border:1px solid #e0e0e0;border-radius:6px;cursor:pointer;margin-top:8px;padding:2px}.export-btn[data-v-c669eb47]{width:100%;padding:12px;border:none;border-radius:8px;background:linear-gradient(135deg,#4a90d9,#357abd);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s}.export-btn[data-v-c669eb47]:hover:not(:disabled){background:linear-gradient(135deg,#3a7bc8,#2a6ab5);box-shadow:0 4px 12px #4a90d94d}.export-btn[data-v-c669eb47]:disabled{opacity:.4;cursor:not-allowed}.export-progress-track[data-v-c669eb47]{width:100%;height:4px;background:#fff3;border-radius:2px;margin-top:8px;overflow:hidden}.export-progress-fill[data-v-c669eb47]{height:100%;background:#4a90d9;border-radius:2px;transition:width .15s ease}.preview-wrapper[data-v-06a99b45]{flex:1;display:flex;flex-direction:column;overflow:hidden}.zoom-bar[data-v-06a99b45]{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px 16px;background:#f5f5f5;border-bottom:1px solid #e0e0e0;flex-shrink:0}.zoom-btn[data-v-06a99b45]{width:32px;height:28px;border:1px solid #d0d0d0;border-radius:4px;background:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.zoom-btn.text[data-v-06a99b45]{width:auto;padding:0 10px;font-size:12px}.zoom-btn[data-v-06a99b45]:hover:not(:disabled){border-color:#4a90d9;color:#4a90d9}.zoom-btn[data-v-06a99b45]:disabled{opacity:.3;cursor:not-allowed}.zoom-label[data-v-06a99b45]{font-size:13px;color:#666;min-width:48px;text-align:center;font-variant-numeric:tabular-nums}.preview-container[data-v-06a99b45]{flex:1;overflow-y:auto;overflow-x:auto;background:#e2e2e2;padding:20px}.placeholder[data-v-06a99b45]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;min-height:500px;border:2px dashed #c0c0c0;border-radius:16px;background:#fff6}.placeholder-icon[data-v-06a99b45]{font-size:48px;font-weight:700;color:#bbb;margin-bottom:12px;letter-spacing:4px}.placeholder p[data-v-06a99b45]{color:#999;font-size:15px;margin:2px 0}.placeholder .hint[data-v-06a99b45]{font-size:13px;color:#bbb}.pages[data-v-06a99b45]{display:flex;flex-direction:column;align-items:center;gap:20px}.page-slot[data-v-06a99b45]{display:flex;flex-direction:column;align-items:center}.page-number[data-v-06a99b45]{font-size:12px;color:#888;margin-bottom:6px}.canvas-wrapper[data-v-06a99b45]{position:relative;box-shadow:0 2px 16px #0000001f;border-radius:4px;overflow:hidden;line-height:0;min-width:200px;min-height:280px}.page-loading[data-v-06a99b45]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#fff;z-index:2;font-size:13px;color:#999}.page-spinner[data-v-06a99b45]{width:24px;height:24px;border:3px solid #e0e0e0;border-top-color:#4a90d9;border-radius:50%;animation:spin-06a99b45 .8s linear infinite}@keyframes spin-06a99b45{to{transform:rotate(360deg)}}.pdf-canvas[data-v-06a99b45]{display:block}.wm-canvas[data-v-06a99b45]{position:absolute;top:0;left:0;pointer-events:none}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,PingFang SC,sans-serif;color:#333;background:#f0f0f0}.app{display:flex;height:100vh;width:100vw}
