@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.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-1254a098]{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-1254a098]{display:flex;align-items:flex-start;gap:12px}.search-icon-static[data-v-1254a098]{flex-shrink:0;padding-top:8px;color:#999}.composer-textarea[data-v-1254a098]{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-1254a098]::placeholder{color:#999}.composer-textarea[data-v-1254a098]:disabled{background:transparent;color:#999}.uploaded-images-preview[data-v-1254a098]{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-1254a098]{position:relative;width:60px;height:60px;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.uploaded-image-item img[data-v-1254a098]{width:100%;height:100%;object-fit:cover}.remove-image-btn[data-v-1254a098]{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-1254a098]{opacity:1}.remove-image-btn[data-v-1254a098]:hover{background:var(--primary, #ff2442)}.upload-hint[data-v-1254a098]{flex:1;font-size:12px;color:var(--text-sub, #666);text-align:right}.composer-toolbar[data-v-1254a098]{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding-top:12px;border-top:1px solid #f0f0f0}.toolbar-left[data-v-1254a098]{display:flex;gap:8px}.tool-btn[data-v-1254a098]{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-1254a098]:hover{background:#eee;color:var(--primary, #ff2442)}.tool-btn.active[data-v-1254a098]{background:#ff24421a;color:var(--primary, #ff2442)}.badge-count[data-v-1254a098]{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-1254a098]{padding:10px 24px;font-size:15px;border-radius:100px;display:flex;align-items:center;gap:8px}.generate-btn[data-v-1254a098]:disabled{opacity:.5;cursor:not-allowed}.spinner-sm[data-v-1254a098]{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin-1254a098 1s linear infinite}@keyframes spin-1254a098{to{transform:rotate(360deg)}}.home-container[data-v-ed43b2ab]{max-width:1100px;padding-top:10px;position:relative;z-index:1}.hero-section[data-v-ed43b2ab]{text-align:center;margin-bottom:40px;padding:50px 60px;animation:fadeIn-ed43b2ab .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-ed43b2ab]{margin-bottom:36px}.brand-pill[data-v-ed43b2ab]{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-ed43b2ab]{font-size:20px;font-weight:600;color:var(--text-main);margin-bottom:24px;line-height:1.6;letter-spacing:.5px}.page-subtitle[data-v-ed43b2ab]{font-size:16px;color:var(--text-sub);margin-top:12px}.page-footer[data-v-ed43b2ab]{text-align:center;padding:24px 0 16px;margin-top:20px}.footer-copyright[data-v-ed43b2ab]{font-size:15px;color:#333;font-weight:500;margin-bottom:6px}.footer-copyright a[data-v-ed43b2ab]{color:var(--primary);text-decoration:none;font-weight:600}.footer-copyright a[data-v-ed43b2ab]:hover{text-decoration:underline}.footer-license[data-v-ed43b2ab]{font-size:13px;color:#999}.footer-license a[data-v-ed43b2ab]{color:#666;text-decoration:none}.footer-license a[data-v-ed43b2ab]:hover{color:var(--primary)}.error-toast[data-v-ed43b2ab]{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-ed43b2ab .3s ease-out}@keyframes fadeIn-ed43b2ab{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp-ed43b2ab{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.outline-grid[data-v-e95cdc76]{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-e95cdc76]{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-e95cdc76]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #00000014;z-index:10}.outline-card.dragging-over[data-v-e95cdc76]{border:2px dashed var(--primary);opacity:.8}.card-top-bar[data-v-e95cdc76]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #f5f5f5}.page-info[data-v-e95cdc76]{display:flex;align-items:center;gap:8px}.page-number[data-v-e95cdc76]{font-size:14px;font-weight:700;color:#ccc;font-family:Inter,sans-serif}.page-type[data-v-e95cdc76]{font-size:11px;padding:2px 6px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.page-type.cover[data-v-e95cdc76]{color:#ff4d4f;background:#fff1f0}.page-type.content[data-v-e95cdc76]{color:#8c8c8c;background:#f5f5f5}.page-type.summary[data-v-e95cdc76]{color:#52c41a;background:#f6ffed}.card-controls[data-v-e95cdc76]{display:flex;gap:8px;opacity:.4;transition:opacity .2s}.outline-card:hover .card-controls[data-v-e95cdc76]{opacity:1}.drag-handle[data-v-e95cdc76]{cursor:grab;padding:2px}.drag-handle[data-v-e95cdc76]:active{cursor:grabbing}.icon-btn[data-v-e95cdc76]{background:none;border:none;cursor:pointer;color:#999;padding:2px;transition:color .2s}.icon-btn[data-v-e95cdc76]:hover{color:#ff4d4f}.textarea-paper[data-v-e95cdc76]{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-e95cdc76]:focus{outline:none}.word-count[data-v-e95cdc76]{text-align:right;font-size:11px;color:#ddd;margin-top:auto}.add-card-dashed[data-v-e95cdc76]{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-e95cdc76]:hover{border-color:var(--primary);color:var(--primary);background:#ff244205}.add-content[data-v-e95cdc76]{text-align:center}.add-icon[data-v-e95cdc76]{font-size:32px;font-weight:300;margin-bottom:8px}.image-preview[data-v-4caa3ee5]{aspect-ratio:3/4;overflow:hidden;position:relative;flex:1}.image-preview img[data-v-4caa3ee5]{width:100%;height:100%;object-fit:cover}.image-overlay[data-v-4caa3ee5]{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-4caa3ee5]{opacity:1}.overlay-btn[data-v-4caa3ee5]{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-4caa3ee5]:hover{background:var(--primary);color:#fff}.overlay-btn[data-v-4caa3ee5]:disabled{opacity:.5;cursor:not-allowed}.image-placeholder[data-v-4caa3ee5]{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-4caa3ee5]{background:#fff5f5}.error-icon[data-v-4caa3ee5]{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-4caa3ee5]{font-size:13px;color:var(--text-sub)}.retry-btn[data-v-4caa3ee5]{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-4caa3ee5]:hover{opacity:.9;transform:translateY(-1px)}.retry-btn[data-v-4caa3ee5]:disabled{opacity:.5;cursor:not-allowed;transform:none}.image-footer[data-v-4caa3ee5]{padding:12px;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;align-items:center}.page-label[data-v-4caa3ee5]{font-size:12px;color:var(--text-sub)}.status-badge[data-v-4caa3ee5]{font-size:10px;padding:2px 6px;border-radius:4px}.status-badge.done[data-v-4caa3ee5]{background:#e6f7ed;color:#52c41a}.status-badge.generating[data-v-4caa3ee5],.status-badge.retrying[data-v-4caa3ee5]{background:#e6f4ff;color:#1890ff}.status-badge.error[data-v-4caa3ee5]{background:#fff1f0;color:#ff4d4f}.spinner[data-v-4caa3ee5]{width:24px;height:24px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-4caa3ee5 1s linear infinite}@keyframes spin-4caa3ee5{to{transform:rotate(360deg)}}.image-card>div[data-v-2695c9da]:first-child{flex:1;display:flex;flex-direction:column}.image-card:hover .hover-overlay[data-v-2695c9da]{opacity:1}.image-card:hover img[data-v-2695c9da]{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-e30ffe3c]{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-e30ffe3c]:hover{transform:translateY(-4px) translateZ(0);box-shadow:0 12px 24px #00000014}.card-cover[data-v-e30ffe3c]{aspect-ratio:3/4;background:#f7f7f7;position:relative;overflow:hidden;cursor:pointer}.card-cover img[data-v-e30ffe3c]{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-e30ffe3c]{transform:scale(1.05) translateZ(0)}.cover-placeholder[data-v-e30ffe3c]{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-e30ffe3c]{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-e30ffe3c]{opacity:1;pointer-events:auto}.overlay-btn[data-v-e30ffe3c]{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-e30ffe3c]:hover{background:#fff;color:var(--text-main, #1a1a1a);transform:translateY(-2px)}.overlay-btn.primary[data-v-e30ffe3c]{background:var(--primary, #ff2442);border-color:var(--primary, #ff2442)}.overlay-btn.primary[data-v-e30ffe3c]:hover{background:var(--primary-hover, #e61e3a);color:#fff}.status-badge[data-v-e30ffe3c]{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-e30ffe3c]{background:#52c41ae6}.status-badge.draft[data-v-e30ffe3c]{background:#00000080}.status-badge.generating[data-v-e30ffe3c]{background:#1890ffe6}.card-footer[data-v-e30ffe3c]{padding:16px}.card-title[data-v-e30ffe3c]{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-e30ffe3c]{display:flex;align-items:center;font-size:12px;color:var(--text-sub, #666)}.dot[data-v-e30ffe3c]{margin:0 6px}.more-actions-wrapper[data-v-e30ffe3c]{margin-left:auto}.more-btn[data-v-e30ffe3c]{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-e30ffe3c]:hover{background:#fee;color:#ff4d4f}.modal-fullscreen[data-v-2c8b05ef]{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-2c8b05ef]{background:#fff;width:100%;max-width:1000px;height:90vh;border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-2c8b05ef]{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-2c8b05ef]{display:flex;align-items:flex-start;gap:12px;margin-bottom:4px}.modal-title[data-v-2c8b05ef]{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-2c8b05ef]{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.title-expand-btn[data-v-2c8b05ef]{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-2c8b05ef]:hover{background:var(--primary, #ff2442);color:#fff}.modal-meta[data-v-2c8b05ef]{font-size:12px;color:#999;display:flex;align-items:center;gap:12px;margin-top:8px}.view-outline-btn[data-v-2c8b05ef]{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-2c8b05ef]:hover{background:var(--primary, #ff2442);color:#fff;border-color:var(--primary, #ff2442)}.header-actions[data-v-2c8b05ef]{display:flex;gap:12px;align-items:center}.download-btn[data-v-2c8b05ef]{padding:8px 16px;font-size:14px;display:flex;align-items:center;gap:6px}.close-icon[data-v-2c8b05ef]{background:none;border:none;font-size:24px;cursor:pointer;color:#666;padding:0;line-height:1}.close-icon[data-v-2c8b05ef]:hover{color:#333}.modal-gallery-grid[data-v-2c8b05ef]{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-2c8b05ef]{display:flex;flex-direction:column}.modal-img-preview[data-v-2c8b05ef]{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;border-radius:8px;contain:layout style paint}.modal-img-preview img[data-v-2c8b05ef]{width:100%;height:100%;object-fit:cover}.modal-img-overlay[data-v-2c8b05ef]{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-2c8b05ef],.modal-img-preview.regenerating .modal-img-overlay[data-v-2c8b05ef]{opacity:1;pointer-events:auto}.modal-img-preview.regenerating .regenerate-icon[data-v-2c8b05ef]{animation:spin-2c8b05ef 1s linear infinite}@keyframes spin-2c8b05ef{to{transform:rotate(360deg)}}.modal-overlay-btn[data-v-2c8b05ef]{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-2c8b05ef]:hover{background:var(--primary, #ff2442);color:#fff;transform:scale(1.05)}.modal-overlay-btn[data-v-2c8b05ef]:disabled{opacity:.5;cursor:not-allowed;transform:none}.placeholder[data-v-2c8b05ef]{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-2c8b05ef]{margin-top:8px;display:flex;justify-content:space-between;font-size:12px;color:#666}.download-link[data-v-2c8b05ef]{cursor:pointer;color:var(--primary, #ff2442);transition:opacity .2s}.download-link[data-v-2c8b05ef]:hover{opacity:.7}@media (max-width: 768px){.modal-fullscreen[data-v-2c8b05ef]{padding:20px}.modal-gallery-grid[data-v-2c8b05ef]{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-14c81184]{width:16px;height:16px;border:2px solid var(--primary);border-top-color:transparent;border-radius:50%;animation:spin-14c81184 1s linear infinite;display:inline-block}@keyframes spin-14c81184{to{transform:rotate(360deg)}}.toolbar-wrapper[data-v-14c81184]{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-14c81184]{position:relative;width:240px;margin-bottom:10px}.search-mini input[data-v-14c81184]{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-14c81184]:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px var(--primary-light)}.search-mini .icon[data-v-14c81184]{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#ccc}.gallery-grid[data-v-14c81184]{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:24px;margin-bottom:40px}.pagination-wrapper[data-v-14c81184]{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:40px}.page-btn[data-v-14c81184]{padding:8px 16px;border:1px solid var(--border-color);background:#fff;border-radius:6px;cursor:pointer}.page-btn[data-v-14c81184]:disabled{opacity:.5;cursor:not-allowed}.empty-state-large[data-v-14c81184]{text-align:center;padding:80px 0;color:var(--text-sub)}.empty-img[data-v-14c81184]{font-size:64px;opacity:.5}.empty-state-large .empty-tips[data-v-14c81184]{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-f273546c]{max-width:900px;margin:0 auto}.section-header[data-v-f273546c]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.header-actions[data-v-f273546c]{display:flex;gap:8px}.section-title[data-v-f273546c]{font-size:18px;font-weight:600;margin-bottom:4px;color:#1a1a1a}.section-desc[data-v-f273546c]{font-size:14px;color:#666;margin:0}.btn-small[data-v-f273546c]{padding:6px 12px;font-size:13px;display:inline-flex;align-items:center;gap:6px}.btn-secondary[data-v-f273546c]{background:#f5f5f5;color:#666;border:1px solid #ddd}.btn-secondary[data-v-f273546c]:hover{background:#eee;color:#333}.loading-container[data-v-f273546c]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:#666}.key-list[data-v-f273546c]{margin-top:16px}.empty-state[data-v-f273546c]{text-align:center;padding:32px;color:#999;font-size:14px}.key-table[data-v-f273546c]{border:1px solid #eee;border-radius:8px;overflow:hidden}.key-row[data-v-f273546c]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid #eee}.key-row[data-v-f273546c]:last-child{border-bottom:none}.key-value[data-v-f273546c]{font-family:monospace;font-size:14px;color:#333}.btn-icon[data-v-f273546c]{width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999;transition:all .2s ease}.btn-icon[data-v-f273546c]:hover{background:#f5f5f5;color:#666}.btn-delete[data-v-f273546c]:hover{background:#fff2f0;color:#ff4d4f}.btn-icon[data-v-f273546c]:disabled{opacity:.3;cursor:not-allowed}.modal-overlay[data-v-f273546c]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content[data-v-f273546c]{background:#fff;border-radius:16px;width:90%;max-width:480px;box-shadow:0 20px 60px #0003;animation:modalIn-f273546c .2s ease-out}.modal-small[data-v-f273546c]{max-width:400px}.modal-header[data-v-f273546c]{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #eee}.modal-header h3[data-v-f273546c]{margin:0;font-size:18px;font-weight:600}.btn-close[data-v-f273546c]{width:32px;height:32px;border:none;background:transparent;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#999}.btn-close[data-v-f273546c]:hover{background:#f5f5f5;color:#333}.modal-body[data-v-f273546c]{padding:24px}.modal-footer[data-v-f273546c]{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #eee}.form-group[data-v-f273546c]{margin-bottom:16px}.form-group label[data-v-f273546c]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-input[data-v-f273546c]{width:100%;padding:10px 12px;font-size:14px;border:1px solid #ddd;border-radius:8px;transition:all .2s ease;box-sizing:border-box}.form-input[data-v-f273546c]:focus{outline:none;border-color:var(--primary, #ff2442);box-shadow:0 0 0 3px #ff24421a}.error-text[data-v-f273546c]{color:#ff4d4f;font-size:13px;margin:8px 0 0}@keyframes modalIn-f273546c{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.login-container[data-v-979c6acb]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#fff5f5,#fff,#f5f5ff);padding:20px}.login-card[data-v-979c6acb]{width:100%;max-width:400px;background:#fff;border-radius:24px;padding:48px 40px;box-shadow:0 20px 60px #00000014;animation:slideUp-979c6acb .5s ease-out}.login-header[data-v-979c6acb]{text-align:center;margin-bottom:36px}.logo-icon[data-v-979c6acb]{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;background:linear-gradient(135deg,#ff2442,#ff6b8a);border-radius:20px;color:#fff;margin-bottom:20px;box-shadow:0 8px 24px #ff244240}.login-title[data-v-979c6acb]{font-size:24px;font-weight:700;color:#1a1a1a;margin:0 0 8px}.login-subtitle[data-v-979c6acb]{font-size:14px;color:#888;margin:0}.login-form[data-v-979c6acb]{display:flex;flex-direction:column;gap:16px}.input-group[data-v-979c6acb]{position:relative}.input-field[data-v-979c6acb]{width:100%;padding:16px 48px 16px 16px;font-size:16px;border:2px solid #eee;border-radius:12px;background:#fafafa;transition:all .2s ease;box-sizing:border-box}.input-field[data-v-979c6acb]:focus{outline:none;border-color:var(--primary, #ff2442);background:#fff;box-shadow:0 0 0 4px #ff24421a}.input-field.input-error[data-v-979c6acb]{border-color:#ff4d4f}.input-field[data-v-979c6acb]:disabled{opacity:.6;cursor:not-allowed}.toggle-visibility[data-v-979c6acb]{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#999;padding:8px;display:flex;align-items:center;justify-content:center}.toggle-visibility[data-v-979c6acb]:hover{color:#666}.error-message[data-v-979c6acb]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#fff2f0;border:1px solid #ffccc7;border-radius:8px;color:#ff4d4f;font-size:14px}.login-btn[data-v-979c6acb]{width:100%;padding:16px;font-size:16px;font-weight:600;border-radius:12px;margin-top:8px}.login-btn[data-v-979c6acb]:disabled{opacity:.5;cursor:not-allowed}.spinner-small[data-v-979c6acb]{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin-979c6acb .8s linear infinite}.login-footer[data-v-979c6acb]{text-align:center;margin-top:32px;padding-top:24px;border-top:1px solid #eee}.login-footer a[data-v-979c6acb]{font-size:13px;color:#999;text-decoration:none}.login-footer a[data-v-979c6acb]:hover{color:var(--primary, #ff2442)}@keyframes slideUp-979c6acb{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin-979c6acb{to{transform:rotate(360deg)}}.fade-enter-active[data-v-979c6acb],.fade-leave-active[data-v-979c6acb]{transition:opacity .2s ease}.fade-enter-from[data-v-979c6acb],.fade-leave-to[data-v-979c6acb]{opacity:0}: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:100vh;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}
