.slider-row[data-v-dc71d587]{display:flex;flex-direction:column;gap:7px}.slider-header[data-v-dc71d587]{display:flex;justify-content:space-between;align-items:baseline}.slider-label[data-v-dc71d587]{font-size:13px;font-weight:500;color:var(--slider-label-color, #374151)}.slider-value[data-v-dc71d587]{font-size:13px;font-weight:700;color:var(--color-primary, #6366f1);min-width:42px;text-align:right}input[type=range][data-v-dc71d587]{width:100%;accent-color:var(--color-primary, #6366f1);cursor:pointer;height:4px}.slider-range[data-v-dc71d587]{display:flex;justify-content:space-between;font-size:11px;color:var(--slider-range-color, #9ca3af)}.app[data-v-7a7a37b1]{display:flex;flex-direction:column;min-height:100vh}.body[data-v-7a7a37b1]{display:flex;flex:1 0 calc(100vh - 52px - var(--history-dock-height));min-height:calc(100vh - 52px - var(--history-dock-height));overflow:hidden}.header[data-v-7a7a37b1]{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:52px;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0;gap:16px;transition:background var(--t-slow),border-color var(--t-slow)}.header-left[data-v-7a7a37b1]{display:flex;align-items:center;gap:28px;min-width:0}.logo[data-v-7a7a37b1]{font-family:var(--font-display);font-size:18px;font-weight:800;letter-spacing:.02em;white-space:nowrap;color:var(--color-text);line-height:1}.logo-dot[data-v-7a7a37b1]{color:var(--color-primary)}.logo-light[data-v-7a7a37b1]{font-weight:400}.nav-badge[data-v-7a7a37b1]{font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--color-primary-text);background:var(--color-primary-10);border:1px solid var(--color-primary-20);border-radius:var(--radius-pill);padding:3px 10px;white-space:nowrap}@keyframes logo-shine-7a7a37b1{0%{color:var(--color-text)}40%{color:var(--color-primary-text)}to{color:var(--color-text)}}.logo.shining[data-v-7a7a37b1]{animation:logo-shine-7a7a37b1 .7s ease-in-out forwards}.header-right[data-v-7a7a37b1]{display:flex;align-items:center;gap:8px;flex-shrink:0}.theme-switch[data-v-7a7a37b1]{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;border-radius:var(--radius-pill);flex-shrink:0}.ts-track[data-v-7a7a37b1]{width:40px;height:24px;border-radius:var(--radius-pill);background:var(--color-lift);border:1.5px solid var(--color-border-hi);position:relative;transition:background var(--t-base),border-color var(--t-base)}.ts-thumb[data-v-7a7a37b1]{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--color-text-muted);border:1px solid var(--color-border-hi);display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.4,0,.2,1),background var(--t-base);color:var(--color-bg);font-size:10px}.ts-icon-light[data-v-7a7a37b1]{display:none}.ts-icon-dark[data-v-7a7a37b1]{display:inline}html[data-theme=light] .ts-track[data-v-7a7a37b1]{background:var(--color-primary);border-color:var(--color-primary)}html[data-theme=light] .ts-thumb[data-v-7a7a37b1]{transform:translate(16px);background:#fff;border-color:transparent;color:var(--color-primary)}html[data-theme=light] .ts-icon-dark[data-v-7a7a37b1]{display:none}html[data-theme=light] .ts-icon-light[data-v-7a7a37b1]{display:inline}.status-chip[data-v-7a7a37b1]{font-size:11px;font-weight:600;letter-spacing:.3px;border:1px solid var(--color-border-hi);border-radius:var(--radius-pill);padding:4px 10px;color:var(--color-text-dim);background:var(--color-lift);white-space:nowrap}.status-chip--active[data-v-7a7a37b1]{color:var(--color-success);background:#22c55e1a;border-color:#22c55e40;cursor:pointer}.status-chip--active[data-v-7a7a37b1]:hover{opacity:.75}.pane-actions[data-v-7a7a37b1]{display:flex;align-items:center;gap:6px;padding:8px 14px;border-bottom:1px solid var(--color-border)}.btn-sm[data-v-7a7a37b1]{padding:5px 10px;font-size:12px}.btn[data-v-7a7a37b1]{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:var(--radius-sm);font-size:var(--fs-sm);font-weight:600;cursor:pointer;border:1.5px solid var(--color-border-hi);background:var(--color-lift);color:var(--color-text-mid);white-space:nowrap;text-decoration:none;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast),opacity var(--t-fast)}.btn input[type=file][data-v-7a7a37b1]{display:none}.btn[data-v-7a7a37b1]:disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.btn-ghost[data-v-7a7a37b1]{background:transparent;color:var(--color-text-mid)}.btn-ghost[data-v-7a7a37b1]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.btn-primary[data-v-7a7a37b1]{background:var(--color-grad);border:none;color:#fff;font-weight:800;box-shadow:0 2px 12px var(--color-primary-glow)}.btn-primary[data-v-7a7a37b1]:hover:not(:disabled){opacity:.85}.btn-primary[data-v-7a7a37b1]:disabled{background:var(--color-lift);color:var(--color-text-dim);border:1.5px solid var(--color-border-hi);box-shadow:none}.btn-icon[data-v-7a7a37b1]{padding:6px 10px;position:relative}.btn-icon[data-v-7a7a37b1]:hover{border-color:var(--color-text-muted);color:var(--color-text)}.color-input[data-v-7a7a37b1]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.color-swatch[data-v-7a7a37b1]{width:11px;height:11px;border-radius:var(--radius-pill);border:1.5px solid rgba(128,128,128,.35);flex-shrink:0;display:inline-block}.viewer[data-v-7a7a37b1]{flex:7;display:flex;flex-direction:column;overflow:hidden;background:var(--color-surface);transition:background .2s}.tab-bar[data-v-7a7a37b1]{display:flex;align-items:center;justify-content:space-between;padding:0 10px;gap:8px;height:38px;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-shrink:0;transition:background var(--t-slow),border-color var(--t-slow)}.tab-list[data-v-7a7a37b1]{display:flex;align-items:flex-end;gap:2px;height:100%;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0}.tab-list[data-v-7a7a37b1]::-webkit-scrollbar{display:none}.tab-info[data-v-7a7a37b1]{display:flex;align-items:center;gap:5px;flex-shrink:0;padding-left:8px;border-left:1px solid var(--color-border)}.tab[data-v-7a7a37b1]{display:inline-flex;align-items:center;gap:7px;padding:0 12px;height:30px;border:1px solid transparent;border-bottom:none;background:var(--color-lift);cursor:pointer;border-radius:5px 5px 0 0;flex-shrink:0;transition:background .15s}.tab[data-v-7a7a37b1]:hover{background:var(--color-lift)}.tab.active[data-v-7a7a37b1]{background:var(--color-surface);border-color:var(--color-border)}.tab-label[data-v-7a7a37b1]{font-size:12px;font-weight:500;color:var(--color-text-dim);transition:color .15s}.tab.active .tab-label[data-v-7a7a37b1]{color:var(--color-text)}.tab-close[data-v-7a7a37b1]{font-size:14px;line-height:1;color:var(--color-text-dim);padding:1px 3px;border-radius:3px;transition:color .12s,background .12s}.tab-close[data-v-7a7a37b1]:hover{color:#f87171;background:#f8717126}.image-area[data-v-7a7a37b1]{flex:1;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;background-color:var(--color-surface);background-image:linear-gradient(var(--color-grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--color-grid-line) 1px,transparent 1px);background-size:28px 28px;transition:background-color .2s}.image-bg-wrap[data-v-7a7a37b1]{display:inline-block;max-width:100%;border-radius:3px;line-height:0;position:relative;box-shadow:var(--shadow-lg);transition:box-shadow .2s}.pick-cursor[data-v-7a7a37b1]{cursor:crosshair!important}.focal-marker[data-v-7a7a37b1]{position:absolute;width:14px;height:14px;border-radius:var(--radius-pill);background:#6366f1d9;border:2px solid #fff;box-shadow:0 0 0 1.5px #00000059,0 2px 6px #0006;transform:translate(-50%,-50%);pointer-events:none}.pick-hint[data-v-7a7a37b1]{position:absolute;bottom:16px;left:50%;transform:translate(-50%);background:#0f172ad1;color:#e2e8f0;font-size:12px;padding:6px 14px;border-radius:20px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);white-space:nowrap;pointer-events:none;border:1px solid rgba(255,255,255,.1)}.pick-hint kbd[data-v-7a7a37b1]{font-family:inherit;font-size:11px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:1px 5px}.viewer-img[data-v-7a7a37b1]{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100vh - 52px - 38px - var(--history-dock-height));border-radius:3px}.info-chip[data-v-7a7a37b1]{font-size:11px;font-weight:500;color:var(--color-text);white-space:nowrap;transition:color var(--t-slow)}.info-sep[data-v-7a7a37b1]{font-size:11px;color:var(--color-text-dim);transition:color var(--t-slow)}.info-dims[data-v-7a7a37b1],.info-size[data-v-7a7a37b1]{font-size:11px;color:var(--color-text-dim);white-space:nowrap;font-variant-numeric:tabular-nums;transition:color var(--t-slow)}.loading-overlay[data-v-7a7a37b1]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:var(--color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:10;transition:background .2s}.loading-text[data-v-7a7a37b1]{font-size:13px;font-weight:500;color:var(--color-text-dim);letter-spacing:.2px}.spinner-lg[data-v-7a7a37b1]{width:34px;height:34px;border:2.5px solid var(--color-primary-dim);border-top-color:var(--color-primary);border-radius:var(--radius-pill);animation:spin-7a7a37b1 .65s linear infinite}.image-area.drag-over[data-v-7a7a37b1]{outline:2px dashed rgba(124,107,247,.6);outline-offset:-8px;background-color:#7c6bf70a!important}.image-area.drag-over .empty-icon[data-v-7a7a37b1]{color:#7c6bf7}.image-area[data-v-7a7a37b1]:not(:has(.image-bg-wrap)){cursor:pointer}.empty-state[data-v-7a7a37b1]{display:flex;flex-direction:column;align-items:center;gap:10px;-webkit-user-select:none;user-select:none}.empty-icon-wrap[data-v-7a7a37b1]{width:80px;height:80px;border-radius:20px;border:1.5px dashed var(--color-border-hi);display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s;margin-bottom:4px}.empty-icon-wrap.drag-active[data-v-7a7a37b1]{border-color:#7c6bf7;background:#7c6bf712}.empty-icon[data-v-7a7a37b1]{width:40px;height:40px;color:var(--color-border-hi);transition:color var(--t-slow)}.empty-icon-wrap.drag-active .empty-icon[data-v-7a7a37b1]{color:#7c6bf7}.empty-title[data-v-7a7a37b1]{font-size:15px;font-weight:600;color:var(--color-text-dim);transition:color var(--t-slow)}.empty-sub[data-v-7a7a37b1]{font-size:12.5px;color:var(--color-text-dim);transition:color var(--t-slow);pointer-events:auto}.empty-browse-link[data-v-7a7a37b1]{color:#9d8ff5;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.empty-browse-link[data-v-7a7a37b1]:hover{color:#c4b5fd}.empty-ken2-hint[data-v-7a7a37b1]{display:flex;align-items:center;gap:6px;margin-top:8px;padding:8px 14px;border-radius:var(--radius-md);background:var(--color-lift);border:1px solid var(--color-border-hi);pointer-events:none}.ekh-step[data-v-7a7a37b1]{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--color-text-dim);white-space:nowrap}.ekh-num[data-v-7a7a37b1]{width:16px;height:16px;border-radius:var(--radius-pill);background:#7c6bf726;color:#c4b5fd;font-size:9.5px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.params-pane[data-v-7a7a37b1]{flex:3;display:flex;flex-direction:column;position:relative;background:radial-gradient(ellipse 160% 70% at 115% 108%,var(--color-primary-20) 0%,transparent 65%),radial-gradient(ellipse 70% 45% at -10% -5%,rgba(196,181,253,.06) 0%,transparent 60%),var(--color-surface);border-left:1px solid var(--color-border);overflow:hidden;transition:background var(--t-slow),border-color var(--t-slow)}.pane-decoration[data-v-7a7a37b1]{position:absolute;bottom:0;right:0;width:88%;height:auto;pointer-events:none;overflow:visible}.params-header[data-v-7a7a37b1]{border-bottom:1px solid var(--color-border);flex-shrink:0;transition:border-color .2s}.pane-tab-bar[data-v-7a7a37b1]{border-bottom:none}.effect-desc[data-v-7a7a37b1]{font-size:12px;color:var(--color-text-muted);line-height:1.5;padding:10px 16px 13px;transition:color var(--t-slow)}.template-grid[data-v-7a7a37b1]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.template-card[data-v-7a7a37b1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:16 / 10;border:1px solid var(--color-border-hi);background:var(--color-lift);color:var(--color-text-mid);border-radius:var(--radius-md);cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s}.template-card[data-v-7a7a37b1]:hover:not(:disabled){background:var(--color-border);color:var(--color-text);border-color:#7c6bf759;transform:translateY(-2px)}.template-card.active[data-v-7a7a37b1]{background:#7c6bf724;color:#c4b5fd;border-color:#7c6bf780;box-shadow:0 0 0 1px #7c6bf72e}.template-card[data-v-7a7a37b1]:disabled{opacity:.35;cursor:not-allowed}.tpl-icon[data-v-7a7a37b1]{width:36px;height:36px;flex-shrink:0}.tpl-label[data-v-7a7a37b1]{font-size:11.5px;font-weight:500;line-height:1}.advanced-toggle[data-v-7a7a37b1]{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--color-text-dim);font-size:12px;font-weight:500;cursor:pointer;padding:2px 0;transition:color .15s;align-self:flex-start}.advanced-toggle[data-v-7a7a37b1]:hover{color:var(--color-text)}.params-body[data-v-7a7a37b1]{flex:1;overflow-y:auto;padding:18px 22px;display:flex;flex-direction:column;gap:18px;--slider-label-color: var(--color-text-muted);--slider-range-color: var(--color-text-dim)}.section-divider[data-v-7a7a37b1]{height:1px;background:var(--color-border);margin:2px 0;transition:background .2s}.pick-point-btn[data-v-7a7a37b1]{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:100%;padding:7px 12px;border-radius:var(--radius-sm);font-size:12.5px;font-weight:500;cursor:pointer;background:var(--color-lift);color:var(--color-text-mid);border:1px solid var(--color-border-hi);transition:background var(--t-base),color var(--t-base),border-color var(--t-base)}.pick-point-btn[data-v-7a7a37b1]:hover:not(:disabled){background:var(--color-border);color:var(--color-text)}.pick-point-btn.active[data-v-7a7a37b1]{background:#6366f126;color:#c4b5fd;border-color:#6366f166}.pick-point-btn[data-v-7a7a37b1]:disabled{opacity:.4;cursor:not-allowed}.ken2-stepper[data-v-7a7a37b1]{display:flex;align-items:center;gap:0}.ken2-step[data-v-7a7a37b1]{display:flex;align-items:center;gap:5px;flex-shrink:0}.step-dot[data-v-7a7a37b1]{width:20px;height:20px;border-radius:var(--radius-pill);border:1.5px solid var(--color-border-hi);background:var(--color-lift);color:var(--color-text-dim);font-size:10px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s,color .2s;flex-shrink:0}.ken2-step.active .step-dot[data-v-7a7a37b1]{background:#6366f12e;border-color:#6366f18c;color:#c4b5fd}.ken2-step.done .step-dot[data-v-7a7a37b1]{background:#4ac87826;border-color:#4ac87880;color:#4ac878}.step-label[data-v-7a7a37b1]{font-size:11px;font-weight:500;color:var(--color-text-dim);transition:color var(--t-slow)}.ken2-step.active .step-label[data-v-7a7a37b1]{color:#c4b5fd}.ken2-step.done .step-label[data-v-7a7a37b1]{color:var(--color-text)}.step-connector[data-v-7a7a37b1]{flex:1;height:1px;background:var(--color-border-hi);margin:0 5px;transition:background .2s}.step-connector.filled[data-v-7a7a37b1]{background:#4ac87880}.ken2-draw-cta[data-v-7a7a37b1]{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border-radius:var(--radius-md);border:1.5px dashed rgba(74,200,120,.45);background:#4ac8780f;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s;text-align:left}.ken2-draw-cta[data-v-7a7a37b1]:hover:not(:disabled){border-color:#4ac878bf;background:#4ac8781a;box-shadow:0 0 0 3px #4ac87814}.ken2-draw-cta[data-v-7a7a37b1]:disabled{opacity:.35;cursor:not-allowed}.ken2-draw-cta.end-cta[data-v-7a7a37b1]{border-color:#6366f166;background:#6366f10f}.ken2-draw-cta.end-cta[data-v-7a7a37b1]:hover:not(:disabled){border-color:#6366f1b3;background:#6366f11a;box-shadow:0 0 0 3px #6366f114}.ken2-cta-icon[data-v-7a7a37b1]{width:38px;height:38px;border-radius:var(--radius-md);background:#4ac87824;color:#4ac878;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ken2-cta-icon.end-icon[data-v-7a7a37b1]{background:#6366f124;color:#c4b5fd}.ken2-cta-body[data-v-7a7a37b1]{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.ken2-cta-title[data-v-7a7a37b1]{font-size:13px;font-weight:700;color:var(--color-text)}.ken2-cta-sub[data-v-7a7a37b1]{font-size:11px;color:var(--color-text-dim)}.ken2-cta-arrow[data-v-7a7a37b1]{color:var(--color-text-dim);flex-shrink:0;opacity:.6}.ken2-drawing-active[data-v-7a7a37b1]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);border:1.5px solid rgba(99,102,241,.4);background:#6366f112;font-size:12px;color:#c4b5fd}.ken2-drawing-active.start-active[data-v-7a7a37b1]{border-color:#4ac87866;background:#4ac87812;color:#4ac878}.kda-dot[data-v-7a7a37b1]{width:7px;height:7px;border-radius:var(--radius-pill);background:currentColor;flex-shrink:0;animation:kda-pulse-7a7a37b1 1s ease-in-out infinite}@keyframes kda-pulse-7a7a37b1{0%,to{opacity:1}50%{opacity:.35}}.ken2-drawing-active span[data-v-7a7a37b1]{flex:1}.ken2-card-cancel[data-v-7a7a37b1]{padding:4px 10px;border-radius:5px;font-size:11.5px;font-weight:500;background:none;color:var(--color-text-dim);border:1px solid var(--color-border-hi);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s;flex-shrink:0}.ken2-card-cancel[data-v-7a7a37b1]:hover{color:#f87171;border-color:#f8717166}.ken2-ready[data-v-7a7a37b1]{display:flex;align-items:center;gap:6px;padding:9px 12px;border-radius:var(--radius-md);border:1px solid rgba(74,200,120,.3);background:#4ac87812;font-size:12px;font-weight:500;color:#4ac878;flex-wrap:wrap}.ken2-change-links[data-v-7a7a37b1]{display:flex;align-items:center;gap:4px;margin-left:auto}.ken2-change-sep[data-v-7a7a37b1]{color:var(--color-text-dim);font-size:11px}.ken2-change-btn[data-v-7a7a37b1]{background:none;border:none;padding:0;font-size:11px;color:var(--color-text-dim);cursor:pointer;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.ken2-change-btn[data-v-7a7a37b1]:hover{color:var(--color-text)}.ken2-arrow-svg[data-v-7a7a37b1]{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.ken2-canvas-nudge[data-v-7a7a37b1]{position:absolute;bottom:18px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:8px 16px 8px 12px;border-radius:24px;background:#0f172ac7;color:#cbd5e1;font-size:12.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(165,180,252,.2);cursor:crosshair;white-space:nowrap;box-shadow:0 4px 16px #00000040;animation:nudge-in-7a7a37b1 .25s ease-out;z-index:4}.ken2-canvas-nudge svg[data-v-7a7a37b1]{color:#c4b5fd;flex-shrink:0}.ken2-canvas-nudge strong[data-v-7a7a37b1]{color:#c4b5fd}@keyframes nudge-in-7a7a37b1{0%{opacity:0;transform:translate(-50%) translateY(6px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.ken2-draw-overlay[data-v-7a7a37b1]{position:absolute;bottom:20px;left:50%;transform:translate(-50%);pointer-events:none;z-index:5}.ken2-draw-card[data-v-7a7a37b1]{display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:24px;background:#0f172adb;color:#e2e8f0;font-size:12.5px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(165,180,252,.25);white-space:nowrap;box-shadow:0 4px 18px #0000004d}.ken2-draw-step[data-v-7a7a37b1]{font-size:10.5px;font-weight:700;color:#c4b5fd;background:#6366f140;border-radius:var(--radius-md);padding:2px 7px;letter-spacing:.3px}.ken2-draw-msg[data-v-7a7a37b1]{font-size:12.5px}.ken2-draw-msg strong[data-v-7a7a37b1]{color:#c4b5fd}.ken2-draw-card kbd[data-v-7a7a37b1]{font-family:inherit;font-size:11px;background:#ffffff1f;border:1px solid rgba(255,255,255,.18);border-radius:4px;padding:1px 5px}.rect-overlay[data-v-7a7a37b1]{position:absolute;pointer-events:none;box-sizing:border-box}.rect-start[data-v-7a7a37b1]{border:2px solid rgba(74,200,120,.9);background:#4ac87814}.rect-end[data-v-7a7a37b1]{border:2px solid rgba(99,102,241,.9);background:#6366f114}.rect-live[data-v-7a7a37b1]{border:2px dashed rgba(250,200,50,.9);background:#fac8320f}.rect-label[data-v-7a7a37b1]{position:absolute;top:3px;left:3px;font-size:10px;font-weight:700;line-height:1;padding:1px 5px;border-radius:3px;background:#00000073;color:#fff;letter-spacing:.3px}.toggle-row[data-v-7a7a37b1]{display:flex;align-items:center;gap:10px}.toggle-lbl[data-v-7a7a37b1]{font-size:12.5px;font-weight:500;color:var(--color-text-muted);min-width:46px}.toggle-switch[data-v-7a7a37b1]{position:relative;display:inline-block;width:34px;height:18px;cursor:pointer;flex-shrink:0}.toggle-switch input[data-v-7a7a37b1]{opacity:0;width:0;height:0;position:absolute}.toggle-knob[data-v-7a7a37b1]{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid var(--color-border-hi);background:var(--color-lift);border-radius:20px;transition:background var(--t-slow),border-color var(--t-slow)}.toggle-knob[data-v-7a7a37b1]:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;border-radius:var(--radius-pill);background:var(--color-text-mid);transition:transform .2s,background .2s}.toggle-switch input:checked+.toggle-knob[data-v-7a7a37b1]{background:#6366f14d;border-color:#6366f180}.toggle-switch input:checked+.toggle-knob[data-v-7a7a37b1]:after{transform:translate(16px);background:#c4b5fd}.toggle-val[data-v-7a7a37b1]{font-size:12.5px;color:var(--color-text-dim);min-width:44px}.params-footer[data-v-7a7a37b1]{padding:14px 22px 18px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:8px;flex-shrink:0;transition:border-color .2s}.error-msg[data-v-7a7a37b1]{font-size:12px;color:#ef4444;padding:8px 11px;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;line-height:1.4}.generate-btn[data-v-7a7a37b1]{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:9px;background:var(--color-grad);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;cursor:pointer;letter-spacing:.15px;transition:opacity var(--t-fast),transform var(--t-fast),box-shadow var(--t-fast);box-shadow:0 2px 12px var(--color-primary-glow);position:relative;overflow:hidden}.btn-text[data-v-7a7a37b1]{pointer-events:none}.generate-btn[data-v-7a7a37b1]:hover:not(:disabled){opacity:.92;box-shadow:0 4px 18px var(--color-primary-glow)}.generate-btn[data-v-7a7a37b1]:active:not(:disabled){transform:scale(.985)}.generate-btn[data-v-7a7a37b1]:disabled{background:var(--color-lift);color:var(--color-text-dim);cursor:not-allowed;box-shadow:none}.generate-btn.loading[data-v-7a7a37b1]{cursor:wait}.spinner[data-v-7a7a37b1]{width:15px;height:15px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-pill);animation:spin-7a7a37b1 .65s linear infinite}.hint[data-v-7a7a37b1]{text-align:center;font-size:11.5px;color:var(--color-text-dim);transition:color var(--t-slow)}@keyframes spin-7a7a37b1{to{transform:rotate(360deg)}}@keyframes btn-fx-wave-7a7a37b1{0%{background-position:150% center}to{background-position:-50% center}}.generate-btn.fx-wave[data-v-7a7a37b1]{background:linear-gradient(90deg,#7c6bf7,#c4b5fd,#c4146e,#c4b5fd,#6457f0);background-size:300% 100%;animation:btn-fx-wave-7a7a37b1 .55s ease-out forwards}@keyframes btn-fx-blur-7a7a37b1{0%{filter:blur(0px);opacity:1}45%{filter:blur(6px);opacity:.4}to{filter:blur(0px);opacity:1}}.generate-btn.fx-blur .btn-text[data-v-7a7a37b1]{animation:btn-fx-blur-7a7a37b1 .5s ease-in-out}@keyframes btn-fx-slide-7a7a37b1{0%{transform:translate(0);opacity:1}38%{transform:translate(115%);opacity:0}39%{transform:translate(-115%);opacity:0}to{transform:translate(0);opacity:1}}.generate-btn.fx-slide .btn-text[data-v-7a7a37b1]{display:inline-block;animation:btn-fx-slide-7a7a37b1 .52s cubic-bezier(.4,0,.2,1)}@keyframes btn-fx-shake-7a7a37b1{0%,to{transform:translate(0)}15%{transform:translate(-5px)}30%{transform:translate(5px)}45%{transform:translate(-4px)}60%{transform:translate(4px)}75%{transform:translate(-2px)}90%{transform:translate(2px)}}.generate-btn.fx-shake[data-v-7a7a37b1]{animation:btn-fx-shake-7a7a37b1 .45s ease-in-out}@keyframes btn-fx-pulse-7a7a37b1{0%,to{transform:scale(1);box-shadow:0 2px 12px #7c6bf759}30%{transform:scale(1.06);box-shadow:0 5px 24px #7c6bf799}65%{transform:scale(.97);box-shadow:0 1px 8px #7c6bf733}}.generate-btn.fx-pulse[data-v-7a7a37b1]{animation:btn-fx-pulse-7a7a37b1 .55s ease-in-out}@keyframes btn-fx-glitch-7a7a37b1{0%,to{transform:translate(0);filter:none}20%{transform:translate(-3px,1px);filter:hue-rotate(60deg) saturate(2)}40%{transform:translate(3px,-1px);filter:hue-rotate(-60deg) saturate(2)}60%{transform:translate(-2px,2px);filter:hue-rotate(120deg) brightness(1.25)}80%{transform:translate(2px,-2px);filter:hue-rotate(-120deg) brightness(.9)}}.generate-btn.fx-glitch[data-v-7a7a37b1]{animation:btn-fx-glitch-7a7a37b1 .38s steps(1)}@keyframes btn-fx-shine-7a7a37b1{0%{transform:translate(-120%) skew(-18deg)}to{transform:translate(260%) skew(-18deg)}}.generate-btn.fx-shine[data-v-7a7a37b1]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;width:50%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.42),transparent);animation:btn-fx-shine-7a7a37b1 .52s ease-in;pointer-events:none}:root{--font-display: "Anta", "Montserrat", sans-serif;--font-body: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, "SFMono-Regular", "SF Mono", Consolas, "Liberation Mono", Menlo, monospace;--fs-xs: 11px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2rem;--space-5: 3rem;--space-6: 4rem;--space-7: 6rem;--space-8: 8rem;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-pill: 999px;--t-fast: .15s ease;--t-base: .25s ease;--t-slow: .35s ease;--color-black: #000000;--color-white: #ffffff}:root,html[data-theme=dark]{color-scheme:dark;--color-bg: #0c0c0e;--color-surface: #111115;--color-lift: #18181e;--color-border: #222228;--color-border-hi: #2e2e38;--color-text: #f0f0f8;--color-text-mid: #d0d0e0;--color-text-muted: #a8b0c8;--color-text-dim: #9098b2;--color-primary: #7c6bf7;--color-primary-hi: #7b2ff7;--color-primary-dim: rgba(155, 31, 232, .12);--color-primary-glow: rgba(124, 107, 247, .25);--color-primary-10: rgba(124, 107, 247, .1);--color-primary-20: rgba(124, 107, 247, .2);--color-primary-text: #c4b5fd;--color-secondary: #c4146e;--color-success: #22c55e;--color-danger: #e05060;--color-grad: linear-gradient(90deg, var(--color-primary), var(--color-primary-hi), var(--color-secondary));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .6);--color-overlay: rgba(12, 12, 14, .85);--color-grid-line: rgba(255, 255, 255, .025)}html[data-theme=light]{color-scheme:light;--color-bg: #f6f7fb;--color-surface: #ffffff;--color-lift: #eef1f8;--color-border: #dbe1ee;--color-border-hi: #c2ccdf;--color-text: #0f1a2f;--color-text-mid: #354260;--color-text-muted: #52607a;--color-text-dim: #6a7588;--color-primary: #2b63ff;--color-primary-hi: #00a3ff;--color-primary-dim: rgba(43, 99, 255, .1);--color-primary-glow: rgba(43, 99, 255, .2);--color-primary-10: rgba(43, 99, 255, .1);--color-primary-20: rgba(43, 99, 255, .2);--color-primary-text: #1f4ed8;--color-secondary: #ff4d7a;--color-success: #16a34a;--color-danger: #dc2626;--color-grad: linear-gradient(90deg, var(--color-primary), var(--color-primary-hi), var(--color-secondary));--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 30px rgba(0, 0, 0, .14);--color-overlay: rgba(246, 247, 251, .88);--color-grid-line: rgba(0, 0, 0, .06)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);line-height:1.6}.dyno-logo{font-family:var(--font-display);font-size:1.375rem;font-weight:800;letter-spacing:.02em;color:var(--color-text);text-decoration:none}.dyno-logo-dot{color:var(--color-primary)}.dyno-logo-sub{font-weight:400}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 22px;font-family:var(--font-body);font-size:var(--fs-sm);font-weight:700;line-height:1;border:none;border-radius:var(--radius-sm);cursor:pointer;text-decoration:none;transition:opacity var(--t-base),transform var(--t-base),box-shadow var(--t-base);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--color-grad);color:#fff;box-shadow:0 0 24px var(--color-primary-glow)}.btn-primary:hover:not(:disabled){opacity:.88;transform:translateY(-1px);box-shadow:0 0 36px var(--color-primary-glow)}.btn-primary:active:not(:disabled){transform:translateY(0);opacity:1}.btn-ghost{background:transparent;color:var(--color-text-mid);border:1.5px solid var(--color-border-hi)}.btn-ghost:hover:not(:disabled){border-color:var(--color-text-muted);color:var(--color-text)}.btn-sm{padding:7px 14px;font-size:var(--fs-xs);border-radius:var(--radius-xs)}.btn-lg{padding:14px 32px;font-size:var(--fs-base)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px}:root{--bg0: var(--color-bg);--bg1: var(--color-surface);--text0: var(--color-text);--text1: var(--color-text-mid);--text2: var(--color-text-muted);--border0: var(--color-border);--border1: var(--color-border-hi);--radius0: var(--radius-md);--radius1: var(--radius-lg);--space1: 6px;--space2: 10px;--space3: 14px;--space4: 18px;--space5: 24px;--space6: 32px;--history-bar-height: 56px;--history-row-height: 148px;--history-dock-height: calc(var(--history-bar-height) + var(--history-row-height))}html,body{margin:0;min-height:100%}#app{min-height:100%}.muted{color:var(--color-text-muted)}.isHidden{display:none!important}.isDisabled{pointer-events:none;opacity:.55}.badge{font-size:11px;font-weight:600;border:1px solid var(--color-border-hi);border-radius:var(--radius-pill);padding:4px 10px;color:var(--color-text-dim);background:var(--color-lift);white-space:nowrap}.badge--ok{color:var(--color-success);background:#22c55e1a;border-color:#22c55e40}.badge--admin{color:#a78bfa;background:#7c3aed1a;border-color:#7c3aed40}.badge--logout{cursor:pointer}.badge--logout:hover{opacity:.75}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:12px;font-weight:650;color:var(--color-text-mid)}.field__control{width:100%;padding:10px 12px;border-radius:var(--radius-md);border:1px solid var(--color-border-hi);background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:var(--fs-base);outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 16px;border-radius:var(--radius-sm);border:1.5px solid var(--color-border-hi);background:var(--color-lift);color:var(--color-text-mid);font-family:var(--font-body);font-size:var(--fs-sm);font-weight:600;text-decoration:none;cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--color-grad);border:none;color:#fff;font-weight:800;box-shadow:0 2px 12px var(--color-primary-glow)}.btn--ghost{background:transparent;color:var(--color-text-mid)}.btn--ghost:hover{border-color:var(--color-text-muted);color:var(--color-text)}.statusLine{font-size:13px;color:var(--color-text-muted)}.statusLine--ok{color:var(--color-success);font-weight:600}.statusLine--error{color:var(--color-danger);font-weight:600}.copyRow{display:flex;gap:var(--space2);align-items:stretch}.urlBar{display:flex;align-items:center;flex:1;min-width:0;border:1px solid var(--color-border-hi);border-radius:var(--radius-md);background:var(--color-bg)}.urlBar .urlBar__input{flex:1;min-width:0;border:none;background:transparent;padding:10px 8px 10px 12px;cursor:pointer}.urlBar__copy{background:none;border:none;padding:8px 10px;cursor:pointer;color:var(--color-text-muted)}.copyRow>.btn{flex-shrink:0;width:42px;padding:0}.history-panel{flex-shrink:0;min-height:var(--history-dock-height);display:flex;flex-direction:column;background:var(--color-bg);border-top:1px solid var(--color-border)}.history-slot{min-height:var(--history-row-height);flex-shrink:0}.history-slot .genLog{padding:0 var(--space5) var(--space5)}.history-slot .genLog__list{gap:var(--space2)}.genLog{display:flex;flex-direction:column;gap:var(--space3)}.genLog__hint{margin:0;font-size:13px;line-height:1.45}.genLog__list{display:flex;flex-direction:column;gap:var(--space2);min-height:0}.genLog__footer{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space3)}.genLogRow{display:flex;flex-direction:column;gap:var(--space2);padding:var(--space3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.genLogRow__caption{font-size:12px;line-height:1.4;word-break:break-word}.genLogRow__expiry{display:block;margin-top:3px;color:var(--color-warning);font-size:var(--fs-xs);font-weight:500}.genLogRow__expiry--expired{color:var(--color-danger)}.genLogRow__body{display:grid;grid-template-columns:minmax(140px,220px) minmax(0,1fr);gap:var(--space4);align-items:start}.genLogRow__preview{border-radius:var(--radius1);border:1px solid var(--color-border);background:var(--color-lift);aspect-ratio:16 / 9;overflow:hidden;display:grid;place-items:center;min-height:72px;position:relative}.genLogRow__preview img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block}.genLogRow__previewEmpty{color:var(--color-text-muted);font-size:12px;padding:var(--space2);text-align:center}.genLogRow__metaCol{min-width:0;display:flex;flex-direction:column;gap:var(--space3)}.genLogWlList{display:flex;flex-direction:column;gap:var(--space2)}.genLogWlLine{font-size:13px;word-break:break-word}.genLogWlLine a{color:var(--color-primary);font-weight:500}.genLogWlStatus{font-weight:400}.history-card{padding:0;overflow:hidden}.history-summary{display:flex;align-items:center;gap:var(--space2);height:var(--history-bar-height);min-height:var(--history-bar-height);padding:0 var(--space5);margin:0;cursor:pointer;font-weight:650;color:var(--color-text-mid);-webkit-user-select:none;user-select:none;background:var(--color-bg);border:none;width:100%;text-align:left;font-family:inherit;font-size:inherit;box-sizing:border-box;flex-shrink:0}.history-summary>span:first-child{flex:1}.history-count{font-size:11px;font-weight:700;padding:2px 8px;border-radius:var(--radius-pill);background:var(--color-primary-dim);color:var(--color-primary-text);border:1px solid var(--color-primary-20)}.history-chevron{font-size:18px;color:var(--color-text-dim);flex-shrink:0;transition:transform var(--t-base)}.history-panel.is-open .history-chevron{transform:rotate(180deg)}@media (max-width: 860px){.genLogRow__body{grid-template-columns:1fr}}.confirmModal{border:1px solid var(--border0);border-radius:var(--radius1);padding:var(--space5);min-width:280px;max-width:420px;background:var(--bg1);color:var(--text0);margin:auto}.confirmModal::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006}.confirmModal__message{margin:0 0 var(--space5)}.confirmModal__actions{display:flex;gap:var(--space2);justify-content:flex-end}
