.modal-overlay{position:fixed;inset:0;z-index:1050;background-color:rgba(0,0,0,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1rem;opacity:0;visibility:hidden;transition:opacity .3s cubic-bezier(.4, 0, .2, 1),visibility .3s ease}.modal-overlay.active{opacity:1;visibility:visible}.modal-content{background:rgba(30,30,30,.45);backdrop-filter:blur(30px) saturate(180%);-webkit-backdrop-filter:blur(30px) saturate(180%);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:24px;width:100%;max-width:450px;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);transform:scale(.95) translateY(10px);opacity:0;transition:transform .4s cubic-bezier(.34, 1.56, .64, 1),opacity .3s ease;overflow-y:auto;max-height:90vh}.modal-overlay.active .modal-content{transform:scale(1) translateY(0);opacity:1}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid var(--glass-border)}.modal-header h2{margin:0;font-size:1.5rem;font-weight:700;color:var(--accent)}.modal-close-btn{background:0 0;display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid transparent;color:var(--text-secondary);font-size:1.25rem;cursor:pointer;transition:all .2s ease}.modal-close-btn:hover{color:var(--text-primary);background-color:rgba(255,255,255,.1);transform:rotate(90deg)}.modal-body{display:flex;flex-direction:column;gap:1.25rem}.modal-body p{color:var(--text-secondary);margin:0;line-height:1.6;font-size:.95rem}.modal-actions{display:flex;gap:1rem;margin-top:1.5rem;width:100%}.modal-btn{padding:12px 24px;border-radius:50px;border:none;cursor:pointer;font-weight:600;font-size:.95rem;transition:all .2s cubic-bezier(.4, 0, .2, 1);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.modal-btn.primary{background:rgba(var(--accent-rgb),.15);border:1px solid var(--accent);color:var(--accent);flex-grow:1;box-shadow:0 4px 15px rgba(var(--accent-rgb),.1)}.modal-btn.primary:hover{background:rgba(var(--accent-rgb),.25);box-shadow:0 6px 20px rgba(var(--accent-rgb),.2);transform:translateY(-2px);filter:brightness(1.1)}.modal-btn.primary:active{transform:translateY(0)}.modal-btn.secondary{background-color:transparent;border:1px solid var(--glass-border);color:var(--text-secondary);min-width:100px}.modal-btn.secondary:hover{background-color:rgba(255,255,255,.05);color:var(--text-primary);border-color:var(--text-secondary)}.modal-btn.danger{background-color:rgba(239,68,68,.15)!important;border:1px solid rgba(239,68,68,.5)!important;color:#fff!important;box-shadow:0 4px 15px rgba(239,68,68,.1)!important;flex-grow:1}.modal-btn.danger:hover{background-color:rgba(239,68,68,.25);border-color:#ef4444;color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(239,68,68,.2)}.input-group{position:relative;width:100%}.input-group input,.modal-input{width:100%;padding:14px 16px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);font-size:1rem;transition:all .3s ease}.input-group input::placeholder,.modal-input::placeholder{color:transparent}.input-group input:focus,.modal-input:focus{outline:0;border-color:var(--accent);background:rgba(255,255,255,.05);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2)}.input-group label{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:var(--text-secondary);pointer-events:none;transition:all .25s ease-out;background:0 0;padding:0 4px;font-size:1rem}.input-group input:focus+label,.input-group input:not(:placeholder-shown)+label{top:0;transform:translateY(-50%) scale(.85);color:var(--accent);background:var(--primary-light);left:12px;font-weight:600}.input-hint{display:block;margin-top:.5rem;font-size:.85rem;color:var(--text-secondary)}.email-validation-message{display:flex;align-items:center;gap:.5rem;font-size:.85rem;font-weight:600;margin-top:.5rem;min-height:1.25rem;transition:opacity .3s ease}.modal-playlist-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.modal-playlist-list li{padding:12px 16px;background:rgba(255,255,255,.02);border:1px solid transparent;border-radius:12px;display:flex;align-items:center;gap:1rem;cursor:pointer;transition:all .2s ease}.modal-playlist-list li:hover{background:rgba(255,255,255,.06);border-color:var(--glass-border);transform:translateX(4px)}.modal-playlist-list li i{color:var(--text-secondary);font-size:1.1rem}.create-playlist-btn-modal{width:100%;padding:14px;background:rgba(var(--accent-rgb),.1);color:var(--accent);border:1px dashed var(--accent);border-radius:12px;cursor:pointer;font-weight:600;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s ease}.create-playlist-btn-modal:hover{background:rgba(var(--accent-rgb),.2);transform:scale(.99)}.date-picker-inputs{display:flex;gap:1rem}.date-picker-inputs .input-group{flex:1}.date-picker-inputs input[type=date]{width:100%;padding:12px;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);color-scheme:dark}.gender-selection{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.5rem}.gender-selection input[type=radio]{display:none}.gender-option{padding:16px;border:1px solid var(--glass-border);border-radius:16px;text-align:center;cursor:pointer;transition:all .3s cubic-bezier(.25, .8, .25, 1);font-weight:600;color:var(--text-secondary);background:rgba(255,255,255,.02);display:flex;flex-direction:column;align-items:center;gap:.5rem}.gender-selection input[type=radio]:checked+.gender-option{background:rgba(var(--accent-rgb),.15);border-color:var(--accent);color:var(--accent);box-shadow:0 4px 15px rgba(var(--accent-rgb),.2);transform:translateY(-2px)}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:0 0;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:50%;transition:color .2s;z-index:2}.password-toggle-btn:hover{color:var(--text-primary);background:rgba(255,255,255,.1)}.stats-overview-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin-bottom:2.5rem}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;padding:2rem;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;transition:all .3s cubic-bezier(.4, 0, .2, 1);position:relative;overflow:hidden}.stat-card::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(var(--accent-rgb),.1),transparent 70%);opacity:0;transition:opacity .3s ease}.stat-card:hover{transform:translateY(-5px);border-color:rgba(var(--accent-rgb),.4);box-shadow:0 10px 40px rgba(0,0,0,.3)}.stat-card:hover::before{opacity:1}.stat-card-icon i{font-size:2.5rem;background:linear-gradient(135deg,var(--accent),var(--accent-light));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, .2))}.stat-card-value{font-size:3rem;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-1px}.stat-card-label{font-size:.85rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;font-weight:600}@media (max-width:768px){.modal-content{width:95%;padding:20px;margin:auto;max-height:85vh}.modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-btn{width:100%}.stats-overview-container{grid-template-columns:1fr}}#createPlaylistModal,#editPlaylistModal{z-index:1060}.bottom-sheet li[onclick*=removeSongFromCurrentPlaylist] i{color:#ef4444!important}.skeleton-scroll-card{min-width:45%;max-width:45%;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--card-radius);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:1rem;flex-shrink:0;position:relative}.skeleton-avatar-container{position:relative;display:flex;align-items:center;justify-content:center}.skeleton-avatar{width:80px;height:80px;border-radius:50%}.skeleton-xp{width:100px;height:24px;border-radius:6px}.skeleton-text{height:16px;border-radius:4px;width:100%;margin:4px 0}.skeleton-text.short{width:60%}.skeleton-base{background:rgba(255,255,255,.05);position:relative;overflow:hidden}.skeleton-base::after{content:'';position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);animation:shimmer 1.5s infinite linear}@keyframes shimmer{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}@media (min-width:769px){.skeleton-scroll-card{min-width:280px;max-width:280px}}@media (max-width:768px){.skeleton-scroll-card{padding:1.25rem}.skeleton-rank{width:45px;height:45px}.skeleton-avatar{width:70px;height:70px}}.leaderboard-scroll-card[data-rank="1"]{background:linear-gradient(135deg,rgba(255,215,0,.12),rgba(255,165,0,.06));border:1px solid rgba(255,215,0,.3);box-shadow:inset 0 0 40px rgba(255,215,0,.2)}.leaderboard-scroll-card[data-rank="1"] .leaderboard-tag{background:linear-gradient(135deg,gold,orange);color:#000}.leaderboard-scroll-card[data-rank="2"]{background:linear-gradient(135deg,rgba(192,192,192,.12),rgba(168,168,168,.06));border:1px solid rgba(192,192,192,.3);box-shadow:inset 0 0 40px rgba(192,192,192,.2)}.leaderboard-scroll-card[data-rank="2"] .leaderboard-tag{background:linear-gradient(135deg,silver,#a8a8a8);color:#000}.leaderboard-scroll-card[data-rank="3"]{background:linear-gradient(135deg,rgba(205,127,50,.12),rgba(184,115,51,.06));border:1px solid rgba(205,127,50,.3);box-shadow:inset 0 0 40px rgba(205,127,50,.2)}.leaderboard-scroll-card[data-rank="3"] .leaderboard-tag{background:linear-gradient(135deg,#cd7f32,#b87333);color:#000}.leaderboard-scroll-card[data-rank="4"]{background:linear-gradient(135deg,rgba(138,43,226,.12),rgba(123,31,162,.06));border:1px solid rgba(138,43,226,.3);box-shadow:inset 0 0 40px rgba(138,43,226,.2)}.leaderboard-scroll-card[data-rank="4"] .leaderboard-tag{background:linear-gradient(135deg,#8a2be2,#7b1fa2);color:#fff}.leaderboard-scroll-card[data-rank="5"]{background:linear-gradient(135deg,rgba(255,215,0,.1),rgba(255,193,7,.05));border:1px solid rgba(255,215,0,.28);box-shadow:inset 0 0 40px rgba(255,215,0,.18)}.leaderboard-scroll-card[data-rank="5"] .leaderboard-tag{background:linear-gradient(135deg,gold,#ffc107);color:#000}