*{box-sizing:border-box}html{min-width:320px;background:var(--bg);scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button{color:inherit;cursor:pointer}.app-shell{min-height:100vh;padding-bottom:110px}.sidebar{position:fixed;inset:0 auto 0 0;width:230px;padding:31px 23px 30px;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:3;background:var(--bg)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--text);margin:0 0 76px}.brand-name{font-size:18px;letter-spacing:-.8px;font-weight:700}.brand-name span{font-weight:400;color: var(--text-soft)}.eyebrow,.breadcrumb,.live-status,.source-label,.player-live,.results-meta,.frequency,kbd{font-family:var(--mono);font-size:10px;letter-spacing:1.2px}.sidebar-label{color: var(--muted);margin-bottom:19px}.nav-list{display:grid;gap:7px}.nav-link{display:flex;align-items:center;gap:12px;text-align:left;background:none;border:0;border-radius:7px;color: var(--text-soft);padding:12px 11px;font-size:13px;transition:background .18s,color .18s}.nav-link:hover,.nav-link.active{background: var(--surface-2);color: var(--accent-text)}.nav-icon{font-size:17px;width:17px;text-align:center}.sidebar-note{display:flex;align-items:center;gap:11px;margin-top:64px;color: var(--text);font-size:12px;line-height:1.5}.sidebar-note small{color:var(--muted);font-size:11px}.live-dot,.live-status i,.player-live i,.source-label i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lime);box-shadow: 0 0 11px color-mix(in srgb, var(--accent) 40%, transparent)}.sidebar-footer{margin-top:auto;font-family:var(--mono);font-size:10px;letter-spacing:1.1px;line-height:1.8;color: var(--muted)}.sidebar-footer span{color: var(--text)}.main-content{margin-left:230px;max-width:1540px;padding:0 56px 50px}.topbar{height:82px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.breadcrumb{color: var(--muted)}.breadcrumb b{padding:0 11px;color: var(--accent-ink)}.breadcrumb span:last-child{color: var(--text)}.top-actions{display:flex;align-items:center;gap:25px}.live-status{font-size:9px;color: var(--text-soft);display:flex;align-items:center;gap:8px}.live-status i{width:6px;height:6px}.login-button,.avatar-button{background:transparent;border: 1px solid var(--line-strong);border-radius:4px;padding:10px 14px;font-size:12px}.login-button span,.text-button span,.outline-button span{color: var(--accent-text);margin-left:10px}.login-button:hover,.outline-button:hover{border-color: var(--accent-border)}.avatar-button{width:35px;height:35px;padding:0;border-radius:50%;background:var(--lime);color: var(--accent-ink);border:0;font-weight:700}.hero-section{min-height:370px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;overflow:hidden}.hero-copy{padding:50px 0 58px;position:relative;z-index:1}.hero-copy .eyebrow{display:flex;align-items:center;gap:10px;color: var(--accent-text)}.eyebrow-rule{display:inline-block;width:24px;height:1px;background:var(--lime)}h1,h2,h3,p{margin-top:0}.hero-copy h1{font-family:var(--serif);font-size:clamp(42px,5vw,67px);font-weight:500;line-height:1.1;letter-spacing:-2.5px;margin:24px 0 17px}.hero-copy h1 em,.modal h2 em{font-weight:500;color: var(--accent-text)}.hero-description{font-size:14px;color: var(--text-soft);line-height:1.65;max-width:410px}.hero-art{width:340px;height:300px;position:absolute;right:15px;top:38px;display:grid;place-items:center;opacity:.87}.orbit{position:absolute;border: 1px solid var(--line-strong);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:215px;height:215px}.orbit-two{width:280px;height:280px;border-color: var(--line-strong)}.orbit-three{width:165px;height:165px;border-color: var(--line-strong);transform:rotate(47deg)}.hero-core{width:112px;height:112px;border: 1px solid var(--accent-line);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color: var(--accent-text);font:9px var(--mono);letter-spacing:2px;background: color-mix(in srgb, var(--surface) 65%, transparent)}.core-dot{width:10px;height:10px;background:var(--lime);border-radius:50%;box-shadow: 0 0 20px color-mix(in srgb, var(--accent) 60%, transparent)}.frequency{position:absolute;color: var(--muted);font-size:9px}.frequency-a{top:23px;right:63px}.frequency-b{bottom:30px;left:22px}.hero-wave{position:absolute;display:flex;align-items:center;gap:4px;right:8px;bottom:35px;height:36px}.hero-wave i,.player-wave i{display:block;width:2px;height:var(--h,13px);background: var(--accent-line);border-radius:2px}.hero-wave i:nth-child(3n),.player-wave i:nth-child(3n){--h:25px}.hero-wave i:nth-child(4n),.player-wave i:nth-child(4n){--h:9px}.discovery-section{padding-top:20px}.section-heading{display:flex;align-items:end;justify-content:space-between}.section-kicker{color: var(--muted);margin-bottom:10px}.section-heading h2{font-family:var(--serif);font-size:30px;font-weight:500;letter-spacing:-.5px;margin:0}.text-button{border:0;background:none;color: var(--text-soft);padding:8px 0;font-size:12px}.search-row{display:flex;gap:12px;margin-top:25px}.search-box{flex:1;max-width:610px;height:48px;background:var(--surface);border: 1px solid var(--line-strong);border-radius:5px;display:flex;align-items:center;gap:11px;padding:0 14px;color: var(--muted)}.search-box:focus-within{border-color: var(--accent-line)}.search-box>span{font-size:22px}.search-box input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font-size:13px}.search-box input::placeholder{color: var(--muted)}.search-box kbd{border: 1px solid var(--line-strong);border-radius:3px;padding:4px 5px;color: var(--muted);font-size:8px}.filter-select{height:48px;min-width:154px;padding:0 14px;color: var(--text-soft);background:var(--surface);border: 1px solid var(--line-strong);border-radius:5px;outline:0}.genre-row{display:flex;gap:8px;overflow:auto;padding:19px 0 21px}.genre-chip{white-space:nowrap;border: 1px solid var(--line-strong);background:transparent;color: var(--text-soft);padding:7px 13px;border-radius:30px;font-size:11px;transition:.18s}.genre-chip:hover,.genre-chip.selected{color: var(--accent-text);border-color: var(--line-strong);background: var(--surface-2)}.results-meta{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:0 0 26px;color: var(--muted);font-size:9px}.source-label{color: var(--accent-ink);font-size:8px;display:flex;align-items:center;gap:7px}.source-label i{width:5px;height:5px}.station-list{min-height:100px}.station-row{display:grid;grid-template-columns:minmax(210px,1.4fr) minmax(100px,.7fr) minmax(82px,.55fr) 36px 42px;align-items:center;gap:16px;padding:13px 6px;border-bottom: 1px solid var(--line-strong);transition:background .15s}.station-row:hover{background: var(--surface-2)}.station-info{display:flex;align-items:center;gap:14px;min-width:0}.station-logo{width:43px;height:43px;border-radius:5px;border: 1px solid var(--line-strong);background: linear-gradient(140deg,var(--surface-2),var(--surface-2));display:grid;place-items:center;overflow:hidden;flex:none;color: var(--accent-text);font:16px var(--serif)}.station-logo img{width:100%;height:100%;object-fit:cover}.station-info strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.station-info small,.station-detail small{display:block;margin-top:5px;color: var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-detail{font-size:11px;color: var(--text-soft)}.station-detail small{color: var(--muted)}.station-bitrate{font:10px var(--mono);color: var(--muted)}.station-rating{font:10px var(--mono);color: var(--text-soft)}.row-play,.icon-button{width:34px;height:34px;border: 1px solid var(--line-strong);background:transparent;border-radius:50%;display:grid;place-items:center;color: var(--text-soft);transition:.18s}.row-play:hover,.row-play.is-playing{background:var(--lime);border-color: var(--accent-border);color: var(--accent-ink)}.icon-button{border:0;font-size:18px;color: var(--muted)}.icon-button.is-favorite{color: var(--accent-text)}.loading-state,.empty-state{min-height:140px;display:flex;align-items:center;justify-content:center;gap:12px;color: var(--muted);font-size:12px}.loader{width:16px;height:16px;border: 1px solid var(--accent-line);border-top-color: var(--accent-border);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.load-more{display:block;margin:18px auto 0;background:transparent;border: 1px solid var(--line-strong);border-radius:4px;color: var(--text-soft);padding:11px 16px;font-size:11px}.load-more span{color: var(--accent-text);margin-left:10px}.contribute-banner{margin-top:45px;padding:26px 29px;border: 1px solid var(--line-strong);background: linear-gradient(105deg,var(--surface),var(--surface));display:flex;align-items:center;justify-content:space-between}.contribute-banner .eyebrow{color: var(--text-soft);margin-bottom:12px}.contribute-banner h3{font:500 23px var(--serif);margin:0 0 6px}.contribute-banner p:last-child{font-size:12px;color: var(--muted);margin:0}.outline-button{border: 1px solid var(--line-strong);background:transparent;padding:12px 15px;border-radius:4px;font-size:11px}.player-bar{position:fixed;z-index:5;inset:auto 0 0 0;height:86px;background: color-mix(in srgb, var(--surface) 96%, transparent);border-top: 1px solid var(--line-strong);backdrop-filter:blur(18px);display:grid;grid-template-columns:minmax(230px,1fr) minmax(220px,1.15fr) minmax(130px,.7fr);align-items:center;padding:0 31px;gap:25px}.now-playing{display:flex;align-items:center;gap:12px;min-width:0}.station-art{width:46px;height:46px;flex:none;background: var(--surface-2);border: 1px solid var(--line-strong);display:grid;place-items:center;color: var(--accent-text);font-size:20px}.station-art img{width:100%;height:100%;object-fit:cover}.player-track{min-width:0;display:flex;flex-direction:column;gap:5px}.player-track strong{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-track span{font-size:10px;color: var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-favorite{flex:none}.player-controls{display:flex;align-items:center;justify-content:center;gap:17px}.player-play{width:38px;height:38px;display:grid;place-items:center;padding-left:3px;border:0;border-radius:50%;background:var(--lime);color: var(--accent-ink);font-size:12px}.player-play:disabled{opacity:.45;cursor:not-allowed}.player-wave{height:30px;display:flex;align-items:center;gap:3px;opacity:.58}.player-wave i{width:2px;height:8px;--h:8px}.player-wave.is-playing i{animation:wave .75s ease-in-out infinite alternate}.player-wave.is-playing i:nth-child(2n){animation-delay:.25s}.player-wave.is-playing i:nth-child(3n){animation-delay:.45s}@keyframes wave{to{height:25px}}.player-live{display:flex;align-items:center;gap:6px;font-size:8px;color: var(--text-soft)}.player-live i{width:5px;height:5px}.player-volume{display:flex;align-items:center;justify-content:flex-end;gap:12px;color: var(--text-soft)}.player-volume input{width:100px;accent-color:var(--lime)}.modal{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin:0;padding:0;width:min(440px,calc(100vw - 30px));max-height:90vh;overflow:auto;background: var(--surface);color:var(--text);border: 1px solid var(--line-strong);border-radius:8px;box-shadow: 0 25px 100px var(--shadow)}.modal::backdrop{background: var(--shadow);backdrop-filter:blur(5px)}.modal-close-form{position:absolute;right:14px;top:12px}.modal-close{width:32px;height:32px;border:0;background:transparent;color: var(--muted);font-size:25px}.modal-content{padding:37px 38px}.modal-content>.eyebrow{color: var(--accent-text)}.modal h2{font:500 39px/1.12 var(--serif);margin:18px 0 12px}.modal-content>p:not(.eyebrow){color: var(--text-soft);font-size:13px;line-height:1.6}.primary-button{width:100%;margin-top:20px;padding:13px 15px;background:var(--lime);border:0;border-radius:4px;color: var(--accent-ink);font-weight:700;font-size:12px;text-align:left}.primary-button span{float:right}.modal-content>small{display:block;margin-top:13px;color: var(--muted);font-size:10px}.submission-form{display:grid;gap:13px;margin-top:22px}.submission-form label{display:grid;gap:7px;color: var(--text-soft);font-size:11px}.submission-form input{width:100%;height:39px;background: var(--input-bg);border: 1px solid var(--line-strong);border-radius:4px;color:var(--text);padding:0 11px;outline:none;font-size:12px}.submission-form input:focus{border-color: var(--accent-line)}.form-two{display:grid;grid-template-columns:90px 1fr;gap:12px}.submission-form .primary-button{margin-top:4px}.form-message{min-height:15px;color: var(--accent-text);font-size:11px}.toast{position:fixed;z-index:7;right:24px;bottom:105px;background: var(--surface-2);border: 1px solid var(--success-line);border-radius:4px;padding:12px 16px;color:var(--text);font-size:12px;opacity:0;transform:translateY(7px);pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translateY(0)}.hidden{display:none!important}
@media(max-width:1100px){.main-content{padding-inline:35px}.hero-art{right:-70px;opacity:.55}.player-bar{grid-template-columns:minmax(190px,1fr) minmax(210px,1fr) 130px;gap:10px;padding-inline:20px}.player-wave{display:none}.station-row{grid-template-columns:minmax(190px,1.5fr) minmax(90px,.8fr) 70px 34px 38px;gap:9px}}
@media(max-width:760px){.sidebar{position:static;width:auto;height:64px;padding:0 18px;border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;justify-content:space-between}.brand{margin:0}.sidebar-label,.nav-list,.sidebar-note,.sidebar-footer{display:none}.main-content{margin:0;padding:0 20px 40px}.topbar{height:62px}.breadcrumb{font-size:9px}.top-actions{gap:12px}.live-status{font-size:8px}.hero-section{min-height:310px}.hero-copy{padding:42px 0}.hero-copy h1{font-size:47px}.hero-art{right:-170px;opacity:.28}.hero-description{max-width:300px;font-size:13px}.discovery-section{padding-top:30px}.section-heading h2{font-size:27px}.search-row{gap:8px}.filter-select{min-width:115px;max-width:125px;padding:0 7px;font-size:11px}.search-box{padding:0 10px}.search-box kbd{display:none}.genre-row{padding:15px 0}.results-meta{font-size:8px}.station-row{grid-template-columns:minmax(0,1fr) 36px 34px;gap:9px;padding:11px 2px}.station-detail,.station-bitrate,.station-rating{display:none}.station-info{gap:11px}.station-logo{width:39px;height:39px}.station-info strong{font-size:12px}.station-info small{font-size:10px}.contribute-banner{margin-top:30px;padding:20px 17px;gap:15px}.contribute-banner h3{font-size:19px}.contribute-banner p:last-child{font-size:10px}.outline-button{padding:10px;font-size:10px;white-space:nowrap}.player-bar{height:78px;padding:0 13px;grid-template-columns:minmax(0,1fr) 46px 95px;gap:8px}.station-art{width:39px;height:39px}.player-controls{gap:0}.player-live{display:none}.player-volume{gap:6px}.player-volume input{width:68px}.player-track strong{font-size:11px}.player-track span{font-size:9px}.toast{bottom:90px;right:12px;left:12px;text-align:center}.modal-content{padding:32px 25px}}
@media(max-width:390px){.hero-copy h1{font-size:41px}.live-status{display:none}.filter-select{max-width:102px;min-width:102px}.player-volume input{width:53px}.player-bar{grid-template-columns:minmax(0,1fr) 40px 75px}.station-info small{max-width:190px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.station-row-skeleton{pointer-events:none}.skeleton-block{display:block;position:relative;overflow:hidden;background: var(--surface-2);border-radius:4px}.skeleton-block::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background: linear-gradient(90deg,transparent,color-mix(in srgb, var(--surface) 40%, transparent),transparent);animation:skeleton-shimmer 1.35s ease-in-out infinite}.skeleton-logo{width:43px;height:43px;border-radius:5px;flex:none}.skeleton-copy{display:grid;gap:8px;min-width:0;flex:1}.skeleton-title{width:min(190px,75%);height:12px}.skeleton-subtitle{width:min(125px,55%);height:9px}.skeleton-detail{width:72px;height:10px}.skeleton-rating{width:34px;height:10px}.skeleton-action{width:27px;height:27px;border-radius:50%;justify-self:center}@keyframes skeleton-shimmer{100%{transform:translateX(100%)}}@media(max-width:760px){.skeleton-logo{width:39px;height:39px}.skeleton-detail,.skeleton-rating{display:none}.skeleton-action{width:26px;height:26px}}

.oauth-provider-list{display:grid;gap:9px;margin-top:18px}.oauth-provider-button{min-height:46px;display:grid;grid-template-columns:28px 1fr 15px;align-items:center;gap:11px;padding:8px 13px;border: 1px solid var(--line-strong);border-radius:4px;background: var(--input-bg);color: var(--text);text-decoration:none;font-size:12px;font-weight:600;transition:border-color .18s,background .18s}.oauth-provider-button:hover,.oauth-provider-button:focus-visible{border-color: var(--accent-border);background: var(--surface-2);outline:none}.oauth-provider-mark{width:26px;height:26px;display:grid;place-items:center;border: 1px solid var(--line-strong);border-radius:50%;font:700 12px var(--sans)}.google-mark{color: var(--accent-text)}.github-mark{font-size:9px;letter-spacing:-.5px;color: var(--text)}.oauth-provider-arrow{justify-self:end;color: var(--accent-text)}.oauth-divider{display:flex;align-items:center;gap:12px;margin-top:14px;color: var(--muted);font:9px var(--mono);letter-spacing:1px;text-transform:uppercase}.oauth-divider::before,.oauth-divider::after{content:"";height:1px;flex:1;background: var(--surface-2)}

.auth-provider-empty{margin:12px 0 0;color:var(--muted);font-size:12px;line-height:1.55;text-align:center}
.email-auth-form{display:grid;gap:11px;margin-top:14px}.email-auth-form label{display:grid;gap:6px;color:var(--muted);font-size:11px}.email-auth-form input{width:100%;min-height:43px;padding:10px 12px;border: 1px solid var(--line-strong);border-radius:4px;background: var(--input-bg);color:var(--text);outline:none}.email-auth-form input:focus{border-color: var(--accent-border)}.email-auth-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.email-auth-actions button{min-height:46px}.email-auth-secondary-button{border: 1px solid var(--line-strong);border-radius:4px;background: var(--input-bg);color:var(--text);font-size:12px;font-weight:600}.email-auth-secondary-button:hover,.email-auth-secondary-button:focus-visible{border-color: var(--accent-border);outline:none}.email-auth-note{display:block;color:var(--muted);font-size:10px;line-height:1.5}.email-auth-form .form-message{min-height:0;margin:0;color: var(--accent-text);font-size:12px}

.sort-row{display:flex;justify-content:flex-end;align-items:center;gap:11px;margin:-3px 0 12px;color: var(--muted);font-family:var(--mono);font-size:9px;letter-spacing:1px}.sort-select{height:38px;min-width:172px;padding:0 11px;color: var(--text-soft);background:var(--surface);border: 1px solid var(--line-strong);border-radius:5px;outline:0;font-family:var(--sans);font-size:12px;letter-spacing:0}.sort-select:focus-visible{border-color: var(--accent-line);outline: 1px solid var(--accent-line)}@media(max-width:760px){.sort-row{margin:0 0 11px}.sort-select{height:40px;min-width:160px}}

.account-email{overflow-wrap:anywhere;color:var(--muted);font-size:12px}.account-password-section{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.account-password-section h3{margin:0;color:var(--text);font:600 14px/1.4 var(--sans)}.account-note{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.account-logout-button{width:100%;min-height:44px;margin-top:18px}


/* Responsive discovery controls and mobile bottom navigation */
.search-filter-bar{display:grid;grid-template-columns:minmax(220px,1fr) minmax(360px,.95fr);gap:10px;margin-top:25px;align-items:stretch}
.search-filter-bar .search-box{max-width:none;width:100%}
.filter-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.filter-control{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;padding:0 10px;background:var(--surface);border: 1px solid var(--line-strong);border-radius:5px;color:var(--muted);font:9px var(--mono);letter-spacing:.8px}
html[data-view="popular"][data-popular-mode="popular"] .country-filter-control{display:none}
html[data-view="popular"][data-popular-mode="popular"] .filter-controls{grid-template-columns:minmax(0,1fr)}
.quick-filter-row{grid-column:1/-1;display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.quick-country-filter{display:inline-flex;align-items:center;gap:8px;min-height:38px;max-width:100%;padding:0 14px;border: 1px solid var(--line-strong);border-radius:999px;background: var(--surface);color: var(--text-soft);font-size:12px;transition:border-color .18s,background .18s,color .18s}
.quick-country-filter:hover{color: var(--accent-text);border-color: var(--line-strong);background: var(--surface-2)}
.quick-country-filter[aria-pressed="true"]{color: var(--accent-text);border-color: var(--accent-border);background: var(--surface-2)}
.quick-country-filter:disabled{opacity:.62;cursor:wait}
.quick-country-filter-icon{font-size:15px;line-height:1}
.quick-country-name{display:inline-block;max-width:170px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap;color:var(--muted);font-size:11px}
.quick-country-name::before{content:'· ';color: var(--accent-ink)}
.quick-country-name[hidden]{display:none}
.quick-country-filter[aria-pressed="true"] .quick-country-name{color: var(--accent-text)}
.quick-filter-hint{min-width:0;color:var(--muted);font:9px var(--mono);letter-spacing:.7px;text-transform:uppercase}
.quick-country-filter:focus-visible{outline: 2px solid var(--focus);outline-offset:2px}
.filter-control select{min-width:0;width:100%;height:46px;padding:0 4px;border:0;border-radius:0;background: var(--surface) !important;color:var(--text);outline:0;font:12px var(--sans);letter-spacing:0}
.filter-control select:focus-visible{outline: 1px solid var(--focus);outline-offset:-3px}
.filter-control .filter-select,.filter-control .sort-select{min-width:0;height:46px;padding:0 4px;border:0;border-radius:0;background:transparent}
.active-filter-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 15px}
.active-filter-title{color:var(--muted);font:8px var(--mono);letter-spacing:1px}
.active-filter-chips{display:flex;flex:1;min-width:0;flex-wrap:wrap;gap:7px}
.active-filter-chip{display:inline-flex;align-items:center;gap:8px;min-width:0;max-width:min(100%,280px);min-height:32px;padding:5px 10px;border: 1px solid var(--line-strong);border-radius:18px;background: var(--surface-2);color: var(--text);font-size:11px}
.active-filter-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.active-filter-chip-remove{color: var(--accent-text);font-size:15px;line-height:1}
.clear-filters-button{border:0;background:transparent;color: var(--accent-text);padding:7px 2px;font-size:11px;white-space:nowrap}
.clear-filters-button:hover{text-decoration:underline}
.active-filter-chip:focus-visible,.clear-filters-button:focus-visible,.filter-control:focus-within{outline: 2px solid var(--focus);outline-offset:2px}
.mobile-bottom-nav{display:none}
@media(max-width:980px){.search-filter-bar{grid-template-columns:1fr}.search-filter-bar .search-box{max-width:none}}
@media(max-width:760px){
  .app-shell{padding-bottom:160px}
  .search-filter-bar{grid-template-columns:1fr;gap:8px;margin-top:20px}
  .search-filter-bar .search-box{height:46px}
  .filter-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .filter-control{grid-template-columns:1fr;align-content:center;gap:2px;padding:6px 9px}
  .filter-control>span{font-size:8px}
  .filter-control .filter-select,.filter-control .sort-select{height:27px;padding:0;font-size:11px}
  .quick-filter-row{gap:8px}
  .quick-filter-hint{display:none}
  .quick-country-filter{min-height:36px;padding:0 12px;font-size:11px}
  .quick-country-name{max-width:120px}
  .active-filter-row{display:grid;grid-template-columns:1fr auto;gap:5px 8px;margin:0 0 13px}
  .active-filter-title{grid-column:1;grid-row:1}
  .clear-filters-button{grid-column:2;grid-row:1;justify-self:end;padding:2px}
  .active-filter-chips{grid-column:1/-1;grid-row:2}
  .active-filter-chip{min-height:34px}
  .mobile-bottom-nav{position:fixed;z-index:4;inset:auto 0 calc(78px + env(safe-area-inset-bottom,0px)) 0;height:58px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:4px;padding:4px max(8px,env(safe-area-inset-left,0px));border-top: 1px solid var(--line-strong);background: color-mix(in srgb, var(--surface) 96%, transparent);backdrop-filter:blur(18px)}
  .mobile-bottom-nav .mobile-nav-link{width:100%;height:50px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:3px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:10px;line-height:1.1}
  .mobile-bottom-nav .mobile-nav-link.active{background: var(--surface-2);color: var(--accent-text)}
  .mobile-nav-icon{font-size:17px;line-height:1}
  .mobile-bottom-nav .mobile-nav-link:focus-visible{outline: 2px solid var(--focus);outline-offset:-2px}
  .player-bar{height:calc(78px + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px)}
}
@media(max-width:390px){.mobile-bottom-nav .mobile-nav-link{font-size:9px}.quick-country-filter{padding:0 10px;font-size:10px}.quick-country-name{max-width:92px}.active-filter-chip{max-width:100%}}

/* Password visibility control */
.password-field{position:relative;display:block;width:100%;min-width:0}
.password-field input{padding-inline-end:82px}
.password-toggle{position:absolute;inset-inline-end:7px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;min-width:58px;min-height:30px;padding:0 8px;border: 1px solid var(--line-strong);border-radius:4px;background: var(--surface-2);color: var(--accent-text);font:500 10px var(--mono);letter-spacing:.2px;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.password-toggle:hover{border-color: var(--accent-border);background: var(--surface-2);color: var(--accent-text)}
.password-toggle:focus-visible{outline: 2px solid var(--focus);outline-offset:2px}
.password-toggle[aria-pressed="true"]{border-color: var(--line-strong);background: var(--surface-2);color:var(--text)}

/* Current source additions preserved after base stylesheet restoration. */
/* Moderator paneli bağlantısı */
.moderator-link{display:inline-flex;align-items:center;background:transparent;border: 1px solid var(--line-strong);border-radius:4px;padding:10px 14px;color: var(--accent-text);font-size:12px;text-decoration:none;white-space:nowrap}
.moderator-link span{color: var(--accent-text);margin-left:10px}
.moderator-link:hover{border-color: var(--accent-border)}
@media(max-width:760px){.moderator-link{padding:8px 9px;font-size:10px}.moderator-link span{margin-left:5px}}
/* PWA kurulum kontrolleri */
.install-button{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:9px 13px;border: 1px solid var(--accent-border);border-radius:4px;background:var(--lime);color: var(--accent-ink);font-size:12px;font-weight:700;white-space:nowrap}
.install-button:hover{background: var(--accent);border-color: var(--accent-line)}
.install-button:focus-visible,.install-help-close:focus-visible{outline:2px solid var(--text);outline-offset:3px}
.install-help-dialog .modal-content{max-width:440px}
.install-help-note{display:block;margin-top:12px;color:var(--muted);line-height:1.65}
.install-help-close{margin-top:22px}
@media(max-width:760px){.install-button{min-height:34px;padding:7px 9px;font-size:10px}.install-help-dialog .modal-content{max-width:calc(100vw - 36px)}}

.hero-location{display:flex;flex-direction:column;align-items:flex-end;gap:10px}.hero-globe-toggle{border: 1px solid var(--line-strong);border-radius:999px;background: var(--surface);color: var(--text-soft);padding:7px 11px;font:10px var(--mono);letter-spacing:.3px;transition:border-color .18s,color .18s,background .18s}.hero-globe-toggle:hover,.hero-globe-toggle:focus-visible{border-color: var(--accent-border);color: var(--accent-text);background: var(--surface-2);outline:none}.hero-globe-stage[hidden]{display:none!important}.hero-location:has(.hero-globe-stage[hidden]){min-height:42px;justify-content:flex-start}.hero-location:has(.hero-globe-stage[hidden]) .hero-globe-toggle{margin-top:8px}@media(max-width:700px){.hero-location{align-items:flex-start}.hero-globe-toggle{align-self:flex-end}.hero-location:has(.hero-globe-stage[hidden]){width:100%}}
.hero-globe-stage>.hero-globe-toggle{position:absolute;z-index:4;top:4px;right:4px}.hero-globe-stage>.hero-globe-toggle:focus-visible{outline: 2px solid var(--focus);outline-offset:3px}
.hero-globe-stage.is-globe-hidden{width:100%;height:42px;min-height:42px;aspect-ratio:auto}.hero-globe-stage.is-globe-hidden .hero-globe-toggle{top:0;right:0}.hero-globe-stage.is-globe-hidden .hero-globe-toggle{display:block!important}
body{font-size:16px}.nav-link{font-size:15px}.sidebar-label{font-size:14px}.hero-description{font-size:16px}.hero-location-label,.hero-location-country,.hero-location-hint,.hero-globe-instructions{font-size:12px}.hero-location-station{font-size:17px}.search-box input,.filter-select{font-size:15px}.station-info strong{font-size:15px}.station-info small,.station-detail small,.station-detail{font-size:13px}.station-bitrate,.station-rating{font-size:12px}.results-meta{font-size:11px}.load-more,.outline-button,.text-button{font-size:13px}.modal-content>p:not(.eyebrow){font-size:15px}

.resume-playback-setting{display:inline-flex;align-items:center;gap:5px;color: var(--muted);font-size:10px;white-space:nowrap;cursor:pointer}.resume-playback-setting input{width:13px;height:13px;margin:0;accent-color:var(--lime)}.resume-playback-setting span{max-width:118px;overflow:hidden;text-overflow:ellipsis}.player-volume{flex-wrap:wrap}
@media(max-width:760px){.resume-playback-setting span{display:none}.resume-playback-setting{gap:2px}.player-volume{flex-wrap:nowrap}}

/* Mobil oynatıcı: devam tercihini ses kontrollerini sıkıştırmayan kompakt düğme olarak göster. */
@media(max-width:760px){
  .resume-playback-setting{
    position:relative;
    display:inline-flex;
    flex:none;
    width:30px;
    height:30px;
    align-items:center;
    justify-content:center;
    border: 1px solid var(--line-strong);
    border-radius:50%;
    background: var(--surface);
    color: var(--muted);
  }
  .resume-playback-setting::before{content:'↻';font-size:17px;line-height:1}
  .resume-playback-setting input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
  .resume-playback-setting span{display:none}
  .resume-playback-setting:has(input:checked){border-color: var(--accent-border);background: var(--surface-2);color: var(--accent-text)}
  .resume-playback-setting:focus-within{outline: 2px solid var(--focus);outline-offset:2px}
}

@media(max-width:760px){
  .player-bar{grid-template-columns:minmax(0,1fr) 46px 112px;gap:6px}
  .player-volume{min-width:0;gap:4px;justify-content:flex-end}
  .resume-playback-setting{width:26px;height:26px}
  .resume-playback-setting::before{font-size:15px}
  .player-volume input{width:48px;min-width:0}
}
@media(max-width:390px){
  .player-bar{grid-template-columns:minmax(0,1fr) 42px 100px;gap:4px}
  .player-volume input{width:39px}
}

/* Mobil oynatıcı sırası: [istasyon] [ses] [devam + oynat]. */
@media(max-width:760px){
  .player-bar{grid-template-columns:minmax(0,1fr) 100px 118px;gap:5px}
  .player-volume{grid-column:2;grid-row:1;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:4px}
  .player-volume input{width:64px;min-width:0}
  .player-controls{grid-column:3;grid-row:1;display:flex;align-items:center;justify-content:flex-end;gap:5px;min-width:0}
  .player-controls .resume-playback-setting{order:1}
  .player-controls .player-play{order:2;flex:none}
}
@media(max-width:390px){
  .player-bar{grid-template-columns:minmax(0,1fr) 88px 110px;gap:4px}
  .player-volume{gap:2px}
  .player-volume input{width:53px}
  .player-controls{gap:3px}
}

/* Mobil ses kontrolü: düğme normal görünür, uzun dikey çubuk dokununca açılır. */
.volume-toggle{width:30px;height:30px;display:grid;place-items:center;padding:0;border: 1px solid var(--line-strong);border-radius:50%;background: var(--surface);color: var(--text-soft);font-size:17px;line-height:1}
.volume-toggle:hover,.volume-toggle:focus-visible{border-color: var(--accent-border);color: var(--accent-text);outline: 2px solid var(--focus);outline-offset:2px}
.volume-popover{display:flex;align-items:center}
@media(max-width:760px){
  .player-volume{position:relative;width:34px;height:34px;justify-self:center;overflow:visible}
  .volume-popover{position:absolute;z-index:8;left:50%;bottom:38px;display:none;width:44px;height:132px;align-items:center;justify-content:center;border: 1px solid var(--line-strong);border-radius:22px;background: color-mix(in srgb, var(--surface) 94%, transparent);box-shadow: 0 8px 24px var(--shadow)}
  .player-volume.is-open .volume-popover{display:flex}
  .volume-popover input{display:block;width:110px!important;min-width:110px;height:24px;transform:rotate(-90deg);transform-origin:center;accent-color:var(--lime)}
}

/* Tablet ve mobilde ortak kompakt ses düğmesi. */
@media(max-width:1100px){
  .player-volume{position:relative;width:34px;height:34px;justify-self:center;overflow:visible;display:flex;align-items:center;justify-content:center;flex-wrap:nowrap;gap:0}
  .volume-popover{position:absolute;z-index:8;left:50%;bottom:38px;display:none;width:44px;height:132px;align-items:center;justify-content:center;border: 1px solid var(--line-strong);border-radius:22px;background: color-mix(in srgb, var(--surface) 94%, transparent);box-shadow: 0 8px 24px var(--shadow)}
  .player-volume.is-open .volume-popover{display:flex}
  .volume-popover input{display:block;width:110px!important;min-width:110px;height:24px;transform:rotate(-90deg);transform-origin:center;accent-color:var(--lime)}
}

@media(min-width:761px) and (max-width:1100px){
  .player-bar{grid-template-columns:minmax(0,1fr) 42px 104px;gap:6px}
  .player-volume{position:relative;left:clamp(150px,19.5vw,200px);right:auto;bottom:auto;z-index:6;grid-column:2;justify-self:end}
  .player-controls{grid-column:3;justify-content:flex-end;gap:8px}
  .volume-toggle{width:30px;height:30px}
  .volume-popover{bottom:38px}
}

/* Mobil oynatıcı son düzeni: geniş istasyon alanı, yakın ses düğmesi ve rahat dokunma aralığı. */
@media(max-width:760px){
  .player-bar{grid-template-columns:minmax(0,1fr) 42px 82px;gap:4px}
  .player-volume{grid-column:2;justify-self:end}
  .player-controls{grid-column:3;justify-content:flex-start;gap:8px}
}
@media(max-width:390px){
  .player-bar{grid-template-columns:minmax(0,1fr) 38px 76px;gap:3px}
  .player-controls{gap:6px}
}

/* PWA yükleme düğmesi: üst barda daha az yer kaplayan kompakt görünüm. */
.install-button{min-height:30px;padding:6px 9px;font-size:10px;line-height:1.1}
@media(max-width:760px){.install-button{min-height:28px;padding:5px 7px;font-size:9px}}

/* Kurulum düğmesi giriş düğmesiyle aynı yükseklikte, daha dar ve mobilde satır kırılabilir. */
.install-button{width:88px;height:36px;min-height:36px;padding:4px 7px;white-space:normal;text-align:center;line-height:1.1}
.login-button{min-height:36px}
@media(max-width:760px){.install-button{width:68px;height:36px;min-height:36px;padding:4px 5px;font-size:9px;white-space:normal}.login-button{min-height:36px;padding:8px 10px;font-size:11px}}

/* İstasyon adı hücreye sığmadığında yalnızca uzun adları kaydır. */
.station-info strong{position:relative;display:block;overflow:hidden;min-width:0}
.station-info strong>span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.station-info strong.is-marquee>span{width:max-content;max-width:none;padding-right:36px;text-overflow:clip;animation:station-name-marquee 8s ease-in-out infinite alternate}
@keyframes station-name-marquee{0%,16%{transform:translateX(0)}84%,100%{transform:translateX(calc(-1 * var(--marquee-distance)))} }
@media(prefers-reduced-motion:reduce){.station-info strong.is-marquee>span{animation:none;text-overflow:ellipsis;max-width:100%}}

.site-credit{margin:24px 0 0;color: var(--muted);font-size:14px;line-height:1.5;text-align:center}.site-credit strong{color: var(--text-soft);font-weight:500}
@media(max-width:760px){.site-credit{margin-top:24px;font-size:12px;text-align:center}}

.site-credit a{color: var(--text-soft);text-decoration:none;text-underline-offset:3px}.site-credit a:hover,.site-credit a:focus-visible{color: var(--accent-text);text-decoration:underline;outline:none}

/* Hero popular action and resume preference. */
.hero-play-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.hero-play-actions .hero-play-button-secondary{width:fit-content!important;max-width:100%;flex:0 0 auto;align-self:flex-start;white-space:nowrap}
.hero-play-actions .hero-resume-playback{margin-top:8px}

/* Player order: station, volume, next popular, play/pause. */
.player-bar{grid-template-columns:minmax(230px,1fr) minmax(110px,.6fr) minmax(220px,1.15fr)}
.player-previous,.player-next-popular{width:34px;height:34px;display:grid;place-items:center;padding:0;border: 1px solid var(--line-strong);background:transparent;border-radius:50%;color: var(--text-soft);font-size:16px;line-height:1;transition:.18s}
.player-previous:hover,.player-previous:focus-visible,.player-next-popular:hover,.player-next-popular:focus-visible{background: var(--surface-2);border-color: var(--accent-border);color: var(--accent-text);outline: 2px solid var(--focus);outline-offset:2px}
@media(max-width:1100px){.player-bar{grid-template-columns:minmax(190px,1fr) minmax(90px,.6fr) minmax(190px,1fr)}}
@media(max-width:760px){
  .hero-play-actions{gap:8px}
  .hero-play-actions .hero-play-button-secondary{width:fit-content!important;flex:0 0 auto;min-width:0}
  .hero-play-actions .hero-resume-playback{margin-top:0}
  .player-bar{grid-template-columns:minmax(0,1fr) 42px 82px}
  .player-controls{grid-column:3;grid-row:1;justify-content:flex-start;gap:8px}
  .player-next-popular{width:32px;height:32px;font-size:15px}
}
@media(max-width:390px){.player-bar{grid-template-columns:minmax(0,1fr) 38px 76px}.player-controls{gap:6px}.player-next-popular{width:30px;height:30px}}

/* Unified player controls: volume, next station and play stay together. */
.player-bar{grid-template-columns:minmax(230px,1fr) max-content}
.player-controls{grid-column:2;grid-row:1;width:max-content;justify-self:end;justify-content:flex-end;gap:17px}
.player-controls .player-volume{position:relative;left:auto;right:auto;bottom:auto;z-index:1;grid-column:auto;justify-self:auto}
@media(max-width:1100px){
  .player-bar{grid-template-columns:minmax(0,1fr) max-content;gap:6px}
  .player-controls{grid-column:2;width:max-content;gap:8px}
  .player-controls .player-volume{width:34px;height:34px}
}
@media(max-width:760px){
  .player-bar{grid-template-columns:minmax(0,1fr) max-content;gap:4px}
  .player-controls{grid-column:2;gap:5px}
  .player-controls .player-volume{width:34px;height:34px}
  .player-wave{display:none}
}

/* Center the live indicator and waveform independently from the right controls. */
.player-status{position:absolute;left:50%;top:50%;display:flex;align-items:center;gap:10px;transform:translate(-50%,-50%);pointer-events:none;white-space:nowrap}
.player-status .player-live{flex:none}
.player-status .player-wave{flex:none}
@media(max-width:760px){.player-status{display:none}}

/* On narrower layouts keep the centered playback animation, hide only its label. */
@media(max-width:1100px){
  .player-status{display:flex}
  .player-status .player-live{display:none}
  .player-status .player-wave{display:flex}
}

@media(max-width:760px){.player-status{display:none}}

.player-play{padding-left:0;font-size:15px;line-height:1}
.player-play,.player-next-popular,.volume-toggle{display:grid;place-items:center;line-height:1;text-indent:0}
.player-play{padding:0;text-indent:1px}
.player-play::first-letter{line-height:1}
.player-next-popular span{display:block;line-height:1;transform:translateX(1px)}
.volume-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;font-size:16px}
.player-play{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--lime)!important;color: var(--accent-ink)!important;border:0;box-shadow:none}
.player-play:focus-visible{outline: 2px solid var(--focus);outline-offset:3px}

@media(max-width:760px){
  .now-playing{min-width:0}
  .player-favorite{position:absolute;right:145px;top:50%;z-index:2;width:30px;height:30px;display:grid;place-items:center;transform:translateY(-50%)}
}
@media(max-width:390px){.player-favorite{right:143px}}

.player-controls .player-favorite{position:static;right:auto;top:auto;transform:none;z-index:auto;flex:none}
@media(max-width:760px){.player-controls .player-favorite{width:30px;height:30px}}

@media(max-width:1100px){html,body{overflow-x:hidden}}

/* Consistent, non-native player icon system. */
.player-icon{display:grid;place-items:center;width:100%;height:100%;line-height:0}
.player-icon svg{display:block;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.player-icon-next svg{width:17px;height:17px;stroke-width:1.9}
.player-icon-volume svg{width:18px;height:18px}
.player-play{font-size:0!important;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color: var(--accent)!important;background-image:none!important;color: var(--accent-ink)!important;border:0!important;box-shadow:none!important;forced-color-adjust:none}
.player-play::before{content:"";display:block;width:0;height:0;margin-left:2px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.player-play.is-playing::before{width:10px;height:12px;margin-left:0;border:0;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65% 100%)}
.player-play:disabled{background-color: var(--accent)!important;color: var(--accent-ink)!important;opacity:.55}
.player-favorite{font-size:18px;line-height:1}
.player-similar{font-size:16px;line-height:1}
.player-next-popular span{transform:none}
.player-next-popular .player-icon-next{width:18px;height:18px;display:grid;place-items:center;transform:none}
.player-next-popular .player-icon-next svg{width:18px;height:18px;transform:none}
.player-play::before{content:none}
.player-icon-play{display:grid;place-items:center;width:16px;height:16px}
.player-icon-play::before{content:"";display:block;width:0;height:0;margin-left:2px;border-top:6px solid transparent;border-bottom:6px solid transparent;border-left:9px solid currentColor}
.player-play.is-playing .player-icon-play::before,.row-play.is-playing .player-icon-play::before{width:10px;height:12px;margin-left:0;border:0;background:linear-gradient(90deg,currentColor 0 35%,transparent 35% 65%,currentColor 65% 100%)}

/* Marka isareti theme.css icinde tanimli (iki esmerkezli halka). */

/* Searchable country filter input. */
.country-search-input{width:100%;min-width:0;height:48px;padding:0 14px;color: var(--text-soft);background:var(--surface);border: 1px solid var(--line-strong);border-radius:5px;outline:0;font:12px var(--sans);letter-spacing:0}
.country-search-input::placeholder{color: var(--muted)}
.country-search-input:focus-visible{border-color: var(--accent-border);box-shadow:0 0 0 2px rgba(214,243,106,.14)}

/* Keep station title text inside its cell; the existing overflow check applies marquee to long names. */
.station-copy{flex:1 1 auto;min-width:0;overflow:hidden}
.station-info strong{width:100%;min-width:0}

/* Keep country suggestions anchored directly below their filter cell. */
.country-filter-control{position:relative}
.country-search-wrap{min-width:0;width:100%}
.country-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;max-height:min(320px,50vh);overflow-y:auto;overscroll-behavior:contain;padding:5px;background: var(--surface);border: 1px solid var(--line-strong);border-radius:5px;box-shadow:0 12px 28px rgba(0,0,0,.48)}
.country-suggestion{min-height:38px;width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:9px 11px;border:0;border-radius:3px;background:transparent;color:var(--text);font:12px var(--sans);text-align:left;cursor:pointer}
.country-suggestion:hover,.country-suggestion[aria-selected="true"]{background:var(--surface2);color: var(--accent-text)}
.country-suggestion-code{flex:none;color:var(--muted);font:10px var(--mono);letter-spacing:.04em}

/* Compact locale switch for the public interface. */
.language-toggle{min-width:38px;height:32px;padding:0 9px;border: 1px solid var(--line-strong);border-radius:4px;background:transparent;color: var(--text-soft);font:500 10px var(--mono);letter-spacing:.08em;transition:.18s}
.language-toggle:hover,.language-toggle:focus-visible{border-color: var(--accent-border);color: var(--accent-text);outline:none}
.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin:0 0 76px}
.sidebar-brand-row .brand{min-width:0;margin:0}
.sidebar-brand-row .language-toggle{flex:none}
.language-toggle-mobile{display:none}
@media(max-width:760px){.sidebar-brand-row{width:100%;margin:0}.language-toggle-desktop{display:none}.language-toggle-mobile{display:inline-block}}
@media(max-width:390px){.top-actions{gap:7px}.language-toggle{min-width:34px;height:30px;padding:0 7px}.login-button{padding:8px 10px;font-size:11px}}

/* Show the localized wordmark variant using the document language. */
.brand-name .brand-name-tr{display:inline;font-weight:700;color:var(--text)}
.brand-name .brand-name-suffix{font-weight:400;color: var(--text-soft)}
.brand-name .brand-name-en-prefix{font-weight:700;color:var(--text)}
.brand-name .brand-name-en-suffix{font-weight:400;color: var(--text-soft)}
.brand-name .brand-name-en{display:none;font-weight:700;color:var(--text)}
html[lang="en"] .brand-name .brand-name-tr{display:none}
html[lang="en"] .brand-name .brand-name-en{display:inline}


/* Mobilde oynatma kontrolleri birbirine yapışmasın; ses düğmesiyle dengeli aralık kullan. */
@media(max-width:760px){.player-controls{gap:10px}}
@media(max-width:390px){.player-controls{gap:8px}}

/* Mobilde görünür sıra: oynat/duraklat, sonraki istasyon. */
@media(max-width:760px){
  .player-controls .player-volume{order:1}
  .player-controls .player-previous{order:2}
  .player-controls .player-play{order:3}
  .player-controls .player-next-popular{order:4}
}


/* Ses sıfır olduğunda hoparlör dalgalarını gizle ve sessiz simgesini göster. */
.player-icon-volume{position:relative}
.volume-toggle.is-muted .player-icon-volume svg path:nth-child(n+2){display:none}
.volume-toggle.is-muted .player-icon-volume::after{content:'×';position:absolute;inset:0;display:grid;place-items:center;color:currentColor;font-size:21px;font-weight:700;line-height:1;transform:translate(5px,-4px)}


/* Favoriler sürükle-bırak sıralaması. */
.favorite-sortable-row{cursor:grab}
.favorite-sortable-row:active,.favorite-sortable-row.is-dragging{cursor:grabbing}
.favorite-drag-handle{display:grid;place-items:center;align-self:stretch;width:24px;flex:0 0 24px;color:var(--muted);font:700 15px/1 var(--mono);letter-spacing:-3px;user-select:none;cursor:grab;touch-action:none}
.favorite-sortable-row:hover .favorite-drag-handle,.favorite-sortable-row.is-dragging .favorite-drag-handle{color: var(--accent-text)}
.favorite-sortable-row.is-dragging{opacity:.55}
@media(max-width:760px){.favorite-drag-handle{width:28px;flex-basis:28px;font-size:16px}}

.favorite-sortable-row{grid-template-columns:24px minmax(210px,1.4fr) minmax(100px,.7fr) minmax(82px,.55fr) 36px 42px}


/* Mobil üst menü: moderatör paneli dil düğmesinin solunda. */
.moderator-link-mobile{display:none}
@media(max-width:760px){
  .sidebar-brand-row .moderator-link-mobile{display:inline-flex;align-items:center;gap:3px;min-width:0;color:var(--muted);font-size:10px;white-space:nowrap;text-decoration:none;margin-left:auto}
  .sidebar-brand-row .moderator-link-mobile.hidden{display:none}
  .sidebar-brand-row .moderator-link-mobile:hover{color: var(--accent-text)}
  .sidebar-brand-row .language-toggle-mobile{margin-left:0}
  .station-row{grid-template-columns:minmax(0,1fr) 34px 34px;gap:8px;padding:10px 4px}
  .station-row .station-detail,.station-row .station-rating{display:none}
  .station-row .row-play,.station-row .row-favorite{display:grid;visibility:visible;opacity:1;position:relative;z-index:1}
  .favorite-sortable-row{grid-template-columns:28px minmax(0,1fr) 34px 34px}
}

@media(max-width:760px){.top-actions .moderator-link{display:none}}

.player-state{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color: var(--accent-text);font:9px var(--mono);letter-spacing:.4px}

.player-state.is-marquee{display:block;overflow:visible;text-overflow:clip;width:max-content;max-width:none;animation:player-state-marquee 8s ease-in-out infinite alternate}
@keyframes player-state-marquee{0%,16%{transform:translateX(0)}84%,100%{transform:translateX(calc(-1 * var(--marquee-distance)))}}
@media(prefers-reduced-motion:reduce){.player-state.is-marquee{width:100%;max-width:100%;animation:none;overflow:hidden;text-overflow:ellipsis}}

/* Şarkı kayan yazısı player çerçevesinin dışına taşmasın. */
.player-track{overflow:hidden}
.player-state{min-width:0;max-width:100%;overflow:hidden}
.player-state.is-marquee{max-width:none;overflow:visible}
@media(max-width:760px){.player-track{min-width:0;overflow:hidden}.player-state.is-marquee{max-width:none;overflow:visible}}

/* Kayan şarkı adı yalnızca kendi player durum çerçevesinde görünür. */
.player-state-viewport{display:block;min-width:0;max-width:100%;overflow:hidden;position:relative}
.player-state-viewport .player-state{display:block;white-space:nowrap}
.player-state-viewport .player-state.is-marquee{max-width:none;overflow:visible}

/* Çalan istasyonu listede belirgin göster ve satır ayraçlarını güçlendir. */
.station-row{border-bottom-color: var(--line-strong)}
.station-row.is-playing{background: linear-gradient(90deg,var(--surface-2) 0%,var(--surface-2) 72%,var(--surface-2) 100%);box-shadow: inset 3px 0 0 var(--lime),inset 0 1px 0 var(--line-strong),inset 0 -1px 0 var(--line-strong)}
.station-row.is-playing:hover{background: linear-gradient(90deg,var(--accent-soft) 0%,var(--surface-2) 72%,var(--surface-2) 100%)}
.station-row.is-playing .station-info strong{color: var(--accent-text)}

/* Klavye kısayolları yardım paneli. */
.shortcuts-dialog{width:min(470px,calc(100vw - 30px))}
.shortcuts-dialog .modal-content{padding:34px 36px 30px}
.shortcuts-dialog h2{margin-bottom:24px}
.shortcut-group{margin-top:22px}
.shortcut-group h3{margin:0 0 10px;color: var(--accent-text);font:10px var(--mono);letter-spacing:1.3px;text-transform:uppercase}
.shortcut-list{display:grid;gap:7px}
.shortcut-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;color: var(--text-soft);font-size:12px}
.shortcut-row kbd{display:inline-grid;place-items:center;min-width:34px;height:28px;padding:0 6px;border: 1px solid var(--line-strong);border-bottom-width:2px;border-radius:4px;background: var(--surface-2);color:var(--text);font:500 11px var(--mono);letter-spacing:.4px}
.shortcut-note{display:block;margin-top:24px;color: var(--muted);font-size:10px;line-height:1.5}
@media(max-width:760px){
  .player-controls{gap:10px}
  .shortcuts-dialog .modal-content{padding:31px 25px 26px}
  .shortcut-group{margin-top:18px}
}
.back-to-top{position:fixed;z-index:6;right:24px;bottom:102px;width:40px;height:40px;display:grid;place-items:center;border: 1px solid var(--line-strong);border-radius:50%;background: color-mix(in srgb, var(--surface) 95%, transparent);color: var(--accent-text);font:500 20px/1 var(--sans);box-shadow: 0 8px 24px #0006;transition:background .18s,border-color .18s,transform .18s}
.back-to-top:hover,.back-to-top:focus-visible{border-color: var(--accent-border);background: var(--accent-soft);transform:translateY(-2px)}
@media(max-width:760px){.back-to-top{right:14px;bottom:calc(78px + 58px + env(safe-area-inset-bottom,0px) + 12px);width:36px;height:36px;font-size:18px}}

html[data-view="favorites"] .search-filter-bar,
html[data-view="favorites"] .genre-row {
  display: none;
}

html[data-view="favorites"] .row-favorite {
  display: grid;
  visibility: visible;
  opacity: 1;
}

html[data-view="favorites"] .favorite-sortable-row {
  grid-template-columns: 24px minmax(210px, 1.4fr) minmax(100px, 0.7fr) minmax(82px, 0.55fr) 36px 42px;
}

@media(max-width:760px) {
  .player-controls .player-volume,
  .player-controls .player-favorite {
    display: none !important;
  }

  .player-controls .player-play {
    order: 0;
  }

  .player-controls .player-next-popular {
    order: 1;
  }

  .player-controls .player-previous {
    display: none !important;
  }

  html[data-view="favorites"] .favorite-sortable-row {
    grid-template-columns: 28px minmax(0, 1fr) 34px 34px;
  }
}


/* Yerel dinleme geçmişi görünümü. */
html[data-view="popular"][data-popular-mode="recent"] .search-filter-bar,
html[data-view="popular"][data-popular-mode="recent"] .genre-row,
html[data-view="popular"][data-popular-mode="recent"] .active-filter-row,
html[data-view="popular"][data-popular-mode="recent"] .contribute-banner{display:none}
.recent-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}
.clear-recent-button{border: 1px solid var(--line-strong);border-radius:4px;padding:8px 12px;color: var(--text-soft);white-space:nowrap;flex:none}
.clear-recent-button:hover{border-color: var(--accent-border);color: var(--accent-text);background: var(--surface-2)}
@media(max-width:760px){
  .recent-heading{margin-top:14px;justify-content:space-between}
  .clear-recent-button{padding:7px 10px;font-size:11px}
  .toast{bottom:calc(78px + 58px + env(safe-area-inset-bottom,0px) + 12px)}
}

.favorite-share-incoming{margin:0 0 18px;padding:14px 16px;border: 1px solid var(--line-strong);border-radius:8px;background: var(--surface-2)}
.favorite-share-incoming h3{margin:0 0 10px;color: var(--accent-text);font-size:14px}
.favorite-share-invite-list{display:grid;gap:8px}
.favorite-share-invite-card{padding:12px;border: 1px solid var(--line-strong);border-radius:6px;background: var(--surface-2)}
.favorite-share-invite-card strong{color: var(--text);font-size:13px}
.favorite-share-invite-card p{margin:6px 0 10px;color: var(--text-soft);font-size:12px;line-height:1.5}
.favorite-share-invite-actions{display:flex;gap:8px;flex-wrap:wrap}
.favorite-share-invite-actions button{font-size:12px;padding:8px 12px}
.favorite-share-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:auto;padding:0 5px;border-radius:999px;background:var(--lime);color: var(--accent-ink);font-size:10px;font-weight:700;line-height:1}


/* Favori paylaşımı: başlık aksiyonları ve gelen davet kontrolleri */
.section-heading{justify-content:flex-start;gap:18px}
.section-heading-actions{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-width:0}
.section-action-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:9px 13px;background: var(--surface-2);color: var(--text);font-size:11px;font-weight:600;white-space:nowrap;transition:border-color .18s,background .18s,color .18s}
.section-action-button:hover{background: var(--surface-2);border-color: var(--accent-border);color: var(--accent-text)}
.section-action-button span{margin-left:0;font-size:14px;line-height:1}
.section-action-button:focus-visible,.favorite-share-invite-actions button:focus-visible{outline: 2px solid var(--focus);outline-offset:2px}
.favorite-share-invite-actions{align-items:center;margin-top:12px}
.favorite-share-invite-actions button{width:auto;min-height:36px;margin:0;text-align:center;line-height:1.15;white-space:nowrap}
.favorite-share-accept{border: 1px solid var(--accent-border);border-radius:4px;background:var(--lime);color: var(--accent-ink);font-size:12px;font-weight:700;transition:background .18s,border-color .18s,transform .18s}
.favorite-share-accept:hover{border-color: var(--accent-line);background: var(--accent);transform:translateY(-1px)}
.favorite-share-decline{border: 1px solid var(--line-strong);border-radius:4px;background:transparent;color: var(--text-soft);font-size:12px;font-weight:500;transition:background .18s,border-color .18s,color .18s}
.favorite-share-decline:hover{border-color: var(--line-strong);background: var(--surface-2);color:var(--text)}
@media(max-width:760px){
  .section-heading{flex-wrap:wrap;align-items:flex-end;justify-content:flex-start;gap:10px}
  .section-heading-actions{width:100%;justify-content:flex-start;gap:9px;flex-wrap:wrap}
  .section-action-button{padding:8px 10px;font-size:10px}
  .section-heading-actions .text-button{padding:8px 2px;font-size:10px}
}
@media(max-width:390px){
  .section-heading-actions{gap:6px}
  .section-action-button{padding:8px 9px}
}


/* Section heading actions: üst-sol yerleşim */
.section-heading{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:12px}
.section-heading-actions{order:-1;align-items:flex-start;justify-content:flex-start}
@media(max-width:760px){
  .section-heading{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:10px}
  .section-heading-actions{order:-1;width:100%;max-width:220px;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px}
  .section-heading-actions .section-action-button{width:100%;justify-content:space-between}
}
@media(max-width:390px){
  .section-heading-actions{gap:7px}
  .section-heading-actions .section-action-button{padding:8px 9px}
}


/* Section heading actions: satır merkezinde, mobilde dikey */
.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:18px}
.section-heading>div:first-child{grid-column:1;grid-row:1}
.section-heading-actions{order:0;grid-column:2;grid-row:1;justify-self:center;flex:none;flex-direction:row;align-items:center;justify-content:center;flex-wrap:wrap}
.section-heading-actions .section-action-button{width:auto}
@media(max-width:760px){
  .section-heading{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;justify-content:initial;gap:10px}
  .section-heading>div:first-child{grid-column:1;grid-row:1}
  .section-heading-actions{order:0;grid-column:1;grid-row:2;justify-self:center;width:100%;max-width:none;flex-direction:column;align-items:center;justify-content:center;gap:8px}
  .section-heading-actions .section-action-button{width:220px;max-width:100%;justify-content:space-between}
}
@media(max-width:390px){
  .section-heading-actions{gap:7px}
}


/* Section heading actions: sağ hizalama denemesi */
.section-heading-actions{grid-column:3;justify-self:end;justify-content:flex-end}
@media(max-width:760px){
  .section-heading-actions{grid-column:1;justify-self:end;align-items:flex-end;justify-content:flex-end}
}


/* Mobile heading actions: yan yana ve sağa hizalı */
@media(max-width:760px){
  .section-heading-actions{flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}
  .section-heading-actions .section-action-button{width:auto;min-width:0;padding:8px 9px;font-size:10px;gap:6px}
}
@media(max-width:390px){
  .section-heading-actions{gap:5px}
  .section-heading-actions .section-action-button{padding:7px 7px;font-size:9px;gap:5px}
}
@media(max-width:340px){
  .section-heading-actions .section-action-button{padding:6px 5px;font-size:8px}
}


/* Section heading: sol metin paneli ve sağ aksiyon paneli */
.section-heading{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:12px}
.section-heading-copy{grid-column:1;grid-row:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:12px 16px;border:1px solid var(--line);border-radius:8px;background:rgba(23,25,22,.65)}
.section-heading-actions{grid-column:2;grid-row:1;justify-self:end;width:max-content;max-width:100%;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:rgba(23,25,22,.65);flex-direction:row;flex-wrap:nowrap;align-items:center;gap:6px}
@media(max-width:760px){
  .section-heading{grid-template-columns:minmax(0,1fr);gap:10px}
  .section-heading-copy{grid-column:1;grid-row:1;padding:10px 12px}
  .section-heading-actions{grid-column:1;grid-row:2;justify-self:end;width:max-content;max-width:100%;padding:6px;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px}
  .section-heading-actions .section-action-button{width:auto;max-width:none}
}
@media(max-width:390px){
  .section-heading-actions{gap:4px;padding:5px}
  .section-heading-actions .section-action-button{padding:7px 6px;font-size:9px}
}
@media(max-width:340px){
  .section-heading-actions .section-action-button{padding:6px 4px;font-size:8px}
}


/* Section heading: tek alan, sağa yaslı aksiyonlar */
.section-heading{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:18px}
.section-heading-actions{display:flex;order:0;grid-column:auto;grid-row:auto;justify-self:auto;align-self:center;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:8px;width:auto;max-width:none;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent}
.section-heading-actions .section-action-button{width:auto;max-width:none}
@media(max-width:760px){
  .section-heading{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px}
  .section-heading-actions{order:0;grid-column:auto;grid-row:auto;justify-self:end;align-self:flex-end;flex:0 0 auto;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-end;gap:6px;width:max-content;max-width:100%;margin-left:auto;padding:0;border:0;border-radius:0;background:transparent}
}
@media(max-width:390px){
  .section-heading-actions{gap:5px}
}

/* Section heading: temiz başlık ve kompakt aksiyon düzeni */
.section-heading{display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;gap:24px;order:0;width:auto;max-width:none;margin:0 0 4px;padding:0 0 14px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}
.section-heading-copy{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:0;border:0;border-radius:0;background:transparent}
.section-kicker{display:inline-flex;align-items:center;gap:9px;margin:0 0 9px;color: var(--muted);white-space:nowrap}
.section-kicker::before{content:'';width:22px;height:1px;flex:none;background:var(--lime);opacity:.72}
.section-heading h2{margin:0;font-size:clamp(28px,3.6vw,38px);line-height:1.04;letter-spacing:-.6px}
.section-heading-actions{display:flex;order:0;flex:1 1 auto;align-self:auto;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px;width:auto;min-width:0;max-width:100%;margin:0 0 0 auto;padding:0;border:0;border-radius:0;background:transparent}
.section-heading-actions:empty,.section-heading-actions:not(:has(.section-action-button:not(.hidden))){display:none}
.section-heading-actions .section-action-button{width:auto;max-width:100%}
.section-heading .section-action-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:8px 12px 8px 14px;border: 1px solid var(--line-strong);border-radius:999px;background: var(--surface);color: var(--text);font-size:11px;font-weight:600;line-height:1;white-space:nowrap;box-shadow:inset 0 1px 0 rgba(255,255,255,.025);transition:border-color .18s,background .18s,color .18s,transform .18s}
.section-heading .section-action-button:hover{background: var(--surface-2);border-color: var(--line-strong);color: var(--accent-text);transform:translateY(-1px)}
.section-heading .section-action-button span{display:grid;place-items:center;width:19px;height:19px;flex:none;border-radius:50%;background: var(--surface-2);color: var(--accent-text);font-size:13px;line-height:1;transition:background .18s,color .18s}
.section-heading .section-action-button:hover span{background:var(--lime);color: var(--accent-ink)}
.section-heading .section-action-button:focus-visible{outline: 2px solid var(--focus);outline-offset:2px}
@media(max-width:760px){
  .section-heading{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;margin:0;padding:0 0 12px}
  .section-heading-copy{width:100%}
  .section-kicker{margin-bottom:7px;font-size:9px;letter-spacing:1px}
  .section-kicker::before{width:16px}
  .section-heading h2{font-size:27px;line-height:1.05;letter-spacing:-.45px}
  .section-heading-actions{flex:0 0 auto;align-self:stretch;width:100%;max-width:100%;margin:0;justify-content:flex-end;flex-wrap:wrap;gap:7px}
  .section-heading .section-action-button{min-height:34px;padding:7px 11px 7px 12px;font-size:10px;gap:7px}
  .section-heading .section-action-button span{width:18px;height:18px;font-size:12px}
}
@media(max-width:390px){
  .section-heading{gap:9px;padding-bottom:10px}
  .section-heading h2{font-size:25px}
  .section-heading-actions{gap:6px}
  .section-heading .section-action-button{min-height:33px;padding:7px 10px;font-size:9.5px}
}
@media(max-width:340px){
  .section-heading .section-action-button{padding:7px 9px;font-size:9px;gap:6px}
  .section-heading .section-action-button span{width:17px;height:17px;font-size:11px}
}

