.splash-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 50% 40%,#7c5cfc26,#0a0a0f 70%);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:1;transition:opacity .5s ease}.splash-screen.fadeout{opacity:0}.splash-content{text-align:center;position:relative;z-index:2}.absolute{position:absolute}.inline-block{display:inline-block}.loader{display:flex;margin:0 0 40px;justify-content:center;align-items:center;animation:logoFadeIn 1s ease-out}@keyframes logoFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.w-2{width:.5em}.dash{animation:dashArray 2s ease-in-out infinite,dashOffset 2s linear infinite}.spin{animation:spinDashArray 2s ease-in-out infinite,spin 8s ease-in-out infinite,dashOffset 2s linear infinite;transform-origin:center}@keyframes dashArray{0%{stroke-dasharray:0 1 359 0}50%{stroke-dasharray:0 359 1 0}to{stroke-dasharray:359 1 0 0}}@keyframes spinDashArray{0%{stroke-dasharray:270 90}50%{stroke-dasharray:0 360}to{stroke-dasharray:270 90}}@keyframes dashOffset{0%{stroke-dashoffset:365}to{stroke-dashoffset:5}}@keyframes spin{0%{rotate:0deg}12.5%,25%{rotate:270deg}37.5%,50%{rotate:540deg}62.5%,75%{rotate:810deg}87.5%,to{rotate:1080deg}}.splash-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 12px;opacity:0;animation:fadeInUp .8s ease 1s forwards;text-shadow:0 0 30px rgba(124,92,252,.4);letter-spacing:-.5px}.splash-tagline{font-size:15px;color:#ffffff80;margin:0;opacity:0;animation:fadeInUp .8s ease 1.3s forwards;letter-spacing:.5px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.loader svg{height:48px;width:48px}.splash-title{font-size:28px}.splash-tagline{font-size:14px}}.confirm-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:20px;animation:fadeIn .2s ease}.confirm-dialog{background:var(--bg-elevated, #13131a);border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:22px;padding:32px 24px 24px;max-width:340px;width:100%;text-align:center;animation:scaleIn .2s ease;box-shadow:0 16px 48px #00000080}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.confirm-icon{display:flex;align-items:center;justify-content:center;margin-bottom:20px;color:#fbbf24}.confirm-title{font-size:20px;font-weight:700;color:var(--text-primary, #f0f0f5);margin:0 0 12px;letter-spacing:-.3px}.confirm-message{font-size:14px;color:var(--text-secondary, rgba(255, 255, 255, .6));line-height:1.5;margin:0 0 24px}.confirm-actions{display:flex;gap:12px}.confirm-btn{flex:1;padding:14px 20px;border:none;border-radius:14px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.confirm-btn.cancel{background:var(--bg-glass-strong, rgba(255, 255, 255, .1));color:var(--text-secondary, rgba(255, 255, 255, .6))}.confirm-btn.cancel:active{background:#ffffff26;transform:scale(.98)}.confirm-btn.confirm{background:#ef4444;color:#fff;box-shadow:0 4px 12px #ef44444d}.confirm-btn.confirm:active{background:#dc2626;transform:scale(.98)}:root{--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;width:100%;height:100%;overflow:hidden;position:fixed;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-container{height:100vh;height:100dvh;width:100vw;display:flex;flex-direction:column;background:var(--bg-base, #0a0a0f);position:relative;overflow:hidden}.tab-content{flex:1;height:0;min-height:0;position:relative;overflow:hidden}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:64px;display:flex;background:#0f0f16d9;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-top:1px solid var(--border-subtle);z-index:100;padding-bottom:var(--safe-area-bottom);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right)}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none;border:none;color:var(--text-tertiary);font-size:10px;font-weight:500;cursor:pointer;padding:8px 0;transition:color .2s ease;position:relative;letter-spacing:.3px}.nav-item.active{color:var(--primary-color)}.nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:2px;background:var(--primary-color);border-radius:0 0 4px 4px;box-shadow:0 0 8px var(--primary-color)}.nav-item svg{width:22px;height:22px;transition:transform .2s ease}.nav-item.active svg{transform:scale(1.1)}.app{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;padding-top:var(--safe-area-top);padding-left:var(--safe-area-left);padding-right:var(--safe-area-right);background:radial-gradient(ellipse at 50% 0%,rgba(var(--primary-rgb),.08) 0%,transparent 60%),var(--bg-base)}.app>*{width:100%;max-width:100%;height:100%}.player-container{background:transparent;border-radius:0;padding:20px 24px;padding-top:max(20px,var(--safe-area-top));padding-bottom:calc(84px + var(--safe-area-bottom));box-shadow:none;height:100%;display:flex;flex-direction:column;justify-content:center;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}.player-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:24px;padding-top:max(8px,var(--safe-area-top));flex-shrink:0}.logo-icon{color:var(--primary-color);width:24px;height:24px}.player-header h1{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.version-badge{font-size:10px;color:var(--text-tertiary);background:var(--bg-glass);padding:3px 10px;border-radius:12px;margin-left:4px;font-weight:500;border:1px solid var(--border-subtle)}.album-art{position:relative;width:260px;height:260px;margin:0 auto 28px}.album-art-inner{width:100%;height:100%;background:linear-gradient(135deg,rgba(var(--primary-rgb),.3),rgba(var(--secondary-rgb),.3));border-radius:24px;display:flex;align-items:center;justify-content:center;color:#fff6;overflow:hidden;box-shadow:0 20px 60px #00000080,0 0 80px rgba(var(--primary-rgb),.15);transition:transform .4s ease,box-shadow .4s ease;border:1px solid var(--border-subtle)}.album-art-inner:active{transform:scale(.97)}.album-thumbnail{width:100%;height:100%;object-fit:cover}.album-placeholder{display:flex;align-items:center;justify-content:center;opacity:.5}.pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;border:2px solid rgba(var(--primary-rgb),.3);border-radius:24px;animation:pulse 2.5s ease-out infinite;pointer-events:none}@keyframes pulse{0%{transform:translate(-50%,-50%) scale(1);opacity:.5}to{transform:translate(-50%,-50%) scale(1.12);opacity:0}}.track-info{text-align:center;margin-bottom:16px;padding:0 16px}.track-info h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3;letter-spacing:-.2px}.track-info p{font-size:13px;color:var(--text-secondary);margin:0;display:flex;align-items:center;justify-content:center;gap:8px}.track-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:20px;padding:0 8px;background:rgba(var(--primary-rgb),.2);color:var(--primary-color);border-radius:10px;font-size:11px;font-weight:700;border:1px solid rgba(var(--primary-rgb),.3)}.progress-container{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:8px 4px}.time{font-size:11px;font-weight:600;color:var(--text-tertiary);min-width:38px;text-align:center;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.progress-bar{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--primary-color) var(--progress, 0%),rgba(255,255,255,.08) var(--progress, 0%));border-radius:4px;outline:none;cursor:pointer;transition:height .15s ease}.progress-bar:active{height:6px}.progress-bar::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 0 10px rgba(var(--primary-rgb),.5),0 2px 6px #0000004d;border:none;transition:transform .15s ease}.progress-bar:active::-webkit-slider-thumb{transform:scale(1.3)}.progress-bar::-moz-range-thumb{width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 0 10px rgba(var(--primary-rgb),.5),0 2px 6px #0000004d;border:none}.controls{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:20px}.control-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:12px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.control-btn:active{transform:scale(.88)}.control-btn:disabled{opacity:.2;cursor:not-allowed}.control-btn.primary{width:64px;height:64px;background:var(--primary-color);color:#fff;box-shadow:0 4px 20px rgba(var(--primary-rgb),.4),0 0 40px rgba(var(--primary-rgb),.15);margin:0 8px;flex-shrink:0}.control-btn.primary:active{transform:scale(.92)}.control-btn.primary:disabled{background:#ffffff14;box-shadow:none;color:var(--text-tertiary)}.control-btn.secondary{color:var(--text-tertiary);width:42px;height:42px}.control-btn.secondary.active{color:var(--primary-color);background:rgba(var(--primary-rgb),.12)}.control-btn:not(.primary):not(.secondary){width:46px;height:46px;background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-subtle)}.control-btn:not(.primary):not(.secondary):active{background:var(--bg-glass-strong)}.repeat-badge{position:absolute;top:2px;right:2px;font-size:9px;font-weight:800;color:#fff;background:var(--primary-color);width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px #0000004d;z-index:1}.volume-container{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:0 4px}.volume-btn{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;display:flex;border-radius:50%;transition:all .15s ease}.volume-btn:active{transform:scale(.9);color:var(--primary-color)}.volume-slider{flex:1;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,var(--primary-color) var(--volume, 70%),rgba(255,255,255,.08) var(--volume, 70%));border-radius:4px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;width:14px;height:14px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 0 8px rgba(var(--primary-rgb),.4),0 2px 4px #0003;border:none}.action-buttons{display:flex;gap:10px;margin-bottom:16px}.action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 16px;background:var(--bg-glass);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:14px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;letter-spacing:.2px}.action-btn:active{transform:scale(.97);background:var(--bg-glass-strong)}.action-btn:disabled{opacity:.3}.playlist-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000;overflow-y:auto;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.playlist-container,.modal-container{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;width:100%;max-width:400px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;position:relative;box-shadow:var(--shadow-elevated);animation:modalSlideUp .25s ease}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.playlist-header,.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.playlist-header h3,.modal-header h3{font-size:17px;font-weight:600;margin:0;color:var(--text-primary)}.close-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:active{background:var(--bg-glass-strong);color:var(--text-primary)}.playlist-tracks{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px;-webkit-overflow-scrolling:touch}.playlist-track{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;cursor:pointer;margin-bottom:2px;transition:all .2s ease}.playlist-track:active,.playlist-track.active{background:rgba(var(--primary-rgb),.1)}.playlist-track.removing{opacity:0;transform:translate(-20px);pointer-events:none}.track-icon{width:40px;height:40px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.25),rgba(var(--secondary-rgb),.25));border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0;border:1px solid var(--border-subtle)}.track-icon.youtube{background:linear-gradient(135deg,#ff000026,#c8000026);color:#f44;border-color:#f003}.track-name{font-size:14px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-type{font-size:11px;color:var(--text-tertiary);margin-top:2px}.remove-btn{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;flex-shrink:0;transition:color .2s}.remove-btn:active{color:#ef4444}.move-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;padding:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;opacity:.6}.move-btn:active{opacity:1}.modal-content{padding:20px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}.add-option{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;padding:16px;margin-bottom:12px;cursor:pointer;transition:all .2s}.add-option:active{background:var(--bg-glass-strong);border-color:var(--border-medium)}.option-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;margin-bottom:12px}.option-icon.local{background:linear-gradient(135deg,rgba(var(--primary-rgb),.3),rgba(var(--secondary-rgb),.3));color:var(--primary-color);border:1px solid rgba(var(--primary-rgb),.3)}.option-icon.youtube{background:linear-gradient(135deg,#f003,#c8000033);color:#f44;border:1px solid rgba(255,0,0,.2)}.option-info h4{font-size:15px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.option-info>p{font-size:13px;color:var(--text-secondary);margin:0}.pros-cons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px;font-size:12px}.pros strong{color:#4ade80}.cons strong{color:#fbbf24}.pros ul,.cons ul{list-style:none;padding:0;margin:8px 0 0}.pros li,.cons li{padding:2px 0;color:var(--text-secondary)}.youtube-modal{max-width:400px}.youtube-input-container{margin-bottom:16px}.youtube-input{width:100%;padding:14px;background:var(--bg-glass);border:1px solid var(--border-medium);border-radius:12px;font-size:14px;outline:none;color:var(--text-primary);transition:border-color .2s}.youtube-input::placeholder{color:var(--text-tertiary)}.youtube-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.15)}.error-message{display:flex;align-items:center;gap:8px;margin-top:8px;padding:10px;background:#ef44441a;color:#ef4444;border-radius:8px;font-size:13px;border:1px solid rgba(239,68,68,.2)}.youtube-help{margin-top:12px;padding:12px;background:var(--bg-glass);border-radius:10px;font-size:12px;border:1px solid var(--border-subtle)}.youtube-help p{font-weight:600;margin:0 0 8px;color:var(--text-secondary)}.youtube-help ul{list-style:none;padding:0;margin:0}.youtube-help li{padding:2px 0;color:var(--text-tertiary);font-family:SF Mono,Fira Code,monospace;font-size:11px}.youtube-add-btn{width:100%;margin-top:12px;background:var(--primary-color)!important;border:none!important;color:#fff!important}.youtube-add-btn:disabled{opacity:.4!important}@media (max-width: 380px){.player-container{padding:16px;padding-top:max(16px,var(--safe-area-top));padding-bottom:calc(74px + var(--safe-area-bottom))}.album-art{width:200px;height:200px}.control-btn.primary{width:56px;height:56px}.action-btn{padding:11px;font-size:12px}.player-header h1{font-size:18px}.track-info h2{font-size:16px}}@media (max-width: 320px){.player-container{padding:12px;padding-top:max(12px,var(--safe-area-top));padding-bottom:calc(74px + var(--safe-area-bottom))}.album-art{width:180px;height:180px}.player-header h1{font-size:16px}.control-btn.primary{width:52px;height:52px}}@media (max-height: 500px) and (orientation: landscape){.player-container{justify-content:flex-start}.album-art{width:140px;height:140px;margin-bottom:12px}.player-header,.track-info,.progress-container,.controls,.volume-container{margin-bottom:8px}}@media (min-width: 768px){.app>*{max-width:500px}.album-art{width:300px;height:300px}}.undo-toast{position:fixed;bottom:calc(90px + var(--safe-area-bottom));left:50%;transform:translate(-50%);z-index:300;animation:slideUpToast .3s ease}.success-toast{position:fixed;bottom:calc(90px + var(--safe-area-bottom));left:50%;transform:translate(-50%);z-index:300;display:flex;align-items:center;gap:8px;background:#4ade8026;color:#4ade80;padding:12px 20px;border-radius:24px;border:1px solid rgba(74,222,128,.3);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);font-size:14px;font-weight:500;animation:slideUpToast .3s ease}.success-toast svg{flex-shrink:0}.undo-toast-content{display:flex;align-items:center;gap:16px;background:var(--bg-elevated);color:var(--text-primary);padding:12px 20px;border-radius:24px;border:1px solid var(--border-subtle);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-card);font-size:14px;font-weight:500}.undo-btn{background:var(--primary-color);color:#fff;border:none;padding:6px 16px;border-radius:16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s}.undo-btn:active{transform:scale(.95)}.move-playlist-picker{position:fixed;left:max(16px,var(--safe-area-left));right:max(16px,var(--safe-area-right));bottom:calc(84px + var(--safe-area-bottom));background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:var(--shadow-elevated);z-index:1000;max-height:50vh;overflow:hidden;animation:slideUpPicker .2s ease}@keyframes slideUpPicker{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.picker-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:none;text-align:left;cursor:pointer;color:var(--text-primary);transition:background .15s}.track-count{font-size:12px;color:var(--text-tertiary);background:var(--bg-glass);padding:4px 10px;border-radius:12px;border:1px solid var(--border-subtle)}.player-container.appearance-classic{background:radial-gradient(ellipse at 50% 30%,rgba(var(--primary-rgb),.1) 0%,transparent 70%)}.player-container.appearance-classic.playing .album-art-inner{animation:classicPulse 2s ease-in-out infinite}@keyframes classicPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.player-container.appearance-vinyl .album-art{width:200px;height:200px}.player-container.appearance-vinyl .album-art-inner{border-radius:50%;border:6px solid rgba(255,255,255,.1);box-shadow:0 0 0 3px #ffffff0d,0 15px 40px #0009}.player-container.appearance-vinyl .pulse-ring{border-radius:50%;display:none}.player-container.appearance-vinyl.playing .album-art-inner{animation:vinylSpin 4s linear infinite}.player-container.appearance-vinyl .album-art:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:28px;background:var(--bg-base);border-radius:50%;z-index:10;border:2px solid rgba(255,255,255,.1)}.player-container.appearance-vinyl .album-art:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;background:#fff3;border-radius:50%;z-index:11}@keyframes vinylSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.player-container.appearance-neon{background:radial-gradient(ellipse at 50% 30%,rgba(var(--primary-rgb),.15) 0%,var(--bg-base) 70%)}.player-container.appearance-neon .album-art-inner{box-shadow:0 0 30px rgba(var(--primary-rgb),.3),0 0 60px rgba(var(--primary-rgb),.15),inset 0 0 20px #ffffff0d;border:1px solid rgba(var(--primary-rgb),.4)}.player-container.appearance-neon.playing .album-art-inner{animation:neonGlow 1.5s ease-in-out infinite alternate}.player-container.appearance-neon .control-btn.secondary.active{box-shadow:0 0 10px var(--primary-color)}@keyframes neonGlow{0%{box-shadow:0 0 30px rgba(var(--primary-rgb),.3),0 0 60px rgba(var(--primary-rgb),.15)}to{box-shadow:0 0 40px rgba(var(--primary-rgb),.5),0 0 80px rgba(var(--secondary-rgb),.3)}}.player-container.appearance-minimal .album-art{width:180px;height:180px}.player-container.appearance-minimal .album-art-inner{border-radius:12px;box-shadow:0 4px 20px #0000004d}.player-container.appearance-minimal .pulse-ring{display:none}.player-container.appearance-minimal .control-btn.primary{width:56px;height:56px}.player-container.appearance-retro{background:linear-gradient(180deg,#1a150e,#0f0a06)}.player-container.appearance-retro .player-header h1{font-family:Georgia,serif;color:#c9a87c}.player-container.appearance-retro .track-info h2{color:#c9a87c}.player-container.appearance-retro .track-info p,.player-container.appearance-retro .time{color:#8b7355}.player-container.appearance-retro .album-art-inner{border-radius:8px;border:3px solid #3d2a15;box-shadow:inset 0 0 20px #0006,0 8px 24px #00000080}.player-container.appearance-retro .control-btn.primary{background:linear-gradient(180deg,#c9a87c,#a68b5b);border:1px solid #8b7355}.player-container.appearance-retro .control-btn:not(.primary):not(.secondary){background:#8b735526;border:1px solid #3d2a15}.player-container.appearance-retro .control-btn.secondary{color:#8b7355}.player-container.appearance-retro .control-btn.secondary.active{color:#c9a87c;background:#8b735533}.player-container.appearance-retro .progress-bar{background:linear-gradient(to right,#8b7355 var(--progress, 0%),rgba(139,115,85,.15) var(--progress, 0%))}.player-container.appearance-retro .volume-slider{background:linear-gradient(to right,#8b7355 var(--volume, 70%),rgba(139,115,85,.15) var(--volume, 70%))}.player-container.appearance-retro .action-btn{background:#8b735526;border-color:#3d2a15;color:#c9a87c}.player-container.appearance-retro .track-count-badge{background:#8b73554d;color:#c9a87c;border-color:#8b735566}.player-container.appearance-retro.playing .album-art-inner{animation:retroWobble .5s ease-in-out infinite}@keyframes retroWobble{0%,to{transform:rotate(-.5deg)}50%{transform:rotate(.5deg)}}.player-container.appearance-teal{background:radial-gradient(ellipse at 50% 30%,rgba(26,138,138,.2) 0%,var(--bg-base) 70%)}.player-container.appearance-teal .player-header h1,.player-container.appearance-teal .track-info h2,.player-container.appearance-teal .logo-icon{color:#5eead4}.player-container.appearance-teal .album-art-inner{border:2px solid rgba(94,234,212,.3);box-shadow:0 0 40px #5eead426,0 12px 32px #0006}.player-container.appearance-teal .control-btn.primary{background:#0d9488;box-shadow:0 4px 20px #0d948866}.player-container.appearance-teal .control-btn.secondary.active{color:#5eead4;background:#5eead41f}.player-container.appearance-teal .progress-bar{background:linear-gradient(to right,#0d9488 var(--progress, 0%),rgba(255,255,255,.08) var(--progress, 0%))}.player-container.appearance-teal .volume-slider{background:linear-gradient(to right,#0d9488 var(--volume, 70%),rgba(255,255,255,.08) var(--volume, 70%))}.player-container.appearance-teal .track-count-badge{background:#5eead426;color:#5eead4;border-color:#5eead44d}.player-container.appearance-teal .version-badge{background:#5eead41a;color:#5eead4;border-color:#5eead433}.player-container.appearance-teal.playing .album-art-inner{animation:tealPulse 2s ease-in-out infinite}@keyframes tealPulse{0%,to{transform:scale(1)}50%{transform:scale(1.02);box-shadow:0 0 50px #5eead433,0 12px 32px #0006}}.player-container.appearance-dark{background:radial-gradient(ellipse at 50% 30%,rgba(139,90,158,.1) 0%,var(--bg-base) 70%)}.player-container.appearance-dark .player-header h1,.player-container.appearance-dark .track-info h2{color:#e8d5f0}.player-container.appearance-dark .logo-icon{color:#c9a8d9}.player-container.appearance-dark .version-badge{background:#c9a8d91a;color:#c9a8d9;border-color:#c9a8d933}.player-container.appearance-dark .album-art-inner{border:2px solid rgba(139,90,158,.3);box-shadow:0 0 40px #8b5a9e26,0 12px 32px #00000080}.player-container.appearance-dark .control-btn.primary{background:linear-gradient(135deg,#8b5a9e,#6b4d7a);box-shadow:0 4px 16px #8b5a9e66}.player-container.appearance-dark .control-btn.secondary.active{color:#c9a8d9;background:#c9a8d926}.player-container.appearance-dark .progress-bar{background:linear-gradient(to right,#8b5a9e var(--progress, 0%),rgba(201,168,217,.1) var(--progress, 0%))}.player-container.appearance-dark .volume-slider{background:linear-gradient(to right,#8b5a9e var(--volume, 70%),rgba(201,168,217,.1) var(--volume, 70%))}.player-container.appearance-dark .track-count-badge{background:#8b5a9e33;color:#c9a8d9;border-color:#8b5a9e4d}.player-container.appearance-dark .action-btn{border-color:#8b5a9e4d}.player-container.appearance-dark .repeat-badge{background:#8b5a9e}.player-container.appearance-dark.playing .album-art-inner{animation:darkGlow 2s ease-in-out infinite}@keyframes darkGlow{0%,to{box-shadow:0 12px 32px #00000080}50%{box-shadow:0 12px 40px #8b5a9e4d}}.player-container.appearance-cream{background:linear-gradient(180deg,#1a150e,#0f0a06)}.player-container.appearance-cream .player-header h1{color:#d4a574;font-family:Georgia,serif}.player-container.appearance-cream .track-info h2{color:#d4a574}.player-container.appearance-cream .logo-icon{color:#c9a87c}.player-container.appearance-cream .album-art-inner{border:3px solid rgba(212,165,116,.3);box-shadow:inset 0 0 20px #0000004d,0 8px 24px #0006}.player-container.appearance-cream .control-btn.primary{background:linear-gradient(180deg,#e07b5a,#c9644a);box-shadow:0 4px 16px #e07b5a4d}.player-container.appearance-cream .control-btn.secondary{color:#c9a87c}.player-container.appearance-cream .control-btn.secondary.active{color:#e07b5a;background:#e07b5a1f}.player-container.appearance-cream .progress-bar{background:linear-gradient(to right,#e07b5a var(--progress, 0%),rgba(212,165,116,.1) var(--progress, 0%))}.player-container.appearance-cream .volume-slider{background:linear-gradient(to right,#c9a87c var(--volume, 70%),rgba(212,165,116,.1) var(--volume, 70%))}.player-container.appearance-cream .track-count-badge{background:#c9a87c33;color:#c9a87c;border-color:#c9a87c4d}.player-container.appearance-cream .version-badge{background:#c9a87c1a;color:#c9a87c;border-color:#c9a87c33}.player-container.appearance-cream .action-btn{border-color:#c9a87c4d;color:#c9a87c}.player-container.appearance-cream .repeat-badge{background:#e07b5a}.player-container.appearance-cream.playing .album-art-inner{animation:creamFloat 3s ease-in-out infinite}@keyframes creamFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.player-container.appearance-neon-dark{background:radial-gradient(ellipse at 50% 40%,rgba(var(--primary-rgb),.06) 0%,var(--bg-base) 70%)}.player-container.appearance-neon-dark .player-header h1,.player-container.appearance-neon-dark .track-info h2{text-shadow:0 2px 20px rgba(255,255,255,.2)}.player-container.appearance-neon-dark .album-art{width:280px;height:280px}.player-container.appearance-neon-dark .album-art-inner{background:transparent;border:none;box-shadow:none;overflow:visible}.player-container.appearance-neon-dark .album-placeholder,.player-container.appearance-neon-dark .album-thumbnail{display:none!important}.player-container.appearance-neon-dark .pulse-ring{display:none}.neon-orb{position:relative;width:260px;height:260px;display:flex;align-items:center;justify-content:center}.orb-glow{position:absolute;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,rgba(255,191,72,.4) 0%,rgba(255,140,60,.3) 30%,rgba(255,100,80,.2) 50%,rgba(200,60,100,.1) 70%,transparent 100%);filter:blur(40px)}.orb-circle{position:relative;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle at 30% 30%,#ffbf484d,#ff8c3c33 40%,#c83c641a);border:2px solid rgba(255,191,72,.4);box-shadow:0 0 40px #ffbf4866,0 0 80px #ff8c3c33,inset 0 0 40px #ffbf4833;overflow:hidden}.orb-blob{position:absolute;top:15%;left:15%;width:70%;height:70%;background:radial-gradient(circle,#fff0b4e6,#ffc878cc,#ffa06499 60%,#ff787866);border-radius:40% 60% 70% 30%/40% 50% 60%;filter:blur(20px)}.orb-thumbnail{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80px;height:80px;border-radius:10px;background:var(--bg-base);border:2px solid rgba(255,255,255,.2);box-shadow:0 0 20px #00000080;overflow:hidden;display:flex;align-items:center;justify-content:center;z-index:10}.orb-thumbnail img{width:100%;height:100%;object-fit:cover;border-radius:8px}.orb-thumbnail-placeholder{color:#ffffff4d;display:flex;align-items:center;justify-content:center}@keyframes orbGlowPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.15);opacity:1}}@keyframes orbFloat{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-12px) scale(1.03)}}@keyframes blobMorph{0%,to{border-radius:40% 60% 70% 30%/40% 50% 60%;transform:translate(0) rotate(0) scale(1)}25%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:translate(15px,-8px) rotate(90deg) scale(1.05)}50%{border-radius:50%;transform:translate(8px,15px) rotate(180deg) scale(.95)}75%{border-radius:30% 70% 60% 40%/50% 60% 40% 50%;transform:translate(-15px,8px) rotate(270deg) scale(1.05)}}@keyframes orbColorShift{0%,to{filter:blur(40px) hue-rotate(0deg)}50%{filter:blur(40px) hue-rotate(-60deg)}}@keyframes orbBorderColor{0%,to{border-color:#ffbf4866;box-shadow:0 0 40px #ffbf4866,0 0 80px #ff8c3c33,inset 0 0 40px #ffbf4833}50%{border-color:#ff649666;box-shadow:0 0 40px #ff649666,0 0 80px #c850b433,inset 0 0 40px #ff649633}}@keyframes blobColorShift{0%,to{filter:blur(20px) hue-rotate(0deg)}50%{filter:blur(20px) hue-rotate(-60deg)}}.neon-orb.paused .orb-glow{animation:none;opacity:.4}.neon-orb.paused .orb-circle{animation:none}.neon-orb.paused .orb-blob{animation:none;filter:blur(20px)}.neon-orb.playing .orb-glow{animation:orbGlowPulse 4s ease-in-out infinite,orbColorShift 6s ease-in-out infinite}.neon-orb.playing .orb-circle{animation:orbFloat 6s ease-in-out infinite,orbBorderColor 6s ease-in-out infinite}.neon-orb.playing .orb-blob{animation:blobMorph 8s ease-in-out infinite,blobColorShift 6s ease-in-out infinite}.player-container.appearance-neon-dark .track-count-badge{background:#ffffff0f;border:1px solid rgba(255,255,255,.1);color:#ffffffb3}.player-container.appearance-neon-dark .control-btn:not(.primary):not(.secondary){background:#ffffff0f;border:1px solid rgba(255,255,255,.1)}.player-container.appearance-neon-dark .control-btn.primary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #0003}.player-container.appearance-neon-dark .control-btn.secondary.active{background:#ffffff14;border:1px solid rgba(255,255,255,.15);box-shadow:0 0 15px #ffffff1a}.player-container.appearance-neon-dark .repeat-badge{background:#fffc;color:var(--bg-base)}.player-container.appearance-neon-dark .progress-bar{background:#ffffff14}.player-container.appearance-neon-dark .progress-bar::-webkit-slider-thumb{background:#ffffffe6;box-shadow:0 0 12px #ffffff4d}.player-container.appearance-neon-dark .volume-slider{background:#ffffff14}.player-container.appearance-neon-dark .volume-slider::-webkit-slider-thumb{background:#ffffffe6;box-shadow:0 0 12px #ffffff4d}.player-container.appearance-neon-dark .action-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.yt-explore-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--bg-base, #0a0a0f);overflow:hidden}.yt-explore-fixed-header{flex-shrink:0;padding:16px;padding-top:max(16px,var(--safe-area-top));padding-left:max(16px,var(--safe-area-left));padding-right:max(16px,var(--safe-area-right));background:var(--bg-base, #0a0a0f)}.yt-explore-title{text-align:center;margin-bottom:20px}.yt-explore-title h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0 0 4px;letter-spacing:-.3px}.yt-explore-title p{font-size:13px;color:var(--text-tertiary);margin:0}.yt-search-form{margin-bottom:12px}.yt-search-wrapper{display:flex;align-items:center;background:var(--bg-glass, rgba(255, 255, 255, .06));border:1px solid var(--border-subtle, rgba(255, 255, 255, .08));border-radius:14px;padding:0 14px;transition:border-color .2s,box-shadow .2s}.yt-search-wrapper:focus-within{border-color:var(--primary-color, #7c5cfc);box-shadow:0 0 0 3px #7c5cfc1a}.yt-search-icon{color:var(--text-tertiary);flex-shrink:0;width:18px;height:18px}.yt-search-input{flex:1;border:none;outline:none;font-size:14px;padding:14px 10px;background:transparent;min-width:0;color:var(--text-primary)}.yt-search-input::placeholder{color:var(--text-tertiary)}.yt-clear-btn{background:none;border:none;color:var(--text-tertiary);padding:4px;cursor:pointer;display:flex;transition:color .15s}.yt-clear-btn:active{color:var(--text-primary)}.yt-search-error{background:#ef44441a;color:#ef4444;padding:10px 14px;border-radius:10px;margin-top:8px;font-size:13px;text-align:center;border:1px solid rgba(239,68,68,.2)}.yt-results-scroll-area{flex:1;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:0 16px calc(84px + var(--safe-area-bottom)) 16px;overscroll-behavior:contain}.yt-section-title{display:flex;align-items:center;gap:8px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-subtle)}.yt-section-title svg{color:var(--primary-color);width:18px;height:18px}.yt-section-title h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:0;flex:1}.yt-section-title span{font-size:12px;color:var(--text-tertiary)}.yt-clear-history-btn{background:none;border:none;color:#ef4444;padding:6px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .15s ease}.yt-clear-history-btn:active{background:#ef44441a;transform:scale(.9)}.yt-videos-grid{display:flex;flex-direction:column;gap:8px}.yt-video-card{display:flex;align-items:center;gap:12px;padding:10px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;transition:all .15s ease}.yt-video-card:active{background:var(--bg-glass-strong);transform:scale(.99)}.yt-video-thumbnail{width:80px;height:56px;border-radius:10px;overflow:hidden;position:relative;flex-shrink:0;background:#ffffff0a;cursor:pointer}.yt-video-thumbnail img{width:100%;height:100%;object-fit:cover}.yt-play-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.yt-play-overlay svg{margin-left:2px}.yt-video-details{flex:1;min-width:0;cursor:pointer}.yt-video-details h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.3}.yt-video-details p{font-size:11px;color:var(--text-tertiary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.yt-add-button{width:36px;height:36px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 10px rgba(var(--primary-rgb),.3)}.yt-add-button:active{transform:scale(.88)}.yt-remove-button{width:32px;height:32px;background:none;color:#ef4444;border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:4px;opacity:.7;transition:opacity .15s}.yt-remove-button:active{opacity:1;transform:scale(.85)}.yt-loading{text-align:center;padding:48px 20px}.yt-loading svg{color:var(--text-tertiary);margin-bottom:12px}.yt-loading p{font-size:14px;color:var(--text-secondary);margin:0}.spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.yt-empty{text-align:center;padding:48px 20px}.yt-empty svg{color:var(--text-tertiary);margin-bottom:12px;opacity:.5}.yt-empty p{font-size:14px;color:var(--text-secondary);margin:0 0 4px}.yt-empty span{font-size:12px;color:var(--text-tertiary)}.picker-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.playlist-picker{position:fixed;left:16px;right:16px;bottom:84px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:0 -4px 32px #0006;z-index:1000;max-height:50vh;overflow:hidden;animation:slideUp .2s ease}.picker-item svg{color:var(--primary-color);width:20px;height:20px;flex-shrink:0}.toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);background:var(--bg-elevated);color:var(--text-primary);padding:12px 20px;border-radius:24px;font-size:14px;font-weight:500;display:flex;align-items:center;gap:8px;z-index:300;animation:toastIn .2s ease;border:1px solid var(--border-subtle);box-shadow:0 4px 20px #0006}.toast svg{color:#4ade80}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 380px){.yt-explore-fixed-header{padding:12px}.yt-results-scroll-area{padding:0 12px 84px}.yt-video-thumbnail{width:70px;height:49px}}.playlist-manager{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;padding:16px;padding-top:max(16px,var(--safe-area-top));padding-bottom:calc(74px + var(--safe-area-bottom));padding-left:max(16px,var(--safe-area-left));padding-right:max(16px,var(--safe-area-right));background:var(--bg-base);overflow:hidden}.playlist-manager-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-shrink:0;gap:12px;flex-wrap:wrap}.playlist-manager-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.create-playlist-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 10px rgba(var(--primary-rgb),.25)}.create-playlist-btn:active{transform:scale(.97)}.playlists-grid{display:flex;flex-direction:column;gap:10px;flex:1;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(84px + var(--safe-area-bottom));overscroll-behavior:contain}.playlist-card{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:16px;overflow:visible;position:relative;z-index:1;transition:border-color .2s ease}.playlist-card.active{border-color:var(--primary-color);box-shadow:0 0 20px rgba(var(--primary-rgb),.15)}.playlist-card-content{display:flex;align-items:center;gap:14px;padding:14px;cursor:pointer}.playlist-card-content:active{background:var(--bg-glass-strong);border-radius:16px}.playlist-cover{width:52px;height:52px;border-radius:12px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.25),rgba(var(--secondary-rgb),.25));display:flex;align-items:center;justify-content:center;color:var(--primary-color);overflow:hidden;flex-shrink:0;border:1px solid rgba(var(--primary-rgb),.2)}.playlist-cover img{width:100%;height:100%;object-fit:cover}.playlist-info{flex:1;min-width:0}.playlist-info h3{font-size:15px;font-weight:600;color:var(--text-primary);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-info p{font-size:12px;color:var(--text-tertiary);margin:0}.chevron{color:var(--text-tertiary)}.playlist-actions{display:flex;align-items:center;gap:8px;padding:0 14px 14px;position:relative;z-index:10}.play-playlist-btn{width:34px;height:34px;background:var(--primary-color);color:#fff;border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px rgba(var(--primary-rgb),.3);position:relative;z-index:10}.play-playlist-btn:disabled{opacity:.3}.play-playlist-btn:active:not(:disabled){transform:scale(.95)}.menu-btn{width:34px;height:34px;background:none;color:var(--text-tertiary);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;position:relative;z-index:10}.menu-btn:active{background:var(--bg-glass-strong)}.playlist-menu{position:absolute;right:14px;top:44px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:14px;box-shadow:0 8px 32px #00000080;z-index:200;overflow:hidden;min-width:140px}.playlist-menu button{width:100%;display:flex;align-items:center;gap:10px;padding:14px 16px;border:none;background:none;font-size:14px;color:var(--text-primary);cursor:pointer}.playlist-menu button:active{background:var(--bg-glass)}.playlist-menu .delete-option{color:#ef4444}.playlist-menu .delete-option:active{background:#ef44441a}.edit-playlist-name{display:flex;gap:8px;padding:14px}.edit-playlist-name input{flex:1;padding:10px 12px;border:1px solid var(--primary-color);background:var(--bg-glass);border-radius:10px;font-size:14px;outline:none;color:var(--text-primary)}.edit-playlist-name button{padding:10px 14px;border:none;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer}.edit-playlist-name button:first-of-type{background:var(--primary-color);color:#fff}.edit-playlist-name button:last-of-type{background:var(--bg-glass-strong);color:var(--text-secondary)}.empty-playlists{text-align:center;padding:60px 20px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:20px}.empty-playlists svg{color:var(--text-tertiary);margin-bottom:16px;opacity:.5}.empty-playlists h3{font-size:18px;color:var(--text-primary);margin:0 0 8px}.empty-playlists p{font-size:13px;color:var(--text-tertiary);margin:0 0 20px}.empty-playlists button{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px rgba(var(--primary-rgb),.3)}.playlist-detail{animation:slideIn .2s ease;flex:1;display:flex;flex-direction:column;min-height:0}@keyframes slideIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.playlist-detail-header{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.playlist-stats{display:flex;align-items:center;gap:16px;padding:12px 16px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;margin-bottom:16px;flex-wrap:wrap}.stat-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);font-weight:500}.stat-item svg{color:var(--primary-color)}.stat-dot{width:8px;height:8px;border-radius:50%}.stat-dot.youtube{background:#f44}.stat-dot.local{background:var(--primary-color)}.back-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:10px;font-size:14px;color:var(--text-secondary);cursor:pointer}.back-btn:active{background:var(--bg-glass-strong)}.playlist-detail-info{flex:1;min-width:120px}.playlist-detail-info h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.playlist-detail-info p{font-size:13px;color:var(--text-tertiary);margin:0}.play-all-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;background:var(--primary-color);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;box-shadow:0 2px 10px rgba(var(--primary-rgb),.3)}.play-all-btn:disabled{opacity:.3}.play-all-btn:active:not(:disabled){transform:scale(.97)}.playlist-tracks-list{display:flex;flex-direction:column;gap:6px;flex:1;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(84px + var(--safe-area-bottom));overscroll-behavior:contain}.playlist-track-item{display:flex;align-items:center;gap:12px;padding:10px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;animation:slideIn .2s ease;transition:opacity .2s ease,transform .2s ease}.playlist-track-item:active{background:var(--bg-glass-strong)}.playlist-track-item.removing{opacity:0;transform:translate(-20px);pointer-events:none}.track-number{width:24px;text-align:center;font-size:12px;color:var(--text-tertiary);font-weight:600}.track-thumbnail{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,rgba(var(--primary-rgb),.2),rgba(var(--secondary-rgb),.2));display:flex;align-items:center;justify-content:center;color:var(--primary-color);overflow:hidden;cursor:pointer;position:relative;flex-shrink:0;border:1px solid var(--border-subtle)}.track-thumbnail img{width:100%;height:100%;object-fit:cover}.play-overlay-small{position:absolute;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff}.track-details{flex:1;min-width:0}.track-details h4{font-size:13px;font-weight:600;color:var(--text-primary);margin:0 0 3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-details p{font-size:11px;color:var(--text-tertiary);margin:0}.remove-track-btn{width:30px;height:30px;background:none;color:var(--text-tertiary);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}.remove-track-btn:active{background:#ef44441a;color:#ef4444}.move-track-btn{width:30px;height:30px;background:none;color:var(--primary-color);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;opacity:.6;transition:all .2s}.move-track-btn:active{opacity:1;background:rgba(var(--primary-rgb),.1)}.empty-playlist-tracks{text-align:center;padding:48px 20px}.empty-playlist-tracks svg{color:var(--text-tertiary);margin-bottom:12px;opacity:.5}.empty-playlist-tracks p{font-size:14px;color:var(--text-secondary);margin:0 0 4px}.empty-playlist-tracks span{font-size:12px;color:var(--text-tertiary)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.create-playlist-modal{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;width:100%;max-width:360px;overflow:hidden;animation:modalIn .2s ease;box-shadow:0 16px 48px #00000080}@keyframes modalIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.create-playlist-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-subtle);flex-shrink:0}.create-playlist-modal .modal-header h3{font-size:17px;font-weight:600;margin:0;color:var(--text-primary)}.create-playlist-modal .modal-header button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%}.create-playlist-modal .modal-header button:active{background:var(--bg-glass-strong)}.create-playlist-modal .modal-body{padding:20px}.create-playlist-modal .modal-body input{width:100%;padding:14px;border:1px solid var(--border-medium);background:var(--bg-glass);border-radius:12px;font-size:15px;outline:none;color:var(--text-primary);transition:border-color .2s}.create-playlist-modal .modal-body input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.create-playlist-modal .modal-footer{display:flex;gap:10px;padding:0 20px 20px}.create-playlist-modal .cancel-btn{flex:1;padding:14px;background:var(--bg-glass-strong);border:none;border-radius:12px;font-size:14px;font-weight:600;color:var(--text-secondary);cursor:pointer}.create-playlist-modal .cancel-btn:active{background:#ffffff26}.create-playlist-modal .create-btn{flex:1;padding:14px;background:var(--primary-color);border:none;border-radius:12px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;box-shadow:0 2px 10px rgba(var(--primary-rgb),.3)}.create-playlist-modal .create-btn:disabled{opacity:.3;cursor:not-allowed}.create-playlist-modal .create-btn:active:not(:disabled){opacity:.9}@media (max-width: 380px){.playlist-manager{padding:12px}.playlist-manager-header h2{font-size:20px}.create-playlist-btn{padding:8px 12px;font-size:12px}.playlist-detail-header{flex-direction:column;align-items:flex-start}.play-all-btn{width:100%;justify-content:center}}.playlist-cover.yt-links-cover{background:linear-gradient(135deg,#ff00004d,#c800004d);color:#f44;border-color:#f003}.move-playlist-picker{position:fixed;left:16px;right:16px;bottom:84px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:20px;box-shadow:0 -4px 32px #0006;z-index:1000;max-height:50vh;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.picker-header{display:flex;justify-content:space-between;align-items:center;padding:16px;border-bottom:1px solid var(--border-subtle);font-weight:600;font-size:15px;color:var(--text-primary);flex-shrink:0}.picker-header button{background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:50%}.picker-header button:active{background:var(--bg-glass-strong)}.picker-list{max-height:calc(50vh - 56px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.picker-item{width:100%;display:flex;align-items:center;gap:12px;padding:14px 16px;border:none;background:none;text-align:left;cursor:pointer;color:var(--text-primary)}.picker-item:active{background:var(--bg-glass)}.picker-item svg{color:var(--primary-color);width:20px;height:20px}.playlist-name{flex:1;font-size:15px;color:var(--text-primary)}.track-count{font-size:12px;color:var(--text-tertiary);background:var(--bg-glass);padding:4px 10px;border-radius:12px}.no-playlists{padding:32px 16px;text-align:center;color:var(--text-tertiary);font-size:14px;line-height:1.5}.settings-container{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;background:var(--bg-base);overflow:hidden}.settings-header{display:flex;align-items:center;gap:12px;padding:20px 16px;padding-top:max(20px,var(--safe-area-top));padding-left:max(16px,var(--safe-area-left));padding-right:max(16px,var(--safe-area-right));background:var(--bg-elevated);border-bottom:1px solid var(--border-subtle);flex-shrink:0}.settings-icon{color:var(--primary-color)}.settings-header h2{font-size:22px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.3px}.settings-content{flex:1;overflow-y:scroll;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding:16px;padding-bottom:calc(20px + var(--safe-area-bottom));padding-left:max(16px,var(--safe-area-left));padding-right:max(16px,var(--safe-area-right))}.settings-section{background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:18px;padding:20px;margin-bottom:16px}.section-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.section-header svg{color:var(--primary-color)}.section-header h3{font-size:17px;font-weight:600;color:var(--text-primary);margin:0}.section-description{font-size:13px;color:var(--text-tertiary);margin:0 0 20px;line-height:1.5}.settings-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px}.settings-option-btn{display:flex;align-items:center;gap:16px;padding:14px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;cursor:pointer;transition:all .15s ease}.settings-option-btn:active:not(:disabled){transform:scale(.98);background:var(--bg-glass-strong)}.settings-option-btn:disabled{opacity:.4;cursor:not-allowed}.settings-option-btn svg{flex-shrink:0}.export-btn{border-color:rgba(var(--primary-rgb),.3)}.export-btn svg{color:var(--primary-color)}.import-btn{border-color:rgba(var(--secondary-rgb),.3)}.import-btn svg{color:var(--secondary-color)}.option-text{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.option-title{font-size:15px;font-weight:600;color:var(--text-primary)}.option-desc{font-size:12px;color:var(--text-tertiary)}.spinner-small{width:20px;height:20px;border:2px solid var(--border-subtle);border-top-color:var(--primary-color);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.info-box{display:flex;align-items:center;gap:10px;padding:12px;background:#fbbf2414;border:1px solid rgba(251,191,36,.2);border-radius:10px;font-size:13px;color:#fbbf24}.info-box svg{flex-shrink:0;color:#fbbf24}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;cursor:pointer;transition:all .15s ease}.theme-option.active{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.08);box-shadow:0 0 15px rgba(var(--primary-rgb),.1)}.theme-option:active{transform:scale(.95)}.theme-preview{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000004d}.theme-name{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center}.app-info{text-align:center;padding:20px 0}.app-name{font-size:18px;font-weight:700;color:var(--primary-color);margin:0 0 8px}.app-version{font-size:13px;color:var(--text-secondary);margin:0 0 4px}.app-copyright{font-size:11px;color:var(--text-tertiary);margin:0 0 12px}.developer-link{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.15);border-radius:20px;color:var(--primary-color);text-decoration:none;font-size:13px;font-weight:500;transition:all .2s ease;margin-top:8px}.developer-link:hover{background:rgba(var(--primary-rgb),.12);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.developer-link:active{transform:translateY(0)}.settings-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;padding:12px 20px;border-radius:24px;font-size:14px;font-weight:500;z-index:300;animation:slideUpToast .3s ease;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.settings-toast.success{background:#4ade801f;color:#4ade80;border:1px solid rgba(74,222,128,.2)}.settings-toast.error{background:#ef44441f;color:#ef4444;border:1px solid rgba(239,68,68,.2)}.settings-toast svg{flex-shrink:0}@keyframes slideUpToast{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@media (max-width: 380px){.settings-content{padding:12px}.settings-section{padding:16px}.theme-options,.appearance-options{grid-template-columns:repeat(auto-fit,minmax(80px,1fr))}}.appearance-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px}.appearance-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:14px 10px;background:var(--bg-glass);border:1px solid var(--border-subtle);border-radius:14px;cursor:pointer;transition:all .15s ease;position:relative}.appearance-option.active{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.08);box-shadow:0 0 15px rgba(var(--primary-rgb),.1)}.appearance-option:active{transform:scale(.95)}.appearance-icon{font-size:28px;line-height:1}.appearance-name{font-size:12px;font-weight:500;color:var(--text-secondary);text-align:center}.appearance-check{position:absolute;top:6px;right:6px;color:var(--primary-color)}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-color: #7c5cfc;--secondary-color: #a855f7;--primary-rgb: 124, 92, 252;--secondary-rgb: 168, 85, 247;--bg-base: #0a0a0f;--bg-elevated: #13131a;--bg-card: rgba(255, 255, 255, .04);--bg-card-hover: rgba(255, 255, 255, .07);--bg-glass: rgba(255, 255, 255, .06);--bg-glass-strong: rgba(255, 255, 255, .1);--border-subtle: rgba(255, 255, 255, .08);--border-medium: rgba(255, 255, 255, .12);--border-accent: rgba(124, 92, 252, .4);--text-primary: #f0f0f5;--text-secondary: rgba(255, 255, 255, .6);--text-tertiary: rgba(255, 255, 255, .35);--text-accent: var(--primary-color);--shadow-glow: 0 0 40px rgba(124, 92, 252, .15);--shadow-card: 0 4px 24px rgba(0, 0, 0, .4);--shadow-elevated: 0 8px 32px rgba(0, 0, 0, .5)}html,body{height:100%;width:100%;overflow:hidden;position:fixed;top:0;left:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-base);color:var(--text-primary)}#root{height:100%;width:100%;display:flex;flex-direction:column}body{overscroll-behavior-y:contain}::-webkit-scrollbar{width:3px;height:3px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:inherit}input{font-family:inherit}*{scroll-behavior:smooth}
