@font-face{font-family:Inter;src:url("assets/Inter-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("assets/Inter-Bold.ttf") format("truetype");font-weight:700;font-display:swap}
@font-face{font-family:Oswald;src:url("assets/Oswald-Regular.ttf") format("truetype");font-weight:400;font-display:swap}
:root{color-scheme:light;--bg:#f6efdf;--surface:#efe6d4;--raised:#e8decb;--text:#0b2334;--muted:#335363;--accent:#8b3e08;--gold:#795013;--line:#b4b8b4;--rail:0px;--top:76px;--dock:80px;--nav:0px;--ease:cubic-bezier(.16,1,.3,1)}
html body.canon-v6.canon-v6{font-family:Inter,"Segoe UI",sans-serif!important}
body.v6-player-bound{padding-top:0!important}
.v6-player-bound #mg-radio-bar{display:none!important}
.site-footer{margin-top:40px;padding:24px 0;border-top:1px solid var(--line);color:var(--muted)}
.live-chat{margin-top:32px;border-top:1px solid var(--line)}
.live-chat>summary{min-height:44px;padding:16px 0;cursor:pointer;font-weight:700}
.live-chat>summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.service-links,.legal-links{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.service-links>a,.service-links>button,.legal-links>a,.legal-links>button{display:inline-flex;align-items:center;min-height:44px;min-width:44px;max-width:100%;padding:8px 0;text-align:left}
.legal-links{margin-top:20px;font-size:13px}
.registration-footer{max-width:85ch;margin-top:20px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.registration-footer p+p{margin-top:8px}
.registration-footer a{display:inline-flex;align-items:center;min-width:44px;min-height:44px;text-decoration:underline}
.service-links [data-account]{color:var(--text);font-weight:700}
.air-track{max-width:55ch;color:var(--text)!important}
.radio-actions{display:flex;flex-wrap:wrap;gap:8px}
.radio-actions button{display:flex;gap:8px;min-height:44px;white-space:normal;text-align:left}
.runtime-error{margin-top:20px;color:var(--text)}
.runtime-error a,.runtime-error button{text-decoration:underline;min-height:44px;display:inline-flex;align-items:center}
.canon-v6 .mg-consent{z-index:11000;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:#070706c9;max-height:none}
.canon-v6 .mg-consent__content{width:min(580px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:28px;color:var(--text);font:16px/1.6 Inter,sans-serif}
.canon-v6 .mg-consent__content h2{font:700 26px/1.2 Inter,sans-serif;margin:0 0 16px}
.canon-v6 .mg-consent__content p,.canon-v6 .mg-consent__necessary{color:var(--muted)}
.canon-v6 .mg-consent__button{min-height:44px;font:inherit;white-space:normal}
.canon-v6 .mg-consent__button--primary{background:var(--accent);color:var(--bg);border:0}
.canon-v6 .mg-consent__button--secondary{background:var(--raised);color:var(--text);border:1px solid var(--line)}
.canon-v6 .mg-consent-manage{display:none!important}
.recording-hub{position:fixed;inset:0;z-index:10500;display:grid;place-items:center;padding:20px;color:var(--text)}
.recording-hub__backdrop{position:absolute;inset:0;background:#070706db}
.recording-hub__card{position:relative;width:min(760px,100%);max-height:calc(100dvh - 40px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:24px;font:16px/1.6 Inter,sans-serif}
.recording-hub__head,.recording-library__head,.recording-subhead{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.recording-hub__head span{display:none}
.recording-hub h2{font-size:28px}.recording-hub h3{font-size:21px}
.recording-hub button{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:10px;padding:9px 14px;background:var(--raised);color:var(--text);white-space:normal;text-align:left}
.recording-hub button:disabled{color:var(--muted)}
.recording-hub [aria-pressed=true],.recording-hub .recording-primary{background:var(--accent);color:var(--bg)}
.recording-hub input{width:100%;min-height:44px;min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--bg);padding:8px;color:var(--text)}
.recording-hub__lead span,.recording-hub__lead strong{display:block;margin-bottom:8px}
.recording-hub__status,.recording-mode-hint,.recording-limit-note,.recording-empty,.recording-list-card__copy small,.air-plan-item span{color:var(--muted)}
.recording-choices,.recording-time-grid,.recording-mode{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}
.recording-choices b,.recording-choices small,.recording-new label,.air-plan-item b,.air-plan-item span{display:block}
.recording-new label{margin-bottom:12px}
.recording-auth,.recording-library,.air-plan-current,.recording-list-card,.air-plan-item{padding:18px 0;border-top:1px solid var(--line)}
.recording-list-card__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.recording-primary{margin-top:16px}
.recording-hub audio{width:100%}
@media(max-width:480px){.recording-hub{padding:10px}.recording-hub__card{padding:20px;max-height:calc(100dvh - 20px)}.recording-time-grid,.recording-choices{grid-template-columns:1fr}.canon-v6 .mg-consent__content{padding:20px}}
*{box-sizing:border-box}
html{background:var(--bg);scroll-padding-top:100px;scrollbar-color:var(--line) var(--bg)}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 Inter,"Segoe UI",sans-serif;overflow-wrap:break-word;--dock-active:0px}
body.away-from-air{--dock-active:80px}
::selection{background:var(--accent);color:var(--bg)}
a{color:inherit;text-decoration:none;text-underline-offset:4px}
button,input,select{font:inherit;color:inherit}button,select{cursor:pointer}button{border:0;background:none}button,a,input,select{touch-action:manipulation}
button:disabled{cursor:not-allowed;color:var(--muted);opacity:.65}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
input{caret-color:var(--accent)}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.025em;text-wrap:balance}h1{font-size:30px}h2{font-size:22px}img{display:block;max-width:100%;object-fit:cover}[hidden]{display:none!important}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.sprite{position:absolute;width:0;height:0;overflow:hidden}.icon{width:22px;height:22px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.skip-link{position:fixed;z-index:100;left:16px;top:8px;padding:10px 16px;background:var(--text);color:var(--bg);transform:translateY(-160%)}.skip-link:focus{transform:none}
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border-radius:10px;font-size:14px;font-weight:700;line-height:1.4;text-align:center}.button.primary{background:var(--text);color:var(--bg)}.button.primary:hover{background:var(--gold)}.button.outline{border:1px solid var(--line)}.button.outline:hover{background:var(--raised)}
.route-view{min-height:55vh;max-width:1080px;margin:auto}.route-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.route-view h1{font-size:34px}.route-intro{max-width:65ch;font-size:18px;line-height:1.65;margin:18px 0 12px}.route-note,.programme-stamp{font-size:13px;color:var(--muted);margin-bottom:20px}.programme-current{display:grid;gap:6px;margin:24px 0;padding:18px 0;border-block:1px solid var(--line)}.programme-current>span{color:var(--muted);font-size:14px}.programme-current strong{font-size:23px}.programme-list{list-style:none;margin:0 0 28px;padding:0}.programme-list li{display:grid;grid-template-columns:64px minmax(0,1fr);gap:22px;padding:16px 0;border-bottom:1px solid var(--line)}.programme-list time{color:var(--gold);font-variant-numeric:tabular-nums}.programme-list strong,.programme-list span{display:block}.programme-list span{color:var(--muted);font-size:14px;margin-top:4px}
.artists-list{margin-top:30px}.artists-list details{border-bottom:1px solid var(--line);padding:8px 0}.artists-list summary{display:flex;align-items:center;gap:14px;min-height:56px;cursor:pointer}.artists-list summary small{margin-left:auto;color:var(--muted);font-size:13px}.artists-list ul{padding-left:48px;line-height:1.9;color:var(--muted)}.editorial{max-width:70ch;padding:24px 0 64px}.editorial .button{margin-top:18px}.about-radio{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:48px;margin-bottom:36px}.about-radio>img{width:220px;height:260px;object-position:center 50%;border-radius:12px}
.station-footer{border-top:1px solid var(--line);margin-top:44px;padding-top:24px;color:var(--muted);font-size:13px}.footer-tools{display:flex;align-items:center;flex-wrap:wrap;gap:10px 24px}.footer-tools>a,.footer-tools>button{min-height:44px}.station-footer .legal-links{display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:16px}.radio-station #feedback-inline #mgfb-launch{position:static!important;margin:0!important;inset:auto!important;transform:none!important;min-height:44px!important}.radio-station #mg-radio-bar{display:none!important}
.station-dock{position:fixed;z-index:20;inset:auto 0 var(--nav);min-height:80px;padding:12px max(24px,calc((100vw - 1376px)/2));display:flex;align-items:center;gap:24px;background:var(--surface);border-top:1px solid var(--line)}.dock-info{min-width:0;flex:1}.dock-info strong,.dock-info span{display:block}.dock-info strong{font-size:14px}.dock-info span{max-width:65ch;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--muted);font-size:12px}.station-mobile-nav{display:none}#network-status{padding:12px 0;color:var(--gold);font-size:14px}
/* Radio-only continuation of the accepted cream/fire/cyan surface. */
body.radio-station{--gold:var(--accent);--mgc-bg:var(--bg);--mgc-pan:var(--surface);--mgc-bd:var(--line);--mgc-tx:var(--text);--mgc-mut:var(--muted);--mgc-acc:var(--accent);--mgc-gold:var(--accent)}
body.radio-station .mgc-page{color-scheme:light;scrollbar-color:var(--line) var(--bg)}
body.radio-station :is(.mgc-disclosure,.mgc-rules,.mgc-banner,.mgc-pin,.mgc-ac,.mgc-day,.mgc-react,.mgc-picker,.mgc-nmenu,.mgc-people,.mgc-admin,.mgc-genask,.mgc-sand,.mgc-pile,.mgc-rx,.mgc-qv,.mgc-donpop,.mgc-guide,.mgc-whbar,.mgc-chips button,.mgc-page.sideon .mgc-side){background:var(--surface);color:var(--text);border-color:var(--line)}
body.radio-station .mgc-entry{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:none}
body.radio-station :is(.mgc-panel-caption,.mgc-guide,.mgc-time,.mgc-boot){color:var(--muted)}
body.radio-station :is(.mgc-embedded .mgc-authgate button,.mgc-authgate a.primary,.mgc-sendb,.mgc-entry .cta){background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:none}
body.radio-station :is(.mgc-ta,.mgc-admin input,.mgc-admin textarea,.mgc-nmenu input){background:var(--bg);color:var(--text);border-color:var(--line)}
body.radio-station .mgc-sidebd{background:rgba(11,35,52,.3);color:var(--bg);box-shadow:0 4px 16px rgba(11,35,52,.15);backdrop-filter:none}
body.radio-station .mgc-newpill{background:var(--text);color:var(--bg);border-color:var(--text);box-shadow:0 4px 16px rgba(11,35,52,.15);backdrop-filter:none}
body.radio-station .mgc-page .mgc-newpill:focus-visible{outline:2px solid var(--bg);outline-offset:-4px}
body.radio-station :is(.mgc-guide,.mgc-embedded.mgc-page.sideon .mgc-side,.mgc-picker,.mgc-nmenu){box-shadow:0 8px 24px rgba(11,35,52,.12)}
body.radio-station :is(.mgc-page button,.mgc-page a,.mgc-page textarea):focus-visible{outline:2px solid var(--accent);outline-offset:-3px}
body.radio-station #mgfb-launch{background:var(--surface);color:var(--text);border-color:var(--line);box-shadow:none}
body.radio-station #mgfb-panel{background:rgba(11,35,52,.4);color:var(--text);color-scheme:light}
body.radio-station #mgfb-panel .mgfb-card{background:var(--surface);border-color:var(--line);box-shadow:0 18px 60px rgba(11,35,52,.2)}
body.radio-station #mgfb-panel h2{color:var(--text)}
body.radio-station #mgfb-panel .mgfb-muted{color:var(--muted)}
body.radio-station #mgfb-panel :is(input:not([type=checkbox]):not([type=file]),textarea){background:var(--bg);color:var(--text);border-color:var(--line)}
body.radio-station #mgfb-panel .mgfb-btn{background:var(--raised);color:var(--text);border-color:var(--line)}
body.radio-station #mgfb-panel .mgfb-primary{background:var(--text);color:var(--bg);border-color:var(--text)}
body.radio-station #mgfb-panel :is(.mgfb-drop,.mgfb-file,details){border-color:var(--line)}
body.radio-station #mgfb-panel summary{color:var(--accent)}
body.radio-station #mgfb-panel :is(button,input,textarea,summary):focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body.radio-station #mgfb-panel .mgfb-status{color:#28603c}
body.radio-station #mgfb-panel .mgfb-status[data-error=true]{color:#9b2c21}
body.radio-station #mgfb-panel :is(input[type=checkbox],progress){accent-color:var(--accent)}
body.radio-station .mgc-guide :is(summary,h3,strong,b),body.radio-station .mgc-entry :is(.st,.ln .n){color:var(--accent)}
body.radio-station .mgc-entry .tt{color:var(--text)}
body.radio-station :is(.mgc-count.over,.mgc-count.stop,.mgc-nmenu button.danger,.mgc-abtn.danger,.mgc-whbar button.danger){color:#9b2c21}

/* Accepted open-flow composition, integrated into the existing radio UI. Material/hero remain static. */
:root{--bg:#f6efdf;--surface:#eee6d7;--raised:#e5dccb;--text:#071c3b;--muted:#526475;--line:#c9c6bb;--accent:#9c4008;--gold:var(--accent);--wave:#ff6b08;--partner:#00647a;--shadow:#071c3b22;--nav:0px;--companion-height:96px}
:root[data-scene-theme=dark]{color-scheme:dark;--bg:#070706;--surface:#15120f;--raised:#28231c;--text:#f6e6c5;--muted:#b5a791;--line:#494237;--partner:#04aedd;--shadow:#0009}
body.radio-station{--wave:#ff6b08;--accent:#9c4008;--brand-sferoom-ink:var(--partner)}body.radio-station:has(.wave-selector [data-wave=light][aria-pressed=true]){--wave:#04aedd;--accent:#00647a}:root[data-scene-theme=dark] body.radio-station{--accent:var(--wave)}
html{scroll-padding-top:24px;scroll-padding-bottom:calc(var(--nav) + 24px);scrollbar-color:var(--muted) var(--bg)}::selection{background:var(--wave);color:#071c3b}input,select{accent-color:var(--wave)}
.station-header{position:relative;max-width:1344px;min-height:88px;margin:auto;padding:0 32px;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto 44px;align-items:center;gap:24px;border-bottom:1px solid var(--line);background:var(--bg);z-index:40}
.station-brand{display:flex;align-items:center;gap:10px;min-height:44px;white-space:nowrap}.station-brand img{width:40px;height:44px;object-fit:contain}.brand-type{display:flex;flex-direction:column;line-height:1.1}.brand-prefix{font-size:12px}.station-brand strong{font:700 25px/1.1 Inter,sans-serif;letter-spacing:-.025em;color:var(--text)}
.station-nav{display:flex;align-items:center;justify-content:center;gap:22px}.station-nav a{display:flex;align-items:center;min-height:48px;font-size:14px;white-space:nowrap}.station-nav .icon{display:none}.station-nav [aria-current=page]{color:var(--accent);box-shadow:inset 0 -2px var(--wave);font-weight:700}
.station-account{display:flex;align-items:center;gap:12px}.station-account .button{min-height:44px;padding:8px 12px;font-size:13px;font-weight:400;border-radius:7px}.station-account [data-register]{background:none;color:var(--text);border:1px solid var(--text)}.station-account [data-register]:hover{background:var(--surface)}.station-account [data-account]{border:0;padding-inline:0}.language-control select{width:100px;max-width:100%;min-height:44px;border:1px solid var(--line);border-radius:6px;padding:8px;background:var(--bg);font-size:12px}
.scene-options{position:relative;width:44px;z-index:80}.scene-options>summary{width:44px;height:44px;display:grid;place-items:center;list-style:none;cursor:pointer;border-radius:7px}.scene-options>summary::-webkit-details-marker{display:none}.scene-options>summary:hover{background:var(--surface)}.scene-options summary svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.scene-settings{position:absolute;right:0;top:calc(100% + 12px);display:grid;gap:14px;min-width:280px;width:min(320px,calc(100vw - 24px));max-height:calc(100dvh - 100px);overflow:auto;overscroll-behavior:contain;padding:18px;background:var(--bg);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px var(--shadow)}.scene-settings label{display:grid;gap:5px;font-size:13px}.scene-settings select{width:100%;min-height:44px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:8px}.scene-menu{display:flex;flex-wrap:wrap;gap:0 16px;border-top:1px solid var(--line);padding-top:8px}.scene-menu a{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:12px;text-decoration:underline}.scene-menu .icon{width:16px;height:16px}
.station-main{max-width:1280px;margin:0 auto;padding:20px 32px calc(var(--nav) + var(--dock-active) + 24px)}.air-layout{display:block}.station-player{display:flex;flex-direction:column;min-width:0}.air-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px;min-height:52px}.wave-selector{display:flex;padding:3px;border:1px solid var(--line);border-radius:28px}.wave-selector button{min-width:100px;min-height:44px;padding:8px 16px;border-radius:24px;font-size:14px;font-weight:700;color:var(--muted)}.wave-selector [aria-pressed=true]{background:color-mix(in srgb,var(--wave) 16%,var(--bg));color:var(--accent);box-shadow:inset 0 0 0 1px var(--wave)}.theme-toggle{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:8px 10px;font-size:13px;border-radius:7px}.theme-toggle .icon{width:19px;height:19px}.theme-toggle:hover{background:var(--surface)}
.album-surface{display:block}.now-playing{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:72px;align-items:center;min-width:0}.station-art{width:min(100%,500px);position:relative;aspect-ratio:auto;justify-self:center;min-width:0}.cover-wrap{position:relative;margin:0}.cover-wrap:has(.cover-caption:not([hidden])){padding-bottom:32px}.cover-stage{width:100%;aspect-ratio:1;position:relative;isolation:isolate;overflow:visible}.flow-wrap{position:absolute;inset:0;pointer-events:none;user-select:none}.flow-texture{display:block;width:100%;height:100%}.flow-rear{z-index:0}.flow-rear>.flow-texture{overflow:visible}.flow-front{z-index:2;inset:auto;left:52%;top:41%;width:43%;height:43%}.flow-front>.flow-texture{overflow:hidden}[data-cover-wave=light] .flow-texture{filter:hue-rotate(170deg) saturate(1.25)}[data-art-mode=off] .flow-wrap{display:none}
.cover-image-plane{position:absolute;z-index:1;left:22%;top:14%;width:68%;height:68%;background:var(--bg)}.cover-image-plane[data-logo=true]{background:none}
.station-art:has(.cover-image-plane[data-logo=true]) .cover-image-plane{left:30%!important;top:0!important;width:60%!important;height:60%!important}.station-art:has(.cover-image-plane[data-logo=true]) .station-logo{width:100%;height:100%;margin:0}.station-art:has(.cover-image-plane[data-logo=true]) .flow-rear{transform:translateX(45%) scale(.4);transform-origin:left bottom}.station-art:has(.cover-image-plane[data-logo=true]) .flow-front{display:none}.cover-image{width:100%;height:100%;object-fit:contain;transform:none!important;filter:drop-shadow(0 12px 14px var(--shadow))}.cover-image.station-logo{width:44%;height:44%;margin:28%;filter:none}.scene-ground{position:absolute;z-index:0;left:0;right:0;top:93%;height:5%;background:radial-gradient(ellipse at center,#071c3b24,transparent 70%);filter:blur(3px);transform:translateY(4px);pointer-events:none}:root[data-scene-theme=dark] .scene-ground{background:radial-gradient(ellipse at center,#d4a14b20,transparent 70%)}.companion-slot{position:absolute;z-index:3;left:4%;bottom:5%;height:var(--companion-height);width:74px;display:flex;align-items:flex-end;justify-content:center;pointer-events:none}.companion-sprite{display:block;height:100%;width:auto;overflow:visible;position:relative;z-index:1}.companion-shadow{position:absolute;left:8%;right:8%;height:7px;bottom:-3px;background:#071c3b22;border-radius:50%;filter:blur(3px)}:root[data-scene-theme=dark] .companion-shadow{background:#0009}.cover-caption{position:absolute;top:calc(100% + 2px);left:0;right:0;margin:0;text-align:center;font-size:11px;line-height:1.35;color:var(--muted)}
.track-copy{min-width:0;padding:12px 0 0}.track-heading [data-track-artist]{font-size:clamp(36px,3.3vw,44px);font-weight:700;line-height:1.08;letter-spacing:-.035em;margin:0 0 12px;overflow-wrap:anywhere}.track-heading [data-track-artist]:empty{display:none}.track-heading h2{font-size:30px;font-weight:400;line-height:1.25;letter-spacing:-.025em;margin:0 0 26px;overflow-wrap:anywhere;text-wrap:initial}
.player-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0;padding:0;position:static;min-height:68px;border:0;background:none}.play-button{display:inline-flex;align-items:center;justify-content:center;flex:none;width:52px;height:52px;background:var(--text);color:var(--bg);border-radius:50%}.player-controls>.play-button{width:auto;height:auto;min-height:68px;display:inline-flex;align-items:center;gap:16px;border-radius:0;padding:0;background:none;color:var(--text)}.play-circle{width:68px;height:68px;display:grid;place-items:center;background:var(--wave);color:#071c3b;border-radius:50%;flex:none}.play-circle .icon{width:30px;height:30px;fill:currentColor;stroke-width:1.5}.play-caption{font-size:24px;font-weight:700;letter-spacing:-.02em}.play-button:hover .play-circle{filter:brightness(1.07)}.player-state{font-size:12px;line-height:1.5;color:var(--muted);margin:10px 0 16px;min-height:18px}.volume{display:flex;align-items:center;gap:8px;min-width:0;font-size:12px}.volume input{width:94px;height:44px;max-width:100%;cursor:pointer;accent-color:var(--wave)}.volume output{min-width:30px;color:var(--muted);font-variant-numeric:tabular-nums}
.participation{padding:4px 0 12px;border-bottom:1px solid var(--line)}.reaction-line{display:flex;align-items:center;gap:8px;min-width:0}.radio-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px;min-width:0}.reaction{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:52px;gap:6px;padding:4px 7px;border-radius:6px}.reaction .icon{width:23px;height:23px}.reaction-count{font-size:12px;font-variant-numeric:tabular-nums;color:var(--muted)}.reaction[data-radio-action=encore]{margin-left:8px}.reaction[aria-disabled=true]{color:var(--muted)}.reaction:hover{background:var(--surface)}.reaction-tip{position:absolute;z-index:70;left:50%;bottom:calc(100% + 8px);width:max-content;max-width:220px;padding:8px 10px;border-radius:6px;background:var(--text);color:var(--bg);font-size:12px;line-height:1.45;box-shadow:0 5px 16px var(--shadow);transform:translateX(-50%);opacity:0;visibility:hidden;pointer-events:none}.reaction:hover .reaction-tip,.reaction:focus .reaction-tip{visibility:visible;opacity:1}.audience{display:flex;align-items:center;gap:6px;margin-left:auto;color:var(--muted);font-size:12px;white-space:nowrap}.audience .icon{width:18px;height:18px}.reaction-help{position:relative;flex:none}.reaction-help summary{display:grid;place-items:center;width:44px;min-height:44px;border-radius:6px;list-style:none;cursor:pointer}.reaction-help summary::-webkit-details-marker{display:none}.reaction-help summary:hover{background:var(--surface)}.reaction-help-panel{position:fixed;z-index:70;width:280px;max-width:calc(100vw - 24px);padding:16px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px var(--shadow);font-size:13px;line-height:1.5;overflow:auto;overscroll-behavior:contain}.reaction-help-panel ul{display:grid;gap:14px;list-style:none;padding:0;margin:16px 0 0}.reaction-help-panel li{display:flex;align-items:flex-start;gap:12px}.reaction-help-panel small{display:block;margin-top:3px;color:var(--muted);font-size:12px}.participation [data-action-status]{font-size:11px;line-height:1.45;color:var(--muted);margin:5px 0 0}.participation [data-action-status]:empty{display:none}
.track-details{margin:8px 0 12px;color:var(--muted);font-size:13px;border-bottom:1px solid var(--line)}.track-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer}.track-details p{margin-bottom:8px;overflow-wrap:anywhere}.secondary-actions{display:flex;align-items:center;justify-content:flex-start;gap:24px;margin-top:10px}.secondary-actions :is(button,a){min-height:44px;display:inline-flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;white-space:nowrap}.secondary-actions .icon{width:19px;height:19px}.secondary-actions .granapri-link{color:var(--accent);font-weight:700}.secondary-actions button:hover,.secondary-actions a:hover{text-decoration:underline;text-underline-offset:4px}
.station-chat{grid-area:auto;margin-top:24px;padding:16px 0 0;border-top:1px solid var(--line);max-width:100%;scroll-margin-top:24px}.station-chat summary{display:flex;align-items:center;min-height:44px;cursor:pointer;margin-bottom:12px}.station-chat h2{font-size:18px}.station-chat #mg-chat{max-width:100%;min-height:0}.station-chat iframe{max-width:100%}.station-chat .account-note{font-size:12px;color:var(--muted);margin-top:12px}.station-chat .mgc-head>.h-t{display:none}.station-chat .mgc-embedded.mgc-page{min-height:0;max-height:none}.station-chat .mgc-authgate{font-size:12px;line-height:1.45}.station-chat .mgc-authgate .ab{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.station-chat .mgc-authgate .ab>:first-child{grid-column:1/-1}.station-chat .mgc-authgate .ab :is(button,a){min-width:0;min-height:44px;padding:8px;white-space:normal}
#air-partner{margin:30px 0 0}.partner{display:flex;align-items:center;flex-wrap:wrap;gap:10px 20px;padding:14px 0;border-block:1px solid var(--line)}.partner-heading{display:flex;align-items:center;gap:10px}.partner-heading img{width:26px;height:26px;object-fit:contain}.brand-sferoom{color:var(--partner);font-size:17px;font-weight:700}.partner-heading h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.partner-discount{max-width:38ch;color:var(--muted);font-size:12px}.partner-code{display:flex;align-items:center;gap:6px;margin-left:auto}.partner-code label{display:none}.partner-code input{background:var(--bg);border:1px solid var(--line);border-radius:6px;width:118px;min-height:44px;padding:8px;font-size:12px;color:var(--partner)}.partner-code .button{padding:8px;min-width:44px;color:var(--partner);border-radius:6px}.partner-code button [data-i18n]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.partner-links{display:flex;flex-wrap:wrap;gap:0 18px}.partner-links a{min-height:44px;font-size:11px}.partner-links .icon{width:13px;height:13px}.partner-note{font-size:11px;color:var(--muted);max-width:76ch}.station-footer{margin-top:20px;padding-top:12px}.station-footer .legal-links{margin-top:8px;font-size:11px}.station-mobile-nav{display:none}.preview-note{font-size:12px;color:var(--muted)}.cover-proof-tools{padding:8px 12px;font-size:12px;background:var(--surface)}
@media(max-width:1160px){.station-header{gap:16px}.station-nav{gap:14px}.station-nav a{font-size:13px}.station-account{gap:8px}.now-playing{gap:40px}.play-caption{font-size:22px}.volume output{display:none}.volume input{width:80px}}
@media(max-width:950px){.station-header{grid-template-columns:auto 1fr auto auto;min-height:76px}.station-nav{display:none}.station-account{justify-content:flex-end}.now-playing{gap:24px}.track-heading [data-track-artist]{font-size:36px}.track-heading h2{font-size:26px}.player-controls{gap:10px}.play-caption{font-size:20px}.volume input{width:64px}.secondary-actions{gap:14px}}
@media(max-width:760px){:root{--nav:64px;--companion-height:54px}.station-header{grid-template-columns:minmax(0,1fr) auto 44px;min-height:68px;padding:8px 16px;gap:8px}.station-brand{gap:5px}.station-brand img{width:29px;height:38px}.brand-prefix{font-size:10px}.station-brand strong{font-size:20px}.station-account{grid-column:2;grid-row:1}.station-account [data-account],.station-header>.language-control{display:none}.station-account:has([data-register][hidden]) [data-account]{display:inline-flex}.station-account .button{padding:7px 11px;font-size:12px}.scene-options{grid-column:3;grid-row:1}.scene-settings{right:0}.station-main{padding:12px 16px calc(var(--nav) + var(--dock-active) + 20px)}.air-heading{margin-bottom:8px;min-height:50px;gap:8px}.wave-selector{padding:2px}.wave-selector button{min-width:78px;min-height:44px;padding:7px 11px;font-size:13px}.theme-toggle{width:44px;padding:8px}.theme-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.now-playing{display:flex;flex-direction:column;gap:0;align-items:stretch}.station-art{width:270px;max-width:100%;align-self:center}.companion-slot{width:46px;left:3%}.companion-shadow{height:5px;filter:blur(2px)}.cover-caption{font-size:10px}.cover-wrap:has(.cover-caption:not([hidden])){padding-bottom:28px}.track-copy{padding:0}.track-heading [data-track-artist]{font-size:30px;line-height:1.1;letter-spacing:-.03em;margin-bottom:5px}.track-heading h2{font-size:22px;line-height:1.2;margin-bottom:14px}.player-controls{position:static;inset:auto;gap:12px;min-height:64px;margin:0;padding:0;background:none;border:0;flex-wrap:nowrap}.player-controls>.play-button{min-height:64px;gap:12px}.play-circle{width:64px;height:64px}.play-circle .icon{width:27px;height:27px}.play-caption{font-size:20px}.volume{margin-left:auto;gap:4px}.volume input{width:76px}.volume output{display:none}.volume .icon{width:21px;height:21px}.player-state{font-size:11px;margin:7px 0 8px}.participation{padding:0 0 7px}.reaction-line{gap:4px;flex-wrap:wrap}.radio-actions{gap:0;flex:1}.reaction{min-height:44px;min-width:44px;padding:4px 4px;gap:5px}.reaction[data-radio-action=encore]{margin-left:4px}.reaction .icon{width:21px;height:21px}.audience{font-size:11px;gap:3px}.audience .icon{width:16px;height:16px}.reaction-help summary{width:44px}.reaction-tip{max-width:180px}.reaction[data-radio-action=up] .reaction-tip{left:0;transform:none}.reaction[data-radio-action=skip] .reaction-tip{left:auto;right:0;transform:none}.track-details{font-size:12px;margin:4px 0 8px}.secondary-actions{justify-content:space-between;gap:8px;margin-top:4px}.secondary-actions :is(button,a){font-size:12px;gap:6px}.secondary-actions .icon{width:17px;height:17px}.station-chat{margin-top:18px}.station-mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;min-height:64px;padding:4px 12px calc(4px + env(safe-area-inset-bottom,0px));background:var(--bg);border-top:1px solid var(--line)}.station-mobile-nav a{min-height:52px;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;color:var(--muted)}.station-mobile-nav [aria-current=page]{color:var(--accent)}.station-mobile-nav .icon{width:21px;height:21px}.station-dock{bottom:var(--nav);min-height:72px;gap:14px;padding:10px 16px}.station-dock .volume{display:none}.station-dock .play-button{width:46px;height:46px}.partner{padding:8px 0;gap:8px 12px}.partner-heading img{width:20px;height:22px}.brand-sferoom{font-size:13px}.partner-discount{max-width:22ch;font-size:10px}.partner-code{margin-left:0}.partner-code input{width:108px;font-size:10px}.partner-links{gap:0 16px}.partner-note{font-size:10px}.route-view h1{font-size:28px}.route-intro{font-size:16px}.programme-list li{grid-template-columns:48px minmax(0,1fr);gap:14px}.about-radio{grid-template-columns:1fr;gap:24px}.about-radio>img{width:100%;height:240px}.scene-menu{font-size:12px}}
@media(max-width:370px){:root{--companion-height:52px}.station-header{padding-inline:12px}.station-brand strong{font-size:19px}.station-account .button{padding-inline:9px}.station-main{padding-inline:12px}.station-art{width:230px}.companion-slot{width:40px}.track-heading [data-track-artist]{font-size:29px}.play-caption{font-size:19px}.player-controls>.play-button{gap:10px}.volume input{width:66px}.reaction-help summary{width:44px}.reaction-count{font-size:11px}}
.compact-copy .track-heading [data-track-artist]:not(:empty),.compact-copy .track-heading h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;text-overflow:ellipsis}
@media(max-width:760px){.now-playing.compact-copy{display:grid;grid-template-columns:minmax(0,1fr)}.compact-copy .track-copy{display:contents}.compact-copy .player-controls{order:0;margin-bottom:12px}.compact-copy .station-art{order:1;width:180px;justify-self:center}.compact-copy .track-heading{order:2}.compact-copy .player-state{order:3}.compact-copy .participation{order:4}.compact-copy .track-details{order:5}.compact-copy .secondary-actions{order:6}.compact-copy .companion-slot{height:42px;width:32px}.compact-copy .scene-ground{transform:translateY(2px)}.compact-copy .track-heading [data-track-artist]{font-size:24px;line-height:1.1}.compact-copy .track-heading h2{font-size:20px;line-height:1.2;margin-bottom:6px}}
@media(max-height:760px) and (max-width:760px){.station-art{width:220px}.track-heading [data-track-artist]{font-size:28px}.track-heading h2{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Native guest layout: keep every control, scroll the guide, reserve the auth footer. */
.station-chat .mgc-page:has(.mgc-authgate.on){height:376px;max-height:376px}.station-chat:has(.mgc-authgate.on) .account-note{display:none}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-head{flex-wrap:nowrap;gap:4px;min-height:60px;max-height:60px;padding:4px 6px;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-head::-webkit-scrollbar{height:4px}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-head>*{flex:0 0 auto}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-head .mgc-hbtn{min-width:44px;min-height:44px}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-guide{flex:0 1 auto;min-height:44px;max-height:106px;overflow:hidden}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-guide .gh{min-height:44px;padding:0 6px;gap:4px;font-size:11px}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-guide .gb{max-height:60px;padding-inline:8px;overflow:auto}.station-chat .mgc-comp:has(.mgc-authgate.on){padding:6px 8px 4px}.station-chat .mgc-authgate.on{padding:4px 0 0}.station-chat .mgc-authgate .ab:has(>:nth-child(2):last-child){grid-template-columns:minmax(0,1fr)}@media(max-width:767px){.station-chat .mgc-page:has(.mgc-authgate.on){height:400px;max-height:400px}}
.programme-list .programme-day{display:block}

/* Scoped privacy colours follow the existing theme; management stays in document flow. */
.canon-v6 .mg-consent,.canon-v6 .mg-consent-manage{--mg-consent-bg:var(--surface);--mg-consent-text:var(--text);--mg-consent-muted:var(--muted);--mg-consent-accent:var(--text);--mg-consent-border:var(--line)}
.canon-v6 .mg-consent__content h2{color:var(--text)}
.canon-v6 .mg-consent__content a{color:var(--text);text-decoration:underline;text-underline-offset:.18em}
.canon-v6 .mg-consent__button--quiet{color:var(--muted)}
.canon-v6 .mg-consent__button:focus-visible,.canon-v6 .mg-consent-manage:focus-visible{outline-color:var(--text)}
.canon-v6 .mg-consent-manage{display:flex!important;position:relative;inset:auto;z-index:auto;align-items:center;justify-content:center;width:fit-content;max-width:calc(100% - 32px);min-height:44px;margin:16px 16px calc(16px + var(--dock,0px) + var(--nav,0px));padding:8px 12px;color:var(--text);background:var(--surface);border-color:var(--line);box-shadow:none;font-size:12px;line-height:1.4;white-space:normal;opacity:1}

/* Full canonical Grana: 96px desktop, 64px phone, outside cover and controls. */
.station-art[data-character=grana] .companion-slot{height:96px;width:54.7826px;left:6%;bottom:5%;pointer-events:none}
@media(max-width:760px){.station-art[data-character=grana] .companion-slot{height:64px;width:36.5217px;left:min(2px,calc(22% - 44.5217px));bottom:5%}}

/* Keep enlarged labels and player actions inside the mobile content width. */
.cover-wrap:has(.cover-caption:not([hidden])){padding-bottom:max(32px,3.5em)}
@media(max-width:760px){
 .station-header{grid-template-columns:auto minmax(0,1fr) 44px}
 .station-account,.station-account .button{min-width:0;max-width:100%}
 .station-account .button{white-space:normal;overflow-wrap:anywhere}
 .player-controls,.secondary-actions{flex-wrap:wrap}
 .secondary-actions :is(button,a){min-width:0;white-space:normal;overflow-wrap:anywhere}
}

/* 20261101: one coherent artwork plane for real covers and station artwork. */
#air-view{max-width:1168px;margin-inline:auto}
#air-view .now-playing{grid-template-columns:minmax(0,480px) minmax(0,1fr);gap:72px;align-items:start}
#air-view .station-art{width:100%;max-width:480px;justify-self:start}
#air-view .cover-wrap,#air-view .cover-wrap:has(.cover-caption:not([hidden])){padding-bottom:30px}
#air-view .cover-stage{aspect-ratio:1}
#air-view .station-art .cover-image-plane,#air-view .station-art:has(.cover-image-plane[data-logo=true]) .cover-image-plane{left:0!important;top:0!important;width:100%!important;height:100%!important;background:none;border-radius:12px}
#air-view .station-art .cover-image,#air-view .station-art:has(.cover-image-plane[data-logo=true]) .station-logo{display:block;width:100%;height:100%;margin:0;object-fit:contain;filter:none;border-radius:12px}
#air-view .station-art .flow-wrap,#air-view .station-art .scene-ground{display:none}
#air-view .station-art:not([data-cover-state=cover]) .companion-slot{display:none}
#air-view .station-art[data-cover-state=cover] .companion-slot{height:112px;width:64px;left:-76px;bottom:0}
#air-view .cover-caption{top:calc(100% + 10px);font-size:12px;line-height:18px;color:var(--muted)}
#air-view .track-copy{padding-top:16px;align-self:start}
#air-view .track-heading [data-track-artist]{font-size:42px;line-height:1.1;letter-spacing:-.03em;margin-bottom:12px}
#air-view .track-heading h2{font-size:28px;line-height:1.28;letter-spacing:-.02em;margin-bottom:28px}
#air-view .player-controls>.play-button{min-height:68px}
#air-view .play-circle{width:68px;height:68px}
:root[data-scene-theme=dark] body.radio-station:has(.wave-selector [data-wave=light][aria-pressed=true]){--accent:var(--wave)}
@media(min-width:1001px){#air-view .air-heading{margin-bottom:28px}}
@media(min-width:761px) and (max-width:1000px){
 #air-view .now-playing{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px}
 #air-view .track-heading [data-track-artist]{font-size:34px}
 #air-view .track-heading h2{font-size:25px}
 #air-view .station-art[data-cover-state=cover] .companion-slot{left:-44px;height:80px;width:46px}
}
@media(max-width:760px){
 #air-view .now-playing,#air-view .now-playing.compact-copy{display:flex;flex-direction:column;align-items:stretch;gap:0}
 #air-view .station-art,#air-view .compact-copy .station-art{width:248px;max-width:100%;align-self:center;margin:0 0 12px;order:0}
 #air-view .track-copy,#air-view .compact-copy .track-copy{display:block;padding:0;order:1}
 #air-view .track-heading [data-track-artist],#air-view .compact-copy .track-heading [data-track-artist]{font-size:30px;line-height:1.1;margin-bottom:6px}
 #air-view .track-heading h2,#air-view .compact-copy .track-heading h2{font-size:22px;line-height:1.27;margin-bottom:18px}
 #air-view .player-controls,#air-view .compact-copy .player-controls{margin:0;min-height:60px}
 #air-view .player-controls>.play-button{min-height:60px;gap:12px}
 #air-view .play-circle{width:60px;height:60px}
 #air-view .play-caption{font-size:20px}
 #air-view .station-art[data-cover-state=cover] .companion-slot{left:-49px;bottom:0;height:64px;width:37px}
 #air-view .cover-caption{font-size:11px}
}
@media(max-width:370px){
 #air-view .station-art,#air-view .compact-copy .station-art{width:224px}
 #air-view .track-heading [data-track-artist],#air-view .compact-copy .track-heading [data-track-artist]{font-size:28px}
 #air-view .track-heading h2,#air-view .compact-copy .track-heading h2{font-size:21px}
}

/* Account recovery belongs beside the active sign-in control. */
.station-account [data-account]{min-width:44px}
.account-login-status{grid-column:1/-1;justify-self:end;max-width:48ch;margin:0;padding:0 0 12px;color:var(--text);font-size:14px;line-height:1.5;overflow-wrap:anywhere}
@media(max-width:760px){.account-login-status{position:fixed;inset:auto 12px calc(64px + env(safe-area-inset-bottom,0px) + 8px);z-index:40;max-width:none;margin:0;padding:12px 16px;background:var(--bg);border:1px solid var(--line);border-radius:7px}}

/* Discussion stays with the main and compact players. */

/* Qualified no-cover warm visualizer; native spectral tap, no independent loop. */
.cover-visual{position:absolute;inset:0;overflow:hidden;border-radius:inherit;background:linear-gradient(135deg,#fff9e9,#f5dfbb)}.cover-visual-canvas,.cover-visual-rest{display:block;width:100%;height:100%}.cover-visual-rest{position:absolute;inset:0;fill:none;stroke:#d85f36;stroke-width:8;stroke-linecap:round}.cover-visual[data-canvas=ready] .cover-visual-rest{display:none}.station-art[data-cover-wave=light] .cover-visual-rest{stroke:#168d9e}.station-art:not([data-cover-state=cover]) .cover-image-plane{background:#fbf0d9}.station-art[data-art-mode=still] .cover-visual{opacity:1}

/* Mobile account entry remains visible beside registration in guest state. */
@media(max-width:760px){
 .station-header .station-account{gap:4px;min-width:0}
 .station-header .station-account .button{min-width:44px;min-height:44px;padding-inline:6px;font-size:12px;white-space:nowrap;overflow-wrap:normal;flex-shrink:0}
 .station-header .station-account [data-account]:not([hidden]){display:inline-flex}
}

/* Reserve one stable audience slot for real zero and unavailable states. */
.reaction-line .audience{flex:0 0 84px;width:84px;min-height:32px;justify-content:flex-end;white-space:normal}
.reaction-line [data-audience]{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media(max-width:760px){.reaction-line .radio-actions{flex:1 0 176px}.reaction-line .audience{margin-left:auto;font-size:11px}}
/* Integrated air view: the feed remains beside the player on laptop screens. */
@media (min-width: 1001px) {
 .station-header { min-height: 68px; }
 .station-main { padding-top: 12px; }
 #air-view { max-width: 1280px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, 390px); gap: 16px 26px; align-items: start; }
 #air-view .station-player { min-width: 0; }
 #air-view .air-heading { min-height: 50px; margin-bottom: 12px; }
 #air-view .now-playing { grid-template-columns: minmax(180px, 260px) minmax(0, 1fr); gap: 24px; }
 #air-view .station-art { max-width: 260px; }
 #air-view .track-copy { padding-top: 0; }
 #air-view .track-heading [data-track-artist] { font-size: 25px; }
 #air-view .track-heading h2 { font-size: 21px; }
 #air-view .station-chat { margin: 0; }
 #air-partner { grid-column: 1 / -1; }
}
#air-view .track-heading { height: 100px; min-width: 0; overflow: hidden; }
#air-view .track-heading [data-track-artist], #air-view .compact-copy .track-heading [data-track-artist] { display: block; height: 28px; margin: 0 0 4px; line-height: 28px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
#air-view .track-heading [data-track-artist]:empty { display: block; }
#air-view .track-heading h2, #air-view .compact-copy .track-heading h2 { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; height: 58px; margin: 0; overflow: hidden; line-height: 29px; overflow-wrap: anywhere; }
#air-view .player-controls > .play-button { min-width: 190px; justify-content: flex-start; }
.play-button.is-connecting .play-circle .icon { visibility: hidden; }
.play-button.is-connecting .play-circle { position: relative; }
.play-button.is-connecting .play-circle::after { content: ''; position: absolute; width: 25px; height: 25px; border: 3px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: radio-loading .8s linear infinite; }
@keyframes radio-loading { to { transform: rotate(360deg); } }
.station-dock .play-button.is-connecting { position: relative; }
.station-dock .play-button.is-connecting .icon { visibility: hidden; }
.station-dock .play-button.is-connecting::after { content: ''; position: absolute; inset: 0; margin: auto; width: 20px; height: 20px; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: radio-loading .8s linear infinite; }
.player-controls .play-circle, .station-dock .play-button { transition: transform .12s ease-out; }
.player-controls .play-button:active .play-circle, .station-dock .play-button:active { transform: scale(.94); }
@media (prefers-reduced-motion: reduce) {
 .play-button.is-connecting .play-circle::after, .station-dock .play-button.is-connecting::after { animation: none; border-right-color: currentColor; }
 .player-controls .play-circle, .station-dock .play-button { transition: none; }
 .player-controls .play-button:active .play-circle, .station-dock .play-button:active { transform: none; }
}
.track-details-button { width: 44px; height: 44px; display: inline-grid; place-items: center; color: var(--accent); border-radius: 50%; }
.track-details-button:disabled { opacity: .4; }
.track-dialog { width: min(440px, calc(100vw - 32px)); max-height: 80dvh; overflow: auto; border: 1px solid var(--line); border-radius: 12px; padding: 24px; background: var(--bg); color: var(--text); overflow-wrap: anywhere; }
.track-dialog::backdrop { background: #29190da6; }
.track-dialog h2 { margin: 0 48px 16px 0; font-size: 20px; }
.track-dialog p { white-space: pre-wrap; }
.track-dialog-close { float: right; min-width: 44px; min-height: 44px; font-size: 24px; }
.station-chat { min-width: 0; background: #fff8ec; border: 1px solid #decdb8; border-radius: 12px; overflow: hidden; }
.station-chat > h2 { margin: 0; padding: 12px 16px; font-size: 19px; }
.station-chat .account-note { display: none; }
body.radio-station .station-chat .mgc-page { --mgc-bg:#fff8ec; --mgc-pan:#f5e9d8; --mgc-bd:#decdb8; --mgc-tx:#35271d; --mgc-mut:#765d4e; --mgc-acc:#c84f36; --mgc-gold:#91432d; color:var(--mgc-tx); background:var(--mgc-bg); }
body.radio-station .station-chat .mgc-embedded.mgc-page, body.radio-station .station-chat .mgc-page:has(.mgc-authgate.on) { height: 480px; max-height: 480px; min-height: 0; }
.station-chat .mgc-feed { min-height: 0; }
.station-chat .mgc-authgate a, .station-chat .mgc-authgate button { min-height: 44px; }
@media (max-width: 1000px) {
 #air-view .station-chat { margin-top: 16px; }
 #air-view .now-playing.compact-copy .track-copy { display:block; }
}
@media (max-width: 760px) {
 #air-view .now-playing, #air-view .now-playing.compact-copy { display:grid; grid-template-columns: 110px minmax(0,1fr); align-items:start; gap:12px; }
 #air-view .station-art, #air-view .compact-copy .station-art { width:110px; margin:0; }
 #air-view .track-copy, #air-view .compact-copy .track-copy { display:block; min-width:0; }
 #air-view .track-heading [data-track-artist], #air-view .compact-copy .track-heading [data-track-artist] { font-size:20px; }
 #air-view .track-heading h2, #air-view .compact-copy .track-heading h2 { font-size:17px; }
 #air-view .player-controls { flex-wrap:wrap; }
 #air-view .player-controls > .play-button { min-width: 145px; }
 #air-view .play-circle { width: 48px; height:48px; }
 #air-view .play-caption { font-size:16px; }
 #air-view .station-chat .mgc-page { height:400px; max-height:400px; }
}


@media(max-width:760px){#air-view .station-art,#air-view .compact-copy .station-art{align-self:start}#air-view .player-controls>.play-button{max-width:100%;min-width:0}#air-view .play-caption{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}

.next-slot{height:22px;margin:0 0 6px;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.station-chat .mgc-head>.mgc-hbtn:first-child{display:none}#air-view .player-controls>.play-button{width:220px;flex:0 0 220px}@media(max-width:760px){#air-view .player-controls>.play-button{width:100%;flex:1 1 100%}}

body.radio-station .station-chat .mgc-authgate a.primary,body.radio-station .station-chat .mgc-authgate button{background:#c85439;color:#fff9ee;border-color:#c85439}body.radio-station .station-chat .mgc-authgate a:not(.primary){color:#673629;border-color:#c89272}


/* Add beside the existing .cover-visual rules; preserves the original SVG. */
.cover-visual-mark{position:absolute;inset:17%;width:66%;height:66%;object-fit:contain;pointer-events:none}

.station-chat{padding:0}.station-chat>h2{padding:10px 14px;font-size:18px;line-height:24px}.station-chat .mgc-page:has(.mgc-authgate.on) .mgc-head{min-height:48px;max-height:48px}.station-chat .mgc-contest-toggle{padding:0 14px;min-height:44px;display:flex;align-items:center}.station-chat .mgc-authgate .ab>:first-child{grid-column:auto}.station-chat .mgc-authgate .ab{grid-template-columns:repeat(2,minmax(0,1fr))}

.station-chat .mgc-authgate .ab:has(>:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}


#air-view .play-caption{white-space:nowrap}#air-view .is-connecting .play-caption{font-size:16px}

.station-chat .mgc-contest:not([open]){display:none}
/* Compact mobile air view: controls span the available width below the cover. */
@media (max-width: 760px) {
 #air-view .now-playing, #air-view .now-playing.compact-copy {
  position: relative; display: grid; grid-template-columns: 110px minmax(0, 1fr);
  grid-template-rows: 100px auto auto auto auto auto; gap: 0 12px; align-items: start;
 }
 #air-view .station-art, #air-view .compact-copy .station-art { grid-column: 1; grid-row: 1 / span 2; align-self: start; width: 110px; margin: 0; }
 #air-view .track-copy, #air-view .compact-copy .track-copy { display: contents; }
 #air-view .track-heading { grid-column: 2; grid-row: 1; box-sizing: border-box; padding-right: 44px; }
 #air-view .next-slot { grid-column: 2; grid-row: 2; align-self: start; }
 #air-view .track-details-button { position: absolute; top: 0; right: 0; z-index: 2; }
 #air-view .player-controls, #air-view .compact-copy .player-controls { grid-column: 1 / -1; grid-row: 3; display: flex; flex-wrap: nowrap; min-height: 48px; gap: 8px; margin: 0; }
 #air-view .player-controls > .play-button { flex: 1 1 auto; width: auto; min-width: 0; min-height: 48px; }
 #air-view .player-controls .volume { flex: 0 0 auto; margin-left: auto; }
 #air-view .player-state { grid-column: 1 / -1; grid-row: 4; min-height: 20px; margin: 2px 0; }
 #air-view .participation { grid-column: 1 / -1; grid-row: 5; padding: 0; }
 #air-view .reaction-line { flex-wrap: nowrap; gap: 2px; }
 #air-view .reaction-line .radio-actions { flex: 1 1 auto; min-width: 176px; }
 #air-view .reaction-line .audience { flex: 0 0 76px; width: 76px; margin-left: auto; }
 #air-view .reaction-help summary { width: 44px; min-height: 44px; }
 #air-view .secondary-actions { grid-column: 1 / -1; grid-row: 6; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px; margin: 2px 0 0; }
 #air-view .secondary-actions :is(button,a) { min-width: 0; min-height: 44px; justify-content: center; gap: 3px; font-size: 11px; white-space: nowrap; }
 #air-view .secondary-actions .icon { width: 16px; height: 16px; }
 #air-view .station-chat { margin-top: 8px; }
}


@media(max-width:760px){#air-view .now-playing.compact-copy .track-copy{display:contents}}

@media(max-width:760px){
 #air-view .now-playing,#air-view .now-playing.compact-copy{grid-template-rows:100px 64px auto auto auto auto}
 #air-view .station-chat .mgc-actbtn{min-width:44px}
 #air-view .station-chat .mgc-actbtn:focus-visible{opacity:1}
 #air-view .station-chat .mgc-row:not(.me) .mgc-actbtn.a1{right:-44px}
 #air-view .station-chat .mgc-row:not(.me) .mgc-actbtn.a2{right:-88px}
 #air-view .station-chat .mgc-row.me .mgc-actbtn.a1{left:-44px}
 #air-view .station-chat .mgc-row.me .mgc-actbtn.a2{left:-88px}
}

/* Keep the unavailable-track message fully readable on compact screens. */
@media(max-width:760px){
 #air-view .now-playing:has(#track-details-button:disabled){grid-template-rows:minmax(100px,auto) 64px auto auto auto auto}
 #air-view .now-playing:has(#track-details-button:disabled) .track-heading{height:auto;overflow:visible;padding-right:0}
 #air-view .now-playing:has(#track-details-button:disabled) .track-heading [data-track-artist]:empty{display:none}
 #air-view .now-playing:has(#track-details-button:disabled) .track-heading h2{display:block;height:auto;overflow:visible;-webkit-line-clamp:unset}
 #air-view #track-details-button:disabled{display:none}
}
