.app-layout[data-v-729042c6]{display:flex;flex-direction:column;width:100%;height:100vh;overflow:hidden;background:var(--color-bg-page)}.app-topbar[data-v-729042c6]{width:100%;height:var(--topbar-height);background:var(--color-bg-topbar);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-xl);flex-shrink:0;z-index:var(--z-topbar)}.topbar-left[data-v-729042c6]{display:flex;align-items:center;position:relative}.logo-wrapper[data-v-729042c6]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:6px 10px;border-radius:var(--radius-md);transition:background .15s ease;-webkit-user-select:none;user-select:none}.logo-wrapper[data-v-729042c6]:hover{background:var(--color-bg-hover)}.topbar-logo[data-v-729042c6]{height:28px;width:auto;object-fit:contain}.topbar-brand[data-v-729042c6]{font-size:15px;font-weight:600;color:var(--color-text-primary);letter-spacing:-.3px}.logo-arrow[data-v-729042c6]{width:16px;height:16px;color:var(--color-text-secondary);transition:transform .2s ease;flex-shrink:0}.logo-arrow-open[data-v-729042c6]{transform:rotate(180deg)}.logo-dropdown[data-v-729042c6]{position:absolute;top:calc(100% + 6px);left:0;z-index:9999;animation:dropdown-in-729042c6 .15s ease}@keyframes dropdown-in-729042c6{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.logo-dropdown-arrow[data-v-729042c6]{position:absolute;top:-5px;left:22px;width:10px;height:10px;background:var(--color-bg-card);border-left:1px solid var(--color-border);border-top:1px solid var(--color-border);transform:rotate(45deg);z-index:1}.logo-dropdown-inner[data-v-729042c6]{position:relative;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 30px #0000001f;padding:6px;min-width:168px}.logo-dropdown-item[data-v-729042c6]{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;color:var(--color-text-primary);font-size:13px;cursor:pointer;transition:background .12s ease;text-align:left;border-radius:8px}.logo-dropdown-item[data-v-729042c6]:hover{background:#f5f5f5}.logo-dropdown-active[data-v-729042c6]{background:#f5f5f5;font-weight:600}.logo-dropdown-icon[data-v-729042c6]{width:18px;height:18px;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;flex-shrink:0}.logo-dropdown-active .logo-dropdown-icon[data-v-729042c6]{color:var(--color-text-primary)}.logo-dropdown-icon[data-v-729042c6] svg{width:100%;height:100%}.logo-dropdown-label[data-v-729042c6]{white-space:nowrap}.logo-dropdown-divider[data-v-729042c6]{height:1px;background:var(--color-border);margin:4px 8px}.logo-dropdown-danger[data-v-729042c6],.logo-dropdown-danger .logo-dropdown-icon[data-v-729042c6]{color:var(--color-danger)}.logo-dropdown-danger[data-v-729042c6]:hover{background:#fef2f2}.topbar-center[data-v-729042c6]{flex:1;display:flex;align-items:center;justify-content:center;min-width:0}.topbar-project-name[data-v-729042c6]{border:none;border-bottom:1.5px solid transparent;background:transparent;text-align:center;font-size:14px;font-weight:500;color:var(--color-text-primary);padding:4px 12px;border-radius:0;outline:none;transition:border-color .15s ease;max-width:300px;width:100%}.topbar-project-name[data-v-729042c6]:hover{border-bottom-color:var(--color-border)}.topbar-project-name[data-v-729042c6]:focus{border-bottom-color:var(--color-text-primary)}.topbar-right[data-v-729042c6]{display:flex;align-items:center;gap:var(--space-sm)}.topbar-icon-btn[data-v-729042c6]{position:relative;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:all .15s ease}.topbar-icon-btn[data-v-729042c6]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.topbar-icon-btn svg[data-v-729042c6]{width:20px;height:20px}.topbar-icon-badge[data-v-729042c6]{position:absolute;top:2px;right:2px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--color-text-secondary);color:#fff;font-size:10px;font-weight:600;line-height:16px;text-align:center}.topbar-badge[data-v-729042c6]{position:absolute;top:4px;right:4px;min-width:14px;height:14px;padding:0 4px;background:var(--color-danger);color:#fff;font-size:10px;font-weight:600;line-height:14px;text-align:center;border-radius:7px}.user-wrapper[data-v-729042c6]{position:relative}.topbar-user-btn[data-v-729042c6]{width:32px;height:32px;padding:0;border:none;border-radius:50%;background:var(--color-bg-hover, #f0f0f0);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity .15s}.topbar-user-btn[data-v-729042c6]:hover{opacity:.8}.topbar-user-avatar[data-v-729042c6]{width:32px;height:32px;border-radius:50%;background:var(--color-text-primary, #1A1A1A);color:#fff;font-size:13px;font-weight:600;display:flex;align-items:center;justify-content:center}.user-dropdown[data-v-729042c6]{position:absolute;top:calc(100% + 8px);right:0;z-index:1000}.user-dropdown-arrow[data-v-729042c6]{position:absolute;top:-6px;right:10px;width:12px;height:12px;background:#fff;border:1px solid var(--color-border, #eee);border-right:none;border-bottom:none;transform:rotate(45deg)}.user-dropdown-inner[data-v-729042c6]{background:#fff;border:1px solid var(--color-border, #eee);border-radius:var(--radius-lg, 12px);box-shadow:0 4px 16px #00000014;padding:8px;min-width:180px}.user-dropdown-info[data-v-729042c6]{display:flex;align-items:center;gap:10px;padding:8px}.user-dropdown-avatar[data-v-729042c6]{width:36px;height:36px;border-radius:50%;background:var(--color-text-primary, #1A1A1A);color:#fff;font-size:14px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0}.user-dropdown-meta[data-v-729042c6]{flex:1;min-width:0}.user-dropdown-name[data-v-729042c6]{font-size:14px;font-weight:500;color:var(--color-text-primary, #1A1A1A);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-divider[data-v-729042c6]{height:1px;background:var(--color-border, #eee);margin:4px 0}.user-dropdown-item[data-v-729042c6]{width:100%;display:flex;align-items:center;gap:8px;padding:8px;border:none;border-radius:var(--radius-md, 8px);background:transparent;color:var(--color-text-primary, #1A1A1A);font-size:13px;cursor:pointer;transition:background .15s}.user-dropdown-item[data-v-729042c6]:hover{background:var(--color-bg-hover, #f5f5f5)}.user-dropdown-logout[data-v-729042c6]{color:var(--color-danger, #ef4444)}.user-dropdown-logout[data-v-729042c6]:hover{background:#fef2f2}.topbar-member-btn[data-v-729042c6]{padding:7px 16px;font-size:13px;font-weight:500;color:var(--color-text-primary);background:#f5f5f5;border:none;border-radius:20px;cursor:pointer;transition:all .15s ease;white-space:nowrap}.topbar-member-btn[data-v-729042c6]:hover{background:#eaeaea}.app-body[data-v-729042c6]{flex:1;min-height:0;display:flex}.app-sidebar[data-v-729042c6]{width:var(--sidebar-width);flex-shrink:0;background:var(--color-bg-sidebar);border-right:1px solid var(--color-border);display:flex;flex-direction:column;align-items:center;padding:var(--space-lg) 0;z-index:var(--z-sidebar);overflow:visible}.sidebar-nav-top[data-v-729042c6]{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.sidebar-nav-spacer[data-v-729042c6]{flex:1}.sidebar-nav-bottom[data-v-729042c6]{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:var(--space-md);border-top:1px solid var(--color-border);width:56px}.settings-fab-wrapper[data-v-729042c6]{position:fixed;bottom:24px;right:24px;z-index:900}.settings-fab[data-v-729042c6]{width:44px;height:44px;border-radius:50%;border:1px solid var(--color-border);background:#fff;color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a;transition:background .15s,box-shadow .15s}.settings-fab[data-v-729042c6]:hover{background:var(--color-bg-hover);box-shadow:0 4px 12px #00000026}.settings-fab svg[data-v-729042c6]{width:22px;height:22px}.settings-fab-dropdown[data-v-729042c6]{position:absolute;bottom:calc(100% + 8px);right:0;z-index:1000;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.settings-fab-arrow[data-v-729042c6]{position:absolute;bottom:-6px;right:16px;width:12px;height:12px;background:#fff;border:1px solid var(--color-border);border-top:none;border-left:none;transform:rotate(45deg)}.settings-fab-inner[data-v-729042c6]{background:#fff;border:1px solid var(--color-border);border-radius:8px;padding:4px;min-width:160px}.settings-fab-item[data-v-729042c6]{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:none;background:none;border-radius:6px;cursor:pointer;font-size:14px;color:var(--color-text-primary);transition:background .15s}.settings-fab-item[data-v-729042c6]:hover{background:var(--color-bg-hover)}.settings-fab-icon[data-v-729042c6]{width:18px;height:18px;flex-shrink:0;color:var(--color-text-secondary)}.settings-fab-icon[data-v-729042c6] svg{width:100%;height:100%}.settings-fab-label[data-v-729042c6]{white-space:nowrap}.sidebar-nav-item[data-v-729042c6]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:56px;height:56px;border:none;border-radius:10px;background:transparent;cursor:pointer;transition:all .15s ease;gap:3px}.sidebar-nav-item[data-v-729042c6]:hover{background:var(--color-bg-hover)}.sidebar-nav-active[data-v-729042c6]{background:#f0f0f0}.sidebar-nav-active .sidebar-nav-icon[data-v-729042c6]{color:var(--color-text-primary)}.sidebar-nav-active .sidebar-nav-label[data-v-729042c6]{color:var(--color-text-primary);font-weight:600}.sidebar-nav-icon[data-v-729042c6]{width:22px;height:22px;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center}.sidebar-nav-icon[data-v-729042c6] svg{width:100%;height:100%}.sidebar-nav-label[data-v-729042c6]{font-size:10px;color:var(--color-text-secondary);line-height:1;white-space:nowrap}.sidebar-miniapp-wrapper[data-v-729042c6]{position:relative;display:flex;flex-direction:column;align-items:center}.miniapp-bubble[data-v-729042c6]{position:absolute;left:calc(100% + 10px);bottom:-8px;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 8px 30px #0000001f;padding:var(--space-md);display:flex;flex-direction:column;align-items:center;z-index:9999;width:180px;animation:dropdown-in-729042c6 .15s ease}.miniapp-bubble-arrow[data-v-729042c6]{position:absolute;left:-5px;bottom:24px;width:10px;height:10px;background:var(--color-bg-card);border-left:1px solid var(--color-border);border-bottom:1px solid var(--color-border);transform:rotate(45deg)}.miniapp-bubble-img[data-v-729042c6]{width:140px;height:140px;object-fit:contain;border-radius:8px;border:1px solid var(--color-border)}.miniapp-bubble-tip[data-v-729042c6]{margin-top:8px;margin-bottom:0;font-size:12px;color:var(--color-text-secondary);text-align:center}.app-content[data-v-729042c6]{flex:1;min-width:0;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;background:var(--color-bg-page)}.app-content-craft[data-v-729042c6]{overflow:hidden}.topbar-user-avatar-img[data-v-729042c6]{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-dropdown-avatar-img[data-v-729042c6]{width:40px;height:40px;border-radius:50%;object-fit:cover}.help-overlay[data-v-729042c6]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;background:#0000004d;display:flex;justify-content:center;align-items:center}.help-panel[data-v-729042c6]{width:560px;max-height:80vh;background:#fff;border-radius:12px;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026}.help-header[data-v-729042c6]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.help-title[data-v-729042c6]{font-size:18px;font-weight:600;color:var(--color-text-primary);margin:0}.help-close[data-v-729042c6]{width:32px;height:32px;border:none;background:none;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);transition:background .15s}.help-close[data-v-729042c6]:hover{background:var(--color-bg-hover)}.help-search[data-v-729042c6]{position:relative;margin:16px 24px 0}.help-search-icon[data-v-729042c6]{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--color-text-tertiary)}.help-search-input[data-v-729042c6]{width:100%;padding:10px 12px 10px 38px;border:1px solid var(--color-border);border-radius:8px;font-size:14px;outline:none;background:var(--color-bg-page);color:var(--color-text-primary);transition:border-color .15s}.help-search-input[data-v-729042c6]:focus{border-color:var(--color-text-primary)}.help-body[data-v-729042c6]{flex:1;overflow-y:auto;padding:20px 24px 24px}.help-section[data-v-729042c6]{margin-bottom:24px}.help-section[data-v-729042c6]:last-child{margin-bottom:0}.help-section-title[data-v-729042c6]{font-size:14px;font-weight:600;color:var(--color-text-secondary);margin:0 0 12px;text-transform:uppercase;letter-spacing:.5px}.help-cards[data-v-729042c6]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.help-card[data-v-729042c6]{padding:14px;border:1px solid var(--color-border);border-radius:8px;cursor:default;transition:border-color .15s,box-shadow .15s}.help-card[data-v-729042c6]:hover{border-color:var(--color-text-secondary);box-shadow:0 2px 8px #0000000f}.help-card-title[data-v-729042c6]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.help-card-desc[data-v-729042c6]{font-size:12px;color:var(--color-text-secondary);line-height:1.5}.help-faq-list[data-v-729042c6]{display:flex;flex-direction:column;gap:10px}.help-faq-item[data-v-729042c6]{padding:14px;border:1px solid var(--color-border);border-radius:8px}.help-faq-q[data-v-729042c6]{font-size:14px;font-weight:600;color:var(--color-text-primary);margin-bottom:6px}.help-faq-a[data-v-729042c6]{font-size:13px;color:var(--color-text-secondary);line-height:1.6}.help-empty[data-v-729042c6]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;color:var(--color-text-tertiary);gap:12px}.help-empty p[data-v-729042c6]{margin:0;font-size:14px}.modal-mask[data-v-ee9036d1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn-ee9036d1 .2s ease-out}@keyframes fadeIn-ee9036d1{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-ee9036d1]{width:100%;max-width:32rem;max-height:90vh;background:#fff;border-radius:1.5rem;box-shadow:0 1.25rem 3.75rem #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:slideUp-ee9036d1 .3s ease-out}@keyframes slideUp-ee9036d1{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-ee9036d1]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:#111827e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:.0625rem solid rgba(255,255,255,.1)}.modal-title[data-v-ee9036d1]{font-size:1.625rem;font-weight:900;color:#fff}.modal-close-btn[data-v-ee9036d1]{width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close-btn[data-v-ee9036d1]:hover{background:#e5e7eb;color:#374151}.modal-body[data-v-ee9036d1]{flex:1;overflow-y:auto;padding:1.5rem 1.75rem}.modal-section[data-v-ee9036d1]{margin-bottom:2rem}.modal-section[data-v-ee9036d1]:last-child{margin-bottom:0}.section-label[data-v-ee9036d1]{font-size:1.375rem;font-weight:800;color:#1d1d1f;margin-bottom:1rem}.source-list[data-v-ee9036d1],.strategy-list[data-v-ee9036d1]{display:flex;flex-direction:column;gap:.75rem}.source-item[data-v-ee9036d1],.strategy-item[data-v-ee9036d1]{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;border:.125rem solid #e5e7eb;border-radius:1rem;background:#fff;cursor:pointer;transition:all .15s}.source-item[data-v-ee9036d1]:hover,.strategy-item[data-v-ee9036d1]:hover{background:#f9fafb;border-color:#d1d5db}.source-item.active[data-v-ee9036d1],.strategy-item.active[data-v-ee9036d1]{border-color:#ff6b35;background:#fff1ea}.source-radio[data-v-ee9036d1],.strategy-radio[data-v-ee9036d1]{flex:0 0 1.5rem;width:1.5rem;height:1.5rem;border:.125rem solid #d1d5db;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .15s}.source-item.active .source-radio[data-v-ee9036d1],.strategy-item.active .strategy-radio[data-v-ee9036d1]{border-color:#ff6b35}.source-radio-dot[data-v-ee9036d1],.strategy-radio-dot[data-v-ee9036d1]{width:.75rem;height:.75rem;border-radius:50%;background:#ff6b35}.source-info[data-v-ee9036d1],.strategy-info[data-v-ee9036d1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.source-title[data-v-ee9036d1],.strategy-title[data-v-ee9036d1]{font-size:1.25rem;font-weight:700;color:#1d1d1f}.source-meta[data-v-ee9036d1]{font-size:1.125rem;font-weight:600;color:#86868b}.strategy-desc[data-v-ee9036d1]{font-size:1.125rem;font-weight:600;color:#86868b;line-height:1.5}.modal-footer[data-v-ee9036d1]{display:flex;gap:.75rem;padding:1.25rem 1.75rem;border-top:.0625rem solid #e5e7eb}.modal-btn[data-v-ee9036d1]{flex:1;height:3.5rem;border:none;border-radius:1rem;font-size:1.375rem;font-weight:900;cursor:pointer;transition:all .15s}.modal-btn.cancel[data-v-ee9036d1]{color:#374151;background:#f3f4f6}.modal-btn.cancel[data-v-ee9036d1]:hover{background:#e5e7eb}.modal-btn.confirm[data-v-ee9036d1]{color:#fff;background:linear-gradient(135deg,#ff6b35,#ff8c42);box-shadow:0 .5rem 1.25rem #ff6b354d}.modal-btn.confirm[data-v-ee9036d1]:hover{transform:translateY(-.125rem);box-shadow:0 .75rem 1.5rem #ff6b3566}.modal-btn.confirm[data-v-ee9036d1]:disabled{opacity:.6;cursor:not-allowed;transform:none}.modal-mask[data-v-c92fed0d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0006;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-dialog[data-v-c92fed0d]{width:100%;max-width:560px;max-height:85vh;background:#fff;border-radius:16px;box-shadow:0 20px 60px #00000026;display:flex;flex-direction:column;overflow:hidden}.modal-header[data-v-c92fed0d]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0}.modal-title[data-v-c92fed0d]{font-size:18px;font-weight:700;color:#1a1a1a}.modal-close-btn[data-v-c92fed0d]{width:32px;height:32px;border:none;border-radius:50%;background:#f3f4f6;color:#6b7280;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close-btn[data-v-c92fed0d]:hover{background:#e5e7eb;color:#374151}.search-bar[data-v-c92fed0d]{display:flex;align-items:center;gap:8px;margin:16px 24px 0;padding:0 12px;height:40px;border:1px solid #E5E7EB;border-radius:10px;background:#f9fafb;transition:all .15s}.search-bar[data-v-c92fed0d]:focus-within{border-color:#1a1a1a;background:#fff}.search-icon[data-v-c92fed0d]{color:#9ca3af;flex-shrink:0}.search-input[data-v-c92fed0d]{flex:1;border:none;background:transparent;font-size:14px;color:#1a1a1a;outline:none}.search-input[data-v-c92fed0d]::placeholder{color:#9ca3af}.search-clear[data-v-c92fed0d]{border:none;background:transparent;color:#9ca3af;cursor:pointer;padding:2px;display:flex;align-items:center}.search-clear[data-v-c92fed0d]:hover{color:#6b7280}.modal-body[data-v-c92fed0d]{flex:1;overflow-y:auto;padding:16px 24px}.parts-group[data-v-c92fed0d]{margin-bottom:20px}.parts-group[data-v-c92fed0d]:last-child{margin-bottom:0}.group-label[data-v-c92fed0d]{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:10px}.parts-grid[data-v-c92fed0d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.part-card[data-v-c92fed0d]{padding:12px 10px;border:1px solid #F3F4F6;border-radius:10px;background:#fff;cursor:pointer;text-align:center;transition:all .15s}.part-card[data-v-c92fed0d]:hover{border-color:#d1d5db;background:#f9fafb}.part-card-selected[data-v-c92fed0d]{border-color:#1a1a1a;background:#f9fafb;box-shadow:0 0 0 1px #1a1a1a}.part-card-name[data-v-c92fed0d]{font-size:13px;font-weight:600;color:#1a1a1a;margin-bottom:2px}.part-card-colors[data-v-c92fed0d]{font-size:11px;color:#9ca3af}.empty-hint[data-v-c92fed0d]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 0;color:#d1d5db;font-size:14px}.detail-panel[data-v-c92fed0d]{border-top:1px solid #F3F4F6;padding:16px 24px;background:#fafafa}.detail-header[data-v-c92fed0d]{margin-bottom:12px}.detail-name[data-v-c92fed0d]{font-size:14px;font-weight:600;color:#1a1a1a}.color-grid[data-v-c92fed0d]{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.color-tile[data-v-c92fed0d]{display:flex;align-items:center;gap:6px;padding:6px 12px;border:1px solid #E5E7EB;border-radius:20px;background:#fff;cursor:pointer;transition:all .15s}.color-tile[data-v-c92fed0d]:hover{border-color:#d1d5db}.color-tile-selected[data-v-c92fed0d]{border-color:#1a1a1a;box-shadow:0 0 0 1px #1a1a1a}.color-dot[data-v-c92fed0d]{width:14px;height:14px;border-radius:50%;border:1px solid rgba(0,0,0,.08);flex-shrink:0}.color-tile-label[data-v-c92fed0d]{font-size:12px;font-weight:500;color:#374151}.quantity-row[data-v-c92fed0d]{display:flex;align-items:center;gap:12px}.quantity-label[data-v-c92fed0d]{font-size:14px;font-weight:500;color:#374151}.quantity-controls[data-v-c92fed0d]{display:flex;align-items:center;gap:0;border:1px solid #E5E7EB;border-radius:8px;overflow:hidden;background:#fff}.qty-btn[data-v-c92fed0d]{width:36px;height:36px;border:none;background:transparent;color:#374151;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.qty-btn[data-v-c92fed0d]:hover{background:#f3f4f6}.qty-btn[data-v-c92fed0d]:active{background:#e5e7eb}.qty-input[data-v-c92fed0d]{width:56px;height:36px;border:none;border-left:1px solid #E5E7EB;border-right:1px solid #E5E7EB;text-align:center;font-size:14px;font-weight:600;color:#1a1a1a;background:transparent;outline:none;-moz-appearance:textfield}.qty-input[data-v-c92fed0d]::-webkit-outer-spin-button,.qty-input[data-v-c92fed0d]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.quantity-unit[data-v-c92fed0d]{font-size:14px;color:#9ca3af}.modal-footer[data-v-c92fed0d]{display:flex;gap:10px;padding:16px 24px;border-top:1px solid #F3F4F6}.modal-btn[data-v-c92fed0d]{flex:1;height:42px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s}.modal-btn.cancel[data-v-c92fed0d]{color:#374151;background:#f3f4f6}.modal-btn.cancel[data-v-c92fed0d]:hover{background:#e5e7eb}.modal-btn.confirm[data-v-c92fed0d]{color:#fff;background:#1a1a1a}.modal-btn.confirm[data-v-c92fed0d]:hover{background:#333}.modal-mask[data-v-990102e1]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;animation:fadeIn-990102e1 .2s ease-out}@keyframes fadeIn-990102e1{0%{opacity:0}to{opacity:1}}.modal-dialog[data-v-990102e1]{width:100%;max-width:28rem;max-height:90vh;background:#fff;border-radius:1.5rem;box-shadow:0 1.25rem 3.75rem #0000004d;display:flex;flex-direction:column;overflow:hidden;animation:slideUp-990102e1 .3s ease-out}@keyframes slideUp-990102e1{0%{opacity:0;transform:translateY(2rem)}to{opacity:1;transform:translateY(0)}}.modal-header[data-v-990102e1]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 1.75rem;background:#111827e0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:.0625rem solid rgba(255,255,255,.1)}.modal-title[data-v-990102e1]{font-size:1.625rem;font-weight:900;color:#fff}.modal-close-btn[data-v-990102e1]{width:2.5rem;height:2.5rem;border:none;border-radius:50%;background:#f3f4f6;color:#6b7280;font-size:1.5rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.modal-close-btn[data-v-990102e1]:hover{background:#e5e7eb;color:#374151}.modal-body[data-v-990102e1]{flex:1;overflow-y:auto;padding:1.5rem 1.75rem}.part-display[data-v-990102e1]{padding:1.5rem;border-radius:1.25rem;background:#f9fafb;border:.0625rem solid #e5e7eb;margin-bottom:1.5rem}.part-display-row[data-v-990102e1]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 0}.part-display-row[data-v-990102e1]:not(:last-child){border-bottom:.0625rem solid #e5e7eb}.part-display-label[data-v-990102e1]{font-size:1.25rem;font-weight:600;color:#6b7280}.part-display-value[data-v-990102e1]{font-size:1.25rem;font-weight:700;color:#1d1d1f}.part-display-value.highlight[data-v-990102e1]{color:#ff6b35;font-size:1.5rem}.part-display-color[data-v-990102e1]{display:flex;align-items:center;gap:.5rem}.color-preview-small[data-v-990102e1]{width:1.5rem;height:1.5rem;border-radius:50%;border:.0625rem solid rgba(0,0,0,.08)}.modal-section[data-v-990102e1]{margin-bottom:1.5rem}.section-label[data-v-990102e1]{font-size:1.375rem;font-weight:800;color:#1d1d1f;margin-bottom:1rem}.quantity-adjust[data-v-990102e1]{margin-bottom:1rem}.quantity-delta-field[data-v-990102e1]{display:flex;align-items:center;gap:.75rem}.quantity-delta-input[data-v-990102e1]{flex:1;height:3.5rem;padding:0 1.25rem;border:.125rem solid #e5e7eb;border-radius:1rem;background:#fff;font-size:1.5rem;font-weight:700;color:#1d1d1f;text-align:center;transition:all .15s}.quantity-delta-input[data-v-990102e1]:hover{border-color:#d1d5db}.quantity-delta-input[data-v-990102e1]:focus{outline:none;border-color:#ff6b35}.quantity-unit[data-v-990102e1]{font-size:1.5rem;font-weight:800;color:#475569}.quantity-hint[data-v-990102e1]{margin-top:.5rem;font-size:1.125rem;color:#86868b;text-align:center}.quantity-result[data-v-990102e1]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-radius:1.25rem;background:linear-gradient(135deg,#fff1ea,#ffe9d6)}.result-label[data-v-990102e1]{font-size:1.375rem;font-weight:700;color:#1d1d1f}.result-value[data-v-990102e1]{font-size:1.75rem;font-weight:900;color:#ff6b35}.modal-footer[data-v-990102e1]{display:flex;gap:.75rem;padding:1.25rem 1.75rem;border-top:.0625rem solid #e5e7eb}.modal-btn[data-v-990102e1]{flex:1;height:3.5rem;border:none;border-radius:1rem;font-size:1.25rem;font-weight:900;cursor:pointer;transition:all .15s}.modal-btn.delete[data-v-990102e1]{color:#fff;background:#ef4444;flex:0 0 5rem}.modal-btn.delete[data-v-990102e1]:hover{background:#dc2626}.modal-btn.cancel[data-v-990102e1]{color:#374151;background:#f3f4f6}.modal-btn.cancel[data-v-990102e1]:hover{background:#e5e7eb}.modal-btn.confirm[data-v-990102e1]{color:#fff;background:linear-gradient(135deg,#ff6b35,#ff8c42);box-shadow:0 .5rem 1.25rem #ff6b354d}.modal-btn.confirm[data-v-990102e1]:hover{transform:translateY(-.125rem);box-shadow:0 .75rem 1.5rem #ff6b3566}.my-parts-page[data-v-7d26a589]{height:100%;overflow-y:auto;background:#fff;padding:var(--space-xl)}.page-header[data-v-7d26a589]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.page-title[data-v-7d26a589]{font-size:18px;font-weight:700;color:#1a1a1a;margin:0}.page-header-actions[data-v-7d26a589]{display:flex;align-items:center;gap:var(--space-sm)}.header-action-btn[data-v-7d26a589]{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border:1px solid #E5E7EB;border-radius:var(--radius-full);background:#fff;font-size:var(--font-size-sm);font-weight:500;color:#1a1a1a;cursor:pointer;transition:all var(--transition-fast)}.header-action-btn[data-v-7d26a589]:hover{border-color:#9ca3af;background:#f9fafb}.header-action-btn.secondary[data-v-7d26a589]{color:var(--color-text-secondary)}.summary-bar[data-v-7d26a589]{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md) var(--space-lg);background:#f9fafb;border-radius:var(--radius-lg);margin-bottom:var(--space-xl)}.summary-item[data-v-7d26a589]{display:flex;align-items:baseline;gap:6px}.summary-value[data-v-7d26a589]{font-size:20px;font-weight:700;color:#1a1a1a}.summary-label[data-v-7d26a589]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.summary-divider[data-v-7d26a589]{width:1px;height:20px;background:#e5e7eb}.empty-area[data-v-7d26a589]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0}.empty-icon[data-v-7d26a589]{color:#d1d5db;margin-bottom:var(--space-lg)}.empty-text[data-v-7d26a589]{font-size:var(--font-size-md);font-weight:600;color:#1a1a1a;margin-bottom:4px}.empty-desc[data-v-7d26a589]{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.create-btn[data-v-7d26a589]{padding:8px 20px;border:none;border-radius:var(--radius-full);background:#1a1a1a;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.create-btn[data-v-7d26a589]:hover{background:#333}.parts-groups[data-v-7d26a589]{display:flex;flex-direction:column;gap:var(--space-md)}.parts-group[data-v-7d26a589]{border:1px solid #F3F4F6;border-radius:var(--radius-lg);overflow:hidden}.group-header[data-v-7d26a589]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#f9fafb;cursor:pointer;transition:background var(--transition-fast)}.group-header[data-v-7d26a589]:hover{background:#f3f4f6}.group-left[data-v-7d26a589]{display:flex;align-items:center;gap:var(--space-sm)}.group-title[data-v-7d26a589]{font-size:var(--font-size-base);font-weight:600;color:#1a1a1a}.group-count[data-v-7d26a589]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.group-chevron[data-v-7d26a589]{color:#9ca3af;transition:transform var(--transition-fast)}.group-chevron-expanded[data-v-7d26a589]{transform:rotate(180deg)}.group-body[data-v-7d26a589]{border-top:1px solid #F3F4F6}.part-row[data-v-7d26a589]{border-bottom:1px solid #F3F4F6}.part-row[data-v-7d26a589]:last-child{border-bottom:none}.part-main[data-v-7d26a589]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background var(--transition-fast)}.part-main[data-v-7d26a589]:hover{background:#fafafa}.part-info[data-v-7d26a589]{display:flex;flex-direction:column;gap:2px}.part-name[data-v-7d26a589]{font-size:var(--font-size-sm);font-weight:500;color:#1a1a1a}.part-count[data-v-7d26a589]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.part-right[data-v-7d26a589]{display:flex;align-items:center;gap:var(--space-sm)}.part-edit-btn[data-v-7d26a589]{padding:4px 12px;border:1px solid #E5E7EB;border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:500;color:var(--color-text-secondary);background:#fff;cursor:pointer;transition:all var(--transition-fast)}.part-edit-btn[data-v-7d26a589]:hover{border-color:#9ca3af;color:#1a1a1a}.part-expand-icon[data-v-7d26a589]{color:#9ca3af;transition:transform var(--transition-fast)}.part-expand-expanded[data-v-7d26a589]{transform:rotate(180deg)}.color-list[data-v-7d26a589]{padding:0 var(--space-lg) var(--space-md);display:flex;flex-direction:column;gap:4px}.color-row[data-v-7d26a589]{display:flex;align-items:center;gap:var(--space-sm);padding:8px 12px;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast)}.color-row[data-v-7d26a589]:hover{background:#f9fafb}.color-dot[data-v-7d26a589]{width:16px;height:16px;border-radius:50%;border:1px solid rgba(0,0,0,.08);flex-shrink:0}.color-name[data-v-7d26a589]{flex:1;font-size:var(--font-size-sm);color:#374151}.color-count[data-v-7d26a589]{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.clear-area[data-v-7d26a589]{margin-top:var(--space-xl);display:flex;justify-content:center}.clear-btn[data-v-7d26a589]{padding:8px 20px;border:1px solid #FCA5A5;border-radius:var(--radius-full);background:transparent;font-size:var(--font-size-sm);font-weight:500;color:#ef4444;cursor:pointer;transition:all var(--transition-fast)}.clear-btn[data-v-7d26a589]:hover{background:#fef2f2;border-color:#ef4444}.community-page[data-v-d97d9d16]{padding:0;background:#f5f5f7}.filters[data-v-d97d9d16]{position:sticky;top:0;z-index:10;padding:.75rem 1.5rem;background:#fff;border-bottom:.0625rem solid #e5e7eb;display:flex;align-items:center;gap:0}.source-filter[data-v-d97d9d16],.category-filter[data-v-d97d9d16]{display:flex;gap:0;align-items:center;background:#f3f4f6;border-radius:1.25rem;padding:.25rem;margin-right:1rem}.category-filter[data-v-d97d9d16]{margin-right:0}.filter-btn[data-v-d97d9d16]{padding:.375rem 1rem;border:none;border-radius:1rem;background:transparent;color:#6b7280;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.filter-btn[data-v-d97d9d16]:hover{color:#1f2937}.filter-btn.active[data-v-d97d9d16]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 .0625rem .1875rem #667eea4d}.empty-state[data-v-d97d9d16]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6rem 2rem;text-align:center}.empty-icon[data-v-d97d9d16]{font-size:5rem;margin-bottom:1.5rem;opacity:.5}.empty-title[data-v-d97d9d16]{font-size:1.5rem;font-weight:700;color:#1f2937;margin-bottom:.75rem}.empty-desc[data-v-d97d9d16]{font-size:1rem;color:#9ca3af;line-height:1.6}.feed[data-v-d97d9d16]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;padding:1.5rem}.card[data-v-d97d9d16]{background:#fff;border-radius:1.25rem;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 .125rem .5rem #0000000f;border:.0625rem solid #f3f4f6}.card[data-v-d97d9d16]:hover{transform:translateY(-.5rem);box-shadow:0 1rem 2rem #0000001f;border-color:#e5e7eb}.card-cover[data-v-d97d9d16]{position:relative;width:100%;padding-top:75%;overflow:hidden;background:#f3f4f6}.cover-image[data-v-d97d9d16]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:scale-down}.cover-placeholder[data-v-d97d9d16]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:900;color:#ffffffe6;background:linear-gradient(135deg,#667eea,#764ba2)}.cover-badge[data-v-d97d9d16]{position:absolute;top:.75rem;left:.75rem;padding:.375rem .875rem;border-radius:2rem;font-size:.75rem;font-weight:700;color:#fff;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem)}.cover-badge.origin[data-v-d97d9d16]{background:#10b981f2}.cover-badge.derived[data-v-d97d9d16]{background:#fb923cf2}.cover-pill[data-v-d97d9d16]{position:absolute;bottom:.75rem;right:.75rem;padding:.375rem .875rem;border-radius:2rem;background:#000000bf;-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);color:#fff;font-size:.75rem;font-weight:600}.card-body[data-v-d97d9d16]{padding:1.25rem}.card-title[data-v-d97d9d16]{font-size:1rem;font-weight:600;color:#1f2937;margin:0 0 .5rem;line-height:1.4;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-desc[data-v-d97d9d16]{font-size:.875rem;color:#6b7280;margin:0 0 1rem;line-height:1.6;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.card-footer[data-v-d97d9d16]{display:flex;align-items:center;justify-content:space-between;padding-top:1rem;border-top:.0625rem solid #f3f4f6}.author[data-v-d97d9d16]{display:flex;align-items:center;gap:.625rem}.author-avatar[data-v-d97d9d16]{width:2rem;height:2rem;border-radius:50%;object-fit:cover;border:.125rem solid #f3f4f6}.author-avatar.placeholder[data-v-d97d9d16]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.875rem;font-weight:700}.author-name[data-v-d97d9d16]{font-size:.875rem;color:#6b7280;font-weight:600}.stats[data-v-d97d9d16]{display:flex;align-items:center;gap:1rem}.stat[data-v-d97d9d16]{display:flex;align-items:center;gap:.25rem;font-size:.875rem;color:#9ca3af;font-weight:600;transition:color .2s}.stat.liked[data-v-d97d9d16]{color:#ef4444}.stat.collected[data-v-d97d9d16]{color:#f59e0b}.loading[data-v-d97d9d16]{text-align:center;padding:2.5rem;color:#9ca3af;font-size:.875rem;font-weight:600;display:flex;flex-direction:column;align-items:center;gap:12px}.loading-svg[data-v-d97d9d16]{width:56px;height:56px}.detail-view[data-v-d97d9d16]{height:100%;overflow-y:auto;background:#fff}.detail-header[data-v-d97d9d16]{position:sticky;top:0;z-index:10;padding:1rem 1.5rem;background:#fff;border-bottom:.0625rem solid #e5e7eb}.back-btn[data-v-d97d9d16]{border:none;background:#f3f4f6;color:#374151;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s}.back-btn[data-v-d97d9d16]:hover{background:#e5e7eb}.detail-content[data-v-d97d9d16]{padding:2rem;max-width:50rem;margin:0 auto}.detail-title[data-v-d97d9d16]{font-size:2rem;font-weight:700;color:#111827;margin:0 0 1.5rem}.detail-cover[data-v-d97d9d16]{border-radius:1rem;overflow:hidden;margin-bottom:1.5rem}.detail-cover img[data-v-d97d9d16]{width:100%;display:block}.detail-meta[data-v-d97d9d16]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.detail-badge[data-v-d97d9d16]{padding:.375rem .875rem;border-radius:2rem;font-size:.875rem;font-weight:700;color:#fff}.detail-badge.origin[data-v-d97d9d16]{background:linear-gradient(135deg,#10b981,#059669)}.detail-badge.derived[data-v-d97d9d16]{background:linear-gradient(135deg,#fb923c,#f97316)}.detail-difficulty[data-v-d97d9d16]{font-size:.875rem;color:#6b7280;font-weight:600}.detail-desc[data-v-d97d9d16]{font-size:1rem;color:#4b5563;line-height:1.75;margin:0 0 2rem}.detail-author[data-v-d97d9d16]{display:flex;align-items:center;gap:1rem;padding:1.5rem;background:#f9fafb;border-radius:1rem;margin-bottom:2rem}.detail-author .author-avatar[data-v-d97d9d16]{width:3rem;height:3rem;border-radius:50%;overflow:hidden}.detail-author .author-avatar img[data-v-d97d9d16]{width:100%;height:100%;object-fit:cover}.detail-author .author-avatar.placeholder[data-v-d97d9d16]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.detail-author .author-name[data-v-d97d9d16]{font-size:1rem;font-weight:600;color:#111827;margin-bottom:.25rem}.detail-author .author-label[data-v-d97d9d16]{font-size:.875rem;color:#6b7280}.detail-actions[data-v-d97d9d16]{display:flex;gap:1rem}.action-btn[data-v-d97d9d16]{flex:1;padding:.875rem 1.5rem;border:none;border-radius:.75rem;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;background:#f3f4f6;color:#374151}.action-btn[data-v-d97d9d16]:hover{background:#e5e7eb;transform:translateY(-.125rem)}.action-btn.primary[data-v-d97d9d16]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 .25rem .75rem #667eea4d}.action-btn.primary[data-v-d97d9d16]:hover{box-shadow:0 .375rem 1rem #667eea66}@media (max-width: 768px){.feed[data-v-d97d9d16]{grid-template-columns:1fr;gap:1rem;padding:1rem}.filters[data-v-d97d9d16]{padding:1rem}}.login-standalone[data-v-9e4cda7a]{width:100%;height:100vh;display:flex;flex-direction:column}.app-view[data-v-9e4cda7a]{flex:1;min-height:0;display:flex;flex-direction:column}.ds-modal-lg[data-v-9e4cda7a]{max-width:75rem;max-height:90vh}.ds-modal-body[data-v-9e4cda7a]{background:var(--color-bg-page)}:root{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;--color-text-primary: #1A1A1A;--color-text-secondary: #888888;--color-text-placeholder: #BBBBBB;--color-text-inverse: #FFFFFF;--color-bg-page: #FFFFFF;--color-bg-card: #FFFFFF;--color-bg-sidebar: #FAFAFA;--color-bg-topbar: #FFFFFF;--color-bg-hover: #F5F5F5;--color-bg-active: #EEEEEE;--color-bg-overlay: rgba(0, 0, 0, .45);--color-bg-mask: rgba(0, 0, 0, .3);--color-border: #EEEEEE;--color-border-light: #F5F5F5;--color-border-dark: #DDDDDD;--color-divider: #EEEEEE;--color-accent: #1A1A1A;--color-accent-hover: #333333;--color-accent-active: #000000;--color-accent-light: #F5F5F5;--color-danger: #E53935;--color-danger-light: #FFF0F0;--color-success: #43A047;--color-success-light: #F0FFF0;--color-warning: #FB8C00;--color-warning-light: #FFF8E1;--color-info: #1E88E5;--color-info-light: #E3F2FD;--color-like: #E53935;--color-favorite: #FB8C00;--color-tag-bg: #1A1A1A;--color-tag-text: #FFFFFF;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 20px;--space-2xl: 24px;--space-3xl: 32px;--space-4xl: 40px;--space-5xl: 48px;--font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 14px;--font-size-md: 15px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.65;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .06), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .08), 0 8px 10px rgba(0, 0, 0, .04);--sidebar-width: 72px;--sidebar-width-collapsed: 72px;--sidebar-width-expanded: 200px;--topbar-height: 56px;--content-max-width: 1440px;--content-padding: 24px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--transition-spring: .3s cubic-bezier(.4, 0, .2, 1);--z-sidebar: 100;--z-topbar: 110;--z-dropdown: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500;--z-tooltip: 600}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-page)}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}ul,ol{list-style:none}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-inverse{color:var(--color-text-inverse)}.text-danger{color:var(--color-danger)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-info{color:var(--color-info)}.text-xs{font-size:var(--font-size-xs)}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-md{font-size:var(--font-size-md)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.text-3xl{font-size:var(--font-size-3xl)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.gap-2xl{gap:var(--space-2xl)}.w-full{width:100%}.h-full{height:100%}.min-h-screen{min-height:100vh}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-y-auto{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mt-2xl{margin-top:var(--space-2xl)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.ml-sm{margin-left:var(--space-sm)}.ml-md{margin-left:var(--space-md)}.mr-sm{margin-right:var(--space-sm)}.mr-md{margin-right:var(--space-md)}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.p-2xl{padding:var(--space-2xl)}.px-sm{padding-left:var(--space-sm);padding-right:var(--space-sm)}.px-md{padding-left:var(--space-md);padding-right:var(--space-md)}.px-lg{padding-left:var(--space-lg);padding-right:var(--space-lg)}.px-xl{padding-left:var(--space-xl);padding-right:var(--space-xl)}.py-sm{padding-top:var(--space-sm);padding-bottom:var(--space-sm)}.py-md{padding-top:var(--space-md);padding-bottom:var(--space-md)}.py-lg{padding-top:var(--space-lg);padding-bottom:var(--space-lg)}.ds-card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.ds-card-hover{transition:box-shadow var(--transition-normal),transform var(--transition-normal);cursor:pointer}.ds-card-hover:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.ds-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:8px 16px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none}.ds-btn:active{transform:scale(.97)}.ds-btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.ds-btn-primary:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ds-btn-secondary{background:var(--color-bg-card);color:var(--color-text-primary);border-color:var(--color-border)}.ds-btn-secondary:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark)}.ds-btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.ds-btn-ghost:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.ds-btn-danger{background:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger)}.ds-btn-danger:hover{background:#c62828}.ds-btn-sm{padding:5px 12px;font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.ds-btn-lg{padding:12px 24px;font-size:var(--font-size-md);border-radius:var(--radius-lg)}.ds-btn-icon{width:36px;height:36px;padding:0;border-radius:var(--radius-md)}.ds-btn-icon.ds-btn-sm{width:28px;height:28px}.ds-btn[disabled],.ds-btn.disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.ds-tag{display:inline-flex;align-items:center;padding:2px 8px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-sm);line-height:1.5;white-space:nowrap}.ds-tag-dark{background:var(--color-tag-bg);color:var(--color-tag-text)}.ds-tag-light{background:var(--color-bg-active);color:var(--color-text-primary)}.ds-tag-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.ds-input{width:100%;padding:8px 12px;font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.ds-input::placeholder{color:var(--color-text-placeholder)}.ds-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px #1a1a1a14}.ds-input-sm{padding:5px 10px;font-size:var(--font-size-sm)}.ds-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-full);overflow:hidden;background:var(--color-bg-active);color:var(--color-text-secondary);font-weight:var(--font-weight-semibold);flex-shrink:0}.ds-avatar img{width:100%;height:100%;object-fit:cover}.ds-avatar-sm{width:24px;height:24px;font-size:10px}.ds-avatar-md{width:32px;height:32px;font-size:12px}.ds-avatar-lg{width:40px;height:40px;font-size:14px}.ds-avatar-xl{width:48px;height:48px;font-size:16px}.ds-divider{width:100%;height:1px;background:var(--color-divider);border:none}.ds-divider-vertical{width:1px;height:auto;align-self:stretch;background:var(--color-divider)}.ds-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-4xl) var(--space-2xl);text-align:center}.ds-empty-icon{font-size:40px;color:var(--color-text-placeholder);margin-bottom:var(--space-lg)}.ds-empty-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}.ds-empty-desc{font-size:var(--font-size-sm);color:var(--color-text-placeholder);max-width:320px}.ds-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-2xl)}.ds-modal{width:100%;max-width:720px;max-height:85vh;background:var(--color-bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden}.ds-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-divider)}.ds-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.ds-modal-close{width:32px;height:32px;border:none;border-radius:var(--radius-full);background:var(--color-bg-hover);color:var(--color-text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.ds-modal-close:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.ds-modal-body{flex:1;overflow-y:auto;padding:var(--space-xl)}.ds-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-md);padding:var(--space-lg) var(--space-xl);border-top:1px solid var(--color-divider)}.ds-toast{position:fixed;top:calc(var(--topbar-height) + var(--space-lg));left:50%;transform:translate(-50%);padding:10px 20px;background:var(--color-accent);color:var(--color-text-inverse);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);box-shadow:var(--shadow-lg);z-index:var(--z-toast);pointer-events:none;animation:ds-toast-in .3s ease,ds-toast-out .3s ease 1.7s forwards}@keyframes ds-toast-in{0%{opacity:0;transform:translate(-50%) translateY(-8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes ds-toast-out{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-8px)}}.ds-loading-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);z-index:var(--z-overlay)}.ds-loading-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);animation:ds-spin .8s linear infinite}@keyframes ds-spin{to{transform:rotate(360deg)}}.ds-loading-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ds-scrollbar::-webkit-scrollbar{width:6px;height:6px}.ds-scrollbar::-webkit-scrollbar-track{background:transparent}.ds-scrollbar::-webkit-scrollbar-thumb{background:var(--color-border-dark);border-radius:var(--radius-full)}.ds-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--color-text-placeholder)}.ds-tabs{display:flex;align-items:center;gap:var(--space-xl);border-bottom:1px solid var(--color-divider)}.ds-tab{position:relative;padding:var(--space-md) 0;font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);cursor:pointer;background:none;border:none;transition:color var(--transition-fast)}.ds-tab:hover{color:var(--color-text-primary)}.ds-tab-active{color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.ds-tab-active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--color-accent);border-radius:1px}.ds-stepper{display:inline-flex;align-items:center;gap:var(--space-sm)}.ds-stepper-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-card);color:var(--color-text-primary);cursor:pointer;font-size:var(--font-size-lg);transition:all var(--transition-fast)}.ds-stepper-btn:hover{background:var(--color-bg-hover);border-color:var(--color-border-dark)}.ds-stepper-value{min-width:40px;text-align:center;font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.ds-fade-enter-active,.ds-fade-leave-active{transition:opacity var(--transition-normal)}.ds-fade-enter-from,.ds-fade-leave-to{opacity:0}.ds-slide-up-enter-active,.ds-slide-up-leave-active{transition:all var(--transition-spring)}.ds-slide-up-enter-from,.ds-slide-up-leave-to{opacity:0;transform:translateY(12px)}.ds-scale-enter-active,.ds-scale-leave-active{transition:all var(--transition-spring)}.ds-scale-enter-from,.ds-scale-leave-to{opacity:0;transform:scale(.95)}.ds-grid{display:grid;gap:var(--space-lg)}.ds-grid-2{grid-template-columns:repeat(2,1fr)}.ds-grid-3{grid-template-columns:repeat(3,1fr)}.ds-grid-4{grid-template-columns:repeat(4,1fr)}.ds-grid-5{grid-template-columns:repeat(5,1fr)}@media (max-width: 1200px){.ds-grid-4{grid-template-columns:repeat(3,1fr)}.ds-grid-5{grid-template-columns:repeat(4,1fr)}}@media (max-width: 900px){.ds-grid-3,.ds-grid-4{grid-template-columns:repeat(2,1fr)}.ds-grid-5{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.ds-grid-2,.ds-grid-3,.ds-grid-4,.ds-grid-5{grid-template-columns:1fr}}html,body,#app{margin:0;height:100%}body{font-family:var(--font-family);background:var(--color-bg-page);color:var(--color-text-primary)}button,input,textarea{font:inherit}*{box-sizing:border-box}.craft-sidebar[data-v-5bbe7621]{width:120px;background:var(--color-bg-card);border-right:1px solid var(--color-border);display:flex;flex-direction:column;flex-shrink:0;overflow-y:auto;overflow-x:hidden}.craft-tools[data-v-5bbe7621]{padding:8px;display:flex;flex-direction:column;gap:2px}.craft-tool-btn[data-v-5bbe7621]{display:flex;align-items:center;gap:10px;padding:10px 12px;border:none;border-radius:8px;background:transparent;cursor:pointer;transition:all .12s ease;-webkit-user-select:none;user-select:none}.craft-tool-btn[data-v-5bbe7621]:hover{background:#f5f5f5}.craft-tool-active[data-v-5bbe7621]{background:#f0f0f0}.craft-tool-active .craft-tool-label[data-v-5bbe7621]{font-weight:600;color:var(--color-text-primary)}.craft-tool-icon[data-v-5bbe7621]{width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);flex-shrink:0}.craft-tool-active .craft-tool-icon[data-v-5bbe7621]{color:var(--color-text-primary)}.craft-tool-icon[data-v-5bbe7621] svg{width:100%;height:100%}.icon-tube[data-v-5bbe7621]{width:18px;height:6px;border-radius:3px}.icon-panel[data-v-5bbe7621]{width:14px;height:14px;border-radius:2px}.craft-tool-label[data-v-5bbe7621]{font-size:13px;color:var(--color-text-primary);white-space:nowrap;line-height:1}.craft-divider[data-v-5bbe7621]{height:1px;background:var(--color-border);margin:4px 12px}.craft-sub-tools[data-v-5bbe7621]{padding:4px 8px 8px;display:flex;flex-direction:column;gap:2px;animation:subSlideIn-5bbe7621 .12s ease}@keyframes subSlideIn-5bbe7621{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.craft-sub-btn[data-v-5bbe7621]{padding:8px 12px;border:none;border-radius:6px;background:transparent;font-size:13px;color:var(--color-text-primary);cursor:pointer;transition:all .12s ease;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.craft-sub-btn[data-v-5bbe7621]:hover{background:#f5f5f5}.craft-sub-active[data-v-5bbe7621]{background:var(--color-text-primary);color:#fff}.craft-sub-active[data-v-5bbe7621]:hover{background:#333}.craft-sub-color[data-v-5bbe7621]{display:flex;align-items:center;gap:6px}.craft-color-dot[data-v-5bbe7621]{width:12px;height:12px;border-radius:50%;border:1.5px solid var(--color-border);flex-shrink:0}.craft-sub-active .craft-color-dot[data-v-5bbe7621]{border-color:#fff6}.craft-sub-hint[data-v-5bbe7621]{padding:8px 12px 8px 42px;font-size:12px;color:var(--color-text-secondary);line-height:1.4}.craft-sub-section-title[data-v-5bbe7621]{padding:6px 12px 2px;font-size:11px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.craft-sub-divider[data-v-5bbe7621]{height:1px;background:var(--color-border);margin:4px 8px}.craft-sub-btn-icon[data-v-5bbe7621]{display:flex;align-items:center;gap:6px}.craft-sub-icon[data-v-5bbe7621]{width:16px;height:16px;flex-shrink:0}.color-picker-panel[data-v-abbd128a]{position:absolute;left:8px;right:8px;top:66px;padding:12px;border-radius:8px;background:#fffffff5;box-shadow:0 10px 25px #00000026;z-index:100;border:1px solid #e5e7eb}.color-picker-header[data-v-abbd128a]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid #f3f4f6}.color-picker-title[data-v-abbd128a]{font-size:14px;font-weight:700;color:#111827}.color-picker-close-btn[data-v-abbd128a]{border:none;background:#2563eb;color:#fff;padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;font-weight:700;transition:background .15s}.color-picker-close-btn[data-v-abbd128a]:hover{background:#1d4ed8}.color-picker-body[data-v-abbd128a]{max-height:220px;overflow-y:auto;padding-right:4px}.color-picker-body[data-v-abbd128a]::-webkit-scrollbar{width:4px}.color-picker-body[data-v-abbd128a]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.color-section-title[data-v-abbd128a]{font-size:11px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;margin-top:8px}.color-section-title[data-v-abbd128a]:first-child{margin-top:0}.color-row[data-v-abbd128a]{display:flex;flex-wrap:wrap;gap:6px}.color-swatch[data-v-abbd128a]{width:28px;height:28px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 0 1px #00000026;cursor:pointer;transition:transform .15s,box-shadow .15s}.color-swatch[data-v-abbd128a]:hover{transform:scale(1.1)}.color-swatch-active[data-v-abbd128a]{transform:scale(1.15);box-shadow:0 0 0 2px #2563eb}.extra-color-group[data-v-abbd128a]{margin-top:8px}.tube-editor-menu[data-v-435b182e]{position:absolute;z-index:101;white-space:nowrap;display:flex;gap:6px;background:#0f172ab8;padding:6px;border-radius:24px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 10px 25px #00000040}.tube-editor-action[data-v-435b182e]{width:36px;height:36px;border:none;border-radius:50%;text-align:center;font-size:11px;font-weight:700;color:#fff;background:#334155;cursor:pointer;transition:transform .15s,background .15s;display:flex;align-items:center;justify-content:center}.tube-editor-action[data-v-435b182e]:hover{transform:scale(1.1);background:#475569}.tube-editor-action-delete[data-v-435b182e]{background:#dc2626}.tube-editor-action-delete[data-v-435b182e]:hover{background:#b91c1c}.tube-editor-action-warning[data-v-435b182e]{background:#d97706}.tube-editor-action-warning[data-v-435b182e]:hover{background:#b45309}.double-clamp-angle-panel[data-v-5d7384a9]{position:absolute;right:8px;top:120px;z-index:118;width:130px;padding:12px;border-radius:12px;background:#0f172af0;box-shadow:0 10px 25px #0f172a4d;border:1px solid rgba(255,255,255,.1)}.double-clamp-angle-title[data-v-5d7384a9]{text-align:center;font-size:13px;font-weight:700;color:#fff}.double-clamp-angle-tip[data-v-5d7384a9]{margin-top:4px;text-align:center;font-size:10px;color:#bfdbfe}.double-clamp-angle-ring[data-v-5d7384a9]{position:relative;width:80px;height:80px;margin:10px auto;border:6px solid #2563eb;border-radius:50%;box-sizing:border-box;cursor:pointer}.double-clamp-angle-thumb[data-v-5d7384a9]{position:absolute;left:0;top:0;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 0 0 2px #2563eb73;will-change:transform}.double-clamp-angle-ring-text[data-v-5d7384a9]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center;font-size:15px;font-weight:800;color:#dbeafe;pointer-events:none}.double-clamp-angle-shortcuts[data-v-5d7384a9]{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.double-clamp-angle-shortcut[data-v-5d7384a9]{height:22px;border:none;border-radius:4px;text-align:center;font-size:10px;font-weight:800;color:#dbeafe;background:#60a5fa38;cursor:pointer}.double-clamp-angle-shortcut[data-v-5d7384a9]:hover{background:#60a5fa59}.double-clamp-angle-switch[data-v-5d7384a9]{width:100%;height:24px;border:none;margin-top:6px;border-radius:4px;text-align:center;font-size:11px;font-weight:800;color:#bbf7d0;background:#22c55e38;cursor:pointer}.double-clamp-angle-switch[data-v-5d7384a9]:hover{background:#22c55e59}.double-clamp-angle-field[data-v-5d7384a9]{display:flex;align-items:center;height:26px;margin-top:6px}.double-clamp-angle-label[data-v-5d7384a9]{width:32px;font-size:11px;font-weight:700;color:#dbeafe}.double-clamp-angle-input[data-v-5d7384a9]{flex:1;height:24px;border:1px solid rgba(255,255,255,.1);border-radius:4px;box-sizing:border-box;font-size:12px;color:#fff;background:#ffffff24;padding:0 6px}.double-clamp-angle-calc-button[data-v-5d7384a9]{width:100%;height:28px;border:none;margin-top:8px;border-radius:4px;text-align:center;font-size:12px;font-weight:800;color:#0f172a;background:#93c5fd;cursor:pointer}.double-clamp-angle-calc-button[data-v-5d7384a9]:hover{background:#60a5fa}.double-clamp-angle-actions[data-v-5d7384a9]{margin-top:10px;display:flex;gap:6px}.double-clamp-angle-delete[data-v-5d7384a9],.double-clamp-angle-close[data-v-5d7384a9]{flex:1;height:28px;border:none;border-radius:4px;text-align:center;font-size:12px;font-weight:700;color:#fff;cursor:pointer}.double-clamp-angle-delete[data-v-5d7384a9]{background:#ef4444}.double-clamp-angle-delete[data-v-5d7384a9]:hover{background:#dc2626}.double-clamp-angle-close[data-v-5d7384a9]{background:#2563eb}.double-clamp-angle-close[data-v-5d7384a9]:hover{background:#1d4ed8}.move-pad[data-v-c8e747cd]{position:absolute;left:50%;bottom:80px;z-index:96;display:flex;align-items:center;gap:8px;transform:translate(-50%)}.move-pad-main[data-v-c8e747cd]{padding:8px;border-radius:8px;background:#111827e6;box-shadow:0 10px 25px #0000004d}.move-pad-row[data-v-c8e747cd]{display:flex;gap:6px;margin-bottom:6px}.move-pad-button[data-v-c8e747cd],.move-step-button[data-v-c8e747cd]{width:38px;height:38px;border:none;border-radius:6px;text-align:center;font-size:13px;font-weight:700;color:#fff;background:#ffffff29;cursor:pointer;transition:background .15s}.move-pad-button[data-v-c8e747cd]:hover,.move-step-button[data-v-c8e747cd]:hover{background:#ffffff47}.move-step-row[data-v-c8e747cd]{display:flex;gap:6px}.move-step-value[data-v-c8e747cd]{width:38px;height:38px;background:#ec4899;border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center}.move-step-number[data-v-c8e747cd]{font-size:13px;font-weight:700;color:#fff;line-height:1.1}.move-step-unit[data-v-c8e747cd]{font-size:8px;font-weight:600;color:#fffc;line-height:1}.move-delete-button[data-v-c8e747cd]{width:100%;height:30px;border:none;margin-top:8px;border-radius:6px;text-align:center;font-size:11px;font-weight:700;color:#fff;background:#dc2626;cursor:pointer;transition:background .15s}.move-delete-button[data-v-c8e747cd]:hover{background:#b91c1c}.rainbow-bridge-panel[data-v-f5f0eaec]{position:absolute;left:8px;right:8px;bottom:80px;z-index:117;padding:12px;border-radius:10px;background:#0f172af0;box-shadow:0 10px 25px #0f172a59;border:1px solid rgba(255,255,255,.1)}.rainbow-bridge-title[data-v-f5f0eaec]{font-size:14px;font-weight:800;color:#fff;line-height:1.2}.rainbow-bridge-tip[data-v-f5f0eaec]{margin-top:4px;font-size:11px;color:#ffffffad}.rainbow-bridge-row[data-v-f5f0eaec]{display:flex;align-items:center;justify-content:space-between;min-height:32px;margin-top:8px}.rainbow-bridge-label[data-v-f5f0eaec]{width:64px;font-size:12px;font-weight:700;color:#ffffffe6}.rainbow-bridge-stepper[data-v-f5f0eaec],.rainbow-bridge-segments[data-v-f5f0eaec]{flex:1;display:flex;align-items:center;justify-content:flex-end;gap:4px}.rainbow-bridge-step-button[data-v-f5f0eaec],.rainbow-bridge-step-value[data-v-f5f0eaec],.rainbow-bridge-segment[data-v-f5f0eaec]{min-width:32px;height:26px;border:none;border-radius:4px;text-align:center;font-size:12px;font-weight:800;color:#fff;background:#ffffff29;cursor:pointer;display:flex;align-items:center;justify-content:center}.rainbow-bridge-step-button[data-v-f5f0eaec]:hover,.rainbow-bridge-segment[data-v-f5f0eaec]:hover{background:#ffffff47}.rainbow-bridge-step-value[data-v-f5f0eaec]{min-width:44px;color:#0f172a;background:#fff}.rainbow-bridge-segment[data-v-f5f0eaec]{min-width:42px;font-size:11px}.rainbow-bridge-segment-active[data-v-f5f0eaec]{color:#fff;background:#2563eb}.rainbow-bridge-color-row[data-v-f5f0eaec]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.rainbow-bridge-color-swatch[data-v-f5f0eaec]{width:24px;height:24px;border:none;border-radius:50%;box-shadow:inset 0 0 0 2px #ffffffb8;text-align:center;font-size:10px;font-weight:900;color:#0f172a;cursor:pointer;transition:transform .15s;display:flex;align-items:center;justify-content:center}.rainbow-bridge-color-swatch[data-v-f5f0eaec]:hover{transform:scale(1.1)}.rainbow-bridge-actions[data-v-f5f0eaec]{margin-top:10px;text-align:right}.rainbow-bridge-cancel[data-v-f5f0eaec]{min-width:64px;height:28px;border:none;border-radius:4px;text-align:center;font-size:12px;font-weight:800;color:#fff;background:#ffffff29;cursor:pointer;transition:background .15s}.rainbow-bridge-cancel[data-v-f5f0eaec]:hover{background:#ffffff47}.auto-connect-panel[data-v-77d68080]{position:absolute;left:8px;right:8px;bottom:80px;z-index:116;padding:12px;border-radius:10px;background:#0f172af0;box-shadow:0 10px 25px #0f172a4d;border:1px solid rgba(255,255,255,.1)}.auto-connect-title[data-v-77d68080]{font-size:13px;font-weight:800;color:#fff}.auto-connect-route[data-v-77d68080]{margin-top:4px;font-size:11px;font-weight:700;color:#86efac}.auto-connect-route-tabs[data-v-77d68080]{display:flex;margin-top:8px;gap:6px}.auto-connect-route-tab[data-v-77d68080]{flex:1;height:26px;border:none;border-radius:6px;text-align:center;font-size:11px;font-weight:800;color:#dbeafe;background:#94a3b847;cursor:pointer;transition:all .15s}.auto-connect-route-tab[data-v-77d68080]:hover{background:#94a3b86b}.auto-connect-route-tab-active[data-v-77d68080]{color:#052e16;background:#86efac}.auto-connect-route-tab-active[data-v-77d68080]:hover{background:#4ade80}.auto-connect-plan-area[data-v-77d68080]{min-height:48px;margin-top:10px}.auto-connect-options[data-v-77d68080]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.auto-connect-option[data-v-77d68080]{position:relative;height:30px;border:none;border-radius:6px;text-align:center;color:#dbeafe;background:#94a3b847;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s}.auto-connect-option[data-v-77d68080]:hover{background:#94a3b86b}.auto-connect-option-active[data-v-77d68080]{color:#052e16;background:#86efac}.auto-connect-option-active[data-v-77d68080]:hover{background:#4ade80}.auto-connect-option-text[data-v-77d68080]{font-size:11px;font-weight:800}.auto-connect-option-tag[data-v-77d68080]{padding:1px 4px;border-radius:999px;font-size:8px;font-weight:900;color:#052e16;background:#bbf7d0}.auto-connect-empty[data-v-77d68080]{height:40px;line-height:40px;text-align:center;font-size:12px;font-weight:700;color:#94a3b8}.auto-connect-actions[data-v-77d68080]{display:flex;gap:8px;margin-top:10px}.auto-connect-cancel[data-v-77d68080],.auto-connect-confirm[data-v-77d68080]{flex:1;height:28px;border:none;border-radius:6px;text-align:center;font-size:12px;font-weight:800;cursor:pointer;transition:background .15s}.auto-connect-cancel[data-v-77d68080]{color:#fff;background:#64748b}.auto-connect-cancel[data-v-77d68080]:hover{background:#475569}.auto-connect-confirm[data-v-77d68080]{color:#fff;background:#16a34a}.auto-connect-confirm[data-v-77d68080]:hover{background:#15803d}.auto-connect-confirm-disabled[data-v-77d68080]{color:#fff9;background:#64748b!important;cursor:not-allowed}.custom-colorize-mask[data-v-07c9ceaa]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:124;background:#0f172a66;display:flex;align-items:center;justify-content:center;padding:16px}.custom-colorize-dialog[data-v-07c9ceaa]{width:100%;max-width:320px;padding:16px;border-radius:12px;background:#fff;box-shadow:0 20px 40px #0f172a4d;display:flex;flex-direction:column}.custom-colorize-title[data-v-07c9ceaa]{font-size:15px;font-weight:800;color:#111827;line-height:1.2}.custom-colorize-tip[data-v-07c9ceaa]{margin-top:6px;font-size:11px;line-height:1.5;color:#64748b}.custom-colorize-row[data-v-07c9ceaa]{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px;max-height:140px;overflow-y:auto;padding-right:4px}.custom-colorize-row[data-v-07c9ceaa]::-webkit-scrollbar{width:4px}.custom-colorize-row[data-v-07c9ceaa]::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.custom-colorize-swatch[data-v-07c9ceaa]{width:28px;height:28px;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;transition:transform .15s,border-color .15s}.custom-colorize-swatch[data-v-07c9ceaa]:hover{transform:scale(1.08)}.custom-colorize-swatch-active[data-v-07c9ceaa]{border-color:#111827;transform:scale(1.1);box-shadow:0 0 0 2px #11182726}.custom-colorize-actions[data-v-07c9ceaa]{display:flex;gap:8px;margin-top:14px}.custom-colorize-button[data-v-07c9ceaa]{flex:1;height:32px;border:none;border-radius:6px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s}.custom-colorize-cancel[data-v-07c9ceaa]{color:#334155;background:#e2e8f0}.custom-colorize-cancel[data-v-07c9ceaa]:hover{background:#cbd5e1}.custom-colorize-confirm[data-v-07c9ceaa]{color:#fff;background:#2563eb}.custom-colorize-confirm[data-v-07c9ceaa]:hover{background:#1d4ed8}.assembly-guide-panel[data-v-0533ec98]{position:absolute;left:8px;right:8px;bottom:80px;z-index:126;padding:12px;border-radius:10px;background:#0f172af2;box-shadow:0 10px 25px #0f172a59;border:1px solid rgba(255,255,255,.1);color:#fff}.assembly-guide-header[data-v-0533ec98]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1)}.assembly-guide-title[data-v-0533ec98]{font-size:13px;font-weight:800}.assembly-guide-close[data-v-0533ec98]{border:none;background:transparent;color:#fff9;font-size:11px;cursor:pointer}.assembly-guide-close[data-v-0533ec98]:hover{color:#fff}.assembly-guide-prep-eyebrow[data-v-0533ec98]{font-size:10px;color:#86efac;font-weight:700;text-transform:uppercase}.assembly-guide-prep-title[data-v-0533ec98]{font-size:14px;font-weight:800;margin-top:2px}.assembly-guide-prep-desc[data-v-0533ec98]{font-size:10px;color:#fff9;margin-top:2px}.assembly-guide-prep-scroll-wrap[data-v-0533ec98]{position:relative;margin-top:10px;border-radius:6px;overflow:hidden;background:#0003}.assembly-guide-prep-scroll[data-v-0533ec98]{max-height:180px;overflow-y:auto;padding:6px}.assembly-guide-prep-scroll[data-v-0533ec98]::-webkit-scrollbar{width:4px}.assembly-guide-prep-scroll[data-v-0533ec98]::-webkit-scrollbar-thumb{background:#fff3;border-radius:2px}.assembly-guide-prep-warning-list[data-v-0533ec98]{background:#f59e0b1f;border:1px solid rgba(251,191,36,.3);border-radius:6px;padding:8px;margin-bottom:10px}.assembly-guide-prep-warning-heading[data-v-0533ec98]{font-size:11px;font-weight:800;color:#fde68a;margin-bottom:4px}.assembly-guide-warning[data-v-0533ec98]{font-size:10px;line-height:1.4;margin-top:4px}.assembly-guide-warning[data-v-0533ec98]:first-child{margin-top:0}.assembly-guide-warning-title[data-v-0533ec98]{font-weight:700;color:#fde68a}.assembly-guide-warning-message[data-v-0533ec98]{color:#fffffff2}.assembly-guide-prep-list[data-v-0533ec98]{display:flex;flex-direction:column;gap:6px}.assembly-guide-prep-item[data-v-0533ec98]{display:flex;align-items:center;gap:8px;padding:6px;border-radius:6px;background:#ffffff0f}.assembly-guide-prep-item-thumb[data-v-0533ec98]{width:32px;height:32px;border-radius:4px;background:#ffffff1a;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fffc}.assembly-guide-prep-item-info[data-v-0533ec98]{flex:1}.assembly-guide-prep-item-name[data-v-0533ec98]{font-size:11px;font-weight:700}.assembly-guide-prep-item-desc[data-v-0533ec98]{font-size:9px;color:#ffffff80;margin-top:1px}.assembly-guide-prep-item-count[data-v-0533ec98]{font-size:13px;font-weight:800;color:#86efac}.assembly-guide-progress[data-v-0533ec98]{font-size:11px;color:#93c5fd;font-weight:700;margin-bottom:6px}.assembly-guide-card[data-v-0533ec98]{padding:10px;border-radius:6px;background:#ffffff0f;margin-bottom:10px}.assembly-guide-step-title[data-v-0533ec98]{font-size:13px;font-weight:700;line-height:1.5}.assembly-guide-warning-list[data-v-0533ec98]{margin-top:8px;background:#ef44441f;border:1px solid rgba(239,68,68,.3);border-radius:6px;padding:6px}.assembly-guide-warning-list .assembly-guide-warning-title[data-v-0533ec98]{color:#fca5a5}.assembly-guide-actions[data-v-0533ec98]{display:flex;gap:8px;margin-top:10px}.assembly-guide-button[data-v-0533ec98],.assembly-guide-button-primary[data-v-0533ec98]{flex:1;height:32px;border:none;border-radius:6px;font-size:12px;font-weight:700;cursor:pointer;transition:background .15s;display:flex;align-items:center;justify-content:center}.assembly-guide-button[data-v-0533ec98]{background:#ffffff29;color:#fff}.assembly-guide-button[data-v-0533ec98]:hover:not(:disabled){background:#ffffff47}.assembly-guide-button-primary[data-v-0533ec98]{background:#16a34a;color:#fff}.assembly-guide-button-primary[data-v-0533ec98]:hover{background:#15803d}.assembly-guide-button-disabled[data-v-0533ec98]{background:#ffffff0f!important;color:#ffffff4d!important;cursor:not-allowed}.assembly-layer-elevator[data-v-1e4b51ff]{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:127;width:48px;pointer-events:all;-webkit-user-select:none;user-select:none}.assembly-layer-elevator-trigger[data-v-1e4b51ff]{padding:8px 4px;border-radius:8px;background:#0f172ae6;box-shadow:0 4px 12px #0f172a40;border:1px solid rgba(255,255,255,.15);text-align:center;cursor:pointer;color:#fff}.assembly-layer-elevator-trigger-label[data-v-1e4b51ff]{font-size:10px;font-weight:700;color:#ffffffb8}.assembly-layer-elevator-trigger-value[data-v-1e4b51ff]{font-size:15px;font-weight:900;color:#22c55e;margin-top:2px;line-height:1}.assembly-layer-elevator-trigger-total[data-v-1e4b51ff]{font-size:9px;color:#ffffff8f;line-height:1;margin-top:1px}.assembly-layer-elevator-panel[data-v-1e4b51ff]{padding:8px 4px;border-radius:10px;background:#0f172af0;box-shadow:0 10px 25px #0f172a4d;border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;align-items:center}.assembly-layer-elevator-header[data-v-1e4b51ff]{text-align:center;cursor:pointer;padding-bottom:6px;border-bottom:1px solid rgba(255,255,255,.1);width:100%}.assembly-layer-elevator-header-title[data-v-1e4b51ff]{display:block;font-size:10px;font-weight:700;color:#ffffffb8}.assembly-layer-elevator-header-count[data-v-1e4b51ff]{display:block;font-size:11px;font-weight:800;color:#22c55e;margin-top:1px}.assembly-layer-elevator-more[data-v-1e4b51ff]{border:none;background:transparent;width:100%;padding:2px 0;display:flex;flex-direction:column;align-items:center;cursor:pointer;line-height:1}.assembly-layer-elevator-more-mark[data-v-1e4b51ff]{font-size:10px;color:#22c55e;line-height:1}.assembly-layer-elevator-more-text[data-v-1e4b51ff]{font-size:8px;font-weight:700;color:#ffffff8f;transform:scale(.85)}.assembly-layer-elevator-list[data-v-1e4b51ff]{display:flex;flex-direction:column;gap:4px;margin:6px 0;width:100%;align-items:center}.assembly-layer-elevator-item[data-v-1e4b51ff]{border:none;background:transparent;padding:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;cursor:pointer}.assembly-layer-elevator-dot[data-v-1e4b51ff]{width:22px;height:22px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:#0f172ab8;color:#ffffffe0;font-size:11px;font-weight:800;display:flex;align-items:center;justify-content:center;transition:all .15s}.assembly-layer-elevator-item:hover .assembly-layer-elevator-dot[data-v-1e4b51ff]{border-color:#fff;color:#fff}.assembly-layer-elevator-item-active .assembly-layer-elevator-dot[data-v-1e4b51ff]{background:#22c55e;color:#052e16;border-color:#86efac;box-shadow:0 0 6px #22c55e66}.perf-monitor-panel[data-v-dc2e415e]{position:absolute;right:8px;width:220px;z-index:97;padding:8px 10px;border-radius:8px;background:#090d14e6;box-shadow:0 4px 12px #0f172a40;border:1px solid rgba(255,255,255,.1);color:#fff;pointer-events:all;transition:top .2s,width .2s}.perf-monitor-panel-expanded[data-v-dc2e415e]{width:calc(100% - 16px);max-height:72vh;overflow-y:auto;left:8px;right:8px}.perf-pos-top[data-v-dc2e415e]{top:10px}.perf-pos-default[data-v-dc2e415e]{top:60px}.perf-pos-active-group[data-v-dc2e415e]{top:100px}.perf-monitor-header[data-v-dc2e415e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid rgba(255,255,255,.1)}.perf-monitor-title[data-v-dc2e415e]{font-size:11px;font-weight:700;text-transform:uppercase;color:#ffffff80;letter-spacing:.05em}.perf-monitor-header-actions[data-v-dc2e415e]{display:flex;gap:4px}.perf-monitor-detail-toggle[data-v-dc2e415e],.perf-monitor-close[data-v-dc2e415e]{border:none;background:#ffffff1a;color:#fff;font-size:10px;padding:2px 6px;border-radius:3px;cursor:pointer}.perf-monitor-detail-toggle[data-v-dc2e415e]:hover,.perf-monitor-close[data-v-dc2e415e]:hover{background:#fff3}.perf-monitor-close[data-v-dc2e415e]{padding:2px 4px}.perf-monitor-metrics[data-v-dc2e415e]{display:flex;gap:6px;justify-content:space-between}.perf-monitor-metric[data-v-dc2e415e]{flex:1;display:flex;flex-direction:column;align-items:center;background:#ffffff0f;padding:4px;border-radius:4px}.perf-monitor-metric-label[data-v-dc2e415e]{font-size:8px;color:#ffffff80;text-transform:uppercase;line-height:1}.perf-monitor-metric-value[data-v-dc2e415e]{font-size:13px;font-weight:800;margin-top:2px;line-height:1.1}.level-green[data-v-dc2e415e]{color:#4ade80}.level-orange[data-v-dc2e415e]{color:#fbbf24}.level-red[data-v-dc2e415e]{color:#f87171}.perf-monitor-body[data-v-dc2e415e]{margin-top:10px;display:flex;flex-direction:column;gap:10px}.perf-monitor-section[data-v-dc2e415e]{background:#00000026;padding:6px;border-radius:6px}.perf-monitor-section-title[data-v-dc2e415e]{font-size:10px;font-weight:800;color:#94a3b8;margin-bottom:4px;border-bottom:1px dashed rgba(255,255,255,.08);padding-bottom:2px}.perf-monitor-inline-list[data-v-dc2e415e]{display:flex;flex-wrap:wrap;gap:4px}.perf-monitor-inline-item[data-v-dc2e415e]{font-size:9px;background:#ffffff0a;padding:2px 4px;border-radius:3px;color:#ffffffb8}.perf-monitor-breakdown-grid[data-v-dc2e415e]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.perf-monitor-breakdown-card[data-v-dc2e415e]{display:flex;flex-direction:column;align-items:center;background:#ffffff0a;padding:4px 2px;border-radius:4px;text-align:center}.breakdown-card-label[data-v-dc2e415e]{font-size:7px;color:#fff6;transform:scale(.9);line-height:1.1}.breakdown-card-value[data-v-dc2e415e]{font-size:11px;font-weight:700;margin-top:2px}.page[data-v-48ac7a1f]{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--color-bg-page)}.workspace[data-v-48ac7a1f]{flex:1;min-height:0;display:flex}.viewer-card[data-v-48ac7a1f]{position:relative;flex:1;min-width:0;overflow:hidden}.viewer-canvas[data-v-48ac7a1f]{width:100%;height:100%;min-height:100%;border-radius:0;background:var(--color-bg-hover);overflow:hidden}.toast[data-v-48ac7a1f]{position:absolute;bottom:60px;left:50%;transform:translate(-50%);background:var(--color-accent);color:var(--color-text-inverse);padding:8px 18px;border-radius:var(--radius-full);font-size:var(--font-size-sm);pointer-events:none;white-space:nowrap;z-index:var(--z-toast);box-shadow:var(--shadow-lg)}.loading-mask[data-v-48ac7a1f]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffb8;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-md);border-radius:var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);z-index:var(--z-overlay)}.loading-svg[data-v-48ac7a1f]{width:64px;height:64px}@keyframes spin-48ac7a1f{to{transform:rotate(360deg)}}.preview-actions[data-v-48ac7a1f]{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:var(--z-dropdown)}.preview-btn[data-v-48ac7a1f]{width:76px;height:38px;border:none;border-radius:var(--radius-md);color:var(--color-text-inverse);background:var(--color-accent);font-weight:var(--font-weight-bold);font-size:var(--font-size-xs);cursor:pointer;box-shadow:var(--shadow-md);transition:background var(--transition-fast)}.preview-btn[data-v-48ac7a1f]:hover{background:var(--color-accent-hover)}.preview-btn.cancel[data-v-48ac7a1f]{background:var(--color-text-secondary)}.preview-btn.cancel[data-v-48ac7a1f]:hover{background:var(--color-text-primary)}.custom-length-mask[data-v-48ac7a1f]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:var(--color-bg-mask);display:flex;align-items:center;justify-content:center;padding:var(--space-lg)}.custom-length-dialog[data-v-48ac7a1f]{width:100%;max-width:280px;padding:var(--space-lg);border-radius:var(--radius-lg);background:var(--color-bg-card);box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.custom-length-title[data-v-48ac7a1f]{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:center}.custom-length-desc[data-v-48ac7a1f]{margin-top:6px;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary);text-align:center}.custom-length-field[data-v-48ac7a1f]{margin-top:14px;display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.custom-length-input[data-v-48ac7a1f]{width:100px;height:32px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-align:center;background:var(--color-bg-hover)}.custom-length-input[data-v-48ac7a1f]:focus{outline:none;border-color:var(--color-accent);background:var(--color-bg-card)}.custom-length-unit[data-v-48ac7a1f]{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--color-text-secondary)}.custom-length-actions[data-v-48ac7a1f]{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.custom-length-btn[data-v-48ac7a1f]{flex:1;height:32px;border:none;border-radius:var(--radius-md);text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;transition:background var(--transition-fast)}.custom-length-btn.cancel[data-v-48ac7a1f]{color:var(--color-text-primary);background:var(--color-bg-active)}.custom-length-btn.cancel[data-v-48ac7a1f]:hover{background:var(--color-border-dark)}.custom-length-btn.confirm[data-v-48ac7a1f]{color:var(--color-text-inverse);background:var(--color-accent)}.custom-length-btn.confirm[data-v-48ac7a1f]:hover{background:var(--color-accent-hover)}.color-picker-mask[data-v-48ac7a1f]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:99;cursor:pointer}.shortcut-dialog[data-v-48ac7a1f]{width:100%;max-width:600px;max-height:90vh;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:dialogFadeIn-48ac7a1f .2s ease-out}.shortcut-list[data-v-48ac7a1f]{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.shortcut-item[data-v-48ac7a1f]{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-hover);transition:all var(--transition-fast)}.shortcut-item[data-v-48ac7a1f]:hover{background:var(--color-bg-active);border-color:var(--color-border-dark)}.shortcut-key-input[data-v-48ac7a1f]{width:80px;height:40px;text-align:center;background:var(--color-bg-card);border:2px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);box-shadow:var(--shadow-xs);cursor:pointer;transition:all var(--transition-fast)}.shortcut-key-input[data-v-48ac7a1f]:focus{outline:none;border-color:var(--color-accent);background:var(--color-info-light)}.shortcut-arrow[data-v-48ac7a1f]{font-size:var(--font-size-lg);color:var(--color-text-placeholder)}.shortcut-tool-select[data-v-48ac7a1f]{flex:1;height:40px;padding:0 var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast)}.shortcut-tool-select[data-v-48ac7a1f]:hover{border-color:var(--color-border-dark)}.shortcut-tool-select[data-v-48ac7a1f]:focus{outline:none;border-color:var(--color-accent)}.shortcut-delete-btn[data-v-48ac7a1f]{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-danger-light);color:var(--color-danger);font-size:var(--font-size-lg);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.shortcut-delete-btn[data-v-48ac7a1f]:hover{background:var(--color-danger);color:var(--color-text-inverse)}.shortcut-add-btn[data-v-48ac7a1f]{width:100%;height:44px;border:2px dashed var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-accent);font-size:var(--font-size-base);font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-xl)}.shortcut-add-btn[data-v-48ac7a1f]:hover{border-color:var(--color-accent);background:var(--color-info-light)}.shortcut-add-icon[data-v-48ac7a1f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold)}.shortcut-tips[data-v-48ac7a1f]{padding:var(--space-lg);background:var(--color-bg-hover);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-xl)}.shortcut-tip-title[data-v-48ac7a1f]{font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--color-text-secondary);margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.05em}.shortcut-tip-item[data-v-48ac7a1f]{font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.8}.shortcut-tip-item kbd[data-v-48ac7a1f]{display:inline-block;padding:2px 6px;background:var(--color-bg-card);border:1px solid var(--color-border-dark);border-radius:var(--radius-xs);font-size:11px;font-weight:var(--font-weight-semibold);color:var(--color-text-primary);box-shadow:var(--shadow-xs)}.shortcut-actions[data-v-48ac7a1f]{display:flex;gap:var(--space-sm);justify-content:flex-end}.qdf-dialog-mask[data-v-48ac7a1f]{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-bg-overlay);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--space-xl)}.qdf-dialog[data-v-48ac7a1f]{width:100%;max-width:800px;max-height:90vh;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:dialogFadeIn-48ac7a1f .2s ease-out}@keyframes dialogFadeIn-48ac7a1f{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.qdf-dialog-header[data-v-48ac7a1f]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-divider)}.qdf-dialog-title[data-v-48ac7a1f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.qdf-dialog-close[data-v-48ac7a1f]{width:32px;height:32px;border:none;border-radius:var(--radius-md);background:var(--color-bg-hover);color:var(--color-text-secondary);font-size:var(--font-size-lg);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.qdf-dialog-close[data-v-48ac7a1f]:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.qdf-dialog-body[data-v-48ac7a1f]{padding:var(--space-xl);overflow-y:auto}.qdf-dialog-desc[data-v-48ac7a1f]{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.6;margin:0 0 var(--space-lg) 0}.qdf-upload-actions[data-v-48ac7a1f]{display:flex;align-items:center;gap:12px;margin-bottom:12px}.qdf-action-btn[data-v-48ac7a1f]{height:36px;padding:0 var(--space-lg);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);background:var(--color-bg-card);color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-fast)}.qdf-action-btn[data-v-48ac7a1f]:hover{background:var(--color-bg-hover);border-color:var(--color-text-placeholder)}.qdf-action-btn.primary[data-v-48ac7a1f]{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent)}.qdf-action-btn.primary[data-v-48ac7a1f]:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.qdf-meta[data-v-48ac7a1f]{font-size:var(--font-size-xs);color:var(--color-text-placeholder)}.qdf-file-input[data-v-48ac7a1f]{display:none}.qdf-drop-zone[data-v-48ac7a1f]{margin-bottom:var(--space-md);border:2px dashed var(--color-border-dark);border-radius:var(--radius-md);padding:var(--space-sm);transition:all var(--transition-normal)}.qdf-drop-zone-active[data-v-48ac7a1f]{border-color:var(--color-accent);background:var(--color-info-light)}.qdf-textarea[data-v-48ac7a1f]{width:100%;height:200px;padding:var(--space-md);border:none;border-radius:var(--radius-md);background:var(--color-bg-hover);font-family:Monaco,Menlo,Courier New,monospace;font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-primary);resize:vertical}.qdf-textarea[data-v-48ac7a1f]:focus{outline:none;background:var(--color-bg-card)}.qdf-actions[data-v-48ac7a1f]{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md)}.qdf-status[data-v-48ac7a1f]{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:var(--space-sm) 0}.qdf-result[data-v-48ac7a1f]{width:100%;height:300px;padding:var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-hover);font-family:Monaco,Menlo,Courier New,monospace;font-size:11px;line-height:1.5;color:var(--color-text-primary);resize:vertical;margin-top:var(--space-md)}.qdf-result[data-v-48ac7a1f]:focus{outline:none;border-color:var(--color-accent)}.decode-header[data-v-48ac7a1f]{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:var(--space-sm) 0;-webkit-user-select:none;user-select:none}.decode-header[data-v-48ac7a1f]:hover{opacity:.8}.toggle-btn[data-v-48ac7a1f]{width:28px;height:28px;border:none;border-radius:var(--radius-md);background:var(--color-bg-active);color:var(--color-text-secondary);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal)}.toggle-btn[data-v-48ac7a1f]:hover{background:var(--color-border-dark)}.toggle-btn.expanded[data-v-48ac7a1f]{background:var(--color-accent);color:var(--color-text-inverse)}.decode-content[data-v-48ac7a1f]{animation:slideDown-48ac7a1f .2s ease-out}@keyframes slideDown-48ac7a1f{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.aluminum-panel[data-v-48ac7a1f]{position:absolute;left:50%;bottom:96px;transform:translate(-50%);width:300px;max-width:calc(100% - 24px);background:#fffffffa;border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:14px 16px;z-index:var(--z-dropdown)}.aluminum-panel-head[data-v-48ac7a1f]{display:flex;align-items:center;justify-content:space-between}.aluminum-panel-title[data-v-48ac7a1f]{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.aluminum-panel-close[data-v-48ac7a1f]{border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer}.aluminum-panel-desc[data-v-48ac7a1f]{margin:var(--space-sm) 0 var(--space-md);font-size:var(--font-size-xs);line-height:1.5;color:var(--color-text-secondary)}.aluminum-panel-stats[data-v-48ac7a1f]{display:flex;gap:var(--space-md);margin-bottom:10px}.aluminum-stat[data-v-48ac7a1f]{flex:1;background:var(--color-bg-hover);border-radius:var(--radius-md);padding:var(--space-sm) 10px;display:flex;flex-direction:column;gap:2px}.aluminum-stat-label[data-v-48ac7a1f]{font-size:11px;color:var(--color-text-placeholder)}.aluminum-stat-value[data-v-48ac7a1f]{font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.aluminum-control-row[data-v-48ac7a1f]{display:flex;align-items:center;gap:10px;margin-bottom:var(--space-sm)}.aluminum-control-label[data-v-48ac7a1f]{flex:1;font-size:var(--font-size-sm);color:var(--color-text-primary)}.aluminum-control-value[data-v-48ac7a1f]{min-width:48px;text-align:center;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.aluminum-step[data-v-48ac7a1f]{width:30px;height:30px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);font-size:var(--font-size-lg);line-height:1;color:var(--color-text-primary);cursor:pointer}.aluminum-step[data-v-48ac7a1f]:hover{background:var(--color-bg-hover)}.aluminum-actions[data-v-48ac7a1f]{display:flex;gap:var(--space-sm);margin-top:var(--space-md)}.aluminum-action[data-v-48ac7a1f]{flex:1;height:38px;border:none;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;color:var(--color-text-inverse);background:var(--color-accent)}.aluminum-action.primary[data-v-48ac7a1f]{background:var(--color-accent)}.aluminum-action.secondary[data-v-48ac7a1f]{background:var(--color-text-secondary)}.aluminum-action.danger[data-v-48ac7a1f]{background:var(--color-danger)}.aluminum-action.danger-soft[data-v-48ac7a1f]{background:var(--color-warning)}.aluminum-action.disabled[data-v-48ac7a1f]{opacity:.45;pointer-events:none}.my-designs-dialog[data-v-48ac7a1f]{width:100%;max-width:480px;max-height:80vh;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;overflow:hidden;animation:dialogFadeIn-48ac7a1f .2s ease-out}.my-designs-loading[data-v-48ac7a1f],.my-designs-empty[data-v-48ac7a1f]{padding:var(--space-xxl) var(--space-xl);text-align:center;color:var(--color-text-secondary)}.my-designs-empty-icon[data-v-48ac7a1f]{font-size:48px;margin-bottom:var(--space-md)}.my-designs-empty-text[data-v-48ac7a1f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.my-designs-empty-hint[data-v-48ac7a1f]{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.my-designs-list[data-v-48ac7a1f]{display:flex;flex-direction:column;gap:2px;max-height:50vh;overflow-y:auto}.my-designs-item[data-v-48ac7a1f]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.my-designs-item[data-v-48ac7a1f]:hover{background:var(--color-bg-hover)}.my-designs-item-info[data-v-48ac7a1f]{flex:1;min-width:0}.my-designs-item-title[data-v-48ac7a1f]{font-size:var(--font-size-md);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.my-designs-item-meta[data-v-48ac7a1f]{display:flex;gap:var(--space-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin-top:2px}.my-designs-item-delete[data-v-48ac7a1f]{width:28px;height:28px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;margin-left:var(--space-sm)}.my-designs-item-delete[data-v-48ac7a1f]:hover{background:var(--color-warning);color:#fff}.my-designs-actions[data-v-48ac7a1f]{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--color-divider);margin-top:var(--space-lg)}.confirm-dialog[data-v-48ac7a1f]{width:100%;max-width:400px;background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:dialogFadeIn-48ac7a1f .2s ease-out}.confirm-dialog-header[data-v-48ac7a1f]{padding:var(--space-lg) var(--space-xl) 0}.confirm-dialog-title[data-v-48ac7a1f]{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin:0}.confirm-dialog-body[data-v-48ac7a1f]{padding:var(--space-md) var(--space-xl)}.confirm-dialog-msg[data-v-48ac7a1f]{font-size:var(--font-size-md);color:var(--color-text-secondary);line-height:1.6;margin:0}.confirm-dialog-actions[data-v-48ac7a1f]{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:0 var(--space-xl) var(--space-lg)}.qdf-action-btn.danger[data-v-48ac7a1f]{background:#ef4444;color:#fff;border-color:#ef4444}.qdf-action-btn.danger[data-v-48ac7a1f]:hover{background:#dc2626;border-color:#dc2626}.detail-page[data-v-c47b6d0b]{min-height:100vh;background:#f9fafb}.loading[data-v-c47b6d0b]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;min-height:100vh;font-size:1rem;color:#6b7280}.loading-svg[data-v-c47b6d0b]{width:56px;height:56px}.detail-container[data-v-c47b6d0b]{max-width:50rem;margin:0 auto;background:#fff;min-height:100vh}.back-btn[data-v-c47b6d0b]{position:sticky;top:1rem;left:1rem;margin:1rem;padding:.625rem 1.25rem;border:none;border-radius:1.5rem;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#1f2937;font-size:.875rem;font-weight:600;cursor:pointer;box-shadow:0 .25rem .75rem #0000001a;transition:all .2s;z-index:10}.back-btn[data-v-c47b6d0b]:hover{background:#fff;transform:translateY(-.125rem);box-shadow:0 .5rem 1rem #00000026}.cover-section[data-v-c47b6d0b]{width:100%;aspect-ratio:4/3;overflow:hidden}.cover-img[data-v-c47b6d0b]{width:100%;height:100%;object-fit:cover}.header-section[data-v-c47b6d0b]{padding:2rem;border-bottom:.0625rem solid #e5e7eb}.title[data-v-c47b6d0b]{font-size:2rem;font-weight:700;color:#1f2937;margin:0 0 1.5rem;line-height:1.3}.meta[data-v-c47b6d0b]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem}.author-info[data-v-c47b6d0b]{display:flex;align-items:center;gap:.75rem}.avatar[data-v-c47b6d0b]{width:2.5rem;height:2.5rem;border-radius:50%;object-fit:cover}.avatar.placeholder[data-v-c47b6d0b]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600;font-size:1rem}.author-name[data-v-c47b6d0b]{font-size:1rem;font-weight:600;color:#1f2937}.designer-badge[data-v-c47b6d0b]{padding:.25rem .625rem;border-radius:.75rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.75rem;font-weight:600}.stats[data-v-c47b6d0b]{display:flex;gap:1.5rem}.stat[data-v-c47b6d0b]{font-size:.875rem;color:#6b7280}.content-section[data-v-c47b6d0b]{padding:2rem}.description[data-v-c47b6d0b]{font-size:1rem;color:#4b5563;line-height:1.75;margin:0 0 1.5rem;white-space:pre-wrap}.tags[data-v-c47b6d0b]{display:flex;flex-wrap:wrap;gap:.5rem}.tag[data-v-c47b6d0b]{padding:.375rem .875rem;border-radius:1rem;background:#f3f4f6;color:#6b7280;font-size:.875rem;font-weight:500}.action-section[data-v-c47b6d0b]{padding:2rem;border-top:.0625rem solid #e5e7eb}.action-btn[data-v-c47b6d0b]{width:100%;padding:1rem;border:none;border-radius:1rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s}.action-btn.primary[data-v-c47b6d0b]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.action-btn.primary[data-v-c47b6d0b]:hover{transform:translateY(-.125rem);box-shadow:0 .5rem 1.5rem #667eea66}.home-page[data-v-2c620803]{height:100%;overflow-y:auto;background:var(--color-bg-page)}.home-banner[data-v-2c620803]{margin:var(--space-xl) var(--space-xl) 0;padding:48px 0;border-radius:var(--radius-xl);background:linear-gradient(135deg,#ffe4e6,#dbeafe);display:flex;align-items:center;justify-content:center}.create-btn[data-v-2c620803]{display:inline-flex;align-items:center;gap:6px;padding:10px 28px;border:none;border-radius:var(--radius-full);background:#1a1a1a;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.create-btn[data-v-2c620803]:hover{background:#333;transform:translateY(-1px);box-shadow:var(--shadow-md)}.create-btn[data-v-2c620803]:active{transform:scale(.97)}.home-content[data-v-2c620803]{padding:var(--space-xl)}.section-title[data-v-2c620803]{font-size:16px;font-weight:600;color:#1a1a1a;margin:0 0 var(--space-lg);text-align:left}.loading-state[data-v-2c620803]{text-align:center;padding:60px 0;color:var(--color-text-secondary);font-size:var(--font-size-sm);display:flex;flex-direction:column;align-items:center;gap:12px}.loading-svg[data-v-2c620803]{width:56px;height:56px}.empty-state[data-v-2c620803]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 0}.empty-icon[data-v-2c620803]{font-size:48px;margin-bottom:var(--space-lg);opacity:.5}.empty-text[data-v-2c620803]{font-size:var(--font-size-md);color:var(--color-text-secondary)}.inspiration-grid[data-v-2c620803]{display:grid;grid-template-columns:repeat(6,1fr);gap:var(--space-md)}.inspiration-card[data-v-2c620803]{cursor:pointer;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-bg-card);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.inspiration-card[data-v-2c620803]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-image-wrapper[data-v-2c620803]{position:relative;width:100%;padding-top:140%;overflow:hidden}.card-image[data-v-2c620803]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.card-image-placeholder[data-v-2c620803]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#ffffffe6}.card-overlay[data-v-2c620803]{position:absolute;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-md);opacity:0;transition:opacity var(--transition-normal)}.inspiration-card:hover .card-overlay[data-v-2c620803]{opacity:1}.overlay-user[data-v-2c620803]{display:flex;align-items:center;gap:6px}.overlay-avatar[data-v-2c620803]{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(255,255,255,.6)}.overlay-avatar.placeholder[data-v-2c620803]{background:#ffffff40;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600}.overlay-name[data-v-2c620803]{font-size:12px;color:#fff;font-weight:500}.overlay-desc[data-v-2c620803]{font-size:12px;color:#ffffffd9;line-height:1.4;margin:0 0 8px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.overlay-bottom[data-v-2c620803]{display:flex;align-items:center;justify-content:space-between;gap:8px}.overlay-stats[data-v-2c620803]{display:flex;align-items:center;gap:10px;flex-shrink:0}.overlay-stat[data-v-2c620803]{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#ffffffe6;font-weight:500}.overlay-stat svg[data-v-2c620803]{flex-shrink:0}@media (max-width: 1200px){.inspiration-grid[data-v-2c620803]{grid-template-columns:repeat(4,1fr)}}@media (max-width: 768px){.inspiration-grid[data-v-2c620803]{grid-template-columns:repeat(3,1fr)}}@media (max-width: 480px){.inspiration-grid[data-v-2c620803]{grid-template-columns:repeat(2,1fr)}}.my-models-page[data-v-790e7986]{height:100%;overflow-y:auto;background:#fff;padding:var(--space-xl);position:relative}.page-header[data-v-790e7986]{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}.page-title[data-v-790e7986]{font-size:18px;font-weight:700;color:#1a1a1a;margin:0}.page-tabs[data-v-790e7986]{display:flex;align-items:center;gap:var(--space-lg)}.page-tab[data-v-790e7986]{position:relative;padding:var(--space-sm) 0;border:none;background:transparent;font-size:var(--font-size-base);font-weight:400;color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast)}.page-tab[data-v-790e7986]:hover{color:var(--color-text-primary)}.page-tab-active[data-v-790e7986]{color:#1a1a1a;font-weight:600}.page-tab-active[data-v-790e7986]:after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:#1a1a1a;border-radius:1px}.card-grid[data-v-790e7986]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-lg)}.list-loading[data-v-790e7986]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0;gap:12px;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.loading-svg[data-v-790e7986]{width:56px;height:56px}.card[data-v-790e7986]{border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card[data-v-790e7986]:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-new[data-v-790e7986]{border:2px dashed #D1D5DB;background:transparent;display:flex;align-items:center;justify-content:center;min-height:220px}.card-import[data-v-790e7986]{border:2px dashed #9CA3AF;background:transparent;display:flex;align-items:center;justify-content:center;min-height:220px;position:relative}.card-import[data-v-790e7986]:hover{border-color:#1a1a1a}.card-import:hover .import-btn[data-v-790e7986]{background:#333}.card-import:hover .card-new-icon[data-v-790e7986]{color:#6b7280}.import-file-input[data-v-790e7986]{display:none}.card-new-inner[data-v-790e7986]{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.card-new-icon[data-v-790e7986]{color:#9ca3af}.create-btn[data-v-790e7986]{padding:8px 20px;border:none;border-radius:var(--radius-full);background:#1a1a1a;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.create-btn[data-v-790e7986]:hover{background:#333}.import-btn[data-v-790e7986]{padding:8px 20px;border:none;border-radius:var(--radius-full);background:#1a1a1a;color:#fff;font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.card-project[data-v-790e7986]{background:#fff;border:1px solid #F3F4F6}.card-thumb[data-v-790e7986]{position:relative;width:100%;padding-top:75%;background:#f9fafb;overflow:hidden}.card-thumb-image[data-v-790e7986]{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.card-thumb-placeholder[data-v-790e7986]{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#d1d5db}.card-badge[data-v-790e7986]{position:absolute;top:8px;left:8px;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;line-height:1.5}.card-badge-local[data-v-790e7986]{color:#ff6b35;background:#fff1ea}.card-badge-merged[data-v-790e7986]{color:#2c5fb9;background:#dceafe}.card-badge-cloud[data-v-790e7986]{color:#2ec4b6;background:#e6f7f5}.card-sync[data-v-790e7986]{position:absolute;top:8px;right:8px;padding:2px 8px;border-radius:var(--radius-full);font-size:10px;font-weight:700;line-height:1.5}.card-sync-upload[data-v-790e7986]{color:#ff6b35;background:#fff1ea}.card-sync-download[data-v-790e7986]{color:#2ec4b6;background:#e6f7f5}.card-sync-sync[data-v-790e7986]{color:#7c6ce0;background:#7c6ce01f}.card-info[data-v-790e7986]{padding:var(--space-md)}.card-name[data-v-790e7986]{font-size:var(--font-size-sm);font-weight:500;color:#1a1a1a;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-time[data-v-790e7986]{font-size:var(--font-size-xs);color:#9ca3af}.empty-area[data-v-790e7986]{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 0}.empty-icon[data-v-790e7986]{font-size:48px;margin-bottom:var(--space-lg);opacity:.5}.empty-text[data-v-790e7986]{font-size:var(--font-size-md);color:var(--color-text-secondary)}.import-overlay[data-v-790e7986]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#fff;font-size:14px;z-index:1000}.import-loading-svg[data-v-790e7986]{width:56px;height:56px}.import-toast[data-v-790e7986]{position:fixed;bottom:24px;left:50%;transform:translate(-50%);padding:10px 24px;border-radius:8px;font-size:14px;z-index:1001;cursor:pointer;animation:import-toast-in-790e7986 .3s ease}.import-toast-error[data-v-790e7986]{background:#fef2f2;color:#dc2626;border:1px solid #FECACA}@keyframes import-toast-in-790e7986{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.login-page[data-v-b9016a40]{flex:1;display:flex;align-items:center;justify-content:center;background:#f7f8fa;min-height:100%}.login-card[data-v-b9016a40]{background:#fff;border-radius:16px;padding:48px 40px 36px;width:380px;display:flex;flex-direction:column;align-items:center;box-shadow:0 2px 12px #0000000f}.login-logo[data-v-b9016a40]{margin-bottom:16px}.login-logo-img[data-v-b9016a40]{height:36px;width:auto}.login-title[data-v-b9016a40]{font-size:20px;font-weight:600;color:var(--color-text-primary, #1A1A1A);margin:0 0 28px}.login-qr-area[data-v-b9016a40]{width:240px;height:240px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.qr-placeholder[data-v-b9016a40]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f7f8fa;border-radius:12px;color:var(--color-text-secondary, #888);font-size:14px}.qr-expired p[data-v-b9016a40]{margin:12px 0 0}.qr-refresh-btn[data-v-b9016a40]{margin-top:12px;padding:8px 24px;background:var(--color-text-primary, #1A1A1A);color:#fff;border:none;border-radius:8px;font-size:14px;cursor:pointer;transition:opacity .2s}.qr-refresh-btn[data-v-b9016a40]:hover{opacity:.85}.qr-spinner[data-v-b9016a40]{width:32px;height:32px;border:3px solid #eee;border-top-color:var(--color-text-primary, #1A1A1A);border-radius:50%;animation:spin-b9016a40 .8s linear infinite}@keyframes spin-b9016a40{to{transform:rotate(360deg)}}.qr-wrapper[data-v-b9016a40]{position:relative;border-radius:12px;overflow:hidden}.qr-wrapper.qr-scanned .qr-canvas[data-v-b9016a40]{filter:blur(3px)}.qr-canvas[data-v-b9016a40]{display:block;border-radius:12px}.qr-scan-line[data-v-b9016a40]{position:absolute;top:0;left:8px;right:8px;height:2px;background:linear-gradient(90deg,transparent,#22c55e 30%,#22c55e 70%,transparent);box-shadow:0 0 8px 2px #22c55e66,0 0 20px 4px #22c55e26;animation:qr-scan-b9016a40 2.5s ease-in-out infinite;z-index:2}.qr-scan-line[data-v-b9016a40]:after{content:"";position:absolute;top:-20px;left:0;right:0;height:40px;background:linear-gradient(180deg,transparent,rgba(34,197,94,.08),transparent);pointer-events:none}@keyframes qr-scan-b9016a40{0%{top:0;opacity:0}5%{opacity:1}90%{opacity:1}to{top:calc(100% - 2px);opacity:0}}.qr-scan-frame[data-v-b9016a40]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:3}.qr-corner[data-v-b9016a40]{position:absolute;width:20px;height:20px;border-color:#22c55e;border-style:solid;border-width:0}.qr-corner-tl[data-v-b9016a40]{top:0;left:0;border-top-width:3px;border-left-width:3px;border-top-left-radius:4px}.qr-corner-tr[data-v-b9016a40]{top:0;right:0;border-top-width:3px;border-right-width:3px;border-top-right-radius:4px}.qr-corner-bl[data-v-b9016a40]{bottom:0;left:0;border-bottom-width:3px;border-left-width:3px;border-bottom-left-radius:4px}.qr-corner-br[data-v-b9016a40]{bottom:0;right:0;border-bottom-width:3px;border-right-width:3px;border-bottom-right-radius:4px}.qr-overlay[data-v-b9016a40]{position:absolute;top:0;right:0;bottom:0;left:0;background:#ffffffd9;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#22c55e;font-size:14px;font-weight:500}.qr-overlay p[data-v-b9016a40]{margin:8px 0 0;color:var(--color-text-primary, #1A1A1A)}.login-status[data-v-b9016a40]{text-align:center;min-height:24px;margin-bottom:16px}.status-text[data-v-b9016a40]{font-size:14px;color:var(--color-text-secondary, #888);margin:0;line-height:1.6}.status-text strong[data-v-b9016a40]{color:var(--color-text-primary, #1A1A1A)}.status-scanned[data-v-b9016a40]{color:#22c55e;font-weight:500}.status-expired[data-v-b9016a40]{color:#ef4444}.login-countdown[data-v-b9016a40]{width:100%;height:3px;background:#eee;border-radius:2px;overflow:hidden;margin-bottom:20px}.countdown-bar[data-v-b9016a40]{height:100%;background:var(--color-text-primary, #1A1A1A);border-radius:2px;transition:width 1s linear}.login-footer[data-v-b9016a40]{text-align:center}.login-footer p[data-v-b9016a40]{font-size:12px;color:var(--color-text-tertiary, #bbb);margin:0}
