.player{position:fixed;bottom:0;left:0;right:0;height:72px;background:#0e0d0bf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:none;display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;z-index:1000;transition:height .2s ease}.player:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,var(--accent, #d4a053) 50%,transparent 100%);z-index:1}.player-minimize-btn{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;background:#ffffff14;border:none;border-radius:50%;cursor:pointer;color:var(--text-tertiary);display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:10}@media(hover:hover){.player-minimize-btn:hover{background:#ffffff1a;color:var(--text-secondary)}}.player-minimize-btn:active{color:#fff}.player-minimize-btn svg{width:20px;height:20px}.player.player-minimized{height:64px;padding:0 1rem}.player.player-minimized .player-minimize-btn{position:static;width:28px;height:28px;margin-left:.5rem}.player.player-minimized .player-minimize-btn svg{width:18px;height:18px}.player.player-minimized .player-track{flex:1;cursor:pointer}.player.player-minimized .player-artwork{width:48px;height:48px}.player.player-minimized .player-info{flex:1;min-width:0}.player.player-minimized .player-title{font-size:.9rem}.player.player-minimized .player-artist{font-size:.8rem}.player-mini-progress{display:none;position:absolute;top:-6px;left:0;right:0;height:6px;background:#ffffff14;cursor:pointer;z-index:2;touch-action:none}.player-mini-progress:before{content:"";position:absolute;inset:-12px 0 -6px}.mini-progress-fill{height:100%;background:linear-gradient(90deg,#c4903f,#d4a053,#e8c88a);border-radius:0 3px 3px 0;transition:width .3s linear;position:relative;box-shadow:0 0 4px #d4a05366}.mini-progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:14px;height:14px;background:#d4a053;border-radius:50%;box-shadow:0 0 6px #d4a05366}.player-mini-controls{display:none;align-items:center;gap:0}.player-mini-controls .player-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);-webkit-tap-highlight-color:transparent}.player-mini-controls .player-expand-btn{color:#555}.player-mini-controls .player-expand-btn svg{width:20px;height:20px}.player-mini-controls .player-btn:active{color:#fff}.player-mini-controls .player-btn:disabled{opacity:.25}.player-mini-controls .player-btn svg{width:24px;height:24px}.player-mini-controls .player-close-btn{color:#555}.player-mini-controls .player-close-btn svg{width:20px;height:20px}@media(hover:hover){.player-mini-controls .player-close-btn:hover{color:#fff}}.player-track{display:flex;align-items:center;gap:1rem;flex:1;min-width:180px;max-width:400px}.player-artwork{width:60px;height:60px;border-radius:8px;overflow:hidden;background:#ffffff1a;flex-shrink:0;position:relative;cursor:pointer;border:1px solid rgba(212,160,83,.3)}.player-artwork:after{content:"";position:absolute;bottom:2px;right:2px;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,#d4a053 25%,#1a1a1a 26%,#222 45%,#1a1a1a 46%,#222 65%,#1a1a1a 66%,#222 85%,#1a1a1a 86%);animation:vinylSpin 3s linear infinite;animation-play-state:paused;opacity:.8;z-index:2}.player.is-playing .player-artwork:after{animation-play-state:running}@keyframes vinylSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.artwork-video-hint{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;color:#fff}.artwork-video-hint svg{width:24px;height:24px}.player-artwork img{width:100%;height:100%;object-fit:cover}.player-artwork-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary, #7a7a8a)}.player-artwork-placeholder svg{width:32px;height:32px}.player-artwork-loader{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:2}.loader-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.player-info{min-width:0}.player-title{font-size:.9rem;font-weight:500;color:var(--text-primary, #e8e8e8);word-break:break-word;position:relative}.player-title-text{display:inline-block;animation:none}.player-title-text.scrolling{animation:marquee 8s linear infinite;padding-right:3rem}@keyframes marquee{0%{transform:translate(0)}20%{transform:translate(0)}80%{transform:translate(calc(-100% + 200px))}to{transform:translate(calc(-100% + 200px))}}.player-artist{font-size:.8rem;color:var(--text-secondary, #7a7a8a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-badge{display:inline-block;font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;background:#d4a05326;color:#d4a053;padding:1px 5px;border-radius:3px;margin-left:6px;vertical-align:middle}.apple-music-attribution{font-size:.65rem;color:#ffffff59;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.apple-music-link{color:#ffffff73;text-decoration:none;display:inline-flex;align-items:center;gap:3px;transition:color .15s}.apple-music-link:hover{color:#fa586a}.player-controls{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:2;max-width:600px}.player-center{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:2;max-width:600px;padding:0 1rem}.player-buttons{display:flex;align-items:center;gap:1rem}.player-btn{background:none;border:none;cursor:pointer;color:var(--text-secondary, #7a7a8a);padding:.5rem;display:flex;align-items:center;justify-content:center;transition:color .2s,transform .1s}@media(hover:hover){.player-btn:hover:not(:disabled){color:var(--text-primary, #e8e8e8);transform:scale(1.1)}}.player-btn:disabled{opacity:.3;cursor:not-allowed}.player-btn svg{width:24px;height:24px}.player-mode-btn{opacity:.5}@media(hover:hover){.player-mode-btn:hover{opacity:.8}}.player-mode-btn.active{color:var(--accent);opacity:1}.player-mode-btn svg{width:20px;height:20px}.play-btn{width:40px;height:40px;background:var(--accent, #d4a053);border-radius:50%;color:#000}@media(hover:hover){.play-btn:hover:not(:disabled){background:var(--accent-hover, #e0b46a);transform:scale(1.05);color:#000}}.play-btn svg{width:20px;height:20px}.player-progress{display:flex;align-items:center;gap:.75rem;width:100%}.player-time{font-size:.7rem;color:var(--text-secondary, #7a7a8a);min-width:40px;text-align:center}.player-track-position{font-size:.65rem;color:#555;min-width:36px;text-align:center;white-space:nowrap}.progress-bar{flex:1;height:4px;background:var(--border-color, #1e1e2a);border-radius:2px;cursor:pointer;position:relative}@media(hover:hover){.progress-bar:hover{height:6px}}.progress-fill{height:100%;background:linear-gradient(90deg,#c4903f,#d4a053,#e8c88a);border-radius:2px;position:relative;transition:width .1s linear}@media(hover:hover){.progress-bar:hover .progress-fill{background:linear-gradient(90deg,#c4903f,#d4a053,#e8c88a)}}.progress-fill:after{content:"";position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:12px;height:12px;background:var(--text-primary, #e8e8e8);border-radius:50%;opacity:0;transition:opacity .2s}@media(hover:hover){.progress-bar:hover .progress-fill:after{opacity:1}}.player-volume{display:flex;align-items:center;gap:.5rem;flex:1;justify-content:flex-end;min-width:150px;max-width:200px}.volume-btn{padding:.5rem}.volume-btn svg{width:20px;height:20px}.volume-slider{width:100px;height:4px;background:var(--border-color, #1e1e2a);border-radius:2px;cursor:pointer}@media(hover:hover){.volume-slider:hover{height:6px}}.volume-fill{height:100%;background:#fff;border-radius:2px}.queue-count{font-size:.75rem;color:var(--text-secondary, #7a7a8a);white-space:nowrap}.btn-spinner{width:16px;height:16px;border:2px solid var(--border-color, #1e1e2a);border-top-color:var(--bg-dark, #000);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.player-error-row{display:flex;align-items:center;gap:.5rem;margin-top:2px}.player-error{font-size:.7rem;color:var(--error, #f87171)}.youtube-link-btn{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .5rem;background:#fff;color:#000;border:none;border-radius:3px;font-size:.65rem;font-weight:600;cursor:pointer;transition:background .2s}@media(hover:hover){.youtube-link-btn:hover{background:#e0e0e0}}.youtube-link-btn svg{width:10px;height:10px}.player-audio{height:72px;padding:0 1rem}.youtube-off{display:none}.youtube-minimized{position:fixed;bottom:80px;right:16px;width:200px;height:200px;z-index:998;border-radius:8px;overflow:visible;box-shadow:0 4px 16px #00000080;border:1px solid rgba(255,255,255,.1);opacity:.85;transition:opacity .2s}.youtube-minimized:hover{opacity:1}.youtube-minimized iframe{width:200px;height:200px;border:none}.youtube-visible{position:fixed;bottom:80px;right:16px;width:320px;height:180px;z-index:998;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #000000b3;border:1px solid rgba(255,255,255,.1);animation:videoSlideIn .25s ease}.youtube-visible iframe{width:320px;height:180px;border:none}@keyframes videoSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:600px){.youtube-visible{right:8px;bottom:calc(68px + env(safe-area-inset-bottom,0px));width:280px;height:158px;z-index:998}.youtube-visible iframe{width:280px;height:158px}.youtube-minimized{right:8px;bottom:calc(68px + env(safe-area-inset-bottom,0px));width:200px;height:200px}.youtube-minimized iframe{width:200px;height:200px}}.player-end{display:flex;align-items:center;justify-content:flex-end;flex:1;min-width:180px;max-width:360px;gap:0;background:#ffffff08;border:1px solid #333;border-radius:10px;padding:0 .35rem}.player-video-btn.active{color:var(--accent)}.player-queue-btn{position:relative;display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#888;transition:all .2s ease}@media(hover:hover){.player-queue-btn:hover{background:#ffffff1a;border-color:#555;color:#fff}}.player-volume{display:flex;align-items:center;gap:.25rem;margin-left:.25rem;padding-left:.35rem;border-left:1px solid #333}.player-volume-btn{flex-shrink:0}.player-volume-slider{-webkit-appearance:none;appearance:none;width:70px;height:3px;background:#333;border-radius:2px;outline:none;cursor:pointer;transition:opacity .15s}.player-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#d4a053;cursor:pointer;border:none;transition:transform .1s}.player-volume-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}.player-volume-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#d4a053;cursor:pointer;border:none}.player-volume-slider::-moz-range-track{background:#333;height:4px;border-radius:2px}@media(max-width:768px){.player-volume{display:none}}.player-queue-btn svg{width:20px;height:20px}.queue-badge{position:absolute;top:-6px;right:-6px;min-width:18px;height:18px;padding:0 5px;background:linear-gradient(135deg,#d4a053,#c4903f);border-radius:9px;font-size:.7rem;font-weight:600;color:#fff;display:flex;align-items:center;justify-content:center}.player-action-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:36px;height:36px;background:transparent;border:none;border-radius:6px;cursor:pointer;color:#888;transition:all .2s ease}@media(hover:hover){.player-action-btn:hover{background:#ffffff1a;border-color:#555;color:#fff}}.player-action-btn svg{width:20px;height:20px;flex-shrink:0}.player-action-btn .action-label{display:none}.share-container{position:relative}.share-menu{position:absolute;bottom:50px;right:0;background:#ffffff1a;border:1px solid #333;border-radius:12px;padding:.5rem;min-width:180px;box-shadow:0 8px 32px #0006;animation:shareMenuFadeIn .2s ease;z-index:100}@keyframes shareMenuFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.share-option{display:flex;align-items:center;gap:.75rem;width:100%;padding:.625rem .75rem;background:transparent;border:none;border-radius:8px;color:#fff;font-size:.875rem;cursor:pointer;transition:background .2s ease;text-align:left}@media(hover:hover){.share-option:hover{background:#ffffff14}}.share-option svg{width:20px;height:20px;flex-shrink:0}.share-option.twitter svg{color:#fff}.share-option.facebook svg{color:#1877f2}.share-option.whatsapp svg{color:#25d366}.share-option.copy svg{color:#888}.player-embed{height:auto;flex-direction:row;flex-wrap:wrap;padding:.5rem 1rem;gap:.75rem;align-items:center}.player-embed .player-track{flex:0 0 auto;max-width:200px}.player-embed .player-buttons{justify-content:center;order:3}.player-embed-container{flex:1;min-width:200px;max-width:350px;aspect-ratio:16/9;border-radius:6px;overflow:hidden;background:#000;position:relative}.embed-thumbnail{position:absolute;inset:0;cursor:pointer;display:flex;align-items:center;justify-content:center}.embed-thumbnail img{width:100%;height:100%;object-fit:cover}.embed-play-btn{position:absolute;width:60px;height:60px;background:#000c;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:transform .2s,background .2s}.embed-play-btn svg{width:28px;height:28px;color:#fff;margin-left:4px}@media(hover:hover){.embed-thumbnail:hover .embed-play-btn{transform:scale(1.1);background:#fff3}}.embed-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#000;z-index:1}.embed-loading .loader-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.player-embed-container iframe{position:absolute;inset:0;width:100%;height:100%;border:none;z-index:2}.player-nav-buttons{display:flex;align-items:center;gap:.5rem}@media(max-width:768px){.player-embed{flex-direction:column;padding:.5rem;gap:.5rem}.player-embed .player-track{width:100%;max-width:none}.player-embed-container{width:100%;max-width:none;min-width:auto}.player-embed .player-buttons{order:0}}@media(max-width:768px){.player{height:calc(64px + env(safe-area-inset-bottom,0));padding:0 .75rem;padding-bottom:env(safe-area-inset-bottom,0);flex-direction:row;gap:.75rem;background:#0e0d0b;backdrop-filter:none;-webkit-backdrop-filter:none;border-top:1px solid #1a1a1a;box-shadow:0 -2px 12px #000c}.player-center,.player-end,.player-minimize-btn{display:none!important}.player-mini-progress{display:block}.player-mini-controls{display:flex;flex-shrink:0}.player-mini-controls .player-mode-btn{color:#555}.player-mini-controls .player-mode-btn.active{color:var(--accent)}.player-mini-controls .player-mode-btn svg{width:20px;height:20px}.player-mini-controls .player-btn.active{color:var(--accent)}.player-track{flex:1;width:auto;max-width:none;gap:.75rem}.player-artwork{width:48px;height:48px;border-radius:6px;box-shadow:0 2px 8px #0000004d}.player-info{flex:1;min-width:0}.player-title{font-size:.95rem;font-weight:600}.player-artist{font-size:.8rem;opacity:.7}.player-center{order:2;width:100%;flex:none;max-width:none;padding:0;gap:.5rem}.player-buttons{gap:.75rem;justify-content:center}.player-btn{padding:.5rem}.player-btn svg{width:24px;height:24px}.play-btn{width:52px;height:52px;background:#fff;box-shadow:0 2px 10px #fff3}.play-btn svg{width:24px;height:24px}.player-progress{display:flex;width:100%;gap:.5rem}.player-time{font-size:.75rem;min-width:36px}.progress-bar{height:6px;border-radius:3px}.player-volume{display:none}.player-end{position:static;order:1;width:100%;justify-content:center;min-width:auto;gap:.75rem}.player-action-btn{width:auto;height:40px;padding:0 1rem;border:none;background:#ffffff14;border-radius:20px;gap:.5rem}@media(hover:hover){.player-action-btn:hover,.player-action-btn:active{background:#ffffff1f}}.player-action-btn svg{width:18px;height:18px}.player-action-btn .action-label{display:block;font-size:.8rem;font-weight:500;color:#ccc}.queue-badge{display:none}.share-menu{bottom:50px;left:50%;right:auto;transform:translate(-50%)}}@media(max-width:480px){.player{height:calc(60px + env(safe-area-inset-bottom,0));padding:0 .5rem;padding-bottom:env(safe-area-inset-bottom,0);gap:.5rem}.player-artwork{width:44px;height:44px}.player-title{font-size:.85rem}.player-artist{font-size:.75rem}.player-mini-controls .player-btn{min-width:40px;min-height:40px}.player-mini-controls .player-btn svg{width:24px;height:24px}}.app.has-player .app-content{padding-bottom:calc(80px + env(safe-area-inset-bottom,0px))}.video-modal-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:2000;padding:2rem}.video-modal{position:relative;width:100%;max-width:900px;background:#0e0d0b;border-radius:12px;overflow:hidden;border:1px solid var(--border-color, #1e1e2a)}.video-modal-close{position:absolute;top:-40px;right:0;background:none;border:none;color:var(--text-primary, #e8e8e8);cursor:pointer;padding:.5rem;opacity:.7;transition:opacity .2s;z-index:10}@media(hover:hover){.video-modal-close:hover{opacity:1}}.video-modal-close svg{width:28px;height:28px}.video-modal-content{position:relative;width:100%;padding-bottom:56.25%;background:var(--bg-dark, #000)}.video-modal-content iframe{position:absolute;top:0;left:0;width:100%;height:100%}.video-modal-info{padding:1rem 1.25rem;border-top:1px solid var(--border-color, #1e1e2a)}.video-modal-info h3{font-size:1rem;font-weight:500;color:var(--text-primary, #e8e8e8);margin:0 0 .25rem}.video-modal-info p{font-size:.85rem;color:var(--text-secondary, #7a7a8a);margin:0}.video-btn{color:var(--text-tertiary)}@media(hover:hover){.video-btn:hover{color:#fff}}@media(max-width:768px){.video-modal-overlay{padding:1rem;align-items:flex-start;padding-top:60px}.video-modal-close{top:-36px}.video-btn{display:none}}.player-modal-overlay{position:fixed;inset:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:10000;padding:1rem}.player-playlist-modal{position:relative;background:#0a0a0a;border-radius:16px;padding:1.5rem;max-width:360px;width:100%;border:1px solid #252525;max-height:calc(100vh - 2rem);display:flex;flex-direction:column}.player-playlist-modal .modal-close-x{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;background:#ffffff1a;border:none;border-radius:50%;cursor:pointer;color:#888;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}@media(hover:hover){.player-playlist-modal .modal-close-x:hover{background:#ffffff26;color:#fff}}.player-playlist-modal .modal-close-x svg{width:18px;height:18px}.player-playlist-modal h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 .25rem;padding-right:2rem}.player-playlist-modal .modal-track-name{font-size:.85rem;color:#888;margin:0 0 1.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-right:2rem}.player-playlist-modal .create-playlist-inline{display:flex;gap:.5rem;margin-bottom:1rem;flex-shrink:0}.player-playlist-modal .create-playlist-inline input{flex:1;padding:.625rem .875rem;background:#ffffff1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:1rem}.player-playlist-modal .create-playlist-inline input::placeholder{color:var(--text-tertiary)}.player-playlist-modal .create-playlist-inline input:focus{outline:none;border-color:#555}.player-playlist-modal .create-playlist-inline button{padding:.625rem 1rem;background:#fff;color:#000;border:none;border-radius:8px;font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .2s;flex-shrink:0}.player-playlist-modal .create-playlist-inline button:disabled{opacity:.5;cursor:not-allowed}.player-playlist-modal .playlist-select-list{flex:1;overflow-y:auto;margin-bottom:1rem;min-height:0;max-height:40vh;-webkit-overflow-scrolling:touch}.player-playlist-modal .playlist-select-item{display:flex;align-items:center;gap:.75rem;width:100%;padding:.875rem;background:transparent;border:none;border-radius:8px;color:#fff;font-size:.9rem;cursor:pointer;text-align:left;transition:background .2s}@media(hover:hover){.player-playlist-modal .playlist-select-item:hover{background:#ffffff1a}}.player-playlist-modal .playlist-select-item:active{background:#ffffff1a}.player-playlist-modal .playlist-select-item svg{width:20px;height:20px;color:var(--text-tertiary);flex-shrink:0}.player-playlist-modal .playlist-select-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-playlist-modal .playlist-select-count{font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.player-playlist-modal .modal-loading{text-align:center;padding:2rem 0;color:#888}.player-playlist-modal .modal-loading .spinner{width:24px;height:24px;border:2px solid #333;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto .5rem}.player-playlist-modal .no-playlists-hint{text-align:center;color:var(--text-tertiary);font-size:.85rem;padding:1rem 0}.player-playlist-modal .modal-close-btn{width:100%;padding:.875rem;background:#ffffff1a;border:1px solid #333;border-radius:8px;color:#fff;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s;flex-shrink:0}@media(hover:hover){.player-playlist-modal .modal-close-btn:hover{border-color:#ffffff26;background:#ffffff14}}.player-artwork.clickable{cursor:pointer;position:relative}@media(hover:hover){.player-artwork.clickable:hover .artwork-info-overlay{opacity:1}}.artwork-info-overlay{position:absolute;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease;border-radius:6px}.artwork-info-overlay svg{width:24px;height:24px;color:#fff}.release-info-modal{background:#0a0a0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1.5rem;max-width:400px;width:90%;max-height:calc(100vh - 4rem);max-height:calc(100dvh - 4rem);overflow-y:auto;position:relative;-webkit-overflow-scrolling:touch}.release-info-modal .modal-close-x{position:absolute;top:.75rem;right:.75rem;width:32px;height:32px;background:#ffffff14;border:none;border-radius:50%;color:#888;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}@media(hover:hover){.release-info-modal .modal-close-x:hover{background:#ffffff1a;color:#fff}}.release-info-modal .modal-close-x svg{width:18px;height:18px}.release-info-header{display:flex;gap:1rem;margin-bottom:1.5rem;padding-right:2rem}.release-info-cover{width:100px;height:100px;border-radius:8px;object-fit:cover;flex-shrink:0}.release-info-title{flex:1;min-width:0}.release-info-title h2{font-size:1.1rem;font-weight:600;color:#fff;margin:0 0 .5rem;line-height:1.3}.release-info-artist{font-size:.95rem;color:#888;margin:0}.release-info-details{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.release-info-row{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:.5rem 0;border-bottom:1px solid #2a2a2a}.release-info-row:last-child{border-bottom:none}.release-info-label{font-size:.85rem;color:var(--text-tertiary);flex-shrink:0}.release-info-value{font-size:.9rem;color:#ddd;text-align:right;word-break:break-word}.release-info-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent);text-decoration:none;font-size:.9rem;transition:color .2s}@media(hover:hover){.release-info-link:hover{color:#8b9bf4}}.release-info-link svg{width:14px;height:14px}.release-info-modal .modal-close-btn{width:100%;padding:.75rem;background:transparent;border:1px solid #333;border-radius:6px;color:#888;font-size:.9rem;cursor:pointer;transition:all .2s}@media(hover:hover){.release-info-modal .modal-close-btn:hover{border-color:#ffffff26;background:#ffffff14;color:#fff}}@media(max-width:480px){.release-info-modal{padding:1.25rem;max-width:100%;margin:.5rem;max-height:calc(100vh - 1rem)}.release-info-header{flex-direction:column;gap:1rem;align-items:flex-start}.release-info-cover{width:100%;max-width:200px;margin:0 auto}.release-info-title{text-align:center;width:100%}.release-info-title h2{font-size:1.1rem}.release-info-artist{font-size:.9rem}.release-info-details{padding:1rem}.release-info-row{flex-direction:column;gap:.25rem;padding:.6rem 0}.release-info-label{font-size:.7rem}.release-info-value{font-size:.85rem}.release-info-link{font-size:.8rem;padding:.6rem 1rem}}.release-info-actions{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.25rem}.release-info-action-btn{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;background:#ffffff14;border:none;border-radius:8px;color:#ccc;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .2s}@media(hover:hover){.release-info-action-btn:hover{background:#ffffff24;color:#fff}}.release-info-action-btn:active{background:#ffffff2e}.release-info-action-btn svg{width:16px;height:16px;flex-shrink:0}.release-info-tracklist{margin-bottom:1.25rem}.release-info-tracklist-title{font-size:.85rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.release-info-tracklist-loading{display:flex;justify-content:center;padding:1.5rem 0}.release-info-tracks{display:flex;flex-direction:column;max-height:300px;overflow-y:auto;-webkit-overflow-scrolling:touch}.release-info-track{display:flex;align-items:center;gap:.75rem;padding:.5rem .625rem;border-radius:6px;transition:background .15s}.release-info-track.playable{cursor:pointer}@media(hover:hover){.release-info-track.playable:hover{background:#ffffff1a}}.release-info-track.active{background:#ffffff1a}.release-info-track-pos{font-size:.8rem;color:#555;min-width:24px;text-align:center;flex-shrink:0}.release-info-track.active .release-info-track-pos{color:#fff}.release-info-track-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.release-info-track-title{font-size:.85rem;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-info-track.active .release-info-track-title{color:#fff;font-weight:500}.release-info-track-artist{font-size:.75rem;color:#888;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.release-info-track-duration{font-size:.75rem;color:var(--text-tertiary);flex-shrink:0}.release-info-track-playing{flex-shrink:0}.release-info-track-playing svg{width:16px;height:16px;color:#fff}.release-info-track-no-audio{font-size:.65rem;font-weight:500;color:#888;flex-shrink:0;margin-left:.75rem;background:#ffffff14;padding:.15rem .5rem;border-radius:4px}.release-info-no-tracks{text-align:center;color:var(--text-tertiary);font-size:.85rem;padding:1rem 0}.player-fullscreen{display:none}html.player-fs-open,html.player-fs-open body{touch-action:none!important;overflow:hidden!important;overscroll-behavior:none!important;height:100%!important}html.player-fs-open #root{display:none!important}html.player-fs-open #player-portal{position:fixed;inset:0;z-index:9999;touch-action:none}@media(max-width:768px){.player-fullscreen{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;background:#000;padding:1rem 1.5rem;padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom));overflow:hidden;touch-action:none;position:relative}}.player-fs-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:blur(60px) saturate(1.5) brightness(.4);transform:scale(1.5);opacity:.35;z-index:0;pointer-events:none}.player-fullscreen>*:not(.player-fs-bg){position:relative;z-index:1}@keyframes slideUpPlayer{0%{transform:translateY(100%)}to{transform:translateY(0)}}.player-fs-drag-indicator{width:36px;height:4px;background:#555;border-radius:2px;margin-bottom:.25rem;flex-shrink:0}.player-fs-close{position:absolute;top:env(safe-area-inset-top,12px);right:12px;background:none;border:none;color:#888;cursor:pointer;padding:8px}.player-fs-close svg{width:28px;height:28px}.player-fs-art{width:85vw;max-width:380px;aspect-ratio:1;border-radius:16px;overflow:visible;margin:1rem 0 1.5rem;flex-shrink:0;position:relative}.player-fs-art img{width:100%;height:100%;object-fit:cover;border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 80px #d4a05314;position:relative;z-index:2}.player-fs-vinyl{position:absolute;top:10px;right:-20px;width:100%;height:100%;border-radius:50%;background:radial-gradient(circle,#d4a053 8%,#1a1a1a 9%,#222 20%,#1a1a1a 21%,#222 35%,#1a1a1a 36%,#222 50%,#1a1a1a 51%,#222 65%,#1a1a1a 66%,#222 80%,#1a1a1a 81%,#111);z-index:1;animation:vinylSpin 8s linear infinite;animation-play-state:paused;opacity:.85}.player-fullscreen.is-playing .player-fs-vinyl{animation-play-state:running}.player-fs-info{text-align:center;width:100%;max-width:320px;margin-bottom:1.25rem}.player-fs-title{font-size:1.3rem;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem}.player-fs-artist{font-size:.9rem;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-fs-progress{width:100%;max-width:320px;margin-bottom:1.25rem}.player-fs-progress .progress-bar{height:6px;margin-bottom:.4rem;cursor:pointer;padding:8px 0;background-clip:content-box;touch-action:pan-x}.player-fs-progress .progress-fill{box-shadow:0 0 6px #d4a05366}.player-fs-times{display:flex;justify-content:space-between;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:.65rem;color:var(--text-tertiary)}.player-fs-controls{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:320px;margin-bottom:1.5rem}.player-fs-btn{background:none;border:none;color:#888;cursor:pointer;min-width:48px;min-height:48px;display:flex;align-items:center;justify-content:center;transition:color .1s;-webkit-tap-highlight-color:transparent}.player-fs-btn:active{color:#fff}.player-fs-btn svg{width:26px;height:26px}.player-fs-btn.active{color:var(--accent)}.player-fs-btn:disabled{opacity:.2}.player-fs-play{background:var(--accent, #d4a053);color:#000;width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:transform .1s;-webkit-tap-highlight-color:transparent}.player-fs-play:active{transform:scale(.9);background:#e0e0e0}.player-fs-play svg{width:32px;height:32px}.player-fs-position{font-size:.7rem;color:#555;margin-top:.35rem;letter-spacing:.02em}.player-fs-actions{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:1.5rem;width:100%;max-width:320px}.player-fs-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:12px 20px;transition:color .1s;font-family:inherit;flex:1;min-height:48px;-webkit-tap-highlight-color:transparent}.player-fs-action:active{color:#fff}.player-fs-action svg{width:22px;height:22px}.player-fs-action span{font-size:.65rem;letter-spacing:.02em}.player-fs-queue{width:100%;max-width:320px;border-top:1px solid #222;padding-top:1rem}.player-fs-queue h4{font-size:.8rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.player-fs-queue-item{display:flex;align-items:center;gap:.75rem;padding:.4rem 0}.player-fs-queue-cover{width:36px;height:36px;border-radius:4px;overflow:hidden;flex-shrink:0;background:#ffffff1a}.player-fs-queue-cover img{width:100%;height:100%;object-fit:cover}.player-fs-queue-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#444}.player-fs-queue-placeholder svg{width:18px;height:18px}.player-fs-queue-info{flex:1;min-width:0}.player-fs-queue-title{display:block;font-size:.8rem;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-fs-queue-artist{display:block;font-size:.7rem;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:1199px){.player{bottom:0}}