/* Player bar: yatay kaydırma ile önceki/sonraki istasyon (dokunmatik) */
.player-bar{-webkit-user-select:none;user-select:none}
.now-playing{touch-action:pan-y}
.player-swipe-hint{
  position:absolute;
  left:50%;
  bottom:calc(100% + 10px);
  z-index:6;
  padding:7px 13px;
  border: 1px solid var(--line-strong);
  border-radius:999px;
  background: color-mix(in srgb, var(--surface) 95%, transparent);
  color: var(--accent-text);
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:1.2px;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transform:translate(-50%,6px);
  transition:opacity .15s ease,transform .15s ease;
}
.player-bar.is-swiping .player-swipe-hint{opacity:1;transform:translate(-50%,0)}
.player-bar[data-swipe-direction="previous"] .player-previous,
.player-bar[data-swipe-direction="next"] .player-next-popular{background: var(--surface-2);border-color: var(--accent-border);color: var(--accent-text)}
@media(max-width:760px){
  /* Mobilde player bar'ın üstünde 58px'lik alt gezinme çubuğu var; ipucu onun üstünde kalsın. */
  .player-swipe-hint{bottom:calc(100% + 68px)}
}
@media(prefers-reduced-motion:reduce){.player-swipe-hint{transition:none}}

/* Player wave: çalma durumuna ve ses düzeyine tepki veren canlı animasyon */
.player-wave i{
  height:25px;
  transform:scaleY(.32);
  transform-origin:center;
  transition:transform .28s ease;
}
.player-wave.is-playing i{animation:none}
.player-wave.wave-running i{transition:none}
@media(prefers-reduced-motion:reduce){
  .player-wave i{transition:none}
}

