@font-face{font-family:PulseSans;src:local("Inter"),local("Segoe UI Variable"),local("Segoe UI");font-display:swap}
*{box-sizing:border-box}
:root{color-scheme:dark}
html{min-height:100%;background:#050609;color:#f7f8fb;font-family:PulseSans,system-ui,-apple-system,"Segoe UI",sans-serif}
body{--red:#ff1948;--red-hot:#ff003c;--rose:#ff6682;--ice:#bfe8ff;--ice-strong:#79cbff;--white:#f8f8fb;--muted:#a6a8b3;--panel:rgba(8,9,14,.90);--panel-soft:rgba(13,14,21,.78);--line:rgba(255,255,255,.12);--line-hot:rgba(255,31,72,.44);--mode-glow:rgba(255,25,72,.24);margin:0;min-height:100vh;overflow-x:hidden;background:#050609}
body[data-broadcast-mode="upcoming"]{--red:#ff3159;--mode-glow:rgba(255,49,89,.34)}
body[data-broadcast-mode="live"]{--red:#ff063c;--red-hot:#ff0033;--mode-glow:rgba(255,0,55,.52)}
button,input{font:inherit}
button{color:inherit}
.skip-link{position:fixed;left:1rem;top:1rem;z-index:1000;transform:translateY(-180%);background:#fff;color:#090a0d;padding:.75rem 1rem;border-radius:.5rem}.skip-link:focus{transform:none}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.signal-field{position:fixed;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 14% 16%,rgba(255,0,55,.18),transparent 30%),radial-gradient(circle at 88% 48%,rgba(78,165,235,.12),transparent 34%),linear-gradient(135deg,#08090d 0%,#030407 58%,#08070b 100%)}
.signal-grid{position:absolute;inset:0;opacity:.33;background-image:linear-gradient(rgba(210,230,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(210,230,255,.035) 1px,transparent 1px);background-size:44px 44px;mask-image:linear-gradient(to bottom,black,transparent 92%)}
.signal-noise{position:absolute;inset:-20%;opacity:.17;background-image:repeating-linear-gradient(0deg,transparent 0 3px,rgba(255,255,255,.04) 4px,transparent 5px),repeating-linear-gradient(90deg,transparent 0 79px,rgba(255,0,55,.06) 80px,transparent 82px);animation:noise-shift 8s steps(2,end) infinite}
.carrier-line{position:absolute;left:-15%;width:130%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,12,62,.16) 14%,rgba(255,255,255,.55) 50%,rgba(106,201,255,.18) 76%,transparent);box-shadow:0 0 18px rgba(255,16,60,.2);animation:carrier-sweep 11s linear infinite}
.carrier-line--one{top:23%}.carrier-line--two{top:66%;animation-delay:-4.5s;animation-duration:15s}.carrier-line--three{top:84%;animation-delay:-8s;animation-duration:18s}
.data-fragment{position:absolute;height:3px;background:linear-gradient(90deg,transparent,var(--red),rgba(255,255,255,.9),transparent);opacity:.25;filter:drop-shadow(0 0 8px var(--red));animation:data-drift 9s ease-in-out infinite}
.data-fragment--one{width:26vw;top:18%;left:-6%;animation-delay:-2s}.data-fragment--two{width:19vw;top:36%;right:3%;animation-delay:-6s}.data-fragment--three{width:31vw;bottom:18%;left:7%;animation-delay:-4s}.data-fragment--four{width:14vw;bottom:31%;right:-3%;animation-delay:-7s}
.site-header{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1440px,100%);margin:0 auto;padding:clamp(1rem,2.2vw,1.8rem) clamp(1rem,4vw,4.25rem)}
.brand{display:flex;align-items:center;gap:.8rem;color:inherit;text-decoration:none}.brand-art{width:48px;height:48px;border-radius:9px;overflow:hidden;border:1px solid rgba(255,255,255,.14);box-shadow:0 0 22px rgba(255,12,57,.24)}.brand-art img{width:100%;height:100%;object-fit:cover;display:block}.brand-copy{display:flex;flex-direction:column;gap:.12rem}.brand-copy strong{font-size:1rem;letter-spacing:.015em}.brand-copy em{font-style:normal;color:#858a98;font-size:.64rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.header-state{display:flex;align-items:center;gap:.58rem;color:#bfc3ce;font-size:.72rem;font-weight:760;letter-spacing:.13em;text-transform:uppercase}.status-dot{width:.5rem;height:.5rem;border-radius:50%;background:#777b86;box-shadow:0 0 0 5px rgba(119,123,134,.08)}body[data-player-state="playing"] .status-dot{background:#72e7ad;box-shadow:0 0 18px rgba(114,231,173,.75)}body[data-player-state="buffering"] .status-dot,body[data-player-state="connecting"] .status-dot,body[data-player-state="reconnecting"] .status-dot{background:#ffc85e;animation:status-pulse 1.1s ease-in-out infinite}body[data-player-state="unavailable"] .status-dot{background:var(--red)}
.broadcast-shell{position:relative;z-index:3;width:min(1440px,100%);margin:0 auto;padding:.35rem clamp(1rem,4vw,4.25rem) clamp(1.5rem,3vw,3rem)}
.broadcast-stage{position:relative;min-height:min(790px,calc(100vh - 145px));overflow:hidden;border:1px solid rgba(255,255,255,.12);border-radius:clamp(1rem,2.5vw,2rem);background:linear-gradient(135deg,rgba(255,255,255,.055),transparent 24%),radial-gradient(circle at 28% 52%,var(--mode-glow),transparent 42%),linear-gradient(118deg,rgba(11,11,17,.96),rgba(5,6,10,.93));box-shadow:0 34px 90px rgba(0,0,0,.58),inset 0 1px rgba(255,255,255,.07)}
.broadcast-stage:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.26;background-image:repeating-linear-gradient(0deg,transparent 0 6px,rgba(255,255,255,.022) 7px,transparent 8px)}
.broadcast-stage:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 100px rgba(0,0,0,.48)}
body[data-broadcast-mode="live"] .broadcast-stage{border-color:rgba(255,27,67,.38);animation:live-shell 3.2s ease-in-out infinite}
.stage-rail{position:absolute;z-index:2;top:0;left:0;right:0;height:3px;display:flex;gap:2px;opacity:.72}.stage-rail span{height:100%;background:var(--red);box-shadow:0 0 14px var(--red)}.stage-rail span:nth-child(1){width:18%}.stage-rail span:nth-child(2){width:5%;background:var(--white)}.stage-rail span:nth-child(3){width:10%;background:var(--ice-strong)}
.stage-topline{position:absolute;z-index:6;top:clamp(1.35rem,2.7vw,2.5rem);left:clamp(1.35rem,3vw,3rem);right:clamp(1.35rem,3vw,3rem);display:flex;align-items:center;justify-content:space-between;gap:1rem}.eyebrow{margin:0;color:#c7c9d1;font-size:.68rem;font-weight:820;letter-spacing:.2em;text-transform:uppercase}.on-air-badge{display:flex;align-items:center;gap:.52rem;padding:.56rem .8rem;border:1px solid rgba(255,30,70,.5);border-radius:999px;background:rgba(255,0,52,.14);color:#ff8aa0;font-size:.67rem;font-weight:900;letter-spacing:.18em;opacity:0;transform:translateY(-8px);transition:.35s ease}.on-air-badge span{width:.48rem;height:.48rem;border-radius:50%;background:var(--red);box-shadow:0 0 16px var(--red)}body[data-broadcast-mode="live"] .on-air-badge{opacity:1;transform:none}body[data-broadcast-mode="live"] .on-air-badge span{animation:on-air-dot .8s ease-in-out infinite}
.stage-grid{position:relative;z-index:4;display:grid;grid-template-columns:minmax(360px,.96fr) minmax(430px,1.04fr);align-items:center;min-height:inherit;padding:clamp(5.7rem,8vw,7.8rem) clamp(1.4rem,4.8vw,5rem) clamp(2.2rem,4vw,4rem);gap:clamp(2rem,5.5vw,6rem)}
.artwork-column{display:flex;align-items:center;justify-content:center}.artwork-system{position:relative;width:min(39vw,510px);aspect-ratio:1;display:grid;place-items:center}.artwork-orbit{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.11)}.artwork-orbit--outer{inset:-1%;border-color:rgba(255,20,67,.28);box-shadow:0 0 60px rgba(255,0,55,.1),inset 0 0 50px rgba(255,0,55,.06);animation:orbit-spin 22s linear infinite}.artwork-orbit--outer:before,.artwork-orbit--outer:after{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--red);box-shadow:0 0 18px var(--red)}.artwork-orbit--outer:before{left:8%;top:28%}.artwork-orbit--outer:after{right:9%;bottom:24%}.artwork-orbit--inner{inset:8%;border-style:dashed;border-color:rgba(183,226,255,.16);animation:orbit-spin 30s linear infinite reverse}
.artwork-frame{position:relative;width:76%;aspect-ratio:1;overflow:hidden;border:1px solid rgba(255,255,255,.15);border-radius:3px;background:#050507;box-shadow:0 30px 80px rgba(0,0,0,.58),0 0 80px var(--mode-glow);transform:rotate(-1.2deg);transition:transform .5s ease,box-shadow .5s ease}.artwork-frame:before{content:"";position:absolute;z-index:5;inset:0;border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 0 45px rgba(0,0,0,.35);pointer-events:none}.artwork-image,.artwork-ghost{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}.artwork-image{z-index:1}.artwork-ghost{z-index:2;opacity:0;pointer-events:none}.artwork-ghost--red{mix-blend-mode:screen;filter:sepia(1) saturate(7) hue-rotate(310deg) brightness(1.05)}.artwork-ghost--ice{mix-blend-mode:screen;filter:sepia(1) saturate(5) hue-rotate(155deg) brightness(1.08)}.artwork-scan{position:absolute;z-index:4;left:0;right:0;top:-18%;height:18%;background:linear-gradient(to bottom,transparent,rgba(255,255,255,.14),rgba(255,17,66,.38),transparent);mix-blend-mode:screen;animation:art-scan 7.5s linear infinite}.artwork-shutter{position:absolute;z-index:3;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(0,0,0,.16) 5px,transparent 6px);opacity:.5;pointer-events:none}
body[data-broadcast-mode="upcoming"] .artwork-frame{transform:rotate(0) scale(1.01)}body[data-broadcast-mode="upcoming"] .artwork-ghost--red{opacity:.12;animation:ghost-red 5s steps(1,end) infinite}body[data-broadcast-mode="upcoming"] .artwork-ghost--ice{opacity:.08;animation:ghost-ice 6s steps(1,end) infinite}
body[data-broadcast-mode="live"] .artwork-frame{transform:rotate(0) scale(1.025);box-shadow:0 34px 90px rgba(0,0,0,.62),0 0 110px rgba(255,0,55,.42)}body[data-broadcast-mode="live"] .artwork-ghost--red{opacity:.25;animation:ghost-red 2.7s steps(1,end) infinite}body[data-broadcast-mode="live"] .artwork-ghost--ice{opacity:.18;animation:ghost-ice 3.1s steps(1,end) infinite}
.spectrum{position:absolute;z-index:7;left:16%;right:16%;bottom:-1.5%;height:46px;display:flex;align-items:center;justify-content:center;gap:.32rem}.spectrum i{width:3px;height:18%;background:linear-gradient(to top,var(--red-hot),#fff);box-shadow:0 0 12px rgba(255,10,58,.62);animation:spectrum 1.15s ease-in-out infinite;animation-play-state:paused}.spectrum i:nth-child(2n){animation-delay:-.2s}.spectrum i:nth-child(3n){animation-delay:-.45s}.spectrum i:nth-child(5n){animation-delay:-.72s}body[data-player-state="playing"] .spectrum i,body[data-broadcast-mode="live"] .spectrum i{animation-play-state:running}.artwork-caption{position:absolute;left:10%;right:10%;bottom:-10%;display:flex;justify-content:space-between;gap:.8rem;margin:0;color:#747986;font-size:.58rem;font-weight:760;letter-spacing:.14em;text-transform:uppercase}
.content-column{max-width:680px}.station-copy{margin-bottom:clamp(1.4rem,2.8vw,2.4rem)}.station-subtitle{margin:0 0 .72rem;color:var(--red);font-size:.74rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.station-copy h1{position:relative;margin:0;font-size:clamp(3.2rem,6.2vw,6.55rem);line-height:.86;letter-spacing:-.074em;font-weight:880;text-shadow:0 0 35px rgba(255,255,255,.05)}.station-copy h1:after{content:attr(data-text);position:absolute;left:0;top:0;color:var(--ice);opacity:0;clip-path:inset(46% 0 42% 0);transform:translateX(2px);pointer-events:none}body[data-broadcast-mode="live"] .station-copy h1:after{opacity:.2;animation:heading-glitch 3s steps(1,end) infinite}.station-message{max-width:530px;margin:1.15rem 0 0;color:#b7bac4;font-size:clamp(.94rem,1.25vw,1.05rem);line-height:1.62}
.programme-card{position:relative;margin:0 0 1.2rem;padding:1.1rem 1.2rem 1.16rem;border:1px solid rgba(255,255,255,.12);border-left:3px solid var(--red);border-radius:.7rem;background:linear-gradient(105deg,rgba(255,12,58,.12),rgba(255,255,255,.025));box-shadow:0 16px 40px rgba(0,0,0,.22),inset 0 1px rgba(255,255,255,.04);overflow:hidden}.programme-card:after{content:"";position:absolute;top:0;bottom:0;width:42%;left:-48%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.065),transparent);animation:card-scan 6s ease-in-out infinite}.programme-card[hidden]{display:none}.programme-kicker{color:var(--red);font-size:.66rem;font-weight:860;letter-spacing:.16em;text-transform:uppercase}.programme-card h2{margin:.42rem 0 .27rem;font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.04em}.programme-card>p{margin:.2rem 0 .85rem;color:#bec1ca;line-height:1.48}.presenter-line{display:flex;align-items:center;gap:.72rem}.presenter-avatar{display:grid;place-items:center;width:2.08rem;height:2.08rem;border-radius:3px;background:var(--red);color:#09070a;font-weight:950;box-shadow:0 0 22px rgba(255,12,58,.28)}.presenter-line div{display:flex;flex-direction:column;gap:.12rem}.presenter-line span:not(.presenter-avatar){color:#8e929e;font-size:.61rem;font-weight:780;letter-spacing:.13em;text-transform:uppercase}.presenter-line strong{font-size:.88rem}.presenter-status{margin:.75rem 0 0!important;padding:.62rem .75rem;border-top:1px solid rgba(255,255,255,.07);background:rgba(0,0,0,.18);color:#e1e3e8!important;font-size:.78rem}
.now-playing{margin:0 0 1rem}.now-playing__label,.fact-label{color:#777c88;font-size:.61rem;font-weight:820;letter-spacing:.16em;text-transform:uppercase}.now-playing h2{margin:.36rem 0 .18rem;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.02;letter-spacing:-.055em}.now-playing p{margin:0;color:#b4b7c0;font-size:.95rem}
.player-panel{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.12);border-radius:.7rem;background:rgba(3,4,8,.72);box-shadow:inset 0 1px rgba(255,255,255,.035)}.play-button{position:relative;display:grid;place-items:center;width:3.35rem;height:3.35rem;border:0;border-radius:4px;background:var(--red);box-shadow:0 0 30px rgba(255,10,58,.28);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.play-button:hover{transform:translateY(-2px);box-shadow:0 0 42px rgba(255,10,58,.45)}.play-button:focus-visible,.volume-control button:focus-visible,input:focus-visible{outline:2px solid var(--ice);outline-offset:3px}.play-button svg{width:1.28rem;height:1.28rem;fill:#08070a}.icon-pause{display:none}body[data-player-state="playing"] .icon-play,body[data-player-state="connecting"] .icon-play,body[data-player-state="buffering"] .icon-play,body[data-player-state="reconnecting"] .icon-play{display:none}body[data-player-state="playing"] .icon-pause,body[data-player-state="connecting"] .icon-pause,body[data-player-state="buffering"] .icon-pause,body[data-player-state="reconnecting"] .icon-pause{display:block}.player-copy{min-width:0;display:flex;flex-direction:column;gap:.18rem}.player-copy strong{font-size:.86rem}.player-copy span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#858a96;font-size:.7rem}.volume-control{display:flex;align-items:center;gap:.65rem}.volume-control button{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;background:transparent;cursor:pointer}.volume-control svg{width:1.1rem;height:1.1rem;fill:#b9bdc6}.volume-control input{width:105px;accent-color:var(--red)}
.station-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:.8rem;margin-top:.9rem}.station-facts>div{display:flex;flex-direction:column;gap:.22rem;padding-top:.65rem;border-top:1px solid rgba(255,255,255,.09)}.station-facts strong{font-size:.77rem;font-weight:720;color:#d8dae0}.interaction-slot{display:none}
footer{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:1rem;width:min(1440px,100%);margin:0 auto;padding:.5rem clamp(1rem,4vw,4.25rem) 1.35rem;color:#666b77;font-size:.58rem;font-weight:720;letter-spacing:.13em;text-transform:uppercase}
@keyframes noise-shift{0%,100%{transform:translate(0,0)}25%{transform:translate(7px,-3px)}50%{transform:translate(-4px,5px)}75%{transform:translate(3px,2px)}}
@keyframes carrier-sweep{0%{transform:translateY(-12vh);opacity:0}12%{opacity:.6}82%{opacity:.2}100%{transform:translateY(105vh);opacity:0}}
@keyframes data-drift{0%,100%{transform:translateX(-8%) scaleX(.65);opacity:.08}45%{transform:translateX(9%) scaleX(1.05);opacity:.38}51%{transform:translateX(4%) scaleX(.4);opacity:.12}}
@keyframes status-pulse{50%{opacity:.42;transform:scale(.82)}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}
@keyframes art-scan{0%{transform:translateY(-120%);opacity:0}10%{opacity:.8}62%{opacity:.35}100%{transform:translateY(700%);opacity:0}}
@keyframes ghost-red{0%,86%,100%{clip-path:inset(0 0 100% 0);transform:translateX(0)}87%{clip-path:inset(12% 0 74% 0);transform:translateX(8px)}89%{clip-path:inset(55% 0 28% 0);transform:translateX(-5px)}91%{clip-path:inset(78% 0 8% 0);transform:translateX(4px)}}
@keyframes ghost-ice{0%,75%,100%{clip-path:inset(100% 0 0 0);transform:translateX(0)}76%{clip-path:inset(35% 0 50% 0);transform:translateX(-7px)}78%{clip-path:inset(68% 0 20% 0);transform:translateX(5px)}80%{clip-path:inset(8% 0 82% 0);transform:translateX(-3px)}}
@keyframes spectrum{0%,100%{height:16%}25%{height:82%}50%{height:38%}72%{height:100%}}
@keyframes on-air-dot{50%{opacity:.35;transform:scale(.75)}}
@keyframes live-shell{50%{box-shadow:0 34px 100px rgba(0,0,0,.6),0 0 40px rgba(255,0,55,.13),inset 0 1px rgba(255,255,255,.07)}}
@keyframes heading-glitch{0%,90%,100%{clip-path:inset(100% 0 0 0);transform:translateX(0)}91%{clip-path:inset(30% 0 54% 0);transform:translateX(5px)}93%{clip-path:inset(66% 0 20% 0);transform:translateX(-4px)}95%{clip-path:inset(8% 0 84% 0);transform:translateX(3px)}}
@keyframes card-scan{0%,15%{transform:translateX(0)}60%,100%{transform:translateX(380%)}}
@media (max-width:1050px){.stage-grid{grid-template-columns:minmax(300px,.85fr) minmax(380px,1.15fr);gap:2rem;padding-left:2rem;padding-right:2rem}.artwork-system{width:min(41vw,440px)}.artwork-caption{display:none}}
@media (max-width:820px){.site-header{padding-bottom:.65rem}.brand-copy em{display:none}.broadcast-shell{padding-top:.2rem}.broadcast-stage{min-height:auto}.stage-topline{position:relative;top:auto;left:auto;right:auto;padding:1.25rem 1.25rem 0}.stage-grid{grid-template-columns:1fr;padding:1.4rem 1.2rem 1.5rem;gap:1.5rem}.artwork-system{width:min(78vw,460px);margin:.4rem auto 1.3rem}.content-column{max-width:none}.station-copy h1{font-size:clamp(3.4rem,14vw,5.6rem)}footer{padding-top:.2rem}}
@media (max-width:560px){.site-header{padding:.8rem 1rem}.brand-art{width:42px;height:42px}.brand-copy strong{font-size:.9rem}.header-state{font-size:.6rem;letter-spacing:.09em}.broadcast-shell{padding-left:.65rem;padding-right:.65rem}.broadcast-stage{border-radius:.75rem}.stage-topline{padding:1rem 1rem 0}.eyebrow{font-size:.58rem;letter-spacing:.16em}.on-air-badge{font-size:.58rem;padding:.46rem .62rem}.stage-grid{padding:1.1rem .9rem 1.15rem}.artwork-system{width:min(86vw,400px)}.artwork-frame{width:78%}.station-copy{margin-bottom:1.25rem}.station-copy h1{font-size:clamp(3.1rem,17vw,4.7rem)}.station-message{font-size:.9rem;margin-top:.85rem}.programme-card{padding:1rem}.player-panel{grid-template-columns:auto 1fr;padding:.75rem}.volume-control{grid-column:1/-1;justify-content:flex-end;border-top:1px solid rgba(255,255,255,.08);padding-top:.65rem}.volume-control input{width:min(55vw,200px)}.player-copy span{white-space:normal;line-height:1.35}.station-facts{gap:.45rem}.station-facts strong{font-size:.7rem}footer span:nth-child(2){display:none}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}.artwork-frame,.play-button{transition:none!important}.signal-noise,.carrier-line,.data-fragment,.artwork-ghost{display:none!important}}
