@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.user-section[data-v-f1792e87]{display:flex;align-items:center;gap:12px;padding:16px;border-top:1px solid var(--border-color);margin-top:auto;background:var(--bg-sidebar)}.user-info[data-v-f1792e87]{display:flex;align-items:center;gap:12px;flex:1}.user-avatar[data-v-f1792e87]{width:36px;height:36px;border-radius:50%;overflow:hidden;flex-shrink:0}.user-avatar img[data-v-f1792e87]{width:100%;height:100%;object-fit:cover}.user-details[data-v-f1792e87]{flex:1;min-width:0}.user-name[data-v-f1792e87]{font-size:14px;font-weight:600;color:var(--text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role[data-v-f1792e87]{font-size:12px;color:var(--text-sub);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logout-button[data-v-f1792e87]{width:32px;height:32px;border:none;border-radius:6px;background:var(--bg-sidebar);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.logout-button[data-v-f1792e87]:hover{background:var(--bg-sidebar);color:var(--text-main);box-shadow:0 2px 8px #0000001a}.logout-button[data-v-f1792e87]:active{transform:scale(.95)}.layout-main.full-width[data-v-f1792e87]{margin-left:0;max-width:100%}@media (max-width: 768px){.layout-sidebar[data-v-f1792e87]{transform:translate(-100%);transition:transform .3s ease}.layout-sidebar.mobile-open[data-v-f1792e87]{transform:translate(0)}.layout-main.full-width[data-v-f1792e87]{margin-left:0}.user-section[data-v-f1792e87]{padding:12px}.user-avatar[data-v-f1792e87]{width:32px;height:32px}.user-name[data-v-f1792e87]{font-size:13px}.user-role[data-v-f1792e87]{font-size:11px}.logout-button[data-v-f1792e87]{width:28px;height:28px}}.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-4963c0ab]{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-4963c0ab]{display:flex;align-items:flex-start;gap:12px}.search-icon-static[data-v-4963c0ab]{flex-shrink:0;padding-top:8px;color:#999}.composer-textarea[data-v-4963c0ab]{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-4963c0ab]::placeholder{color:#999}.composer-textarea[data-v-4963c0ab]:disabled{background:transparent;color:#999}.uploaded-images-preview[data-v-4963c0ab]{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-4963c0ab]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.uploaded-image-item img[data-v-4963c0ab]{width:100%;height:100%;object-fit:cover}.remove-image-btn[data-v-4963c0ab]{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-4963c0ab]{opacity:1}.remove-image-btn[data-v-4963c0ab]:hover{background:var(--primary, #ff2442)}.upload-hint[data-v-4963c0ab]{flex:1;font-size:12px;color:var(--text-sub, #666);text-align:right}.composer-toolbar[data-v-4963c0ab]{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.toolbar-left[data-v-4963c0ab]{display:flex;gap:8px}.tool-btn[data-v-4963c0ab]{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-4963c0ab]:hover{background:#eee;color:var(--primary, #ff2442)}.tool-btn.active[data-v-4963c0ab]{background:#ff24421a;color:var(--primary, #ff2442)}.badge-count[data-v-4963c0ab]{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;background:var(--primary, #ff2442);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-4963c0ab]{padding:10px 24px;font-size:15px;border-radius:100px;display:flex;align-items:center;gap:8px}.generate-btn[data-v-4963c0ab]:disabled{opacity:.5;cursor:not-allowed}.spinner-sm[data-v-4963c0ab]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-4963c0ab 1s linear infinite}@keyframes spin-4963c0ab{to{transform:rotate(360deg)}}.login-form-wrapper[data-v-a6b6918a]{background:var(--bg-card);border-radius:16px;padding:40px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);max-width:480px;width:100%;animation:slideUp .4s ease-out;margin:0 auto}.login-form-card[data-v-a6b6918a]{display:flex;flex-direction:column;gap:24px}.form-header[data-v-a6b6918a]{text-align:center}.form-title[data-v-a6b6918a]{font-size:24px;font-weight:600;color:var(--text-main);margin:0 0 8px;line-height:1.2}.form-subtitle[data-v-a6b6918a]{font-size:14px;color:var(--text-sub);margin:0;line-height:1.4}.login-form-fields[data-v-a6b6918a]{display:flex;flex-direction:column;gap:20px}.login-card[data-v-a6b6918a]{width:100%;max-width:400px;background:var(--bg-card);border-radius:var(--radius-lg);padding:32px;box-shadow:var(--shadow-md);border:1px solid var(--border-color)}.login-header[data-v-a6b6918a]{text-align:center;margin-bottom:32px}.login-title[data-v-a6b6918a]{font-size:28px;font-weight:600;color:var(--text-main);margin:0 0 8px;line-height:1.2}.login-subtitle[data-v-a6b6918a]{font-size:14px;color:var(--text-sub);margin:0;line-height:1.4}.login-form[data-v-a6b6918a]{display:flex;flex-direction:column;gap:24px}.form-group[data-v-a6b6918a]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-a6b6918a]{font-size:14px;font-weight:500;color:var(--text-main);line-height:1.4}.input-container[data-v-a6b6918a]{position:relative;display:flex;align-items:center}.form-input[data-v-a6b6918a]{width:100%;height:48px;padding:0 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);font-size:14px;color:var(--text-main);transition:all .2s ease;outline:none}.form-input[data-v-a6b6918a]::placeholder{color:var(--text-placeholder)}.form-input[data-v-a6b6918a]:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-fade)}.form-input.error[data-v-a6b6918a]{border-color:#ff4757;box-shadow:0 0 0 3px #ff47571a}.form-input.error[data-v-a6b6918a]:focus{border-color:#ff4757}.password-toggle[data-v-a6b6918a]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;padding:4px;color:var(--text-secondary);cursor:pointer;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.password-toggle[data-v-a6b6918a]:hover{color:var(--text-main);background:var(--bg-body)}.error-message[data-v-a6b6918a]{font-size:12px;color:#ff4757;margin:0;line-height:1.4}.login-error[data-v-a6b6918a]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ff475714;border:1px solid rgba(255,71,87,.2);border-radius:var(--radius-md);color:#ff4757;font-size:14px;line-height:1.4}.submit-button[data-v-a6b6918a]{height:48px;background:var(--primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:16px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;position:relative;overflow:hidden}.submit-button[data-v-a6b6918a]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-hover)}.submit-button[data-v-a6b6918a]:active:not(:disabled){transform:translateY(0);background:var(--primary-active)}.submit-button[data-v-a6b6918a]:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none;box-shadow:none}.submit-button.loading[data-v-a6b6918a]{pointer-events:none}.loading-spinner[data-v-a6b6918a]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-a6b6918a 1s linear infinite}.loading-text[data-v-a6b6918a]{font-size:14px}@keyframes spin-a6b6918a{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 480px){.login-form-container[data-v-a6b6918a]{padding:16px}.login-card[data-v-a6b6918a]{padding:24px}.login-title[data-v-a6b6918a]{font-size:24px}.login-header[data-v-a6b6918a]{margin-bottom:24px}.login-form[data-v-a6b6918a]{gap:20px}}@media (prefers-color-scheme: dark){.login-card[data-v-a6b6918a]{background:#1a1a1a;border-color:#333}.form-input[data-v-a6b6918a]{background:#1a1a1a;border-color:#333;color:#fff}.form-input[data-v-a6b6918a]::placeholder{color:#666}.form-input[data-v-a6b6918a]:focus{border-color:var(--primary)}}.home-container[data-v-8a4e8ca3]{max-width:1100px;margin:0 auto;padding:0;position:relative;z-index:1;width:100%}.auth-page[data-v-8a4e8ca3]{min-height:auto;position:relative;display:flex;align-items:center;justify-content:center;padding:160px 20px}.auth-overlay[data-v-8a4e8ca3]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;z-index:2;padding:24px;width:100%;max-width:480px;margin:0 auto}.auth-header[data-v-8a4e8ca3]{text-align:center;background:var(--bg-card);padding:32px;border-radius:16px;box-shadow:0 20px 40px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border-color);animation:slideUp-8a4e8ca3 .4s ease-out}.auth-logo[data-v-8a4e8ca3]{width:64px;height:64px;border-radius:12px;margin-bottom:16px;box-shadow:0 4px 12px #0000001a}.auth-title[data-v-8a4e8ca3]{font-size:28px;font-weight:700;color:var(--text-main);margin-bottom:8px;letter-spacing:.5px}.auth-subtitle[data-v-8a4e8ca3]{font-size:16px;color:var(--text-sub);font-weight:500}.functional-container[data-v-8a4e8ca3]{min-height:100vh;padding:20px 0}.hero-section[data-v-8a4e8ca3]{text-align:center;margin-bottom:40px;padding:50px 60px;animation:fadeIn-8a4e8ca3 .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-8a4e8ca3]{margin-bottom:36px}.brand-pill[data-v-8a4e8ca3]{display:inline-block;padding:6px 16px;background:#ff244214;color:var(--primary);border-radius:100px;font-size:13px;font-weight:600;margin-bottom:20px;letter-spacing:.5px}.platform-slogan[data-v-8a4e8ca3]{font-size:20px;font-weight:600;color:var(--text-main);margin-bottom:24px;line-height:1.6;letter-spacing:.5px}.page-subtitle[data-v-8a4e8ca3]{font-size:16px;color:var(--text-sub);margin-top:12px}.page-footer[data-v-8a4e8ca3]{text-align:center;padding:24px 0 16px;margin-top:20px}.footer-copyright[data-v-8a4e8ca3]{font-size:15px;color:#333;font-weight:500;margin-bottom:6px}.footer-copyright a[data-v-8a4e8ca3]{color:var(--primary);text-decoration:none;font-weight:600}.footer-copyright a[data-v-8a4e8ca3]:hover{text-decoration:underline}.footer-license[data-v-8a4e8ca3]{font-size:13px;color:#999}.footer-license a[data-v-8a4e8ca3]{color:#666;text-decoration:none}.footer-license a[data-v-8a4e8ca3]:hover{color:var(--primary)}.error-toast[data-v-8a4e8ca3]{position:fixed;bottom:32px;left:50%;transform:translate(-50%);background:#ff4d4f;color:#fff;padding:12px 24px;border-radius:50px;box-shadow:0 8px 24px #ff4d4f4d;display:flex;align-items:center;gap:8px;z-index:1000;animation:slideUp-8a4e8ca3 .3s ease-out}@keyframes fadeIn-8a4e8ca3{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp-8a4e8ca3{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.outline-grid[data-v-6fd6f055]{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-6fd6f055]{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-6fd6f055]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014;z-index:10}.outline-card.dragging-over[data-v-6fd6f055]{border:2px dashed var(--primary);opacity:.8}.card-top-bar[data-v-6fd6f055]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f5f5f5}.page-info[data-v-6fd6f055]{display:flex;align-items:center;gap:8px}.page-number[data-v-6fd6f055]{font-size:14px;font-weight:700;color:#ccc;font-family:Inter,sans-serif}.page-type[data-v-6fd6f055]{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.page-type.cover[data-v-6fd6f055]{color:#ff4d4f;background:#fff1f0}.page-type.content[data-v-6fd6f055]{color:#8c8c8c;background:#f5f5f5}.page-type.summary[data-v-6fd6f055]{color:#52c41a;background:#f6ffed}.card-controls[data-v-6fd6f055]{display:flex;gap:8px;opacity:.4;transition:opacity .2s}.outline-card:hover .card-controls[data-v-6fd6f055]{opacity:1}.drag-handle[data-v-6fd6f055]{cursor:grab;padding:2px}.drag-handle[data-v-6fd6f055]:active{cursor:grabbing}.icon-btn[data-v-6fd6f055]{background:none;border:none;cursor:pointer;color:#999;padding:2px;transition:color .2s}.icon-btn[data-v-6fd6f055]:hover{color:#ff4d4f}.textarea-paper[data-v-6fd6f055]{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-6fd6f055]:focus{outline:none}.word-count[data-v-6fd6f055]{text-align:right;font-size:11px;color:#ddd;margin-top:auto}.add-card-dashed[data-v-6fd6f055]{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-6fd6f055]:hover{border-color:var(--primary);color:var(--primary);background:#ff244205}.add-content[data-v-6fd6f055]{text-align:center}.add-icon[data-v-6fd6f055]{font-size:32px;font-weight:300;margin-bottom:8px}.image-section[data-v-6fd6f055]{margin-top:12px;margin-bottom:8px}.image-preview-list[data-v-6fd6f055]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.image-preview-item[data-v-6fd6f055]{position:relative;width:60px;height:60px;border-radius:6px;overflow:hidden;background:#f5f5f5;border:1px solid #eee}.image-preview-item img[data-v-6fd6f055]{width:100%;height:100%;object-fit:cover}.remove-image-btn[data-v-6fd6f055]{position:absolute;top:-6px;right:-6px;width:18px;height:18px;background:#ff4d4f;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;padding:0;transition:all .2s}.remove-image-btn[data-v-6fd6f055]:hover{background:#ff1a1a;transform:scale(1.1)}.upload-section[data-v-6fd6f055]{margin-top:auto;padding-top:8px;border-top:1px solid #f5f5f5}.upload-btn[data-v-6fd6f055]{display:flex;align-items:center;background:none;border:1px dashed #ddd;padding:8px 12px;border-radius:6px;cursor:pointer;color:#666;font-size:12px;transition:all .2s;width:100%;justify-content:center}.upload-btn[data-v-6fd6f055]:hover:not(:disabled){border-color:var(--primary);color:var(--primary);background:#ff244205}.upload-btn[data-v-6fd6f055]:disabled{opacity:.5;cursor:not-allowed;border-color:#eee;color:#ccc}.upload-count[data-v-6fd6f055]{margin-left:4px;font-size:11px;opacity:.8}.image-preview[data-v-d20a46c7]{aspect-ratio:3/4;overflow:hidden;position:relative;flex:1}.image-preview img[data-v-d20a46c7]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-d20a46c7]{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-d20a46c7]{opacity:1}.overlay-btn[data-v-d20a46c7]{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-d20a46c7]:hover{background:var(--primary);color:#fff}.overlay-btn[data-v-d20a46c7]:disabled{opacity:.5;cursor:not-allowed}.image-placeholder[data-v-d20a46c7]{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-d20a46c7]{background:#fff5f5}.error-icon[data-v-d20a46c7]{width:40px;height:40px;border-radius:50%;background:#ff4d4f;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700}.status-text[data-v-d20a46c7]{font-size:13px;color:var(--text-sub)}.retry-btn[data-v-d20a46c7]{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-d20a46c7]:hover{opacity:.9;transform:translateY(-1px)}.retry-btn[data-v-d20a46c7]:disabled{opacity:.5;cursor:not-allowed;transform:none}.image-footer[data-v-d20a46c7]{padding:12px;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.page-label[data-v-d20a46c7]{font-size:12px;color:var(--text-sub)}.status-badge[data-v-d20a46c7]{font-size:10px;padding:2px 6px;border-radius:4px}.status-badge.done[data-v-d20a46c7]{background:#e6f7ed;color:#52c41a}.status-badge.generating[data-v-d20a46c7],.status-badge.retrying[data-v-d20a46c7]{background:#e6f4ff;color:#1890ff}.status-badge.error[data-v-d20a46c7]{background:#fff1f0;color:#ff4d4f}.spinner[data-v-d20a46c7]{width:24px;height:24px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-d20a46c7 1s linear infinite}@keyframes spin-d20a46c7{to{transform:rotate(360deg)}}.image-card>div[data-v-0046b3ec]:first-child{flex:1;display:flex;flex-direction:column}.image-card:hover .hover-overlay[data-v-0046b3ec]{opacity:1}.image-card:hover img[data-v-0046b3ec]{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-7f956ee2]{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-7f956ee2]:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 12px 24px #00000014}.card-cover[data-v-7f956ee2]{aspect-ratio:3/4;background:#f7f7f7;position:relative;overflow:hidden;cursor:pointer}.card-cover img[data-v-7f956ee2]{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-7f956ee2]{transform:scale(1.05) translateZ(0)}.cover-placeholder[data-v-7f956ee2]{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-7f956ee2]{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-7f956ee2]{opacity:1;pointer-events:auto}.overlay-btn[data-v-7f956ee2]{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-7f956ee2]:hover{background:#fff;color:var(--text-main, #1a1a1a);transform:translateY(-2px)}.overlay-btn.primary[data-v-7f956ee2]{background:var(--primary, #ff2442);border-color:var(--primary, #ff2442)}.overlay-btn.primary[data-v-7f956ee2]:hover{background:var(--primary-hover, #e61e3a);color:#fff}.status-badge[data-v-7f956ee2]{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-7f956ee2]{background:#52c41ae6}.status-badge.draft[data-v-7f956ee2]{background:#00000080}.status-badge.generating[data-v-7f956ee2]{background:#1890ffe6}.card-footer[data-v-7f956ee2]{padding:16px}.card-title[data-v-7f956ee2]{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-7f956ee2]{display:flex;align-items:center;font-size:12px;color:var(--text-sub, #666)}.dot[data-v-7f956ee2]{margin:0 6px}.more-actions-wrapper[data-v-7f956ee2]{margin-left:auto}.more-btn[data-v-7f956ee2]{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-7f956ee2]:hover{background:#fee;color:#ff4d4f}.modal-fullscreen[data-v-c48977d4]{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-c48977d4]{background:#fff;width:100%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-c48977d4]{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-c48977d4]{display:flex;align-items:flex-start;gap:12px;margin-bottom:4px}.modal-title[data-v-c48977d4]{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-c48977d4]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.title-expand-btn[data-v-c48977d4]{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-c48977d4]:hover{background:var(--primary, #ff2442);color:#fff}.modal-meta[data-v-c48977d4]{font-size:12px;color:#999;display:flex;align-items:center;gap:12px;margin-top:8px}.view-outline-btn[data-v-c48977d4]{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-c48977d4]:hover{background:var(--primary, #ff2442);color:#fff;border-color:var(--primary, #ff2442)}.header-actions[data-v-c48977d4]{display:flex;gap:12px;align-items:center}.download-btn[data-v-c48977d4]{padding:8px 16px;font-size:14px;display:flex;align-items:center;gap:6px}.close-icon[data-v-c48977d4]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}.close-icon[data-v-c48977d4]:hover{color:#333}.modal-gallery-grid[data-v-c48977d4]{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-c48977d4]{display:flex;flex-direction:column}.modal-img-preview[data-v-c48977d4]{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;contain:layout style paint}.modal-img-preview img[data-v-c48977d4]{width:100%;height:100%;object-fit:cover}.modal-img-overlay[data-v-c48977d4]{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-c48977d4],.modal-img-preview.regenerating .modal-img-overlay[data-v-c48977d4]{opacity:1;pointer-events:auto}.modal-img-preview.regenerating .regenerate-icon[data-v-c48977d4]{animation:spin-c48977d4 1s linear infinite}@keyframes spin-c48977d4{to{transform:rotate(360deg)}}.modal-overlay-btn[data-v-c48977d4]{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-c48977d4]:hover{background:var(--primary, #ff2442);color:#fff;transform:scale(1.05)}.modal-overlay-btn[data-v-c48977d4]:disabled{opacity:.5;cursor:not-allowed;transform:none}.placeholder[data-v-c48977d4]{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-c48977d4]{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;color:#666}.download-link[data-v-c48977d4]{cursor:pointer;color:var(--primary, #ff2442);transition:opacity .2s}.download-link[data-v-c48977d4]:hover{opacity:.7}@media (max-width: 768px){.modal-fullscreen[data-v-c48977d4]{padding:20px}.modal-gallery-grid[data-v-c48977d4]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding:12px}}.outline-modal-overlay[data-v-e80b3b24]{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-e80b3b24]{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-e80b3b24]{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-e80b3b24]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.close-icon[data-v-e80b3b24]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1;transition:color .2s}.close-icon[data-v-e80b3b24]:hover{color:#333}.outline-modal-body[data-v-e80b3b24]{flex:1;overflow-y:auto;padding:20px 24px;background:#f9fafb}.outline-page-card[data-v-e80b3b24]{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-e80b3b24]:hover{box-shadow:0 4px 12px #0000001a;border-color:#d1d5db}.outline-page-card[data-v-e80b3b24]:last-child{margin-bottom:0}.outline-page-card-header[data-v-e80b3b24]{display:flex;align-items:center;gap:10px;margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e5e7eb}.page-badge[data-v-e80b3b24]{display:inline-flex;align-items:center;justify-content:center;min-width:36px;height:24px;padding:0 8px;background:var(--primary, #ff2442);color:#fff;border-radius:4px;font-size:12px;font-weight:700;font-family:Inter,sans-serif}.page-type-badge[data-v-e80b3b24]{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-e80b3b24]{background:#e3f2fd;color:#1976d2}.page-type-badge.content[data-v-e80b3b24]{background:#f3e5f5;color:#7b1fa2}.page-type-badge.summary[data-v-e80b3b24]{background:#e8f5e9;color:#388e3c}.word-count[data-v-e80b3b24]{margin-left:auto;font-size:11px;color:#999}.outline-page-card-content[data-v-e80b3b24]{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-e80b3b24]{padding:20px}.outline-modal-content[data-v-e80b3b24]{max-height:90vh}.outline-modal-header[data-v-e80b3b24],.outline-modal-body[data-v-e80b3b24]{padding:16px 20px}}.spinner-small[data-v-31c642bb]{width:16px;height:16px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-31c642bb 1s linear infinite;display:inline-block}@keyframes spin-31c642bb{to{transform:rotate(360deg)}}.toolbar-wrapper[data-v-31c642bb]{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-31c642bb]{position:relative;width:240px;margin-bottom:10px}.search-mini input[data-v-31c642bb]{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-31c642bb]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-light)}.search-mini .icon[data-v-31c642bb]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ccc}.gallery-grid[data-v-31c642bb]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:40px}.pagination-wrapper[data-v-31c642bb]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px}.page-btn[data-v-31c642bb]{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer}.page-btn[data-v-31c642bb]:disabled{opacity:.5;cursor:not-allowed}.empty-state-large[data-v-31c642bb]{text-align:center;padding:80px 0;color:var(--text-sub)}.empty-img[data-v-31c642bb]{font-size:64px;opacity:.5}.empty-state-large .empty-tips[data-v-31c642bb]{margin-top:10px;color:var(--text-placeholder)}.provider-table[data-v-fe7040b6]{border:1px solid var(--border-color, #eee);border-radius:8px;overflow:hidden}.table-header[data-v-fe7040b6]{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-fe7040b6]{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-fe7040b6]:last-child{border-bottom:none}.table-row[data-v-fe7040b6]:hover{background:#f9fafb}.table-row.active[data-v-fe7040b6]{background:#ff244205}.btn-activate[data-v-fe7040b6]{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-fe7040b6]:hover:not(:disabled){border-color:var(--primary, #ff2442);color:var(--primary, #ff2442)}.btn-activate.active[data-v-fe7040b6]{background:#22c55e1a;border-color:#22c55e;color:#22c55e;cursor:default}.provider-name[data-v-fe7040b6]{font-weight:600;color:var(--text-main, #1a1a1a)}.model-name[data-v-fe7040b6]{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-fe7040b6]{font-size:12px;font-family:Monaco,Menlo,monospace;color:#6b7280;word-break:break-all}.apikey-masked.empty[data-v-fe7040b6]{color:#f59e0b}.col-actions[data-v-fe7040b6]{display:flex;gap:8px;justify-content:flex-end}.btn-icon[data-v-fe7040b6]{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-fe7040b6]:hover{border-color:var(--primary, #ff2442);color:var(--primary, #ff2442);background:#ff24420d}.btn-icon.danger[data-v-fe7040b6]:hover{border-color:#ef4444;color:#ef4444;background:#ef44440d}@media (max-width: 768px){.table-header[data-v-fe7040b6],.table-row[data-v-fe7040b6]{grid-template-columns:70px 1fr 100px}.col-model[data-v-fe7040b6],.col-apikey[data-v-fe7040b6]{display:none}}.modal-overlay[data-v-6f54db47]{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-6f54db47]{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-6f54db47]{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-6f54db47]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-6f54db47]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.close-btn[data-v-6f54db47]:hover{color:#333}.modal-body[data-v-6f54db47]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-6f54db47]{margin-bottom:20px}.form-group[data-v-6f54db47]:last-child{margin-bottom:0}.form-group label[data-v-6f54db47]{display:block;font-size:14px;font-weight:500;color:var(--text-main, #1a1a1a);margin-bottom:8px}.form-input[data-v-6f54db47]{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-6f54db47]:focus{outline:none;border-color:var(--primary, #ff2442);box-shadow:0 0 0 3px #ff24421a}.form-select[data-v-6f54db47]{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-6f54db47]{display:block;font-size:12px;color:var(--text-sub, #666);margin-top:6px}.modal-footer[data-v-6f54db47]{padding:16px 24px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-6f54db47]{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-6f54db47]:hover{background:#f5f5f5}.btn-primary[data-v-6f54db47]{background:var(--primary, #ff2442);border-color:var(--primary, #ff2442);color:#fff}.btn-primary[data-v-6f54db47]:hover{background:var(--primary-hover, #e61e3a)}.btn-secondary[data-v-6f54db47]{background:#f0f0f0;border-color:#ddd;color:#333}.btn-secondary[data-v-6f54db47]:hover{background:#e5e5e5}.btn[data-v-6f54db47]:disabled{opacity:.5;cursor:not-allowed}.spinner-small[data-v-6f54db47]{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-6f54db47 1s linear infinite;margin-right:6px}@keyframes spin-6f54db47{to{transform:rotate(360deg)}}.modal-overlay[data-v-9ef3cd89]{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-9ef3cd89]{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-9ef3cd89]{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-9ef3cd89]{margin:0;font-size:18px;font-weight:600}.close-btn[data-v-9ef3cd89]{background:none;border:none;font-size:24px;cursor:pointer;color:#999;padding:0;line-height:1}.close-btn[data-v-9ef3cd89]:hover{color:#333}.modal-body[data-v-9ef3cd89]{padding:24px;overflow-y:auto;flex:1}.form-group[data-v-9ef3cd89]{margin-bottom:20px}.form-group[data-v-9ef3cd89]:last-child{margin-bottom:0}.form-group label[data-v-9ef3cd89]{display:block;font-size:14px;font-weight:500;color:var(--text-main, #1a1a1a);margin-bottom:8px}.form-input[data-v-9ef3cd89]{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-9ef3cd89]:focus{outline:none;border-color:var(--primary, #ff2442);box-shadow:0 0 0 3px #ff24421a}.form-select[data-v-9ef3cd89]{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-9ef3cd89]{display:block;font-size:12px;color:var(--text-sub, #666);margin-top:6px}.toggle-label[data-v-9ef3cd89]{display:flex;align-items:center;justify-content:space-between;cursor:pointer}.toggle-switch[data-v-9ef3cd89]{width:44px;height:24px;background:#d1d5db;border-radius:12px;position:relative;transition:background .2s;flex-shrink:0}.toggle-switch.active[data-v-9ef3cd89]{background:var(--primary, #ff2442)}.toggle-slider[data-v-9ef3cd89]{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-9ef3cd89]{transform:translate(20px)}.modal-footer[data-v-9ef3cd89]{padding:16px 24px;border-top:1px solid var(--border-color, #eee);display:flex;justify-content:flex-end;gap:12px}.btn[data-v-9ef3cd89]{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-9ef3cd89]:hover{background:#f5f5f5}.btn-primary[data-v-9ef3cd89]{background:var(--primary, #ff2442);border-color:var(--primary, #ff2442);color:#fff}.btn-primary[data-v-9ef3cd89]:hover{background:var(--primary-hover, #e61e3a)}.btn-secondary[data-v-9ef3cd89]{background:#f0f0f0;border-color:#ddd;color:#333}.btn-secondary[data-v-9ef3cd89]:hover{background:#e5e5e5}.btn[data-v-9ef3cd89]:disabled{opacity:.5;cursor:not-allowed}.spinner-small[data-v-9ef3cd89]{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-9ef3cd89 1s linear infinite;margin-right:6px}@keyframes spin-9ef3cd89{to{transform:rotate(360deg)}}.settings-container[data-v-32b80718]{max-width:900px;margin:0 auto}.section-header[data-v-32b80718]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.section-title[data-v-32b80718]{font-size:18px;font-weight:600;margin-bottom:4px;color:#1a1a1a}.section-desc[data-v-32b80718]{font-size:14px;color:#666;margin:0}.btn-small[data-v-32b80718]{padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.loading-container[data-v-32b80718]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#666}.generator-grid[data-v-877934e9]{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1200px;margin:0 auto}.control-panel[data-v-877934e9]{display:flex;flex-direction:column;gap:20px}.result-panel[data-v-877934e9]{position:sticky;top:20px;height:fit-content}.section-title[data-v-877934e9]{display:flex;align-items:center;font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 8px}.section-subtitle[data-v-877934e9]{font-size:13px;color:var(--text-sub);margin:0 0 16px}.drop-zone[data-v-877934e9]{border:2px dashed var(--border-color);border-radius:8px;padding:32px 16px;text-align:center;transition:all .3s ease;cursor:pointer}.drop-zone[data-v-877934e9]:hover{border-color:var(--primary);background:rgba(var(--primary-rgb),.02)}.drop-zone.drag-over[data-v-877934e9]{border-color:var(--primary);background:rgba(var(--primary-rgb),.08)}.drop-content[data-v-877934e9]{display:flex;flex-direction:column;align-items:center}.drop-text[data-v-877934e9]{font-size:14px;color:var(--text-primary);margin:0 0 4px}.drop-subtitle[data-v-877934e9]{font-size:12px;color:var(--text-sub);margin:8px 0}.image-preview-list[data-v-877934e9]{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:12px;margin-top:16px}.image-preview-item[data-v-877934e9]{position:relative;aspect-ratio:1;border-radius:6px;overflow:hidden;background:#f5f5f5}.image-preview-item img[data-v-877934e9]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-877934e9]{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:space-between;padding:4px;opacity:0;transition:opacity .2s}.image-preview-item:hover .image-overlay[data-v-877934e9]{opacity:1}.image-index[data-v-877934e9]{background:var(--primary);color:#fff;font-size:11px;font-weight:600;padding:2px 6px;border-radius:3px}.remove-btn[data-v-877934e9]{background:#ffffffe6;border:none;border-radius:4px;padding:4px;cursor:pointer;color:#ff4757;display:flex;align-items:center;justify-content:center;transition:all .2s}.remove-btn[data-v-877934e9]:hover{background:#fff;transform:scale(1.1)}.text-input[data-v-877934e9]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:120px;transition:border-color .2s}.text-input[data-v-877934e9]:focus{outline:none;border-color:var(--primary)}.text-counter[data-v-877934e9]{text-align:right;font-size:12px;color:var(--text-sub);margin-top:4px}.setting-group[data-v-877934e9]{margin-bottom:16px}.setting-label[data-v-877934e9]{display:block;font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px}.setting-select[data-v-877934e9]{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.slider-container[data-v-877934e9]{display:flex;align-items:center;gap:12px}.slider[data-v-877934e9]{flex:1;height:6px;background:#e0e0e0;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.slider[data-v-877934e9]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;background:var(--primary);border-radius:50%;cursor:pointer}.slider-value[data-v-877934e9]{font-size:13px;font-weight:500;color:var(--primary);min-width:32px}.result-content[data-v-877934e9]{display:flex;flex-direction:column;gap:16px}.image-result[data-v-877934e9]{position:relative;border-radius:8px;overflow:hidden;background:#f9f9f9;min-height:300px}.image-result img[data-v-877934e9]{width:100%;height:auto;display:block;background:#fff}.result-overlay[data-v-877934e9]{position:absolute;top:12px;right:12px;display:flex;gap:8px;opacity:0;transition:opacity .2s}.image-result:hover .result-overlay[data-v-877934e9]{opacity:1}.action-btn[data-v-877934e9]{background:#ffffffe6;border:none;border-radius:6px;padding:8px;cursor:pointer;color:var(--text-primary);display:flex;align-items:center;justify-content:center;transition:all .2s}.action-btn[data-v-877934e9]:hover{background:#fff;transform:translateY(-1px)}.result-info[data-v-877934e9]{padding:12px;background:rgba(var(--primary-rgb),.02);border-radius:6px}.result-meta[data-v-877934e9]{display:flex;justify-content:space-between;font-size:12px;color:var(--text-sub)}.generating-state[data-v-877934e9],.error-state[data-v-877934e9],.initial-state[data-v-877934e9]{text-align:center;padding:60px 20px}.generating-state h4[data-v-877934e9],.error-state h4[data-v-877934e9],.initial-state h4[data-v-877934e9]{font-size:18px;font-weight:600;color:var(--text-primary);margin:16px 0 8px}.generating-state p[data-v-877934e9],.error-state p[data-v-877934e9],.initial-state p[data-v-877934e9]{font-size:14px;color:var(--text-sub);margin:0}.error-message[data-v-877934e9]{background:#fff5f5;border:1px solid #ffebee;border-radius:6px;padding:12px;margin:12px 0;color:#c62828;font-size:13px;text-align:left}.spinner[data-v-877934e9]{width:32px;height:32px;border:3px solid rgba(var(--primary-rgb),.2);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}.error-icon[data-v-877934e9]{width:48px;height:48px;border-radius:50%;background:#ff4757;color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;margin:0 auto}@media (max-width: 768px){.generator-grid[data-v-877934e9]{grid-template-columns:1fr;gap:16px}.result-panel[data-v-877934e9]{position:static}.image-preview-list[data-v-877934e9]{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.user-management-container[data-v-c0e8b411]{max-width:1200px;margin:0 auto}.section-header[data-v-c0e8b411]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.section-title[data-v-c0e8b411]{font-size:18px;font-weight:600;margin-bottom:4px;color:#1a1a1a}.section-desc[data-v-c0e8b411]{font-size:14px;color:#666;margin:0}.error-alert[data-v-c0e8b411]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;margin-bottom:16px;position:relative}.error-close[data-v-c0e8b411]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:#dc2626;cursor:pointer;padding:4px}.user-table-container[data-v-c0e8b411]{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.user-table[data-v-c0e8b411]{width:100%;border-collapse:collapse;background:#fff}.user-table th[data-v-c0e8b411],.user-table td[data-v-c0e8b411]{padding:12px 16px;text-align:left;border-bottom:1px solid #f3f4f6}.user-table th[data-v-c0e8b411]{background:#f9fafb;font-weight:600;color:#374151;font-size:14px}.user-table td[data-v-c0e8b411]{font-size:14px}.user-info[data-v-c0e8b411]{display:flex;align-items:center;gap:12px}.user-avatar[data-v-c0e8b411]{width:32px;height:32px;border-radius:50%;overflow:hidden;flex-shrink:0}.user-avatar img[data-v-c0e8b411]{width:100%;height:100%;object-fit:cover}.username[data-v-c0e8b411]{font-weight:500}.role-badge[data-v-c0e8b411],.status-badge[data-v-c0e8b411]{display:inline-flex;align-items:center;padding:4px 8px;border-radius:12px;font-size:12px;font-weight:500}.role-badge[data-v-c0e8b411]{background:#dbeafe;color:#1d4ed8}.role-badge.admin[data-v-c0e8b411]{background:#fef3c7;color:#d97706}.status-badge[data-v-c0e8b411]{background:#f3f4f6;color:#6b7280}.status-badge.active[data-v-c0e8b411]{background:#d1fae5;color:#065f46}.status-badge.inactive[data-v-c0e8b411]{background:#fee2e2;color:#991b1b}.action-buttons[data-v-c0e8b411]{display:flex;gap:8px}.btn-action[data-v-c0e8b411]{width:32px;height:32px;border:1px solid #d1d5db;background:#fff;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#6b7280;transition:all .2s}.btn-action[data-v-c0e8b411]:hover{background:#f9fafb;color:#374151}.btn-action.danger[data-v-c0e8b411]:hover{background:#fef2f2;color:#dc2626;border-color:#fca5a5}.btn-action[data-v-c0e8b411]:disabled{opacity:.5;cursor:not-allowed}.empty-state[data-v-c0e8b411]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#9ca3af;text-align:center}.empty-state svg[data-v-c0e8b411]{margin-bottom:12px}.modal-overlay[data-v-c0e8b411]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal-content[data-v-c0e8b411]{background:#fff;border-radius:12px;width:100%;max-width:480px;max-height:90vh;overflow:hidden;animation:modalSlideIn-c0e8b411 .3s ease-out}@keyframes modalSlideIn-c0e8b411{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-c0e8b411]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e5e7eb}.modal-header h3[data-v-c0e8b411]{margin:0;font-size:18px;font-weight:600;color:#1a1a1a}.modal-close[data-v-c0e8b411]{background:none;border:none;cursor:pointer;color:#6b7280;padding:4px;border-radius:4px}.modal-close[data-v-c0e8b411]:hover{background:#f3f4f6;color:#374151}.modal-body[data-v-c0e8b411]{padding:24px;max-height:60vh;overflow-y:auto}.form-group[data-v-c0e8b411]{margin-bottom:16px}.form-group label[data-v-c0e8b411]{display:block;margin-bottom:6px;font-weight:500;color:#374151;font-size:14px}.form-input[data-v-c0e8b411]{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;transition:border-color .2s;box-sizing:border-box}.form-input[data-v-c0e8b411]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-error[data-v-c0e8b411]{padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;color:#dc2626;font-size:14px;margin-bottom:16px}.checkbox-label[data-v-c0e8b411]{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:#374151}.checkbox-label input[type=checkbox][data-v-c0e8b411]{display:none}.checkmark[data-v-c0e8b411]{width:16px;height:16px;border:1px solid #d1d5db;border-radius:3px;position:relative;background:#fff;transition:all .2s}.checkbox-label input[type=checkbox]:checked+.checkmark[data-v-c0e8b411]{background:#3b82f6;border-color:#3b82f6}.checkbox-label input[type=checkbox]:checked+.checkmark[data-v-c0e8b411]:after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8px;height:8px;background:#fff;border-radius:1px}.modal-footer[data-v-c0e8b411]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:16px;border-top:1px solid #e5e7eb}.btn[data-v-c0e8b411]{padding:8px 16px;border:1px solid transparent;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;display:inline-flex;align-items:center;gap:6px}.btn-primary[data-v-c0e8b411]{background:#3b82f6;color:#fff;border-color:#3b82f6}.btn-primary[data-v-c0e8b411]:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.btn-secondary[data-v-c0e8b411]{background:#fff;color:#374151;border-color:#d1d5db}.btn-secondary[data-v-c0e8b411]:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.btn[data-v-c0e8b411]:disabled{opacity:.5;cursor:not-allowed}.loading-container[data-v-c0e8b411]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#6b7280}.spinner[data-v-c0e8b411]{width:32px;height:32px;border:3px solid #f3f4f6;border-top:3px solid #3b82f6;border-radius:50%;animation:spin-c0e8b411 1s linear infinite;margin-bottom:12px}@keyframes spin-c0e8b411{to{transform:rotate(360deg)}}:root{--bg-body: #F4F5F7;--bg-sidebar: #FFFFFF;--bg-card: #FFFFFF;--primary: #FF2442;--primary-hover: #FF4D6A;--primary-active: #D91C36;--primary-light: #FFF0F2;--primary-fade: rgba(255, 36, 66, .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}*{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:auto;background:linear-gradient(135deg,#fafafa,#f4f5f7);display:flex;flex-direction:column}.logo-area{display:flex;align-items:center;gap:12px;margin-bottom:48px;padding-left:8px}.logo-icon{width:40px;height:40px;border-radius:12px;object-fit:cover;box-shadow:0 4px 12px #0000001a}.logo-text{font-size:22px;font-weight:700;color:var(--text-main);letter-spacing:-.5px}.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-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%,#FF5C72 100%);color:#fff;box-shadow:0 4px 12px #ff24424d}.btn-primary:hover{background:linear-gradient(135deg,#ff3b55,#ff7a8c);transform:translateY(-2px);box-shadow:0 8px 20px #ff244266}.btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #ff24424d}.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 #ff24421f;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 #ff24421a;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:#fff2f0;border:1px solid #FFCCC7;color:#ff4d4f;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:#ff244214;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:#ff244214}.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 #ff244233}.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:#fff0f0;color:#ff4d4f}.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:#ff244233;background:#fff0f2}.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:#ff2442}.trend-rank.rank-2{color:#ff6b81}.trend-rank.rank-3{color:#ff9ca8}.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:#fee;color:#ff4d4f}.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}
