:root{--primary: #4F46E5;--primary-hover: #4338CA;--bg-color: #0F172A;--surface: #1E293B;--surface-hover: #334155;--text-main: #F8FAFC;--text-muted: #94A3B8;--border-color: #334155;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}body{background-color:var(--bg-color);color:var(--text-main);min-height:100vh}.app-container{max-width:1200px;margin:0 auto;padding:2rem}header{text-align:center;margin-bottom:3rem}header h1{font-size:2.5rem;background:linear-gradient(135deg,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:.5rem}header p{color:var(--text-muted);font-size:1.1rem}.upload-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:2rem}.upload-card{background-color:var(--surface);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem;transition:transform .2s,box-shadow .2s}.upload-card:hover{transform:translateY(-2px);box-shadow:0 10px 25px -5px #0000004d}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.card-title{font-size:1.25rem;font-weight:600}.badge{background-color:#4f46e533;color:#818cf8;padding:.25rem .75rem;border-radius:9999px;font-size:.875rem;font-weight:500}.file-drop-area{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);background-color:#1e293b80;cursor:pointer;transition:all .2s}.file-drop-area:hover{border-color:var(--primary);background-color:#4f46e50d}.file-drop-area input[type=file]{position:absolute;width:100%;height:100%;top:0;left:0;opacity:0;cursor:pointer}.icon{margin-bottom:.5rem;color:var(--text-muted)}.file-drop-text{color:var(--text-muted);font-size:.875rem;text-align:center}.file-list{margin-top:1rem;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;align-items:center;justify-content:space-between;padding:.5rem .75rem;background-color:var(--surface-hover);border-radius:var(--radius-sm);font-size:.875rem}.file-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.remove-btn{background:none;border:none;color:#ef4444;cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center}.remove-btn:hover{background-color:#ef44441a}.actions-section{display:flex;flex-direction:column;align-items:center;gap:1.5rem;margin-top:3rem}.generate-btn{background:linear-gradient(135deg,var(--primary),#818CF8);color:#fff;border:none;padding:1rem 2.5rem;font-size:1.125rem;font-weight:600;border-radius:9999px;cursor:pointer;transition:all .3s;box-shadow:0 4px 15px #4f46e566}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4f46e599}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.status-area{width:100%;max-width:600px;background-color:var(--surface);border-radius:var(--radius-lg);padding:1.5rem;text-align:center}.progress-bar-container{width:100%;height:8px;background-color:var(--border-color);border-radius:4px;overflow:hidden;margin-top:1rem}.progress-bar{height:100%;background:linear-gradient(90deg,#4f46e5,#c084fc);transition:width .3s ease}.results-section{margin-top:4rem}.results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem;margin-top:1.5rem}.result-card{background-color:var(--surface);border-radius:var(--radius-lg);padding:1rem;border:1px solid var(--border-color)}.result-video{width:100%;border-radius:var(--radius-md);margin-bottom:1rem;background-color:#000;aspect-ratio:9/16}.download-link{display:block;text-align:center;background-color:var(--surface-hover);color:var(--text-main);text-decoration:none;padding:.75rem;border-radius:var(--radius-sm);font-weight:500;transition:background-color .2s}.download-link:hover{background-color:var(--primary)}
