@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.modal-overlay[data-v-b081c118]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-b081c118]{background:#fff;border-radius:12px;box-shadow:0 8px 32px #0003;max-width:500px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp-b081c118 .3s ease-out}@keyframes slideUp-b081c118{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-b081c118]{padding:20px;border-bottom:1px solid var(--border-color, #eee);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-b081c118]{margin:0;font-size:18px;font-weight:600;color:var(--text-main, #333)}.close-btn[data-v-b081c118]{background:none;border:none;font-size:28px;color:var(--text-secondary, #999);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s}.close-btn[data-v-b081c118]:hover{background:var(--bg-hover, #f5f5f5);color:var(--text-main, #333)}.modal-body[data-v-b081c118]{padding:24px;overflow-y:auto;flex:1}.contact-info[data-v-b081c118]{display:flex;flex-direction:column;gap:20px}.contact-description[data-v-b081c118]{margin:0 0 8px;color:var(--text-sub, #666);font-size:14px;line-height:1.6}.contact-item[data-v-b081c118]{display:flex;align-items:flex-start;gap:16px;padding:16px;background:var(--bg-body, #f9f9f9);border-radius:8px;transition:all .2s}.contact-item[data-v-b081c118]:hover{background:var(--bg-hover, #f0f0f0)}.contact-icon[data-v-b081c118]{width:40px;height:40px;border-radius:8px;background:linear-gradient(135deg,var(--primary, #6366f1) 0%,#8b5cf6 100%);display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.contact-details[data-v-b081c118]{flex:1}.contact-label[data-v-b081c118]{font-size:12px;color:var(--text-sub, #999);margin-bottom:6px;font-weight:500}.contact-value[data-v-b081c118]{font-size:16px;color:var(--text-main, #333);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:8px;transition:color .2s}.contact-value[data-v-b081c118]:hover{color:var(--primary, #6366f1)}.copy-hint[data-v-b081c118]{font-size:12px;color:var(--text-sub, #999);font-weight:400;opacity:0;transition:opacity .2s}.contact-value:hover .copy-hint[data-v-b081c118]{opacity:1}.modal-footer[data-v-b081c118]{padding:16px 20px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end}.btn[data-v-b081c118]{padding:10px 20px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary[data-v-b081c118]{background:var(--primary, #6366f1);color:#fff}.btn-primary[data-v-b081c118]:hover{background:#5855eb;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}#app.auth-page{display:block;min-height:100vh;height:100vh;overflow:hidden}.usage-info{padding:12px;background:var(--bg-body, #f9f9f9);border-radius:8px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.usage-count{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-main, #333);flex:1}.usage-count svg{color:var(--primary, #6366f1);flex-shrink:0}.usage-count strong{color:var(--primary, #6366f1);font-weight:600}.btn-increase{padding:6px 12px;background:var(--primary, #6366f1);color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.btn-increase:hover{background:#5855eb;transform:translateY(-1px);box-shadow:0 2px 8px #6366f14d}.showcase-background[data-v-a271112f]{position:fixed;top:0;left:0;width:100%;height:100vh;z-index:-1;overflow:hidden;opacity:0;transition:opacity .6s ease-out}.showcase-background.is-ready[data-v-a271112f]{opacity:1}.showcase-grid[data-v-a271112f]{display:grid;grid-template-columns:repeat(11,1fr);gap:16px;padding:20px;width:100%;will-change:transform}.showcase-item[data-v-a271112f]{width:100%;aspect-ratio:3 / 4;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #00000014}.showcase-item img[data-v-a271112f]{width:100%;height:100%;object-fit:cover;display:block}.showcase-overlay[data-v-a271112f]{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#ffffffb3,#ffffffa6 30%,#fff9);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@media (max-width: 768px){.showcase-grid[data-v-a271112f]{grid-template-columns:repeat(3,1fr);gap:12px;padding:12px}}.composer-container[data-v-532e00cf]{background:#fff;border-radius:16px;padding:16px;box-shadow:0 4px 20px #00000014;border:1px solid rgba(0,0,0,.06)}.composer-input-wrapper[data-v-532e00cf]{display:flex;align-items:flex-start;gap:12px}.search-icon-static[data-v-532e00cf]{flex-shrink:0;padding-top:8px;color:#999}.composer-textarea[data-v-532e00cf]{flex:1;border:none;outline:none;font-size:16px;line-height:1.6;resize:none;min-height:44px;max-height:200px;padding:8px 0;font-family:inherit;color:var(--text-main, #1a1a1a)}.composer-textarea[data-v-532e00cf]::placeholder{color:#999}.composer-textarea[data-v-532e00cf]:disabled{background:transparent;color:#999}.uploaded-images-preview[data-v-532e00cf]{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;padding:16px;background:#fafafa;border-radius:12px;align-items:center}.uploaded-image-item[data-v-532e00cf]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.uploaded-image-item img[data-v-532e00cf]{width:100%;height:100%;object-fit:cover}.remove-image-btn[data-v-532e00cf]{position:absolute;top:2px;right:2px;width:20px;height:20px;border-radius:50%;background:#0009;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;opacity:0;transition:opacity .2s}.uploaded-image-item:hover .remove-image-btn[data-v-532e00cf]{opacity:1}.remove-image-btn[data-v-532e00cf]:hover{background:var(--primary, #1890FF)}.upload-hint[data-v-532e00cf]{flex:1;font-size:12px;color:var(--text-sub, #666);text-align:right}.composer-toolbar[data-v-532e00cf]{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.toolbar-left[data-v-532e00cf]{display:flex;gap:8px}.tool-btn[data-v-532e00cf]{display:flex;align-items:center;justify-content:center;position:relative;width:40px;height:40px;border-radius:10px;background:#f5f5f5;border:none;cursor:pointer;color:#666;transition:all .2s}.tool-btn[data-v-532e00cf]:hover{background:#eee;color:var(--primary, #1890FF)}.tool-btn.active[data-v-532e00cf]{background:#1890ff1a;color:var(--primary, #1890FF)}.badge-count[data-v-532e00cf]{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--primary, #1890FF);color:#fff;border-radius:9px;font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;padding:0 4px}.generate-btn[data-v-532e00cf]{padding:10px 24px;font-size:15px;border-radius:100px;display:flex;align-items:center;gap:8px}.generate-btn[data-v-532e00cf]:disabled{opacity:.5;cursor:not-allowed}.spinner-sm[data-v-532e00cf]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-532e00cf 1s linear infinite}@keyframes spin-532e00cf{to{transform:rotate(360deg)}}.home-container[data-v-0d695ff6]{max-width:1100px;padding-top:10px;position:relative;z-index:1}.hero-section[data-v-0d695ff6]{text-align:center;margin-bottom:40px;padding:50px 60px;animation:fadeIn-0d695ff6 .6s ease-out;background:#fffffff2;border-radius:24px;box-shadow:0 8px 32px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hero-content[data-v-0d695ff6]{margin-bottom:36px}.brand-pill[data-v-0d695ff6]{display:inline-block;padding:6px 16px;background:#1890ff14;color:var(--primary);border-radius:100px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.5px}.platform-slogan[data-v-0d695ff6]{font-size:20px;font-weight:600;color:var(--text-main);margin-bottom:24px;line-height:1.6;letter-spacing:.5px}.page-subtitle[data-v-0d695ff6]{font-size:16px;color:var(--text-sub);margin-top:12px}.page-footer[data-v-0d695ff6]{text-align:center;padding:24px 0 16px;margin-top:20px}.footer-copyright[data-v-0d695ff6]{font-size:15px;color:#333;font-weight:500;margin-bottom:6px}.footer-copyright a[data-v-0d695ff6]{color:var(--primary);text-decoration:none;font-weight:600}.footer-copyright a[data-v-0d695ff6]:hover{text-decoration:underline}.footer-license[data-v-0d695ff6]{font-size:13px;color:#999}.footer-license a[data-v-0d695ff6]{color:#666;text-decoration:none}.footer-license a[data-v-0d695ff6]:hover{color:var(--primary)}.footer-tip[data-v-0d695ff6]{font-size:14px;color:#666;margin-bottom:12px}.footer-tip a[data-v-0d695ff6]{color:var(--primary);text-decoration:none;font-weight:600}.footer-tip a[data-v-0d695ff6]:hover{text-decoration:underline}.error-toast[data-v-0d695ff6]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#1890ff;color:#fff;padding:12px 24px;border-radius:50px;box-shadow:0 8px 24px #1890ff4d;display:flex;align-items:center;gap:8px;z-index:1000;animation:slideUp-0d695ff6 .3s ease-out}@keyframes fadeIn-0d695ff6{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp-0d695ff6{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.save-indicator[data-v-076513b8]{margin-left:12px;font-size:12px;font-weight:500;padding:2px 8px;border-radius:4px;transition:all .3s ease}.save-indicator.saving[data-v-076513b8]{color:#1890ff;background:#e6f7ff;border:1px solid #91d5ff}.save-indicator.saved[data-v-076513b8]{color:#52c41a;background:#f6ffed;border:1px solid #b7eb8f;opacity:.7}.outline-grid[data-v-076513b8]{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;max-width:1400px;margin:0 auto;padding:0 20px}.outline-card[data-v-076513b8]{display:flex;flex-direction:column;padding:16px;transition:all .2s ease;border:none;border-radius:8px;background:#fff;box-shadow:0 2px 8px #0000000a;min-height:360px;position:relative}.outline-card[data-v-076513b8]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014;z-index:10}.outline-card.dragging-over[data-v-076513b8]{border:2px dashed var(--primary);opacity:.8}.card-top-bar[data-v-076513b8]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f5f5f5}.page-info[data-v-076513b8]{display:flex;align-items:center;gap:8px}.page-number[data-v-076513b8]{font-size:14px;font-weight:700;color:#ccc;font-family:Inter,sans-serif}.page-type[data-v-076513b8]{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.page-type.cover[data-v-076513b8]{color:#1890ff;background:#e6f7ff}.page-type.content[data-v-076513b8]{color:#8c8c8c;background:#f5f5f5}.page-type.summary[data-v-076513b8]{color:#52c41a;background:#f6ffed}.card-controls[data-v-076513b8]{display:flex;gap:8px;opacity:.4;transition:opacity .2s}.outline-card:hover .card-controls[data-v-076513b8]{opacity:1}.drag-handle[data-v-076513b8]{cursor:grab;padding:2px}.drag-handle[data-v-076513b8]:active{cursor:grabbing}.icon-btn[data-v-076513b8]{background:none;border:none;cursor:pointer;color:#999;padding:2px;transition:color .2s}.icon-btn[data-v-076513b8]:hover{color:#1890ff}.textarea-paper[data-v-076513b8]{flex:1;width:100%;border:none;background:transparent;padding:0;font-size:16px;line-height:1.7;color:#333;resize:none;font-family:inherit;margin-bottom:10px}.textarea-paper[data-v-076513b8]:focus{outline:none}.word-count[data-v-076513b8]{text-align:right;font-size:11px;color:#ddd;margin-top:auto}.add-card-dashed[data-v-076513b8]{border:2px dashed #eee;background:transparent;box-shadow:none;display:flex;align-items:center;justify-content:center;cursor:pointer;min-height:360px;color:#ccc;transition:all .2s}.add-card-dashed[data-v-076513b8]:hover{border-color:var(--primary);color:var(--primary);background:#1890ff05}.add-content[data-v-076513b8]{text-align:center}.add-icon[data-v-076513b8]{font-size:32px;font-weight:300;margin-bottom:8px}.image-preview[data-v-a3bdfa3d]{aspect-ratio:3/4;overflow:hidden;position:relative;flex:1}.image-preview img[data-v-a3bdfa3d]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-a3bdfa3d]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.image-preview:hover .image-overlay[data-v-a3bdfa3d]{opacity:1}.overlay-btn[data-v-a3bdfa3d]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;color:#333;transition:all .2s}.overlay-btn[data-v-a3bdfa3d]:hover{background:var(--primary);color:#fff}.overlay-btn[data-v-a3bdfa3d]:disabled{opacity:.5;cursor:not-allowed}.image-placeholder[data-v-a3bdfa3d]{aspect-ratio:3/4;background:#f9f9f9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;flex:1;min-height:240px}.error-placeholder[data-v-a3bdfa3d]{background:#fff5f5}.error-icon[data-v-a3bdfa3d]{width:40px;height:40px;border-radius:50%;background:#1890ff;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.status-text[data-v-a3bdfa3d]{font-size:13px;color:var(--text-sub)}.retry-btn[data-v-a3bdfa3d]{margin-top:8px;padding:6px 16px;background:var(--primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:12px;transition:all .2s}.retry-btn[data-v-a3bdfa3d]:hover{opacity:.9;transform:translateY(-1px)}.retry-btn[data-v-a3bdfa3d]:disabled{opacity:.5;cursor:not-allowed;transform:none}.image-footer[data-v-a3bdfa3d]{padding:12px;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.page-label[data-v-a3bdfa3d]{font-size:12px;color:var(--text-sub)}.status-badge[data-v-a3bdfa3d]{font-size:10px;padding:2px 6px;border-radius:4px}.status-badge.done[data-v-a3bdfa3d]{background:#e6f7ed;color:#52c41a}.status-badge.generating[data-v-a3bdfa3d],.status-badge.retrying[data-v-a3bdfa3d]{background:#e6f4ff;color:#1890ff}.status-badge.error[data-v-a3bdfa3d]{background:#e6f7ff;color:#1890ff}.spinner[data-v-a3bdfa3d]{width:24px;height:24px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-a3bdfa3d 1s linear infinite}@keyframes spin-a3bdfa3d{to{transform:rotate(360deg)}}.content-display[data-v-0011dba3]{margin-top:32px}.generate-section[data-v-0011dba3]{text-align:center;padding:40px 20px;background:var(--bg-card);border-radius:var(--radius-xl);border:2px dashed var(--border-color)}.generate-btn[data-v-0011dba3]{display:inline-flex;align-items:center;gap:8px;padding:16px 32px;font-size:16px}.generate-btn svg[data-v-0011dba3]{width:20px;height:20px}.loading-section[data-v-0011dba3]{text-align:center;padding:60px 20px;background:var(--bg-card);border-radius:var(--radius-xl)}.loading-spinner[data-v-0011dba3]{width:48px;height:48px;border:3px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin-0011dba3 1s linear infinite;margin:0 auto 16px}.loading-section p[data-v-0011dba3]{color:var(--text-sub);font-size:16px}.error-section[data-v-0011dba3]{text-align:center;padding:40px 20px;background:#e6f7ff;border-radius:var(--radius-xl);border:1px solid #91D5FF}.error-icon[data-v-0011dba3]{width:48px;height:48px;background:#1890ff;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto 16px}.error-message[data-v-0011dba3]{color:#cf1322;margin-bottom:20px;white-space:pre-line}.result-section[data-v-0011dba3]{display:flex;flex-direction:column;gap:24px}.content-card[data-v-0011dba3]{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.card-header[data-v-0011dba3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-color)}.card-header h3[data-v-0011dba3]{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:var(--text-main);margin:0}.card-header h3 svg[data-v-0011dba3]{width:20px;height:20px;color:var(--primary)}.copy-btn[data-v-0011dba3]{display:flex;align-items:center;gap:4px;padding:6px 12px;font-size:13px;color:var(--text-sub);background:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all .2s ease}.copy-btn[data-v-0011dba3]:hover{background:var(--primary-light);color:var(--primary);border-color:var(--primary)}.copy-btn.copied[data-v-0011dba3]{background:#e6fffb;color:#13c2c2;border-color:#13c2c2}.copy-btn svg[data-v-0011dba3]{width:14px;height:14px}.titles-list[data-v-0011dba3]{display:flex;flex-direction:column;gap:12px}.title-item[data-v-0011dba3]{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--bg-body);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;position:relative}.title-item[data-v-0011dba3]:hover{background:var(--primary-light)}.title-badge[data-v-0011dba3]{flex-shrink:0;padding:4px 8px;font-size:12px;font-weight:500;border-radius:4px;background:var(--primary);color:#fff}.title-item:not(:first-child) .title-badge[data-v-0011dba3]{background:var(--text-sub)}.title-text[data-v-0011dba3]{flex:1;font-size:15px;color:var(--text-main);line-height:1.5}.copy-hint[data-v-0011dba3]{font-size:12px;color:var(--text-sub);opacity:0;transition:opacity .2s ease}.title-item:hover .copy-hint[data-v-0011dba3]{opacity:1}.copy-hint.show[data-v-0011dba3]{opacity:1;color:#13c2c2}.copywriting-content[data-v-0011dba3]{font-size:15px;line-height:1.8;color:var(--text-main)}.copywriting-content p[data-v-0011dba3]{margin:0 0 12px}.copywriting-content p[data-v-0011dba3]:last-child{margin-bottom:0}.tags-list[data-v-0011dba3]{display:flex;flex-wrap:wrap;gap:10px}.tag-item[data-v-0011dba3]{padding:8px 16px;font-size:14px;color:var(--primary);background:var(--primary-light);border-radius:20px;cursor:pointer;transition:all .2s ease}.tag-item[data-v-0011dba3]:hover{background:var(--primary);color:#fff}.tag-item.copied[data-v-0011dba3]{background:#13c2c2;color:#fff}.regenerate-section[data-v-0011dba3]{text-align:center;padding-top:8px}.regenerate-section .btn[data-v-0011dba3]{display:inline-flex;align-items:center;gap:8px}.regenerate-section .btn svg[data-v-0011dba3]{width:16px;height:16px}@keyframes spin-0011dba3{to{transform:rotate(360deg)}}.spinner[data-v-0011dba3]{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-0011dba3 .8s linear infinite}.image-card>div[data-v-fe609f3f]:first-child{flex:1;display:flex;flex-direction:column}.image-card:hover .hover-overlay[data-v-fe609f3f]{opacity:1}.image-card:hover img[data-v-fe609f3f]{transform:scale(1.05)}.stats-overview[data-v-4721398b]{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.stat-box[data-v-4721398b]{display:flex;align-items:center;gap:16px;padding:20px 24px;background:#fff;border-radius:12px;border:1px solid var(--border-color);transition:all .2s ease}.stat-box[data-v-4721398b]:hover{box-shadow:0 4px 12px #0000000d;transform:translateY(-2px)}.stat-icon-circle[data-v-4721398b]{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-icon-circle.blue[data-v-4721398b]{background:#3b82f61a;color:#3b82f6}.stat-icon-circle.green[data-v-4721398b]{background:#22c55e1a;color:#22c55e}.stat-icon-circle.orange[data-v-4721398b]{background:#f973161a;color:#f97316}.stat-content h4[data-v-4721398b]{font-size:13px;font-weight:500;color:var(--text-sub);margin:0 0 4px}.stat-content .number[data-v-4721398b]{font-size:28px;font-weight:700;color:var(--text-main);line-height:1}@media (max-width: 768px){.stats-overview[data-v-4721398b]{grid-template-columns:1fr;gap:12px}.stat-box[data-v-4721398b]{padding:16px 20px}.stat-content .number[data-v-4721398b]{font-size:24px}}.gallery-card[data-v-556e225e]{background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.04);transition:transform .2s cubic-bezier(.4,0,.2,1),box-shadow .2s cubic-bezier(.4,0,.2,1);position:relative;will-change:transform;contain:layout style paint}.gallery-card[data-v-556e225e]:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 12px 24px #00000014}.card-cover[data-v-556e225e]{aspect-ratio:3/4;background:#f7f7f7;position:relative;overflow:hidden;cursor:pointer}.card-cover img[data-v-556e225e]{width:100%;height:100%;object-fit:cover;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform;backface-visibility:hidden}.gallery-card:hover .card-cover img[data-v-556e225e]{transform:scale(1.05) translateZ(0)}.cover-placeholder[data-v-556e225e]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:#e0e0e0;font-weight:800;background:#fafafa}.card-overlay[data-v-556e225e]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);pointer-events:none;will-change:opacity}.gallery-card:hover .card-overlay[data-v-556e225e]{opacity:1;pointer-events:auto}.overlay-btn[data-v-556e225e]{padding:8px 24px;border-radius:100px;border:1px solid rgba(255,255,255,.8);background:#fff3;color:#fff;font-size:14px;cursor:pointer;transition:background-color .2s,color .2s,transform .1s;will-change:transform}.overlay-btn[data-v-556e225e]:hover{background:#fff;color:var(--text-main, #1a1a1a);transform:translateY(-2px)}.overlay-btn.primary[data-v-556e225e]{background:var(--primary, #1890FF);border-color:var(--primary, #1890FF)}.overlay-btn.primary[data-v-556e225e]:hover{background:var(--primary-hover, #40A9FF);color:#fff}.status-badge[data-v-556e225e]{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;background:#0009;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.status-badge.completed[data-v-556e225e]{background:#52c41ae6}.status-badge.draft[data-v-556e225e]{background:#00000080}.status-badge.generating[data-v-556e225e]{background:#1890ffe6}.card-footer[data-v-556e225e]{padding:16px}.card-title[data-v-556e225e]{font-size:15px;font-weight:600;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main, #1a1a1a)}.card-meta[data-v-556e225e]{display:flex;align-items:center;font-size:12px;color:var(--text-sub, #666)}.dot[data-v-556e225e]{margin:0 6px}.more-actions-wrapper[data-v-556e225e]{margin-left:auto}.more-btn[data-v-556e225e]{background:none;border:none;color:var(--text-placeholder, #ccc);cursor:pointer;padding:4px;border-radius:4px;transition:background-color .2s,color .2s}.more-btn[data-v-556e225e]:hover{background:#e6f7ff;color:#1890ff}.modal-fullscreen[data-v-44d9ccfc]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:999;display:flex;align-items:center;justify-content:center;padding:40px}.modal-body[data-v-44d9ccfc]{background:#fff;width:100%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-44d9ccfc]{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:flex-start;flex-shrink:0;gap:20px}.title-section[data-v-44d9ccfc]{display:flex;align-items:flex-start;gap:12px;margin-bottom:4px}.modal-title[data-v-44d9ccfc]{flex:1;margin:0;font-size:18px;font-weight:600;line-height:1.4;color:#1a1a1a;word-break:break-word;transition:max-height .3s ease}.modal-title.collapsed[data-v-44d9ccfc]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.title-expand-btn[data-v-44d9ccfc]{flex-shrink:0;padding:2px 8px;background:#f0f0f0;border:none;border-radius:4px;cursor:pointer;font-size:11px;color:#666;transition:all .2s;margin-top:2px}.title-expand-btn[data-v-44d9ccfc]:hover{background:var(--primary, #1890FF);color:#fff}.modal-meta[data-v-44d9ccfc]{font-size:12px;color:#999;display:flex;align-items:center;gap:12px;margin-top:8px}.view-outline-btn[data-v-44d9ccfc]{display:flex;align-items:center;gap:4px;padding:4px 10px;background:#fff;border:1px solid #dee2e6;border-radius:4px;cursor:pointer;font-size:12px;color:#495057;transition:all .2s}.view-outline-btn[data-v-44d9ccfc]:hover{background:var(--primary, #1890FF);color:#fff;border-color:var(--primary, #1890FF)}.header-actions[data-v-44d9ccfc]{display:flex;gap:12px;align-items:center}.download-btn[data-v-44d9ccfc]{padding:8px 16px;font-size:14px;display:flex;align-items:center;gap:6px}.close-icon[data-v-44d9ccfc]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}.close-icon[data-v-44d9ccfc]:hover{color:#333}.modal-gallery-grid[data-v-44d9ccfc]{flex:1;overflow-y:auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.modal-img-item[data-v-44d9ccfc]{display:flex;flex-direction:column}.modal-img-preview[data-v-44d9ccfc]{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;contain:layout style paint}.modal-img-preview img[data-v-44d9ccfc]{width:100%;height:100%;object-fit:cover}.modal-img-overlay[data-v-44d9ccfc]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s ease-out;pointer-events:none;will-change:opacity}.modal-img-preview:hover .modal-img-overlay[data-v-44d9ccfc],.modal-img-preview.regenerating .modal-img-overlay[data-v-44d9ccfc]{opacity:1;pointer-events:auto}.modal-img-preview.regenerating .regenerate-icon[data-v-44d9ccfc]{animation:spin-44d9ccfc 1s linear infinite}@keyframes spin-44d9ccfc{to{transform:rotate(360deg)}}.modal-overlay-btn[data-v-44d9ccfc]{display:flex;align-items:center;gap:6px;padding:8px 16px;background:#fff;border:none;border-radius:6px;cursor:pointer;font-size:13px;color:#333;transition:background-color .2s,color .2s,transform .1s;will-change:transform}.modal-overlay-btn[data-v-44d9ccfc]:hover{background:var(--primary, #1890FF);color:#fff;transform:scale(1.05)}.modal-overlay-btn[data-v-44d9ccfc]:disabled{opacity:.5;cursor:not-allowed;transform:none}.placeholder[data-v-44d9ccfc]{width:100%;aspect-ratio:3/4;background:#f5f5f5;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#999;font-size:14px}.img-footer[data-v-44d9ccfc]{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;color:#666}.download-link[data-v-44d9ccfc]{cursor:pointer;color:var(--primary, #1890FF);transition:opacity .2s}.download-link[data-v-44d9ccfc]:hover{opacity:.7}@media (max-width: 768px){.modal-fullscreen[data-v-44d9ccfc]{padding:20px}.modal-gallery-grid[data-v-44d9ccfc]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:12px}}.outline-modal-overlay[data-v-523bebaa]{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:1000;display:flex;align-items:center;justify-content:center;padding:40px}.outline-modal-content[data-v-523bebaa]{background:#fff;width:100%;max-width:800px;max-height:85vh;border-radius:12px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 20px 60px #0000004d}.outline-modal-header[data-v-523bebaa]{padding:20px 24px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.outline-modal-header h3[data-v-523bebaa]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.close-icon[data-v-523bebaa]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1;transition:color .2s}.close-icon[data-v-523bebaa]:hover{color:#333}.outline-modal-body[data-v-523bebaa]{flex:1;overflow-y:auto;padding:20px 24px;background:#f9fafb}.outline-page-card[data-v-523bebaa]{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid #e5e7eb;transition:all .2s;box-shadow:0 1px 3px #0000000d}.outline-page-card[data-v-523bebaa]:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.outline-page-card[data-v-523bebaa]:last-child{margin-bottom:0}.outline-page-card-header[data-v-523bebaa]{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.page-badge[data-v-523bebaa]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:24px;padding:0 8px;background:var(--primary, #1890FF);color:#fff;border-radius:4px;font-size:12px;font-weight:700;font-family:Inter,sans-serif}.page-type-badge[data-v-523bebaa]{display:inline-flex;align-items:center;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600;background:#e9ecef;color:#6c757d}.page-type-badge.cover[data-v-523bebaa]{background:#e3f2fd;color:#1976d2}.page-type-badge.content[data-v-523bebaa]{background:#f3e5f5;color:#7b1fa2}.page-type-badge.summary[data-v-523bebaa]{background:#e8f5e9;color:#388e3c}.word-count[data-v-523bebaa]{margin-left:auto;font-size:11px;color:#999}.outline-page-card-content[data-v-523bebaa]{font-size:14px;line-height:1.8;color:#374151;white-space:pre-wrap;word-break:break-word;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}@media (max-width: 768px){.outline-modal-overlay[data-v-523bebaa]{padding:20px}.outline-modal-content[data-v-523bebaa]{max-height:90vh}.outline-modal-header[data-v-523bebaa],.outline-modal-body[data-v-523bebaa]{padding:16px 20px}}.spinner-small[data-v-af7cee68]{width:16px;height:16px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-af7cee68 1s linear infinite;display:inline-block}@keyframes spin-af7cee68{to{transform:rotate(360deg)}}.toolbar-wrapper[data-v-af7cee68]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.search-mini[data-v-af7cee68]{position:relative;width:240px;margin-bottom:10px}.search-mini input[data-v-af7cee68]{width:100%;padding:8px 12px 8px 36px;border-radius:100px;border:1px solid var(--border-color);font-size:14px;background:#fff;transition:border-color .2s,box-shadow .2s}.search-mini input[data-v-af7cee68]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-light)}.search-mini .icon[data-v-af7cee68]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ccc}.gallery-grid[data-v-af7cee68]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:40px}.pagination-wrapper[data-v-af7cee68]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px}.page-btn[data-v-af7cee68]{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer}.page-btn[data-v-af7cee68]:disabled{opacity:.5;cursor:not-allowed}.empty-state-large[data-v-af7cee68]{text-align:center;padding:80px 0;color:var(--text-sub)}.empty-img[data-v-af7cee68]{font-size:64px;opacity:.5}.empty-state-large .empty-tips[data-v-af7cee68]{margin-top:10px;color:var(--text-placeholder)}.provider-table[data-v-25df2ec2]{border:1px solid var(--border-color, #eee);border-radius:8px;overflow:hidden}.table-header[data-v-25df2ec2]{display:grid;grid-template-columns:80px 1fr 1fr 1.5fr 120px;gap:12px;padding:12px 16px;background:#f9fafb;border-bottom:1px solid var(--border-color, #eee);font-size:12px;font-weight:600;color:var(--text-sub, #666);text-transform:uppercase}.table-row[data-v-25df2ec2]{display:grid;grid-template-columns:80px 1fr 1fr 1.5fr 120px;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border-color, #eee);align-items:center;transition:background-color .2s}.table-row[data-v-25df2ec2]:last-child{border-bottom:none}.table-row[data-v-25df2ec2]:hover{background:#f9fafb}.table-row.active[data-v-25df2ec2]{background:#1890ff05}.btn-activate[data-v-25df2ec2]{padding:4px 10px;border-radius:4px;font-size:12px;font-weight:500;border:1px solid var(--border-color, #eee);background:#fff;color:var(--text-sub, #666);cursor:pointer;transition:all .2s}.btn-activate[data-v-25df2ec2]:hover:not(:disabled){border-color:var(--primary, #1890FF);color:var(--primary, #1890FF)}.btn-activate.active[data-v-25df2ec2]{background:#22c55e1a;border-color:#22c55e;color:#22c55e;cursor:default}.provider-name[data-v-25df2ec2]{font-weight:600;color:var(--text-main, #1a1a1a)}.model-name[data-v-25df2ec2]{font-family:Monaco,Menlo,monospace;font-size:12px;color:var(--text-sub, #666);background:#f5f5f5;padding:2px 6px;border-radius:4px}.apikey-masked[data-v-25df2ec2]{font-size:12px;font-family:Monaco,Menlo,monospace;color:#6b7280;word-break:break-all}.apikey-masked.empty[data-v-25df2ec2]{color:#f59e0b}.col-actions[data-v-25df2ec2]{display:flex;gap:8px;justify-content:flex-end}.btn-icon[data-v-25df2ec2]{width:32px;height:32px;border-radius:6px;border:1px solid var(--border-color, #eee);background:#fff;color:var(--text-sub, #666);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.btn-icon[data-v-25df2ec2]:hover{border-color:var(--primary, #1890FF);color:var(--primary, #1890FF);background:#1890ff0d}.btn-icon.danger[data-v-25df2ec2]:hover{border-color:#ef4444;color:#ef4444;background:#ef44440d}@media (max-width: 768px){.table-header[data-v-25df2ec2],.table-row[data-v-25df2ec2]{grid-template-columns:70px 1fr 100px}.col-model[data-v-25df2ec2],.col-apikey[data-v-25df2ec2]{display:none}}.modal-overlay[data-v-5fea96c7]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-5fea96c7]{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header[data-v-5fea96c7]{padding:20px 24px;border-bottom:1px solid var(--border-color, #eee);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-5fea96c7]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-5fea96c7]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.close-btn[data-v-5fea96c7]:hover{color:#333}.modal-body[data-v-5fea96c7]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-5fea96c7]{margin-bottom:20px}.form-group[data-v-5fea96c7]:last-child{margin-bottom:0}.form-group label[data-v-5fea96c7]{display:block;font-size:14px;font-weight:500;color:var(--text-main, #1a1a1a);margin-bottom:8px}.form-input[data-v-5fea96c7]{width:100%;padding:10px 12px;border:1px solid var(--border-color, #eee);border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input[data-v-5fea96c7]:focus{outline:none;border-color:var(--primary, #1890FF);box-shadow:0 0 0 3px #1890ff1a}.form-select[data-v-5fea96c7]{width:100%;padding:10px 12px;border:1px solid var(--border-color, #eee);border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.form-hint[data-v-5fea96c7]{display:block;font-size:12px;color:var(--text-sub, #666);margin-top:6px}.modal-footer[data-v-5fea96c7]{padding:16px 24px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-5fea96c7]{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border-color, #eee);background:#fff;color:var(--text-main, #1a1a1a);transition:all .2s}.btn[data-v-5fea96c7]:hover{background:#f5f5f5}.btn-primary[data-v-5fea96c7]{background:var(--primary, #1890FF);border-color:var(--primary, #1890FF);color:#fff}.btn-primary[data-v-5fea96c7]:hover{background:var(--primary-hover, #40A9FF)}.btn-secondary[data-v-5fea96c7]{background:#f0f0f0;border-color:#ddd;color:#333}.btn-secondary[data-v-5fea96c7]:hover{background:#e5e5e5}.btn[data-v-5fea96c7]:disabled{opacity:.5;cursor:not-allowed}.spinner-small[data-v-5fea96c7]{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-5fea96c7 1s linear infinite;margin-right:6px}@keyframes spin-5fea96c7{to{transform:rotate(360deg)}}.modal-overlay[data-v-b7614209]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-b7614209]{background:#fff;border-radius:12px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003}.modal-header[data-v-b7614209]{padding:20px 24px;border-bottom:1px solid var(--border-color, #eee);display:flex;justify-content:space-between;align-items:center}.modal-header h3[data-v-b7614209]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-b7614209]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.close-btn[data-v-b7614209]:hover{color:#333}.modal-body[data-v-b7614209]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-b7614209]{margin-bottom:20px}.form-group[data-v-b7614209]:last-child{margin-bottom:0}.form-group label[data-v-b7614209]{display:block;font-size:14px;font-weight:500;color:var(--text-main, #1a1a1a);margin-bottom:8px}.form-input[data-v-b7614209]{width:100%;padding:10px 12px;border:1px solid var(--border-color, #eee);border-radius:8px;font-size:14px;transition:border-color .2s,box-shadow .2s}.form-input[data-v-b7614209]:focus{outline:none;border-color:var(--primary, #1890FF);box-shadow:0 0 0 3px #1890ff1a}.form-select[data-v-b7614209]{width:100%;padding:10px 12px;border:1px solid var(--border-color, #eee);border-radius:8px;font-size:14px;background:#fff;cursor:pointer}.form-hint[data-v-b7614209]{display:block;font-size:12px;color:var(--text-sub, #666);margin-top:6px}.toggle-label[data-v-b7614209]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-switch[data-v-b7614209]{width:44px;height:24px;background:#d1d5db;border-radius:12px;position:relative;transition:background .2s;flex-shrink:0}.toggle-switch.active[data-v-b7614209]{background:var(--primary, #1890FF)}.toggle-slider[data-v-b7614209]{width:20px;height:20px;background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .2s;box-shadow:0 1px 3px #0003}.toggle-switch.active .toggle-slider[data-v-b7614209]{transform:translate(20px)}.modal-footer[data-v-b7614209]{padding:16px 24px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-b7614209]{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;border:1px solid var(--border-color, #eee);background:#fff;color:var(--text-main, #1a1a1a);transition:all .2s}.btn[data-v-b7614209]:hover{background:#f5f5f5}.btn-primary[data-v-b7614209]{background:var(--primary, #1890FF);border-color:var(--primary, #1890FF);color:#fff}.btn-primary[data-v-b7614209]:hover{background:var(--primary-hover, #40A9FF)}.btn-secondary[data-v-b7614209]{background:#f0f0f0;border-color:#ddd;color:#333}.btn-secondary[data-v-b7614209]:hover{background:#e5e5e5}.btn[data-v-b7614209]:disabled{opacity:.5;cursor:not-allowed}.spinner-small[data-v-b7614209]{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-b7614209 1s linear infinite;margin-right:6px}@keyframes spin-b7614209{to{transform:rotate(360deg)}}.settings-container[data-v-25e43a4e]{max-width:900px;margin:0 auto}.section-header[data-v-25e43a4e]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.section-title[data-v-25e43a4e]{font-size:18px;font-weight:600;margin-bottom:4px;color:#1a1a1a}.section-desc[data-v-25e43a4e]{font-size:14px;color:#666;margin:0}.btn-small[data-v-25e43a4e]{padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.loading-container[data-v-25e43a4e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#666}.login-container[data-v-9dc34de8]{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow-y:auto;position:relative;z-index:1}.login-card[data-v-9dc34de8]{background:#fffffff2;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:450px;padding:50px 60px;animation:fadeIn-9dc34de8 .6s ease-out}.login-header[data-v-9dc34de8]{text-align:center;margin-bottom:36px}.brand-pill[data-v-9dc34de8]{display:inline-block;padding:6px 16px;background:#1890ff14;color:var(--primary);border-radius:100px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.5px}.page-title[data-v-9dc34de8]{font-size:36px;font-weight:800;color:var(--text-main);margin:0 0 12px;letter-spacing:-1px}.page-subtitle[data-v-9dc34de8]{font-size:16px;color:var(--text-sub);margin:0;line-height:1.6}.login-form[data-v-9dc34de8]{margin-bottom:24px}.error-message[data-v-9dc34de8]{background:#1890ff;color:#fff;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #1890ff33}.form-group[data-v-9dc34de8]{margin-bottom:20px}.form-group label[data-v-9dc34de8]{display:block;font-size:14px;font-weight:500;color:var(--text-main);margin-bottom:8px}.form-group input[data-v-9dc34de8]{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:all .2s;box-sizing:border-box;background:#fff;color:var(--text-main)}.form-group input[data-v-9dc34de8]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1890ff1a}.form-group input[data-v-9dc34de8]:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.form-group input[data-v-9dc34de8]::placeholder{color:var(--text-placeholder)}.submit-button[data-v-9dc34de8]{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.submit-button[data-v-9dc34de8]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.submit-button[data-v-9dc34de8]:active:not(:disabled){transform:translateY(0)}.submit-button[data-v-9dc34de8]:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-footer[data-v-9dc34de8]{text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.login-footer p[data-v-9dc34de8]{color:var(--text-sub);font-size:14px;margin:0}.link[data-v-9dc34de8]{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s}.link[data-v-9dc34de8]:hover{color:var(--primary-hover);text-decoration:underline}@keyframes fadeIn-9dc34de8{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.register-container[data-v-ce9ef66d]{position:fixed;top:0;left:0;right:0;bottom:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;overflow-y:auto;position:relative;z-index:1}.register-card[data-v-ce9ef66d]{background:#fffffff2;border-radius:var(--radius-xl);box-shadow:0 8px 32px #0000000f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:100%;max-width:450px;padding:50px 60px;animation:fadeIn-ce9ef66d .6s ease-out}.register-header[data-v-ce9ef66d]{text-align:center;margin-bottom:36px}.brand-pill[data-v-ce9ef66d]{display:inline-block;padding:6px 16px;background:#1890ff14;color:var(--primary);border-radius:100px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.5px}.page-title[data-v-ce9ef66d]{font-size:36px;font-weight:800;color:var(--text-main);margin:0 0 12px;letter-spacing:-1px}.page-subtitle[data-v-ce9ef66d]{font-size:16px;color:var(--text-sub);margin:0;line-height:1.6}.register-form[data-v-ce9ef66d]{margin-bottom:24px}.error-message[data-v-ce9ef66d]{background:#1890ff;color:#fff;padding:12px 16px;border-radius:var(--radius-md);margin-bottom:20px;font-size:14px;display:flex;align-items:center;gap:8px;box-shadow:0 4px 12px #1890ff33}.form-group[data-v-ce9ef66d]{margin-bottom:20px}.form-group label[data-v-ce9ef66d]{display:block;font-size:14px;font-weight:500;color:var(--text-main);margin-bottom:8px}.form-group input[data-v-ce9ef66d]{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:14px;transition:all .2s;box-sizing:border-box;background:#fff;color:var(--text-main)}.form-group input[data-v-ce9ef66d]:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #1890ff1a}.form-group input[data-v-ce9ef66d]:disabled{background:#f7fafc;cursor:not-allowed;opacity:.6}.form-group input[data-v-ce9ef66d]::placeholder{color:var(--text-placeholder)}.submit-button[data-v-ce9ef66d]{width:100%;padding:14px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:8px}.submit-button[data-v-ce9ef66d]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff4d}.submit-button[data-v-ce9ef66d]:active:not(:disabled){transform:translateY(0)}.submit-button[data-v-ce9ef66d]:disabled{opacity:.6;cursor:not-allowed;transform:none}.register-footer[data-v-ce9ef66d]{text-align:center;padding-top:24px;border-top:1px solid var(--border-color)}.register-footer p[data-v-ce9ef66d]{color:var(--text-sub);font-size:14px;margin:0}.link[data-v-ce9ef66d]{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s}.link[data-v-ce9ef66d]:hover{color:var(--primary-hover);text-decoration:underline}@keyframes fadeIn-ce9ef66d{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.admin-container[data-v-3f8776ea]{max-width:1400px}.admin-content[data-v-3f8776ea]{margin-top:20px}.search-bar[data-v-3f8776ea]{display:flex;gap:12px;margin-bottom:20px;align-items:center}.search-mini[data-v-3f8776ea]{flex:1;max-width:400px}.admin-table[data-v-3f8776ea]{width:100%;border-collapse:collapse;font-size:14px}.admin-table thead[data-v-3f8776ea]{background:var(--bg-card);border-bottom:2px solid var(--border-color)}.admin-table th[data-v-3f8776ea]{padding:12px;text-align:left;font-weight:600;color:var(--text-main)}.admin-table td[data-v-3f8776ea]{padding:12px;border-bottom:1px solid var(--border-color)}.admin-table tbody tr[data-v-3f8776ea]:hover{background:var(--primary-fade)}.badge[data-v-3f8776ea]{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.badge-success[data-v-3f8776ea]{background:#10b981;color:#fff}.badge-danger[data-v-3f8776ea]{background:#ef4444;color:#fff}.badge-primary[data-v-3f8776ea]{background:var(--primary);color:#fff}.badge-info[data-v-3f8776ea]{background:#3b82f6;color:#fff}.text-warning[data-v-3f8776ea]{color:#f59e0b;font-weight:600}.text-secondary[data-v-3f8776ea]{color:var(--text-secondary)}.action-buttons[data-v-3f8776ea]{display:flex;gap:8px}.btn-icon[data-v-3f8776ea]{background:none;border:none;padding:4px;cursor:pointer;color:var(--text-sub);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-icon[data-v-3f8776ea]:hover{background:var(--primary-fade);color:var(--primary)}.modal-overlay[data-v-3f8776ea]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content[data-v-3f8776ea]{background:#fff;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:600px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.modal-large[data-v-3f8776ea]{max-width:900px}.modal-header[data-v-3f8776ea]{padding:20px;border-bottom:1px solid var(--border-color);display:flex;justify-content:space-between;align-items:center}.modal-header h2[data-v-3f8776ea]{margin:0;font-size:18px;font-weight:600}.modal-body[data-v-3f8776ea]{padding:20px;overflow-y:auto;flex:1}.modal-footer[data-v-3f8776ea]{padding:20px;border-top:1px solid var(--border-color);display:flex;justify-content:flex-end;gap:12px}.form-group[data-v-3f8776ea]{margin-bottom:20px}.form-group label[data-v-3f8776ea]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-main)}.form-group input[type=text][data-v-3f8776ea],.form-group input[type=number][data-v-3f8776ea]{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:14px}.form-group input[type=text][data-v-3f8776ea]:disabled{background:var(--bg-body);color:var(--text-secondary)}.radio-group[data-v-3f8776ea]{display:flex;gap:20px}.radio-group label[data-v-3f8776ea]{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-group input[type=radio][data-v-3f8776ea]{margin:0}.error-toast[data-v-3f8776ea]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#1890ff;color:#fff;padding:12px 24px;border-radius:50px;box-shadow:0 8px 24px #1890ff4d;display:flex;align-items:center;gap:8px;z-index:1001;animation:slideUp-3f8776ea .3s ease-out}@keyframes slideUp-3f8776ea{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}:root{--bg-body: #F4F5F7;--bg-sidebar: #FFFFFF;--bg-card: #FFFFFF;--primary: #1890FF;--primary-hover: #40A9FF;--primary-active: #096DD9;--primary-light: #E6F7FF;--primary-fade: rgba(24, 144, 255, .08);--text-main: #333333;--text-sub: #666666;--text-secondary: #999999;--text-placeholder: #CCCCCC;--border-color: #EEEEEE;--border-hover: #E0E0E0;--radius-xl: 24px;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 8px 24px rgba(0, 0, 0, .06);--shadow-lg: 0 12px 48px rgba(0, 0, 0, .1);--shadow-hover: 0 16px 48px rgba(0, 0, 0, .08);--sidebar-width: 260px;--header-height: 64px}html,body{height:100%;margin:0;padding:0}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;background-color:var(--bg-body);color:var(--text-main);-webkit-font-smoothing:antialiased;line-height:1.6}#app{display:flex;min-height:100vh;width:100%}.layout-sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);height:100vh;position:fixed;left:0;top:0;border-right:1px solid var(--border-color);padding:32px 24px;display:flex;flex-direction:column;z-index:100;transition:all .3s ease}.layout-main{margin-left:var(--sidebar-width);flex:1;padding:40px 60px;min-height:100vh;background:linear-gradient(135deg,#fafafa,#f4f5f7);display:flex;flex-direction:column}.logo-area{display:flex;align-items:center;margin-bottom:48px;padding-left:0}.logo-icon{width:100%;max-width:200px;height:auto;object-fit:contain}.logo-text{display:none}.nav-menu{display:flex;flex-direction:column;gap:8px}.nav-item{display:flex;align-items:center;gap:14px;padding:14px 18px;border-radius:var(--radius-md);color:var(--text-sub);text-decoration:none;font-weight:500;transition:all .2s ease;font-size:15px}.nav-item:hover{background:#f9fafb;color:var(--primary)}.nav-item.active{background:var(--primary-light);color:var(--primary)}.container{width:100%;max-width:1200px;margin:0 auto}.page-header{margin-bottom:32px;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}.page-title{font-size:36px;font-weight:800;color:var(--text-main);margin-bottom:12px;letter-spacing:-1px}.page-subtitle{font-size:18px;color:var(--text-sub);max-width:600px;margin:0 auto;line-height:1.6}.section-title{font-size:20px;font-weight:700;margin-bottom:20px;color:var(--text-main);display:flex;align-items:center;gap:8px}.global-footer{margin-top:80px;padding:32px 0 24px;border-top:1px solid var(--border-color);background:transparent}.footer-content{display:flex;flex-direction:column;align-items:center;gap:8px}.footer-tip{font-size:14px;color:var(--text-sub);margin-bottom:4px}.footer-tip a{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s ease}.footer-tip a:hover{color:var(--primary-hover);text-decoration:underline}.footer-text{font-size:14px;color:var(--text-sub);font-weight:500}.footer-text a{color:var(--primary);text-decoration:none;font-weight:600;transition:all .2s ease}.footer-text a:hover{color:var(--primary-hover);text-decoration:underline}.footer-license{font-size:13px;color:var(--text-placeholder)}.footer-license a{color:var(--text-sub);text-decoration:none;transition:all .2s ease}.footer-license a:hover{color:var(--primary);text-decoration:underline}.card{background:var(--bg-card);border-radius:var(--radius-xl);padding:32px;box-shadow:var(--shadow-sm);margin-bottom:24px;border:1px solid rgba(0,0,0,.02);transition:all .3s cubic-bezier(.25,.8,.25,1);min-width:0}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 24px;border-radius:50px;font-weight:600;font-size:16px;cursor:pointer;transition:all .3s ease;border:none;outline:none;gap:8px;-webkit-user-select:none;user-select:none}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#40A9FF 100%);color:#fff;box-shadow:0 4px 12px #1890ff4d}.btn-primary:hover{background:linear-gradient(135deg,#40a9ff,#69c0ff);transform:translateY(-2px);box-shadow:0 8px 20px #1890ff66}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #1890ff4d}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none;filter:grayscale(20%)}.btn-secondary{background:#fff;color:var(--text-main);border:1px solid #d1d5db;box-shadow:0 1px 3px #0000001a}.btn-secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af;transform:translateY(-2px);box-shadow:0 4px 8px #00000026}.btn-secondary:active{transform:translateY(0);box-shadow:0 1px 3px #0000001a}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.input{width:100%;padding:20px 32px;background:#fff;border:2px solid transparent;border-radius:100px;font-size:17px;color:var(--text-main);transition:all .3s ease;box-shadow:0 4px 16px #0000000a}.input:focus{border-color:var(--primary);background:#fff;box-shadow:0 8px 24px #1890ff1f;outline:none}.input::placeholder{color:var(--text-placeholder);font-weight:400}.tag-cloud{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.tag{padding:10px 20px;background:#f7f8fa;border:1px solid transparent;border-radius:100px;font-size:14px;color:var(--text-sub);cursor:pointer;transition:all .2s ease;font-weight:500}.tag:hover{background:#fff;border-color:var(--primary);color:var(--primary);box-shadow:0 4px 12px #1890ff1a;transform:translateY(-2px)}.tabs-container{display:flex;gap:24px;border-bottom:1px solid var(--border-color);margin-bottom:24px}.tab-item{padding:12px 4px;font-size:15px;font-weight:500;color:var(--text-sub);cursor:pointer;position:relative;transition:all .3s}.tab-item:hover{color:var(--text-main)}.tab-item.active{color:var(--primary);font-weight:600}.tab-item.active:after{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--primary);border-radius:2px 2px 0 0}.icon-xs{width:14px;height:14px;vertical-align:text-bottom;margin-right:2px;display:inline-block}.spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}.spinner-sm{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-radius:50%;border-top-color:#fff;animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-container{width:100%;background:#f0f0f0;border-radius:100px;height:8px;overflow:hidden}.progress-bar{height:100%;background:var(--primary);border-radius:100px;transition:width .4s ease}.error-msg{background:#e6f7ff;border:1px solid #91D5FF;color:#1890ff;padding:12px 16px;border-radius:var(--radius-sm);font-size:14px;margin-top:16px}.grid-cols-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.grid-cols-4{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.image-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid #f0f0f0;transition:all .2s ease;display:flex;flex-direction:column;min-height:320px}.image-card:hover{box-shadow:0 4px 16px #00000014;transform:translateY(-2px)}.modal-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000e6;z-index:999;display:flex;align-items:center;justify-content:center;padding:40px}.modal-body{background:#fff;width:100%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.modal-header{padding:20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.close-icon{background:none;border:none;font-size:24px;cursor:pointer}.hero-section{text-align:center;margin-bottom:50px;padding:30px 0;animation:fadeIn .6s ease-out}.hero-content{margin-bottom:36px}.brand-pill{display:inline-block;padding:6px 16px;background:#1890ff14;color:var(--primary);border-radius:100px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.5px}.composer-container{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:20px;max-width:720px;margin:0 auto 40px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--border-color);transition:all .3s ease}.composer-container:focus-within{box-shadow:0 8px 30px #0000001f;border-color:var(--primary)}.composer-input-wrapper{position:relative;display:flex;align-items:flex-start;gap:12px}.search-icon-static{padding-top:8px;color:#999;flex-shrink:0}.composer-textarea{flex:1;border:none;outline:none;font-size:16px;line-height:1.6;resize:none;padding:8px 0;font-family:inherit;min-height:56px;max-height:300px;color:var(--text-main);background:transparent}.composer-textarea::placeholder{color:var(--text-placeholder)}.composer-toolbar{display:flex;justify-content:space-between;align-items:center;padding-top:16px;border-top:1px solid #f0f0f0}.toolbar-left{display:flex;gap:16px}.tool-btn{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#666;background:#f9f9f9;transition:all .2s;position:relative;border:none}.tool-btn:hover{background:#f0f0f0;color:var(--text-main)}.tool-btn.active{color:var(--primary);background:#1890ff14}.badge-count{position:absolute;top:-6px;right:-6px;background:var(--primary);color:#fff;font-size:11px;min-width:18px;height:18px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-weight:600;border:2px solid white}.generate-btn{padding:10px 32px;height:44px;font-size:15px;border-radius:22px;background:var(--primary);color:#fff;border:none;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px}.generate-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #1890ff33}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.uploaded-images-preview{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#fafafa;border-radius:12px;align-items:center;border:1px dashed #eee;margin-bottom:8px}.scenarios-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin-bottom:40px}.scenario-card{background:#fff;border-radius:16px;padding:20px;text-align:center;cursor:pointer;transition:all .3s ease;border:1px solid transparent;box-shadow:var(--shadow-sm)}.scenario-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary-light)}.scenario-icon-box{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;transition:all .3s ease}.scenario-icon-box svg{width:28px;height:28px;transition:transform .3s ease}.scenario-card:hover .scenario-icon-box svg{transform:scale(1.1)}.scenario-icon-box.soft-red{background:#e6f7ff;color:#1890ff}.scenario-icon-box.soft-pink{background:#fff0f6;color:#eb2f96}.scenario-icon-box.soft-orange{background:#fff7e6;color:#fa8c16}.scenario-icon-box.soft-green{background:#f6ffed;color:#52c41a}.scenario-icon-box.soft-blue{background:#e6f7ff;color:#1890ff}.scenario-icon-box.soft-purple{background:#f9f0ff;color:#722ed1}.scenario-title{font-weight:600;font-size:15px;color:var(--text-main);margin-bottom:6px}.scenario-desc{font-size:12px;color:var(--text-sub)}.dashboard-grid{display:grid;grid-template-columns:1.8fr 1fr;gap:24px;animation:slideUp .6s ease-out .2s backwards}.feature-card{height:100%;min-height:280px;display:flex;flex-direction:column;padding:24px}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.header-left{display:flex;align-items:center;gap:12px}.section-title-sm{font-size:16px;font-weight:700;margin:0}.icon-box{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff}.icon-box.purple{background:linear-gradient(135deg,#9f7aea,#805ad5);box-shadow:0 4px 12px #805ad533}.icon-box.orange{background:linear-gradient(135deg,#f6ad55,#ed8936);box-shadow:0 4px 12px #ed893633}.btn-text{background:none;border:none;color:var(--text-sub);font-size:13px;cursor:pointer}.btn-text:hover{color:var(--primary)}.recent-list{display:flex;flex-direction:column;gap:12px}.recent-item{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;background:#f9fafb;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.recent-item:hover{background:#fff;border-color:var(--border-color);box-shadow:0 4px 12px #0000000d;transform:translateY(-1px)}.recent-icon{width:44px;height:44px;background:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#666;flex-shrink:0;border:1px solid rgba(0,0,0,.04);transition:all .2s}.recent-item:hover .recent-icon{color:var(--primary);border-color:#1890ff33;background:#e6f7ff}.recent-info{flex:1;overflow:hidden;display:flex;flex-direction:column;justify-content:center;min-width:0}.recent-title{font-size:15px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:4px}.recent-date{font-size:12px;color:var(--text-sub)}.recent-arrow{color:var(--text-placeholder);font-size:18px;opacity:0;transition:all .2s;transform:translate(-10px)}.recent-item:hover .recent-arrow{opacity:1;transform:translate(0);color:var(--primary)}.trend-list{display:flex;flex-direction:column;gap:8px}.trend-item{display:flex;align-items:center;padding:10px 12px;cursor:pointer;transition:all .2s;border-radius:8px}.trend-item:hover{background:#f9fafb}.trend-rank{width:24px;text-align:center;font-weight:800;font-size:16px;margin-right:12px;color:var(--text-placeholder);font-style:italic;font-family:Inter,monospace}.trend-rank.rank-1{color:#1890ff}.trend-rank.rank-2{color:#40a9ff}.trend-rank.rank-3{color:#69c0ff}.trend-name{font-weight:500;color:var(--text-main);flex:1;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trend-hot{font-size:12px;color:var(--text-sub);display:flex;align-items:center;margin-left:8px}.empty-state-mini{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-placeholder);font-size:14px;background:#fafafa;border-radius:12px;border:1px dashed #eee;min-height:120px}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}.scenarios-grid{grid-template-columns:repeat(2,1fr)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.stats-overview{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:32px}.stat-box{background:#fff;padding:24px;border-radius:16px;display:flex;align-items:center;gap:20px;box-shadow:var(--shadow-sm)}.stat-icon-circle{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-icon-circle.blue{background:#e6f7ff;color:#1890ff}.stat-icon-circle.green{background:#f6ffed;color:#52c41a}.stat-icon-circle.orange{background:#fff7e6;color:#fa8c16}.stat-content h4{font-size:14px;color:var(--text-sub);font-weight:500;margin-bottom:4px}.stat-content .number{font-size:28px;font-weight:700;color:var(--text-main)}.toolbar-wrapper{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;border-bottom:1px solid var(--border-color);padding-bottom:0}.search-mini{position:relative;width:240px;margin-bottom:10px}.search-mini input{width:100%;padding:8px 12px 8px 36px;border-radius:100px;border:1px solid var(--border-color);font-size:14px;background:#fff;transition:all .2s}.search-mini input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-light)}.search-mini .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ccc}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:40px}.gallery-card{background:#fff;border-radius:12px;overflow:hidden;border:1px solid rgba(0,0,0,.04);transition:all .2s;position:relative}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000014}.card-cover{aspect-ratio:3/4;background:#f7f7f7;position:relative;overflow:hidden;cursor:pointer}.card-cover img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.gallery-card:hover .card-cover img{transform:scale(1.05)}.cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;color:#e0e0e0;font-weight:800;background:#fafafa}.card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;transition:all .2s;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.gallery-card:hover .card-overlay{opacity:1}.overlay-btn{padding:8px 24px;border-radius:100px;border:1px solid rgba(255,255,255,.8);background:#fff3;color:#fff;font-size:14px;cursor:pointer;transition:all .2s}.overlay-btn:hover{background:#fff;color:var(--text-main)}.overlay-btn.primary{background:var(--primary);border-color:var(--primary)}.overlay-btn.primary:hover{background:var(--primary-hover);color:#fff}.status-badge{position:absolute;top:12px;left:12px;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;background:#0009;color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.status-badge.completed{background:#52c41ae6}.status-badge.draft{background:#00000080}.status-badge.generating{background:#1890ffe6}.card-footer{padding:16px}.card-title{font-size:15px;font-weight:600;margin-bottom:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-main)}.card-meta{display:flex;align-items:center;font-size:12px;color:var(--text-sub)}.dot{margin:0 6px}.more-actions-wrapper{margin-left:auto}.more-btn{background:none;border:none;color:var(--text-placeholder);cursor:pointer;padding:4px;border-radius:4px}.more-btn:hover{background:#e6f7ff;color:#1890ff}.pagination-wrapper{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px}.page-btn{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer}.page-btn:disabled{opacity:.5;cursor:not-allowed}.empty-state-large{text-align:center;padding:80px 0;color:var(--text-sub)}.empty-img{font-size:64px;margin-bottom:24px;opacity:.5}.modal-gallery-grid{flex:1;overflow-y:auto;padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.modal-img-item img{width:100%;border-radius:8px}