/* Mobil durum satırındaki kompakt analizör. */
.player-wave-compact{display:none}
@media(max-width:760px){
  .player-state-viewport{display:flex;align-items:center;gap:7px;overflow:hidden;width:132px;max-width:100%}
  .player-state-viewport .player-state{flex:1 1 auto;min-width:0}
  .player-wave-compact{
    display:flex;
    flex:none;
    height:12px;
    align-items:center;
    gap:2px;
    opacity:.85;
  }
  .player-wave-compact i{width:2px;height:10px;transform:scaleY(.4)}
}

/* İstasyon satırı bağlam menüsü ve satır aksiyonları. */
.station-row{grid-template-columns:minmax(210px,1.4fr) minmax(100px,.7fr) minmax(82px,.55fr) 36px 34px 42px;gap:12px}
.favorite-sortable-row{grid-template-columns:24px minmax(210px,1.4fr) minmax(100px,.7fr) minmax(82px,.55fr) 36px 34px 42px}
html[data-view="favorites"] .favorite-sortable-row{grid-template-columns:24px minmax(210px,1.4fr) minmax(100px,.7fr) minmax(82px,.55fr) 36px 34px 42px}

.station-row .row-menu{opacity:.45;visibility:visible;font-size:20px;line-height:1;font-weight:700;color: var(--text-soft);transition:opacity .18s,color .18s,background .18s}
.station-row:hover .row-menu,.station-row:focus-within .row-menu,.station-row .row-menu:focus-visible,.station-row .row-menu[aria-expanded="true"]{opacity:1;color: var(--accent-text)}
.station-row .row-menu:hover{background: var(--surface-2)}

