.upload-container{max-width:1100px;margin:0 auto;padding:0 var(--spacing-lg);}
.upload-header{text-align:center;padding-bottom:16px;padding-top:8px;}
.upload-header h1{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);font-size:var(--font-3xl);font-weight:700;color:var(--text-primary);margin-bottom:8px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-hover) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.upload-header h1 .icon{width:36px;height:36px;fill:var(--primary-color);-webkit-text-fill-color:initial;}
.upload-header p{font-size:var(--font-md);color:var(--text-secondary);}
.alert{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);font-size:var(--font-md);border:2px solid;}
.alert .icon{width:20px;height:20px;flex-shrink:0;}
.alert-error{background:rgba(244,67,54,0.1);border-color:var(--error-color);color:var(--error-color);}
.alert-success{background:rgba(76,175,80,0.1);border-color:var(--success-color);color:var(--success-color);}
.alert-warning{background:rgba(255,193,7,0.1);border-color:var(--warning-color);color:var(--warning-color);}
.upload-form{background:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:16px var(--spacing-2xl);box-shadow:0 4px 20px rgba(0,0,0,0.1);}
.upload-section{margin-bottom:var(--spacing-2xl);padding-bottom:var(--spacing-2xl);border-bottom:1px solid var(--border-primary);}
.upload-section:last-of-type{border-bottom:none;margin-bottom:0;padding-bottom:0;}
.upload-section h2{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-lg);padding-top:12px;text-align:center;}
.upload-section h2 .icon{width:24px;height:24px;fill:var(--primary-color);}
.upload-files-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xl);margin-bottom:26px;}
.upload-file-item h2{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin-bottom:12px;text-align:center;}
.upload-file-item h2 .icon{width:24px;height:24px;fill:var(--primary-color);}
.file-upload-area{position:relative;border:3px dashed var(--border-primary);border-radius:var(--radius-lg);background:var(--bg-secondary);transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);overflow:hidden;min-height:200px;display:flex;align-items:center;justify-content:center;}
.file-upload-area:hover{border-color:var(--primary-color);background:rgba(255,102,0,0.05);}
.file-upload-area.dragover{border-color:var(--primary-color);background:rgba(255,102,0,0.1);transform:scale(1.02);}
.upload-placeholder{width:100%;padding:var(--spacing-xl);text-align:center;cursor:pointer;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);}
.upload-placeholder:hover{background:rgba(255,102,0,0.03);}
.upload-placeholder .icon{width:64px;height:64px;fill:var(--primary-color);margin-bottom:var(--spacing-md);}
.upload-placeholder h3{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);}
.upload-placeholder p{font-size:var(--font-sm);color:var(--text-secondary);}
.upload-progress{width:100%;padding:var(--spacing-xl);text-align:center;}
.progress-bar{width:100%;height:8px;background:var(--bg-hover);border-radius:var(--radius-full);overflow:hidden;margin-bottom:var(--spacing-md);}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color) 0%,var(--primary-color-hover) 100%);transition:width 0.3s ease;border-radius:var(--radius-full);position:relative;}
.progress-fill::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.3),transparent);animation:shimmer 1.5s infinite;}
@keyframes shimmer{0%{transform:translateX(-100%);}
100%{transform:translateX(100%);}
}
.progress-text{font-size:var(--font-lg);font-weight:600;color:var(--primary-color);}
.cover-preview{position:relative;width:100%;padding:var(--spacing-md);}
.cover-preview img{width:100%;max-height:400px;object-fit:contain;border-radius:var(--radius-md);background:var(--bg-hover);}
.btn-remove-cover{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:rgba(244,67,54,0.9);color:white;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);transition:opacity var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);}
.btn-remove-cover:hover{background:var(--error-color);transform:scale(1.05);}
.btn-remove-cover .icon{width:16px;height:16px;}
.video-selected{position:relative;width:100%;padding:var(--spacing-md);}
.video-selected-content{width:100%;padding:var(--spacing-xl);text-align:center;}
.video-selected-content .icon{width:64px;height:64px;fill:var(--success-color);margin-bottom:var(--spacing-md);}
.video-selected-content h3{font-size:var(--font-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);}
.video-selected-content .video-filename{font-size:var(--font-sm);color:var(--text-secondary);word-break:break-all;}
.btn-remove-video{position:absolute;top:var(--spacing-lg);right:var(--spacing-lg);background:rgba(244,67,54,0.9);color:white;border:none;border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;display:flex;align-items:center;gap:var(--spacing-xs);transition:opacity var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);}
.btn-remove-video:hover{background:var(--error-color);transform:scale(1.05);}
.btn-remove-video .icon{width:16px;height:16px;}
.form-group{margin-bottom:var(--spacing-md);display:flex;align-items:center;gap:4px;}
.form-group label{display:flex;gap:var(--spacing-xs);font-size:var(--font-md);font-weight:600;color:var(--text-primary);white-space:nowrap;min-width:120px;}
.form-group label::after{content:'：';}
.form-group label .icon{width:18px;height:18px;fill:var(--primary-color);}
.form-group input[type="text"],.form-group textarea,.form-group select{flex:1;padding:8px 12px;font-size:var(--font-md);color:var(--text-primary);background:var(--bg-input);border:2px solid var(--border-primary);border-radius:var(--radius-md);transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);outline:none;}
.form-group input[type="text"]:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px rgba(255,102,0,0.1);background:var(--bg-secondary);}
.form-group input[type="text"][readonly]{background:var(--bg-hover);color:var(--text-secondary);cursor:not-allowed;opacity:0.7;}
.form-group input[type="text"][readonly]:focus{border-color:var(--border-primary);box-shadow:none;background:var(--bg-hover);}
.form-group textarea{flex:1;resize:vertical;min-height:60px;font-family:inherit;}
.form-hint{display:block;margin-top:var(--spacing-xs);margin-left:0;font-size:var(--font-sm);color:var(--text-meta);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-lg);}
.radio-group{display:flex;flex-direction:column;gap:var(--spacing-sm);}
.radio-label{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--bg-secondary);border:2px solid var(--border-primary);border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);}
.radio-label:hover{border-color:var(--primary-color);background:rgba(255,102,0,0.05);}
.radio-label input[type="radio"]{width:20px;height:20px;cursor:pointer;accent-color:var(--primary-color);}
.radio-label input[type="radio"]:checked{border-color:var(--primary-color);}
.radio-label:has(input[type="radio"]:checked){border-color:var(--primary-color);background:rgba(255,102,0,0.1);}
.radio-label span{font-size:var(--font-md);color:var(--text-primary);}
.form-checkbox{margin-bottom:var(--spacing-md);margin-left:132px;}
.form-checkbox label{display:flex;align-items:flex-start;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-md);color:var(--text-primary);}
.form-checkbox label::after{content:none;}
.form-checkbox input[type="checkbox"]{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:var(--primary-color);}
.form-checkbox a{color:var(--primary-color);text-decoration:none;transition:opacity var(--transition-fast),transform var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast);}
.form-checkbox a:hover{color:var(--primary-color-hover);text-decoration:underline;}
.upload-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:0;padding-top:0;}
.btn{display:inline-flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);font-size:var(--font-md);font-weight:600;border:2px solid;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);text-decoration:none;}
.btn .icon{width:18px;height:18px;}
.btn-primary{background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-color-hover) 100%);color:white;border-color:var(--primary-color);box-shadow:0 4px 12px rgba(255,102,0,0.3);}
.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color-hover) 0%,#d94a00 100%);transform:translateY(-2px);box-shadow:0 6px 20px rgba(255,102,0,0.4);}
.btn-primary:disabled{opacity:0.6;cursor:not-allowed;}
.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-primary);}
.btn-secondary:hover{background:rgba(255,102,0,0.1);border-color:var(--primary-color);color:var(--primary-color);}
.modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.75);z-index:9999;animation:fadeIn 0.2s ease;}
.modal-overlay.show{display:flex;align-items:center;justify-content:center;}
.modal-content{background:var(--bg-card);border:2px solid var(--border-primary);border-radius:var(--radius-xl);padding:var(--spacing-xl);max-width:500px;width:90%;box-shadow:0 20px 60px rgba(0,0,0,0.3);animation:slideUp 0.3s ease;position:relative;}
[data-theme="light"] .modal-content{background:white;}
.modal-header{display:flex;align-items:center;justify-content:center;margin-bottom:0;padding-bottom:0;}
.modal-icon{width:64px;height:64px;margin-bottom:var(--spacing-md);}
.modal-icon.error{fill:var(--error-color);}
.modal-icon.warning{fill:var(--warning-color);}
.modal-icon.info{fill:var(--primary-color);}
.modal-body{text-align:center;}
.modal-title{font-size:var(--font-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-md);}
.modal-message{font-size:var(--font-md);color:var(--text-secondary);line-height:1.6;margin-bottom:4px;}
.modal-footer{display:flex;gap:var(--spacing-md);justify-content:center;}
.modal-btn{padding:var(--spacing-md) var(--spacing-2xl);font-size:var(--font-md);font-weight:600;border:2px solid;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-normal),transform var(--transition-normal),background-color var(--transition-normal),color var(--transition-normal);display:inline-flex;align-items:center;gap:var(--spacing-sm);}
.modal-btn-primary{background:var(--primary-color);color:white;border-color:var(--primary-color);}
.modal-btn-primary:hover{background:var(--primary-color-hover);transform:translateY(-2px);box-shadow:0 4px 12px rgba(255,102,0,0.3);}
.modal-btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-primary);}
.modal-btn-secondary:hover{background:rgba(255,102,0,0.1);border-color:var(--primary-color);color:var(--primary-color);}
@keyframes fadeIn{from{opacity:0;}
to{opacity:1;}
}
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}
to{opacity:1;transform:translateY(0);}
}
[data-theme="light"] .upload-form{background:white;box-shadow:0 4px 20px rgba(0,0,0,0.05);}
[data-theme="light"] .file-upload-area{background:#f8f9fa;}
[data-theme="light"] .radio-label{background:#f8f9fa;}
[data-theme="light"] .form-group input[type="text"],[data-theme="light"] .form-group textarea,[data-theme="light"] .form-group select{background:white;}
@media (max-width:768px){.upload-container{padding:var(--spacing-lg) var(--spacing-md);}
.upload-form{padding:var(--spacing-lg);}
.upload-header h1{font-size:var(--font-2xl);}
.upload-header h1 .icon{width:28px;height:28px;}
.upload-files-row{grid-template-columns:1fr;gap:var(--spacing-lg);}
.form-row{grid-template-columns:1fr;}
.form-group{flex-direction:column;align-items:flex-start;}
.form-group label{margin-bottom:var(--spacing-sm);min-width:auto;}
.form-group input[type="text"],.form-group textarea,.form-group select{width:100%;}
.form-hint{margin-left:0;}
.form-checkbox{margin-left:0;}
.upload-actions{flex-direction:column-reverse;}
.upload-actions .btn{width:100%;justify-content:center;}
.file-upload-area{min-height:180px;}
.upload-placeholder{padding:var(--spacing-lg) var(--spacing-md);}
.upload-placeholder .icon{width:48px;height:48px;}
.upload-placeholder h3{font-size:var(--font-md);}
.upload-placeholder p{font-size:var(--font-xs);}
}
@media (max-width:576px){.file-upload-area{min-height:160px;}
.upload-section h2,.upload-file-item h2{font-size:var(--font-lg);}
.upload-section h2 .icon,.upload-file-item h2 .icon{width:20px;height:20px;}
}
