*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg-void: #06060e;--bg-primary: #0a0a14;--bg-secondary: #10101e;--bg-surface: #181830;--bg-glass: rgba(16, 16, 30, .75);--bg-glass-strong: rgba(16, 16, 30, .92);--accent: #f4c542;--accent-deep: #d4a017;--accent-light: #ffe082;--accent-glow: rgba(244, 197, 66, .35);--accent-glow-strong: rgba(244, 197, 66, .6);--text-primary: #f0f0f5;--text-secondary: #9898b0;--text-muted: #5a5a78;--text-accent: #f4c542;--live: #4ade80;--live-glow: rgba(74, 222, 128, .4);--error: #ef4444;--warning: #f59e0b;--border: rgba(255, 255, 255, .06);--border-hover: rgba(255, 255, 255, .12);--border-accent: rgba(244, 197, 66, .3);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 24px;--radius-full: 9999px;--font: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .7rem;--font-size-sm: .8rem;--font-size-md: .95rem;--font-size-lg: 1.15rem;--font-size-xl: 1.4rem;--font-size-2xl: 2rem;--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.22, 1, .36, 1);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 20px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 40px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px var(--accent-glow);--panel-width: 340px;--player-height: 80px;--header-height: 60px}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg-void);color:var(--text-primary);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#globe-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(ellipse at center,#0d0d1a,#06060e 70%)}#globe-container canvas{cursor:grab}#globe-container canvas:active{cursor:grabbing}#crosshair{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10;pointer-events:none;display:flex;align-items:center;justify-content:center}.crosshair-ring{width:80px;height:80px;border-radius:50%;border:2px solid rgba(244,197,66,.4);background:transparent;transition:border-color var(--transition-base),box-shadow var(--transition-base)}#crosshair.active .crosshair-ring{border-color:var(--accent);box-shadow:0 0 30px var(--accent-glow),inset 0 0 15px var(--accent-glow)}.crosshair-pulse{position:absolute;width:80px;height:80px;border-radius:50%;border:1px solid var(--accent);opacity:0;animation:none}#crosshair.active .crosshair-pulse{animation:pulse-ring 2s ease-out infinite}@keyframes pulse-ring{0%{transform:scale(1);opacity:.6}to{transform:scale(1.8);opacity:0}}.crosshair-label{position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);white-space:nowrap;font-size:var(--font-size-sm);color:var(--accent-light);background:var(--bg-glass-strong);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity var(--transition-base);text-align:center;max-width:250px;overflow:hidden;text-overflow:ellipsis}#crosshair.active .crosshair-label{opacity:1}.side-panel{position:fixed;top:0;left:0;width:var(--panel-width);height:100%;z-index:20;display:flex;flex-direction:column;background:var(--bg-glass-strong);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-right:1px solid var(--border);transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.side-panel.collapsed{width:56px}.side-panel.peeking{z-index:30;box-shadow:8px 0 32px #00000080}.panel-toggle-expand,.side-panel.collapsed .panel-toggle-collapse{display:none}.side-panel.collapsed .panel-toggle-expand{display:block;font-size:18px}.side-panel.collapsed .logo-text,.side-panel.collapsed .search-container,.side-panel.collapsed .station-count,.side-panel.collapsed .panel-filters,.side-panel.collapsed .station-card-info,.side-panel.collapsed .suggest-btn,.side-panel.collapsed .side-panel-footer{opacity:0;pointer-events:none;width:0;height:0;overflow:hidden;margin:0;padding:0;border:none}.side-panel.collapsed .side-panel-header{padding:0;height:auto;flex-direction:column;align-items:center;justify-content:center;gap:0;border-bottom:1px solid rgba(255,255,255,.04)}.side-panel.collapsed .logo{display:flex;justify-content:center;align-items:center;width:56px;height:48px;padding:0;cursor:pointer}.side-panel.collapsed .logo-icon{font-size:1.5em;display:flex;align-items:center;justify-content:center;width:56px}.side-panel.collapsed .panel-toggle{width:56px;height:44px;border:none;border-radius:0;color:var(--text-primary);font-size:22px;display:flex;align-items:center;justify-content:center;background:#ffffff0a;border-top:1px solid rgba(255,255,255,.04)}.side-panel.collapsed .station-list{padding:8px 0}.side-panel.collapsed .station-card{display:flex;justify-content:center;align-items:center;padding:6px 0;margin:0 auto;width:56px;border:none!important;background:none!important;border-radius:12px;gap:0}.side-panel.collapsed .station-card-info{display:none!important}.side-panel.collapsed .station-card:hover{background:#ffffff14!important;transform:none;box-shadow:none}.side-panel.collapsed .station-card.active{background:#f4c5421f!important}.side-panel.collapsed .station-card-flag-left{width:34px;height:34px;border-radius:10px;border:none;margin:0 auto}.side-panel.collapsed .ad-sidebar{display:none}.side-panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-lg) var(--space-md);height:var(--header-height);border-bottom:1px solid rgba(244,197,66,.08);flex-shrink:0}.logo{display:flex;align-items:center;gap:var(--space-sm);font-size:1.1rem;font-weight:700;color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden}.logo-icon{font-size:1.4em;flex-shrink:0}.logo-text{background:linear-gradient(135deg,var(--accent-light),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;transition:opacity .2s ease,width .3s ease}.panel-toggle{background:none;border:1px solid var(--border);color:var(--text-secondary);width:32px;height:32px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);font-size:12px;flex-shrink:0}.panel-toggle:hover{border-color:var(--border-hover);color:var(--text-primary);background:var(--bg-surface)}.search-container{padding:var(--space-sm) var(--space-lg) var(--space-md)}.search-input{width:100%;padding:10px 16px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;color:var(--text-primary);font-family:var(--font);font-size:.85rem;outline:none;transition:border-color .2s ease,box-shadow .2s ease}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:#f4c54266;box-shadow:0 0 0 3px #f4c54214;background:#ffffff0f}.station-count{margin:0 var(--space-lg) var(--space-sm);padding:10px 14px;font-size:.7rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.06em;background:linear-gradient(135deg,#f4c5420f,#f4c54205);border:1px solid rgba(244,197,66,.08);border-radius:12px}.count-number,.count-countries{color:var(--accent);font-weight:700;font-size:.8rem}.panel-filters{display:flex;gap:4px;padding:0 var(--space-lg) var(--space-md);background:#ffffff08;margin:0 var(--space-lg) var(--space-sm);border-radius:14px;padding:4px;border:1px solid rgba(255,255,255,.05)}.filter-tab{flex:1;padding:8px var(--space-md);background:transparent;border:none;border-radius:11px;color:var(--text-muted);font-family:var(--font);font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:center}.filter-tab:hover{color:var(--text-primary);background:#ffffff0d}.filter-tab.active{color:var(--bg-primary);background:var(--accent);font-weight:600;box-shadow:0 2px 8px #f4c5424d}.station-list{flex:1;overflow-y:auto;padding:var(--space-xs) var(--space-sm);scrollbar-width:thin;scrollbar-color:rgba(244,197,66,.15) transparent}.station-list::-webkit-scrollbar{width:4px}.station-list::-webkit-scrollbar-track{background:transparent}.station-list::-webkit-scrollbar-thumb{background:#f4c54226;border-radius:var(--radius-full)}.station-card{display:flex;align-items:center;gap:var(--space-md);padding:10px 12px;margin-bottom:4px;border-radius:14px;cursor:pointer;transition:all .2s ease;border:1px solid rgba(255,255,255,.04);background:#ffffff05;animation:card-fade-in .35s ease both}@keyframes card-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.station-card:hover{background:#ffffff0f;border-color:#f4c54226;box-shadow:0 2px 12px #0003;transform:translate(3px)}.station-card.active{background:#f4c54214;border-color:#f4c54240;box-shadow:0 0 16px #f4c54214,0 2px 8px #0003}.station-card-flag-left{width:40px;height:40px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;overflow:hidden}.station-card-info{flex:1;min-width:0}.station-card-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.01em}.station-card-location{font-size:.7rem;color:var(--accent);font-weight:500;opacity:.7;margin-top:2px}.station-card-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;background:#f4c54226;color:var(--accent);font-size:.6rem;font-weight:700;padding:0 4px;margin-left:6px;vertical-align:middle}.city-card-wrapper{animation:fadeSlideIn .3s ease-out both}.city-card-wrapper.active>.city-header{border-color:var(--accent);background:#f4c54214}.city-header{position:relative;cursor:pointer}.city-chevron{font-size:.7rem;color:var(--accent);opacity:.5;transition:transform .25s ease,opacity .25s ease;flex-shrink:0;margin-left:auto}.city-card-wrapper.expanded .city-chevron{transform:rotate(90deg);opacity:1}.city-stations-list{max-height:0;overflow:hidden;transition:max-height .3s ease;padding-left:20px}.city-card-wrapper.expanded .city-stations-list{max-height:600px}.city-station-item{display:flex;align-items:center;gap:8px;padding:8px 12px;margin:2px 0;border-radius:8px;cursor:pointer;transition:background .15s ease;font-size:.78rem;color:var(--text-secondary)}.city-station-item:hover{background:#f4c54214;color:var(--text-primary)}.city-station-dot{color:var(--accent);font-size:.65rem;opacity:.6;flex-shrink:0}.city-station-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.empty-favorites{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-muted);gap:var(--space-md)}.empty-favorites-icon{font-size:48px;opacity:.3}.empty-favorites p{font-size:var(--font-size-sm);line-height:1.6;max-width:220px}.suggest-btn{margin:var(--space-sm) var(--space-lg) var(--space-md);padding:12px var(--space-md);background:linear-gradient(135deg,#f4c5421f,#f4c5420a);border:1px solid rgba(244,197,66,.15);border-radius:14px;color:var(--accent);font-family:var(--font);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease;text-align:center;letter-spacing:.02em}.suggest-btn:hover{background:linear-gradient(135deg,#f4c54233,#f4c54214);border-color:#f4c5424d;box-shadow:0 4px 16px #f4c5421a;transform:translateY(-1px)}.suggest-btn:active{transform:translateY(0)}.side-panel-footer{padding:var(--space-md) var(--space-lg);border-top:1px solid rgba(255,255,255,.04);display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);font-size:.65rem}.side-panel-footer a{color:var(--text-muted);text-decoration:none;transition:color .2s ease;opacity:.6}.side-panel-footer a:hover{color:var(--text-secondary);opacity:1}.side-panel-footer .footer-brand{color:var(--accent);font-size:.7rem;font-weight:700;white-space:nowrap;opacity:1;letter-spacing:.02em}.side-panel-footer .footer-brand:hover{color:var(--accent-light)}.player{position:fixed;bottom:16px;left:56px;right:0;height:var(--player-height);z-index:25;display:flex;justify-content:center;align-items:center;pointer-events:none;transition:opacity var(--transition-base)}.player.hidden{opacity:0;transform:translateY(100%);pointer-events:none}.player-inner{display:flex;align-items:center;gap:var(--space-md);height:100%;width:min(780px,92%);padding:0 var(--space-lg) 0 var(--space-md);background:#0c0c18e0;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(244,197,66,.1);border-radius:20px;box-shadow:0 8px 32px #0006,0 0 0 1px #ffffff0a;pointer-events:auto}.player-btn{width:44px;height:44px;border-radius:50%;border:none;background:var(--accent);color:var(--bg-primary);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0;box-shadow:var(--shadow-glow)}.player-btn:hover{transform:scale(1.08);box-shadow:0 0 30px var(--accent-glow-strong)}.player-btn:active{transform:scale(.95)}.player-nav-btn{width:32px;height:32px;border-radius:50%;border:1px solid rgba(244,197,66,.2);background:transparent;color:var(--accent);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast);flex-shrink:0}.player-nav-btn:hover:not(:disabled){background:#f4c5421f;border-color:#f4c54266;transform:scale(1.1)}.player-nav-btn:active:not(:disabled){transform:scale(.9)}.player-nav-btn:disabled,.player-nav-btn.disabled{opacity:.25;cursor:default;pointer-events:none}.player-city-badge{font-size:.6rem;font-weight:600;color:var(--accent);background:#f4c5421f;padding:1px 6px;border-radius:8px;letter-spacing:.03em}.player-city-badge.hidden{display:none}.player-info{flex:1;min-width:0}.player-live{display:flex;align-items:center;gap:6px;margin-bottom:2px}.live-dot{width:8px;height:8px;border-radius:50%;background:var(--live);box-shadow:0 0 8px var(--live-glow);animation:live-pulse 2s ease-in-out infinite}@keyframes live-pulse{0%,to{opacity:1}50%{opacity:.4}}.live-text{font-size:var(--font-size-xs);font-weight:600;color:var(--live);text-transform:uppercase;letter-spacing:.1em}.player-name{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-location{font-size:var(--font-size-xs);color:var(--text-secondary)}.player-volume{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100px;height:4px;border-radius:var(--radius-full);background:var(--bg-surface);outline:none;cursor:pointer}.player-volume::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;box-shadow:0 0 6px var(--accent-glow);transition:transform var(--transition-fast)}.player-volume::-webkit-slider-thumb:hover{transform:scale(1.3)}.player-volume::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:none;box-shadow:0 0 6px var(--accent-glow)}.player-random-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1.5px solid rgba(244,197,66,.3);background:#f4c5420f;color:var(--accent);cursor:pointer;transition:all .2s ease;flex-shrink:0;margin-left:8px}.player-random-btn:hover{background:#f4c54226;border-color:var(--accent);box-shadow:0 0 12px var(--accent-glow);transform:scale(1.1)}.player-random-btn:active{transform:scale(.92)}.player-controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.player-equalizer{display:flex;align-items:flex-end;gap:2px;height:28px;flex-shrink:0;padding:0 4px}.eq-bar{width:3px;border-radius:1.5px;background:var(--accent);opacity:.6;height:4px;transition:height .1s ease}.player-equalizer .eq-bar{height:4px;animation:none}.player-equalizer.playing .eq-bar{animation:eq-bounce .8s ease-in-out infinite alternate;animation-delay:calc(var(--i) * .05s);opacity:.8}@keyframes eq-bounce{0%{height:4px;opacity:.4}25%{height:calc(6px + var(--i) * 1px)}50%{height:calc(14px + var(--i) * .5px);opacity:.9}75%{height:calc(8px + var(--i) * 1.2px)}to{height:calc(20px + var(--i) * .3px);opacity:1}}.ad-interstitial{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;align-items:center;justify-content:center;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity var(--transition-base)}.ad-interstitial.hidden{opacity:0;pointer-events:none}.ad-interstitial-content{position:relative;max-width:400px;max-height:80vh;border-radius:var(--radius-lg);overflow:hidden}.ad-close{position:absolute;top:var(--space-sm);right:var(--space-sm);width:32px;height:32px;border-radius:50%;border:none;background:#000000b3;color:#fff;font-size:16px;cursor:pointer;z-index:2;transition:opacity var(--transition-fast)}.ad-close.hidden{opacity:0;pointer-events:none}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-base)}.modal.hidden{opacity:0;pointer-events:none}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{position:relative;width:90%;max-width:480px;max-height:85vh;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-lg)}.modal-content h2{font-size:var(--font-size-xl);margin-bottom:var(--space-lg);color:var(--accent)}.modal-content label{display:block;margin-bottom:var(--space-xs);margin-top:var(--space-md);font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}.modal-content input,.modal-content textarea{width:100%;padding:var(--space-sm) var(--space-md);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);font-size:var(--font-size-md);outline:none;transition:border-color var(--transition-fast)}.modal-content input:focus,.modal-content textarea:focus{border-color:var(--accent-deep);box-shadow:0 0 0 3px var(--accent-glow)}.modal-close{position:absolute;top:var(--space-md);right:var(--space-md);background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;transition:color var(--transition-fast)}.modal-close:hover{color:var(--text-primary)}.btn-primary{display:block;width:100%;margin-top:var(--space-lg);padding:var(--space-md);background:linear-gradient(135deg,var(--accent),var(--accent-deep));border:none;border-radius:var(--radius-md);color:var(--bg-primary);font-family:var(--font);font-size:var(--font-size-md);font-weight:600;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 0 30px var(--accent-glow-strong)}.btn-primary:active{transform:translateY(0)}.tooltip{position:fixed;z-index:15;padding:var(--space-xs) var(--space-md);background:var(--bg-glass-strong);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--border);border-radius:var(--radius-sm);pointer-events:none;transition:opacity var(--transition-fast)}.tooltip.hidden{opacity:0}.tooltip-name{display:block;font-size:var(--font-size-sm);font-weight:500;color:var(--text-primary)}.tooltip-location{display:block;font-size:var(--font-size-xs);color:var(--text-muted)}.hidden{display:none!important}.mobile-tabbar,.mobile-now-playing,.mobile-sheet,.mobile-sheet-backdrop,.mobile-topbar{display:none}@media(max-width:1024px){.mobile-topbar{display:flex;align-items:center;justify-content:center;gap:8px;position:fixed;top:0;left:0;right:0;height:48px;background:#0a0a14d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(244,197,66,.1);z-index:1100;padding-top:env(safe-area-inset-top,0)}.topbar-icon{font-size:18px}.topbar-title{font-family:var(--font);font-size:.9rem;font-weight:600;color:var(--text-primary);letter-spacing:.02em}.side-panel,.player{display:none!important}#crosshair{top:50%}.crosshair-ring,.crosshair-pulse{width:60px;height:60px}.mobile-now-playing{display:flex;align-items:center;gap:10px;position:fixed;bottom:56px;left:0;right:0;padding:10px 16px;background:#0a0a14eb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid rgba(244,197,66,.15);z-index:1050;animation:slide-up-fade .3s ease}.mobile-now-playing.hidden{display:none!important}.mnp-flag{font-size:24px;flex-shrink:0}.mnp-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.mnp-name{font-size:.85rem;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mnp-location{font-size:.75rem;font-weight:600;color:var(--accent);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mnp-live{display:flex;align-items:center;gap:4px;font-size:.6rem;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0}.mobile-tabbar{display:flex;align-items:flex-end;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;height:56px;background:#0a0a14f2;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:1px solid rgba(255,255,255,.06);z-index:1100;padding-bottom:env(safe-area-inset-bottom,0)}.tab-btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 0;background:none;border:none;cursor:pointer;color:#fff6;transition:color .2s ease,transform .15s ease;-webkit-tap-highlight-color:transparent;height:56px}.tab-btn:active{transform:scale(.88)}.tab-btn.active{color:var(--accent)}.tab-btn.active .tab-icon{animation:icon-bounce .35s cubic-bezier(.34,1.56,.64,1)}.tab-icon{width:22px;height:22px}.tab-label{font-size:.6rem;font-family:var(--font);font-weight:500;letter-spacing:.02em}.tab-btn-play{position:relative;top:-14px;width:56px;height:56px;max-width:56px;flex:0 0 56px;border-radius:50%;background:var(--accent);color:var(--bg-primary);box-shadow:0 4px 20px var(--accent-glow),0 0 40px #f4c54226;padding:0;display:flex;align-items:center;justify-content:center;transition:transform .15s ease,box-shadow .15s ease}.tab-btn-play:active{transform:scale(.92)}.tab-btn-play .tab-icon-play{width:22px;height:22px;margin-left:2px}.tab-btn-play.playing{background:var(--accent);animation:play-pulse 2s ease-in-out infinite}.tab-btn-play.playing .tab-icon-play{margin-left:0}.mobile-sheet-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1200;opacity:0;transition:opacity .3s ease}.mobile-sheet-backdrop.visible{display:block;opacity:1}.mobile-sheet{display:none;position:fixed;bottom:56px;left:0;right:0;max-height:70vh;background:#0f0f1ef7;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-radius:20px 20px 0 0;border-top:1px solid rgba(244,197,66,.12);z-index:1300;transform:translateY(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);overflow:hidden;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-sheet.visible{display:block;transform:translateY(0);animation:sheet-spring .4s cubic-bezier(.34,1.56,.64,1)}.sheet-handle{width:36px;height:4px;border-radius:2px;background:#fff3;margin:10px auto 6px}.sheet-header{padding:4px 20px 12px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:10px}.sheet-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.sheet-body{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(70vh - 80px);padding:8px 0}.mobile-search-input{width:100%;padding:10px 16px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:var(--text-primary);font-family:var(--font);font-size:.9rem;outline:none;transition:border-color .2s ease}.mobile-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #f4c5421a}.mobile-search-input::placeholder{color:var(--text-muted)}.sheet-station-card{display:flex;align-items:center;gap:12px;padding:12px 20px;cursor:pointer;transition:background .15s ease;-webkit-tap-highlight-color:transparent;min-height:48px}.sheet-station-card:active{background:#f4c54214;transform:scale(.98)}.sheet-station-flag{font-size:24px;flex-shrink:0;width:32px;text-align:center}.sheet-station-info{flex:1;min-width:0}.sheet-station-name{font-size:.85rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sheet-station-location{font-size:.7rem;color:var(--text-muted)}.sheet-station-card.active .sheet-station-name{color:var(--accent)}.sheet-station-card.active{background:#f4c5420a;border-left:3px solid var(--accent)}.sheet-settings-body{padding:8px 0}.settings-item{display:flex;align-items:center;gap:14px;padding:14px 20px;color:var(--text-secondary);text-decoration:none;font-family:var(--font);font-size:.9rem;background:none;border:none;width:100%;cursor:pointer;transition:background .15s ease;-webkit-tap-highlight-color:transparent}.settings-item:active{background:#ffffff0a}.settings-item svg{width:20px;height:20px;flex-shrink:0;color:var(--text-muted)}.settings-brand{margin-top:20px;padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);display:flex;justify-content:space-between;align-items:center}.settings-brand a{color:var(--accent);text-decoration:none;font-size:.75rem;font-weight:600}.settings-version{font-size:.65rem;color:var(--text-muted)}.sheet-empty{padding:40px 20px;text-align:center;color:var(--text-muted);font-size:.85rem;line-height:1.6}.sheet-empty-icon{font-size:2rem;margin-bottom:8px;opacity:.5}@keyframes slide-up-fade{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes icon-bounce{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes play-pulse{0%,to{box-shadow:0 4px 20px var(--accent-glow),0 0 40px #f4c54226}50%{box-shadow:0 4px 30px var(--accent-glow),0 0 60px #f4c5424d}}@keyframes sheet-spring{0%{transform:translateY(30%);opacity:.5}60%{transform:translateY(-2%)}to{transform:translateY(0);opacity:1}}@keyframes card-fade-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.sheet-station-card{animation:card-fade-in .25s ease both}.sheet-station-card:nth-child(1){animation-delay:0s}.sheet-station-card:nth-child(2){animation-delay:.03s}.sheet-station-card:nth-child(3){animation-delay:.06s}.sheet-station-card:nth-child(4){animation-delay:.09s}.sheet-station-card:nth-child(5){animation-delay:.12s}.sheet-station-card:nth-child(6){animation-delay:.15s}.sheet-station-card:nth-child(7){animation-delay:.18s}.sheet-station-card:nth-child(8){animation-delay:.21s}}@media(max-width:480px){.logo-text{font-size:var(--font-size-md)}.modal-content{padding:var(--space-lg)}.player-fav-btn{width:36px;height:36px}.player-fav-btn .fav-heart{font-size:16px}.player-btn{width:38px;height:38px;font-size:16px}.player-station-name{font-size:var(--font-size-sm)}}@media(max-width:375px){.side-panel-header{padding:var(--space-sm) var(--space-md)}.logo-text{font-size:var(--font-size-sm)}.station-card{padding:var(--space-xs) var(--space-sm);gap:var(--space-sm)}.station-card-flag-left{width:30px;height:30px;font-size:18px}.station-card-name{font-size:var(--font-size-xs)}.player-inner{padding:0 var(--space-sm);gap:var(--space-sm)}.player-fav-btn{width:32px;height:32px}.player-fav-btn .fav-heart{font-size:14px}.player-btn{width:34px;height:34px;font-size:14px}.suggest-btn{margin:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.side-panel-footer{gap:var(--space-sm)}}.loading-spinner{display:inline-block;width:20px;height:20px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.player.buffering .player-btn-icon{animation:spin 1s linear infinite}@keyframes heart-pop{0%{transform:scale(1)}30%{transform:scale(1.4)}60%{transform:scale(.9)}to{transform:scale(1)}}.player-fav-btn{background:transparent;border:2px solid var(--accent);cursor:pointer;padding:0;border-radius:50%;transition:all var(--transition-base);flex-shrink:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;box-shadow:0 0 8px var(--accent-glow)}.player-fav-btn .fav-heart{font-size:20px;color:var(--accent);transition:color var(--transition-fast),transform var(--transition-fast);line-height:1}.player-fav-btn:hover{background:#f4c5421f;box-shadow:0 0 18px var(--accent-glow-strong);transform:scale(1.1)}.player-fav-btn:hover .fav-heart{transform:scale(1.15)}.player-fav-btn:active{transform:scale(.95)}.player-fav-btn.favorited{background:var(--accent);border-color:var(--accent);box-shadow:0 0 16px var(--accent-glow-strong)}.player-fav-btn.favorited .fav-heart{color:var(--bg-primary);animation:heart-pop .4s ease}.player-fav-btn.favorited:hover{background:var(--accent-light);border-color:var(--accent-light);box-shadow:0 0 24px var(--accent-glow-strong)}
