:root,body{font-family:Outfit,sans-serif}.site-title-link{color:inherit;text-decoration:none;transition:opacity .2s}@media (pointer:fine){.site-title-link:hover{opacity:.8}}.site-title-link h1{margin:0}.stats-container{padding:1rem 0;animation:.6s cubic-bezier(.16,1,.3,1) fadeIn}.stats-title{color:#fff;-webkit-text-fill-color:transparent;letter-spacing:-.03em;filter:drop-shadow(0 2px 4px #0000001a);background:linear-gradient(90deg,#fff,#e9d5ff);-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.6rem;font-weight:800;line-height:1.2}.stats-skel-line{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/800px 100%;border-radius:6px;animation:1.8s ease-in-out infinite shimmer}.stats-skel-banner{min-height:80px}.stats-skel-search{border-radius:12px;height:48px;margin:1rem 0;overflow:hidden}.stats-skel-tabs{justify-content:center;gap:.5rem;margin:1rem 0;display:flex}.stats-skel-tab{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/800px 100%;border-radius:8px;width:120px;height:36px;animation:1.8s ease-in-out infinite shimmer}.stats-skel-tab.active{background:#a855f726;animation:none}.stats-skel-card{animation:.3s fadeIn}.stats-skel-card:first-child .stats-skel-line{animation-delay:0s}.stats-skel-card:nth-child(2) .stats-skel-line{animation-delay:.1s}.stats-skel-card:nth-child(3) .stats-skel-line{animation-delay:.15s}.stats-skel-card:nth-child(4) .stats-skel-line{animation-delay:.2s}.stats-skel-card:nth-child(5) .stats-skel-line{animation-delay:.25s}@media (max-width:768px){.stats-skel-banner{flex-direction:column;gap:.75rem;min-height:auto;padding:1rem}.stats-skel-banner .summary-divider{width:80%;height:1px;margin:0 auto}.stats-skel-search{height:44px}.stats-skel-tabs{gap:.4rem}.stats-skel-tab{width:100px;height:32px}}.nav-buttons{-webkit-backdrop-filter:blur(10px);background:#14141499;border:1px solid #ffffff1a;border-radius:100px;justify-content:center;width:-moz-fit-content;width:fit-content;margin:0 auto 2.5rem;padding:.4rem;display:flex;box-shadow:0 8px 32px #0003}.nav-btn{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:100px;padding:.8rem 2.5rem;font-size:1rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-btn.active{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);transform:scale(1.05);box-shadow:0 4px 15px #a855f766}@media (pointer:fine){.nav-btn:hover:not(.active){color:#fff;background:#ffffff0d}}@keyframes shareTooltipIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (max-width:768px){.desktop-nav{display:none!important}}.hamburger-btn{cursor:pointer;background:#141414cc;border:1px solid #ffffff1a;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:44px;height:44px;margin:0 auto 1.5rem;padding:10px;transition:all .3s;display:none}.hamburger-btn span{background:#fff;border-radius:2px;width:22px;height:2px;transition:all .3s;display:block}.hamburger-btn.open span:first-child{transform:rotate(45deg)translate(5px,5px)}.hamburger-btn.open span:nth-child(2){opacity:0}.hamburger-btn.open span:nth-child(3){transform:rotate(-45deg)translate(5px,-5px)}@media (max-width:768px){.hamburger-btn{display:flex}}.mobile-menu-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;visibility:hidden;z-index:998;background:#00000080;width:100%;height:100%;transition:all .3s;position:fixed;top:0;left:0}.mobile-menu-overlay.open{opacity:1;visibility:visible}.mobile-menu{z-index:999;background:#1a1a1a;border-left:1px solid #ffffff1a;flex-direction:column;gap:.5rem;width:280px;height:100%;padding:5rem 1.5rem 2rem;transition:right .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;right:-280px;box-shadow:-10px 0 30px #0000004d}.mobile-menu.open{right:0}.mobile-menu a{text-decoration:none}.mobile-nav-btn{color:#ccc;text-align:left;cursor:pointer;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;width:100%;padding:1rem 1.2rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s}@media (pointer:fine){.mobile-nav-btn:hover{color:#fff;background:#ffffff14}}.mobile-nav-btn.active{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border-color:#0000}.cookie-banner{-webkit-backdrop-filter:blur(16px);z-index:1000;background:#141414e0;border:1px solid #ffffff1a;border-radius:18px;justify-content:space-between;align-items:center;gap:1.25rem;width:min(92%,820px);padding:1.1rem 1.15rem;animation:.5s cubic-bezier(.16,1,.3,1) slideUp;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 18px 48px #00000073}.cookie-content{flex:1;min-width:0}.cookie-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#c4b5fd;align-items:center;gap:.35rem;margin-bottom:.45rem;font-size:.72rem;font-weight:700;display:inline-flex}.cookie-content p{color:#d1d5db;max-width:52ch;margin:0;font-size:.93rem;line-height:1.55}.cookie-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:.7rem;display:flex}.cookie-btn{cursor:pointer;white-space:nowrap;border:none;border-radius:10px;min-height:42px;padding:.72rem 1.05rem;font-size:.84rem;font-weight:600;transition:transform .2s,background .2s,border-color .2s,color .2s}.cookie-btn.primary{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%)}@media (pointer:fine){.cookie-btn.primary:hover{background:linear-gradient(135deg,#9333ea 0%,#6d28d9 100%);transform:translateY(-1px)}}.cookie-btn.secondary{color:#c4b5fd;background:0 0;border:1px solid #a855f759}@media (pointer:fine){.cookie-btn.secondary:hover{background:#a855f71f;border-color:#a855f7}}.cookie-btn.reject{color:#d1d5db;background:#ffffff14;border:1px solid #ffffff14}@media (pointer:fine){.cookie-btn.reject:hover{color:#fff;background:#ffffff24}}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,100px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.privacy-modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2000;background:#0009;justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;animation:.3s fadeIn;display:flex;position:fixed;top:0;left:0}.privacy-modal{background:#1a1a1a;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:100%;max-width:500px;max-height:85vh;animation:.3s cubic-bezier(.16,1,.3,1) scaleIn;display:flex;box-shadow:0 20px 50px #00000080}.privacy-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:1.5rem;display:flex}.privacy-header h2{color:#fff;margin:0;font-size:1.2rem}.close-btn{color:#666;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:0;font-size:1.5rem;line-height:1;transition:color .2s}@media (pointer:fine){.close-btn:hover{color:#fff}}.privacy-content{color:#ccc;padding:1.5rem;font-size:.95rem;line-height:1.6;overflow-y:auto}.privacy-content h3{color:#a855f7;margin:1.5rem 0 .5rem;font-size:1rem}.privacy-content h3:first-child{margin-top:0}.privacy-content p{margin:0 0 1rem}.privacy-content a{color:#a855f7;text-decoration:none}@media (pointer:fine){.privacy-content a:hover{text-decoration:underline}}.privacy-footer{text-align:right;border-top:1px solid #ffffff0d;padding:1rem 1.5rem}.modal-btn{color:#fff;cursor:pointer;background:#ffffff1a;border:none;border-radius:8px;padding:.6rem 1.2rem;font-weight:600;transition:background .2s}@media (pointer:fine){.modal-btn:hover{background:#fff3}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@media (max-width:600px){.cookie-banner{left:12px;right:12px;bottom:calc(148px + env(safe-area-inset-bottom,0px));border-radius:18px;flex-direction:column;align-items:stretch;gap:.95rem;width:auto;padding:1rem;transform:none}.cookie-eyebrow{margin-bottom:.35rem;font-size:.68rem}.cookie-content p{font-size:.88rem}.cookie-actions{grid-template-columns:1fr;gap:.65rem;width:100%;display:grid}.cookie-btn{justify-content:center;width:100%;min-height:46px;font-size:.88rem}}@media (prefers-reduced-motion:reduce){.cookie-banner,.cookie-btn{transition:none;animation:none}}.modal-stat-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:1.5rem;display:grid}.modal-stat-card{text-align:center;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:12px;padding:1.5rem}.modal-stat-value{color:#fff;-webkit-text-fill-color:transparent;background:linear-gradient(90deg,#fff,#d8b4fe);-webkit-background-clip:text;background-clip:text;margin-bottom:.5rem;font-size:1.8rem;font-weight:700}.modal-stat-label{color:#888;text-transform:uppercase;letter-spacing:1px;font-size:.9rem}@media (max-width:768px){.privacy-modal{max-height:90vh}.privacy-header h2{font-size:1.2rem!important}}.trend-indicator{border-radius:4px;align-items:center;gap:.2rem;padding:.2rem .5rem;font-size:.9rem;font-weight:700;display:inline-flex}.trend-indicator.up{color:#4ade80;background:#4ade801a}.trend-indicator.down{color:#f87171;background:#f871711a}.trend-indicator.same{color:#94a3b8;background:#94a3b81a;padding:.2rem .6rem}.new-badge{color:#fff;letter-spacing:.5px;background:linear-gradient(135deg,#a855f7 0%,#ec4899 100%);border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:800;box-shadow:0 2px 5px #ec48994d}.notifications-page{color:#fff;max-width:900px;margin:0 auto;padding:2rem}.glass-panel{-webkit-backdrop-filter:blur(12px);background:#1e1e1e99;border:1px solid #ffffff14;border-radius:24px;padding:2.5rem;box-shadow:0 4px 20px #0003}.subtitle{color:#9ca3af;margin-bottom:2rem;font-size:1.1rem}.sc-date{color:#ccc;text-transform:uppercase;letter-spacing:.5px;font-size:.75rem}.global-offset-select select{-webkit-appearance:none;appearance:none;color:#ccc;cursor:pointer;background:#ffffff0d url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23999' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right .8rem center no-repeat;border:1px solid #ffffff26;border-radius:8px;min-width:180px;padding:.6rem 2.2rem .6rem .8rem;font-family:inherit;font-size:.9rem;transition:border-color .2s}.global-offset-select select:focus{border-color:#a855f780;outline:none}.global-offset-select select option{color:#ccc;background:#1a1a2e}.offset-select{background:0 0;flex-shrink:0;align-items:center;gap:0;padding:0;display:flex}.offset-select label{color:#d8b4fe;font-size:.8rem;font-weight:500}.offset-select select{-webkit-appearance:none;appearance:none;cursor:pointer;background:#1a1a1a url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") right .4rem center no-repeat;border:1px solid #ffffff4d;border-radius:6px;width:auto;min-width:90px;margin-top:0;padding:.4rem 1.5rem .4rem .6rem;font-family:inherit;font-size:.85rem;color:#fff!important}.offset-select select:focus{outline:none}.offset-select select option{color:#fff;background-color:#1a1a1a;padding:10px}input{color:#fff;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;width:100%;padding:1rem;font-size:1rem;transition:all .2s}input:focus{background:#a855f70d;border-color:#a855f7;outline:none}.error-msg{color:#f87171;text-align:center;background:#f871711a;border-radius:8px;padding:.8rem}.otp-input{text-align:center;letter-spacing:5px;width:100%;font-size:1.2rem;font-weight:600}.app-footer{text-align:center;color:#ffffff80;z-index:10;margin-top:auto;padding:2rem 0 100px;font-size:.9rem;position:relative}.footer-link{color:inherit;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;text-decoration:none;transition:color .3s}@media (pointer:fine){.footer-link:hover{color:#fff;text-decoration:underline}}@media (max-width:768px){.app-footer{text-align:center;order:3;padding:1.5rem 1rem 100px}.footer-links{flex-direction:column;gap:0}.footer-links .footer-separator{display:none}.footer-links .footer-link{padding:.4rem 0;font-size:.85rem}.footer-stats{flex-direction:column;align-items:center;gap:.35rem;font-size:.8rem}.footer-stats>span:not(.footer-stats-separator){background:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;justify-content:center;align-items:center;gap:.3rem;width:-moz-fit-content;width:fit-content;max-width:100%;padding:.4rem .75rem;font-size:.78rem;line-height:1.4;display:inline-flex}.footer-stats .footer-stats-separator{display:none}.footer-tagline{padding:0 1rem;font-size:.75rem}.footer-link-desktop{display:none}}@media (max-width:600px){.notifications-page{padding:1rem}.glass-panel{border-radius:16px;padding:1.5rem 1rem}.glass-panel h2{font-size:1.5rem}.subtitle{margin-bottom:1.5rem;font-size:1rem}.global-offset-select{width:100%}.global-offset-select select{width:100%;min-width:unset}input{padding:.9rem;font-size:.95rem}.error-msg{padding:.7rem;font-size:.9rem}.otp-input{letter-spacing:3px;font-size:1.1rem}}.auth-check-container{justify-content:center;align-items:center;min-height:52vh;padding:1rem;display:flex}.auth-check-card{-webkit-backdrop-filter:blur(12px);text-align:center;background:#18181bb8;border:1px solid #a855f729;border-radius:18px;width:100%;max-width:420px;padding:1.5rem 1.25rem;animation:.3s fadeIn;box-shadow:0 18px 40px #00000038}.auth-check-spinner{border:3px solid #a855f72e;border-top-color:#a855f7;border-radius:50%;width:34px;height:34px;margin:0 auto .9rem;animation:.7s linear infinite spin}.auth-check-label{color:#f5f3ff;margin:0;font-size:1.02rem;font-weight:700}.auth-check-subtext{color:#ffffffb8;max-width:28ch;margin:.45rem auto 0;font-size:.93rem;line-height:1.45}@media (max-width:768px){.auth-check-container{min-height:46vh;padding:.85rem}.auth-check-card{border-radius:16px;padding:1.25rem 1rem}.auth-check-spinner{width:30px;height:30px;margin-bottom:.8rem}.auth-check-label{font-size:.98rem}.auth-check-subtext{font-size:.88rem}}@media (prefers-reduced-motion:reduce){.auth-check-card,.auth-check-spinner{animation:none}.auth-check-spinner{border-top-color:#a855f773}}@keyframes radioSlideIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes reconnectPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}@keyframes liveDotPulse{0%,to{opacity:1;box-shadow:0 0 8px #ef444499}50%{opacity:.6;box-shadow:0 0 12px #ef4444cc}}@keyframes marqueeScroll{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width:768px){body.volume-popup-open .mobile-schedule-toggle,body.sleep-menu-open .mobile-schedule-toggle,body.schedule-open .scroll-top-btn{opacity:0;pointer-events:none}body.schedule-open .mobile-schedule-toggle{bottom:12px!important}body.schedule-open .mobile-bottom-nav{display:none}}@media (min-width:769px){@keyframes shimmer{0%,to{background-position:0 0}50%{background-position:50% 0}}@keyframes ambientPulse{0%,to{opacity:.5}50%{opacity:1}}@keyframes artworkGlow{0%,to{opacity:.6}50%{opacity:1}}@keyframes artworkBreath{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}@keyframes radioTrackSwapShell{0%{filter:brightness()}45%{filter:brightness(1.14)}to{filter:brightness()}}@keyframes radioArtworkSwap{0%{opacity:.55;filter:blur(4px)saturate(.75);transform:translateY(8px)scale(.9)rotate(-2deg)}58%{opacity:1;filter:blur()saturate(1.18);transform:translateY(-1px)scale(1.06)rotate(.8deg)}to{opacity:1;filter:blur()saturate();transform:translateY(0)scale(1)rotate(0)}}@keyframes radioArtworkImageSwap{0%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes radioMetadataSwap{0%{opacity:0;filter:blur(5px);transform:translateY(10px)}65%{opacity:1;filter:blur();transform:translateY(-1px)}to{opacity:1;filter:blur();transform:translateY(0)}}@keyframes radioLiveDotPop{0%{transform:scale(.7)}55%{transform:scale(1.35)}to{transform:scale(1)}}@keyframes equalizerBounce{0%,to{height:4px}50%{height:14px}}@keyframes equalizerBounceLarge{0%,to{height:6px}50%{height:24px}}@keyframes progressPulse{0%,to{opacity:.8}50%{opacity:1}}@keyframes pulseDot{0%,to{transform:translate(-50%,-50%)scale(1);box-shadow:0 0 10px #ec4899cc,0 0 20px #ec489966}50%{transform:translate(-50%,-50%)scale(1.3);box-shadow:0 0 15px #ec4899,0 0 30px #ec489999}}@keyframes indeterminateSlide{0%{left:-30%}to{left:100%}}@keyframes titleShine{0%,to{background-position:0%}50%{background-position:100%}}@keyframes playPulse{0%,to{box-shadow:0 4px 20px #a855f780,0 0 #a855f766}50%{box-shadow:0 4px 25px #a855f799,0 0 0 8px #a855f700}}}.channel-selector-container{-webkit-backdrop-filter:blur(10px);background:#14141499;border:1px solid #ffffff1a;border-radius:100px;justify-content:center;gap:.25rem;width:-moz-fit-content;width:fit-content;margin:0 auto 1.5rem;padding:.35rem;display:flex;box-shadow:0 8px 32px #0003}.channel-btn{color:#888;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:100px;padding:.6rem 1.4rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.channel-btn:before{content:"";opacity:0;border-radius:inherit;background:linear-gradient(135deg,#a855f71a 0%,#7c3aed0d 100%);transition:opacity .3s;position:absolute;top:0;bottom:0;left:0;right:0}@media (pointer:fine){.channel-btn:hover:not(.active){color:#d8b4fe}.channel-btn:hover:not(.active):before{opacity:1}}.channel-btn.active{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);transform:scale(1.02);box-shadow:0 4px 15px #a855f766}.channel-btn.active:after{content:"";border-radius:inherit;pointer-events:none;background:linear-gradient(135deg,#fff3 0%,#0000 50%);position:absolute;top:0;bottom:0;left:0;right:0}@media (max-width:900px){.channel-selector-container{border-radius:16px;flex-wrap:wrap;gap:.15rem;max-width:95%;padding:.3rem}.channel-btn{text-align:center;flex:1;min-width:0;padding:.5rem 1rem;font-size:.8rem}}@media (max-width:480px){.channel-selector-container{border-radius:12px;flex-direction:column;width:90%}.channel-btn{border-radius:8px;width:100%;padding:.7rem 1rem}.channel-btn.active{transform:none}}.error-boundary-container{text-align:center;max-width:480px;margin:0 auto;padding:4rem 1rem 3rem}.error-boundary-visual{margin-bottom:2rem;position:relative}.error-boundary-eq{justify-content:center;align-items:flex-end;gap:6px;height:48px;margin-bottom:1.2rem;display:flex}.error-boundary-eq-bar{opacity:.6;background:linear-gradient(#f97316,#ef4444);border-radius:3px;width:6px;animation:1.4s ease-in-out infinite alternate errorBoundaryPulse}@keyframes errorBoundaryPulse{0%{height:8px}50%{height:32px}to{height:12px}}.error-boundary-icon{filter:drop-shadow(0 0 20px #ef444466);font-size:4rem;line-height:1}.error-boundary-title{color:#fff;margin:0 0 .6rem;font-size:1.5rem;font-weight:700}.error-boundary-subtitle{color:#888;margin:0 0 2rem;font-size:1rem;line-height:1.5}.error-boundary-actions{flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:1.5rem;display:flex}.error-boundary-primary-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#a855f7,#ec4899);border:none;border-radius:50px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 15px #a855f74d}@media (pointer:fine){.error-boundary-primary-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #a855f766}}.error-boundary-secondary-btn{color:#ccc;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:50px;padding:.75rem 2rem;font-size:1rem;font-weight:600;transition:all .2s}@media (pointer:fine){.error-boundary-secondary-btn:hover{color:#fff;background:#ffffff1a}}.error-boundary-details-toggle{color:#666;cursor:pointer;background:0 0;border:none;padding:.5rem;font-size:.85rem;transition:color .2s}@media (pointer:fine){.error-boundary-details-toggle:hover{color:#999}}.error-boundary-details{text-align:left;max-width:600px;margin-top:1rem;margin-left:auto;margin-right:auto}.error-boundary-details pre{color:#888;white-space:pre-wrap;word-break:break-word;background:#ffffff08;border:1px solid #ffffff0f;border-radius:8px;max-height:300px;padding:1rem;font-size:.8rem;overflow:auto}.footer-separator{color:#fff3;margin:0 .25rem}.footer-stats{color:#fff6;letter-spacing:.02em;flex-wrap:wrap;justify-content:center;gap:0;margin-bottom:.75rem;font-size:.85rem;display:flex}.footer-stats-separator{opacity:.5;margin:0 .5rem}.footer-weekly-growth{color:#4ade80;opacity:.85;font-size:.8rem}@media (max-width:768px){.footer-weekly-growth{margin-top:.15rem;font-size:.75rem;display:block}.footer-stats{gap:.6rem}}.footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem;display:flex}.footer-links .footer-link{font-size:inherit}.footer-links a.footer-link{color:inherit;cursor:pointer;background:0 0;border:none;padding:.5rem 1rem;font-family:inherit;text-decoration:none;transition:color .3s}@media (pointer:fine){.footer-links a.footer-link:hover{color:#fff;text-decoration:underline}}.footer-tagline{color:#ffffff40;margin-top:.5rem;font-size:.8rem;font-style:italic}.footer-version{color:#fff3;letter-spacing:.02em;-webkit-user-select:all;user-select:all;margin-top:.35rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.7rem}@media (max-width:768px){.footer-version{font-size:.65rem}}@keyframes sleepMenuFadeIn{0%{opacity:0;transform:translate(-50%)translateY(4px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (pointer:fine){.song-link.apple-music:hover{color:#fc3c44;background:#fc3c4426}}.loading-skeleton{padding:1.5rem 0;animation:.3s fadeIn}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.shimmer{background:linear-gradient(90deg,#ffffff08 25%,#ffffff14 50%,#ffffff08 75%) 0 0/800px 100%;animation:1.8s ease-in-out infinite shimmer}.skeleton-header{margin-bottom:2rem}.skeleton-line{border-radius:8px;margin-bottom:.75rem}.skeleton-title{width:45%;max-width:280px;height:28px}.skeleton-subtitle{width:30%;max-width:180px;height:16px}.skeleton-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.25rem;margin-bottom:2rem;display:grid}.skeleton-card{background:#1e1e1e66;border:1px solid #ffffff0d;border-radius:16px;padding:1.5rem}.skeleton-card-header{width:50%;height:14px;margin-bottom:1.25rem}.skeleton-card-body{width:80%;height:22px}.skeleton-card-body.short{width:55%;height:14px}.skeleton-list{flex-direction:column;gap:.75rem;display:flex}.skeleton-list-item{background:#1e1e1e4d;border:1px solid #ffffff0a;border-radius:12px;align-items:center;gap:1rem;padding:1rem 1.25rem;animation:.4s both fadeIn;display:flex}.skeleton-avatar{border-radius:10px;flex-shrink:0;width:40px;height:40px}.skeleton-list-content{flex:1;min-width:0}.skeleton-list-content .skeleton-line{height:16px;margin-bottom:.5rem}.skeleton-list-content .skeleton-line:last-child{margin-bottom:0}.skeleton-small{height:12px!important}@media (max-width:768px){.skeleton-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.skeleton-card{padding:1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.equalizer-bar,.error-boundary-eq-bar{height:8px!important;animation:none!important}.live-dot{opacity:1!important;animation:none!important}.reconnecting-indicator{animation:none!important}.skeleton-card,.skeleton-line{background:#ffffff0f!important;animation:none!important}.sleep-menu{animation:none!important}.stat-modal,.privacy-modal{transition:none!important;animation:none!important}.scroll-top-btn{transition:none!important}}.infinite-scroll-loader{flex-direction:column;align-items:center;gap:.75rem;display:flex}.loader-spinner{border:3px solid #a855f726;border-top-color:#a855f7;border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}.discovery-shuffle-btn{color:#888;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;align-items:center;margin-left:.25rem;padding:.3rem .5rem;transition:all .2s;display:flex}@media (pointer:fine){.discovery-shuffle-btn:hover{color:#c084fc;background:#a855f726;border-color:#a855f74d}.song-link.deezer:hover{color:#a238ff;background:#a238ff26}.song-link.beatport:hover{color:#94d500;background:#94d50026}.song-link.stats-link:hover{color:#a855f7;background:#a855f726}}.song-link.stats-link{cursor:pointer;border:none}.song-toast{z-index:10000;-webkit-backdrop-filter:blur(20px);cursor:pointer;background:#140a23f2;border:1px solid #a855f74d;border-radius:12px;align-items:center;gap:.75rem;max-width:340px;padding:.75rem 1rem;transition:opacity .3s;animation:.4s cubic-bezier(.16,1,.3,1) forwards songToastSlideIn;display:flex;position:fixed;top:1rem;right:1rem;box-shadow:0 8px 32px #0006,0 0 20px #a855f726}@media (pointer:fine){.song-toast:hover{border-color:#a855f780}}.song-toast-art{object-fit:cover;border-radius:8px;flex-shrink:0;width:48px;height:48px}.song-toast-info{flex-direction:column;gap:.1rem;min-width:0;display:flex;overflow:hidden}.song-toast-label{text-transform:uppercase;letter-spacing:.08em;color:#a855f7;font-size:.65rem;font-weight:600}.song-toast-title{color:#f0f0f0;white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;overflow:hidden}.song-toast-artist{color:#fff9;white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}@keyframes songToastSlideIn{0%{opacity:0;transform:translate(100%)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@media (max-width:768px){.song-toast{max-width:none;top:auto;bottom:240px;left:.5rem;right:.5rem}@keyframes songToastSlideIn{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}}@media (prefers-reduced-motion:reduce){.song-toast{animation:none}}.install-app-link{font-weight:500;transition:all .2s;color:#a855f7!important}@media (pointer:fine){.install-app-link:hover{text-shadow:0 0 8px #a855f74d;color:#c084fc!important}}@media (max-width:768px){.install-app-link{font-size:.85rem}}.footer-listeners{color:#4ade80;align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;display:inline-flex}.listener-dot{background:#4ade80;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite listenerPulse;display:inline-block}@keyframes listenerPulse{0%,to{opacity:1;box-shadow:0 0 #4ade8066}50%{opacity:.7;box-shadow:0 0 0 4px #4ade8000}}@media (max-width:768px){.footer-listeners{font-size:.8rem}}@media (prefers-reduced-motion:reduce){.listener-dot{animation:none}}.mobile-bottom-nav{display:none}@media (max-width:768px){.mobile-bottom-nav{-webkit-backdrop-filter:blur(12px);z-index:1100;height:56px;padding:0;padding-bottom:env(safe-area-inset-bottom,0px);background:#121212f2;border-top:1px solid #ffffff14;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav-item{color:#ffffff73;letter-spacing:.02em;-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;height:100%;font-size:.65rem;font-weight:500;text-decoration:none;transition:color .2s;display:flex;position:relative}.bottom-nav-item svg{width:22px;height:22px;transition:transform .2s,color .2s}.bottom-nav-item.active{color:#a855f7}.bottom-nav-item.active:before{content:"";background:#a855f7;border-radius:0 0 2px 2px;width:32px;height:2px;position:absolute;top:0;left:50%;transform:translate(-50%)}.bottom-nav-item.active svg{transform:scale(1.1)}.bottom-nav-item:active{color:#a855f7}.bottom-nav-item:active svg{transform:scale(.9)}.bottom-nav-item.active:active svg{animation:.3s nav-tap-bounce}@keyframes nav-tap-bounce{0%{transform:scale(1.1)}40%{transform:scale(.85)}70%{transform:scale(1.15)}to{transform:scale(1.1)}}.hamburger-btn,.mobile-menu-overlay,.mobile-menu{display:none!important}.app-footer{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--radio-player-height,70px) + 110px)!important}.mobile-schedule-toggle{bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--radio-player-height,70px) + 8px)!important}.scroll-top-btn.mobile{bottom:calc(56px + env(safe-area-inset-bottom,0px) + var(--radio-player-height,70px) + 48px)!important}}@media (prefers-reduced-motion:reduce){.bottom-nav-item,.bottom-nav-item svg{transition:none!important}}.top1000-progress{max-width:800px;margin:0 auto 1.5rem;padding:0 .5rem}.top1000-progress-info{color:#888;justify-content:space-between;align-items:baseline;margin-bottom:.5rem;font-size:.85rem;display:flex}.top1000-progress-count{color:#a855f7;font-size:1.1rem;font-weight:600}.top1000-progress-bar{background:#ffffff14;border-radius:3px;height:6px;overflow:hidden}.top1000-progress-fill{background:linear-gradient(90deg,#7c3aed,#a855f7,#c084fc);border-radius:3px;height:100%;transition:width .6s;position:relative}.top1000-progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d);border-radius:0 3px 3px 0;width:20px;position:absolute;top:0;bottom:0;right:0}.top1000-card{text-align:left;background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;flex-direction:row;align-items:center;gap:1rem;margin-bottom:.75rem;padding:1rem 1.2rem;transition:transform .2s,background .2s;display:flex;position:relative;overflow:hidden}@media (pointer:fine){.top1000-card:hover{background:#ffffff12;transform:translate(4px)}}.top1000-card.medal-gold{background:linear-gradient(135deg,#ffd70014,#0003);border:1px solid #ffd70040;padding:1.5rem}.top1000-card.medal-silver{background:linear-gradient(135deg,#c0c0c014,#0003);border:1px solid #c0c0c033;padding:1.3rem 1.4rem}.top1000-card.medal-bronze{background:linear-gradient(135deg,#cd7f3214,#0003);border:1px solid #cd7f3233;padding:1.3rem 1.4rem}.top1000-rank{flex-direction:column;flex-shrink:0;align-items:center;min-width:50px;display:flex}.top1000-rank-number{color:#555;font-size:1.6rem;font-weight:700;line-height:1}.medal-gold .top1000-rank-number{color:gold;text-shadow:0 0 12px #ffd7004d;font-size:2.2rem}.medal-silver .top1000-rank-number{color:silver;text-shadow:0 0 10px #c0c0c040;font-size:1.9rem}.medal-bronze .top1000-rank-number{color:#cd7f32;text-shadow:0 0 10px #cd7f3240;font-size:1.9rem}.top1000-medal{margin-top:.15rem;font-size:1.2rem}.top1000-info{flex:1;min-width:0}.top1000-title{color:#fff;text-overflow:ellipsis;margin-bottom:.2rem;font-size:1.1rem;font-weight:600;line-height:1.3;overflow:hidden}.medal-gold .top1000-title{font-size:1.4rem}.medal-silver .top1000-title,.medal-bronze .top1000-title{font-size:1.2rem}.top1000-artist{color:#aaa;font-size:.92rem;font-weight:500}.medal-gold .top1000-artist{font-size:1.05rem}.top1000-card .song-links{opacity:.5;flex-shrink:0;transition:opacity .2s}@media (pointer:fine){.top1000-card:hover .song-links{opacity:.9}}.top1000-search-results{text-align:center;color:#888;margin-top:.5rem;font-size:.85rem}.top1000-no-results{text-align:center;color:#888;padding:2rem 0}@media (max-width:768px){.top1000-card{gap:.75rem;padding:.85rem 1rem}.top1000-card.medal-gold{padding:1.2rem 1rem}.top1000-card.medal-silver,.top1000-card.medal-bronze{padding:1rem}.top1000-rank{min-width:40px}.top1000-rank-number{font-size:1.3rem}.medal-gold .top1000-rank-number{font-size:1.8rem}.medal-silver .top1000-rank-number,.medal-bronze .top1000-rank-number{font-size:1.5rem}.top1000-title{font-size:1rem}.medal-gold .top1000-title{font-size:1.15rem}.medal-silver .top1000-title,.medal-bronze .top1000-title{font-size:1.05rem}.top1000-artist{font-size:.85rem}.top1000-card .song-links{opacity:.7;gap:.4rem}.top1000-card .song-links .song-link{padding:.3rem}.top1000-progress-count{font-size:1rem}}@media (max-width:400px){.top1000-card .song-links{flex-direction:column;gap:.25rem}.top1000-rank{min-width:35px}.top1000-rank-number{font-size:1.1rem}}.swipe-hint{color:#c084fc80;pointer-events:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:.5rem;margin:.3rem auto 1rem;font-size:.75rem;animation:4s ease-in-out forwards swipeHintFade;display:none}@media (max-width:768px){.swipe-hint{display:flex}}.swipe-hint-arrow{font-size:.85rem;animation:1.5s ease-in-out infinite swipeHintBounce;display:inline-block}.swipe-hint-arrow:first-child{animation-name:swipeHintBounceLeft}.swipe-hint-arrow:last-child{animation-name:swipeHintBounceRight}@keyframes swipeHintFade{0%{opacity:0}10%{opacity:1}70%{opacity:1}to{opacity:0;display:none}}@keyframes swipeHintBounceLeft{0%,to{transform:translate(0)}50%{transform:translate(-4px)}}@keyframes swipeHintBounceRight{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.swipe-hint{opacity:.5;animation:none}.swipe-hint-arrow{animation:none}}.network-status-banner{text-align:center;z-index:100;border-radius:10px;justify-content:center;align-items:center;gap:.5rem;width:calc(100% - 1rem);max-width:400px;margin:.5rem auto 0;padding:.6rem 1rem;font-size:.85rem;font-weight:500;animation:.3s cubic-bezier(.16,1,.3,1) networkBannerSlide;display:flex}.network-status-banner.offline{color:#fca5a5;background:#ef444426;border:1px solid #ef44444d}.network-status-banner.online{color:#86efac;background:#22c55e26;border:1px solid #22c55e4d;animation:.3s cubic-bezier(.16,1,.3,1) networkBannerSlide,.5s ease-in 2.5s forwards networkBannerFadeOut}.network-status-banner svg{flex-shrink:0}@keyframes networkBannerSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes networkBannerFadeOut{0%{opacity:1}to{opacity:0}}@media (max-width:768px){.network-status-banner{border-radius:8px;max-width:calc(100% - 1rem);margin:.35rem auto 0;padding:.5rem .75rem;font-size:.8rem}}.song-toast-links{flex-direction:column;flex-shrink:0;gap:.35rem;margin-left:auto;padding-left:.5rem;display:flex}.song-toast-link{color:#ffffff80;background:#ffffff14;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;text-decoration:none;transition:all .2s;display:flex}@media (pointer:fine){.song-toast-link:hover{background:#ffffff26;transform:scale(1.15)}.song-toast-link.spotify:hover{color:#1db954;background:#1db95426}.song-toast-link.youtube:hover{color:red;background:#ff000026}.song-toast-link.apple-music:hover{color:#fc3c44;background:#fc3c4426}.song-toast-link.deezer:hover{color:#a238ff;background:#a238ff26}.song-toast-link.beatport:hover{color:#94d500;background:#94d50026}}@media (max-width:768px){.song-toast-links{flex-direction:row;gap:.4rem;margin-left:0;padding-top:.25rem;padding-left:0}.song-toast{flex-wrap:wrap}.song-toast-link{width:30px;height:30px}}.top1000-voting-page{justify-content:center;align-items:center;min-height:60vh;padding:2rem;display:flex}.top1000-voting-content{text-align:center;max-width:480px}.top1000-voting-icon{margin-bottom:1rem;font-size:4rem}.top1000-voting-title{color:#e2e8f0;margin-bottom:.75rem;font-size:1.8rem;font-weight:700}.top1000-voting-text{color:#94a3b8;margin-bottom:.5rem;font-size:1rem;line-height:1.6}.top1000-voting-text:last-of-type{margin-bottom:2rem}.top1000-voting-btn{color:#fff;background:linear-gradient(135deg,#a855f7 0%,#7c3aed 100%);border-radius:50px;padding:14px 32px;font-size:1rem;font-weight:600;text-decoration:none;transition:opacity .2s,transform .2s;display:inline-block;box-shadow:0 4px 15px #a855f759}@media (pointer:fine){.top1000-voting-btn:hover{opacity:.85;transform:translateY(-1px)}}.top1000-voting-btn:active{transform:translateY(0)}@media (max-width:768px){.top1000-voting-page{min-height:50vh;padding:1.5rem 1rem}.top1000-voting-icon{margin-bottom:.75rem;font-size:3rem}.top1000-voting-title{margin-bottom:.5rem;font-size:1.4rem}.top1000-voting-text{font-size:.9rem}.top1000-voting-text:last-of-type{margin-bottom:1.5rem}.top1000-voting-btn{width:100%;max-width:320px;padding:12px 28px;font-size:.95rem}}@media (max-width:400px){.top1000-voting-title{font-size:1.25rem}.top1000-voting-btn{padding:12px 20px;font-size:.9rem}}.otp-split-container{justify-content:center;gap:.5rem;margin:.5rem 0;display:flex}.otp-split-digit{text-align:center;color:#fff;caret-color:#a855f7;-webkit-appearance:none;-moz-appearance:textfield;background:#ffffff0d;border:2px solid #ffffff26;border-radius:12px;outline:none;width:3rem;height:3.5rem;font-size:1.5rem;font-weight:700;transition:border-color .2s,box-shadow .2s,background .2s}.otp-split-digit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.otp-split-digit::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.otp-split-digit:focus{background:#a855f714;border-color:#a855f7;box-shadow:0 0 0 3px #a855f740}.otp-split-digit.filled{background:#a855f70f;border-color:#a855f780}@media (max-width:768px){.otp-split-container{gap:.35rem}.otp-split-digit{border-radius:10px;width:2.5rem;height:3rem;font-size:1.3rem}}@media (max-width:380px){.otp-split-container{gap:.25rem}.otp-split-digit{border-radius:8px;width:2.2rem;height:2.7rem;font-size:1.1rem}}.success-message{color:#4ade80;background:#22c55e1a;border:1px solid #22c55e40;border-radius:10px;margin-bottom:1rem;padding:.75rem 1rem;font-size:.9rem;animation:.3s fadeIn}.form-group{flex-direction:column;gap:.4rem;display:flex}.form-group label{color:#94a3b8;letter-spacing:.02em;font-size:.85rem;font-weight:600}.form-group select,.form-group input{color:#e2e8f0;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:.7rem .9rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,background .2s}.form-group select:focus,.form-group input:focus{background:#ffffff14;border-color:#a855f7;box-shadow:0 0 0 3px #a855f726}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;padding-right:2rem}.form-group select option{color:#e2e8f0;background:#1e1e2e}.privacy-content code{color:#c4b5fd;background:#a855f726;border-radius:4px;padding:.15em .4em;font-family:SF Mono,Fira Code,monospace;font-size:.85em}.skip-to-content{z-index:10000;color:#fff;white-space:nowrap;background:#a855f7;border-radius:0 0 10px 10px;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:top .15s;position:absolute;top:-100%;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #a855f780}.skip-to-content:focus{outline:none;top:0}:focus-visible{outline-offset:2px;outline:2px solid #a855f7}:focus:not(:focus-visible){outline:none}.otp-split-digit:focus-visible{outline-offset:1px;outline:2px solid #a855f7}.form-group select:focus-visible{outline-offset:1px;outline:2px solid #a855f7}.form-group input:focus-visible{outline-offset:1px;outline:2px solid #a855f7}button:focus-visible{outline-offset:2px;outline:2px solid #a855f7}a:focus-visible{outline-offset:2px;outline:2px solid #a855f7}[role=button]:focus-visible{outline-offset:2px;outline:2px solid #a855f7}.nav-btn:focus-visible{outline-offset:-2px;border-radius:inherit}.bottom-nav-item:focus-visible{outline-offset:-2px;border-radius:inherit}.channel-btn:focus-visible{outline-offset:-2px;border-radius:inherit}.close-btn:focus-visible{outline-offset:2px;border-radius:50%;outline:2px solid #a855f7}@media (max-width:768px){.bottom-nav-item:focus-visible{background:#a855f726;border-radius:8px;outline:none}.skip-to-content{padding:.6rem 1.2rem;font-size:.85rem}}@media (prefers-reduced-motion:reduce){.skip-to-content{transition:none}}.song-date-separator{z-index:10;-webkit-backdrop-filter:blur(10px);background:linear-gradient(#0f0f0ff5 0%,#0f0f0fd1 100%);border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;padding:.35rem .2rem .55rem;display:flex;position:sticky;top:0}.song-date-separator:before,.song-date-separator:after{display:none}.song-date-label{letter-spacing:.02em;color:#f5f3ff;white-space:nowrap;text-transform:none;background:0 0;border:0;padding:0;font-size:.78rem;font-weight:700}.song-date-separator:first-child{margin-top:0;padding-top:0}.song-date-count{color:#ffffff80;white-space:nowrap;letter-spacing:.01em;flex-shrink:0;font-size:.68rem;font-weight:500;position:static}@media (max-width:768px){.song-date-separator{gap:.55rem;margin-top:.45rem;padding:.3rem .05rem .45rem}.song-date-label{font-size:.72rem}.song-date-count{font-size:.62rem}}@media (max-width:480px){.song-date-separator{gap:.45rem;padding:.25rem 0 .4rem}.song-date-label{font-size:.68rem}.song-date-count{font-size:.58rem}}.form-group textarea{color:#e2e8f0;resize:vertical;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:10px;outline:none;padding:.7rem .9rem;font-family:inherit;font-size:.9rem;transition:border-color .2s,background .2s}.form-group textarea:focus{background:#ffffff14;border-color:#a855f7;box-shadow:0 0 0 3px #a855f726}
