*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#000}#root,html,body{width:100%;height:100%}#root{background:#000}*{box-sizing:border-box}.tuner{width:100vw;height:100vh;display:flex;flex-direction:column;justify-content:flex-end;background:#000;color:#fff;padding:24px 24px 60px;gap:4px;position:relative;overflow:hidden}.hero-artwork{position:absolute;top:0;left:0;width:100vw;height:100vh;z-index:0;background-color:#0a0a0a}.hero-image{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s ease,transform .6s ease}.hero-image-prev{opacity:1;transform:scale(1);z-index:0}.hero-image-prev.transitioning.right{opacity:0;transform:scale(.98)}.hero-image-prev.transitioning.left{opacity:0;transform:scale(1.02)}.hero-image-current{opacity:1;transform:scale(1);z-index:1}.hero-image-current:not(.transitioning){opacity:1;transform:scale(1)}.hero-image-current.transitioning.right{animation:zoomOut .6s ease forwards}.hero-image-current.transitioning.left{animation:zoomIn .6s ease forwards}@keyframes zoomOut{0%{opacity:0;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.hero-kexp-logo{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#231f20;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-kexp-blur{position:absolute;width:600px;height:auto;opacity:.15;filter:blur(30px)}.hero-kexp-main{position:relative;width:200px;height:auto;z-index:1}.hero-nts-logo{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-nts-logo:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.2) 100%);pointer-events:none}.hero-nts-blur{position:absolute;width:400px;height:auto;opacity:.2;filter:blur(40px);-webkit-user-select:none;user-select:none}.hero-nts-main{position:relative;width:200px;height:auto;z-index:1;filter:drop-shadow(0 4px 30px rgba(0,0,0,.3));-webkit-user-select:none;user-select:none}.hero-nts-prev{z-index:0;opacity:1;transform:scale(1);transition:opacity .6s ease,transform .6s ease}.hero-nts-current{z-index:1;opacity:1;transform:scale(1);transition:opacity .6s ease,transform .6s ease}.hero-nts-prev.transitioning.right{opacity:0;transform:scale(.98)}.hero-nts-prev.transitioning.left{opacity:0;transform:scale(1.02)}.hero-nts-current.transitioning.right{animation:zoomOut .6s ease forwards}.hero-nts-current.transitioning.left{animation:zoomIn .6s ease forwards}.hero-artwork:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:70vh;background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.5) 30%,rgba(0,0,0,.2) 60%,transparent 100%);pointer-events:none;z-index:2}.station-controls-group{display:flex;flex-direction:column;gap:16px;margin-bottom:0}.station-count{display:inline-flex;align-items:center;gap:10px;padding-left:27px;margin-bottom:4px;font-size:18px;color:#fff9;position:relative;z-index:1;opacity:0;transition:opacity .6s ease,color .2s ease;cursor:pointer}.station-count.visible{opacity:1}.station-count:hover{color:#ffffffe6}.station-count .menu-icon{font-size:20px;opacity:.6;transition:opacity .2s ease}.station-count:hover .menu-icon{opacity:1}.sort-dropdown-container{display:flex;justify-content:center;position:relative;z-index:1;opacity:0;transition:opacity .6s ease;margin-top:12px;margin-left:-3px}.sort-dropdown-container.visible{opacity:1}.sort-dropdown{position:relative;display:inline-flex;align-items:center;height:28px;padding:0 8px 0 12px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:14px;border:1px solid rgba(255,255,255,.2);transition:all .15s ease}.sort-dropdown:hover{background:#ffffff40;border-color:#ffffff4d}.sort-dropdown select{appearance:none;-webkit-appearance:none;background:transparent;border:none;color:#ffffffe6;font-size:12px;font-weight:500;padding-right:18px;cursor:pointer;outline:none}.sort-dropdown select:hover{color:#fff}.sort-dropdown select option{background:#1a1a1a;color:#fff;padding:8px}.sort-dropdown .sort-icon{position:absolute;right:6px;font-size:14px;color:#ffffff80;pointer-events:none;transition:color .15s ease}.sort-dropdown:hover .sort-icon{color:#ffffffe6}.carousel{display:flex;gap:0;justify-content:flex-start;align-items:center;padding:0 24px;margin-bottom:0;margin-top:0;overflow-x:auto;overflow-y:visible;position:relative;z-index:1;scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;user-select:none;opacity:0;transition:opacity .6s ease;-webkit-mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);mask-image:linear-gradient(to right,transparent,black 80px,black calc(100% - 80px),transparent);height:150px}.carousel.visible{opacity:1}.carousel::-webkit-scrollbar{display:none}.carousel-item-container{display:flex;flex-direction:column;align-items:center;flex-shrink:0}.station-error-message{position:fixed;top:63%;left:50%;transform:translate(-50%,-50%) scale(.9);background:#3c3c3cb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:8px;padding:14px 24px;text-align:center;cursor:pointer;animation:errorModalIn .35s ease forwards;opacity:0;white-space:nowrap;z-index:1000;font-size:14px;color:#ffffffe6}.station-error-message p{font-size:12px;line-height:1.4;color:#ffffffe6;margin:0}.station-error-message p:first-child{margin-bottom:6px}.station-error-message p strong{font-weight:600}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes errorModalIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.carousel-item{width:100px;border:none;border-radius:4px;overflow:visible;cursor:pointer;flex-shrink:0;transition:transform .25s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;align-items:center;background:transparent;transform:scale(.8);transform-origin:center center}.carousel-item:hover{transform:scale(.85)}.carousel-item.selected{transform:scale(1)}.carousel-item-image-wrapper{position:relative;width:100px;height:100px;overflow:visible}.carousel-item.selected .carousel-item-image-wrapper:before{content:"";position:absolute;inset:-2px;border-radius:5px;padding:2px;background:conic-gradient(from 90deg,#600072,red 40deg,#ffc000 131deg,#97f813 192deg,#02a0fb 256deg,#0aabf0 287deg,#0a00b2 338deg,#600072 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:0;pointer-events:none}.carousel-item.selected .carousel-item-image-wrapper:after{content:"";position:absolute;inset:-8px;border-radius:10px;background:conic-gradient(from 90deg,#600072,red 40deg,#ffc000 131deg,#97f813 192deg,#02a0fb 256deg,#0aabf0 287deg,#0a00b2 338deg,#600072 360deg);filter:blur(3px);opacity:.5;z-index:-1;pointer-events:none}.carousel-item img:not(.nts-logo-img):not(.nts-logo-blur):not(.kexp-logo-container img){width:100%;height:100%;object-fit:cover;border-radius:4px;background:linear-gradient(135deg,#2c2c2c,#1a1a1a)}.carousel-item .kexp-logo-container img{width:50%;height:auto;object-fit:contain;border-radius:0}.kexp-logo-container img{border:none!important}.source-badge{position:absolute;bottom:2px;right:2px;font-size:8px;font-weight:700;padding:2px 4px;border-radius:3px;text-transform:uppercase;letter-spacing:.02em}.source-kexp{background:#c8102ee6;color:#fff}.source-somafm{background:#ff6600e6;color:#fff}.source-rp{background:#663399e6;color:#fff}.kexp-logo-container{width:100%;height:100%;background-color:#231f20;border-radius:4px;display:flex;align-items:center;justify-content:center;outline:none}.kexp-logo-container img{width:50%;height:auto;outline:none;border:none!important}.small-logo-container{width:100%;height:100%;border-radius:4px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#2c2c2c,#1a1a1a);outline:none}.small-logo-container img{max-width:60%;max-height:60%;width:auto;height:auto;object-fit:contain;border-radius:0;background:transparent!important}.nts-logo-container{width:100%;height:100%;border-radius:4px;display:flex;align-items:center;justify-content:center;outline:none;position:relative;overflow:hidden}.nts-logo-container:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 50%,rgba(0,0,0,.15) 100%);pointer-events:none}.nts-logo-blur{position:absolute;width:55%;height:auto;opacity:.25;filter:blur(3px);-webkit-user-select:none;user-select:none;transform:rotate(-15deg)}.nts-logo-img{position:relative;width:45%;height:auto;filter:drop-shadow(0 1px 4px rgba(0,0,0,.3));-webkit-user-select:none;user-select:none}.nts-logo-container img{outline:none!important;border:none!important}.generated-artwork{width:100%;height:100%;object-fit:cover;border-radius:4px}.generated-artwork-loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.6}50%{opacity:.8}}.hero-image.generated-artwork{position:absolute;top:0;left:0;border-radius:0}.fallback-thumbnail{width:100%;height:100%;border-radius:4px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.fallback-initials{font-size:clamp(24px,5vw,36px);font-weight:700;color:#ffffffe6;text-transform:uppercase;letter-spacing:.05em;-webkit-user-select:none;user-select:none;text-shadow:0 2px 8px rgba(0,0,0,.3);z-index:1;max-width:90%;text-align:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.fallback-full-name{padding:8px}.fallback-name-text{font-size:clamp(9px,1.8vw,13px);font-weight:600;color:#fffffff2;text-align:center;line-height:1.3;-webkit-user-select:none;user-select:none;text-shadow:0 1px 4px rgba(0,0,0,.3);z-index:1;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;max-width:100%;display:block}.fallback-thumbnail.fallback-gradient{background:linear-gradient(135deg,var(--fallback-color-1, #d946ef) 0%,var(--fallback-color-2, #a21caf) 100%)!important}.fallback-thumbnail.fallback-gradient:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.2) 100%);pointer-events:none;border-radius:4px}.hero-fallback{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.hero-fallback:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%,rgba(0,0,0,.2) 100%);pointer-events:none}.hero-fallback-initials{font-size:clamp(60px,15vw,180px);font-weight:700;color:#fffffff2;text-transform:uppercase;letter-spacing:.1em;-webkit-user-select:none;user-select:none;text-shadow:0 4px 30px rgba(0,0,0,.4);z-index:1;max-width:90%;text-align:center;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.hero-fallback-name{font-size:clamp(40px,8vw,100px);font-weight:600;color:#fffffff2;text-transform:none;letter-spacing:.02em;-webkit-user-select:none;user-select:none;text-shadow:0 4px 30px rgba(0,0,0,.4);z-index:1;text-align:center;padding:0 40px;line-height:1.2;max-width:90%;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.hero-fallback-gradient{background:linear-gradient(135deg,var(--fallback-color-1, #d946ef) 0%,var(--fallback-color-2, #a21caf) 100%)!important}.hero-fallback-gradient:before{background:linear-gradient(135deg,rgba(255,255,255,.15) 0%,transparent 40%,rgba(0,0,0,.3) 100%)}.hero-fallback-pattern:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:repeating-linear-gradient(45deg,transparent,transparent 35px,rgba(255,255,255,.03) 35px,rgba(255,255,255,.03) 70px);pointer-events:none;z-index:0}.carousel-item-title{font-size:11px;color:#ffffffb3;text-align:center;width:100px;margin-top:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .25s cubic-bezier(.4,0,.2,1)}.carousel-item.selected .carousel-item-title{color:#fff}.carousel-number{font-size:14px;font-weight:600;color:#fffc}.controls{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;padding:0;margin-top:0;position:relative;z-index:1;opacity:0;transition:opacity .6s ease}.controls.visible{opacity:1}.track-info{display:flex;flex-direction:column;gap:4px;text-align:left;padding-left:24px;cursor:pointer;min-width:0;overflow:hidden}.track-info:hover .playlist-name{color:#ffffffe6}.playlist-name{font-size:14px;font-weight:500;color:#fff9;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:4px}.menu-icon{font-size:18px;opacity:.6;transition:opacity .2s ease}.track-info:hover .menu-icon{opacity:1}.station-picker-overlay{position:fixed;inset:0;background:#00000080;z-index:100;display:flex;align-items:flex-start;justify-content:flex-start;padding:24px}.station-picker{background:#141414f2;border-radius:12px;max-height:calc(100vh - 48px);width:500px;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);display:flex;flex-direction:column;overflow:hidden}.station-picker-header{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.station-picker-search{display:flex;align-items:center;gap:10px;flex:1;background:#ffffff1a;border-radius:8px;padding:10px 14px}.station-picker-search svg{width:18px;height:18px;color:#ffffff80;flex-shrink:0}.station-picker-search input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:14px}.station-picker-search input::placeholder{color:#fff6}.station-picker-filters{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid rgba(255,255,255,.1)}.filter-chip{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:16px;color:#ffffffb3;font-size:12px;font-weight:500;padding:6px 14px;cursor:pointer;transition:all .15s ease}.filter-chip:hover{background:#ffffff26;color:#fff}.filter-chip.active{background:#fff3;border-color:#ffffff4d;color:#fff}.filter-chip.filter-somafm.active{background:#ff66004d;border-color:#ff660080;color:#f94}.filter-chip.filter-rp.active{background:#6633994d;border-color:#66339980;color:#a066c8}.station-picker-list{flex:1;overflow-y:auto}.station-picker-empty{padding:40px 20px;text-align:center;color:#ffffff80;font-size:14px}.station-picker-close{width:32px;height:32px;border:none;background:#ffffff1a;border-radius:50%;color:#fff9;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;flex-shrink:0}.station-picker-close:hover{background:#fff3;color:#fff}.station-picker-close svg{width:18px;height:18px}.station-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 20px;cursor:pointer;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s ease}.station-item:last-child{border-bottom:none}.station-item:hover{background:#ffffff1a}.station-item.selected{background:#ffffff26}.station-item-left{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.station-item-header{display:flex;align-items:center;gap:8px}.station-item-name{font-size:16px;font-weight:600;color:#fff}.station-item-source{font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.02em}.station-item-source.source-kexp{background:#c8102e33;color:#dc5064}.station-item-source.source-somafm{background:#f603;color:#ff8c3c}.station-item-source.source-rp{background:#6393;color:#a064c8}.station-item-meta{font-size:13px;color:#ffffff80;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.station-item-genre{font-size:12px;color:#fff6;text-transform:uppercase;letter-spacing:.05em}.station-item-right{display:flex;flex-direction:column;align-items:flex-end;gap:2px;margin-left:16px;flex-shrink:0}.station-item-listeners-label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.05em}.station-item-listeners{font-size:14px;font-weight:500;color:#ffffffb3}.search-highlight{background:#ffc80066;color:#fff;border-radius:2px;padding:0 2px}.instructions-inline{display:flex;align-items:center;justify-content:center;gap:12px;background:#00000080;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:24px;padding:10px 12px 10px 20px;white-space:nowrap;position:relative;z-index:1;margin:0 auto;width:fit-content;opacity:0;transition:opacity .6s ease}.instructions-inline.visible{opacity:1}.instructions-inline span{font-size:14px;color:#fffc}.instructions-close{width:24px;height:24px;border:none;background:#ffffff1a;border-radius:50%;color:#ffffff80;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;flex-shrink:0;transition:all .15s ease}.instructions-close:hover{background:#fff3;color:#fff}.instructions-close svg{width:14px;height:14px}.song-name{font-size:28px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity .15s ease,transform .15s ease}.song-name.transitioning{opacity:0;transform:translateY(4px)}.artist{font-size:18px;color:#ffffffb3;transition:opacity .15s ease,transform .15s ease}.artist.transitioning,.playlist-name.transitioning{opacity:0;transform:translateY(4px)}.playlist-name{transition:opacity .15s ease,transform .15s ease}.transport-controls{display:flex;align-items:center;justify-content:center;gap:32px;transform:scale(.9);transform-origin:center center}.control-btn{width:40px;height:40px;border:none;outline:none;border-radius:50%;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:8px;transition:all .15s ease}.control-btn:hover,.control-btn:focus{background:#ffffff1a;outline:none}.control-btn svg{width:100%;height:100%}.control-btn.play-btn{position:relative;width:56px;height:56px;background:#0000004d;z-index:1;isolation:isolate;box-shadow:0 0 0 25px #00000080}.control-btn.play-btn:before{content:"";position:absolute;inset:-4px;border-radius:50%;padding:4px;background:conic-gradient(from 90deg,#600072,red 40deg,#ffc000 131deg,#97f813 192deg,#02a0fb 256deg,#0aabf0 287deg,#0a00b2 338deg,#600072 360deg);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-1;pointer-events:none}.control-btn.chevron-btn{width:40px;height:40px;background:#ffffff14;color:#fff6;padding:0;opacity:0;transform:scale(.7);transition:opacity .25s ease,transform .25s ease,color .2s ease,background .2s ease}.play-section:hover .control-btn.chevron-btn{opacity:1;transform:scale(1.05);background:#ffffff26;color:#ffffffb3}.control-btn.chevron-btn:hover{color:#fff;background:#ffffff40}.control-btn.chevron-btn .material-symbols-outlined{font-size:32px}.play-section{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:40px;padding-right:24px;transform:translateY(48px)}.listeners-count{color:#ffffff80;font-size:12px;white-space:nowrap;text-align:center;line-height:1;position:relative;top:-10px}.app-header{position:absolute;top:24px;left:24px;z-index:10;opacity:0;transform:translate(-30px);transition:opacity .5s ease,transform .5s cubic-bezier(.25,.46,.45,.94)}.app-header.visible{opacity:1;transform:translate(0)}.header-logo{height:32px;width:auto}.share-button-container{position:fixed;top:24px;right:24px;z-index:9999;opacity:1;transform:translate(0);transition:opacity .5s ease,transform .5s cubic-bezier(.25,.46,.45,.94)}.share-button-container.visible{opacity:1;transform:translate(0)}.share-pill-button{display:inline-flex;align-items:center;gap:8px;height:36px;background:#0009;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:18px;color:#fffffff2;font-size:14px;font-weight:500;padding:0 16px;cursor:pointer;transition:all .15s ease}.share-pill-button:hover:not(:disabled){background:#000c;border-color:#ffffff4d;color:#fff}.share-pill-button:active:not(:disabled){transform:scale(.97)}.share-pill-button:disabled{opacity:.5;cursor:not-allowed}.share-pill-button .material-symbols-outlined{font-size:16px;line-height:1}.share-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:300px;background:#000000eb;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:16px;box-shadow:0 20px 60px #00000080;animation:dropdownIn .2s ease forwards}@keyframes dropdownIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.share-dropdown-header{padding:0 0 12px;font-size:13px;font-weight:600;color:#ffffffb3;text-align:center}.share-dropdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.share-dropdown-item{display:flex;align-items:center;justify-content:center;padding:12px 16px;background:#ffffff14;border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:500;font-family:inherit;text-align:center;cursor:pointer;transition:background .2s ease,transform .1s ease}.share-dropdown-item:hover{background:#ffffff26;transform:translateY(-1px)}.share-option-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0}.share-option-icon svg{color:#fff}.share-option-name{flex:1;text-align:left}.share-dropdown-divider{height:1px;background:#ffffff1a;margin:8px 0}.share-copied-toast{position:fixed;top:80px;right:24px;z-index:1002;background:#000000e6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#fff;padding:12px 20px;border-radius:8px;font-size:14px;font-weight:500;animation:slideInFadeOut 2s ease forwards;pointer-events:none}@keyframes slideInFadeOut{0%{opacity:0;transform:translateY(-10px)}10%{opacity:1;transform:translateY(0)}90%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}@media(max-width:768px){.share-button-container{top:20px;right:20px}.share-pill-button{height:40px;padding:0 18px 0 14px}.share-pill-button .material-symbols-outlined{font-size:20px}.share-label{font-size:14px}.share-copied-toast{top:75px;right:20px}}@media(max-width:480px){.share-button-container{top:16px;right:16px}.share-pill-button{height:44px;padding:0 20px 0 16px;border-radius:22px}.share-dropdown{right:-8px;min-width:200px}.share-copied-toast{top:70px;right:16px;font-size:13px;padding:10px 16px}}@supports not (backdrop-filter: blur(10px)){.share-dropdown{background:#000000f2}}.splash-screen{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000}.splash-blur-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0a0a0a;background-size:cover;background-position:center;background-color:#000;filter:blur(30px);transform:scale(1.05);transition:filter .8s ease,transform .8s ease}.splash-screen.fading .splash-blur-bg,.splash-screen.hidden .splash-blur-bg{filter:blur(0);transform:scale(1)}.splash-overlay{position:absolute;inset:0;background:#000000b3;transition:opacity .8s ease}.splash-screen.fading .splash-overlay,.splash-screen.hidden .splash-overlay{opacity:0}.splash-logo{position:relative;z-index:1;height:80px;width:auto;opacity:1;transform:scale(1) translateY(-5px);transition:opacity .6s ease,transform .6s ease}.splash-screen.fading .splash-logo,.splash-screen.hidden .splash-logo{opacity:0;transform:scale(.95)}.error-banner{display:flex;align-items:center;justify-content:center;gap:12px;background:#dc3545e6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;padding:12px 20px;position:relative;z-index:1;margin:0 auto;width:fit-content;opacity:0;transition:opacity .3s ease}.error-banner.visible{opacity:1}.error-banner span{font-size:14px;color:#fff;font-weight:500}.error-banner button{background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:4px;color:#fff;font-size:13px;font-weight:500;padding:6px 12px;cursor:pointer;transition:background .15s ease}.error-banner button:hover{background:#ffffff4d}.favorite-btn{position:absolute;bottom:2px;left:3px;border:none;outline:none;background:none;cursor:pointer;padding:0;opacity:0;transition:opacity .15s ease;z-index:5;line-height:1}.favorite-btn:focus{outline:none}.carousel-item-image-wrapper:hover .favorite-btn,.carousel-item.selected .favorite-btn{opacity:1}.favorite-btn .material-symbols-outlined{font-size:21px;color:#fff9;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;text-shadow:0 2px 6px rgba(0,0,0,.5)}.favorite-btn:hover .material-symbols-outlined{color:#ffffffd9}.favorite-btn.is-favorite{opacity:1}.favorite-btn.is-favorite .material-symbols-outlined{color:#fff;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.station-item-favorite{border:none;outline:none;background:none;cursor:pointer;padding:4px;margin-top:4px;line-height:1;transition:opacity .15s ease}.station-item-favorite:focus{outline:none}.station-item-favorite .material-symbols-outlined{font-size:18px;color:#ffffff4d;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;transition:color .15s ease}.station-item-favorite:hover .material-symbols-outlined{color:#fff9}.station-item-favorite.is-favorite .material-symbols-outlined{color:#fff;font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.genre-filter-row{position:relative;z-index:100;padding:0 24px;margin-bottom:8px;display:flex;align-items:center;gap:8px}.genre-filter-container{position:relative;display:flex;align-items:center;gap:8px}.genre-filter-chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.genre-chip-removable{display:inline-flex;align-items:center;gap:6px;height:28px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#ffffffe6;font-size:12px;font-weight:500;padding:0 8px 0 12px;cursor:pointer;transition:all .15s ease}.genre-chip-removable:hover{background:#ffffff40;border-color:#ffffff4d}.genre-chip-label{white-space:nowrap}.genre-chip-remove{font-size:14px;color:#ffffff80;transition:color .15s ease}.genre-chip-removable:hover .genre-chip-remove{color:#ffffffe6}.genre-add-trigger{display:flex;align-items:center;justify-content:center;height:28px;padding:0 10px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#ffffffe6;cursor:pointer;transition:all .15s ease}.genre-add-trigger:hover,.genre-add-trigger.active{background:#ffffff40;border-color:#ffffff4d;color:#fff}.genre-add-trigger .material-symbols-outlined{font-size:16px}.genre-reset-btn{display:flex;align-items:center;justify-content:center;height:28px;padding:0 12px;background:#ffffff26;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:14px;color:#ffffffe6;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.genre-reset-btn:hover{background:#ffffff40;border-color:#ffffff4d;color:#fff}.genre-dropdown{position:absolute;top:100%;left:0;margin-top:8px;background:#000000e6;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 0;min-width:180px;z-index:200;box-shadow:0 8px 32px #0006}.genre-dropdown-header{padding:8px 16px;font-size:11px;font-weight:600;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px}.genre-dropdown-item{display:block;width:100%;padding:10px 16px;background:transparent;border:none;color:#ffffffe6;font-size:14px;text-align:left;cursor:pointer;transition:background .15s ease}.genre-dropdown-item:hover{background:#ffffff1a}@media(max-width:768px){.genre-filter-row{padding:0 12px}.genre-filter-chips{max-width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px;-webkit-overflow-scrolling:touch}.genre-dropdown{position:fixed;left:10px;right:10px;width:auto}}.welcome-overlay{position:fixed;inset:0;z-index:100;background:transparent;pointer-events:none}.welcome-banner{position:absolute;left:24px;top:5%;width:50%;max-width:600px;cursor:pointer;background:#000000bf;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:16px;padding:32px 40px;color:#fff;pointer-events:auto;opacity:0;transform:translateY(10px);animation:bannerIn .4s ease forwards;animation-delay:.3s}@keyframes bannerIn{to{opacity:1;transform:translateY(0)}}.welcome-banner .welcome-close{position:absolute;top:16px;right:16px;width:28px;height:28px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;transition:color .15s ease,background .15s ease}.welcome-banner .welcome-close:hover{color:#fff;background:#ffffff1a}.welcome-banner .welcome-close svg{width:18px;height:18px}.welcome-banner .welcome-header{display:flex;align-items:center;margin-bottom:20px}.welcome-banner .welcome-logo-img{height:32px;width:auto}.welcome-banner .welcome-content h1{font-size:24px;font-weight:600;margin:0 0 16px;color:#fff}.welcome-banner .welcome-tagline{font-size:15px;line-height:1.6;margin:0 0 12px;color:#ffffffd9}.welcome-banner .welcome-description{font-size:15px;line-height:1.6;margin:0 0 20px;color:#ffffffd9}.welcome-banner .welcome-controls{border-top:1px solid rgba(255,255,255,.15);padding-top:16px}.welcome-banner .welcome-controls p{margin:0 0 6px;font-size:13px;color:#ffffffe6}.welcome-banner .welcome-controls strong{font-weight:600;color:#fff}.welcome-banner .welcome-hint{display:flex;justify-content:space-between;align-items:center;color:#fff9!important;font-size:12px!important}.welcome-banner .welcome-dont-show{padding:0;background:none;border:none;color:#fff6;font-size:12px;cursor:pointer;transition:color .15s ease}.welcome-banner .welcome-dont-show:hover{color:#ffffffb3}.welcome-chevron-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:color .15s ease,transform .2s ease}.welcome-chevron-btn:hover{color:#fff;transform:translateY(2px)}.welcome-chevron-btn svg{width:24px;height:24px}.donation-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000000eb;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-radius:20px;padding:32px;width:90%;max-width:500px;box-shadow:0 20px 60px #00000080;animation:panelIn .3s ease forwards}@keyframes panelIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.donation-panel h3{font-size:20px;font-weight:600;margin:0 0 8px;color:#fff;line-height:1.3;text-align:center}.donation-subtitle{font-size:14px;color:#ffffffb3;text-align:center;margin:0 0 24px}.donation-panel-close{position:absolute;top:16px;right:16px;width:28px;height:28px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;border-radius:50%;transition:color .15s ease,background .15s ease}.donation-panel-close:hover{color:#fff;background:#ffffff1a}.donation-panel-close svg{width:18px;height:18px}.donation-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:24px}.donation-grid a,.donation-grid button{padding:12px 20px;background:#ffffff14;color:#fff;text-decoration:none;border:none;border-radius:10px;text-align:center;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s ease,transform .1s ease}.donation-grid a:hover,.donation-grid button:hover{background:#ffffff26;transform:translateY(-1px)}.donation-actions{display:flex;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.donation-close-btn,.donation-dont-show-btn{flex:1;padding:12px 20px;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.donation-close-btn{background:#ffffff1a;color:#fff}.donation-close-btn:hover{background:#fff3}.donation-dont-show-btn{background:#fff;color:#000}.donation-dont-show-btn:hover{background:#ffffffe6}.welcome-sources{position:fixed;bottom:48px;left:50%;transform:translate(-50%);display:flex;flex-wrap:nowrap;white-space:nowrap;gap:8px;align-items:center;z-index:10;opacity:0;transition:opacity .6s ease}.welcome-sources.visible{opacity:1}.welcome-sources-label{font-size:10px;color:#ffffff59;margin-right:4px}.welcome-sources a{display:inline-block;padding:4px 10px;font-size:12px;color:#ffffff80;background:#ffffff14;border-radius:12px;text-decoration:none;transition:color .15s ease,background .15s ease}.welcome-sources a:hover{color:#ffffffd9;background:#ffffff26}.welcome-sources .copy-email-btn{display:inline-block;padding:4px 10px;font-size:12px;color:#ffffff80;background:#ffffff14;border:none;border-radius:12px;cursor:pointer;transition:color .15s ease,background .15s ease}.welcome-sources .copy-email-btn:hover{color:#ffffffd9;background:#ffffff26}
