:root{--primary: #6366f1;--primary-dark: #4f46e5;--secondary: #1e293b;--background: #0f172a;--surface: #1e293b;--text: #f1f5f9;--text-muted: #94a3b8;--border: #334155;--success: #10b981;--error: #ef4444}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--background);color:var(--text);min-height:100vh;line-height:1.6}.container{max-width:800px;margin:0 auto;padding:0 1.5rem}.header{padding:3rem 0;text-align:center;border-bottom:1px solid var(--border)}.header h1{font-size:2.5rem;margin-bottom:.5rem}.header p{color:var(--text-muted);font-size:1.1rem}.main-content{padding:3rem 0;min-height:60vh}.upload-section{text-align:center}.api-key-section{background:var(--surface);border:1px solid var(--border);border-radius:.75rem;padding:1.5rem;margin-bottom:1.5rem;text-align:left}.api-key-section label{display:block;font-weight:600;margin-bottom:.5rem;color:var(--text)}.api-key-section input{width:100%;padding:.75rem 1rem;background:var(--background);border:1px solid var(--border);border-radius:.5rem;color:var(--text);font-size:1rem;margin-bottom:.5rem}.api-key-section input:focus{outline:none;border-color:var(--primary)}.api-key-section small{color:var(--text-muted);font-size:.875rem}.api-key-section a{color:var(--primary);text-decoration:none}.api-key-section a:hover{text-decoration:underline}.upload-area{border:2px dashed var(--border);border-radius:1rem;padding:4rem 2rem;cursor:pointer;transition:all .3s ease;background:var(--surface)}.upload-area:hover,.upload-area.dragover{border-color:var(--primary);background:#6366f11a}.upload-icon{font-size:4rem;margin-bottom:1rem}.upload-area h2{margin-bottom:.5rem}.upload-area p{color:var(--text-muted)}.file-info{display:flex;align-items:center;justify-content:center;gap:1rem;margin:1.5rem 0;padding:1rem;background:var(--surface);border-radius:.5rem}.btn-remove{background:var(--error);color:#fff;border:none;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1}.btn{padding:.875rem 2rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover:not(:disabled){background:var(--primary-dark)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-upload{margin-top:1.5rem}.loading-section{text-align:center;padding:4rem 0}.animation-container{margin-bottom:2rem}.spinner{width:60px;height:60px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{to{transform:rotate(360deg)}}.progress-text{color:var(--text-muted);margin-top:1rem}.result-section{background:var(--surface);border-radius:1rem;padding:2rem}.result-section h2{margin-bottom:1.5rem}.result-content{background:var(--background);padding:1.5rem;border-radius:.5rem;white-space:pre-wrap;line-height:1.8;margin-bottom:1.5rem}.video-info{color:var(--text-muted);font-size:.875rem;margin-bottom:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.result-actions{display:flex;gap:1rem;justify-content:center}.error-section{text-align:center;padding:4rem 0}.error-icon{font-size:4rem;margin-bottom:1rem}.error-section h2{margin-bottom:1rem}#error-message{color:var(--error);margin-bottom:2rem}.footer{text-align:center;padding:2rem 0;color:var(--text-muted);border-top:1px solid var(--border)}@media (max-width: 640px){.header h1{font-size:1.75rem}.upload-area{padding:2rem 1rem}.result-actions{flex-direction:column}.btn{width:100%}}
