.device-preview[data-v-0eb1fbed]{width:100%;max-width:300px;height:100%;min-height:0;display:flex;flex-direction:column;align-items:center}.device-stage[data-v-0eb1fbed]{flex:1;min-height:0;width:100%;display:flex;justify-content:center;align-items:center}.device-shell[data-v-0eb1fbed]{position:relative;width:280px;max-width:100%;height:100%;max-height:100%;display:flex;flex-direction:column;background:#0f0f0f;overflow:hidden;box-shadow:0 0 0 1px #ffffff0f inset,0 24px 48px #1c191738,0 8px 16px #1c191714;box-sizing:border-box}.device-shell.ios[data-v-0eb1fbed]{border-radius:44px;padding:12px 10px 10px}.device-shell.android[data-v-0eb1fbed]{border-radius:28px;padding:8px 8px 6px}.ios-island[data-v-0eb1fbed]{position:absolute;top:14px;left:50%;transform:translate(-50%);width:96px;height:28px;background:#0f0f0f;border-radius:20px;z-index:5;box-shadow:0 0 0 1px #ffffff0a;pointer-events:none}.device-screen[data-v-0eb1fbed]{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden;background:#fff}.device-shell.ios .device-screen[data-v-0eb1fbed]{border-radius:34px}.device-shell.android .device-screen[data-v-0eb1fbed]{border-radius:20px}.status-bar[data-v-0eb1fbed]{flex-shrink:0;height:32px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:12px;font-weight:600;color:#1f2937;font-variant-numeric:tabular-nums;background:#fffffff2;border-bottom:1px solid #f3f4f6}.status-bar.ios[data-v-0eb1fbed]{padding-top:2px}.status-island-gap[data-v-0eb1fbed]{flex:1;max-width:88px}.status-icons[data-v-0eb1fbed]{display:flex;align-items:center;gap:5px}.icon-signal[data-v-0eb1fbed]{width:15px;height:9px;background:#374151;clip-path:polygon(0 100%,22% 55%,44% 75%,66% 35%,88% 55%,100% 40%,100% 100%)}.icon-wifi[data-v-0eb1fbed]{width:11px;height:8px;border:2px solid #374151;border-top:none;border-radius:0 0 7px 7px;background:transparent}.icon-battery[data-v-0eb1fbed]{width:18px;height:9px;border:1.5px solid #374151;border-radius:2px;position:relative;background:linear-gradient(90deg,#374151 0%,#374151 72%,transparent 72%)}.icon-battery[data-v-0eb1fbed]:after{content:"";position:absolute;right:-3px;top:2px;width:2px;height:5px;background:#374151;border-radius:0 1px 1px 0}.app-header[data-v-0eb1fbed]{flex-shrink:0;height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:#ffffffeb;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid #f3f4f6;z-index:2}.app-header-left[data-v-0eb1fbed]{display:flex;align-items:center;gap:4px;min-width:0}.app-header-title[data-v-0eb1fbed]{font-size:14px;font-weight:600;color:#1f2937;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.app-header-right[data-v-0eb1fbed]{display:flex;align-items:center;gap:12px;color:#4b5563;flex-shrink:0}.header-icon[data-v-0eb1fbed]{width:20px;height:20px;color:#374151}.header-icon-sm[data-v-0eb1fbed]{width:16px;height:16px}.screen-body[data-v-0eb1fbed]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d6d3d1 transparent;background:#fff}.device-shell.ios .screen-body[data-v-0eb1fbed]:not(.screen-body-empty){border-radius:0 0 16px 16px}.screen-body-padded[data-v-0eb1fbed]{padding:12px;background:#faf9f7}.screen-body-empty[data-v-0eb1fbed]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center;overflow:hidden;background:#fff}.screen-img[data-v-0eb1fbed]{width:100%;display:block;border-radius:8px}.screen-img.stitch[data-v-0eb1fbed]{border-radius:0;width:100%}.module-stack[data-v-0eb1fbed]{display:flex;flex-direction:column}.module-block img[data-v-0eb1fbed]{width:100%;display:block}.block-placeholder[data-v-0eb1fbed]{padding:32px 16px;text-align:center;font-size:12px;color:#a8a29e;background:#f5f5f4;border-bottom:1px solid #e7e5e4}.screen-empty-rich[data-v-0eb1fbed]{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%}.empty-preview-icon[data-v-0eb1fbed]{font-size:2.25rem;line-height:1;margin-bottom:12px;opacity:.8;animation:empty-icon-fade-0eb1fbed .6s ease-out both}@keyframes empty-icon-fade-0eb1fbed{0%{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:.8;transform:translateY(0) scale(1)}}.empty-preview-title[data-v-0eb1fbed]{margin:0 0 4px;font-size:16px;font-weight:600;color:#374151}.empty-preview-desc[data-v-0eb1fbed]{margin:0;font-size:12px;line-height:1.625;color:#9ca3af;max-width:200px}.ios-home[data-v-0eb1fbed]{flex-shrink:0;margin:8px auto 4px;width:108px;height:4px;background:#f5f5f4;border-radius:4px;opacity:.85}.android-nav[data-v-0eb1fbed]{flex-shrink:0;margin:6px auto 2px;width:96px;height:4px;background:#f5f5f4;border-radius:4px;opacity:.7}.engine-badge[data-v-2804793f]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:9999px;font-size:12px;font-weight:500;line-height:1.25;color:#312e81;background:#eef2ffcc;border:1px solid #e0e7ff;transition:background .15s ease,border-color .15s ease}.engine-badge.offline[data-v-2804793f]{color:#64748b;background:#0f172a0a;border-color:#e2e8f0cc}.engine-badge-pulse[data-v-2804793f]{width:6px;height:6px;border-radius:9999px;flex-shrink:0;background:#94a3b8}.engine-badge-pulse-live[data-v-2804793f]{background:#10b981;animation:engine-pulse-2804793f 2s cubic-bezier(.4,0,.6,1) infinite;box-shadow:0 0 #10b98173}@keyframes engine-pulse-2804793f{0%,to{opacity:1;box-shadow:0 0 #10b98166}50%{opacity:.85;box-shadow:0 0 0 4px #10b98100}}.engine-badge-icon[data-v-2804793f]{width:13px;height:13px;flex-shrink:0;color:currentColor}.engine-badge-label[data-v-2804793f]{white-space:nowrap}.platform-segmented[data-v-49a68b2e]{display:flex;align-items:center;justify-content:center;gap:4px;width:100%;max-width:300px;padding:4px;border-radius:8px;background:#f3f4f6;flex-shrink:0}.platform-segmented-btn[data-v-49a68b2e]{flex:1;min-width:0;border:none;background:transparent;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:500;line-height:1.25;color:#6b7280;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,color .15s ease}.platform-segmented-btn.active[data-v-49a68b2e]{background:#fff;box-shadow:0 1px 2px #0f172a14;font-weight:600;color:#1f2937}.platform-segmented-btn[data-v-49a68b2e]:hover:not(.active){color:#374151}.platform-segmented-btn[data-v-49a68b2e]:focus-visible{outline:2px solid #6366f1;outline-offset:1px}.key-modal-backdrop[data-v-1564ed9c]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.key-modal[data-v-1564ed9c]{position:relative;width:100%;max-width:440px;max-height:calc(100vh - 48px);overflow-y:auto;padding:28px 28px 24px;background:var(--surface, #fff);border-radius:var(--radius-lg, 16px);border:1px solid var(--line, #e2e8f0);box-shadow:var(--shadow-lg, 0 20px 48px rgba(15, 23, 42, .12))}.key-modal-close[data-v-1564ed9c]{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-subtle, #f8fafc);color:var(--muted, #94a3b8);display:flex;align-items:center;justify-content:center}.key-modal-close svg[data-v-1564ed9c]{width:18px;height:18px}.key-modal-icon[data-v-1564ed9c]{font-size:28px;text-align:center;margin-bottom:8px}.key-modal-title[data-v-1564ed9c]{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text, #0f172a);text-align:center}.key-modal-sub[data-v-1564ed9c]{margin:0 0 20px;font-size:13px;color:var(--text-secondary, #475569);line-height:1.5;text-align:center}.key-field[data-v-1564ed9c]{margin-bottom:16px}.key-label[data-v-1564ed9c]{display:block;font-size:13px;font-weight:600;color:var(--text, #0f172a);margin-bottom:4px}.key-hint[data-v-1564ed9c]{margin:0 0 8px;font-size:11px;color:var(--muted, #94a3b8);line-height:1.4}.key-input-wrap[data-v-1564ed9c]{display:flex;gap:8px;align-items:center}.key-input[data-v-1564ed9c]{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-sm, 8px);font-size:13px;font-family:ui-monospace,monospace;color:var(--text, #0f172a);background:var(--bg-subtle, #f8fafc)}.key-input[data-v-1564ed9c]:focus{outline:2px solid #6366f1;outline-offset:1px;border-color:#c7d2fe}.key-toggle[data-v-1564ed9c]{flex-shrink:0;border:none;background:transparent;font-size:12px;font-weight:600;color:var(--accent, #4f46e5);cursor:pointer;padding:4px 6px}.key-privacy[data-v-1564ed9c]{margin:0 0 16px;padding:10px 12px;border-radius:var(--radius-sm, 8px);background:#f0fdf4;border:1px solid #bbf7d0;font-size:12px;line-height:1.55;color:#166534}.key-save-btn[data-v-1564ed9c]{width:100%;padding:11px 16px;border:none;border-radius:var(--radius-sm, 8px);background:linear-gradient(135deg,var(--accent, #4f46e5),#6366f1);color:#fff;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 8px #4f46e540}.key-save-btn[data-v-1564ed9c]:hover{filter:brightness(1.05)}.key-commercial[data-v-1564ed9c]{margin:14px 0 0;font-size:11px;line-height:1.55;color:var(--muted, #94a3b8);text-align:center}.key-commercial-link[data-v-1564ed9c]{border:none;background:none;padding:0;font-size:inherit;font-weight:600;color:var(--accent, #4f46e5);cursor:pointer;text-decoration:underline;text-underline-offset:2px}.modal-fade-enter-active[data-v-1564ed9c],.modal-fade-leave-active[data-v-1564ed9c]{transition:opacity .22s ease}.modal-fade-enter-from[data-v-1564ed9c],.modal-fade-leave-to[data-v-1564ed9c]{opacity:0}.contact-modal-backdrop[data-v-7bab289f]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a73;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.contact-modal[data-v-7bab289f]{position:relative;width:100%;max-width:380px;padding:28px 28px 24px;background:var(--surface, #fff);border-radius:var(--radius-lg, 16px);border:1px solid var(--line, #e2e8f0);box-shadow:var(--shadow-lg, 0 20px 48px rgba(15, 23, 42, .12));text-align:center}.contact-modal-close[data-v-7bab289f]{position:absolute;top:14px;right:14px;width:32px;height:32px;border:none;border-radius:8px;background:var(--bg-subtle, #f8fafc);color:var(--muted, #94a3b8);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s}.contact-modal-close[data-v-7bab289f]:hover{background:var(--line-subtle, #f1f5f9);color:var(--text-secondary, #475569)}.contact-modal-close svg[data-v-7bab289f]{width:18px;height:18px}.contact-modal-icon[data-v-7bab289f]{width:44px;height:44px;margin:0 auto 12px;border-radius:12px;background:linear-gradient(135deg,var(--accent-soft, #eef2ff),#f8fafc);border:1px solid #c7d2fe;color:var(--accent, #4f46e5);display:flex;align-items:center;justify-content:center}.contact-modal-icon svg[data-v-7bab289f]{width:22px;height:22px}.contact-modal-title[data-v-7bab289f]{margin:0 0 6px;font-size:18px;font-weight:700;color:var(--text, #0f172a);letter-spacing:-.02em}.contact-modal-sub[data-v-7bab289f]{margin:0 0 20px;font-size:13px;color:var(--text-secondary, #475569);line-height:1.6;text-align:left}.contact-modal-services[data-v-7bab289f]{margin:0 0 20px;padding:0;list-style:none;text-align:left}.contact-modal-services li[data-v-7bab289f]{position:relative;padding:8px 0;font-size:13px;line-height:1.45;color:var(--text-secondary, #475569);border-bottom:1px solid var(--line-subtle, #f1f5f9)}.contact-modal-services li[data-v-7bab289f]:last-child{border-bottom:none;padding-bottom:0}.contact-modal-services li[data-v-7bab289f]:first-child{padding-top:0}.contact-modal-qr-wrap[data-v-7bab289f]{display:inline-block;padding:10px;border-radius:var(--radius, 12px);background:#fff;border:1px solid var(--line, #e2e8f0);box-shadow:var(--shadow-sm)}.contact-modal-qr[data-v-7bab289f]{display:block;width:200px;height:200px;border-radius:8px}.contact-modal-hint[data-v-7bab289f]{margin:14px 0 0;font-size:12px;color:var(--muted, #94a3b8)}.modal-fade-enter-active[data-v-7bab289f],.modal-fade-leave-active[data-v-7bab289f]{transition:opacity .22s ease}.modal-fade-enter-active .contact-modal[data-v-7bab289f],.modal-fade-leave-active .contact-modal[data-v-7bab289f]{transition:transform .22s ease,opacity .22s ease}.modal-fade-enter-from[data-v-7bab289f],.modal-fade-leave-to[data-v-7bab289f]{opacity:0}.modal-fade-enter-from .contact-modal[data-v-7bab289f],.modal-fade-leave-to .contact-modal[data-v-7bab289f]{transform:scale(.96) translateY(8px);opacity:0}.contact-compact-bar[data-v-9a82e8eb]{width:100%;max-width:300px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border:1px solid #1e293b;border-radius:12px;background:#0f172a;color:#fff;cursor:pointer;box-shadow:0 12px 24px -6px #0f172a73,0 0 0 1px #ffffff0a inset;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease}.contact-compact-bar[data-v-9a82e8eb]:hover{background:#1e293b;border-color:#334155;transform:translateY(-1px);box-shadow:0 16px 28px -8px #0f172a80,0 0 0 1px #ffffff0f inset}.contact-compact-bar[data-v-9a82e8eb]:focus-visible{outline:2px solid #10b981;outline-offset:2px}.contact-compact-left[data-v-9a82e8eb]{display:flex;align-items:center;gap:6px;min-width:0;flex:1;text-align:left}.contact-compact-icon[data-v-9a82e8eb]{flex-shrink:0;font-size:12px;line-height:1;filter:drop-shadow(0 0 4px rgba(250,204,21,.35))}.contact-compact-label[data-v-9a82e8eb]{font-size:12px;font-weight:500;line-height:1.35;color:#e2e8f0}.contact-compact-wechat[data-v-9a82e8eb]{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:8px;background:#10b981;color:#020617;font-size:12px;font-weight:600;line-height:1.25;white-space:nowrap;box-shadow:0 1px 2px #10b98159;transition:background .2s ease,transform .2s ease}.contact-compact-bar:hover .contact-compact-wechat[data-v-9a82e8eb]{background:#34d399;transform:scale(1.05)}@media (max-width: 1100px){.contact-compact-bar[data-v-9a82e8eb]{max-width:100%}.contact-compact-label[data-v-9a82e8eb]{font-size:11px}.contact-compact-wechat[data-v-9a82e8eb]{font-size:11px;padding:4px 10px}}.footer-data-bar[data-v-4fe0b242]{width:100%;padding:16px 24px 20px;border-top:1px solid rgba(226,232,240,.9);background:#f8fafcb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.footer-data-inner[data-v-4fe0b242]{display:flex;flex-wrap:wrap;align-items:stretch;justify-content:center;gap:12px;max-width:1120px;margin:0 auto;transition:opacity .2s ease-in-out}.footer-data-inner.is-loading[data-v-4fe0b242]{opacity:.9}.footer-stat-badge[data-v-4fe0b242]{display:inline-flex;align-items:center;gap:8px;min-width:0;padding:8px 12px;border-radius:12px;border:1px solid rgba(226,232,240,.95);background:#f1f5f9d1;box-shadow:0 1px 2px #0f172a0a}.footer-stat-icon[data-v-4fe0b242]{flex-shrink:0;font-size:14px;line-height:1}.footer-stat-copy[data-v-4fe0b242]{display:flex;flex-direction:column;gap:2px;min-width:0}.footer-stat-label[data-v-4fe0b242]{font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#94a3b8}.footer-stat-value[data-v-4fe0b242]{font-size:12px;line-height:1.35;color:#64748b;white-space:nowrap}@media (max-width: 768px){.footer-data-bar[data-v-4fe0b242]{padding-inline:16px}.footer-data-inner[data-v-4fe0b242]{gap:8px}.footer-stat-badge[data-v-4fe0b242]{flex:1 1 calc(50% - 8px);max-width:calc(50% - 4px)}.footer-stat-value[data-v-4fe0b242]{white-space:normal}}.seo-footer[data-v-56f3e550]{width:100%;max-width:100%;margin-top:8px;border-top:1px solid var(--line, #e2e8f0);background:var(--bg-subtle, #f8fafc)}.seo-footer-toggle[data-v-56f3e550]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;background:transparent;color:var(--text-secondary, #475569);font-size:13px;font-weight:600;cursor:pointer;transition:color .15s,background .15s}.seo-footer-toggle[data-v-56f3e550]:hover{color:var(--accent, #4f46e5);background:#eef2ff99}.seo-footer-chevron[data-v-56f3e550]{width:18px;height:18px;transition:transform .2s ease}.seo-footer-chevron.open[data-v-56f3e550]{transform:rotate(180deg)}.seo-footer-body[data-v-56f3e550]{padding:0 40px 40px;max-width:960px}.seo-h2[data-v-56f3e550]{margin:0 0 12px;font-size:16px;font-weight:700;color:var(--text, #0f172a);letter-spacing:-.01em}.seo-lead[data-v-56f3e550]{margin:0;font-size:14px;line-height:1.7;color:var(--text-secondary, #475569)}.seo-intro[data-v-56f3e550],.seo-faq[data-v-56f3e550]{margin-bottom:28px}.faq-list[data-v-56f3e550]{margin:0}.faq-q[data-v-56f3e550]{margin:16px 0 6px;font-size:14px;font-weight:600;color:var(--text, #0f172a)}.faq-q[data-v-56f3e550]:first-of-type{margin-top:0}.faq-a[data-v-56f3e550]{margin:0;font-size:13px;line-height:1.7;color:var(--text-secondary, #475569)}.compare-table[data-v-56f3e550]{width:100%;border-collapse:collapse;font-size:13px;background:var(--surface, #fff);border:1px solid var(--line, #e2e8f0);border-radius:var(--radius-sm, 8px);overflow:hidden}.compare-table th[data-v-56f3e550],.compare-table td[data-v-56f3e550]{padding:10px 14px;text-align:left;border-bottom:1px solid var(--line-subtle, #f1f5f9)}.compare-table thead th[data-v-56f3e550]{background:var(--accent-soft, #eef2ff);color:var(--accent-hover, #4338ca);font-weight:600;font-size:12px}.compare-table tbody th[data-v-56f3e550]{font-weight:600;color:var(--text, #0f172a);width:28%}.compare-table tbody td[data-v-56f3e550]:last-child{color:var(--accent-hover, #4338ca);font-weight:500}.seo-keywords[data-v-56f3e550]{margin:0;font-size:12px;line-height:1.6;color:var(--muted, #94a3b8)}@media (max-width: 1100px){.seo-footer-body[data-v-56f3e550]{padding:0 20px 32px}}.app-root[data-v-df4c86dd]{width:100%;min-height:100vh}.app-shell[data-v-df4c86dd]{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;width:100%;min-height:100vh;align-items:start}.app-main[data-v-df4c86dd]{min-width:0;padding:24px 40px 48px}.topbar[data-v-df4c86dd]{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 0 16px;border-bottom:1px solid var(--line);margin-bottom:16px}.dev-tip-card[data-v-df4c86dd]{display:flex;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 14px;border-radius:var(--radius);border:1px solid #c7d2fe;background:#eef2ff8c}.dev-tip-icon[data-v-df4c86dd]{flex-shrink:0;font-size:16px;line-height:1.4}.dev-tip-text[data-v-df4c86dd]{margin:0;font-size:13px;line-height:1.55;color:var(--text-secondary)}.dev-tip-text strong[data-v-df4c86dd]{color:var(--accent-hover);font-weight:600}.server-warm-tip[data-v-df4c86dd]{margin:8px 0 0;font-size:12px;line-height:1.55;color:#6366f1;font-weight:500}.global-loading .server-warm-tip[data-v-df4c86dd]{margin-top:6px}.ai-action-hint[data-v-df4c86dd]{margin-top:12px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);border:1px solid #c7d2fe}.ai-stage-pipeline[data-v-df4c86dd]{margin:6px 0 0;font-size:12px;color:var(--accent-hover);font-weight:500}.btn-spinner[data-v-df4c86dd]{width:14px;height:14px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin-df4c86dd .75s linear infinite;flex-shrink:0}.btn-primary .btn-spinner[data-v-df4c86dd]{border-color:#ffffff59;border-top-color:#fff}.toast-banner[data-v-df4c86dd]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1100;display:flex;align-items:flex-start;gap:10px;max-width:min(480px,calc(100vw - 32px));padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-lg);font-size:13px;line-height:1.5;color:var(--text-secondary)}.toast-banner.warm[data-v-df4c86dd]{border-color:#fcd34d;background:linear-gradient(135deg,#fffbeb,#fff)}.toast-banner p[data-v-df4c86dd]{margin:0;flex:1}.toast-icon[data-v-df4c86dd]{flex-shrink:0;font-size:16px}.toast-close[data-v-df4c86dd]{border:none;background:transparent;color:var(--muted);font-size:18px;line-height:1;padding:0 4px}.toast-fade-enter-active[data-v-df4c86dd],.toast-fade-leave-active[data-v-df4c86dd]{transition:opacity .25s ease,transform .25s ease}.toast-fade-enter-from[data-v-df4c86dd],.toast-fade-leave-to[data-v-df4c86dd]{opacity:0;transform:translate(-50%) translateY(12px)}.brand[data-v-df4c86dd]{display:flex;align-items:center;gap:14px}.brand-mark[data-v-df4c86dd]{width:44px;height:44px;border-radius:var(--radius);background:linear-gradient(135deg,var(--accent) 0%,#7c3aed 100%);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px var(--accent-ring)}.brand-text[data-v-df4c86dd]{display:flex;flex-direction:column;gap:2px}.brand-name[data-v-df4c86dd]{margin:0;font-size:18px;font-weight:700;letter-spacing:-.02em;color:var(--text);line-height:1.25}.brand-tagline[data-v-df4c86dd]{margin:0;font-size:13px;font-weight:600;color:var(--accent-hover, #4338ca);line-height:1.35}.brand-sub[data-v-df4c86dd]{margin:2px 0 0;font-size:12px;font-weight:500;color:var(--muted);line-height:1.4}.topbar-status[data-v-df4c86dd]{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.api-config-btn[data-v-df4c86dd]{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;border:1px solid #e2e8f0;background:#ffffffeb;color:var(--text-secondary, #475569);font-size:12px;font-weight:600;cursor:pointer;box-shadow:0 1px 2px #0f172a0d;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease}.api-config-btn[data-v-df4c86dd]:hover{background:#fff;border-color:#c7d2fe;color:var(--accent, #4f46e5);box-shadow:0 4px 14px #4f46e524;transform:translateY(-1px)}.api-config-dot[data-v-df4c86dd]{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#f59e0b;box-shadow:0 0 0 2px var(--surface, #fff)}.coop-btn[data-v-df4c86dd]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong, #cbd5e1);background:var(--surface, #fff);color:var(--text-secondary, #475569);font-size:12px;font-weight:600;white-space:nowrap;transition:border-color .15s,color .15s,box-shadow .15s,background .15s}.coop-btn[data-v-df4c86dd]:hover:not(.coop-btn-primary){border-color:#c7d2fe;color:var(--accent-hover, #4338ca);background:linear-gradient(135deg,#fff,#eef2ff);box-shadow:var(--shadow-sm)}.coop-btn-icon[data-v-df4c86dd]{width:15px;height:15px;flex-shrink:0}.coop-btn.coop-btn-primary[data-v-df4c86dd]{border:1px solid rgba(255,255,255,.12);color:#fff;background:linear-gradient(135deg,#4338ca,#4f46e5);box-shadow:0 1px 2px #0f172a14,0 4px 14px #4f46e547;cursor:pointer;transition:all .2s ease-in-out}.coop-btn.coop-btn-primary[data-v-df4c86dd]:hover{color:#fff;background:#4f46e5;border-color:#fff3;transform:translateY(-2px);box-shadow:0 10px 28px #6366f159,0 4px 16px #4f46e540}.coop-btn.coop-btn-primary[data-v-df4c86dd]:active{transform:translateY(0) scale(.95);box-shadow:0 2px 10px #4f46e53d}.coop-btn.coop-btn-primary[data-v-df4c86dd]:focus-visible{outline:2px solid #818cf8;outline-offset:2px}.panel-step-title[data-v-df4c86dd]{margin:0 0 8px;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.upload-zone-sub[data-v-df4c86dd]{font-size:12px;color:var(--muted);line-height:1.5;max-width:280px}.upload-tips-title[data-v-df4c86dd]{margin:0 0 12px;font-size:14px;font-weight:700;color:var(--text)}.upload-tips-list[data-v-df4c86dd]{margin:0;padding:0;list-style:none}.upload-tips-list li[data-v-df4c86dd]{font-size:13px;color:var(--text-secondary);line-height:1.55;padding:8px 0;border-bottom:1px solid var(--line-subtle)}.upload-tips-list li[data-v-df4c86dd]:last-child{border-bottom:none}.upload-tips-list strong[data-v-df4c86dd]{color:var(--text);font-weight:600}.workflow[data-v-df4c86dd]{margin-bottom:24px}.workflow-inner[data-v-df4c86dd]{display:flex;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:4px;box-shadow:var(--shadow-xs);overflow-x:auto;scrollbar-width:thin}.workflow-step[data-v-df4c86dd]{flex:1 1 0;position:relative;display:flex;align-items:center;gap:10px;padding:10px 14px;border:none;background:transparent;border-radius:var(--radius);text-align:left;min-width:120px}.workflow-step[data-v-df4c86dd]:hover:not(.active){background:var(--surface-hover)}.workflow-step.active[data-v-df4c86dd]{background:var(--accent-soft)}.step-indicator[data-v-df4c86dd]{width:28px;height:28px;border-radius:50%;background:var(--line-subtle);border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--muted);flex-shrink:0;transition:all var(--transition)}.workflow-step.active .step-indicator[data-v-df4c86dd]{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-ring)}.workflow-step.done .step-indicator[data-v-df4c86dd]{background:var(--success-soft);border-color:var(--success-border);color:var(--success)}.step-check[data-v-df4c86dd]{font-size:13px;line-height:1}.step-content[data-v-df4c86dd]{display:flex;flex-direction:column;gap:1px;min-width:0}.step-title[data-v-df4c86dd]{font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.workflow-step.active .step-title[data-v-df4c86dd]{color:var(--accent-hover)}.workflow-step.locked[data-v-df4c86dd]{opacity:.55;cursor:not-allowed}.workflow-step[data-v-df4c86dd]:disabled{cursor:not-allowed}.step-lock[data-v-df4c86dd]{font-size:11px;line-height:1}.workflow-phase-hint[data-v-df4c86dd]{margin:0 0 16px;font-size:12px;color:var(--text-secondary);padding:8px 12px;background:var(--bg-subtle);border-radius:var(--radius-sm);border:1px solid var(--line-subtle)}.step-desc[data-v-df4c86dd]{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alert[data-v-df4c86dd]{padding:12px 16px;border-radius:var(--radius);margin-bottom:20px;font-size:13px;font-weight:500}.alert-error[data-v-df4c86dd]{color:var(--error);background:var(--error-soft);border:1px solid var(--error-border);margin-bottom:12px}.panel[data-v-df4c86dd]{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:20px}.panel-header[data-v-df4c86dd]{padding:24px 28px 0}.panel-badge[data-v-df4c86dd]{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);padding:3px 8px;border-radius:6px;margin-bottom:10px}.panel-header h2[data-v-df4c86dd]{margin:0;font-size:20px;font-weight:700;letter-spacing:-.02em;color:var(--text)}.panel-desc[data-v-df4c86dd]{margin:6px 0 0;font-size:14px;color:var(--text-secondary);line-height:1.5}.panel-body[data-v-df4c86dd]{padding:20px 28px 28px}.panel-actions[data-v-df4c86dd]{margin-top:20px}.sub-panel[data-v-df4c86dd]{margin-top:28px;padding:20px;background:var(--bg-subtle);border:1px solid var(--line-subtle);border-radius:var(--radius)}.sub-panel-header h3[data-v-df4c86dd]{margin:0 0 4px;font-size:15px;font-weight:600}.sub-panel-header[data-v-df4c86dd]{margin-bottom:12px}.upload-layout[data-v-df4c86dd]{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.target-product-block[data-v-df4c86dd]{margin-top:20px;padding:16px 18px;border-radius:var(--radius);border:1px solid var(--line);background:#f8fafcd9}.target-product-block-step2[data-v-df4c86dd]{margin-top:0;margin-bottom:16px}.target-product-field[data-v-df4c86dd]{display:block}.field-label-optional[data-v-df4c86dd]{margin-left:6px;font-size:12px;font-weight:400;color:var(--muted)}.target-product-input[data-v-df4c86dd]{margin-top:8px;width:100%}.target-product-counter[data-v-df4c86dd]{display:block;margin-top:6px;font-size:11px;color:var(--muted);text-align:right}.target-product-hint[data-v-df4c86dd]{margin:10px 0 0;font-size:12px;line-height:1.5;color:var(--text-secondary)}.target-product-hint.warn[data-v-df4c86dd]{color:#b45309}.subject-tag-row[data-v-df4c86dd]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px}.subject-tag-label[data-v-df4c86dd]{font-size:12px;color:var(--muted);flex-shrink:0}.subject-tag-chip[data-v-df4c86dd]{border:1px solid #c7d2fe;background:#eef2ff;color:#4338ca;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.subject-tag-chip[data-v-df4c86dd]:hover{background:#e0e7ff;border-color:#a5b4fc}.subject-tag-chip.active[data-v-df4c86dd]{background:#4f46e5;border-color:#4f46e5;color:#fff}.panel-actions-inline[data-v-df4c86dd]{margin-top:14px;margin-bottom:0}.upload-aside[data-v-df4c86dd]{min-height:220px;display:flex;align-items:center;justify-content:center}.upload-preview-img[data-v-df4c86dd]{width:100%;max-height:320px;object-fit:contain;border-radius:var(--radius);border:1px solid var(--line);background:var(--bg-subtle);box-shadow:var(--shadow-xs)}.upload-tips[data-v-df4c86dd]{padding:24px;background:var(--bg-subtle);border:1px solid var(--line-subtle);border-radius:var(--radius);width:100%}.upload-tips h4[data-v-df4c86dd]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text)}.upload-tips ul[data-v-df4c86dd]{margin:0 0 14px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px}.upload-tips li[data-v-df4c86dd]{font-size:13px;color:var(--text-secondary);padding-left:14px;position:relative}.upload-tips li[data-v-df4c86dd]:before{content:"";position:absolute;left:0;top:7px;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.5}.upload-zone[data-v-df4c86dd]{position:relative;border:1px dashed var(--line-strong);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;background:var(--bg-subtle);transition:border-color var(--transition),background var(--transition);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center}.upload-zone.over[data-v-df4c86dd]{border-color:var(--accent);background:var(--accent-soft);border-style:solid}.upload-zone input[data-v-df4c86dd]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-icon[data-v-df4c86dd]{width:52px;height:52px;margin:0 auto 14px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent)}.upload-zone strong[data-v-df4c86dd]{display:block;font-size:15px;font-weight:600;margin-bottom:4px;color:var(--text)}.upload-zone span[data-v-df4c86dd]{color:var(--muted);font-size:13px}.preview-thumb[data-v-df4c86dd]{margin-top:16px;max-height:200px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-xs)}.analysis-layout[data-v-df4c86dd]{display:grid;grid-template-columns:240px 1fr;gap:24px}.analysis-visual[data-v-df4c86dd]{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);background:var(--bg-subtle)}.preview-lg[data-v-df4c86dd]{width:100%;display:block}.analysis-card[data-v-df4c86dd]{padding:20px;background:var(--bg-subtle);border:1px solid var(--line-subtle);border-radius:var(--radius)}.analysis-card.empty-state[data-v-df4c86dd]{display:flex;align-items:center;justify-content:center;color:var(--muted);min-height:200px}.analysis-tag[data-v-df4c86dd]{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;background:var(--accent-soft);color:var(--accent);padding:4px 10px;border-radius:6px;margin-bottom:10px}.analysis-card h3[data-v-df4c86dd]{margin:0 0 8px;font-size:22px;font-weight:700;letter-spacing:-.02em}.analysis-desc[data-v-df4c86dd]{margin:0;color:var(--text-secondary);font-size:14px;line-height:1.6}.selling-list[data-v-df4c86dd]{margin:14px 0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.selling-list li[data-v-df4c86dd]{font-size:13px;color:var(--text-secondary);padding-left:14px;position:relative}.selling-list li[data-v-df4c86dd]:before{content:"";position:absolute;left:0;top:8px;width:5px;height:5px;border-radius:50%;background:var(--accent);opacity:.6}.analysis-meta[data-v-df4c86dd]{font-size:13px;color:var(--muted);margin:0}.analysis-highlight[data-v-df4c86dd]{margin:10px 0 0;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);font-size:13px;font-weight:500;color:var(--text-secondary)}.text-muted[data-v-df4c86dd]{color:var(--muted)}.text-sm[data-v-df4c86dd]{font-size:12px}.msg-line[data-v-df4c86dd]{margin-top:12px}.btn[data-v-df4c86dd]{border:none;border-radius:var(--radius-sm);padding:10px 18px;font-weight:600;font-size:13px;line-height:1.2}.btn-primary[data-v-df4c86dd]{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#fff;box-shadow:0 1px 2px #4f46e533}.btn-primary[data-v-df4c86dd]:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-ring)}.btn-primary[data-v-df4c86dd]:disabled{opacity:.45;cursor:not-allowed}.btn-ghost[data-v-df4c86dd]{background:var(--surface);color:var(--text-secondary);border:1px solid var(--line)}.btn-ghost[data-v-df4c86dd]:hover:not(:disabled){background:var(--surface-hover);border-color:var(--line-strong, #cbd5e1);color:var(--text)}.btn-sm[data-v-df4c86dd]{padding:6px 12px;font-size:12px}.field[data-v-df4c86dd]{display:grid;gap:6px}.field-label[data-v-df4c86dd]{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.02em}.field-input[data-v-df4c86dd]{padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);font-size:14px;background:var(--surface);color:var(--text);transition:border-color var(--transition),box-shadow var(--transition)}.field-input[data-v-df4c86dd]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.field-input-sm[data-v-df4c86dd]{width:72px}.field-color[data-v-df4c86dd]{width:44px;height:38px;padding:2px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);cursor:pointer}.config-row[data-v-df4c86dd]{margin-bottom:20px}.module-picks[data-v-df4c86dd]{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:20px}.pick-label[data-v-df4c86dd]{font-size:12px;font-weight:600;color:var(--text-secondary);margin-right:4px}.pick-chip[data-v-df4c86dd]{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid var(--line);font-size:13px;font-weight:500;background:var(--surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.pick-chip[data-v-df4c86dd]:hover{border-color:var(--line-strong, #cbd5e1)}.pick-chip.on[data-v-df4c86dd]{border-color:var(--accent-muted, #c7d2fe);background:var(--accent-soft);color:var(--accent-hover)}.pick-chip input[data-v-df4c86dd]{accent-color:var(--accent)}.consistency-note[data-v-df4c86dd]{margin:0 0 16px;padding:10px 14px;background:var(--success-soft);border:1px solid var(--success-border);border-radius:var(--radius-sm);font-size:12px;color:var(--success);font-weight:500}.progress-wrap[data-v-df4c86dd]{margin-bottom:16px}.progress-track[data-v-df4c86dd]{height:6px;background:var(--line-subtle);border-radius:999px;overflow:hidden}.progress-fill[data-v-df4c86dd]{height:100%;background:linear-gradient(90deg,var(--accent),#7c3aed);border-radius:999px;transition:width .4s ease}.progress-label[data-v-df4c86dd]{display:block;margin-top:6px;font-size:12px;color:var(--text-secondary)}.global-loading[data-v-df4c86dd]{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;background:linear-gradient(135deg,#eef2ff,#f8fafc);border:1px solid #c7d2fe;border-radius:var(--radius);animation:loading-pulse-df4c86dd 2s ease-in-out infinite}.global-loading-text[data-v-df4c86dd]{display:flex;flex-direction:column;gap:2px}.global-loading-text strong[data-v-df4c86dd]{font-size:14px;color:var(--text)}.global-loading-detail[data-v-df4c86dd]{font-size:12px;color:var(--text-secondary)}.loading-spinner[data-v-df4c86dd]{width:18px;height:18px;border:2px solid #c7d2fe;border-top-color:var(--accent);border-radius:50%;animation:spin-df4c86dd .75s linear infinite;flex-shrink:0}.loading-spinner-lg[data-v-df4c86dd]{width:28px;height:28px;border-width:3px}@keyframes spin-df4c86dd{to{transform:rotate(360deg)}}@keyframes loading-pulse-df4c86dd{0%,to{border-color:#c7d2fe}50%{border-color:#a5b4fc}}.panel-overlay[data-v-df4c86dd]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;background:#ffffffd1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-size:14px;font-weight:600;color:var(--text)}.panel-overlay-soft[data-v-df4c86dd]{background:#f8fafce0}.overlay-hint[data-v-df4c86dd]{font-size:12px;font-weight:400;color:var(--text-secondary)}.upload-zone.is-loading[data-v-df4c86dd],.analysis-layout.is-loading[data-v-df4c86dd],.panel-body.is-loading[data-v-df4c86dd],.upload-zone[data-v-df4c86dd],.analysis-layout[data-v-df4c86dd],.module-thumb-loading[data-v-df4c86dd]{position:relative}.module-loading-inner[data-v-df4c86dd]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;height:100%;min-height:120px;font-size:12px;font-weight:600;color:var(--muted)}.carousel-loading[data-v-df4c86dd]{display:flex;align-items:center;gap:10px;margin-top:12px;padding:12px 14px;background:var(--bg-subtle);border:1px dashed var(--line);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.skeleton-shimmer[data-v-df4c86dd]{background:linear-gradient(110deg,#e2e8f0 8%,#f8fafc 18%,#e2e8f0 33%);background-size:200% 100%;animation:shimmer-df4c86dd 1.2s linear infinite}@keyframes shimmer-df4c86dd{to{background-position:-200% 0}}.module-grid[data-v-df4c86dd]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px}.module-card[data-v-df4c86dd]{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--surface);transition:box-shadow var(--transition),border-color var(--transition)}.module-card[data-v-df4c86dd]:hover{border-color:var(--line-strong, #cbd5e1);box-shadow:var(--shadow-sm)}.module-thumb[data-v-df4c86dd]{aspect-ratio:3 / 4;background:var(--bg-subtle);overflow:hidden}.module-thumb img[data-v-df4c86dd]{width:100%;height:100%;object-fit:cover}.module-thumb.placeholder[data-v-df4c86dd]{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;font-weight:500}.module-body[data-v-df4c86dd]{padding:12px 14px}.module-head[data-v-df4c86dd]{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13px}.module-type[data-v-df4c86dd]{font-size:11px;font-weight:600;padding:2px 8px;border-radius:4px;background:var(--bg-subtle);color:var(--muted);border:1px solid var(--line-subtle)}.module-status-pill[data-v-df4c86dd]{display:inline-block;margin-top:8px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:6px;background:var(--bg-subtle);color:var(--muted);border:1px solid var(--line-subtle)}.module-status-pill.done[data-v-df4c86dd]{background:var(--success-soft);color:var(--success);border-color:var(--success-border)}.module-status-pill.generating[data-v-df4c86dd],.module-status-pill.polling[data-v-df4c86dd],.module-status-pill.queued[data-v-df4c86dd]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent-muted, #c7d2fe)}.module-status-pill.failed[data-v-df4c86dd]{background:var(--error-soft);color:var(--error);border-color:var(--error-border)}.preset-row[data-v-df4c86dd]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.carousel-row[data-v-df4c86dd]{display:flex;gap:12px;margin-top:14px;flex-wrap:wrap}.carousel-row figure[data-v-df4c86dd]{width:120px;margin:0}.carousel-row img[data-v-df4c86dd]{width:100%;border-radius:var(--radius-sm);border:1px solid var(--line)}.link-btn[data-v-df4c86dd]{border:none;background:none;color:var(--accent);font-size:12px;font-weight:600;margin-top:6px;cursor:pointer}.link-btn[data-v-df4c86dd]:hover{color:var(--accent-hover)}.thumb-row[data-v-df4c86dd]{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:4px}.thumb-row figure[data-v-df4c86dd]{width:88px;margin:0}.thumb-row img[data-v-df4c86dd]{width:100%;height:88px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line)}.thumb-row figcaption[data-v-df4c86dd]{font-size:11px;color:var(--muted);margin-top:4px;text-align:center}.stitch-preview[data-v-df4c86dd]{margin-top:20px;max-height:400px;border-radius:var(--radius);border:1px solid var(--line);box-shadow:var(--shadow-sm)}.tool-bar[data-v-df4c86dd]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px;align-items:center}.template-bar[data-v-df4c86dd]{padding-bottom:12px;border-bottom:1px solid var(--line-subtle);margin-bottom:16px}.template-bar .field-input[data-v-df4c86dd]{min-width:220px}.layer-list[data-v-df4c86dd]{list-style:none;padding:0;margin:0 0 14px;display:flex;flex-wrap:wrap;gap:8px}.layer-list li[data-v-df4c86dd]{background:var(--bg-subtle);border:1px solid var(--line-subtle);padding:6px 12px;border-radius:var(--radius-sm);font-size:13px;display:flex;gap:10px;align-items:center}.layer-remove[data-v-df4c86dd]{border:none;background:none;color:var(--error);font-size:12px;font-weight:500;padding:0}.canvas-wrap[data-v-df4c86dd]{border:1px solid var(--line);border-radius:var(--radius);overflow:auto;max-height:65vh;background:#0f172a;box-shadow:inset 0 2px 8px #0003}.canvas-wrap canvas[data-v-df4c86dd]{max-width:100%;cursor:move}.device-rail[data-v-df4c86dd]{position:sticky;top:24px;align-self:start;width:360px;max-width:360px;height:calc(100vh - 3rem);display:flex;flex-direction:column;overflow:hidden;border-left:1px solid var(--line);background:var(--bg-subtle);box-shadow:inset 1px 0 #fff9}.rail-stack[data-v-df4c86dd]{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;width:100%;height:100%;min-height:0;padding:20px 20px 16px;box-sizing:border-box}.rail-top[data-v-df4c86dd]{width:100%;max-width:300px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:12px}.rail-phone-wrap[data-v-df4c86dd]{flex:1;min-height:0;width:100%;max-width:300px;overflow:hidden;display:flex;align-items:center;justify-content:center}.rail-title[data-v-df4c86dd]{display:block;width:100%;text-align:center;font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em;flex-shrink:0}@media (max-width: 1100px){.app-shell[data-v-df4c86dd]{grid-template-columns:1fr}.app-main[data-v-df4c86dd]{padding:20px 20px 32px}.device-rail[data-v-df4c86dd]{position:static;width:100%;max-width:none;height:auto;max-height:none;border-left:none;border-top:1px solid var(--line);box-shadow:none}.rail-stack[data-v-df4c86dd]{height:auto;padding:28px 20px 24px}.rail-phone-wrap[data-v-df4c86dd]{flex:none;min-height:520px}}@media (max-width: 900px){.upload-layout[data-v-df4c86dd]{grid-template-columns:1fr}.workflow-inner[data-v-df4c86dd]{flex-direction:column;gap:2px}.workflow-step[data-v-df4c86dd]{padding:10px 14px}.step-desc[data-v-df4c86dd]{white-space:normal}.analysis-layout[data-v-df4c86dd]{grid-template-columns:1fr}.topbar[data-v-df4c86dd]{flex-direction:column;align-items:flex-start}}:root{--bg: #f1f5f9;--bg-subtle: #f8fafc;--surface: #ffffff;--surface-hover: #f8fafc;--text: #0f172a;--text-secondary: #475569;--muted: #94a3b8;--line: #e2e8f0;--line-strong: #cbd5e1;--line-subtle: #f1f5f9;--accent: #4f46e5;--accent-hover: #4338ca;--accent-soft: #eef2ff;--accent-ring: rgba(79, 70, 229, .25);--success: #059669;--success-soft: #ecfdf5;--success-border: #a7f3d0;--warning: #d97706;--warning-soft: #fffbeb;--warning-border: #fde68a;--error: #dc2626;--error-soft: #fef2f2;--error-border: #fecaca;--radius-sm: 8px;--radius: 12px;--radius-lg: 16px;--radius-xl: 20px;--shadow-xs: 0 1px 2px rgba(15, 23, 42, .04);--shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--shadow: 0 4px 16px rgba(15, 23, 42, .06), 0 2px 6px rgba(15, 23, 42, .04);--shadow-lg: 0 20px 48px rgba(15, 23, 42, .08);--font: "Inter", "Plus Jakarta Sans", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--transition: .18s ease}*{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;width:100%}body{font-family:var(--font);font-size:14px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button,input,textarea,select{font-family:inherit}button{cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),transform .12s ease}button:active:not(:disabled){transform:translateY(1px)}img{max-width:100%;display:block}::selection{background:var(--accent-soft);color:var(--accent)}
