.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}.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}.cover-viewport{position:relative;width:360px;height:360px;margin:0 auto 8px;z-index:6;overflow:visible}.cover-stack{position:relative;width:100%;height:100%;touch-action:pan-y}.cover{position:absolute;border-radius:18px;object-fit:cover;box-shadow:0 24px 48px rgba(0,0,0,.5);will-change:transform}.cover.center{top:0;left:50%;width:320px;height:320px;transform:translateX(-50%);z-index:3}.cover.side{top:40px;width:240px;height:240px;opacity:.8;filter:saturate(.9) brightness(.95);z-index:2}.cover.side.left{left:-120px}.cover.side.right{right:-120px}.cover.placeholder{background:linear-gradient(135deg,#0f0f0f,#1a1a1a);display:flex;align-items:center;justify-content:center}.cover-letter-bg{color:#fff;font-size:76px;font-weight:900;text-shadow:0 4px 20px rgba(0,0,0,.5)}.fade-in{animation:fadein .28s ease-out}@keyframes fadein{0%{opacity:.6}to{opacity:1}}@media(max-width:420px){.cover-viewport{width:300px;height:300px}.cover.center{width:270px;height:270px}.cover.side{width:200px;height:200px;top:36px}.cover.side.left{left:-100px}.cover.side.right{right:-100px}}.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)}.player-action-buttons .player-action-btn.liked{color:#fff}.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:hsla(0,0%,100%,.12);border:none;color:hsla(0,0%,100%,.92);width:56px;height:56px;border-radius:9999px;cursor:pointer;transition:all .2s;border:1px solid hsla(0,0%,100%,.08);backdrop-filter:blur(8px)}.player-controls .control-btn:hover{color:#fff;transform:translateY(-1px) scale(1.04);background:hsla(0,0%,100%,.18)}.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:64px;height:64px;border-radius:9999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;box-shadow:0 8px 24px rgba(0,0,0,.35),inset 0 0 0 2px hsla(0,0%,100%,.06)}.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}.mini-player{touch-action:pan-y;position:fixed!important;bottom:70px;left:2px;right:2px;width:auto;z-index:9990;border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.3);animation:slideUp .3s cubic-bezier(.4,0,.2,1);backface-visibility:hidden;-webkit-backface-visibility:hidden;will-change:transform;-webkit-font-smoothing:antialiased;margin:0;box-sizing:border-box;-webkit-transform:translateZ(0);transform:translateZ(0)}.mini-player .mini-player-bg{position:absolute;inset:0;z-index:0;pointer-events:none}.mini-player .mini-player-progress{position:absolute;top:0;left:1px;bottom:0;width:0;background:hsla(0,0%,100%,.15);pointer-events:none;transition:width .15s linear;z-index:1;border-radius:16px}.mini-player .mini-player-content{position:relative;z-index:2;display:flex;align-items:center;padding:16px 20px;gap:16px;max-width:100%;overflow:hidden;cursor:pointer;transition:background-color .2s ease;border-radius:16px}.mini-player .mini-player-content:hover{background:hsla(0,0%,100%,.08)}.mini-player .mini-player-content .mini-player-cover{flex-shrink:0;width:60px;height:60px;border-radius:12px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.4);position:relative}.mini-player .mini-player-content .mini-player-cover img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.mini-player .mini-player-content .mini-player-cover:hover img{transform:scale(1.05)}.mini-player .mini-player-content .mini-player-cover .mini-player-cover-placeholder{width:100%;height:100%;background:linear-gradient(135deg,#666666,#888888);display:flex;align-items:center;justify-content:center;border-radius:8px;transition:transform .3s ease}.mini-player .mini-player-content .mini-player-cover .mini-player-cover-placeholder .mini-player-cover-letter{color:#fff;font-size:24px;margin:0 auto;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.3)}.mini-player .mini-player-content .mini-player-cover:hover .mini-player-cover-placeholder{transform:scale(1.05)}.mini-player .mini-player-content .mini-player-cover:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(29,185,84,.1),transparent);opacity:0;transition:opacity .3s ease}.mini-player .mini-player-content .mini-player-cover:hover:after{opacity:1}.mini-player .mini-player-content .mini-player-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.mini-player .mini-player-content .mini-player-info .track-title{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.mini-player .mini-player-content .mini-player-info .track-artist{font-size:12px;font-weight:400;color:#b3b3b3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.mini-player .mini-player-content .mini-player-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.mini-player .mini-player-content .mini-player-controls .control-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:50%;color:#fff;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;backdrop-filter:blur(10px)}.mini-player .mini-player-content .mini-player-controls .control-btn:active{transform:scale(.9)}.mini-player .mini-player-content .mini-player-controls .control-btn.play-btn{width:44px;height:44px;color:#fff}.mini-player .mini-player-content .mini-player-controls .control-btn.play-btn:active{transform:scale(.95)}.mini-player .mini-player-content .mini-player-controls .control-btn.play-btn svg{width:20px;height:20px}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn svg{transition:all .2s ease;transform-origin:center;width:18px;height:18px}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn:hover{color:#ef4444;background:rgba(239,68,68,.15)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn:hover svg{transform:scale(1.2)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn:active svg{transform:scale(.9)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn.liked{color:#ef4444;background:rgba(239,68,68,.2)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn.liked svg{fill:currentColor;transform:scale(1.1)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn.liked:hover{background:rgba(239,68,68,.3)}.mini-player .mini-player-content .mini-player-controls .control-btn.like-btn.liked:hover svg{transform:scale(1.25)}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@media(max-width:768px){.mini-player .mini-player-content{padding:10px 16px;gap:12px}.mini-player .mini-player-content .mini-player-cover{width:48px;height:48px}.mini-player .mini-player-content .mini-player-info .track-title{font-size:13px}.mini-player .mini-player-content .mini-player-info .track-artist{font-size:11px}.mini-player .mini-player-content .mini-player-controls{gap:6px}.mini-player .mini-player-content .mini-player-controls .control-btn{width:32px;height:32px}.mini-player .mini-player-content .mini-player-controls .control-btn svg{width:16px;height:16px}.mini-player .mini-player-content .mini-player-time{font-size:10px;min-width:50px}}@media(max-width:480px){.mini-player .mini-player-content{padding:8px 12px;gap:8px}.mini-player .mini-player-content .mini-player-cover{width:40px;height:40px}.mini-player .mini-player-content .mini-player-info .track-title{font-size:12px}.mini-player .mini-player-content .mini-player-info .track-artist{font-size:10px}.mini-player .mini-player-content .mini-player-controls{gap:4px}.mini-player .mini-player-content .mini-player-controls .control-btn{width:28px;height:28px}.mini-player .mini-player-content .mini-player-controls .control-btn svg{width:14px;height:14px}.mini-player .mini-player-content .mini-player-time{display:none}}