:root,:host{--fa-font-solid: normal 900 1em/1 "Font Awesome 7 Free";--fa-font-regular: normal 400 1em/1 "Font Awesome 7 Free";--fa-font-light: normal 300 1em/1 "Font Awesome 7 Pro";--fa-font-thin: normal 100 1em/1 "Font Awesome 7 Pro";--fa-font-duotone: normal 900 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-light: normal 300 1em/1 "Font Awesome 7 Duotone";--fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 7 Duotone";--fa-font-brands: normal 400 1em/1 "Font Awesome 7 Brands";--fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-light: normal 300 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 7 Sharp";--fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 7 Sharp Duotone";--fa-font-slab-regular: normal 400 1em/1 "Font Awesome 7 Slab";--fa-font-slab-press-regular: normal 400 1em/1 "Font Awesome 7 Slab Press";--fa-font-whiteboard-semibold: normal 600 1em/1 "Font Awesome 7 Whiteboard";--fa-font-thumbprint-light: normal 300 1em/1 "Font Awesome 7 Thumbprint";--fa-font-notdog-solid: normal 900 1em/1 "Font Awesome 7 Notdog";--fa-font-notdog-duo-solid: normal 900 1em/1 "Font Awesome 7 Notdog Duo";--fa-font-etch-solid: normal 900 1em/1 "Font Awesome 7 Etch";--fa-font-graphite-thin: normal 100 1em/1 "Font Awesome 7 Graphite";--fa-font-jelly-regular: normal 400 1em/1 "Font Awesome 7 Jelly";--fa-font-jelly-fill-regular: normal 400 1em/1 "Font Awesome 7 Jelly Fill";--fa-font-jelly-duo-regular: normal 400 1em/1 "Font Awesome 7 Jelly Duo";--fa-font-chisel-regular: normal 400 1em/1 "Font Awesome 7 Chisel";--fa-font-utility-semibold: normal 600 1em/1 "Font Awesome 7 Utility";--fa-font-utility-duo-semibold: normal 600 1em/1 "Font Awesome 7 Utility Duo";--fa-font-utility-fill-semibold: normal 600 1em/1 "Font Awesome 7 Utility Fill"}.svg-inline--fa{box-sizing:content-box;display:var(--fa-display, inline-block);height:1em;overflow:visible;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.svg-inline--fa.fa-2xs{vertical-align:.1em}.svg-inline--fa.fa-xs{vertical-align:0em}.svg-inline--fa.fa-sm{vertical-align:-.0714285714em}.svg-inline--fa.fa-lg{vertical-align:-.2em}.svg-inline--fa.fa-xl{vertical-align:-.25em}.svg-inline--fa.fa-2xl{vertical-align:-.3125em}.svg-inline--fa.fa-pull-left,.svg-inline--fa .fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-pull-right,.svg-inline--fa .fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.svg-inline--fa.fa-li{width:var(--fa-li-width, 2em);inset-inline-start:calc(-1 * var(--fa-li-width, 2em));inset-block-start:.25em}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:var(--fa-width, 1.25em)}.fa-layers .svg-inline--fa{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;transform-origin:center center}.fa-layers-text{left:50%;top:50%;transform:translate(-50%,-50%);transform-origin:center center}.fa-layers-counter{background-color:var(--fa-counter-background-color, #ff253a);border-radius:var(--fa-counter-border-radius, 1em);box-sizing:border-box;color:var(--fa-inverse, #fff);line-height:var(--fa-counter-line-height, 1);max-width:var(--fa-counter-max-width, 5em);min-width:var(--fa-counter-min-width, 1.5em);overflow:hidden;padding:var(--fa-counter-padding, .25em .5em);right:var(--fa-right, 0);text-overflow:ellipsis;top:var(--fa-top, 0);transform:scale(var(--fa-counter-scale, .25));transform-origin:top right}.fa-layers-bottom-right{bottom:var(--fa-bottom, 0);right:var(--fa-right, 0);top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom right}.fa-layers-bottom-left{bottom:var(--fa-bottom, 0);left:var(--fa-left, 0);right:auto;top:auto;transform:scale(var(--fa-layers-scale, .25));transform-origin:bottom left}.fa-layers-top-right{top:var(--fa-top, 0);right:var(--fa-right, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top right}.fa-layers-top-left{left:var(--fa-left, 0);right:auto;top:var(--fa-top, 0);transform:scale(var(--fa-layers-scale, .25));transform-origin:top left}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:calc((6 / 10 - .375) * 1em)}.fa-xs{font-size:.75em;line-height:calc(1 / 12 * 1em);vertical-align:.125em}.fa-sm{font-size:.875em;line-height:calc(1 / 14 * 1em);vertical-align:calc((6 / 14 - .375) * 1em)}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:calc((6 / 20 - .375) * 1em)}.fa-xl{font-size:1.5em;line-height:calc(1 / 24 * 1em);vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-width-auto{--fa-width: auto}.fa-fw,.fa-width-fixed{--fa-width: 1.25em}.fa-ul{list-style-type:none;margin-inline-start:var(--fa-li-margin, 2.5em);padding-inline-start:0}.fa-ul>li{position:relative}.fa-li{inset-inline-start:calc(-1 * var(--fa-li-width, 2em));position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-color:var(--fa-border-color, #eee);border-radius:var(--fa-border-radius, .1em);border-style:var(--fa-border-style, solid);border-width:var(--fa-border-width, .0625em);box-sizing:var(--fa-border-box-sizing, content-box);padding:var(--fa-border-padding, .1875em .25em)}.fa-pull-left,.fa-pull-start{float:inline-start;margin-inline-end:var(--fa-pull-margin, .3em)}.fa-pull-right,.fa-pull-end{float:inline-end;margin-inline-start:var(--fa-pull-margin, .3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.28, .84, .42, 1))}.fa-fade{animation-name:fa-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-beat-fade{animation-name:fa-beat-fade;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, cubic-bezier(.4, 0, .6, 1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{animation-name:fa-shake;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin{animation-name:fa-spin;animation-delay:var(--fa-animation-delay, 0s);animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 2s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction, normal);animation-duration:var(--fa-animation-duration, 1s);animation-iteration-count:var(--fa-animation-iteration-count, infinite);animation-timing-function:var(--fa-animation-timing, steps(8))}@media(prefers-reduced-motion:reduce){.fa-beat,.fa-bounce,.fa-fade,.fa-beat-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation:none!important;transition:none!important}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0)}}@keyframes fa-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle, 0))}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color, currentColor);opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color, currentColor);opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:var(--fa-secondary-opacity, .4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:var(--fa-primary-opacity, 1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.svg-inline--fa.fa-inverse{fill:var(--fa-inverse, #fff)}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-inverse{color:var(--fa-inverse, #fff)}.svg-inline--fa.fa-stack-1x{--fa-width: 1.25em;height:1em;width:var(--fa-width)}.svg-inline--fa.fa-stack-2x{--fa-width: 2.5em;height:2em;width:var(--fa-width)}.fa-stack-1x,.fa-stack-2x{top:0;right:0;bottom:0;left:0;margin:auto;position:absolute;z-index:var(--fa-stack-z-index, auto)}.settings-section[data-v-6ba7b8bd]{padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-subtle);margin-bottom:16px}.settings-section.prompt-section[data-v-6ba7b8bd]{background:var(--bg-subtle);border-color:var(--border-color)}.settings-section-head[data-v-6ba7b8bd]{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.settings-section-head h4[data-v-6ba7b8bd]{margin:0 0 4px;color:var(--text-primary);font-size:15px;font-weight:650}.settings-section-head p[data-v-6ba7b8bd]{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.5}.settings-section-icon[data-v-6ba7b8bd]{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}.settings-section-icon.video[data-v-6ba7b8bd],.settings-section-icon.prompt[data-v-6ba7b8bd]{color:var(--accent-color);background:var(--accent-soft)}.key-input-wrapper[data-v-6ba7b8bd]{position:relative}.key-input-wrapper .glass-input[data-v-6ba7b8bd]{padding-right:48px}.key-toggle[data-v-6ba7b8bd]{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;font-size:16px;cursor:pointer;padding:6px;color:var(--text-tertiary);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent}.key-toggle[data-v-6ba7b8bd]:hover{color:var(--text-primary)}.api-base-wrapper[data-v-6ba7b8bd]{position:relative;display:flex;align-items:center}.api-base-icon[data-v-6ba7b8bd]{position:absolute;left:14px;color:var(--text-tertiary);font-size:14px;z-index:1;pointer-events:none}.api-base-input[data-v-6ba7b8bd]{padding-left:38px!important;padding-right:42px!important}.api-base-reset[data-v-6ba7b8bd]{position:absolute;right:8px;background:none;border:none;font-size:14px;cursor:pointer;padding:6px;color:var(--text-tertiary);transition:color var(--transition-fast);-webkit-tap-highlight-color:transparent}.api-base-reset[data-v-6ba7b8bd]:hover{color:var(--text-tertiary)}.test-result[data-v-6ba7b8bd]{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-md);font-size:14px}.test-success[data-v-6ba7b8bd]{background:#22c55e14;border:1px solid rgba(34,197,94,.25);color:var(--success-color)}.test-error[data-v-6ba7b8bd]{background:#ef444414;border:1px solid rgba(239,68,68,.25);color:var(--error-color)}.settings-info[data-v-6ba7b8bd]{display:flex;flex-direction:column;gap:10px;margin-top:16px}.info-item[data-v-6ba7b8bd]{display:flex;align-items:flex-start;gap:14px;padding:16px}.info-icon[data-v-6ba7b8bd]{font-size:18px;color:var(--text-tertiary);flex-shrink:0;margin-top:2px}.character-library[data-v-ed1dd95a]{max-width:1200px;margin:0 auto}.library-header[data-v-ed1dd95a]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.header-left[data-v-ed1dd95a]{display:flex;align-items:center;gap:16px}.page-title[data-v-ed1dd95a]{font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--text-primary)}.page-title svg[data-v-ed1dd95a]{color:var(--accent-color)}.back-btn[data-v-ed1dd95a]{display:none}.character-grid[data-v-ed1dd95a]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}.character-card[data-v-ed1dd95a]{padding:24px;display:flex;flex-direction:column;gap:16px}.char-card-header[data-v-ed1dd95a]{display:flex;align-items:center;gap:14px}.char-avatar-lg[data-v-ed1dd95a]{font-size:22px;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent-color);border-radius:var(--radius-lg);flex-shrink:0}.char-card-info[data-v-ed1dd95a]{flex:1;min-width:0}.char-card-name[data-v-ed1dd95a]{font-size:17px;font-weight:600;margin-bottom:4px}.char-card-body[data-v-ed1dd95a]{flex:1}.char-description[data-v-ed1dd95a]{font-size:14px;color:var(--text-secondary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.char-traits[data-v-ed1dd95a]{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.trait-tag[data-v-ed1dd95a]{padding:3px 10px;background:var(--accent-soft);border:1px solid var(--accent-border);border-radius:var(--radius-full);font-size:12px;color:var(--accent-color);display:inline-flex;align-items:center;gap:4px}.trait-tag.removable[data-v-ed1dd95a]{cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.trait-tag.removable[data-v-ed1dd95a]:hover{background:#ff453a1a;border-color:#ff453a4d;color:var(--error-color)}.trait-tag.removable svg[data-v-ed1dd95a]{font-size:10px}.char-card-actions[data-v-ed1dd95a]{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--glass-border)}.empty-library[data-v-ed1dd95a]{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-library .empty-icon[data-v-ed1dd95a]{font-size:48px;color:var(--text-tertiary);opacity:.4}.empty-library h3[data-v-ed1dd95a]{font-size:20px;color:var(--text-secondary)}.traits-input-row[data-v-ed1dd95a]{display:flex;gap:8px}.traits-input-row .glass-input[data-v-ed1dd95a]{flex:1}.traits-list[data-v-ed1dd95a]{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:900px){.back-btn[data-v-ed1dd95a]{display:inline-flex}.character-grid[data-v-ed1dd95a]{grid-template-columns:1fr}.library-header[data-v-ed1dd95a]{flex-direction:column;align-items:stretch}.header-left[data-v-ed1dd95a]{justify-content:space-between}}.char-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:24px;animation:charModalFadeIn .2s ease}.char-modal-box{background:var(--bg-surface);border:1px solid var(--glass-border);border-radius:var(--radius-2xl, 24px);box-shadow:var(--glass-shadow-lg);width:100%;max-width:540px;max-height:85vh;overflow-y:auto;display:flex;flex-direction:column}@keyframes charModalFadeIn{0%{opacity:0}to{opacity:1}}@media(max-width:600px){.char-modal-overlay{padding:16px;align-items:flex-end}.char-modal-box{max-height:90vh;border-radius:var(--radius-2xl, 24px) var(--radius-2xl, 24px) 0 0}}.task-history[data-v-1eb47a87]{max-width:900px;margin:0 auto}.library-header[data-v-1eb47a87]{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;flex-wrap:wrap;gap:12px}.header-left[data-v-1eb47a87]{display:flex;align-items:center;gap:16px}.page-title[data-v-1eb47a87]{font-size:24px;font-weight:600;display:flex;align-items:center;gap:10px;color:var(--text-primary)}.page-title svg[data-v-1eb47a87]{color:var(--accent-color)}.back-btn[data-v-1eb47a87]{display:none}.task-list[data-v-1eb47a87]{display:flex;flex-direction:column;gap:12px}.task-card[data-v-1eb47a87]{padding:24px;display:flex;flex-direction:column;gap:14px}.task-card-header[data-v-1eb47a87]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.task-meta[data-v-1eb47a87]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.task-model[data-v-1eb47a87],.task-time[data-v-1eb47a87]{display:flex;align-items:center;gap:4px}.task-prompt[data-v-1eb47a87]{font-size:15px;color:var(--text-primary);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-params[data-v-1eb47a87]{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.param-tag[data-v-1eb47a87]{padding:4px 10px;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);font-size:12px;color:var(--text-secondary);display:inline-flex;align-items:center;gap:4px}.param-tag svg[data-v-1eb47a87]{font-size:10px;opacity:.7}.task-card-actions[data-v-1eb47a87]{display:flex;gap:8px;padding-top:14px;border-top:1px solid var(--glass-border)}.status-badge[data-v-1eb47a87]{font-size:13px;padding:4px 12px;border-radius:var(--radius-full);display:inline-flex;align-items:center;gap:6px}.status-success[data-v-1eb47a87]{background:#30d1581a;color:var(--success-color)}.status-processing[data-v-1eb47a87]{background:var(--accent-soft);color:var(--accent-color)}.status-error[data-v-1eb47a87]{background:#ff453a1a;color:var(--error-color)}.status-unknown[data-v-1eb47a87]{background:var(--glass-bg);color:var(--text-tertiary)}.empty-history[data-v-1eb47a87]{text-align:center;padding:60px 24px;display:flex;flex-direction:column;align-items:center;gap:12px}.empty-history .empty-icon[data-v-1eb47a87]{font-size:48px;color:var(--text-tertiary);opacity:.4}.empty-history h3[data-v-1eb47a87]{font-size:20px;color:var(--text-secondary)}@media(max-width:900px){.back-btn[data-v-1eb47a87]{display:inline-flex}.task-card-header[data-v-1eb47a87]{flex-direction:column;align-items:flex-start}.library-header[data-v-1eb47a87]{flex-direction:column;align-items:stretch}.header-left[data-v-1eb47a87]{justify-content:space-between}}.app-container[data-v-aaa87345]{min-height:100vh;position:relative}.navbar[data-v-aaa87345]{position:fixed;top:0;left:0;right:0;height:60px;display:flex;justify-content:space-between;align-items:center;padding:0 24px;z-index:1000;background:color-mix(in srgb,var(--bg-base) 85%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-bottom:1px solid var(--border-color);transition:background-color .2s ease,border-color .2s ease}.logo-wrapper[data-v-aaa87345]{display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0}.logo-mark[data-v-aaa87345]{width:30px;height:30px;border-radius:9px;background:var(--text-primary);color:var(--bg-surface);display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}.brand-text[data-v-aaa87345]{font-size:15px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary);white-space:nowrap}.brand-badge[data-v-aaa87345]{font-size:10px;font-weight:600;line-height:1;padding:3px 6px;border-radius:5px;background:var(--accent-color);color:#fff;letter-spacing:.02em}.nav-links[data-v-aaa87345]{display:flex;gap:4px;align-items:center;padding:4px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md)}.nav-link[data-v-aaa87345]{text-decoration:none;color:var(--text-secondary);font-size:13.5px;font-weight:500;padding:7px 16px;border-radius:9px;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;display:flex;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent}.nav-link[data-v-aaa87345]:hover{color:var(--text-primary)}.nav-link.active[data-v-aaa87345]{color:var(--text-primary);background:var(--bg-surface);box-shadow:0 1px 2px #18181b0f}.nav-link svg[data-v-aaa87345]{font-size:13px}.nav-controls[data-v-aaa87345]{display:flex;align-items:center;gap:4px}.control-btn[data-v-aaa87345]{cursor:pointer;color:var(--text-secondary);font-size:15px;transition:background-color .15s ease,color .15s ease;display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:transparent;-webkit-tap-highlight-color:transparent}.control-btn[data-v-aaa87345]:hover{color:var(--text-primary);background:var(--bg-subtle)}.menu-toggle[data-v-aaa87345]{display:none;font-size:16px;color:var(--text-secondary);cursor:pointer;width:34px;height:34px;border-radius:var(--radius-sm);background:transparent;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent}.menu-toggle[data-v-aaa87345]:hover{background:var(--bg-subtle);color:var(--text-primary)}.app-main[data-v-aaa87345]{padding:84px 24px 80px;max-width:1280px;margin:0 auto}.generator-layout[data-v-aaa87345]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}.controls-panel[data-v-aaa87345]{display:flex;flex-direction:column;gap:14px}.control-section[data-v-aaa87345]{padding:20px}.accordion-head[data-v-aaa87345]{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0;border:0;background:transparent;color:var(--text-primary);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.accordion-head-copy[data-v-aaa87345]{min-width:0;display:flex;align-items:center;gap:10px}.accordion-head-title[data-v-aaa87345]{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:650;letter-spacing:-.01em}.accordion-head-title .fa-icon[data-v-aaa87345]{color:var(--text-secondary);font-size:14px}.accordion-head-meta[data-v-aaa87345]{color:var(--text-tertiary);font-size:12px;white-space:nowrap}.accordion-chevron[data-v-aaa87345]{flex:0 0 auto;color:var(--text-tertiary);font-size:12px;transition:transform .2s ease,color .2s ease}.accordion-chevron.open[data-v-aaa87345]{color:var(--text-primary);transform:rotate(180deg)}.accordion-body[data-v-aaa87345]{padding-top:18px;animation:accordionIn-aaa87345 .18s ease-out}@keyframes accordionIn-aaa87345{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.prompt-service-shell[data-v-aaa87345]{margin-top:16px;overflow:hidden;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-subtle);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.prompt-service-shell.open[data-v-aaa87345]{border-color:var(--border-color-strong);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent-color) 5%,transparent)}.prompt-service-shell>.accordion-head[data-v-aaa87345]{padding:14px}.prompt-service-shell>.accordion-head[data-v-aaa87345]:hover{background:color-mix(in srgb,var(--bg-surface) 65%,transparent)}.prompt-service-body[data-v-aaa87345]{padding:0 14px 14px}.prompt-service-shell .prompt-service-card[data-v-aaa87345]{margin:0;padding:0;border:0;border-radius:0;background:transparent}.mode-tabs[data-v-aaa87345]{display:flex;gap:4px;padding:4px;background:var(--bg-subtle);border:1px solid var(--border-color);border-radius:var(--radius-md)}.mode-tab[data-v-aaa87345]{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 12px;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--text-secondary);font-size:13.5px;font-weight:500;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent}.mode-tab[data-v-aaa87345]:hover{color:var(--text-primary)}.mode-tab.active[data-v-aaa87345]{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 2px #18181b0f}.mode-tab svg[data-v-aaa87345]{font-size:13px}.upload-zone[data-v-aaa87345]{border:1px dashed var(--border-color-strong);border-radius:var(--radius-lg);padding:28px;text-align:center;cursor:pointer;transition:border-color .15s ease,background-color .15s ease;min-height:140px;display:flex;align-items:center;justify-content:center;background:var(--bg-base);-webkit-tap-highlight-color:transparent}.upload-zone[data-v-aaa87345]:hover{border-color:var(--accent-color);background:var(--accent-soft)}.upload-zone.has-image[data-v-aaa87345]{padding:8px;border-style:solid;background:var(--bg-base)}.upload-placeholder[data-v-aaa87345]{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--text-secondary);font-size:14px}.upload-icon[data-v-aaa87345]{font-size:30px;color:var(--text-tertiary);margin-bottom:4px}.preview-image[data-v-aaa87345]{position:relative;width:100%}.preview-image img[data-v-aaa87345]{width:100%;border-radius:var(--radius-md);max-height:220px;object-fit:cover;display:block}.remove-image[data-v-aaa87345]{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:var(--radius-sm);background:#18181bb3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;-webkit-tap-highlight-color:transparent}.remove-image[data-v-aaa87345]:hover{background:#18181bd9}.generate-btn[data-v-aaa87345]{position:static}.result-status-card[data-v-aaa87345]{width:100%;max-width:420px;padding:24px;text-align:left}.task-status-heading[data-v-aaa87345]{display:flex;align-items:center;gap:10px}.task-status-title[data-v-aaa87345]{min-width:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px}.task-status-heading h4[data-v-aaa87345]{margin:0;color:var(--text-primary);font-size:16px}.task-progress-value[data-v-aaa87345]{color:var(--text-secondary);font-size:13px;font-variant-numeric:tabular-nums;font-weight:650}.task-status-dot.stopped[data-v-aaa87345]{background:var(--error-color);box-shadow:0 0 0 5px color-mix(in srgb,var(--error-color) 12%,transparent);animation:none}.task-status-dot[data-v-aaa87345]{width:9px;height:9px;border-radius:50%;background:var(--accent-color);box-shadow:0 0 0 5px var(--accent-soft);animation:pulse 1.5s ease-in-out infinite}.task-error[data-v-aaa87345]{margin-top:8px;color:var(--error-color);font-size:13px;line-height:1.6}.task-sync-note[data-v-aaa87345]{display:flex;align-items:center;gap:7px;margin:8px 0 0;color:var(--text-secondary);font-size:12.5px;line-height:1.6}.task-sync-note .fa-icon[data-v-aaa87345]{color:var(--text-tertiary);font-size:12px}.task-progress-meta[data-v-aaa87345]{display:flex;justify-content:space-between;gap:12px;margin-top:8px;color:var(--text-tertiary);font-size:11.5px;font-variant-numeric:tabular-nums}.task-status-track[data-v-aaa87345]{height:4px;margin-top:18px;background:var(--bg-subtle);border-radius:var(--radius-full);overflow:hidden}.task-status-track span[data-v-aaa87345]{display:block;width:0;height:100%;border-radius:inherit;background:var(--accent-color);transition:width .45s ease}.task-status-track span.indeterminate[data-v-aaa87345]{animation:taskTrack-aaa87345 1.8s ease-in-out infinite alternate}@keyframes taskTrack-aaa87345{0%{transform:translate(-20%)}to{transform:translate(160%)}}.preview-panel[data-v-aaa87345]{position:sticky;top:84px;height:fit-content;display:flex;flex-direction:column}.preview-card[data-v-aaa87345]{padding:20px;min-height:420px}.preview-content[data-v-aaa87345]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:320px;gap:10px;text-align:center}.preview-content h3[data-v-aaa87345]{font-size:17px;font-weight:600;color:var(--text-primary)}.empty-state[data-v-aaa87345]{color:var(--text-secondary)}.empty-icon[data-v-aaa87345]{font-size:40px;color:var(--text-tertiary);margin-bottom:6px}.empty-state-mini[data-v-aaa87345]{text-align:center;padding:8px 0}.empty-state-mini p[data-v-aaa87345]{margin-bottom:12px}.video-service-card[data-v-aaa87345],.prompt-service-card[data-v-aaa87345]{padding:0}.prompt-service-head[data-v-aaa87345]{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.prompt-service-head p[data-v-aaa87345]{margin:4px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.5}.prompt-service-title[data-v-aaa87345]{display:flex;align-items:center;gap:7px;color:var(--text-primary);font-size:13px;font-weight:700}.prompt-service-title .fa-icon[data-v-aaa87345]{color:var(--accent-color)}.service-state[data-v-aaa87345]{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border:1px solid var(--border-color);border-radius:999px;font-size:11px;font-weight:650;white-space:nowrap}.service-state.ready[data-v-aaa87345]{color:var(--success-color);border-color:color-mix(in srgb,var(--success-color) 28%,var(--border-color));background:color-mix(in srgb,var(--success-color) 7%,transparent)}.service-state.missing[data-v-aaa87345]{color:var(--text-secondary)}.prompt-inline-key[data-v-aaa87345]{display:flex;align-items:center;gap:8px;min-height:42px;padding:0 6px 0 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-surface);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.prompt-inline-key[data-v-aaa87345]:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.prompt-inline-key>.fa-icon[data-v-aaa87345]{color:var(--text-tertiary);font-size:13px}.prompt-inline-key input[data-v-aaa87345]{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text-primary);font:inherit;font-size:13px}.prompt-inline-key input[data-v-aaa87345]::placeholder{color:var(--text-tertiary)}.prompt-inline-key>button[data-v-aaa87345]{border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:7px;border-radius:var(--radius-sm)}.prompt-inline-key>button[data-v-aaa87345]:hover{color:var(--text-primary);background:var(--bg-subtle)}.prompt-inline-key .save-inline-key[data-v-aaa87345]{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;background:var(--text-primary);color:var(--bg-surface);font-size:12px;font-weight:650}.prompt-inline-key .save-inline-key[data-v-aaa87345]:hover{background:var(--accent-color);color:#fff}.prompt-inline-key .save-inline-key[data-v-aaa87345]:disabled{opacity:.45;cursor:not-allowed}.prompt-inline-meta[data-v-aaa87345]{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;color:var(--text-tertiary);font-size:11px}.prompt-inline-meta span[data-v-aaa87345]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.prompt-model-row[data-v-aaa87345]{display:flex;gap:8px;margin-top:12px}.prompt-model-row .glass-select[data-v-aaa87345]{flex:1;min-width:0}.link-btn[data-v-aaa87345]{border:0;background:transparent;color:var(--accent-color);font-size:12px;font-weight:650;cursor:pointer;padding:2px}.generating-state[data-v-aaa87345]{gap:14px}.gen-animation[data-v-aaa87345]{position:relative;width:84px;height:84px;display:flex;align-items:center;justify-content:center;margin-bottom:6px}.gen-ring[data-v-aaa87345]{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid transparent;border-top-color:var(--accent-color);border-radius:50%;animation:spin 1.4s linear infinite}.gen-ring.ring-2[data-v-aaa87345]{top:10px;right:10px;bottom:10px;left:10px;border-top-color:var(--accent-border);animation-duration:1.9s;animation-direction:reverse}.gen-ring.ring-3[data-v-aaa87345]{top:20px;right:20px;bottom:20px;left:20px;border-top-color:var(--border-color-strong);animation-duration:2.4s}.gen-center-icon[data-v-aaa87345]{font-size:20px;color:var(--accent-color);z-index:1}.gen-progress[data-v-aaa87345]{width:200px;height:4px;background:var(--bg-subtle);border-radius:var(--radius-full);overflow:hidden;margin-top:8px}.gen-progress-bar[data-v-aaa87345]{height:100%;width:100%;background:linear-gradient(90deg,transparent,var(--accent-color),transparent);border-radius:var(--radius-full);animation:shimmer 1.6s ease-in-out infinite;background-size:200% 100%}.result-video[data-v-aaa87345],.result-image[data-v-aaa87345]{width:100%;border-radius:var(--radius-lg);overflow:hidden}.video-player[data-v-aaa87345]{width:100%;border-radius:var(--radius-lg);max-height:440px;background:#000;display:block}.result-image img[data-v-aaa87345]{width:100%;border-radius:var(--radius-lg);display:block}.result-info[data-v-aaa87345]{width:100%}.result-info .glass-panel[data-v-aaa87345]{text-align:left}.result-info h4[data-v-aaa87345]{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600}.result-actions[data-v-aaa87345]{display:flex;gap:8px;justify-content:center}.character-quick-list[data-v-aaa87345]{display:flex;flex-wrap:wrap;gap:8px}.character-quick-item[data-v-aaa87345]{display:flex;align-items:center;gap:6px;padding:7px 13px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-full);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;-webkit-tap-highlight-color:transparent}.character-quick-item[data-v-aaa87345]:hover{background:var(--glass-bg-hover);border-color:var(--border-color-strong);color:var(--text-primary)}.character-quick-item.active[data-v-aaa87345]{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-color)}.character-quick-item svg[data-v-aaa87345]{font-size:12px}.bottom-nav[data-v-aaa87345]{display:none;position:fixed;bottom:0;left:0;right:0;background:color-mix(in srgb,var(--bg-base) 90%,transparent);backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);border-top:1px solid var(--border-color);padding:6px 12px;padding-bottom:max(6px,env(safe-area-inset-bottom));z-index:200}.nav-item[data-v-aaa87345]{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:7px 6px;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);font-size:11px;cursor:pointer;transition:color .15s ease,background-color .15s ease;-webkit-tap-highlight-color:transparent}.nav-item svg[data-v-aaa87345]{font-size:17px}.nav-item.active[data-v-aaa87345]{color:var(--accent-color);background:var(--accent-soft)}.nav-item[data-v-aaa87345]:active{transform:scale(.94)}@media(max-width:900px){.generator-layout[data-v-aaa87345]{grid-template-columns:minmax(0,1fr)}.preview-panel[data-v-aaa87345]{position:relative;top:0}.nav-links[data-v-aaa87345]{display:none}.menu-toggle[data-v-aaa87345],.bottom-nav[data-v-aaa87345]{display:flex}.app-main[data-v-aaa87345]{padding:76px 16px 92px}.navbar[data-v-aaa87345]{padding:0 16px;height:56px}.preview-card[data-v-aaa87345]{min-height:320px}.preview-content[data-v-aaa87345]{min-height:240px}}@media(max-width:900px){.nav-links[data-v-aaa87345]{position:absolute;top:64px;left:12px;right:12px;width:auto;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);flex-direction:column;padding:6px;gap:2px;opacity:0;pointer-events:none;transform:translateY(-6px);transition:opacity .15s ease,transform .15s ease;box-shadow:var(--glass-shadow-lg);display:flex;align-items:stretch}.nav-links.active[data-v-aaa87345]{opacity:1;transform:translateY(0);pointer-events:auto}.nav-link[data-v-aaa87345]{padding:11px 14px;font-size:14px;border-radius:var(--radius-sm);justify-content:flex-start}.nav-link.active[data-v-aaa87345]{box-shadow:none;background:var(--bg-subtle)}}@media(max-width:480px){.control-section[data-v-aaa87345]{padding:16px}.brand-text[data-v-aaa87345]{font-size:14px}.app-main[data-v-aaa87345]{padding:72px 12px 92px}.option-chips[data-v-aaa87345]{gap:6px}.option-chip[data-v-aaa87345]{padding:6px 11px;font-size:12.5px}.mode-tab[data-v-aaa87345]{padding:8px 10px;font-size:13px}.preview-card[data-v-aaa87345]{padding:16px}}:root,[data-theme=light]{--bg-base: #fafafa;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-subtle: #f4f4f5;--text-primary: #18181b;--text-secondary: #71717a;--text-tertiary: #a1a1aa;--accent-color: #3b82f6;--accent-hover: #2563eb;--accent-soft: rgba(59, 130, 246, .1);--accent-soft-strong: rgba(59, 130, 246, .16);--accent-border: rgba(59, 130, 246, .4);--success-color: #22c55e;--warning-color: #f59e0b;--error-color: #ef4444;--border-color: #e4e4e7;--border-color-strong: #d4d4d8;--glass-bg: #ffffff;--glass-bg-hover: #fafafa;--glass-bg-active: #f4f4f5;--glass-border: #e4e4e7;--glass-border-hover: #d4d4d8;--glass-shadow: 0 1px 2px rgba(24, 24, 27, .04), 0 1px 3px rgba(24, 24, 27, .06);--glass-shadow-lg: 0 10px 30px rgba(24, 24, 27, .08), 0 2px 8px rgba(24, 24, 27, .04);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}[data-theme=dark]{--bg-base: #09090b;--bg-surface: #18181b;--bg-elevated: #232325;--bg-subtle: #27272a;--text-primary: #f4f4f5;--text-secondary: #a1a1aa;--text-tertiary: #71717a;--accent-color: #60a5fa;--accent-hover: #93c5fd;--accent-soft: rgba(96, 165, 250, .14);--accent-soft-strong: rgba(96, 165, 250, .22);--accent-border: rgba(96, 165, 250, .45);--success-color: #4ade80;--warning-color: #fbbf24;--error-color: #f87171;--border-color: #27272a;--border-color-strong: #3f3f46;--glass-bg: #18181b;--glass-bg-hover: #232325;--glass-bg-active: #27272a;--glass-border: #27272a;--glass-border-hover: #3f3f46;--glass-shadow: none;--glass-shadow-lg: 0 10px 30px rgba(0, 0, 0, .5)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box;font-family:HarmonyOS Sans SC,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;outline:none}html{font-size:16px;-webkit-text-size-adjust:100%}body{background-color:var(--bg-base);color:var(--text-primary);overflow-x:hidden;line-height:1.6;min-height:100vh;transition:background-color .3s ease,color .3s ease}.ambient-glow{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 40% at 50% 0%,rgba(59,130,246,.06) 0%,transparent 70%)}[data-theme=dark] .ambient-glow{background:radial-gradient(60% 40% at 50% 0%,rgba(96,165,250,.07) 0%,transparent 70%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color-strong);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:var(--accent-soft-strong);color:var(--text-primary)}.glass-panel{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow);transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}.glass-panel-hover{transition:border-color .2s ease,box-shadow .2s ease,transform .2s var(--ease-out-expo)}.glass-panel-hover:hover{border-color:var(--glass-border-hover);box-shadow:var(--glass-shadow-lg);transform:translateY(-2px)}.glass-input{width:100%;padding:10px 14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.glass-input::placeholder{color:var(--text-tertiary)}.glass-input:hover{border-color:var(--border-color-strong)}.glass-input:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-soft)}[data-theme=dark] .glass-input{background:var(--bg-surface)}.glass-textarea{width:100%;padding:12px 14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;resize:vertical;min-height:100px;line-height:1.7;transition:border-color .15s ease,box-shadow .15s ease}.glass-textarea::placeholder{color:var(--text-tertiary)}.glass-textarea:hover{border-color:var(--border-color-strong)}.glass-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-soft)}.glass-select{width:100%;padding:10px 36px 10px 14px;background-color:var(--bg-surface);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8.5L1 3.5h10z' fill='%2371717a'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;outline:none;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .15s ease,box-shadow .15s ease}.glass-select:hover{border-color:var(--border-color-strong)}.glass-select:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-soft)}.glass-select option{background:var(--bg-surface);color:var(--text-primary)}[data-theme=dark] .glass-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M6 8.5L1 3.5h10z' fill='%23a1a1aa'/%3E%3C/svg%3E")}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 18px;border-radius:var(--radius-md);font-size:14px;font-weight:500;text-decoration:none;cursor:pointer;border:1px solid transparent;transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn-primary{background:var(--text-primary);color:var(--bg-surface)}.btn-primary:hover{background:#3f3f46}[data-theme=dark] .btn-primary{background:var(--text-primary);color:#18181b}[data-theme=dark] .btn-primary:hover{background:#e4e4e7}.btn-secondary{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background:var(--glass-bg-hover);border-color:var(--border-color-strong)}.btn-accent{background:var(--accent-color);color:#fff;box-shadow:0 1px 2px #18181b14}.btn-accent:hover{background:var(--accent-hover);box-shadow:0 4px 12px var(--accent-soft-strong)}[data-theme=dark] .btn-accent{color:#09090b}.btn-danger{background:var(--bg-surface);color:var(--error-color);border-color:#ef444459}.btn-danger:hover{background:#ef444414;border-color:var(--error-color)}.btn-sm{padding:7px 12px;font-size:13px;border-radius:10px}.btn-lg{padding:13px 22px;font-size:15px;border-radius:var(--radius-md)}.btn-icon{width:38px;height:38px;padding:0;border-radius:var(--radius-md);font-size:15px}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn svg{font-size:14px}.option-chips{display:flex;flex-wrap:wrap;gap:8px}.option-chip{padding:7px 14px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);font-size:13px;cursor:pointer;transition:background-color .15s ease,border-color .15s ease,color .15s ease;-webkit-user-select:none;user-select:none;display:inline-flex;align-items:center;gap:6px;-webkit-tap-highlight-color:transparent}.option-chip:hover{background:var(--glass-bg-hover);border-color:var(--border-color-strong);color:var(--text-primary)}.option-chip.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-color);font-weight:500}.option-chip svg{font-size:12px}.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:12px;font-weight:500;background:var(--bg-subtle);color:var(--text-secondary);border:1px solid var(--border-color)}.badge-accent{background:var(--accent-soft);color:var(--accent-color);border-color:var(--accent-border)}.section-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:14px;display:flex;align-items:center;gap:8px}.section-title>svg,.section-title>:not(.btn) svg{color:var(--text-secondary);font-size:15px}.section-title .btn svg{color:inherit}.form-group{margin-bottom:16px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:6px}.form-hint{font-size:12px;color:var(--text-tertiary);margin-top:6px;line-height:1.5}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#09090b73;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:5000;animation:fadeIn .15s ease;padding:20px}.modal-content{background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--glass-shadow-lg);width:100%;max-width:520px;max-height:85vh;overflow-y:auto;animation:scaleIn .2s var(--ease-out-expo)}.modal-header{position:sticky;top:0;background:var(--bg-surface);display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid var(--border-color);z-index:1}.modal-header h3{font-size:16px;font-weight:600;display:flex;align-items:center;gap:8px}.modal-header h3 svg{color:var(--text-tertiary)}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:pointer;transition:background-color .15s ease,color .15s ease;font-size:14px;-webkit-tap-highlight-color:transparent}.modal-close:hover{background:var(--bg-subtle);color:var(--text-primary)}.modal-body{padding:22px}.modal-footer{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--border-color)}.toast-container{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:max-content;max-width:90vw}.toast{padding:11px 16px;background:var(--bg-surface);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;box-shadow:var(--glass-shadow-lg);animation:slideDown .25s var(--ease-out-expo),fadeOut .3s ease 2.7s;max-width:420px;display:flex;align-items:center;gap:10px;pointer-events:auto}.toast svg{font-size:15px;flex-shrink:0}.toast-success svg{color:var(--success-color)}.toast-error svg{color:var(--error-color)}.toast-warning svg{color:var(--warning-color)}.toast-info svg{color:var(--accent-color)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.97) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-fade-in{animation:fadeIn .25s ease both}.animate-slide-up{animation:slideUp .3s var(--ease-out-expo) both}.animate-scale-in{animation:scaleIn .2s var(--ease-out-expo) both}.spinner{width:16px;height:16px;border:2px solid var(--border-color);border-top-color:var(--accent-color);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}.spinner-lg{width:32px;height:32px;border-width:3px}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-xs{gap:4px}.gap-sm{gap:8px}.gap-md{gap:16px}.gap-lg{gap:24px}.w-full{width:100%}.text-center{text-align:center}.text-accent{color:var(--accent-color)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:14px}.text-xs{font-size:12px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt-sm{margin-top:8px}.mt-md{margin-top:16px}.mb-md{margin-bottom:16px}.mb-lg{margin-bottom:24px}@media(max-width:768px){.toast-container{top:12px;right:12px;left:12px;width:auto;max-width:none;transform:none}.toast{max-width:100%}.modal-content{max-height:90vh}}
