.app{width:100%;min-height:100vh;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;margin:20px;padding:20px;box-shadow:0 8px 32px #0000001a}.header{text-align:center;margin-bottom:40px;color:#fff}.header h1{font-size:3rem;margin:0 0 10px;text-shadow:2px 2px 4px rgba(0,0,0,.3)}.header p{font-size:1.2rem;margin:0;opacity:.9}.main{max-width:1200px;margin:0 auto}.upload-section{background:#fffffff2;border-radius:15px;padding:40px;margin-bottom:40px;box-shadow:0 4px 20px #0000001a;text-align:center}.upload-section h2{color:#333;margin:0 0 25px;font-size:2.2rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.upload-prompt{max-width:600px;margin:0 auto}.prompt-text{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:30px}.upload-area{border:3px dashed #667eea;border-radius:20px;padding:40px 20px;background:#667eea0d;transition:all .3s ease;cursor:pointer}.upload-area:hover{border-color:#764ba2;background:#764ba21a;transform:translateY(-2px)}.upload-icon{font-size:4rem;margin-bottom:15px}.upload-text{color:#333;font-size:1.2rem;font-weight:600;margin:0 0 10px}.upload-hint{color:#888;font-size:.9rem;margin:0 0 25px}.file-input{display:none}.file-preview{text-align:center}.image-preview{margin-bottom:25px}.preview-image{max-width:100%;max-height:300px;border-radius:15px;box-shadow:0 4px 20px #00000026;margin-bottom:15px}.file-info{margin-bottom:20px}.filesize{color:#666;margin:0;font-size:.9rem}.description-input{margin-bottom:20px}.description-input label{display:block;margin-bottom:8px;color:#333;font-weight:600;font-size:.95rem}.description-textarea{width:100%;padding:12px;border:2px solid #ddd;border-radius:8px;font-family:inherit;font-size:14px;line-height:1.5;resize:vertical;min-height:80px;transition:border-color .3s ease}.description-textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.description-textarea::placeholder{color:#999;font-style:italic}.character-count{text-align:right;margin-top:5px;font-size:.8rem;color:#666}.upload-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.btn{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-success{background:#28a745;color:#fff}.btn-success:hover{background:#218838;transform:translateY(-2px);box-shadow:0 6px 20px #28a74566}.btn-secondary{background:#6c757d;color:#fff}.btn-secondary:hover{background:#5a6268;transform:translateY(-2px)}.upload-btn{font-size:1.1rem;padding:15px 30px}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn:disabled:hover{transform:none;box-shadow:none}.error{background:#f8d7da;color:#721c24;padding:15px;border-radius:8px;margin:20px 0;border:1px solid #f5c6cb}.failure-message{background:#fff3cd;color:#856404;border:1px solid #ffeaa7;padding:25px;margin:20px 0;border-radius:15px;text-align:center}.failure-message h3{margin:0 0 15px;color:#856404;font-size:1.5rem}.failure-message p{margin:10px 0;line-height:1.6}.failure-message ul{text-align:left;max-width:500px;margin:15px auto;padding-left:20px}.failure-message li{margin:8px 0;line-height:1.5}.video-status-section{background:#fffffff2;border-radius:15px;padding:30px;margin-top:20px;box-shadow:0 4px 20px #0000001a;text-align:center}.video-status-section h2{color:#667eea;margin:0 0 25px;font-size:1.8rem}.status-content{max-width:500px;margin:0 auto}.status-display{display:flex;align-items:center;gap:20px;padding:20px;background:#667eea1a;border-radius:15px;border:2px solid #667eea}.status-icon{font-size:3rem;flex-shrink:0}.status-display.preparing .status-icon{animation:spin 2s linear infinite}.status-display.queueing .status-icon{animation:spin 1.5s linear infinite}.status-display.processing .status-icon{animation:spin 1s linear infinite}.status-info{text-align:left;flex-grow:1}.status-info h3{margin:0 0 15px;color:#333;font-size:1.3rem}.status-info p{margin:8px 0;color:#333;font-size:1rem}.status-info strong{color:#667eea}.status-error{color:#dc3545!important}.loading-spinner{text-align:center;padding:40px 20px}.spinner{width:50px;height:50px;border:4px solid rgba(102,126,234,.3);border-top:4px solid #667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-spinner p{color:#666;font-size:1.1rem;margin:0}.polling-info{margin-top:20px;padding:15px;background:#667eea0d;border-radius:10px;border:1px solid rgba(102,126,234,.2)}.polling-info p{margin:0;color:#667eea;font-size:.9rem;font-weight:500}.polling-stopped{margin-top:20px;padding:15px;background:#dc35450d;border-radius:10px;border:1px solid rgba(220,53,69,.2)}.polling-stopped p{margin:0;color:#dc3545;font-size:.9rem;font-weight:500}.video-player-container{margin-top:30px;text-align:center;padding:25px;background:#28a7451a;border-radius:15px;border:2px solid #28a745}.video-player-container h3{color:#28a745;margin:0 0 20px;font-size:1.5rem}.video-player{width:100%;max-width:600px;height:auto;border-radius:10px;box-shadow:0 4px 20px #00000026;margin-bottom:20px}.video-actions{margin-top:15px}.video-actions .btn{margin:0 10px}.mobile-video-section{text-align:center;padding:30px 20px}.mobile-video-icon{font-size:4rem;margin-bottom:20px}.mobile-video-section p{font-size:1.1rem;color:#666;margin-bottom:25px;line-height:1.5}@media (max-width: 768px){.app{margin:10px;padding:15px}.header h1{font-size:2rem}.header p{font-size:1rem}.upload-section{padding:20px}.upload-area{padding:20px 15px}.btn{width:100%;margin-bottom:10px}.video-player{max-width:100%;border-radius:8px}.video-actions{flex-direction:column;align-items:center}.video-actions .btn{width:100%;max-width:300px;margin:5px 0}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}*{box-sizing:border-box}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}#root{width:100%;margin:0 auto;text-align:center}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.5rem;color:#fff}
