:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--text-primary:#1a1a1a;--text-secondary:#666;--border-color:#e0e0e0;--shadow-color:#0000001a;--card-bg:#fff;--spotify-green:#1db954;--spotify-green-hover:#1ed760;--youtube-red:red;--youtube-red-hover:#c00;--youtube-black:#282828;--platform-color:#1db954;--platform-hover-color:#1ed760}[data-theme=dark]{--bg-primary:#121212;--bg-secondary:#1e1e1e;--text-primary:#fff;--text-secondary:#b3b3b3;--border-color:#333;--shadow-color:#00000080;--card-bg:#1e1e1e;--spotify-green:#1db954;--spotify-green-hover:#1ed760;--youtube-red:red;--youtube-red-hover:#c00;--youtube-black:#1a1a1a}[data-platform=spotify]{--platform-color:var(--spotify-green);--platform-hover-color:var(--spotify-green-hover);--download-primary:#1db954;--download-primary-hover:#1ed760;--shadow-glow:#1db9544d}[data-platform=youtube]{--platform-color:var(--youtube-red);--platform-hover-color:var(--youtube-red-hover);--download-primary:red;--download-primary-hover:#f33;--shadow-glow:#ff00004d}[data-theme=dark][data-platform=youtube]{--shadow-glow:#f006}[data-platform=youtube] .download-btn{background:linear-gradient(135deg,red,#c00);background:linear-gradient(135deg,var(--youtube-red) 0,var(--youtube-red-hover) 100%);box-shadow:0 4px 6px #f003}[data-platform=youtube] .download-btn:hover:not(:disabled){box-shadow:0 6px 12px #ff00004d}[data-platform=youtube] .link-input:focus{box-shadow:0 0 0 3px #ff00001a}[data-platform=youtube] .link-input.valid,[data-platform=youtube] .link-input:focus{border-color:red;border-color:var(--youtube-red)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-color:var(--bg-primary);color:#1a1a1a;color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0;padding:0;transition:background-color .3s ease,color .3s ease}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.language-selector{display:inline-block;position:relative}.language-selector-button{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.9rem;gap:.5rem;padding:.5rem .75rem;transition:all .2s ease}.language-selector-button:hover{background:var(--border-color);border-color:var(--text-secondary);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-1px)}.language-selector-button:active{transform:translateY(0)}.globe-icon{color:var(--text-primary);flex-shrink:0;height:20px;width:20px}.current-language{align-items:center;display:flex;gap:.4rem}.language-flag{border-radius:2px;flex-shrink:0;height:18px;object-fit:cover;width:24px}.language-name{font-weight:500;white-space:nowrap}.chevron-icon{color:var(--text-primary);flex-shrink:0;height:16px;transition:transform .2s ease;width:16px}.chevron-icon.open{transform:rotate(180deg)}.language-dropdown{animation:dropdownSlideIn .2s ease;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 24px var(--shadow-color);min-width:520px;padding:.5rem;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.language-grid{grid-gap:.25rem;display:grid;gap:.25rem;grid-template-columns:repeat(3,1fr)}.language-option{align-items:center;background:#0000;border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;font-family:inherit;font-size:.85rem;gap:.5rem;padding:.65rem .75rem;position:relative;text-align:left;transition:all .15s ease}.language-option:hover{background:var(--bg-secondary)}.language-option.active{background:#1db9541a;color:var(--spotify-green);font-weight:500}.language-option.active:hover{background:#1db95426}.language-option .language-flag{border-radius:2px;flex-shrink:0;height:18px;object-fit:cover;width:24px}.language-option .language-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.check-icon{color:var(--spotify-green);flex-shrink:0;height:16px;width:16px}@media (max-width:768px){.language-selector-button .language-name{display:none}.language-dropdown{left:50%;min-width:340px;right:auto;transform:translateX(-50%)}.language-grid{grid-template-columns:repeat(2,1fr)}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateX(-50%) translateY(-10px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}}@media (max-width:480px){.language-dropdown{min-width:300px}.language-option{font-size:.8rem;padding:.6rem .65rem}.language-option .language-flag{height:15px;width:20px}}.theme-toggle{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:50%;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-primary);cursor:pointer;display:flex;height:40px;justify-content:center;padding:0;transition:all .3s ease;width:40px}.theme-toggle:hover{background:var(--border-color);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.theme-toggle:active{transform:translateY(0)}.theme-icon{height:20px;transition:transform .3s ease;width:20px}.theme-toggle:hover .theme-icon{transform:rotate(20deg)}@keyframes rotate-in{0%{opacity:0;transform:rotate(-180deg)}to{opacity:1;transform:rotate(0deg)}}.theme-icon{animation:rotate-in .3s ease}@media (max-width:768px){.theme-toggle{height:36px;width:36px}.theme-icon{height:18px;width:18px}}.header{background:#0000;box-shadow:none;color:var(--text-primary);padding:1rem;transition:background .3s ease}.header-content{margin:0 auto;max-width:1200px}.header-top{align-items:center;display:flex;justify-content:space-between}.logo-container{display:none}.logo-container:hover{opacity:.9}.logo-container:visited,.logo-icon{color:var(--text-primary)}.logo-icon{height:36px;width:36px}.logo-text{font-size:1.8rem;font-weight:700;letter-spacing:-.5px;margin:0}.header-nav{align-items:center;display:flex;gap:1rem}.nav-link{background:#0000;border:2px solid #0000;border-radius:25px;color:var(--text-secondary);font-size:1rem;font-weight:600;padding:.5rem 1.2rem;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-2px)}.nav-link.active{background:var(--bg-secondary);border-color:var(--platform-color);box-shadow:0 2px 8px var(--shadow-color);color:var(--platform-color)}.header-controls{align-items:center;display:flex;gap:20px}.platform-buttons{align-items:center;display:flex;gap:12px}.platform-btn{display:none}.platform-btn:hover{background:#ffffff4d;transform:translateY(-2px)}.platform-btn.active{background:#fff;border-color:#fff;box-shadow:0 4px 8px #0003;color:#1db954;color:var(--platform-color,#1db954)}.spotify-logo,.youtube-logo{fill:var(--text-primary)}@media (max-width:768px){.header-top{flex-direction:column;gap:15px}.header-nav{justify-content:center;width:100%}.nav-link{flex:1 1;font-size:1rem;padding:.6rem 1rem;text-align:center}.header-controls{flex-direction:column;gap:15px;width:100%}.platform-buttons{justify-content:center;width:100%}.platform-btn{flex:1 1;justify-content:center}.logo-text{font-size:1.8rem}.logo-icon{height:36px;width:36px}}.donation-container{align-items:center;display:flex;flex-direction:column;gap:12px}.donation-container .coffee-message{color:var(--text-secondary);font-size:.9rem;line-height:1.5;margin:0;text-align:center}.donation-button{align-items:center;background:linear-gradient(135deg,#ff5e5b,#ff8e53);border:none;border-radius:8px;box-shadow:0 4px 12px #ff5e5b4d;color:#fff;cursor:pointer;display:inline-flex;font-family:inherit;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:transform .2s ease,box-shadow .2s ease}.donation-button:hover{box-shadow:0 6px 16px #ff5e5b66;transform:translateY(-2px)}.donation-button:active{box-shadow:0 2px 8px #ff5e5b4d;transform:translateY(0)}.donation-button:focus{outline:2px solid #ff5e5b;outline-offset:2px}.coffee-icon{flex-shrink:0;height:20px;width:20px}.donation-button-modal{font-size:18px;margin-bottom:12px;padding:14px 24px;width:100%}.donation-container-persistent{margin:24px 0}.donation-container-footer{margin:0}.donation-container-footer .coffee-message{color:var(--text-primary);font-size:.95rem}[data-theme=dark] .donation-button{box-shadow:0 4px 12px #ff5e5b80}[data-theme=dark] .donation-button:hover{box-shadow:0 6px 16px #ff5e5b99}@media (max-width:768px){.donation-button{font-size:14px;padding:10px 20px}.donation-button-modal{font-size:16px}.coffee-icon{height:18px;width:18px}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);margin-top:4rem;padding:2rem 1rem}.footer-content{align-items:center;display:flex;flex-direction:column;gap:1.5rem;justify-content:center;margin:0 auto;max-width:1200px}.footer-disclaimer{color:var(--text-secondary);font-size:.75rem;line-height:1.6;max-width:800px;opacity:.8;text-align:center}.footer-disclaimer p{margin:.5rem 0}.footer-disclaimer p:first-child{margin-top:0}.footer-disclaimer p:last-child{margin-bottom:0}@media (max-width:768px){.footer{margin-top:3rem;padding:1.5rem 1rem}.footer-disclaimer{font-size:.7rem;padding:0 .5rem}}.link-input-container{animation:fadeIn .8s ease-out .3s both;margin:0 auto;max-width:900px;padding:1rem;width:100%}.platform-buttons-wrapper{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:2rem}.platform-btn{align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:30px;box-shadow:0 2px 8px var(--shadow-color);color:var(--text-secondary);cursor:pointer;display:inline-flex;font-size:16px;font-weight:700;gap:10px;padding:14px 28px;transition:all .3s ease;white-space:nowrap}.platform-btn:hover:not(.active){background:var(--border-color);transform:translateY(-2px)}.platform-btn.active.spotify,.platform-btn.active:has(span:first-child):not(:has(svg)){background:#1db9541a;border-color:#1db954;border-color:var(--spotify-green,#1db954);box-shadow:0 4px 8px #1db95433;color:#1db954;color:var(--spotify-green,#1db954)}.platform-btn.active:first-child{background:#1db9541a;border-color:#1db954;border-color:var(--spotify-green,#1db954);box-shadow:0 4px 8px #1db95433;color:#1db954;color:var(--spotify-green,#1db954)}.platform-btn.active:last-child{background:#ff00001a;border-color:red;border-color:var(--youtube-red,red);box-shadow:0 4px 8px #f003;color:red;color:var(--youtube-red,red)}.platform-btn:active{transform:translateY(0)}.platform-btn .platform-logo-svg{height:20px;transition:transform .3s ease;width:20px}.platform-btn:hover .platform-logo-svg{transform:scale(1.15)}.input-wrapper{display:flex;gap:.5rem;margin-bottom:1.5rem;position:relative}.input-with-clear{align-items:center;display:flex;flex:1 1;position:relative}.link-input{background:var(--card-bg);border:3px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow-color);color:var(--text-primary);flex:1 1;font-family:inherit;font-size:1.05rem;outline:none;padding:1.2rem 3rem 1.2rem 1.5rem;transition:all .3s ease;width:100%}.link-input:focus{border-color:#1db954;border-color:var(--platform-color,#1db954);box-shadow:0 0 0 4px #1db95426,0 4px 12px var(--shadow-color);box-shadow:0 0 0 4px var(--shadow-glow,#1db95426),0 4px 12px var(--shadow-color);transform:translateY(-2px)}.link-input.valid{border-color:var(--spotify-green)}.link-input.invalid{border-color:#ef4444}.link-input::placeholder{color:var(--text-secondary);opacity:.6}.clear-btn{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;justify-content:center;padding:.4rem;position:absolute;right:12px;top:50%;transform:translateY(-50%);transition:all .2s ease;z-index:1}.clear-btn svg{height:20px;width:20px}.clear-btn:hover{background:var(--border-color);color:var(--text-primary)}.clear-btn:active{transform:translateY(-50%) scale(.9)}.paste-btn{align-items:center;background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.4rem;justify-content:center;padding:.8rem 1.2rem;transition:all .3s ease;white-space:nowrap}.paste-btn svg{color:var(--text-secondary);height:18px;width:18px}.paste-btn:hover{background-color:var(--border-color);opacity:.8}.paste-btn:active{transform:scale(.95)}.download-btn{align-items:center;background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--platform-color,#1db954) 0,var(--platform-hover-color,#1ed760) 100%);border:none;border-radius:16px;box-shadow:0 6px 20px #1db95466;box-shadow:0 6px 20px var(--shadow-glow,#1db95466);color:#fff;cursor:pointer;display:flex;font-size:1.3rem;font-weight:700;gap:.7rem;justify-content:center;overflow:hidden;padding:1.4rem 2.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.download-btn:before{background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s;width:100%}.download-btn:hover:before{left:100%}.download-btn svg{height:28px;width:28px}.download-btn:hover:not(:disabled){box-shadow:0 8px 25px #1db95480;box-shadow:0 8px 25px var(--shadow-glow,#1db95480);transform:translateY(-3px)}.download-btn:active:not(:disabled){transform:translateY(-1px)}.download-btn:disabled{background:#d1d5db;box-shadow:none;cursor:not-allowed}.info-text{color:var(--text-secondary);margin-top:2rem;text-align:center}.info-text p{font-size:.95rem;margin:.5rem 0}@media (max-width:768px){.platform-buttons-wrapper{justify-content:center;width:100%}.platform-btn{flex:1 1;font-size:13px;justify-content:center;padding:8px 16px}.link-input{font-size:.9rem;padding:.9rem 1rem}.paste-btn{padding:.6rem 1rem}.download-btn{font-size:1.1rem;padding:1rem 1.5rem}.info-text p{font-size:.85rem}}:root{--progress-container-bg:#ffffff08;--progress-container-border:#ffffff14;--progress-bar-bg:#0003;--progress-bar-error:linear-gradient(90deg,#e74c3c,#c0392b);--progress-text-primary:var(--text-primary);--progress-text-secondary:#b3b3b3;--progress-shadow:0 2px 8px #0000001a;--progress-fill-start:#1db954;--progress-fill-end:#1ed760;--progress-text-accent:#1db954}[data-theme=light]{--progress-container-bg:#00000005;--progress-container-border:#00000014;--progress-bar-bg:#00000014;--progress-text-secondary:#666;--progress-shadow:0 2px 8px #0000000d}.progress-bar-container{background:#ffffff08;background:var(--progress-container-bg);border:1px solid #ffffff14;border:1px solid var(--progress-container-border);border-radius:12px;box-shadow:0 2px 8px #0000001a;box-shadow:var(--progress-shadow);margin:16px 0;padding:16px;transition:all .2s ease;width:100%}.progress-info{align-items:center;display:flex;gap:16px;justify-content:space-between;margin-bottom:10px}.progress-message{color:#b3b3b3;color:var(--progress-text-secondary);flex:1 1;font-size:13px;font-weight:500;line-height:1.4;min-width:0}.progress-stats-group{align-items:center;display:flex;flex-direction:row;flex-shrink:0;gap:12px}.progress-track-count{color:#b3b3b3;color:var(--progress-text-secondary);font-size:14px;font-weight:600;line-height:1}.progress-stats{color:#1db954;color:var(--progress-text-accent);font-size:18px;font-weight:700;letter-spacing:-.3px;line-height:1}.progress-time{font-size:13px}.progress-speed,.progress-time{color:#b3b3b3;color:var(--progress-text-secondary);font-weight:500;line-height:1}.progress-speed{font-size:12px}.progress-bytes{color:#b3b3b3;color:var(--progress-text-secondary);font-size:11px;font-weight:500;line-height:1}.progress-bar-wrapper{background:#0003;background:var(--progress-bar-bg);height:32px;margin-bottom:8px;width:100%}.progress-bar-fill,.progress-bar-wrapper{border-radius:16px;overflow:hidden;position:relative}.progress-bar-fill{align-items:center;background:linear-gradient(90deg,#1db954,#1ed760);background:linear-gradient(90deg,var(--progress-fill-start,#1db954) 0,var(--progress-fill-end,#1ed760) 100%);display:flex;height:100%;justify-content:center;min-width:0;transition:width .5s cubic-bezier(.4,0,.2,1);will-change:width}.progress-bar-fill:before{animation:shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fff3 50%,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}@media (prefers-reduced-motion:reduce){.progress-bar-fill:before{animation:none}.progress-bar-fill{transition:width .1s linear}}.progress-bar-fill.error{background:linear-gradient(90deg,#e74c3c,#c0392b);background:var(--progress-bar-error)}.progress-bar-fill.canceled{background:linear-gradient(90deg,#f44,#f66);opacity:.8}.progress-percentage{color:#fff;font-size:13px;font-weight:700;letter-spacing:-.2px;position:relative;text-shadow:0 1px 3px #0006;z-index:1}.progress-secondary-stats{align-items:center;color:#b3b3b3;color:var(--progress-text-secondary);display:flex;font-size:12px;justify-content:space-between;padding:0 4px}.current-track-name-header{align-items:center;background:#1db9541a;border:1px solid #1db95433;border-radius:8px;display:flex;gap:8px;margin-bottom:12px;padding:8px 12px;transition:all .3s ease}.current-track-name-header .music-icon{color:#1db954;color:var(--platform-color,#1db954);flex-shrink:0;height:18px;width:18px}.current-track-name-header .current-track-text{color:var(--text-primary);color:var(--progress-text-primary);flex:1 1;font-size:14px;font-weight:600;line-height:1.4;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:768px){.progress-bar-container{margin:12px 0;padding:12px}.progress-info{align-items:center;margin-bottom:8px}.progress-stats-group{gap:8px}.progress-message{font-size:12px}.progress-stats{font-size:16px}.progress-time{font-size:12px}.progress-bytes,.progress-speed{display:none}.progress-bar-wrapper{border-radius:14px;height:28px}.progress-bar-fill{border-radius:14px}.progress-percentage{font-size:12px}.current-track-name-header .current-track-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;white-space:normal}}@media (max-width:480px){.progress-bar-container{border-radius:10px;padding:10px}.progress-stats{font-size:14px}.progress-time{font-size:12px}.progress-bar-wrapper{border-radius:12px;height:24px}.progress-bar-fill{border-radius:12px}.progress-percentage{font-size:11px}}.progress-bar-container[aria-busy=true] .progress-bar-fill{will-change:width}.progress-bar-container:focus-within{outline:2px solid #1db954;outline:2px solid var(--progress-text-accent);outline-offset:2px}@media (prefers-contrast:high){.progress-bar-container{border:2px solid #ffffff14;border:2px solid var(--progress-container-border)}.progress-bar-fill{border:1px solid #ffffff4d}}[data-platform=youtube]{--progress-fill-start:red;--progress-fill-end:#f33;--progress-text-accent:red}[data-platform=youtube] .current-track-name-header{background:#ff00001a;border-color:#f003}[data-platform=spotify]{--progress-fill-start:#1db954;--progress-fill-end:#1ed760;--progress-text-accent:#1db954}[data-platform=spotify] .current-track-name-header{background:#1db9541a;border-color:#1db95433}.download-confirmation{animation:fadeIn .25s ease-in;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-color) 0 4px 12px;margin:2rem auto;max-width:700px;padding:3rem 2.5rem;text-align:center;width:100%}.confirmation-header{margin-bottom:1.5rem}.checkmark-icon{animation:checkmarkAppear .3s ease-out;color:var(--spotify-green);height:64px;margin:0 auto 1rem;width:64px}@keyframes checkmarkAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.checkmark-icon svg{filter:drop-shadow(0 2px 8px rgba(29,185,84,.3));height:100%;width:100%}.confirmation-title{color:var(--text-primary);font-size:1.75rem;font-weight:700;margin:0}.confirmation-subtext{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin-bottom:2rem}.download-summary-card{align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;margin-bottom:1.5rem;padding:1.25rem;text-align:left}.summary-thumbnail{border-radius:6px;flex-shrink:0;height:80px;object-fit:cover;width:80px}.summary-info{flex:1 1;min-width:0}.summary-title{color:var(--text-primary);font-size:1.1rem;font-weight:600;margin:0 0 .25rem}.summary-artist,.summary-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.summary-artist{color:var(--text-secondary);font-size:.9rem;margin:0 0 .5rem}.summary-metadata{color:var(--text-secondary);display:flex;font-size:.85rem;gap:1rem}.summary-metadata span{align-items:center;display:flex;gap:.25rem}.confirmation-actions{display:flex;gap:1rem;justify-content:center}.confirmation-btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s ease}.confirmation-btn svg{height:20px;width:20px}.btn-download-again{background:var(--spotify-green);color:#fff}.btn-download-again:hover{background:var(--spotify-green-hover);box-shadow:0 4px 12px #1db9544d;transform:translateY(-2px)}.btn-download-another{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-download-another:hover{background:var(--card-bg);box-shadow:0 4px 12px var(--shadow-color);transform:translateY(-2px)}.confirmation-btn:active{transform:translateY(0)}@media (max-width:768px){.download-confirmation{margin:1rem auto;padding:1.5rem}.confirmation-title{font-size:1.5rem}.checkmark-icon{height:56px;width:56px}.download-summary-card{flex-direction:column;text-align:center}.summary-thumbnail{height:100px;width:100px}.summary-info{width:100%}.summary-metadata{justify-content:center}.confirmation-actions{flex-direction:column;gap:.75rem}.confirmation-btn{justify-content:center;width:100%}}.track-card-wrapper{margin-bottom:1rem}.track-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.track-card:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translateY(-2px)}.track-card-wrapper .progress-bar-container{margin-bottom:0;margin-top:12px}.track-image{flex-shrink:0;position:relative}.track-image img{border-radius:8px;height:80px;object-fit:cover;width:80px}.download-cover-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0009;border:1px solid #ffffff1a;border-radius:50%;cursor:pointer;display:flex;height:28px;justify-content:center;opacity:0;position:absolute;right:4px;top:4px;transform:scale(.8);transition:all .2s ease;width:28px;z-index:5}.download-cover-btn svg{fill:currentColor;color:#fff;height:16px;width:16px}.track-card:hover .download-cover-btn{opacity:1;transform:scale(1)}.download-cover-btn:hover{background:#1db954e6;border-color:#fff3;transform:scale(1.1)}.download-cover-btn:active{transform:scale(.95)}.completion-badge{background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--progress-fill-start,#1db954) 0,var(--progress-fill-end,#1ed760) 100%);box-shadow:0 2px 8px #1db95466;box-shadow:0 2px 8px var(--shadow-glow,#1db95466)}.track-info{flex:1 1;min-width:0}.track-name{color:var(--text-primary);font-size:1.1rem;font-weight:600}.track-artist,.track-name{margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-artist{color:var(--text-secondary);font-size:.95rem}.track-album{margin:0 0 .5rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-album,.track-duration{color:var(--text-secondary);font-size:.85rem}.track-duration{background-color:var(--bg-secondary);border-radius:12px;display:inline-block;padding:.25rem .75rem}.track-download-btn{align-items:center;background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--download-primary,#1db954) 0,var(--download-primary-hover,#1ed760) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.track-download-btn svg{height:20px;width:20px}.track-download-btn:hover{box-shadow:0 4px 12px #1db9544d;box-shadow:0 4px 12px var(--shadow-glow,#1db9544d);transform:translateY(-2px)}.track-download-btn:active{transform:translateY(0)}.track-download-btn.downloading{background:linear-gradient(135deg,#f44,#f66);cursor:pointer;opacity:1}.track-download-btn.downloading:hover{background:linear-gradient(135deg,#f66,#f88);box-shadow:0 4px 12px #ff44444d}.track-download-btn.canceling{animation:cancel-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#ff9800,#ffb84d);cursor:not-allowed;opacity:.9}.track-download-btn.canceled{background:linear-gradient(135deg,#666,#888);cursor:not-allowed;opacity:.8}.track-download-btn:disabled{cursor:not-allowed}.track-download-btn .spinner{animation:spin 1s linear infinite}.track-inline-progress{align-items:center;border-top:1px solid var(--border-color);display:flex;gap:10px;margin-top:10px;padding-top:8px}.track-inline-progress-bar{background-color:var(--bg-secondary);border-radius:4px;box-shadow:inset 0 1px 3px #0000001a;flex:1 1;height:8px;overflow:hidden;position:relative}.track-inline-progress-fill{animation:progress-pulse 2s ease-in-out infinite;background:linear-gradient(90deg,#1db954,#1ed760);background:linear-gradient(90deg,var(--progress-fill-start,#1db954) 0,var(--progress-fill-end,#1ed760) 100%);border-radius:4px;box-shadow:0 0 8px #1db95466;box-shadow:0 0 8px var(--shadow-glow,#1db95466);height:100%;transition:width .3s ease}.track-inline-progress-text{color:#1db954;color:var(--platform-color,#1db954);font-size:12px;font-weight:700;letter-spacing:.3px;min-width:42px;text-align:right}.track-card-wrapper.currently-downloading .track-card{animation:pulse-border 2s ease-in-out infinite;background:linear-gradient(to right,var(--card-bg) 0,#1db9540d 100%);background:linear-gradient(to right,var(--card-bg) 0,var(--shadow-glow,#1db9540d) 100%);border:2px solid #1db954;border:2px solid var(--platform-color,#1db954);box-shadow:0 0 20px #1db9544d;box-shadow:0 0 20px var(--shadow-glow,#1db9544d)}.track-card-wrapper.completed .track-card{background:var(--bg-secondary);opacity:.7}.track-card-wrapper.completed .track-image img{opacity:.8}@media (max-width:768px){.track-card{flex-wrap:wrap;gap:.75rem}.track-image img{height:60px;width:60px}.track-download-btn{justify-content:center;margin-top:.5rem;width:100%}.track-name{font-size:1rem}.track-album,.track-artist{font-size:.85rem}.completion-badge{height:20px;right:-2px;top:-2px;width:20px}.completion-badge svg{height:12px;width:12px}.download-cover-btn{height:24px;opacity:1;right:2px;top:2px;transform:scale(1);width:24px}.download-cover-btn svg{height:14px;width:14px}.track-inline-progress{flex-direction:row;gap:8px}.track-inline-progress-bar{flex:1 1}.track-inline-progress-text{font-size:11px;min-width:38px}}.completion-badge,.progress-bar-fill,.track-card{will-change:auto}.track-card-wrapper.currently-downloading .track-card{will-change:box-shadow}@media (prefers-reduced-motion:reduce){.completion-badge{animation:none;opacity:1;transform:scale(1)}.track-card-wrapper.currently-downloading .track-card{animation:none;box-shadow:0 0 20px #1db9544d;box-shadow:0 0 20px var(--shadow-glow,#1db9544d)}.track-card,.track-download-btn,.track-inline-progress-fill{transition:none}}.playlist-view{margin:2rem auto;max-width:1200px;padding:0 1rem}.playlist-header{border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 12px var(--shadow-color);display:flex;gap:2rem;margin-bottom:2rem;padding:2rem}.playlist-image-wrapper{flex-shrink:0;position:relative}.playlist-image{border-radius:12px;box-shadow:0 4px 12px #00000026;height:200px;object-fit:cover;width:200px}.download-playlist-cover-btn{align-items:center;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#0009;border:1px solid #ffffff1a;border-radius:50%;cursor:pointer;display:flex;height:36px;justify-content:center;opacity:0;position:absolute;right:8px;top:8px;transform:scale(.8);transition:all .2s ease;width:36px;z-index:5}.download-playlist-cover-btn svg{fill:currentColor;color:#fff;height:20px;width:20px}.playlist-header:hover .download-playlist-cover-btn{opacity:1;transform:scale(1)}.download-playlist-cover-btn:hover{background:#1db954e6;border-color:#fff3;transform:scale(1.1)}.download-playlist-cover-btn:active{transform:scale(.95)}.playlist-details{display:flex;flex:1 1;flex-direction:column;justify-content:center}.playlist-title{font-size:2.5rem;font-weight:800;margin:0 0 .5rem}.playlist-description{font-size:1rem;margin:0 0 1rem}.playlist-track-count{color:var(--text-secondary);font-size:.95rem;margin:0;opacity:.8}.playlist-actions{gap:1rem;margin-bottom:1.5rem}.select-all-btn{border:2px solid var(--border-color);border-radius:8px;font-size:.95rem;max-width:-webkit-fit-content;max-width:fit-content;padding:.75rem 1.5rem;transition:all .3s ease}.select-all-btn:hover{opacity:.8}.download-selected-btn{background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--download-primary,#1db954) 0,var(--download-primary-hover,#1ed760) 100%);border-radius:8px;font-size:.95rem;gap:.5rem;max-width:-webkit-fit-content;max-width:fit-content;padding:.75rem 1.5rem;transition:all .3s ease}.download-selected-btn svg{height:20px;width:20px}.download-selected-btn:hover:not(:disabled){box-shadow:0 4px 12px #1db9544d;box-shadow:0 4px 12px var(--shadow-glow,#1db9544d);transform:translateY(-2px)}.download-selected-btn:disabled{background:#d1d5db}.download-selected-btn.downloading{background:linear-gradient(135deg,#f44,#f66);cursor:pointer;opacity:1}.download-selected-btn.downloading:hover{background:linear-gradient(135deg,#f66,#f88);box-shadow:0 4px 12px #ff44444d}.download-selected-btn.canceling{animation:cancel-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#ff9800,#ffb84d);cursor:not-allowed;opacity:.9}.download-selected-btn.canceled{background:linear-gradient(135deg,#666,#888);cursor:not-allowed;opacity:.8}.download-selected-btn .spinner{animation:spin 1s linear infinite}.tracks-list{display:flex;flex-direction:column;gap:0}.track-item-wrapper{align-items:center;display:flex;gap:1rem}.track-checkbox{accent-color:var(--spotify-green);cursor:pointer;height:20px;width:20px}.track-item{flex:1 1}.track-item .track-card{margin-bottom:0}@media (max-width:768px){.playlist-header{align-items:center;flex-direction:column;padding:1.5rem;text-align:center}.playlist-image{height:150px;width:150px}.download-playlist-cover-btn{height:32px;opacity:1;right:6px;top:6px;transform:scale(1);width:32px}.download-playlist-cover-btn svg{height:18px;width:18px}.playlist-title{font-size:1.75rem}.playlist-actions{flex-direction:column}.download-selected-btn,.select-all-btn{justify-content:center;width:100%}.track-item-wrapper{gap:.5rem}.track-checkbox{height:18px;width:18px}}.format-selector{align-items:center;display:flex;gap:8px}.format-label{color:var(--text-secondary)}.format-label,.format-select{font-size:14px;font-weight:500}.format-select{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;min-width:150px;padding:8px 12px;transition:all .2s ease}.format-select:focus,.format-select:hover{border-color:red;border-color:var(--platform-color,red)}.format-select:focus{box-shadow:0 0 0 3px #ff00001a;box-shadow:0 0 0 3px var(--shadow-glow,#ff00001a);outline:none}.format-select option{background:var(--bg-primary);color:var(--text-primary);padding:8px}[data-theme=dark] .format-select{background:#ffffff0d;border-color:#ffffff1a}[data-theme=dark] .format-select:hover{background:#ffffff14}[data-theme=dark] .format-select option{background:#1a1a1a}@media (max-width:768px){.format-selector{width:100%}.format-select{flex:1 1}}.video-card-wrapper{margin-bottom:1rem}.video-card{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.video-card:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translateY(-2px)}.video-card-wrapper .progress-bar-container{margin-bottom:0;margin-top:12px}.video-thumbnail{background:var(--bg-secondary);border-radius:8px;flex-shrink:0;height:90px;overflow:hidden;position:relative;width:160px}.video-thumbnail img{height:100%;object-fit:cover;width:100%}.video-duration{background:#000c;border-radius:4px;bottom:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 6px;position:absolute;right:4px}.completion-badge{will-change:transform}.video-info{flex:1 1;min-width:0}.video-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:1.1rem;font-weight:600;line-height:1.3}.video-channel,.video-title{margin:0 0 .25rem;overflow:hidden;text-overflow:ellipsis}.video-channel{color:var(--text-secondary);font-size:.95rem;white-space:nowrap}.video-stats{color:var(--text-secondary);display:flex;font-size:.85rem;gap:8px;margin-bottom:.5rem}.video-views{font-weight:500}.video-upload-date:before{content:"•";margin-right:8px}.video-description{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;font-size:.85rem;line-height:1.4;margin:.5rem 0;opacity:.8;overflow:hidden}.video-actions{margin-top:.5rem}.video-download-btn{align-items:center;background:linear-gradient(135deg,red,#f33);background:linear-gradient(135deg,var(--download-primary,red) 0,var(--download-primary-hover,#f33) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.video-download-btn svg{height:20px;width:20px}.video-download-btn:hover{box-shadow:0 4px 12px #ff00004d;box-shadow:0 4px 12px var(--shadow-glow,#ff00004d);transform:translateY(-2px)}.video-download-btn:active{transform:translateY(0)}.video-download-btn.downloading{background:linear-gradient(135deg,#f44,#f66);cursor:pointer;opacity:1}.video-download-btn.downloading:hover{background:linear-gradient(135deg,#f66,#f88);box-shadow:0 4px 12px #ff44444d}.video-download-btn.canceling{animation:cancel-pulse 1.5s ease-in-out infinite;background:linear-gradient(135deg,#ff9800,#ffb84d);cursor:not-allowed;opacity:.9}.video-download-btn.canceled{background:linear-gradient(135deg,#666,#888);cursor:not-allowed;opacity:.8}.video-download-btn:disabled{cursor:not-allowed}@keyframes cancel-pulse{0%,to{opacity:.9;transform:scale(1)}50%{opacity:.75;transform:scale(.98)}}.video-download-btn .spinner{animation:spin 1s linear infinite}.video-inline-progress{align-items:center;display:flex;gap:10px;margin-top:10px;padding-top:8px}.video-inline-progress-bar{flex:1 1}.video-inline-progress-text{text-align:right}.video-card-wrapper.currently-downloading .video-card{animation:pulse-border 2s ease-in-out infinite;background:linear-gradient(to right,var(--card-bg) 0,#ff00000d 100%);background:linear-gradient(to right,var(--card-bg) 0,var(--shadow-glow,#ff00000d) 100%);border:2px solid red;border:2px solid var(--platform-color,red);box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}.video-card-wrapper.completed .video-card{background:var(--bg-secondary);opacity:.7}.video-card-wrapper.completed .video-thumbnail img{opacity:.8}@media (max-width:768px){.video-card{flex-wrap:wrap;gap:.75rem}.video-thumbnail{height:68px;width:120px}.video-download-btn{justify-content:center;margin-top:.5rem;width:100%}.video-title{font-size:1rem}.video-channel,.video-stats{font-size:.85rem}.video-description{font-size:.8rem}.completion-badge{height:20px;right:-2px;top:-2px;width:20px}.completion-badge svg{height:12px;width:12px}.video-inline-progress{flex-direction:row;gap:8px}.video-inline-progress-bar{flex:1 1}.video-inline-progress-text{font-size:11px;min-width:38px}}.completion-badge,.progress-bar-fill,.video-card{will-change:auto}.video-card-wrapper.currently-downloading .video-card{will-change:box-shadow}@media (prefers-reduced-motion:reduce){.completion-badge{animation:none;opacity:1;transform:scale(1)}.video-card-wrapper.currently-downloading .video-card{animation:none;box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}.video-card,.video-download-btn,.video-inline-progress-fill{transition:none}}.video-playlist-view{margin:2rem auto;max-width:1200px;padding:0 1rem}.playlist-header{background:var(--card-bg);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);margin-bottom:24px;padding:24px}.playlist-info{margin-bottom:20px}.playlist-title{color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 8px}.playlist-stats{color:var(--text-secondary);font-size:16px;margin:0 0 12px}.playlist-description{color:var(--text-secondary);font-size:14px;line-height:1.5;margin:0}.playlist-actions{display:flex;flex-direction:column;gap:16px}.format-control{align-items:center;display:flex;gap:12px}.format-apply-text{color:var(--text-secondary);font-size:14px;font-style:italic}.selection-controls{align-items:center;display:flex;gap:12px}.select-all-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:24px;color:var(--text-primary);cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.select-all-btn:hover{border-color:red;border-color:var(--platform-color,red)}.download-selected-btn,.select-all-btn:hover{background:red;background:var(--platform-color,red);color:#fff}.download-selected-btn{align-items:center;border:none;border-radius:24px;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;padding:10px 24px;transition:all .2s ease}.download-selected-btn:hover:not(:disabled){background:#c00;background:var(--platform-hover-color,#c00);transform:scale(1.05)}.download-selected-btn:disabled{background:var(--border-color);cursor:not-allowed;opacity:.5}.download-selected-btn svg{height:18px;width:18px}.playlist-progress-section{animation:progress-section-appear .3s ease-out;background:var(--card-bg);border:2px solid red;border:2px solid var(--platform-color,red);border-radius:12px;box-shadow:0 4px 16px var(--shadow-color);margin:24px 0;padding:24px}[data-platform=youtube] .playlist-progress-section{background:linear-gradient(to bottom,var(--card-bg) 0,#ff000005 100%);border-color:#ff00004d}[data-platform=spotify] .playlist-progress-section{background:linear-gradient(to bottom,var(--card-bg) 0,#1db95405 100%);border-color:#1db9544d}@keyframes progress-section-appear{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.bulk-progress{background:var(--bg-secondary);border-radius:8px;margin-top:20px;padding:16px}.progress-details{color:var(--text-secondary);font-size:13px;margin-top:8px;text-align:center}.progress-details-enhanced{color:var(--text-secondary);display:flex;flex-wrap:wrap;font-size:.9rem;gap:1rem;justify-content:center;margin-top:.75rem}.progress-details-enhanced span{background:var(--bg-secondary);border-radius:14px;font-weight:500;padding:.35rem .85rem;white-space:nowrap}.progress-current-video{color:red;color:var(--platform-color,red);font-weight:600}.progress-time{color:var(--text-primary)}.progress-size{font-family:Courier New,monospace;font-size:.85rem}.playlist-videos{display:flex;flex-direction:column;gap:8px}.playlist-video-item{align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px var(--shadow-color);display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.playlist-video-item:hover{box-shadow:0 4px 16px var(--shadow-color);transform:translateY(-2px)}.video-checkbox{cursor:pointer;height:20px;width:20px}.video-thumbnail-small{background:var(--bg-secondary);border-radius:8px;height:90px;min-width:160px;overflow:hidden;position:relative;width:160px}.video-thumbnail-small img{height:100%;object-fit:cover;width:100%}.video-duration-small{background:#000c;border-radius:3px;bottom:4px;color:#fff;font-size:11px;font-weight:600;padding:2px 4px;position:absolute;right:4px}.video-details{flex:1 1;min-width:0}.video-title-small{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:var(--text-primary);display:-webkit-box;font-size:1.1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem;overflow:hidden}.video-channel-small{color:var(--text-secondary);font-size:.95rem;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-download-single{align-items:center;background:linear-gradient(135deg,red,#f33);background:linear-gradient(135deg,var(--download-primary,red) 0,var(--download-primary-hover,#f33) 100%);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.95rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .3s ease}.video-download-single svg{fill:currentColor;height:20px;width:20px}.video-download-single:hover:not(:disabled){box-shadow:0 4px 12px #ff00004d;box-shadow:0 4px 12px var(--shadow-glow,#ff00004d);transform:translateY(-2px)}.video-download-single:active:not(:disabled){transform:translateY(0)}.video-download-single:disabled{background:linear-gradient(135deg,#666,#888);cursor:not-allowed;opacity:.5}.no-videos{background:var(--card-bg);border-radius:8px;color:var(--text-secondary);font-size:16px;padding:40px;text-align:center}[data-platform=youtube] .playlist-header{border:1px solid #ff00001a}[data-platform=youtube] .select-all-btn:hover{background:red}[data-platform=spotify] .download-selected-btn{background:#1db954}[data-platform=spotify] .download-selected-btn:hover:not(:disabled){background:#1ed760}[data-platform=spotify] .video-download-single{background:linear-gradient(135deg,#1db954,#1ed760)}[data-platform=spotify] .video-download-single:hover:not(:disabled){box-shadow:0 4px 12px #1db9544d}[data-platform=spotify] .select-all-btn:hover{background:#1db954}[data-theme=dark] .playlist-header,[data-theme=dark] .playlist-video-item{background:#ffffff0d}[data-theme=dark] .playlist-video-item:hover{background:#ffffff14}[data-theme=dark] .bulk-progress{background:#ffffff08}[data-theme=dark] .playlist-progress-section{background:#ffffff12;box-shadow:0 4px 16px #0006}[data-theme=dark][data-platform=youtube] .playlist-progress-section{background:linear-gradient(180deg,#ffffff12 0,#ff00000d);border-color:#f006}[data-theme=dark][data-platform=spotify] .playlist-progress-section{background:linear-gradient(180deg,#ffffff12 0,#1db9540d);border-color:#1db95466}@media (max-width:768px){.playlist-header{padding:16px}.playlist-title{font-size:22px}.playlist-actions{gap:12px}.selection-controls{flex-direction:column;width:100%}.download-selected-btn,.select-all-btn{justify-content:center;width:100%}.playlist-video-item{padding:8px}.video-thumbnail-small{height:51px;min-width:90px;width:90px}.video-title-small{font-size:13px}.video-channel-small{font-size:12px}.playlist-progress-section{border-width:1px;margin:16px 0;padding:16px}}.video-inline-progress{border-top:1px solid var(--border-color);margin-top:8px;padding-top:6px}.video-inline-progress-bar{background-color:var(--bg-secondary);border-radius:4px;box-shadow:inset 0 1px 3px #0000001a;height:8px;margin-bottom:6px;overflow:hidden;position:relative;width:100%}.video-inline-progress-fill{animation:progress-pulse 2s ease-in-out infinite;background:linear-gradient(90deg,red,#f33);background:linear-gradient(90deg,var(--progress-fill-start,red) 0,var(--progress-fill-end,#f33) 100%);border-radius:4px;box-shadow:0 0 8px #f006;box-shadow:0 0 8px var(--shadow-glow,#f006);height:100%;overflow:hidden;position:relative;transition:width .3s ease}.video-inline-progress-fill:before{animation:inline-shimmer 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#ffffff4d 50%,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes inline-shimmer{0%{left:-100%}to{left:100%}}@keyframes progress-pulse{0%,to{box-shadow:0 0 8px #f006;box-shadow:0 0 8px var(--shadow-glow,#f006)}50%{box-shadow:0 0 12px #f009;box-shadow:0 0 12px var(--shadow-glow,#f009)}}.video-inline-progress-info{align-items:center;display:flex;flex-wrap:wrap;font-size:11px;gap:12px}.video-inline-progress-text{color:red;color:var(--platform-color,red);font-size:12px;font-weight:700;letter-spacing:.3px;min-width:42px}.video-inline-progress-eta,.video-inline-progress-size,.video-inline-progress-speed{background:var(--bg-secondary);border-radius:10px;color:var(--text-secondary);font-size:11px;font-weight:500;padding:2px 8px;white-space:nowrap}.video-inline-progress-speed{color:red;color:var(--platform-color,red);font-weight:600}.video-inline-progress-eta{background:#ffa5001a;color:#ff8c00}.completion-badge{align-items:center;animation:badge-appear .3s ease-out;background:linear-gradient(135deg,red,#f33);background:linear-gradient(135deg,var(--progress-fill-start,red) 0,var(--progress-fill-end,#f33) 100%);border-radius:50%;box-shadow:0 2px 8px #f006;box-shadow:0 2px 8px var(--shadow-glow,#f006);display:flex;height:24px;justify-content:center;position:absolute;right:-4px;top:-4px;width:24px;z-index:10}.completion-badge svg{fill:currentColor;color:#fff;height:14px;width:14px}@keyframes badge-appear{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}.playlist-video-item.currently-downloading{animation:pulse-border 2s ease-in-out infinite;background:linear-gradient(to right,var(--card-bg) 0,#ff00000d 100%);background:linear-gradient(to right,var(--card-bg) 0,var(--shadow-glow,#ff00000d) 100%);border:2px solid red;border:2px solid var(--platform-color,red);box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}@keyframes pulse-border{0%,to{box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}50%{box-shadow:0 0 30px #ff000080;box-shadow:0 0 30px var(--shadow-glow,#ff000080)}}.playlist-video-item.completed{background:var(--bg-secondary);opacity:.7}.playlist-video-item.completed .video-thumbnail-small img{opacity:.8}[data-platform=spotify] .video-inline-progress-fill{background:linear-gradient(90deg,#1db954,#1ed760);box-shadow:0 0 8px #1db95466}[data-platform=spotify] .video-inline-progress-speed,[data-platform=spotify] .video-inline-progress-text{color:#1db954}[data-platform=spotify] .video-inline-progress-eta{background:#1db9541a;color:#1db954}[data-platform=spotify] .completion-badge{background:linear-gradient(135deg,#1db954,#1ed760);box-shadow:0 2px 8px #1db95466}[data-platform=spotify] .playlist-video-item.currently-downloading{background:linear-gradient(to right,var(--card-bg) 0,#1db9540d 100%);border-color:#1db954;box-shadow:0 0 20px #1db9544d}[data-platform=spotify] @keyframes pulse-border{0%,to{box-shadow:0 0 20px #1db9544d}50%{box-shadow:0 0 30px #1db95480}}@media (prefers-reduced-motion:reduce){.completion-badge{animation:none;opacity:1;transform:scale(1)}.playlist-video-item.currently-downloading{animation:none;box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}.video-inline-progress-fill{animation:none;transition:none}.video-inline-progress-fill:before{animation:none}@keyframes pulse-border{0%,to{box-shadow:0 0 20px #ff00004d;box-shadow:0 0 20px var(--shadow-glow,#ff00004d)}}@keyframes progress-pulse{0%,to{box-shadow:0 0 8px #f006;box-shadow:0 0 8px var(--shadow-glow,#f006)}}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.donation-modal-overlay{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.donation-modal{animation:slideUp .3s ease;background:var(--card-bg);border-radius:16px;box-shadow:0 8px 32px var(--shadow-color);max-height:90vh;max-width:450px;overflow-y:auto;padding:32px;position:relative;width:90%}.donation-modal-close{align-items:center;background:#0000;border:none;border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;height:36px;justify-content:center;padding:8px;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease;width:36px}.donation-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.donation-modal-close svg{height:24px;width:24px}.donation-modal-content{text-align:center}.donation-modal-emoji{animation:slideUp .4s ease .1s backwards;font-size:64px;margin-bottom:16px}.donation-modal-title{animation:slideUp .4s ease .2s backwards;color:var(--text-primary);font-size:28px;font-weight:700;margin:0 0 16px}.donation-modal-message{animation:slideUp .4s ease .3s backwards;color:var(--text-secondary);font-size:16px;line-height:1.6;margin:0 0 24px}.donation-modal-later{animation:slideUp .4s ease .5s backwards;background:#0000;border:2px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;display:block;font-family:inherit;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease;width:100%}.donation-modal-later:hover{background:var(--bg-secondary);border-color:var(--text-secondary);color:var(--text-primary)}.donation-modal-later:focus{outline:2px solid var(--spotify-green);outline-offset:2px}.donation-modal-thank-you{animation:slideUp .4s ease .6s backwards;color:var(--text-secondary);font-size:14px;margin:16px 0 0}[data-theme=dark] .donation-modal{border:1px solid var(--border-color)}@media (max-width:768px){.donation-modal{max-width:95%;padding:24px}.donation-modal-emoji{font-size:48px}.donation-modal-title{font-size:24px}.donation-modal-message{font-size:14px}.donation-modal-close{height:32px;right:12px;top:12px;width:32px}.donation-modal-close svg{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.donation-modal,.donation-modal-emoji,.donation-modal-later,.donation-modal-message,.donation-modal-overlay,.donation-modal-thank-you,.donation-modal-title{animation:none}}.how-to-guide-detailed{margin:50px auto;max-width:900px;padding:0 20px;width:100%}.guide-main-title{color:var(--platform-color);font-size:28px;font-weight:600;margin-bottom:40px;text-align:left}.platform-tabs{border-bottom:2px solid var(--border-color);display:flex;gap:12px;margin-bottom:30px}.platform-tab{background:none;border:none;border-bottom:3px solid #0000;color:var(--text-secondary);cursor:pointer;font-size:16px;font-weight:600;margin-bottom:-2px;padding:12px 24px;transition:all .3s ease}.platform-tab.active,.platform-tab:hover{color:var(--platform-color)}.platform-tab.active{border-bottom-color:var(--platform-color)}.platform-section{margin-bottom:50px}.platform-title{border-bottom:2px solid var(--platform-color);color:var(--text-primary);font-size:22px;font-weight:600;margin-bottom:24px;padding-bottom:8px}.steps-list{margin-bottom:30px}.screenshot-category{margin-bottom:40px}.screenshot-category-title{color:var(--platform-color);font-size:22px;font-weight:600;margin-bottom:20px;padding-left:4px}.step-item{gap:10px;margin-bottom:6px;padding:2px 0}.guide-step-number,.step-item{align-items:center;display:flex}.guide-step-number{background:var(--platform-color);border-radius:50%;color:#fff;flex-shrink:0;font-size:11px;font-weight:700;height:20px;justify-content:center;width:20px}.step-content-text{color:var(--text-primary);flex:1 1;font-size:16px;line-height:1.6}.screenshots-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-top:20px}.screenshots-horizontal{display:flex;flex-direction:row;flex-wrap:nowrap;gap:20px;justify-content:flex-start;margin-top:20px}.screenshots-horizontal .screenshot-img{flex:1 1 auto;height:auto;max-height:500px;max-width:calc(33% - 14px);object-fit:contain;width:auto}.screenshot-img{border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px var(--shadow-color);cursor:pointer;height:auto;transition:transform .2s ease;width:100%}.screenshot-img:hover{transform:scale(1.02)}.image-modal{align-items:center;animation:fadeIn .3s ease;background:#000000e6;cursor:pointer;display:flex;height:100%;justify-content:center;left:0;position:fixed;top:0;width:100%;z-index:9999}.image-modal img{border-radius:8px;box-shadow:0 10px 40px #00000080;max-height:90%;max-width:90%}@media (max-width:768px){.how-to-guide-detailed{margin:40px auto}.guide-main-title{font-size:24px;margin-bottom:30px}.platform-title{font-size:20px}.step-content-text{font-size:15px}.screenshots-grid{gap:16px;grid-template-columns:1fr}}@media (max-width:480px){.how-to-guide-detailed{margin:30px auto;padding:0 16px}.guide-main-title{font-size:22px;margin-bottom:24px}.platform-title{font-size:18px}.step-item{gap:12px}.step-number{font-size:14px;height:28px;width:28px}.step-content-text{font-size:14px;line-height:1.6}}.faq-section{background:var(--bg-secondary);padding:60px 20px}.faq-container{margin:0 auto;max-width:800px}.faq-title{color:var(--text-primary);font-size:2rem;font-weight:700}.faq-intro,.faq-title{margin-bottom:20px;text-align:center}.faq-intro{color:var(--text-secondary);font-size:1rem;line-height:1.6;margin-left:auto;margin-right:auto;max-width:700px}.faq-disclaimer{background:var(--card-bg);border-left:4px solid var(--platform-color);border-radius:8px;box-shadow:var(--shadow-color);color:var(--text-primary);font-size:.95rem;margin-bottom:40px;padding:15px 20px}.faq-accordion{display:flex;flex-direction:column;gap:12px}.faq-item{background:var(--card-bg);border-radius:12px;box-shadow:var(--shadow-color);overflow:hidden;transition:box-shadow .2s ease}.faq-item:hover{box-shadow:0 8px 16px #00000026}.faq-question-wrapper{align-items:center;display:flex;position:relative}.faq-question{align-items:center;background:#0000;border:none;color:var(--text-primary);cursor:pointer;display:flex;flex:1 1;font-size:1.1rem;font-weight:600;justify-content:space-between;min-height:44px;padding:20px 24px;text-align:left;transition:background-color .2s ease}.faq-question:hover{background:var(--shadow-glow)}.faq-question:focus{outline:2px solid var(--platform-color);outline-offset:-2px}.faq-question.active{background:var(--shadow-glow)}.faq-question-text{flex:1 1;padding-right:16px}.faq-question-controls{align-items:center;display:flex;gap:12px}.faq-copy-link{align-items:center;background:#0000;border:none;cursor:pointer;display:flex;font-size:1.2rem;justify-content:center;min-height:44px;min-width:44px;opacity:0;padding:4px 12px;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:opacity .2s ease}.faq-question-wrapper:hover .faq-copy-link,.faq-question:focus+.faq-copy-link{opacity:.6}.faq-copy-link:hover{opacity:1!important}.faq-copy-link:focus{border-radius:4px;outline:2px solid var(--platform-color);outline-offset:2px}.faq-chevron{color:var(--platform-color);display:inline-block;font-size:.8rem;transition:transform .3s ease}.faq-chevron.rotated{transform:rotate(180deg)}.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease}.faq-answer.open{max-height:1000px}.faq-answer-content{color:var(--text-secondary);font-size:1rem;line-height:1.7;padding:0 24px 24px}.faq-answer-content strong{color:var(--text-primary);font-weight:600}@media (max-width:768px){.faq-section{padding:40px 16px}.faq-title{font-size:1.75rem}.faq-intro{font-size:.95rem}.faq-question{font-size:1rem;padding:16px 18px}.faq-answer-content{font-size:.95rem;padding:0 18px 20px}.faq-copy-link{opacity:.4}.faq-question-controls{gap:8px}}.no-js .faq-answer{max-height:none!important;overflow:visible}.no-js .faq-chevron,.no-js .faq-copy-link{display:none}.no-js .faq-question{cursor:default;pointer-events:none}[data-theme=dark] .faq-disclaimer{opacity:.95}[data-theme=dark] .faq-item:hover{box-shadow:0 8px 16px #0006}@media (prefers-reduced-motion:reduce){.faq-answer,.faq-chevron{transition:none}}.home-container{background:var(--bg-primary);min-height:calc(100vh - 200px);transition:background .3s ease}.hero-section{align-items:center;display:flex;flex-direction:column;justify-content:center;min-height:70vh;padding:4rem 1rem 2rem;text-align:center}.hero-logo-container{animation:fadeInDown .5s ease-out;margin-bottom:1.5rem}.hero-logo{color:#1db954;color:var(--platform-color,#1db954);filter:drop-shadow(0 4px 12px rgba(29,185,84,.3));filter:drop-shadow(0 4px 12px var(--shadow-glow,rgba(29,185,84,.3)));height:80px;width:80px}.hero-logo.youtube-logo{color:red;color:var(--youtube-red,red);filter:drop-shadow(0 4px 12px rgba(255,0,0,.3))}.hero-logo.spotify-logo{color:#1db954;color:var(--spotify-green,#1db954);filter:drop-shadow(0 4px 12px rgba(29,185,84,.3))}.hero-title{-webkit-text-fill-color:#0000;animation:fadeInDown .6s ease-out;background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--platform-color,#1db954) 0,var(--platform-hover-color,#1ed760) 100%);-webkit-background-clip:text;background-clip:text;color:var(--text-primary);font-size:3.5rem;font-weight:800;margin-bottom:1.5rem}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{animation:fadeIn .8s ease-out .2s both;color:var(--text-secondary);font-size:1.25rem;line-height:1.6;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:700px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.features-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:4rem auto;max-width:1200px;padding:0 1rem}.feature-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 6px var(--shadow-color);padding:2rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.feature-card:hover{box-shadow:0 12px 24px var(--shadow-color);transform:translateY(-4px)}.feature-icon{font-size:3rem;margin-bottom:1rem}.feature-card h3{color:var(--text-primary);font-size:1.5rem;margin-bottom:.5rem}.feature-card p{color:var(--text-secondary);font-size:1rem}.how-to-section{margin:4rem auto;max-width:900px;padding:3rem 1rem;text-align:center}.section-title{color:var(--text-primary);font-size:2rem;font-weight:700;margin-bottom:3rem}.steps{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.step{flex-direction:column;gap:1rem}.step,.step-number{align-items:center;display:flex}.step-number{background:linear-gradient(135deg,#1db954,#1ed760);background:linear-gradient(135deg,var(--platform-color,#1db954) 0,var(--platform-hover-color,#1ed760) 100%);border-radius:50%;box-shadow:0 4px 12px #1db9544d;box-shadow:0 4px 12px var(--shadow-glow,#1db9544d);color:#fff;font-size:1.5rem;font-weight:700;height:60px;justify-content:center;width:60px}.step p{color:var(--text-secondary);font-size:1.1rem;margin:0}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:1rem;margin:2rem 0}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#1db954;border-top:4px solid var(--platform-color,#1db954);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-spinner p{color:#6b7280;font-size:1rem}.error-message{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;display:inline-block;margin:2rem 0;padding:1rem 2rem}.error-message p{color:#dc2626;font-weight:500;margin:0}.result-section{margin:2rem auto;max-width:800px;padding:0 1rem}.result-title{color:var(--text-primary);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}@media (max-width:768px){.hero-section{min-height:60vh;padding:3rem 1rem 2rem}.hero-logo{height:60px;width:60px}.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1.05rem}.feature-card{padding:1.5rem}.section-title{font-size:1.5rem}.steps{gap:2.5rem}}*{box-sizing:border-box;margin:0;padding:0}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;min-height:100vh}
/*# sourceMappingURL=main.2b45cd9b.css.map*/