.station-menu{position:fixed;z-index:11;width:248px;max-width:calc(100vw - 20px);padding:8px;border: 1px solid var(--line-strong);border-radius:8px;background: var(--surface-2);color:var(--text);box-shadow: 0 18px 48px var(--shadow);transform-origin:top right}
.station-menu:focus{outline:none}
.station-menu-head{display:flex;align-items:flex-start;gap:10px;padding:8px 10px 10px;margin-bottom:6px;border-bottom: 1px solid var(--line-strong)}
.station-menu-eyebrow{margin:0 0 4px;color: var(--muted);font:9px var(--mono);letter-spacing:1.2px;text-transform:uppercase}
.station-menu-name{display:block;min-width:0;max-width:168px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}
.station-menu-close{flex:none;width:26px;height:26px;margin-left:auto;border:0;border-radius:50%;background:transparent;color: var(--muted);font-size:20px;line-height:1}
.station-menu-close:hover{background: var(--surface-2);color:var(--text)}
.station-menu-list{display:grid;gap:2px}
.station-menu-item{display:flex;align-items:center;gap:11px;width:100%;padding:10px;border:0;border-radius:5px;background:transparent;color: var(--text);font-size:12px;text-align:left}
.station-menu-item:hover,.station-menu-item:focus-visible{background: var(--surface-2);color: var(--accent-text);outline:none}
.station-menu-icon{display:grid;place-items:center;flex:none;width:18px;color: var(--accent-text);font-size:14px}
.station-menu-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.station-menu-item.is-favorite .station-menu-icon{color: var(--text)}
.station-menu-item[data-menu-action="hide"]{color: var(--text-soft)}
.station-menu-item[data-menu-action="hide"] .station-menu-icon{color: var(--text-soft)}
.station-menu-separator{height:1px;margin:5px 8px;background: var(--surface-2)}
.station-menu-backdrop{position:fixed;inset:0;z-index:10;background:transparent}

