.player-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.375);display:flex;align-items:center;justify-content:center;z-index:1000}.player-modal{background:rgba(0,0,0,.179);border-radius:0;padding:0;backdrop-filter:blur(10px);width:100%;height:100vh;overflow-y:auto;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.player-header{padding:20px 30px;position:relative;z-index:20;background:rgba(0,0,0,.025);backdrop-filter:blur(5px);height:80px}.player-header,.player-header .close-button{display:flex;align-items:center;justify-content:center}.player-header .close-button{background:rgba(0,0,0,0);border:none;color:#fff;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all .2s;position:absolute;right:30px}.player-header .close-button:hover{background:hsla(0,0%,100%,.1);transform:scale(1.1)}.player-header .player-title{color:#fff;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:2px;opacity:.9;text-align:center}.player-content{text-align:center;position:relative;display:flex;flex-direction:column;height:calc(100vh - 80px);padding:20px 30px;overflow:hidden;justify-content:space-between}.track-cover-background{position:relative;touch-action:pan-y;width:250px;height:250px;margin:0 auto;border-radius:8px;overflow:hidden;box-shadow:0 20px 40px rgba(0,0,0,.6);z-index:5;flex-shrink:0}.track-cover-background img{width:100%;height:100%;object-fit:cover}.track-cover-background .cover-placeholder-bg{width:100%;height:100%;background:linear-gradient(135deg,#000000,#000000);display:flex;align-items:center;justify-content:center}.track-cover-background .cover-placeholder-bg .cover-letter-bg{color:#fff;font-size:70px;font-weight:900;text-shadow:0 4px 20px rgba(0,0,0,.5)}.cover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.2) 0,rgba(0,0,0,.1) 40%,rgba(0,0,0,.4) 70%,rgba(0,0,0,.9));z-index:2}.track-info{margin:30px 0 20px;position:relative;z-index:10}.track-info .track-title{color:#fff;font-size:24px;font-weight:700;margin:0 0 8px;line-height:1.2;text-shadow:0 2px 10px rgba(0,0,0,.8)}.track-info .track-artist{color:hsla(0,0%,100%,.9);font-size:16px;margin:0;text-shadow:0 2px 10px rgba(0,0,0,.8)}.player-action-buttons{display:flex;align-items:center;justify-content:center;gap:30px;position:relative;z-index:10;margin:20px 0}.player-action-buttons .player-action-btn{background:rgba(0,0,0,0);border:none;color:hsla(0,0%,100%,.8);width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.player-action-buttons .player-action-btn:hover{color:#fff;transform:scale(1.1)}.progress-container{position:relative;z-index:20;margin:20px 0;width:100%}.progress-container .track-title-over-progress{margin-bottom:15px;text-align:left;pointer-events:none}.progress-container .track-title-over-progress .track-title-scroll{overflow:hidden;white-space:nowrap;margin-bottom:5px}.progress-container .track-title-over-progress .track-title-scroll .track-title-text{color:#fff;font-size:16px;font-weight:700;display:inline-block;animation:scrollText 10s linear infinite;text-shadow:0 2px 10px rgba(0,0,0,.8)}.progress-container .track-title-over-progress .track-artist-text{color:hsla(0,0%,100%,.8);font-size:14px;text-shadow:0 2px 10px rgba(0,0,0,.8)}.progress-container .progress-bar{width:100%;height:4px;background:hsla(0,0%,100%,.3);border-radius:2px;margin-bottom:10px;cursor:pointer;position:relative}.progress-container .progress-bar:hover .progress-fill{background:#fff}.progress-container .progress-fill{height:100%;background:hsla(0,0%,100%,.8);border-radius:2px;position:relative;transition:width .1s}.progress-container .progress-fill .progress-thumb{position:absolute;right:0;top:50%;transform:translateY(-50%);width:12px;height:12px;background:#fff;border-radius:50%;opacity:0;transition:opacity .2s;box-shadow:0 2px 8px rgba(0,0,0,.3)}.progress-container .progress-bar:hover .progress-thumb{opacity:1}.progress-container .time-info{display:flex;justify-content:space-between;color:hsla(0,0%,100%,.8);font-size:12px;font-weight:500}@keyframes scrollText{0%{transform:translateX(0)}50%{transform:translateX(-100%)}to{transform:translateX(0)}}.player-controls{gap:25px;position:relative;z-index:20;margin:20px 0}.player-controls,.player-controls .control-btn{display:flex;align-items:center;justify-content:center}.player-controls .control-btn{background:rgba(0,0,0,0);border:none;color:hsla(0,0%,100%,.8);width:45px;height:45px;border-radius:50%;cursor:pointer;transition:all .2s}.player-controls .control-btn:hover{color:#fff;transform:scale(1.1)}.player-controls .control-btn.disabled,.player-controls .control-btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.player-controls .play-btn{background:#fff;border:none;color:#000;width:55px;height:55px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 4px 12px rgba(29,185,84,.3)}.player-controls .play-btn:disabled{opacity:.5;cursor:not-allowed}.player-controls .loading-spinner{width:32px;height:32px}.player-controls .loading-spinner,.player-controls .loading-spinner-small{border:3px solid #1db954;border-top-color:rgba(0,0,0,0);border-radius:50%;animation:spin 1s linear infinite}.player-controls .loading-spinner-small{width:22px;height:22px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.volume-container{display:flex;align-items:center;gap:15px;position:relative;z-index:20;width:100%;max-width:200px;margin:10px auto 0}.volume-container .volume-slider-container{flex:1;position:relative}.volume-container .volume-slider-container .volume-slider{width:100%;height:4px;background:hsla(0,0%,100%,.3);border-radius:2px;cursor:pointer;appearance:none}.volume-container .volume-slider-container .volume-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .3s}.volume-container .volume-slider-container .volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-container .volume-slider-container .volume-slider::-moz-range-thumb{width:12px;height:12px;background:#fff;border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 8px rgba(0,0,0,.3);transition:all .3s}.volume-container .volume-slider-container .volume-slider::-moz-range-thumb:hover{background:#1db954;transform:scale(1.2)}.volume-container .volume-slider-container .volume-fill{position:absolute;left:0;top:0;height:4px;background:hsla(0,0%,100%,.8);border-radius:2px;pointer-events:none}.error-message{margin-top:20px;padding:15px;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#fca5a5;font-size:14px;position:relative;z-index:10}.no-track-message{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;color:#fff;text-align:center;position:relative;z-index:10}.no-track-message p{margin:10px 0;font-size:18px;opacity:.8}.no-track-message p:first-child{font-size:24px;font-weight:600;margin-bottom:20px}.artist-section-bottom{display:none}