:root{--bg-dark:#0a0b16;--bg-darker:#05050a;--accent-blue:#3b82f6;--accent-magenta:#e81cff;--text-main:#f8fafc;--text-muted:#94a3b8;--nav-height:70px;--player-height:75px;--header-height:auto;--glass-bg:#0f111eb3;--glass-border:#ffffff1a;--accent-gradient:linear-gradient(135deg, #3b82f6 0%, #e81cff 100%);--splash-gradient:linear-gradient(135deg, #2563eb 0%, #0d9488 100%)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}html,body{background-color:var(--bg-darker);color:var(--text-main);width:100%;height:100dvh;font-family:Outfit,sans-serif;position:fixed;top:0;left:0;overflow:hidden}.bg-gradient-mesh{z-index:-2;filter:blur(40px);background:radial-gradient(circle at 15% 30%,#3b82f626 0%,#0000 50%),radial-gradient(circle at 85% 70%,#e81cff1f 0%,#0000 50%);position:absolute;inset:0}#splash-screen{background:var(--splash-gradient);z-index:1000;flex-direction:column;justify-content:center;align-items:center;transition:opacity .6s,visibility .6s;display:flex;position:fixed;inset:0}#splash-screen.hidden{opacity:0;visibility:hidden}.splash-logo{background:0 0;border:4px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;margin-bottom:2rem;animation:2s infinite pulse;display:flex;overflow:hidden;box-shadow:0 15px 45px #0006}.splash-logo img{object-fit:cover;width:100%;height:100%}.splash-name{color:#fff;letter-spacing:-1px;font-size:2.2rem;font-weight:700}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border)}#toast-container{bottom:calc(var(--nav-height) + var(--player-height) + 20px);z-index:1000;pointer-events:none;flex-direction:column;gap:10px;width:90%;max-width:400px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{-webkit-backdrop-filter:blur(15px);color:#fff;pointer-events:auto;background:#0f111ef2;border:1px solid #ffffff1a;border-radius:12px;justify-content:space-between;align-items:center;gap:15px;min-width:280px;padding:10px 15px;font-size:.85rem;font-weight:500;animation:.4s cubic-bezier(.2,.8,.2,1) forwards toast-in;display:flex;box-shadow:0 10px 30px #00000080}.toast-content{align-items:center;gap:10px;display:flex}.toast-action{background:var(--accent-magenta);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.75rem;font-weight:700}.toast-action:active{opacity:.8}.toast.hiding{animation:.4s cubic-bezier(.2,.8,.2,1) forwards toast-out}@keyframes toast-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.app-shell{background:var(--bg-dark);flex-direction:column;width:100%;max-width:1200px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 40px #00000080}.app-header{flex-direction:column;flex-shrink:0;gap:1.2rem;padding:1.5rem 1.2rem 1rem;display:flex}.header-content h1{color:var(--text-main);font-size:1.5rem;font-weight:700}.header-top{justify-content:space-between;align-items:center;display:flex}.header-actions{gap:.5rem;display:flex}.search-trigger{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff0d;border-radius:30px;align-items:center;gap:.8rem;padding:.8rem 1.2rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex}.search-trigger:hover{background:#ffffff14;border-color:#ffffff1a}.search-placeholder{color:var(--text-muted);font-size:.95rem;font-weight:400}.search-bar{background:#ffffff14;border:1px solid #ffffff0d;border-radius:12px;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex}.search-bar svg{color:var(--text-muted)}.search-bar input{color:var(--text-main);background:0 0;border:none;outline:none;width:100%;font-family:inherit;font-size:1rem}.search-bar input::placeholder{color:var(--text-muted)}.category-tabs{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex-shrink:0;gap:.6rem;padding:.2rem 1rem 1rem;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.cat-pill{color:var(--text-muted);white-space:nowrap;cursor:pointer;background:#ffffff0f;border:1px solid #ffffff0d;border-radius:20px;padding:.5rem 1.2rem;font-family:inherit;font-size:.85rem;font-weight:500;transition:all .3s}.cat-pill:hover{color:var(--text-main);background:#ffffff1a}.cat-pill.active{background:var(--accent-blue);color:#fff;border-color:var(--accent-blue);box-shadow:0 4px 15px #3b82f64d}.main-content{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:1;padding:.5rem 1rem;overflow:hidden auto}.main-content::-webkit-scrollbar{display:none}.feed{grid-template-columns:repeat(5,1fr);gap:1.2rem;padding-bottom:2rem;display:grid}.feed.hidden{display:none}.feed-padding{height:180px}.station-item{cursor:pointer;background:#ffffff08;border:1px solid #ffffff0d;border-radius:20px;flex-direction:column;transition:all .3s cubic-bezier(.2,.8,.2,1);display:flex;overflow:hidden}.station-item:active{transform:scale(.96)}.station-item.playing{background:#3b82f61a;border:1px solid #3b82f666;box-shadow:0 10px 20px #3b82f626}.station-card-top{aspect-ratio:1;background:#1a1b2e;width:100%;position:relative;overflow:hidden}.station-logo-img{object-fit:cover;width:100%;height:100%}.station-card-info{padding:.8rem 1rem 1rem}.station-card-info h4{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.2rem;font-size:.95rem;font-weight:600;overflow:hidden}.station-card-info p{color:var(--accent-blue);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;font-weight:500;overflow:hidden}.station-info{flex-direction:column;justify-content:center;align-items:center;gap:.25rem;width:100%;display:flex}.station-info h4{white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:1rem;overflow:hidden}.station-info p{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;width:100%;font-size:.75rem;overflow:hidden}.empty-state{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:5rem 1rem}.loader-center{grid-column:1/-1;justify-content:center;padding:5rem;display:flex}.spinner{border:3px solid #ffffff1a;border-top-color:var(--accent-magenta);border-radius:50%;width:30px;height:30px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mini-player{height:var(--player-height);z-index:40;border-radius:16px;justify-content:space-between;align-items:center;padding:0 1rem;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:.5rem;left:.5rem;right:.5rem;transform:translateY(150%);box-shadow:0 -4px 20px #0000004d}.mini-player.visible{transform:translateY(0)}.mini-player-content{cursor:pointer;flex:1;align-items:center;gap:1rem;min-width:0;display:flex}.audio-wave{align-items:flex-end;gap:2px;width:16px;height:16px;display:flex}.audio-wave span{background:var(--accent-magenta);border-radius:1px;width:3px;display:block}.audio-wave span:first-child{height:60%}.audio-wave span:nth-child(2){height:100%}.audio-wave span:nth-child(3){height:50%}.audio-wave.active span{animation:1.2s ease-in-out infinite alternate wave}.audio-wave.active span:first-child{animation-delay:0s}.audio-wave.active span:nth-child(2){animation-delay:.2s}.audio-wave.active span:nth-child(3){animation-delay:.4s}@keyframes wave{0%{transform:scaleY(.3)}to{transform:scaleY(1)}}.mini-info{flex:1;min-width:0}.mini-info h4{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.mini-info p{color:var(--accent-blue);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.mini-controls{padding-left:.5rem}.btn-icon{color:#fff;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.5rem;display:flex}.btn-icon:active{opacity:.7}.bottom-nav{height:var(--nav-height);z-index:50;background:var(--glass-bg);-webkit-backdrop-filter:blur(20px);justify-content:space-around;align-items:center;transition:bottom .4s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;bottom:0;left:0;right:0}.app-shell.player-active .bottom-nav{bottom:calc(var(--player-height) + .5rem)}.nav-item{cursor:pointer;color:var(--text-muted);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:6px;font-family:inherit;font-size:.7rem;transition:color .2s;display:flex}.nav-item svg{transition:transform .2s cubic-bezier(.4,0,.2,1)}.nav-item.active{color:var(--accent-blue);font-weight:600}.nav-item.active svg{color:var(--accent-blue);transform:translateY(-2px)}.settings-modal{background:var(--bg-dark);z-index:200;flex-direction:column;padding:1rem;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:translateY(100%)}.settings-modal.active{transform:translateY(0)}.settings-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:1rem .5rem;display:flex}.settings-header h2{font-size:1.5rem}.settings-content{flex:1;padding:0 .5rem;overflow-y:auto}.setting-group{margin-bottom:2rem}.setting-group h4{color:var(--accent-blue);text-transform:uppercase;letter-spacing:1px;margin-bottom:1rem;font-size:.85rem}.setting-item{background:#ffffff08;border-radius:12px;justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:1rem;display:flex}.setting-btn{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff0d;border-radius:12px;width:100%;padding:1rem;font-weight:600;transition:all .2s}.setting-btn:active{background:#ffffff1a}.setting-btn.danger{color:#ef4444}.expanded-player{background:var(--bg-dark);z-index:100;flex-direction:column;align-items:center;padding:1rem 0;transition:transform .5s cubic-bezier(.2,.8,.2,1);display:flex;position:absolute;inset:0;transform:translateY(100%)}.player-inner-wrap{flex-direction:column;width:100%;max-width:600px;height:100%;display:flex}.expanded-player:before{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#e81cff1a,#0000 50%);position:absolute;inset:0}.expanded-player.open{transform:translateY(0)}.blur-background{filter:blur(60px)brightness(.4);z-index:-1;background-position:50%;background-size:cover;transition:background-image .5s;position:absolute;inset:0}.expanded-header{justify-content:space-between;align-items:center;margin-top:1rem;padding:.5rem 1.5rem;display:flex}.now-playing-label{letter-spacing:1px;font-size:.9rem;font-weight:600}.expanded-art{flex:1;justify-content:center;align-items:center;padding:2rem;display:flex}.art-square{aspect-ratio:1;background:var(--bg-darker);border-radius:20px;width:100%;max-width:300px;position:relative;overflow:hidden;box-shadow:0 20px 50px #00000080}.visualizer-frame{pointer-events:none;z-index:2;justify-content:center;align-items:flex-end;gap:4px;width:100%;height:60px;padding:0 20px;display:flex;position:absolute;bottom:20px;left:0}.visualizer-frame span{background:var(--accent-gradient);opacity:.6;border-radius:3px;width:6px;height:10px}.app-shell.player-active .visualizer-frame span{animation:1s ease-in-out infinite equalize}.visualizer-frame span:nth-child(2){animation-delay:.1s}.visualizer-frame span:nth-child(3){animation-delay:.2s}.visualizer-frame span:nth-child(4){animation-delay:.3s}.visualizer-frame span:nth-child(5){animation-delay:.4s}.visualizer-frame span:nth-child(6){animation-delay:.1s}.visualizer-frame span:nth-child(7){animation-delay:.2s}.visualizer-frame span:nth-child(8){animation-delay:.3s}.visualizer-frame span:nth-child(9){animation-delay:.4s}.visualizer-frame span:nth-child(10){animation-delay:.5s}@keyframes equalize{0%{height:10px}50%{height:40px}to{height:10px}}.expanded-info{text-align:center;margin-bottom:2rem;padding:0 2rem}.expanded-info h2{white-space:nowrap;text-overflow:ellipsis;margin-bottom:.5rem;font-size:1.5rem;font-weight:700;overflow:hidden}.expanded-info p{color:var(--accent-blue);font-size:.9rem}.expanded-controls-row{justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding:1.5rem 2.5rem;display:flex}.small-action{background:#ffffff0d;border-radius:50%;width:45px;height:45px;transition:all .2s}.small-action:active{background:#ffffff26;transform:scale(.9)}.active-playback{background:var(--accent-gradient);width:55px;height:55px;box-shadow:0 5px 15px #e81cff4d}.expanded-controls{flex-direction:column;gap:2.5rem;padding:0 2rem 4rem;display:flex}.volume-slider-wrapper{background:#0003;border:1px solid #ffffff0d;border-radius:20px;align-items:center;gap:1.2rem;padding:1rem 1.5rem;display:flex}.volume-slider-wrapper input{appearance:none;background:#ffffff1a;border-radius:3px;outline:none;flex:1;height:6px}.volume-slider-wrapper input::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;box-shadow:0 0 10px #00000080}.main-playback,#audio-player{display:none}@media (width<=1200px){.feed{grid-template-columns:repeat(4,1fr);gap:1rem}}@media (width<=850px){.feed{grid-template-columns:repeat(3,1fr)}}@media (width<=550px){.app-header{padding:1rem 1rem .5rem}.header-content h1{font-size:1.5rem}.feed{grid-template-columns:repeat(3,1fr);gap:.5rem;padding:0 .5rem}.station-info h4{font-size:.85rem}.station-info p{font-size:.65rem}}@media (width<=400px){.feed{grid-template-columns:repeat(3,1fr);gap:.4rem}.station-info h4{font-size:.75rem}}.buffering .mini-play-btn svg,.buffering #player-main-play-btn svg{display:none}.buffering .mini-play-btn:after,.buffering #player-main-play-btn:after{content:"";border:3px solid #fff3;border-top-color:#fff;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite rotate-spinner;display:block}@keyframes rotate-spinner{to{transform:rotate(360deg)}}.buffering #player-main-play-btn:after{border-width:4px;width:30px;height:30px}.web-test-ad{-webkit-backdrop-filter:blur(20px);z-index:10000;color:#fff;text-align:center;background:#0a0b16f2;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.web-test-content{flex-direction:column;align-items:center;gap:20px;display:flex}.web-test-content p{letter-spacing:2px;color:var(--accent-magenta);font-size:1.2rem;font-weight:700}.loader-line{background:#ffffff1a;border-radius:2px;width:200px;height:4px;position:relative;overflow:hidden}.loader-line:after{content:"";background:#fff;width:50%;height:100%;animation:5s linear forwards ad-loader;position:absolute;top:0;left:0}@keyframes ad-loader{0%{width:0}to{width:100%}}
