.particle-canvas[data-v-81b88452]{z-index:0;pointer-events:none;position:fixed;inset:0}.login-loading-overlay[data-v-81b88452]{z-index:10000;background:radial-gradient(#fbf8f2 0%,#f2ede0 50%,#e8e1d0 100%);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.loading-logo[data-v-81b88452]{filter:drop-shadow(0 2px 8px #7850141f);width:140px;height:auto}.loading-text[data-v-81b88452]{color:#8b6914;letter-spacing:4px;font-size:13px}.loading-dots[data-v-81b88452]{gap:8px;display:flex}.loading-dot[data-v-81b88452]{opacity:.3;background:#a0783299;border-radius:50%;width:6px;height:6px}.login-wrapper[data-v-81b88452]{background:linear-gradient(160deg,#f2ede4 0%,#f7f3ec 25%,#fcfaf7 55%,#f5f1e9 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.bg-orb[data-v-81b88452]{pointer-events:none;border-radius:50%;position:absolute}.bg-orb-1[data-v-81b88452]{background:radial-gradient(circle,#be965a0f 0%,#b4874605 35%,#0000 60%);width:480px;height:480px;top:-200px;right:-140px}.bg-orb-2[data-v-81b88452]{background:radial-gradient(circle,#aa82460d 0%,#966e3205 35%,#0000 60%);width:360px;height:360px;bottom:-100px;left:-100px}.flip-container[data-v-81b88452]{perspective:1200px;z-index:1;width:380px;height:460px}.flip-inner[data-v-81b88452]{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.4,0,.2,1);position:relative}.flip-container.flipped .flip-inner[data-v-81b88452]{transform:rotateY(180deg)}.login-card[data-v-81b88452]{backface-visibility:hidden;background:#fffefd;border-radius:16px;position:absolute;inset:0;overflow:hidden;box-shadow:0 1px 2px #1e1b1608,0 8px 32px #1e1b160f,0 0 0 1px #c8af821a}.login-back[data-v-81b88452]{transform:rotateY(180deg)}.logo-box[data-v-81b88452]{text-align:center;padding:20px 0 4px}.login-logo-img[data-v-81b88452]{filter:drop-shadow(0 1px 3px #643c1414);width:auto;height:130px}.form-wrap[data-v-81b88452]{padding:8px 36px 24px}.input-row[data-v-81b88452]{background:linear-gradient(#fefdfb,#fcfaf6);border:1px solid #ede8de;border-radius:10px;align-items:center;height:46px;margin-bottom:8px;padding:0 14px;transition:all .25s;display:flex}.input-row[data-v-81b88452]:focus-within{background:linear-gradient(#fffefd,#fefcfa);border-color:#c4a060;box-shadow:0 0 0 3px #be9b641a}.input-icon[data-v-81b88452]{color:#b8a070;flex-shrink:0;align-items:center;margin-right:10px;display:flex}.custom-input[data-v-81b88452]{color:#2e2819;background:0 0;border:none;outline:none;flex:1;padding:0;font-family:inherit;font-size:14px}.custom-input[data-v-81b88452]::placeholder{color:#c8bfa8;font-size:13px}.eye-toggle[data-v-81b88452]{cursor:pointer;color:#c8bfa8;border-radius:4px;flex-shrink:0;align-items:center;padding:4px;transition:color .2s;display:flex}.eye-toggle[data-v-81b88452]:hover{color:#8b6914}.login-btn[data-v-81b88452]{color:#fff;letter-spacing:6px;cursor:pointer;background:linear-gradient(135deg,#b8923e,#9b7320,#8b6914);border:none;border-radius:10px;width:100%;height:44px;margin-top:16px;font-family:inherit;font-size:15px;font-weight:600;transition:all .2s;box-shadow:0 2px 10px #966e1e33}.login-btn[data-v-81b88452]:hover{background:linear-gradient(135deg,#9b7320,#8b6914,#7a5a10);transform:translateY(-1px);box-shadow:0 4px 18px #966e1e4d}.login-btn[data-v-81b88452]:active{transform:scale(.98)translateY(0)}.login-btn[data-v-81b88452]:disabled{opacity:.55;cursor:not-allowed;transform:none}.error-msg[data-v-81b88452]{color:#c4563a;text-align:center;margin:10px 0 0;font-size:12px}.success-msg[data-v-81b88452]{color:#67a04a;text-align:center;margin:10px 0 0;font-size:12px}.toggle-row[data-v-81b88452]{text-align:center;color:#b0a088;margin-top:14px;font-size:13px}.toggle-link[data-v-81b88452]{color:#8b6914;cursor:pointer;margin-left:2px;font-weight:600}.toggle-link[data-v-81b88452]:hover{opacity:.8}.mode-switch[data-v-81b88452]{z-index:5;-webkit-backdrop-filter:blur(10px);background:#fffefdd9;border:1px solid #ede8de;border-radius:999px;align-items:center;gap:6px;padding:4px 6px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.mode-label[data-v-81b88452]{color:#b0a088;padding:0 2px;font-size:11px}.mode-btn[data-v-81b88452]{color:#8b8068;cursor:pointer;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-family:inherit;font-size:12px;transition:all .2s;display:flex}.mode-btn.active[data-v-81b88452]{color:#fff;background:linear-gradient(135deg,#b8923e,#8b6914);font-weight:600}.login-wrapper.mobile-ui .flip-container[data-v-81b88452]{width:min(380px,100vw - 100px);height:min(460px,100vh - 70px)}.login-wrapper.mobile-ui .login-logo-img[data-v-81b88452]{height:66px}.login-wrapper.mobile-ui .logo-box[data-v-81b88452]{padding:10px 0 0}.login-wrapper.mobile-ui .form-wrap[data-v-81b88452]{padding:4px 26px 14px}.login-wrapper.mobile-ui .input-row[data-v-81b88452]{height:38px;margin-bottom:6px}.login-wrapper.mobile-ui .login-btn[data-v-81b88452]{letter-spacing:4px;height:38px;margin-top:10px}.login-wrapper.mobile-ui .toggle-row[data-v-81b88452]{margin-top:8px}.login-wrapper.mobile-ui .bg-orb-1[data-v-81b88452]{width:300px;height:300px}.login-wrapper.mobile-ui .bg-orb-2[data-v-81b88452]{width:220px;height:220px}.login-wrapper.mobile-ui .mode-switch[data-v-81b88452]{bottom:8px}.calc-wrapper[data-v-90da6270]{background:var(--bg-app);flex-direction:column;width:100%;height:100%;display:flex;overflow:auto}.calc-header[data-v-90da6270]{background:var(--bg-surface);border-bottom:1px solid var(--border-default);align-items:center;gap:8px;padding:12px 16px;display:flex}.calc-header h2[data-v-90da6270]{color:var(--text-primary);margin:0;font-size:18px}.calc-body[data-v-90da6270]{flex:1;max-width:900px;padding:20px 24px}.input-section[data-v-90da6270]{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px 24px}.input-row[data-v-90da6270]{align-items:center;gap:12px;margin-bottom:10px;display:flex}.input-label[data-v-90da6270]{font-size:16px;font-weight:var(--font-semibold);color:var(--text-primary)}.unit[data-v-90da6270]{color:var(--text-tertiary);font-size:16px}.range-hint[data-v-90da6270]{color:var(--text-placeholder);font-size:12px}.slider-row[data-v-90da6270]{margin-top:10px}.info-row[data-v-90da6270]{color:var(--text-secondary);gap:24px;font-size:13px;display:flex}.visual-section[data-v-90da6270]{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:20px 24px}.visual-bar[data-v-90da6270]{align-items:center;height:48px;margin-bottom:4px;display:flex}.margin-block[data-v-90da6270]{color:#fff;border-radius:4px;justify-content:center;align-items:center;min-width:18px;height:40px;font-size:10px;display:flex}.margin-block.left[data-v-90da6270]{background:#909399;border-radius:6px 0 0 6px}.margin-block.right[data-v-90da6270]{background:#909399;border-radius:0 6px 6px 0}.spacer-block[data-v-90da6270]{color:#fff;justify-content:center;align-items:center;min-width:20px;height:40px;font-size:11px;font-weight:600;display:flex}.s90[data-v-90da6270]{background:#409eff}.s661[data-v-90da6270]{background:#e6a23c}.remainder-block[data-v-90da6270]{color:#999;background:#f0f0f0;border:2px dashed #d0d0d0;border-radius:4px;justify-content:center;align-items:center;min-width:16px;height:36px;font-size:10px;display:flex}.bar-labels[data-v-90da6270]{color:var(--text-tertiary);justify-content:space-between;margin-bottom:8px;font-size:10px;display:flex}.legend-row[data-v-90da6270]{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:flex}.legend-dot[data-v-90da6270]{border-radius:3px;width:14px;height:14px}.legend-dot[data-v-90da6270]:first-child{margin-left:0}.s90-bg[data-v-90da6270]{background:#409eff}.s661-bg[data-v-90da6270]{background:#e6a23c}.remain-bg[data-v-90da6270]{background:#f0f0f0;border:2px dashed #d0d0d0}.margin-bg[data-v-90da6270]{background:#909399}.result-section[data-v-90da6270]{background:var(--bg-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px 24px}.result-header[data-v-90da6270]{color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:12px;font-size:14px;font-weight:600;display:flex}.count-906[data-v-90da6270]{color:#409eff;font-weight:600}.count-661[data-v-90da6270]{color:#e6a23c;font-weight:600}.manager-toolbar[data-v-225d080e]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px;display:flex}.save-tip[data-v-225d080e]{color:#909399;text-align:right;margin-top:8px;font-size:11px}.manager-tabs[data-v-225d080e] .el-tabs__header{margin-bottom:10px}.backup-toolbar[data-v-225d080e]{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:10px;display:flex}.backup-tip[data-v-225d080e]{color:#909399;margin-bottom:8px;font-size:12px}.backup-empty[data-v-225d080e]{text-align:center;color:#909399;padding:24px 0;font-size:12px}.image-cell[data-v-225d080e]{align-items:center;gap:6px;display:flex}.image-inputs[data-v-225d080e]{flex-direction:column;flex:1;gap:3px;display:flex}.image-preview[data-v-225d080e]{background-position:50%;background-size:cover;border:1px solid #dcdfe6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.no-img[data-v-225d080e]{color:#999;font-size:8px}.image-preview.clickable[data-v-225d080e]{cursor:pointer}.image-preview.clickable[data-v-225d080e]:hover{border-color:#409eff;box-shadow:0 0 0 2px #409eff33}.preview-wrap[data-v-225d080e]{text-align:center}.preview-img[data-v-225d080e]{border-radius:6px;max-width:100%;max-height:60vh}.sd-intro[data-v-97d85adc]{color:var(--text-secondary);background:var(--bg-app);border:1px solid var(--border-lighter);border-radius:var(--radius-md);margin-bottom:14px;padding:8px 12px;font-size:12px;line-height:1.7}.sd-intro .hl[data-v-97d85adc]{color:var(--brand);font-weight:var(--font-semibold)}.sd-plan[data-v-97d85adc]{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-surface);padding:10px 14px}.sd-plan-title[data-v-97d85adc]{font-size:12px;font-weight:var(--font-semibold);color:var(--brand);letter-spacing:1px;margin-bottom:8px}.sd-option[data-v-97d85adc]{border:1px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;background:var(--bg-app);margin-bottom:8px;padding:8px 12px;transition:border-color .15s,box-shadow .15s}.sd-option[data-v-97d85adc]:hover{border-color:var(--brand)}.sd-option.active[data-v-97d85adc]{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:var(--bg-surface)}.sd-option-head[data-v-97d85adc]{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.sd-option-name[data-v-97d85adc]{font-size:13px;font-weight:var(--font-semibold);color:var(--text-primary)}.sd-option-total[data-v-97d85adc]{font-weight:var(--font-bold);color:#e6a23c}.sd-option-desc[data-v-97d85adc]{color:var(--text-tertiary);margin-bottom:4px;font-size:11px}.sd-tag[data-v-97d85adc]{color:#fff;background:var(--brand);vertical-align:1px;border-radius:8px;margin-left:6px;padding:0 6px;font-size:10px;line-height:16px;display:inline-block}.sd-row[data-v-97d85adc]{color:var(--text-primary);justify-content:space-between;align-items:center;padding:3px 0;font-size:13px;display:flex}.sd-k[data-v-97d85adc]{color:var(--text-tertiary);font-size:12px}.sd-v[data-v-97d85adc]{font-weight:var(--font-medium)}.sd-divider[data-v-97d85adc]{background:var(--border-light);height:1px;margin:6px 0}.sd-total[data-v-97d85adc]{font-weight:var(--font-bold);color:#e6a23c}.sd-remain[data-v-97d85adc]{color:#67a04a;font-size:12px}.sd-over[data-v-97d85adc]{color:#f56c6c;font-size:12px}.sd-note[data-v-97d85adc]{color:var(--text-placeholder);margin-top:6px;font-size:11px;line-height:1.6}.sd-empty[data-v-97d85adc]{text-align:center;color:var(--text-placeholder);padding:18px 0;font-size:12px}.pp-body[data-v-6b8034b1]{flex-direction:column;min-height:300px;display:flex}.pp-name[data-v-6b8034b1]{margin-bottom:12px}.pp-img-wrap[data-v-6b8034b1]{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-app);width:100%;max-height:460px;overflow:auto}.pp-img[data-v-6b8034b1]{width:100%;display:block}.pp-placeholder[data-v-6b8034b1]{color:var(--text-placeholder);text-align:center;padding:70px 20px;font-size:13px}.pp-status[data-v-6b8034b1]{color:var(--text-secondary);text-align:center;margin-top:10px;font-size:13px}.pp-error[data-v-6b8034b1]{color:#f56c6c}.toolbar[data-v-1ccc35d3]{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border-default);z-index:100;scrollbar-width:none;background:#ffffffe0;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;height:54px;padding:0 20px;display:flex;overflow:auto hidden;box-shadow:0 1px 4px #0000000a,0 2px 8px #00000005}.toolbar[data-v-1ccc35d3]::-webkit-scrollbar{display:none}.toolbar-left[data-v-1ccc35d3]{flex-shrink:0;align-items:center;display:flex}.app-logo[data-v-1ccc35d3]{width:auto;height:48px;margin:2px 0}.app-logo.short[data-v-1ccc35d3]{height:32px}.toolbar-center[data-v-1ccc35d3]{flex-shrink:0;align-items:center;gap:6px;display:flex}.zoom-label[data-v-1ccc35d3]{text-align:center;cursor:default;min-width:48px}.toolbar-right[data-v-1ccc35d3]{flex-shrink:0;align-items:center;gap:6px;display:flex}.board-size-display[data-v-1ccc35d3]{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:var(--font-medium);background:var(--bg-app);border:1px solid var(--border-lighter);border-radius:var(--radius-xs);transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;padding:4px 10px}.board-size-display[data-v-1ccc35d3]:hover{border-color:var(--text-tertiary);background:var(--bg-surface-hover)}.ctrl-group[data-v-1ccc35d3]{background:var(--bg-app);border:1px solid var(--border-lighter);border-radius:var(--radius-xs);flex-shrink:0;align-items:center;gap:4px;padding:2px 8px;display:flex}.ctrl-label[data-v-1ccc35d3]{color:var(--text-tertiary);white-space:nowrap;min-width:20px;font-size:11px}.ctrl-value[data-v-1ccc35d3]{color:var(--text-secondary);text-align:right;min-width:24px;font-size:11px}.toolbar.mobile-ui[data-v-1ccc35d3]{gap:6px;height:48px;padding:0 8px}.toolbar.mobile-ui .toolbar-left[data-v-1ccc35d3],.toolbar.mobile-ui .toolbar-center[data-v-1ccc35d3],.toolbar.mobile-ui .toolbar-right[data-v-1ccc35d3]{flex-shrink:0}.toolbar.mobile-ui .app-logo[data-v-1ccc35d3]{height:34px;margin:0}.toolbar.mobile-ui .ctrl-group .el-slider[data-v-1ccc35d3]{margin:0 8px;width:64px!important}.toolbar.mobile-ui .ctrl-group[data-v-1ccc35d3]{padding:2px 6px}.toolbar.mobile-ui .board-size-display[data-v-1ccc35d3]{padding:3px 8px;font-size:12px}.toolbar.mobile-ui .menu-btn[data-v-1ccc35d3]{flex-shrink:0}.more-menu[data-v-1ccc35d3]{flex-direction:column;padding:4px 0;display:flex}.more-menu-item[data-v-1ccc35d3]{color:var(--text-primary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:9px;padding:9px 14px;font-size:13px;transition:background .12s;display:flex}.more-menu-item[data-v-1ccc35d3]:hover{background:var(--bg-surface-hover)}.more-menu-item[data-v-1ccc35d3]:active{background:var(--bg-app)}.more-menu-item .el-icon[data-v-1ccc35d3]{color:var(--text-secondary);font-size:15px}.more-menu-danger[data-v-1ccc35d3],.more-menu-danger .el-icon[data-v-1ccc35d3]{color:#f56c6c}.component-card[data-v-f4357930]{border:1px solid var(--border-default);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-standard);background:var(--bg-surface);box-shadow:var(--shadow-xs);align-items:center;gap:8px;padding:6px 8px;display:flex}.component-card[data-v-f4357930]:hover{border-color:var(--brand);background:var(--brand-light);box-shadow:var(--shadow-md);transform:translateY(-1px)scale(1.01)}.component-card[data-v-f4357930]:active{box-shadow:var(--shadow-xs);transition:all 50ms var(--ease-out-fast);transform:scale(.98)}.component-card.is-dragging[data-v-f4357930]{opacity:.5;border-style:dashed}.component-card.pending[data-v-f4357930]{background:#f0f9eb;border-color:#67c23a;box-shadow:0 0 0 2px #67c23a4d}.card-preview[data-v-f4357930]{border-radius:var(--radius-xs);border:1px solid #0003;flex-shrink:0;justify-content:center;align-items:center;width:72px;min-width:72px;height:40px;display:flex;position:relative;box-shadow:inset 0 1px 2px #0000000f}.card-badge[data-v-f4357930]{color:#fff;text-shadow:0 1px 1px #0000004d;text-align:center;word-break:break-all;-webkit-backdrop-filter:blur(2px);background:#00000080;border-radius:3px;padding:1px 4px;font-size:8px;font-weight:700;line-height:1.1}.card-info[data-v-f4357930]{flex-direction:column;gap:1px;display:flex;overflow:hidden}.card-name[data-v-f4357930]{font-size:14px;font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.length-grid[data-v-33bb89f4]{grid-template-columns:repeat(3,1fr);gap:10px;padding:8px 0;display:grid}.length-card[data-v-33bb89f4]{border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-standard);background:var(--bg-surface);flex-direction:column;align-items:center;padding:12px 4px 6px;display:flex}.length-card[data-v-33bb89f4]:hover{border-color:var(--brand);background:var(--brand-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.length-card[data-v-33bb89f4]:active{transform:scale(.97)}.length-visual[data-v-33bb89f4]{background:var(--text-tertiary);border-radius:2px;justify-content:center;align-items:center;width:8px;min-height:28px;margin-bottom:4px;display:flex;position:relative}.length-label[data-v-33bb89f4]{color:var(--text-primary);font-size:13px;font-weight:600}.screw-hint[data-v-33bb89f4]{color:var(--text-secondary);margin-top:2px;font-size:12px}.self-buy-row[data-v-33bb89f4]{border-top:1px solid var(--border-default);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.self-buy-row[data-v-33bb89f4] .el-checkbox__label{font-size:15px}.spacing-prompt[data-v-119e74bf]{text-align:center;color:var(--text-secondary);margin-bottom:16px;font-size:14px}.spacing-options[data-v-119e74bf]{justify-content:center;gap:12px;display:flex}.spacing-card[data-v-119e74bf]{border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-standard);background:var(--bg-surface);flex-direction:column;align-items:center;gap:6px;min-width:100px;padding:16px 24px;display:flex}.spacing-card[data-v-119e74bf]:hover{border-color:var(--brand);background:var(--brand-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.spacing-card[data-v-119e74bf]:active{transform:scale(.97)}.spacing-card.active[data-v-119e74bf]{border-color:var(--brand);background:var(--brand-light);box-shadow:0 0 0 3px #8b691426}.spacing-dot[data-v-119e74bf]{border-radius:50%;width:16px;height:16px}.spacing-value[data-v-119e74bf]{font-size:24px;font-weight:var(--font-bold);color:var(--text-primary)}.spacing-unit[data-v-119e74bf]{color:var(--text-tertiary);font-size:12px}.left-panel[data-v-455cfce2]{background:var(--bg-surface);border-right:1px solid var(--border-default);flex-direction:column;width:220px;min-width:220px;display:flex;overflow:hidden}.panel-header[data-v-455cfce2]{border-bottom:1px solid var(--border-default);-webkit-backdrop-filter:blur(8px);z-index:10;background:#ffffffe6;align-items:center;gap:8px;padding:12px 16px;display:flex;position:sticky;top:0}.panel-header h3[data-v-455cfce2]{font-size:14px;font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.sub-header[data-v-455cfce2]{padding:8px 12px}.back-btn[data-v-455cfce2]{color:var(--text-secondary);padding:4px}.panel-body[data-v-455cfce2]{flex:1;padding:8px 8px 12px;overflow-y:auto}.category-entry[data-v-455cfce2]{border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-standard);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:2px;padding:10px;display:flex}.category-entry[data-v-455cfce2]:hover{background:var(--bg-surface-hover);border-color:var(--border-default);transform:translate(2px)}.category-entry[data-v-455cfce2]:active{transform:scale(.98)}.cat-info[data-v-455cfce2]{flex-direction:column;flex:1;gap:1px;display:flex}.cat-name[data-v-455cfce2]{font-size:15px;font-weight:var(--font-semibold);color:var(--text-primary)}.cat-count[data-v-455cfce2]{color:var(--text-tertiary);font-size:11px}.cat-arrow[data-v-455cfce2]{color:var(--text-tertiary);flex-shrink:0;font-size:14px}.sub-items[data-v-455cfce2]{flex-direction:column;gap:4px;display:flex}.cat-arrow.expanded[data-v-455cfce2]{transform:rotate(90deg)}.acc-inline[data-v-455cfce2]{flex-direction:column;gap:6px;padding:0 4px 8px;display:flex}.acc-card[data-v-455cfce2]{background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--radius-md);overflow:hidden}.acc-card-img[data-v-455cfce2]{background:0 0;justify-content:center;align-items:center;width:100%;height:70px;padding:4px;display:flex}.acc-card-img img[data-v-455cfce2]{object-fit:contain;max-width:100%;max-height:100%}.acc-card-body[data-v-455cfce2]{flex-direction:column;gap:3px;padding:6px 8px;display:flex}.acc-card-name[data-v-455cfce2]{font-size:12px;font-weight:var(--font-semibold);color:var(--text-primary)}.acc-card-price[data-v-455cfce2]{color:#e6a23c;font-size:11px;font-weight:var(--font-semibold)}.canvas-stage[data-v-c9301d8e]{background:0 0;width:100%;height:100%;position:relative}.price-toggle[data-v-c9301d8e]{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);cursor:pointer;z-index:11;-webkit-user-select:none;user-select:none;transition:all var(--transition-fast);padding:4px 10px;font-size:12px;position:absolute;top:12px;right:12px}.price-toggle[data-v-c9301d8e]:hover{background:var(--bg-surface);border-color:var(--brand);box-shadow:var(--shadow-md)}.price-panel[data-v-c9301d8e]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);z-index:10;min-width:180px;max-height:360px;box-shadow:var(--shadow-xl);padding:12px 14px;position:absolute;top:12px;right:12px;overflow-y:auto}.price-title[data-v-c9301d8e]{font-weight:var(--font-semibold);color:var(--text-primary);margin-bottom:8px;font-size:13px}.close-hint[data-v-c9301d8e]{color:var(--text-placeholder);font-size:10px;font-weight:400}.price-list[data-v-c9301d8e]{flex-direction:column;gap:3px;display:flex}.price-row[data-v-c9301d8e]{justify-content:space-between;align-items:center;gap:16px;font-size:11px;display:flex}.price-name[data-v-c9301d8e]{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.price-value[data-v-c9301d8e]{color:#e6a23c;font-weight:var(--font-semibold);white-space:nowrap}.price-value.no-price[data-v-c9301d8e]{color:var(--text-placeholder);font-style:italic}.price-divider[data-v-c9301d8e]{background:var(--border-light);height:1px;margin:4px 0}.price-total[data-v-c9301d8e]{font-size:13px;font-weight:var(--font-bold);color:#f56c6c}.price-empty[data-v-c9301d8e]{color:var(--text-placeholder);text-align:center;padding:8px 0;font-size:11px}.screw-note[data-v-c9301d8e]{color:#909399;font-size:10px;font-weight:400}.prop-panel[data-v-c9301d8e]{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border);border-radius:var(--radius-lg);z-index:20;min-width:160px;box-shadow:var(--shadow-xl);padding:12px 14px;position:absolute;top:12px;left:12px}.prop-title[data-v-c9301d8e]{font-weight:var(--font-semibold);color:var(--text-primary);justify-content:space-between;align-items:center;margin-bottom:8px;font-size:13px;display:flex}.prop-close[data-v-c9301d8e]{cursor:pointer;color:var(--text-tertiary);font-size:16px;line-height:1}.prop-close[data-v-c9301d8e]:hover{color:var(--text-primary)}.prop-row[data-v-c9301d8e]{align-items:center;gap:6px;margin-bottom:4px;display:flex}.prop-label[data-v-c9301d8e]{color:var(--text-secondary);white-space:nowrap;min-width:44px;font-size:11px}.prop-val[data-v-c9301d8e]{color:var(--text-primary);font-size:11px}.prop-input[data-v-c9301d8e]{border:1px solid var(--border-default);border-radius:var(--radius-xs);width:72px;color:var(--text-primary);background:var(--bg-surface);transition:border-color var(--transition-fast);outline:none;padding:2px 6px;font-size:11px}.prop-input[data-v-c9301d8e]:focus{border-color:var(--brand)}.canvas-stage.mobile-ui[data-v-c9301d8e]{touch-action:none}.canvas-stage.mobile-ui .price-panel[data-v-c9301d8e]{min-width:148px;max-height:42vh;padding:8px 10px;top:8px;right:8px}.canvas-stage.mobile-ui .price-toggle[data-v-c9301d8e]{padding:3px 8px;font-size:11px;top:8px;right:8px}.canvas-stage.mobile-ui .prop-panel[data-v-c9301d8e]{min-width:138px;padding:8px 10px;top:8px;left:8px}.zoom-cluster[data-v-c9301d8e]{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(8px);z-index:12;box-shadow:var(--shadow-md);border-radius:999px;align-items:center;gap:4px;padding:3px 4px;display:flex;position:absolute;bottom:8px;right:8px}.zc-btn[data-v-c9301d8e]{color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-family:inherit;font-size:15px;transition:background .15s;display:flex}.zc-btn[data-v-c9301d8e]:active{background:#00000014}.zc-fit[data-v-c9301d8e]{background:var(--brand);color:#fff;border-radius:999px;width:auto;padding:0 10px;font-size:12px}.zc-val[data-v-c9301d8e]{color:var(--text-secondary);text-align:center;min-width:34px;font-size:11px}.mobile-comp-bar[data-v-c9301d8e]{background:var(--glass-bg);border:var(--glass-border);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-md);z-index:12;box-shadow:var(--shadow-md);flex-wrap:wrap;align-items:center;gap:6px;max-width:calc(100% - 16px);padding:5px 8px;display:flex;position:absolute;bottom:50px;right:8px}.mcb-name[data-v-c9301d8e]{font-size:12px;font-weight:var(--font-semibold);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.mcb-xy[data-v-c9301d8e]{align-items:center;gap:3px;display:flex}.mcb-val[data-v-c9301d8e]{color:var(--text-secondary);white-space:nowrap;font-size:11px}.mcb-btn[data-v-c9301d8e]{border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);border-radius:var(--radius-xs);cursor:pointer;justify-content:center;align-items:center;min-width:26px;height:26px;padding:0 6px;font-family:inherit;font-size:12px;display:flex}.mcb-btn[data-v-c9301d8e]:active{background:var(--bg-surface-hover)}.mcb-danger[data-v-c9301d8e]{color:#f56c6c;background:#fef0f0;border-color:#fbc4c4}.mcb-actions[data-v-c9301d8e]{gap:4px;display:flex}.multi-bar[data-v-c9301d8e]{z-index:20;border:1px solid var(--border-light);background:#fff;border-radius:20px;align-items:center;gap:10px;padding:6px 16px;display:flex;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000001a}.mb-count[data-v-c9301d8e]{color:var(--text-secondary);font-size:13px}.mb-btn[data-v-c9301d8e]{border:1px solid var(--border-light);cursor:pointer;background:#fff;border-radius:14px;padding:3px 14px;font-size:13px}.mb-btn[data-v-c9301d8e]:hover{border-color:var(--brand);color:var(--brand)}.mb-danger[data-v-c9301d8e]:hover{color:#f56c6c;border-color:#f56c6c}.design-canvas-wrapper[data-v-dcfb13b1]{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.canvas-container[data-v-dcfb13b1]{background-color:#f4f4f4;background-image:radial-gradient(circle,#d5d5d5 1px,#0000 1px);background-size:20px 20px;outline:none;flex:1;position:relative;overflow:hidden}.gap-controls[data-v-dcfb13b1]{background:var(--bg-surface);border-top:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:4px;padding:6px 10px;display:flex;overflow-x:auto}.gap-title[data-v-dcfb13b1]{color:var(--text-tertiary);white-space:nowrap;flex-shrink:0;margin-right:2px;font-size:11px}.gap-row[data-v-dcfb13b1]{background:var(--bg-app);border:1px solid var(--border-default);border-radius:var(--radius-sm);flex-shrink:0;align-items:center;gap:3px;padding:2px 4px 2px 6px;display:flex}.gap-label[data-v-dcfb13b1]{color:var(--text-secondary);font-size:10px;font-weight:var(--font-semibold);white-space:nowrap}.gap-row[data-v-dcfb13b1] .el-button{min-width:48px;padding-left:8px;padding-right:8px}.hint[data-v-1584fdea]{text-align:center;color:var(--text-tertiary);margin-bottom:16px;font-size:13px}.size-options[data-v-1584fdea]{grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px;display:grid}.size-card[data-v-1584fdea]{border:2px solid var(--border-default);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-standard);background:var(--bg-surface);flex-direction:column;align-items:center;padding:12px 4px;display:flex}.size-card[data-v-1584fdea]:hover{border-color:var(--brand);background:var(--brand-light);box-shadow:var(--shadow-md);transform:translateY(-2px)}.size-card[data-v-1584fdea]:active{transform:scale(.97)}.size-card.active[data-v-1584fdea]{border-color:var(--brand);background:var(--brand-light)}.size-val[data-v-1584fdea]{font-size:18px;font-weight:var(--font-bold);color:var(--text-primary)}.size-label[data-v-1584fdea]{color:var(--text-tertiary);margin-top:2px;font-size:10px}.custom-row[data-v-1584fdea]{color:var(--text-secondary);justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.saved-wrapper[data-v-40e8e35d]{background:var(--bg-app);flex-direction:column;width:100%;height:100%;display:flex;overflow:auto}.saved-header[data-v-40e8e35d]{background:var(--bg-surface);border-bottom:1px solid var(--border-default);align-items:center;gap:8px;padding:12px 16px;display:flex}.saved-header h2[data-v-40e8e35d]{color:var(--text-primary);margin:0;font-size:18px}.saved-body[data-v-40e8e35d]{flex:1;width:100%;max-width:800px;margin:0 auto;padding:20px}.saved-body h3[data-v-40e8e35d]{color:var(--text-secondary);margin:0 0 10px;font-size:14px}.file-grid[data-v-40e8e35d]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.design-card[data-v-40e8e35d]{background:var(--bg-surface);border-radius:var(--radius-lg);border:1px solid var(--border-default);cursor:pointer;transition:all var(--transition-standard);box-shadow:var(--shadow-xs);overflow:hidden}.design-card[data-v-40e8e35d]:hover{border-color:var(--brand);box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-preview[data-v-40e8e35d]{background-position:50%;background-size:cover;justify-content:center;align-items:center;height:100px;display:flex}.no-preview[data-v-40e8e35d]{color:var(--text-placeholder);font-size:12px}.card-info[data-v-40e8e35d]{padding:6px 10px 2px}.card-name[data-v-40e8e35d]{font-size:11px;font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.card-date[data-v-40e8e35d]{color:var(--text-placeholder);font-size:10px}.card-actions[data-v-40e8e35d]{justify-content:center;gap:4px;padding:0 8px 8px;display:flex}.file-list[data-v-40e8e35d]{flex-direction:column;gap:8px;display:flex}.file-item[data-v-40e8e35d]{background:var(--bg-surface);border-radius:var(--radius-md);border:1px solid var(--border-default);align-items:center;gap:10px;padding:10px 14px;display:flex}.file-icon[data-v-40e8e35d]{font-size:24px}.file-info[data-v-40e8e35d]{flex-direction:column;flex:1;display:flex}.file-name[data-v-40e8e35d]{color:var(--text-primary);font-size:13px}.file-date[data-v-40e8e35d]{color:var(--text-placeholder);font-size:10px}.header[data-v-7e1207e3]{border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;padding:16px 24px;display:flex}.header h2[data-v-7e1207e3]{font-size:18px;font-weight:var(--font-semibold);color:var(--text-primary);margin:0}.empty-hint[data-v-7e1207e3]{text-align:center;color:var(--text-tertiary);padding:48px 0;font-size:14px}.app-container[data-v-7c8097ef]{width:100%;height:100%;display:flex;position:relative}.panel-wrapper[data-v-7c8097ef]{background:var(--bg-surface);border-right:1px solid var(--border-default);z-index:200;flex-direction:column;width:220px;min-width:220px;display:flex;box-shadow:2px 0 8px #00000008}.saved-link[data-v-7c8097ef]{border-top:1px solid var(--border-default);color:var(--brand);cursor:pointer;text-align:center;background:var(--bg-app);font-size:13px;font-weight:var(--font-medium);transition:all var(--transition-standard);padding:10px 16px}.saved-link[data-v-7c8097ef]:hover{background:var(--bg-surface-hover)}.main-area[data-v-7c8097ef]{flex-direction:column;flex:1;min-width:0;display:flex}.main-content[data-v-7c8097ef]{flex:1;display:flex;position:relative;overflow:hidden}.main-content[data-v-7c8097ef]:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 50% 0,#8b691405 0%,#0000 60%);position:absolute;inset:0}.mobile-ui .panel-wrapper.left[data-v-7c8097ef]{z-index:900;width:min(72vw,320px);min-width:0;box-shadow:none;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.mobile-ui .panel-wrapper.left.open[data-v-7c8097ef]{transform:translate(0);box-shadow:4px 0 20px #00000026}.drawer-backdrop[data-v-7c8097ef]{z-index:890;background:#00000059;position:fixed;inset:0}.mobile-ui .panel-wrapper.left[data-v-7c8097ef] .left-panel{border-right:none;width:100%;min-width:0}*{box-sizing:border-box;margin:0;padding:0}:root{--brand:#8b6914;--brand-hover:#9b7920;--brand-active:#7a5c10;--brand-light:#f5f0e0;--brand-light-hover:#efe8d0;--text-primary:#1e1b16;--text-secondary:#6b6258;--text-tertiary:#a09888;--text-placeholder:#c0b8a8;--text-inverse:#fff;--bg-app:#faf9f7;--bg-surface:#fff;--bg-surface-hover:#f7f4ee;--bg-surface-raised:#fff;--bg-canvas:#e6e4df;--border-default:#e8e4dd;--border-light:#f0ede7;--border-lighter:#f5f3ef;--border-strong:#d8d2c8;--shadow-xs:0 1px 2px #0000000a;--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 6px #0000000d, 0 2px 4px #0000000a;--shadow-lg:0 10px 15px #0000000f, 0 4px 6px #0000000a;--shadow-xl:0 20px 25px #00000014, 0 8px 10px #0000000a;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--ease-out-fast:cubic-bezier(.16, 1, .3, 1);--ease-out-standard:cubic-bezier(.16, 1, .3, 1);--ease-out-slow:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--transition-fast:.12s var(--ease-out-fast);--transition-standard:.2s var(--ease-out-standard);--transition-slow:.35s var(--ease-out-slow);--transition-spring:.4s var(--ease-spring);--glass-bg:#ffffffb8;--glass-blur:saturate(180%) blur(16px);--glass-border:1px solid #0000000f;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--font-sans:"PingFang SC", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--text-xs:11px;--text-sm:12px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700}html,body,#app{width:100%;height:100%;font-family:var(--font-sans);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-app);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;overflow:hidden}.canvas-container{background:var(--bg-canvas);flex:1;position:relative;overflow:hidden}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}:root{--el-color-primary:var(--brand);--el-color-primary-light-3:#a8862e;--el-color-primary-light-5:#c4a85a;--el-color-primary-light-7:#e0cf96;--el-color-primary-light-8:#efe6c8;--el-color-primary-light-9:#f7f2e4;--el-color-primary-dark-2:#6f5410;--el-color-success:#5b8c5a;--el-color-warning:#c8913a;--el-color-danger:#c4563a;--el-color-info:#909399;--el-text-color-primary:var(--text-primary);--el-text-color-regular:#4a4238;--el-text-color-secondary:var(--text-secondary);--el-text-color-placeholder:var(--text-placeholder);--el-border-color:var(--border-default);--el-border-color-light:var(--border-light);--el-border-color-lighter:var(--border-lighter);--el-border-color-extra-light:#faf9f7;--el-border-color-dark:var(--border-strong);--el-bg-color:var(--bg-surface);--el-bg-color-page:var(--bg-app);--el-bg-color-overlay:var(--bg-surface);--el-border-radius-base:var(--radius-sm);--el-border-radius-small:var(--radius-xs);--el-border-radius-round:var(--radius-2xl);--el-box-shadow-light:var(--shadow-md);--el-box-shadow:var(--shadow-lg);--el-box-shadow-dark:var(--shadow-xl)}.el-overlay{-webkit-backdrop-filter:blur(4px);background-color:#0000004d!important}.el-dialog{border:1px solid var(--border-light);border-radius:var(--radius-xl)!important;box-shadow:var(--shadow-xl)!important}.el-dialog__header{border-bottom:1px solid var(--border-light);padding:20px 24px 12px}.el-dialog__title{font-weight:var(--font-semibold);color:var(--text-primary)}.el-dialog__body{padding:20px 24px}.el-dialog__footer{padding:12px 24px 20px}.el-button{transition:all var(--transition-standard);border-radius:var(--radius-sm);font-weight:var(--font-medium)}.el-button:active{transform:scale(.97)}.el-button--primary{--el-button-bg-color:var(--brand);--el-button-border-color:var(--brand);--el-button-hover-bg-color:var(--brand-hover);--el-button-hover-border-color:var(--brand-hover);--el-button-active-bg-color:var(--brand-active);--el-button-active-border-color:var(--brand-active)}.el-button--small{border-radius:var(--radius-xs)}.el-input__wrapper{box-shadow:0 0 0 1px var(--border-default) inset;transition:all var(--transition-fast);border-radius:var(--radius-sm)}.el-input__wrapper:hover{box-shadow:0 0 0 1px var(--text-tertiary) inset}.el-input.is-focus .el-input__wrapper,.el-input-number.is-focus .el-input__wrapper{box-shadow:0 0 0 1px var(--brand) inset!important}.el-input-number .el-input__wrapper,.el-select .el-input__wrapper{border-radius:var(--radius-sm)}.el-slider__bar{background-color:var(--brand)!important}.el-slider__button{box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-fast);border-color:var(--brand)!important}.el-slider__button:hover{box-shadow:var(--shadow-md)}.el-radio-button__inner{transition:all var(--transition-fast)}.el-radio-button__original-radio:checked+.el-radio-button__inner{background-color:var(--brand);border-color:var(--brand);box-shadow:-1px 0 0 0 var(--brand)}.el-tag{border-radius:var(--radius-xs);font-weight:var(--font-medium)}.el-table{--el-table-border-color:var(--border-light)}.el-table th.el-table__cell{background-color:var(--bg-app);color:var(--text-secondary);font-weight:var(--font-semibold);border-bottom:2px solid var(--border-default)}.el-table--striped .el-table__body tr.el-table__row--striped td.el-table__cell{background-color:#00000003}.el-table__body tr.el-table__row:hover>td.el-table__cell{background-color:var(--bg-surface-hover)!important}.el-popper.is-light{box-shadow:var(--shadow-lg)!important;border:1px solid var(--border-default)!important;border-radius:var(--radius-md)!important}.el-divider{border-color:var(--border-light)}.el-tooltip__popper{border-radius:var(--radius-sm)!important}.el-form-item__label{color:var(--text-secondary);font-weight:var(--font-medium)}.el-message-box{border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--border-light)}.el-color-picker__trigger{border:1px solid var(--border-default);border-radius:var(--radius-xs)}.el-loading-mask{-webkit-backdrop-filter:blur(2px)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body.mobile-ui .el-dialog{max-width:calc(100vw - 20px)!important;margin-top:6vh!important}body.mobile-ui .el-dialog.smart-design-dialog .el-dialog__body{max-height:56vh;overflow-y:auto}body.mobile-ui .el-message-box,body.mobile-ui .el-popover{max-width:calc(100vw - 20px)!important}body.mobile-ui .el-dropdown-menu{max-width:calc(100vw - 20px)}body.mobile-ui .el-popover{max-height:calc(100vh - 20px);overflow-y:auto}body.mobile-ui .ebar-length-popover .length-grid{grid-template-columns:repeat(4,1fr);gap:6px;padding:4px 0}body.mobile-ui .ebar-length-popover .length-card{border-width:1px;padding:8px 2px 4px}body.mobile-ui .ebar-length-popover .length-visual{min-height:24px;margin-bottom:2px;height:24px!important}body.mobile-ui .ebar-length-popover .length-label{font-size:12px}body.mobile-ui .ebar-length-popover .screw-hint{font-size:10px}body.mobile-ui .ebar-length-popover .self-buy-row{margin-top:2px;padding-top:4px}body.mobile-ui .ebar-length-popover .self-buy-row .el-checkbox__label{font-size:13px}
