.video-generator{display:flex;flex-direction:column;height:calc(100vh - 120px);gap:0;position:relative}.generator-display-area{flex:1;background:#1a1a1a;border-radius:8px;padding:40px 40px 300px;overflow-y:auto;display:flex;align-items:flex-start;justify-content:flex-start;min-height:300px}.empty-video-state{text-align:center;color:#999}.videos-display-table{width:100%;display:flex;flex-direction:column;gap:20px;align-items:flex-start}.video-display-item{background:#2a2a2a;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-height:200px;aspect-ratio:9 / 16;position:relative}.video-display-item video{width:100%;height:100%;object-fit:contain;display:block;background:#000}.video-placeholder{flex:1;padding:60px 20px;text-align:center;background:#2a2a2a;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:0}.progress-info{margin-top:16px;display:flex;align-items:center;gap:12px;justify-content:center}.progress-bar-inline{width:200px;height:6px;background:#3d3d3d;border-radius:3px;overflow:hidden}.progress-fill-inline{height:100%;background:#ff6b35;transition:width .3s}.video-display-info p{margin:4px 0}.generator-input-area{position:fixed;bottom:0;left:260px;right:0;background:#1e1e1e;border-top:1px solid #2d2d2d;padding:24px;z-index:100;box-shadow:0 -2px 10px #0000004d}.count-input-container{display:flex;align-items:center;gap:4px;height:40px}.count-button{width:32px;height:40px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;line-height:1}.count-button:hover:not(:disabled){background:#333;border-color:#ff6b35;color:#ff6b35}.count-button:active:not(:disabled){background:#3a3a3a;transform:scale(.95)}.count-button:disabled{opacity:.5;cursor:not-allowed}.count-input{flex:1;min-width:60px;height:40px;padding:0 8px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;text-align:center;transition:all .2s}.count-input:focus{outline:none;border-color:#ff6b35;background:#333}.count-input::-webkit-inner-spin-button,.count-input::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.count-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.batch-template-buttons{display:flex;gap:8px;align-items:center}.template-button{flex:1;padding:8px 12px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:12px;color:#e0e0e0;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:4px}.template-button:hover{background:#333;border-color:#ff6b35;color:#ff6b35}.template-button:active{background:#3a3a3a;transform:scale(.95)}.reference-image-container{position:relative;min-width:120px;height:80px;display:flex;align-items:center;justify-content:center}.reference-image-button{width:100%;height:100%;padding:12px 20px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s;white-space:nowrap;display:flex;align-items:center;justify-content:center}.reference-image-button:hover:not(:disabled){background:#333;border-color:#4d4d4d}.reference-image-button:disabled{opacity:.5;cursor:not-allowed}.reference-image-preview{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d;cursor:pointer}.reference-image-preview img{width:100%;height:100%;object-fit:cover}.reference-image-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.reference-image-remove:hover{background:#ff4d4fe6}.prompt-input{flex:1;padding:12px 16px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;resize:none;min-height:50px;transition:border-color .2s}.prompt-input:focus{outline:none;border-color:#ff6b35}.prompt-input::placeholder{color:#666}.image-preview-section{margin-bottom:16px}.image-preview-list-compact{display:flex;gap:12px;flex-wrap:wrap}.image-preview-item-compact{position:relative;width:80px;height:80px;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d}.image-preview-item-compact img{width:100%;height:100%;object-fit:cover}.image-preview-item-compact button{position:absolute;top:4px;right:4px;width:20px;height:20px;background:#000000b3;color:#fff;border-radius:50%;font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer}.input-actions-section{display:flex;gap:12px;margin-bottom:16px}.generate-button-main{flex:1;padding:14px 24px;background:#52c41a;color:#fff;border-radius:6px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.generate-button-main:hover:not(:disabled){background:#73d13d}.generate-button-main:disabled{background:#3d3d3d;cursor:not-allowed;opacity:.6}.progress-section-compact{margin-bottom:12px}.progress-bar-compact{width:100%;height:6px;background:#3d3d3d;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill-compact{height:100%;background:#ff6b35;transition:width .3s}.progress-text{font-size:12px;color:#999;text-align:center}.logs-section-compact{max-height:120px;overflow-y:auto}.logs-container-compact{display:flex;flex-direction:column;gap:4px}.log-entry-compact{padding:6px 10px;border-radius:4px;font-size:12px}.log-entry-compact.log-info{background:#1890ff1a;color:#40a9ff}.log-entry-compact.log-success{background:#52c41a1a;color:#73d13d}.log-entry-compact.log-error{background:#ff4d4f1a;color:#ff7875}.log-entry-compact.log-warning{background:#faad141a;color:#ffc53d}.log-message-compact{font-size:12px}.log-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2000}.log-modal-content{background:#1e1e1e;border-radius:12px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;border:1px solid #3d3d3d;box-shadow:0 4px 20px #00000080}.log-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #3d3d3d}.log-modal-header h3{font-size:18px;font-weight:600;color:#e0e0e0;margin:0}.log-modal-close{width:32px;height:32px;background:transparent;border:none;color:#b0b0b0;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.log-modal-body{flex:1;overflow-y:auto;padding:20px}.log-empty{text-align:center;color:#666;padding:40px;font-size:14px}.log-modal-list{display:flex;flex-direction:column;gap:8px}.log-modal-entry{padding:12px;border-radius:6px;font-size:13px;display:flex;gap:12px;align-items:flex-start}.log-modal-entry.log-info{background:#1890ff1a;border-left:3px solid #40a9ff}.log-modal-entry.log-success{background:#52c41a1a;border-left:3px solid #73d13d}.log-modal-entry.log-error{background:#ff4d4f1a;border-left:3px solid #ff7875}.log-modal-entry.log-warning{background:#faad141a;border-left:3px solid #ffc53d}.log-modal-time{color:#999;font-size:12px;white-space:nowrap;min-width:80px}.log-modal-message{color:#e0e0e0;flex:1;word-break:break-word}.video-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.video-list-header h2{color:#e0e0e0;font-size:20px;margin:0}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background:#fff;border-radius:12px;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000026}.modal-content.modal-large{max-width:800px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px;border-bottom:1px solid #f0f0f0}.modal-header h3{font-size:18px;font-weight:600;color:#333;display:flex;align-items:center;gap:8px}.modal-header-actions{display:flex;gap:8px}.modal-help,.modal-close{width:32px;height:32px;border-radius:50%;background:transparent;color:#666;font-size:18px;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-help:hover,.modal-close:hover{background:#f5f5f5;color:#333}.modal-body{padding:30px;overflow-y:auto;flex:1}.modal-body h2{font-size:24px;font-weight:600;margin-bottom:24px;color:#333}.prompt-section{margin-bottom:30px}.prompt-section h4{font-size:16px;font-weight:600;margin-bottom:16px;color:#333}.prompt-list{margin-bottom:16px;padding-left:20px;color:#666;line-height:1.8}.prompt-list li{margin-bottom:8px}.prompt-note{margin:12px 0;color:#ff4d4f;font-weight:500}.prompt-example{background:#f5f5f5;padding:12px;border-radius:6px;margin-bottom:16px;font-size:13px;color:#666;line-height:1.6}.prompt-section textarea{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;line-height:1.6}.prompt-section textarea:focus{border-color:#1890ff;outline:none}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;font-weight:500;color:#333;font-size:14px}.form-hint{font-size:13px;color:#999;margin-bottom:12px}.form-group textarea{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit}.form-group textarea:focus{border-color:#1890ff;outline:none}.image-upload-area-modal{border:2px dashed #d9d9d9;border-radius:8px;padding:40px;text-align:center;min-height:200px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;transition:border-color .2s}.image-upload-area-modal:hover{border-color:#1890ff}.image-upload-area-modal p{color:#999;font-size:14px}.image-preview-modal{max-width:100%;max-height:300px;border-radius:6px}.select-image-button{width:100%;padding:12px;background:#1890ff;color:#fff;border-radius:6px;font-size:14px;transition:background .2s}.select-image-button:hover{background:#40a9ff}.modal-footer{padding:20px;border-top:1px solid #f0f0f0;display:flex;justify-content:flex-end;gap:12px}.cancel-button{padding:10px 20px;background:#fff;color:#333;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;transition:all .2s}.cancel-button:hover{border-color:#1890ff;color:#1890ff}.confirm-button{padding:10px 20px;background:#1890ff;color:#fff;border-radius:6px;font-size:14px;transition:background .2s}.confirm-button:hover{background:#40a9ff}.detail-images{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px}.detail-image-item{display:flex;flex-direction:column;gap:8px}.detail-image-item label{font-size:14px;font-weight:500;color:#333}.detail-image-item img{width:100%;height:200px;object-fit:cover;border-radius:6px;border:1px solid #e8e8e8}.image-placeholder{width:100%;height:200px;display:flex;align-items:center;justify-content:center;background:#f5f5f5;border-radius:6px;border:1px solid #e8e8e8;color:#999;font-size:14px}.detail-section{margin-bottom:24px}.detail-section label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:12px}.detail-textarea{width:100%;padding:12px;border:1px solid #d9d9d9;border-radius:6px;font-size:14px;resize:vertical;font-family:inherit;line-height:1.6;background:#fafafa}.detail-textarea:focus{border-color:#1890ff;outline:none;background:#fff}.detail-params{display:grid;grid-template-columns:1fr 1fr;gap:16px}.detail-param-item{display:flex;align-items:center;gap:8px;padding:12px;background:#fafafa;border-radius:6px;border:1px solid #e8e8e8}.param-label{font-size:14px;color:#666;font-weight:500}.param-value{font-size:14px;color:#333}.video-status{padding:40px;text-align:center;background:#f5f5f5;border-radius:6px;color:#999;font-size:14px}.video-preview-container{width:100%}.detail-video{width:100%;border-radius:6px;background:#000}.product-list{display:flex;flex-direction:column;height:calc(100vh - 120px);gap:0;position:relative}.product-display-area{flex:1;background:#1a1a1a;border-radius:8px;padding:40px 40px 300px;overflow-y:auto;min-height:300px}.empty-video-state{text-align:center;color:#999;padding:60px 20px}.videos-display-table{width:100%;display:flex;flex-direction:column;gap:20px}.videos-table-row{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;width:100%}.video-display-item{background:#2a2a2a;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;min-height:200px;border:1px solid #3d3d3d;position:relative}.video-display-item video{width:100%;display:block}.video-placeholder{padding:60px 20px;text-align:center;background:#2a2a2a;color:#999;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.video-progress-hint{font-size:12px;color:#666;margin-top:8px}.log-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.log-modal-content{background:#1e1e1e;border-radius:12px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #00000080}.log-modal-header{padding:20px 24px;border-bottom:1px solid #2d2d2d;display:flex;justify-content:space-between;align-items:center}.log-modal-header h3{margin:0;color:#e0e0e0;font-size:18px}.log-modal-close{background:none;border:none;color:#999;font-size:24px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.log-modal-close:hover{background:#2a2a2a;color:#e0e0e0}.log-modal-body{padding:20px 24px;overflow-y:auto;flex:1;max-height:calc(80vh - 80px)}.log-empty{text-align:center;color:#666;padding:40px}.log-entry-modal{padding:12px;margin-bottom:8px;border-radius:6px;font-size:14px;display:flex;gap:12px;align-items:flex-start}.log-entry-modal.log-info{background:#1890ff1a;color:#1890ff}.log-entry-modal.log-success{background:#52c41a1a;color:#52c41a}.log-entry-modal.log-error{background:#ff4d4f1a;color:#ff4d4f}.log-entry-modal.log-warning{background:#faad141a;color:#faad14}.log-time{color:#999;font-size:12px;white-space:nowrap;min-width:80px}.loading-spinner{width:40px;height:40px;border:3px solid #3d3d3d;border-top-color:#ff6b35;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@keyframes spin{to{transform:rotate(360deg)}}.video-display-info{padding:12px;font-size:12px;color:#999}.video-title{font-size:14px;color:#e0e0e0;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-status{font-size:11px;color:#999;margin-bottom:6px;padding:2px 6px;background:#ffffff14;border-radius:3px;display:inline-block;white-space:nowrap;line-height:1.4}.product-list-header{margin-bottom:24px;display:flex;justify-content:space-between;align-items:center}.product-list-header h2{color:#e0e0e0;font-size:20px;margin:0}.product-input-area{position:fixed;bottom:0;left:260px;right:0;background:#1e1e1e;border-top:1px solid #2d2d2d;padding:24px;z-index:100;box-shadow:0 -2px 10px #0000004d}.input-main-section{display:flex;gap:12px;margin-bottom:16px}.add-product-container{position:relative;min-width:120px;height:80px;display:flex;align-items:center;justify-content:center}.add-product-button{width:100%;height:100%;padding:12px;background:transparent;border:2px dashed #3d3d3d;border-radius:6px;color:#999;font-size:14px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.add-product-button:hover:not(:disabled){border-color:#ff6b35;color:#ff6b35;background:#ff6b350d}.add-product-button:disabled{opacity:.5;cursor:not-allowed}.add-product-button:before{content:"📷";font-size:24px;display:block}.add-product-preview{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d;cursor:pointer}.add-product-preview img{width:100%;height:100%;object-fit:cover}.add-product-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.add-product-remove:hover{background:#ff4d4fe6}.product-title-input{flex:1;padding:12px 16px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;transition:border-color .2s}.product-title-input:focus{outline:none;border-color:#ff6b35}.product-title-input::placeholder{color:#666}.quick-add-button{padding:12px 24px;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s;white-space:nowrap}.quick-add-button:hover:not(:disabled){background:#73d13d}.quick-add-button:disabled{background:#3d3d3d;cursor:not-allowed;opacity:.6}.setting-select{padding:10px 12px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;cursor:pointer;transition:all .2s}.setting-select:hover:not(:disabled){background:#333;border-color:#4d4d4d}.setting-select:focus{outline:none;border-color:#ff6b35}.setting-select:disabled{opacity:.6;cursor:not-allowed}.setting-select option{background:#2a2a2a;color:#e0e0e0}.product-list-header h2{font-size:24px;font-weight:600;color:#e0e0e0;margin:0}.product-table{margin-bottom:24px;max-height:calc(100vh - 300px);overflow-y:auto;position:relative}.product-table table{width:100%;border-collapse:collapse}.product-table thead{position:sticky;top:0;z-index:10;background:#1e1e1e}.product-table th{padding:12px;text-align:left;background:#2a2a2a;font-weight:500;color:#e0e0e0;border-bottom:1px solid #3d3d3d;position:sticky;top:0;z-index:10}.product-table td{padding:12px;border-bottom:1px solid #2d2d2d;color:#b0b0b0}.product-image{width:80px;height:80px;object-fit:cover;border-radius:4px}.status-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:500}.status-badge.status-pending{background:#fff7e6;color:#faad14}.status-badge.status-processing{background:#e6f7ff;color:#1890ff}.status-badge.status-completed{background:#f6ffed;color:#52c41a}.status-badge.status-failed{background:#fff2f0;color:#ff4d4f}.generate-button-small{padding:6px 12px;background:#52c41a;color:#fff;border-radius:4px;font-size:12px;transition:background .2s;border:none;cursor:pointer}.generate-button-small:hover{background:#73d13d}.detail-button-small{padding:6px 12px;background:#52c41a;color:#fff;border-radius:4px;font-size:12px;transition:background .2s;border:none;cursor:pointer}.detail-button-small:hover{background:#73d13d}.retry-button-small{padding:6px 12px;background:#ff9800;color:#fff;border-radius:4px;font-size:12px;transition:background .2s;border:none;cursor:pointer}.retry-button-small:hover{background:#fb8c00}.product-video{width:200px;max-height:150px;border-radius:4px}.empty-state{text-align:center;padding:40px;color:#666}.product-list-footer{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid #2d2d2d;margin-top:24px}.pagination{display:flex;align-items:center;gap:12px}.pagination button{padding:6px 12px;background:#2a2a2a;color:#e0e0e0;border:1px solid #3d3d3d;border-radius:4px;font-size:14px;transition:all .2s}.pagination button:hover:not(:disabled){background:#333;border-color:#4d4d4d}.pagination button:disabled{opacity:.5;cursor:not-allowed}.record-count{color:#999;font-size:14px}.clear-all-tasks-button{padding:8px 16px;background:#f44;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.clear-all-tasks-button:hover{background:#f66;transform:translateY(-1px)}.clear-all-tasks-button:active{transform:translateY(0)}.delete-task-button{position:absolute;top:8px;right:8px;width:28px;height:28px;background:#ff4444e6;color:#fff;border:none;border-radius:50%;font-size:20px;line-height:1;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center;transition:all .2s;opacity:.8}.delete-task-button:hover{background:#f44;opacity:1;transform:scale(1.1)}.delete-task-button:active{transform:scale(.95)}.prompt-generator{display:flex;flex-direction:column;height:calc(100vh - 120px);gap:0;position:relative}.prompt-display-area{flex:1;background:#1a1a1a;border-radius:8px;padding:40px 40px 300px;overflow-y:auto;min-height:300px}.empty-prompt-state{text-align:center;color:#999;padding:60px 20px}.empty-icon{font-size:64px;margin-bottom:16px;opacity:.5}.empty-title{font-size:18px;color:#b0b0b0;margin-bottom:8px}.empty-hint{font-size:14px;color:#666}.prompts-list{display:flex;flex-direction:column;gap:24px}.prompt-item{background:#2a2a2a;border-radius:8px;padding:24px;border:1px solid #3d3d3d}.prompt-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #3d3d3d}.prompt-header h3{font-size:18px;font-weight:600;color:#e0e0e0;margin:0}.prompt-date{font-size:12px;color:#999}.prompt-images{display:flex;gap:20px;margin-bottom:20px}.prompt-image-item{flex:1;display:flex;flex-direction:column;gap:8px}.prompt-image-item label{font-size:12px;color:#999}.prompt-image-item img{width:100%;max-height:300px;object-fit:contain;background:#1a1a1a;border-radius:6px;border:1px solid #3d3d3d}.prompt-outputs{display:flex;flex-direction:column;gap:16px}.output-section{display:flex;flex-direction:column;gap:8px}.output-section label{font-size:14px;font-weight:500;color:#e0e0e0}.output-content{background:#1a1a1a;border:1px solid #3d3d3d;border-radius:6px;padding:16px;font-size:14px;color:#b0b0b0;line-height:1.6;white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto}.prompt-input-area{position:fixed;bottom:0;left:260px;right:0;background:#1e1e1e;border-top:1px solid #2d2d2d;padding:24px;z-index:100;box-shadow:0 -2px 10px #0000004d}.input-main-section{display:flex;gap:12px;margin-bottom:16px;align-items:center}.image-upload-container{position:relative;min-width:120px;height:80px;display:flex;align-items:center;justify-content:center}.upload-image-button{width:100%;height:100%;padding:12px 20px;background:transparent;border:2px dashed #3d3d3d;border-radius:6px;color:#999;font-size:14px;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.upload-image-button:hover:not(:disabled){border-color:#ff6b35;color:#ff6b35;background:#ff6b350d}.upload-image-button:disabled{opacity:.5;cursor:not-allowed}.upload-image-button:before{content:"📷";font-size:24px;display:block}.image-preview{position:relative;width:100%;height:100%;border-radius:6px;overflow:hidden;border:1px solid #3d3d3d;cursor:pointer}.image-preview img{width:100%;height:100%;object-fit:cover}.remove-image-button{position:absolute;top:4px;right:4px;width:24px;height:24px;background:#000000b3;color:#fff;border:none;border-radius:50%;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.remove-image-button:hover{background:#ff4d4fe6}.title-input{flex:1;padding:12px 16px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;transition:border-color .2s}.title-input:focus{outline:none;border-color:#ff6b35}.title-input::placeholder{color:#666}.generate-button{padding:12px 24px;background:#52c41a;color:#fff;border:none;border-radius:6px;font-size:14px;cursor:pointer;transition:background .2s;white-space:nowrap}.generate-button:hover:not(:disabled){background:#73d13d}.generate-button:disabled{background:#3d3d3d;cursor:not-allowed;opacity:.6}.input-settings-section{margin-bottom:16px}.settings-row{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap}.setting-item{display:flex;flex-direction:column;gap:8px;min-width:120px}.setting-item label{font-size:12px;color:#999}.prompt-settings-button-compact{padding:10px 12px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:14px;color:#e0e0e0;cursor:pointer;transition:all .2s;width:100%}.prompt-settings-button-compact:hover{background:#333;border-color:#ff6b35;color:#ff6b35}.open-logs-button{position:fixed;bottom:200px;right:20px;padding:10px 16px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s;z-index:200;box-shadow:0 2px 8px #0000004d}.open-logs-button:hover{background:#333;border-color:#ff6b35;color:#ff6b35}.logs-display{position:fixed;bottom:200px;right:20px;width:400px;max-height:300px;background:#1e1e1e;border:1px solid #3d3d3d;border-radius:8px;box-shadow:0 4px 12px #0000004d;z-index:200;display:flex;flex-direction:column;transition:all .3s}.logs-display.minimized{max-height:50px;overflow:hidden}.logs-header{padding:12px 16px;border-bottom:1px solid #3d3d3d;display:flex;justify-content:space-between;align-items:center}.logs-header h4{margin:0;font-size:14px;color:#e0e0e0}.logs-header-actions{display:flex;gap:8px;align-items:center}.logs-minimize-button,.logs-close-button{width:24px;height:24px;background:transparent;border:none;color:#999;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.logs-minimize-button:hover,.logs-close-button:hover{background:#2a2a2a;color:#e0e0e0}.logs-body{flex:1;overflow-y:auto;padding:12px;max-height:250px}.log-entry{padding:8px;margin-bottom:4px;border-radius:4px;font-size:12px;display:flex;gap:8px;align-items:flex-start}.log-entry.log-info{background:#1890ff1a;color:#1890ff}.log-entry.log-success{background:#52c41a1a;color:#52c41a}.log-entry.log-error{background:#ff4d4f1a;color:#ff4d4f}.log-entry.log-warning{background:#faad141a;color:#faad14}.log-time{color:#999;font-size:11px;white-space:nowrap;min-width:60px}.character-creator{width:100%;height:100%;display:flex;flex-direction:column;padding:20px;box-sizing:border-box;overflow-y:auto}.character-creator-content{max-width:1200px;width:100%;margin:0 auto}.character-form{background:#fff;border-radius:8px;padding:24px;box-shadow:0 2px 8px #0000001a}.character-form h2{margin:0 0 24px;font-size:24px;color:#333;font-weight:600}.form-section{margin-bottom:24px}.form-label{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:#333}.form-input{width:100%;padding:10px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;box-sizing:border-box;transition:border-color .2s}.form-input:focus{outline:none;border-color:#4a90e2}.form-input:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-hint{margin-top:6px;font-size:12px;color:#999}.upload-area{position:relative}.upload-dropzone{border:2px dashed #ddd;border-radius:8px;padding:40px;text-align:center;cursor:pointer;transition:all .2s;background:#fafafa}.upload-dropzone:hover{border-color:#4a90e2;background:#f0f7ff}.upload-icon{font-size:48px;margin-bottom:12px}.upload-text{color:#666}.upload-text p{margin:4px 0}.upload-hint{font-size:12px;color:#999}.video-preview-container{position:relative;width:100%;max-width:600px;margin:0 auto}.video-preview{width:100%;border-radius:8px;background:#000}.remove-video-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;background:#0009;color:#fff;border:none;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.remove-video-btn:hover{background:#000c}.timestamp-inputs{display:flex;align-items:center;gap:12px}.timestamp-group{flex:1;display:flex;flex-direction:column;gap:6px}.timestamp-group label{font-size:12px;color:#666}.timestamp-input{width:100%}.timestamp-separator{font-size:18px;color:#666;margin-top:24px}.create-character-btn{width:100%;padding:12px 24px;background:#4a90e2;color:#fff;border:none;border-radius:4px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.create-character-btn:hover:not(:disabled){background:#357abd}.create-character-btn:disabled{background:#ccc;cursor:not-allowed}.character-result{margin-top:32px;padding:24px;background:#f8f9fa;border-radius:8px;border:1px solid #e9ecef}.character-result h3{margin:0 0 20px;font-size:20px;color:#28a745}.character-info{display:flex;gap:24px}.character-avatar{flex-shrink:0;width:120px;height:120px;border-radius:8px;overflow:hidden;background:#fff;border:2px solid #e9ecef}.character-avatar img{width:100%;height:100%;object-fit:cover}.character-details{flex:1;display:flex;flex-direction:column;gap:16px}.character-detail-item{display:flex;flex-direction:column;gap:6px}.character-detail-item label{font-size:12px;color:#666;font-weight:500}.detail-value{display:flex;align-items:center;gap:8px}.detail-value span{flex:1;font-size:14px;color:#333;word-break:break-all}.prompt-usage{font-family:Courier New,monospace;background:#fff;padding:4px 8px;border-radius:4px;border:1px solid #ddd}.copy-btn{padding:4px 8px;background:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.copy-btn:hover{background:#e0e0e0}.character-link{color:#4a90e2;text-decoration:none;word-break:break-all}.character-link:hover{text-decoration:underline}.log-section{margin-top:20px;text-align:center}.log-toggle-btn{padding:8px 16px;background:#6c757d;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.log-toggle-btn:hover{background:#5a6268}.log-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.log-modal-content{background:#fff;border-radius:8px;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 4px 20px #0000004d}.log-modal-header{padding:16px 20px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.log-modal-header h3{margin:0;font-size:18px;color:#333}.log-modal-close{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s}.log-modal-close:hover{background:#f0f0f0}.log-modal-body{padding:20px;overflow-y:auto;flex:1}.log-empty{text-align:center;color:#999;padding:40px}.log-list{display:flex;flex-direction:column;gap:8px}.log-item{padding:8px 12px;border-radius:4px;font-size:13px;display:flex;gap:12px}.log-time{color:#999;font-size:12px;flex-shrink:0;min-width:80px}.log-message{flex:1;word-break:break-word}.log-info{background:#e7f3ff;color:#06c}.log-success{background:#e7f5e7;color:#28a745}.log-error{background:#ffe7e7;color:#dc3545}.log-warning{background:#fff3cd;color:#856404}@media (max-width: 768px){.character-creator{padding:12px}.character-form{padding:16px}.character-info{flex-direction:column}.character-avatar{width:100%;max-width:200px;margin:0 auto}.timestamp-inputs{flex-direction:column;align-items:stretch}.timestamp-separator{margin-top:0;text-align:center}}.app{min-height:100vh;display:flex;background:#1a1a1a;color:#e0e0e0}.app-sidebar{width:260px;background:#1e1e1e;border-right:1px solid #2d2d2d;display:flex;flex-direction:column;height:100vh;position:fixed;left:0;top:0;overflow-y:auto}.sidebar-header{padding:24px 20px;border-bottom:1px solid #2d2d2d}.logo{display:flex;align-items:center;gap:12px;margin-bottom:4px}.logo-img{height:36px;width:36px;flex-shrink:0;transition:transform .3s ease}.logo-img:hover{transform:scale(1.1) rotate(5deg)}.logo-text{font-size:20px;font-weight:600;color:#ff6b35}.subtitle{font-size:12px;color:#999}.sidebar-nav{flex:1;padding:16px 0}.nav-item{width:100%;padding:12px 20px;background:transparent;color:#b0b0b0;font-size:14px;border:none;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;text-align:left}.nav-item:hover{background:#2a2a2a;color:#e0e0e0}.nav-item.active{background:#2a2a2a;color:#ff6b35;border-left:3px solid #ff6b35}.nav-icon{font-size:16px;width:20px;text-align:center}.sidebar-settings{border-top:1px solid #2d2d2d;background:#1a1a1a}.settings-toggle-btn{width:100%;padding:16px 20px;background:transparent;color:#e0e0e0;border:none;display:flex;align-items:center;gap:12px;cursor:pointer;font-size:14px;transition:all .2s;text-align:left}.settings-toggle-btn:hover{background:#2a2a2a}.settings-icon{font-size:16px;width:20px;text-align:center}.toggle-arrow{margin-left:auto;transition:transform .2s;font-size:10px;color:#999}.toggle-arrow.open{transform:rotate(180deg)}.settings-content{padding:20px;border-top:1px solid #2d2d2d;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.url-config-hint{margin-bottom:16px;padding:12px;background:#252525;border-radius:6px;border:1px solid #333}.url-config-hint details{cursor:pointer}.url-config-hint summary{font-size:12px;color:#ff6b35;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:4px}.url-config-hint summary::-webkit-details-marker{display:none}.url-config-hint details[open] summary{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #333}.hint-content{font-size:11px;color:#999;line-height:1.6}.hint-content p{margin:4px 0}.hint-content code{display:block;padding:6px 8px;background:#1a1a1a;border:1px solid #333;border-radius:4px;color:#4a9eff;font-family:Courier New,monospace;font-size:10px;margin:6px 0;word-break:break-all}.hint-example{margin-top:6px;padding-top:6px;border-top:1px solid #333}.hint-example small{color:#666;font-size:9px;word-break:break-all;display:block;margin-top:4px}.api-key-link-item{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid #2d2d2d}.api-key-link{display:block;font-size:11px;color:#4a9eff;text-decoration:none;word-break:break-all;line-height:1.5;transition:color .2s}.api-key-link:hover{color:#6bb3ff;text-decoration:underline}.api-setting-item{margin-bottom:16px}.api-setting-item:last-child{margin-bottom:0}.api-setting-item label{display:block;font-size:12px;color:#999;margin-bottom:8px}.api-key-input-sidebar{width:100%;padding:8px 12px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:12px;color:#e0e0e0;margin-bottom:8px;transition:border-color .2s}.api-key-input-sidebar:focus{outline:none;border-color:#ff6b35}.api-key-input-sidebar::placeholder{color:#666}.save-api-key-button-sidebar{width:100%;padding:8px;background:#ff6b35;color:#fff;border:none;border-radius:6px;font-size:12px;cursor:pointer;transition:background .2s}.save-api-key-button-sidebar:hover{background:#ff8555}.output-directory-selector{display:flex;flex-direction:column;gap:8px}.select-directory-button{width:100%;padding:8px 12px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;font-size:12px;color:#e0e0e0;cursor:pointer;transition:all .2s;text-align:left;display:flex;align-items:center;gap:8px}.select-directory-button:hover{background:#333;border-color:#ff6b35;color:#ff6b35}.directory-name{font-size:11px;color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.app-main{flex:1;margin-left:260px;display:flex;flex-direction:column;min-height:100vh}.main-header{padding:20px 32px;border-bottom:1px solid #2d2d2d;background:#1e1e1e;display:flex;justify-content:space-between;align-items:center}.breadcrumb{font-size:14px;color:#999}.header-actions{display:flex;align-items:center;gap:12px}.clear-all-tasks-button-header{padding:8px 16px;background:#f44;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.clear-all-tasks-button-header:hover{background:#f66;transform:translateY(-1px)}.clear-all-tasks-button-header:active{transform:translateY(0)}.download-all-button-header{padding:8px 16px;background:#4caf50;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.download-all-button-header:hover{background:#45a049;transform:translateY(-1px)}.download-all-button-header:active{transform:translateY(0)}.log-button-header{padding:8px 16px;background:#2a2a2a;border:1px solid #3d3d3d;border-radius:6px;color:#e0e0e0;font-size:14px;cursor:pointer;transition:all .2s}.log-button-header:hover{background:#333;border-color:#ff6b35;color:#ff6b35}.video-enhancer-button-header{padding:8px 16px;background:#4caf50;border:none;border-radius:6px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:6px}.video-enhancer-button-header:hover{background:#45a049;transform:translateY(-1px)}.video-enhancer-button-header:active{transform:translateY(0)}.main-content{flex:1;padding:32px;overflow-y:auto}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a1a;color:#e0e0e0}#root{min-height:100vh}button{cursor:pointer;border:none;outline:none;font-family:inherit}input,textarea{font-family:inherit;outline:none}
