:root{--font-heading:"Outfit", "Inter", system-ui, -apple-system, sans-serif;--font-body:"Inter", system-ui, -apple-system, sans-serif;--bg-primary:#090d16;--bg-secondary:#111726;--bg-tertiary:#1b2336;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--color-accent:#6366f1;--color-accent-hover:#4f46e5;--color-accent-glow:#6366f166;--color-success:#10b981;--color-error:#ef4444;--color-warning:#f59e0b;--glow-youtube:#ef444499;--glow-instagram:#ee2a7b99;--glow-tiktok:#00f2fe99;--glow-x:#e7e9ea66;--glow-generic:#6366f199;--border-glass:#ffffff14;--bg-glass:#111726b3;--bg-glass-hover:#1b2336cc;--radius-sm:8px;--radius-md:14px;--radius-lg:24px;--radius-full:9999px;--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);--transition-slow:.5s cubic-bezier(.4, 0, .2, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-body);-webkit-font-smoothing:antialiased;background-image:radial-gradient(at 0 0,#6366f126 0,#0000 50%),radial-gradient(at 100% 100%,#a855f726 0,#0000 50%);background-attachment:fixed;flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.02em;font-weight:700}p{color:var(--text-secondary);line-height:1.6}.app-container{flex-direction:column;flex:1;justify-content:center;width:100%;max-width:900px;margin:0 auto;padding:3rem 1.5rem;display:flex}.header{text-align:center;animation:fadeInDown var(--transition-slow);margin-bottom:3.5rem}.logo-container{animation:logoEntrance var(--transition-slow) cubic-bezier(.16, 1, .3, 1) both;justify-content:center;align-items:center;gap:.75rem;margin-bottom:1rem;display:flex}.logo-icon{width:3.5rem;height:3.5rem;color:var(--color-accent);filter:drop-shadow(0 0 10px var(--color-accent-glow));animation:1.2s cubic-bezier(.16,1,.3,1) both logoIconEntrance,3s ease-in-out 1.2s infinite pulseLogo}.logo-text{letter-spacing:-.04em;background:linear-gradient(135deg,#818cf8 0%,#c084fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:3rem;font-weight:900;animation:1.5s cubic-bezier(.16,1,.3,1) both logoTextEntrance}.subtitle{max-width:500px;margin:0 auto;font-size:1.15rem}.glass-panel{background:var(--bg-glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-glass);border-radius:var(--radius-lg);transition:all var(--transition-normal);padding:2.5rem;position:relative;overflow:hidden;box-shadow:0 20px 40px #0000004d}.platform-badges-row{opacity:.75;justify-content:center;gap:1.5rem;margin-bottom:2rem;display:flex}.platform-badge{border-radius:var(--radius-full);border:1px solid var(--border-glass);transition:all var(--transition-fast);color:var(--text-secondary);background:#ffffff08;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.85rem;font-weight:600;display:flex}.platform-badge svg{fill:currentColor;width:1rem;height:1rem}.platform-badge.youtube:hover,.platform-badge.active.youtube{color:#ef4444;background:#ef44441a;border-color:#ef44444d;box-shadow:0 0 15px #ef444426}.platform-badge.instagram:hover,.platform-badge.active.instagram{color:#ee2a7b;background:#ee2a7b1a;border-color:#ee2a7b4d;box-shadow:0 0 15px #ee2a7b26}.platform-badge.tiktok:hover,.platform-badge.active.tiktok{color:#00f2fe;background:#00f2fe1a;border-color:#00f2fe4d;box-shadow:0 0 15px #00f2fe26}.platform-badge.x:hover,.platform-badge.active.x{color:#e7e9ea;background:#ffffff0d;border-color:#fff3;box-shadow:0 0 15px #ffffff1a}.input-group{border:1px solid var(--border-glass);border-radius:var(--radius-md);transition:all var(--transition-normal);background:#0000004d;margin-bottom:.5rem;padding:.375rem;display:flex;position:relative}.input-group:focus-within{border-color:var(--color-accent);box-shadow:0 0 20px var(--color-accent-glow)}.input-group.youtube-glow:focus-within{box-shadow:0 0 20px var(--glow-youtube);border-color:#ef4444}.input-group.instagram-glow:focus-within{box-shadow:0 0 20px var(--glow-instagram);border-color:#ee2a7b}.input-group.tiktok-glow:focus-within{box-shadow:0 0 20px var(--glow-tiktok);border-color:#00f2fe}.input-group.x-glow:focus-within{box-shadow:0 0 20px var(--glow-x);border-color:#e7e9ea}.url-input{color:var(--text-primary);font-family:var(--font-body);background:0 0;border:none;outline:none;flex:1;min-width:0;padding:.75rem 1rem;font-size:1.05rem}.url-input::placeholder{color:var(--text-muted)}.clear-btn{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 .5rem;display:flex}.clear-btn:hover{color:var(--text-primary)}.btn-fetch{background:var(--color-accent);color:#fff;font-family:var(--font-heading);border-radius:calc(var(--radius-md) - 4px);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--color-accent-glow);border:none;align-items:center;gap:.5rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;display:flex}.btn-fetch:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-fetch:disabled{opacity:.6;cursor:not-allowed;transform:none}.detected-badge{animation:scaleIn var(--transition-normal);display:flex;position:absolute;top:50%;right:calc(100% + 1rem);transform:translateY(-50%)}@media (width<=1024px){.detected-badge{justify-content:center;margin-bottom:1rem;position:static;transform:none}}.spinner{border-radius:var(--radius-full);border:2px solid #ffffff4d;border-top-color:#fff;width:1.25rem;height:1.25rem;animation:.8s linear infinite spin}.input-hint{color:var(--text-muted);margin-top:.5rem;padding-left:.5rem;font-size:.8rem}.error-box{border-radius:var(--radius-md);animation:slideUp var(--transition-normal);background:#ef444414;border:1px solid #ef444433;align-items:flex-start;gap:.75rem;margin-top:1.5rem;padding:1.25rem;display:flex}.error-icon{color:var(--color-error);flex-shrink:0;width:1.5rem;height:1.5rem}.error-content{flex:1}.error-title{color:var(--color-error);margin-bottom:.25rem;font-size:.95rem;font-weight:600}.error-text{color:var(--text-secondary);font-size:.875rem}.result-section{border-top:1px solid var(--border-glass);animation:slideUp var(--transition-normal);margin-top:2rem;padding-top:2rem}.meta-card{grid-template-columns:240px 1fr;gap:1.75rem;margin-bottom:2rem;display:grid}@media (width<=640px){.meta-card{grid-template-columns:1fr}}.thumbnail-wrapper{aspect-ratio:16/9;border-radius:var(--radius-md);border:1px solid var(--border-glass);position:relative;overflow:hidden;box-shadow:0 8px 16px #0003}.thumbnail-img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.thumbnail-wrapper:hover .thumbnail-img{transform:scale(1.05)}.duration-tag{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#000000d9;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:600;position:absolute;bottom:.5rem;right:.5rem}.meta-details{flex-direction:column;justify-content:space-between;display:flex}.video-title{color:var(--text-primary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.75rem;font-size:1.35rem;line-height:1.3;display:-webkit-box;overflow:hidden}.creator-info{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.95rem;font-weight:500;display:flex}.creator-avatar{background:var(--bg-tertiary);border-radius:var(--radius-full);width:1.5rem;height:1.5rem;color:var(--color-accent);justify-content:center;align-items:center;font-size:.7rem;display:flex}.formats-header{color:var(--text-primary);align-items:center;gap:.5rem;margin-bottom:1rem;font-size:1.1rem;display:flex}.formats-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.format-card{border:1px solid var(--border-glass);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:#ffffff05;justify-content:space-between;align-items:center;padding:1.25rem;display:flex}.format-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.format-card.selected{border-color:var(--color-accent);background:#6366f114;box-shadow:0 4px 15px #6366f126}.format-info{flex-direction:column;gap:.25rem;display:flex}.format-label{color:var(--text-primary);font-size:1rem;font-weight:600}.format-sub{color:var(--text-muted);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.format-tag{text-transform:uppercase;background:#ffffff0d;border-radius:4px;padding:.125rem .375rem;font-size:.7rem;font-weight:700}.format-tag.video{color:var(--color-accent);background:#6366f11a}.format-tag.audio{color:var(--color-success);background:#10b9811a}.radio-circle{border-radius:var(--radius-full);border:2px solid var(--text-muted);width:1.25rem;height:1.25rem;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.format-card:hover .radio-circle{border-color:var(--text-secondary)}.format-card.selected .radio-circle{border-color:var(--color-accent)}.radio-circle:after{content:"";border-radius:var(--radius-full);background:var(--color-accent);width:.625rem;height:.625rem;transition:transform var(--transition-fast);transform:scale(0)}.format-card.selected .radio-circle:after{transform:scale(1)}.action-row{justify-content:flex-end;display:flex}.btn-download{background:var(--color-success);color:#fff;font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:.75rem;width:100%;padding:1rem 2.5rem;font-size:1.1rem;font-weight:700;display:flex;box-shadow:0 4px 15px #10b9814d}.btn-download:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.btn-download:active:not(:disabled){transform:translateY(0)}.btn-download:disabled{opacity:.6;cursor:not-allowed;transform:none}.progress-screen{text-align:center;animation:fadeIn var(--transition-normal);padding:1.5rem 0}.progress-header{margin-bottom:2rem}.progress-title{margin-bottom:.5rem;font-size:1.5rem}.progress-container{border:1px solid var(--border-glass);border-radius:var(--radius-full);background:#ffffff0d;width:100%;height:12px;margin:1.5rem 0;position:relative;overflow:hidden}.progress-bar{background:linear-gradient(to right, var(--color-accent) 0%, #a855f7 100%);border-radius:var(--radius-full);height:100%;transition:width .3s;box-shadow:0 0 10px #a855f780}.progress-stats{grid-template-columns:repeat(3,1fr);gap:1rem;margin:1.5rem 0 2.5rem;display:grid}.stat-item{border:1px solid var(--border-glass);border-radius:var(--radius-md);background:#ffffff05;flex-direction:column;gap:.25rem;padding:.75rem;display:flex}.stat-val{color:var(--text-primary);font-size:1.1rem;font-weight:700;font-family:var(--font-heading)}.stat-lbl{color:var(--text-muted);text-transform:uppercase;font-size:.75rem;font-weight:600}.btn-cancel{color:var(--text-secondary);border:1px solid var(--border-glass);font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.75rem 1.5rem;font-weight:600}.btn-cancel:hover{color:var(--color-error);background:#ef444414;border-color:#ef44444d}.success-screen{text-align:center;animation:fadeIn var(--transition-normal);padding:2rem 0}.success-icon{width:4.5rem;height:4.5rem;color:var(--color-success);filter:drop-shadow(0 0 15px #10b98166);margin:0 auto 1.5rem;animation:.5s cubic-bezier(.175,.885,.32,1.275) scaleBounce}.success-title{margin-bottom:.75rem;font-size:1.75rem}.success-subtitle{max-width:450px;margin-bottom:2rem;margin-left:auto;margin-right:auto}.success-buttons{flex-direction:column;align-items:center;gap:1rem;display:flex}.btn-download-direct{background:var(--color-accent);color:#fff;font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--color-accent-glow);border:none;align-items:center;gap:.5rem;padding:.875rem 2rem;font-size:1.05rem;font-weight:700;display:flex}.btn-download-direct:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.btn-reset{color:var(--text-secondary);border:1px solid var(--border-glass);font-family:var(--font-heading);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;margin-top:.5rem;padding:.75rem 2rem;font-weight:600}.btn-reset:hover{color:var(--text-primary);background:#ffffff08}.footer{text-align:center;color:var(--text-muted);animation:fadeIn var(--transition-slow);border-top:1px solid #ffffff08;margin-top:4rem;padding-top:2rem;font-size:.85rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes logoEntrance{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes logoIconEntrance{0%{opacity:0;filter:drop-shadow(0 0 #0000);transform:scale(.6)rotate(-30deg)}50%{filter:drop-shadow(0 0 15px var(--color-accent))}to{opacity:1;filter:drop-shadow(0 0 10px var(--color-accent-glow));transform:scale(1)rotate(0)}}@keyframes logoTextEntrance{0%{opacity:0;letter-spacing:.15em;filter:blur(4px)}to{opacity:1;letter-spacing:-.04em;filter:blur()}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulseLogo{0%,to{filter:drop-shadow(0 0 10px var(--color-accent-glow));transform:scale(1)}50%{filter:drop-shadow(0 0 20px #6366f199);transform:scale(1.05)}}@keyframes scaleBounce{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}button.platform-badge{font-family:var(--font-body);cursor:pointer;outline:none}.header-badge-row{animation:fadeInDown var(--transition-slow);justify-content:center;margin-bottom:.75rem;display:flex}.premium-badge-hq{color:#fff;font-family:var(--font-heading);letter-spacing:.05em;border-radius:var(--radius-full);background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%);border:1px solid #ffffff26;align-items:center;gap:.35rem;padding:.35rem .85rem;font-size:.75rem;font-weight:800;animation:4s ease-in-out infinite bounceBadge;display:inline-flex;box-shadow:0 0 15px #6366f166}.format-card.hq-card{border-color:#a855f733}.format-card.hq-card:hover{border-color:#a855f766;box-shadow:0 4px 15px #a855f714}.format-card.hq-card.selected{background:#a855f714;border-color:#a855f7;box-shadow:0 4px 15px #a855f733}.format-card.hq-card.selected .radio-circle{border-color:#a855f7}.format-card.hq-card.selected .radio-circle:after{background:#a855f7}.hq-badge-pill{color:#ffb703;border-radius:var(--radius-full);vertical-align:middle;letter-spacing:.02em;background:#ffb7031a;border:1px solid #ffb70340;margin-left:.5rem;padding:.1rem .4rem;font-size:.65rem;font-weight:800;display:inline-block}@keyframes bounceBadge{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.user-profile-bar{animation:fadeIn var(--transition-normal);justify-content:flex-end;align-items:center;gap:1rem;margin-bottom:2rem;font-size:.9rem;display:flex}.user-email{color:var(--text-secondary);font-weight:500}.premium-badge-active{color:#fff;border-radius:var(--radius-full);background:linear-gradient(135deg,#a855f7 0%,#6366f1 100%);align-items:center;gap:.25rem;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 0 10px #a855f74d}.btn-auth-action{color:var(--text-primary);border:1px solid var(--border-glass);border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:.4rem 1rem;font-size:.85rem;font-weight:600}.btn-auth-action:hover{background:#ffffff0d;border-color:#fff3}.btn-upgrade-glow{background:linear-gradient(to right, var(--color-accent) 0%, #a855f7 100%);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 10px var(--color-accent-glow);border:none;padding:.4rem 1.2rem;font-size:.85rem;font-weight:700}.btn-upgrade-glow:hover{transform:translateY(-1px);box-shadow:0 6px 15px #a855f766}.auth-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:1000;animation:fadeIn var(--transition-fast);background:#05070cd9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.auth-modal{background:var(--bg-secondary);border:1px solid var(--border-glass);border-radius:var(--radius-lg);width:100%;max-width:420px;animation:scaleIn var(--transition-normal);padding:2.5rem;position:relative;box-shadow:0 25px 50px -12px #00000080}.auth-modal-close{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;position:absolute;top:1.25rem;right:1.25rem}.auth-modal-close:hover{color:var(--text-primary)}.auth-title{text-align:center;font-size:1.75rem;font-family:var(--font-heading);margin-bottom:.5rem}.auth-subtitle{color:var(--text-muted);text-align:center;margin-bottom:2rem;font-size:.9rem}.auth-form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.auth-label{color:var(--text-secondary);font-size:.85rem;font-weight:600}.auth-input{border:1px solid var(--border-glass);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition-fast);background:#0003;outline:none;padding:.75rem 1rem;font-size:.95rem}.auth-input:focus{border-color:var(--color-accent)}.btn-auth-submit{background:var(--color-accent);color:#fff;border-radius:var(--radius-md);width:100%;font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 4px 12px var(--color-accent-glow);border:none;margin-top:1rem;padding:.85rem;font-size:1rem;font-weight:700}.btn-auth-submit:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.auth-toggle-link{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}.auth-toggle-btn{color:var(--color-accent);cursor:pointer;background:0 0;border:none;margin-left:.25rem;font-weight:600}.auth-toggle-btn:hover{text-decoration:underline}.format-card.hq-card .radio-circle{position:relative}.format-card.locked-card{opacity:.65;background:#ffffff03;border-color:#ffffff08}.format-card.locked-card:hover{background:#ffffff03;border-color:#ffffff08;transform:none}.lock-icon-indicator{color:#ffb703;flex-shrink:0;width:1.15rem;height:1.15rem}.premium-upgrade-banner{border-radius:var(--radius-md);animation:slideUp var(--transition-normal);background:#a855f70f;border:1px dashed #a855f74d;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.25rem;display:flex}.upgrade-banner-content{align-items:center;gap:.75rem;display:flex}.upgrade-banner-icon{color:#ffb703;flex-shrink:0;width:1.75rem;height:1.75rem}.upgrade-banner-title{color:var(--text-primary);margin-bottom:.15rem;font-size:.95rem;font-weight:700}.upgrade-banner-text{color:var(--text-secondary);font-size:.85rem}.btn-banner-upgrade{background:linear-gradient(to right, var(--color-accent) 0%, #a855f7 100%);color:#fff;border-radius:var(--radius-md);font-family:var(--font-heading);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border:none;padding:.6rem 1.25rem;font-size:.9rem;font-weight:700;box-shadow:0 4px 10px #a855f74d}.btn-banner-upgrade:hover{transform:translateY(-1px);box-shadow:0 6px 15px #a855f766}.auth-google-section{flex-direction:column;justify-content:center;align-items:center;width:100%;margin-bottom:.75rem;display:flex}.google-btn-container{justify-content:center;align-items:center;width:100%;min-height:44px;display:flex}.btn-google-mock{color:#1f2937;border-radius:var(--radius-md);width:100%;font-family:var(--font-body);cursor:pointer;transition:all var(--transition-fast);background:#fff;border:1px solid #e5e7eb;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:600;display:flex;box-shadow:0 2px 4px #0000000d}.btn-google-mock:hover{background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px);box-shadow:0 4px 8px #0000001a}.btn-google-mock:active{transform:translateY(0)}.google-icon{flex-shrink:0;width:1.25rem;height:1.25rem}.auth-separator{text-align:center;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;width:100%;margin:1.25rem 0;font-size:.75rem;font-weight:600;display:flex}.auth-separator:before,.auth-separator:after{content:"";border-bottom:1px solid var(--border-glass);flex:1}.auth-separator:not(:empty):before{margin-right:.75rem}.auth-separator:not(:empty):after{margin-left:.75rem}
