:root{--layout-padding-x: 24px;--layout-padding-y: 24px;--layout-padding: 12px 24px 24px;--content-padding: 20px;--content-padding-x: 24px;--content-max-width: 1440px;--footer-padding: 16px 20px;--color-primary: #0f172a;--color-primary-hover: #1e293b;--color-primary-active: #020617;--color-primary-soft: #e2e8f0;--color-primary-soft-hover: #cbd5e1;--color-primary-subtle: #f1f5f9;--color-focus: #64748b;--color-text: #0f172a;--color-text-secondary: #334155;--color-text-tertiary: #475569;--color-text-subtle: #64748b;--color-text-muted: #94a3b8;--color-text-placeholder: var(--color-text-muted);--font-family-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--label-font-size: var(--font-size-section-title);--label-font-weight: var(--font-weight-section-title);--label-color: var(--color-text);--label-margin-bottom: 12px;--font-size-page-title: 28px;--font-size-page-title-sm: 24px;--font-size-section-title: 16px;--font-size-title-sm: 18px;--font-size-body: 14px;--font-size-body-sm: 12px;--font-size-caption: var(--font-size-body-sm);--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-section-title: var(--font-weight-semibold);--color-border: #d7dde6;--color-border-light: #e7ebf0;--color-border-soft: #edf0f4;--color-border-contrast: #b5becb;--color-bg: #fff;--color-bg-page: var(--color-bg);--color-bg-panel: #f3f5f7;--color-bg-hover: #eef1f4;--color-bg-item: #f7f8fa;--color-bg-secondary: var(--color-bg-panel);--color-bg-tertiary: #e9edf2;--segment-bg: #f3f5f7;--segment-color: #64748b;--segment-active-color: #0f172a;--segment-active-bg: #fff;--color-success: #22c55e;--color-success-bg: #f3fbf6;--color-success-border: #ccefd8;--color-error: #ef4444;--color-danger: var(--color-error);--color-danger-active: #b91c1c;--color-error-bg: #fff5f5;--color-error-border: #f3c8c8;--color-pending: #eab308;--color-pending-bg: #fffbea;--color-pending-border: #f4e6a2;--color-processing: #f59e0b;--color-processing-bg: #fff8e8;--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-base: 10px;--radius-lg: 12px;--radius-full: 50%;--control-radius-sm: var(--radius-md);--control-radius: var(--radius-md);--surface-radius-sm: var(--radius-lg);--surface-radius: var(--radius-lg);--surface-bg: #fff;--border-control: var(--color-border);--border-surface: var(--color-border-light);--border-subtle: var(--color-border-soft);--bg-app: var(--color-bg-page);--bg-surface: var(--color-bg);--bg-surface-muted: var(--color-bg-panel);--bg-control: var(--color-bg-secondary);--bg-control-hover: var(--color-bg-tertiary);--bg-accent-subtle: var(--color-primary-subtle);--bg-accent-soft: var(--color-primary-soft);--media-control-bg: rgba(15, 23, 42, .56);--media-control-bg-hover: rgba(15, 23, 42, .72);--media-overlay-bg: rgba(15, 23, 42, .2);--card-radius: var(--radius-lg);--item-radius: var(--control-radius);--segment-radius: var(--radius-base);--segment-tab-radius: var(--radius-md);--taskbar-radius: var(--radius-base);--upload-btn-radius: var(--radius-base);--shadow-xs: 0 1px 2px rgba(15, 23, 42, .05);--shadow-sm: 0 1px 2px rgba(15, 23, 42, .03);--shadow-md: 0 4px 14px rgba(15, 23, 42, .04);--shadow-lg: 0 8px 22px rgba(15, 23, 42, .05);--shadow-xl: 0 12px 30px rgba(15, 23, 42, .12);--shadow-elevated: 0 8px 22px rgba(15, 23, 42, .06);--shadow-prominent: 0 12px 30px rgba(15, 23, 42, .08);--shadow-soft: var(--shadow-sm);--card-shadow: var(--shadow-sm);--card-shadow-hover: var(--shadow-md);--dropdown-shadow: var(--shadow-lg);--popover-shadow: 0 12px 28px rgba(15, 23, 42, .1);--modal-shadow: 0 20px 48px rgba(15, 23, 42, .12);--overlay-bg: rgba(15, 23, 42, .34);--overlay-blur: 14px;--tab-shadow: var(--shadow-xs);--surface-shadow: var(--shadow-soft);--surface-shadow-hover: var(--shadow-md);--accent-shadow: var(--shadow-elevated);--avatar-gradient: #0f172a;--gap-xs: 4px;--gap-sm: 8px;--gap-md: 8px;--gap-base: 12px;--gap-lg: var(--gap-base);--gap-xl: 16px;--gap-2xl: 20px;--gap-3xl: 24px;--layout-gap: var(--gap-2xl);--item-gap: var(--gap-md);--form-gap: var(--gap-2xl);--section-gap: var(--gap-lg);--section-spacing: var(--gap-xl);--card-width: 380px;--card-border: 1px solid var(--color-border-light);--item-padding: 16px;--upload-btn-height: 48px;--control-height-lg: 44px;--control-height-md: 36px;--control-height-sm: 32px;--control-padding-x: 12px;--control-font-size: 14px;--focus-ring-color: rgba(15, 23, 42, .16);--focus-ring: 0 0 0 4px var(--focus-ring-color)}.history-card-item{display:block;width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;text-align:left;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:background .16s ease,opacity .16s ease}.history-card-item:hover{opacity:.92}.history-card-item:has(.history-card-status.status-running):hover,.history-card-item:has(.history-card-status.status-failed):hover{box-shadow:none;opacity:1}.history-card-video{position:relative;background:var(--bg-control, #e5e7eb);overflow:hidden;line-height:0}.history-card-video video,.history-card-video img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:contain;display:block;opacity:0;transition:opacity .18s ease}.history-card-video.is-loaded img{opacity:1}.history-card-video.is-hovering video,.history-card-video.is-playing video{opacity:1}.history-card-video.is-hovering img,.history-card-video.is-playing img{opacity:0}.history-card-video-placeholder{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);background:var(--bg-control, #e5e7eb)}.history-card-video-placeholder:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.56) 48%,transparent 100%);animation:shimmer 1.4s ease-in-out infinite}.history-card-video-placeholder .app-icon{width:32px;height:32px;position:relative;z-index:1}.history-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--media-overlay-bg);font-size:40px;color:#fff;opacity:0;transition:opacity .2s}.history-card-item:hover .history-card-overlay{opacity:1}.history-card-status{aspect-ratio:1 / 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-md);font-size:14px;color:var(--color-text-muted);background:var(--bg-surface-muted)}.history-card-status .app-icon,.history-card-status .anticon{width:28px;height:28px;font-size:28px}.history-card-status.status-running{background:var(--color-processing-bg)}.history-card-status.status-running .app-icon,.history-card-status.status-running .anticon{color:var(--color-processing)}.history-card-status.status-failed{background:var(--color-error-bg);color:var(--color-error)}.history-card-status.status-failed .app-icon,.history-card-status.status-failed .anticon{color:var(--color-error)}.history-card-info{padding:12px}.history-card-label{font-size:12px;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400}.history-card-time{font-size:var(--font-size-caption, 12px);color:var(--color-text-muted);margin-top:2px}.history-grid{width:100%}.history-card-img{position:relative;overflow:hidden;line-height:0;background:var(--bg-surface-muted);border:.5px solid rgba(15,23,42,.12);border-radius:inherit}.history-card-img img{width:100%;display:block}.history-count-badge{position:absolute;bottom:4px;right:4px;background:var(--media-control-bg);color:#fff;font-size:var(--font-size-caption, 12px);padding:1px 8px;border-radius:var(--radius-xs);line-height:18px}.creating-label{display:block;margin-top:4px;font-size:12px;color:var(--color-processing)}.failed-label{display:block;margin-top:2px;font-size:var(--font-size-caption, 12px);color:var(--color-error);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.failed-tooltip-target{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.field-label{display:block;font-size:var(--label-font-size);font-weight:var(--label-font-weight);color:var(--label-color);margin-bottom:var(--label-margin-bottom)}.field-desc{font-size:var(--font-size-body, 14px);font-weight:400;color:var(--color-text-muted, #9ca3af);margin-left:8px}.section-header-description,.empty-state-description,.space-entry-desc,.upload-hint,.feature-desc,.invite-desc,.state-desc,.theme-card-desc{color:var(--color-text-muted, #9ca3af)}.form-section{margin-bottom:var(--form-gap, 20px)}.form-section.prompt-section{display:flex;flex-direction:column;flex:1;min-height:0;margin-bottom:0}.sr-only-input{display:none}.history-more{text-align:center;padding:12px 16px}.required{color:var(--color-error, #ef4444);margin-right:2px}.text-action-link{color:var(--color-text-secondary, #334155);font-weight:400;cursor:pointer;text-decoration:none}.text-action-link:hover{color:var(--color-text, #0f172a)}.text-muted-link{color:var(--color-text-muted, #9ca3af);font-weight:400;cursor:pointer;text-decoration:none}.text-muted-link:hover{color:var(--color-text-subtle, #6b7280)}.upload-btn{width:100%;height:var(--upload-btn-height, 48px);border-style:dashed;border-radius:var(--upload-btn-radius, 10px)}.image-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.image-item{position:relative;width:80px;height:80px}.image-thumb{width:80px;height:80px;object-fit:cover;border-radius:var(--control-radius, 10px);border:1px solid var(--border-control, #d1d5db)}.image-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;position:absolute;top:-6px;right:-6px;width:20px;height:20px;background:var(--media-control-bg);color:#fff;border-radius:var(--radius-sm, 6px);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px}.image-remove:hover{background:var(--media-control-bg-hover)}.prompt-box{border:1px solid var(--border-control, #d1d5db);border-radius:var(--control-radius, 10px);padding:12px 0;transition:border-color .18s ease,background .18s ease;display:flex;flex-direction:column;flex:1;min-height:0;background:var(--bg-surface, #fff)}.prompt-box:focus-within{border-color:var(--color-text-subtle, #64748b);box-shadow:none}.image-row{display:flex;flex-wrap:wrap;gap:8px;padding:0 14px}.image-upload-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:60px;height:60px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border-control, #d1d5db);border-radius:var(--control-radius, 10px);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease;background:var(--bg-surface-muted, #f8fafc);font-size:24px;color:var(--color-text-muted, #9ca3af)}.image-upload-btn:hover{border-color:var(--color-border-contrast, #94a3b8);background:var(--bg-control, #f1f5f9);color:var(--color-text, #0f172a)}.image-preview{position:relative;width:60px;height:60px;flex-shrink:0;border-radius:var(--control-radius, 10px);overflow:hidden;border:1px solid var(--border-subtle, #e5e7eb)}.image-preview-img{width:100%;height:100%;object-fit:cover;display:block}.image-preview-remove{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;position:absolute;top:4px;right:4px;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--media-control-bg);color:#fff;border-radius:var(--radius-sm, 6px);cursor:pointer;font-size:var(--font-size-caption, 12px)}.prompt-textarea{flex:1;min-height:0;overflow-y:auto;resize:none}.form-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:0 14px;flex-shrink:0;margin-top:auto;position:relative}.bar-item{gap:8px;height:32px;padding:0 12px;-webkit-user-select:none;user-select:none}.bar-label{font-weight:var(--font-weight-medium, 500)}.bar-arrow{font-size:12px;color:var(--color-text-muted, #9ca3af)}.bar-icon{font-size:14px;color:var(--color-text-subtle, #6b7280)}.model-menu{background:var(--bg-surface, #fff);border-radius:var(--control-radius, 10px);box-shadow:var(--popover-shadow);border:1px solid var(--border-surface, #e2e8f0);padding:4px;min-width:148px}.model-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;border:0;background:transparent;display:flex;align-items:center;text-align:left;height:30px;padding:3px 8px;border-radius:7px;cursor:pointer;font-size:var(--font-size-body-sm, 12px);color:var(--color-text, #111827);transition:background .15s,color .15s}.model-menu-item:hover{background:var(--bg-control, #f3f4f6);color:var(--color-text, #0f172a)}.model-menu-item.active{background:var(--bg-control, #f1f5f9);color:var(--color-text, #0f172a);font-weight:var(--font-weight-medium, 500)}.settings-popup{padding:12px;min-width:200px;max-width:280px;background:var(--bg-surface, #fff);border-radius:var(--control-radius, 10px);box-shadow:var(--popover-shadow);border:1px solid var(--border-surface, #e2e8f0);margin:0;text-align:left}@media(max-width:560px){.settings-popup,.model-menu{width:100%;max-width:none}.bar-item{max-width:calc(100vw - 56px)}.bar-label{min-width:0;overflow:hidden;text-overflow:ellipsis}}.settings-group{margin-bottom:12px}.settings-group:last-child{margin-bottom:0}.settings-group-label{font-size:12px;font-weight:400;color:var(--color-text-subtle, #6b7280);margin-bottom:8px}.flex{display:flex}.flex-col{display:flex;flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.flex-center{display:flex;align-items:center;justify-content:center}.flex-vcenter{display:flex;align-items:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-end{display:flex;align-items:center;justify-content:flex-end}.gap-xs{gap:var(--gap-xs, 4px)}.gap-sm{gap:var(--gap-sm, 8px)}.gap-md{gap:var(--gap-md, 8px)}.gap-base{gap:var(--gap-base, 12px)}.gap-lg{gap:var(--gap-lg, 12px)}.gap-xl{gap:var(--gap-xl, 16px)}.gap-2xl{gap:var(--gap-2xl, 20px)}.gap-3xl{gap:var(--gap-3xl, 24px)}.pointer,.clickable{cursor:pointer}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-muted{color:var(--color-text-muted, #9ca3af)}.text-error{color:var(--color-error, #ef4444)}.transition{transition:background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.transition-fast{transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.transition-color{transition:color .15s}.transition-bg{transition:background .15s}.transition-opacity{transition:opacity .2s}.fade-enter-active,.fade-leave-active{transition:opacity .2s ease}.fade-enter-from,.fade-leave-to{opacity:0}.overflow-hidden{overflow:hidden}.scroll-y{overflow-y:auto}.relative{position:relative}.absolute{position:absolute}.w-full{width:100%}.h-full{height:100%}.object-cover{width:100%;height:100%;object-fit:cover}.object-contain{width:100%;height:100%;object-fit:contain}.block{display:block}.rounded-xs{border-radius:var(--radius-xs, 4px)}.rounded-sm{border-radius:var(--radius-sm, 6px)}.rounded-md{border-radius:var(--radius-md, 8px)}.rounded{border-radius:var(--radius-base, 10px)}@media(max-width:768px){body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}}.rounded-lg{border-radius:var(--radius-lg, 12px)}.rounded-full{border-radius:var(--radius-full, 50%)}.not-allowed{cursor:not-allowed}.hidden{display:none}*{margin:0;padding:0;box-sizing:border-box}html,body,#app{height:100%;font-family:var(--font-family-ui, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:var(--font-size-body, 14px);color:var(--color-text, #0f172a);-webkit-font-smoothing:antialiased;text-rendering:geometricPrecision}.app-icon{display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;font-style:normal;line-height:1;vertical-align:-.125em;flex-shrink:0}.app-icon-spin{animation:app-icon-spin .9s linear infinite}@keyframes app-icon-spin{to{transform:rotate(360deg)}}.app-toast-container{position:fixed;top:20px;left:50%;z-index:3000;display:flex;flex-direction:column;gap:8px;transform:translate(-50%);pointer-events:none}.app-toast{min-width:0;max-width:min(360px,calc(100vw - 24px));display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 10px;border:0;border-radius:var(--control-radius-sm, 8px);background:#0f172adb;color:#fff;box-shadow:0 12px 28px #0f172a29;font-size:14px;line-height:1.5;text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:app-toast-in .18s ease-out}.app-toast-icon{width:16px;height:16px;position:relative;flex:0 0 16px;color:#fff}.app-toast-icon:before{content:"";position:absolute;top:2px;right:2px;bottom:2px;left:2px;border:1.5px solid currentColor;border-radius:50%}.app-toast-icon:after{content:"";position:absolute}.app-toast-success .app-toast-icon:after{left:5px;top:1px;width:5px;height:8px;border:solid currentColor;border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.app-toast-error .app-toast-icon:before,.app-toast-warning .app-toast-icon:before,.app-toast-info .app-toast-icon:before{border-color:currentColor}.app-toast-error .app-toast-icon:after,.app-toast-warning .app-toast-icon:after,.app-toast-info .app-toast-icon:after{left:7px;top:4px;width:1.5px;height:5px;border-radius:999px;background:currentColor;box-shadow:0 7px 0 currentColor}.app-toast-text{min-width:0}.app-toast.leaving{opacity:0;transform:translateY(-6px)}@keyframes app-toast-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