.toast{display:flex;align-items:center;gap:12px;z-index:12}
.toast.has-action{pointer-events:auto}
.toast-text{min-width:0}
.toast-action{flex:none;padding:2px;border:0;background:transparent;color: var(--accent-text);font:700 12px var(--sans);text-decoration:underline;text-underline-offset:3px}
.toast-action:hover{color: var(--accent-text)}

@media(max-width:1100px){
  .station-row{grid-template-columns:minmax(190px,1.5fr) minmax(90px,.8fr) 70px 34px 34px 38px;gap:9px}
  .favorite-sortable-row{grid-template-columns:24px minmax(190px,1.5fr) minmax(90px,.8fr) 70px 34px 34px 38px}
  html[data-view="favorites"] .favorite-sortable-row{grid-template-columns:24px minmax(190px,1.5fr) minmax(90px,.8fr) 70px 34px 34px 38px}
}

@media(max-width:760px){
  .station-row{grid-template-columns:minmax(0,1fr) 34px 34px;gap:8px;padding:10px 4px}
  .station-row .row-favorite{display:none!important}
  .station-row .row-menu{opacity:1}
  .station-row-skeleton .skeleton-action:nth-last-child(3){display:none}
  .favorite-sortable-row,
  html[data-view="favorites"] .favorite-sortable-row{grid-template-columns:28px minmax(0,1fr) 34px 34px}
  .station-menu-backdrop{background: var(--shadow);backdrop-filter:blur(2px)}
  .station-menu.is-sheet{left:0!important;right:0!important;top:auto!important;bottom:0!important;width:100%;max-width:none;border-radius:16px 16px 0 0;border-left:0;border-right:0;border-bottom:0;padding:10px 10px calc(14px + env(safe-area-inset-bottom,0px));animation:station-sheet-in .2s ease-out}
  .station-menu.is-sheet .station-menu-head{padding:12px}
  .station-menu.is-sheet .station-menu-name{max-width:none;font-size:15px}
  .station-menu.is-sheet .station-menu-item{padding:14px 12px;font-size:14px}
  .station-menu.is-sheet .station-menu-close{width:32px;height:32px}
  .toast{justify-content:center;text-align:center}
}

@keyframes station-sheet-in{from{transform:translateY(18px);opacity:.4}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.station-menu.is-sheet{animation:none}}
