/* 320 FM · IN MOTION / ISOLATED DESIGN STUDY */
:root {color-scheme:dark; font-family:Inter,"Arial",sans-serif; background:#090d16; -webkit-font-smoothing:antialiased;}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#090d16;color:#f1f2ef}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--accent,#a85c95);outline-offset:5px}
::selection{background:#8d568a;color:#081012}
#app{min-height:100vh}
.prototyp{--accent:#a85c95;--accent-soft:#c897be;--accent-rgb:168,92,149;position:relative;isolation:isolate;overflow:hidden;min-height:100vh;background:radial-gradient(ellipse 82% 58% at 91% 29%,rgba(var(--accent-rgb),.07),transparent 58%),#090d16;transition:background 900ms ease}
.prototyp:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.5;background-image:linear-gradient(90deg,rgba(201,211,228,.016) 1px,transparent 1px),linear-gradient(0deg,rgba(201,211,228,.016) 1px,transparent 1px);background-size:94px 94px;mask-image:linear-gradient(90deg,transparent,black 22%,black 90%,transparent)}
.w{max-width:1440px;padding:0 clamp(22px,5vw,76px);margin:0 auto}
.micro,.mono{font-size:10px;font-weight:600;letter-spacing:.19em;text-transform:uppercase}
.mono{font-family:"Inter",Arial,sans-serif}
.muted{color:#8b999d}
.rule{border:0;border-top:1px solid rgba(211,215,234,.14);margin:0}



.signal-led{display:inline-block;width:6px;height:6px;flex:none;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px rgba(var(--accent-rgb),.13);animation:pulse 2.8s ease-in-out infinite}
.nav{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid rgba(221,237,235,.15)}
.logo{width:140px;min-width:120px;max-height:72px;display:flex;align-items:center;position:relative}
.logo img{display:block;width:100%;height:70px;object-fit:contain;object-position:left center;position:relative;z-index:2}
.logo-fallback{display:block;position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:1;font-family:Inter,Arial,sans-serif;font-size:30px;font-weight:900;letter-spacing:-.065em;white-space:nowrap}
.logo.loaded .logo-fallback{display:none}
.logo.unavailable img{display:none}
.logo.unavailable .logo-fallback{display:block}
.navlinks{display:flex;align-items:center;gap:clamp(16px,2.6vw,41px)}
.navlinks a{position:relative;color:#b6c1c1;font-size:10px;font-weight:700;letter-spacing:.14em;transition:color .2s}
.navlinks a:hover{color:#fff}
.navlinks a:after{content:"";position:absolute;height:1px;background:var(--accent);bottom:-14px;left:0;right:100%;transition:right .22s}
.navlinks a:hover:after{right:0}
.navright{display:flex;align-items:center;gap:17px}

.head-live{border:1px solid #ffffff29;width:45px;height:45px;border-radius:50%;display:grid;place-items:center;transition:background .25s,border-color .25s}
.head-live:hover{background:rgba(var(--accent-rgb),.16);border-color:var(--accent)}
.head-live svg{width:14px;height:14px;fill:var(--accent);margin-left:2px}




.hero{min-height:565px;display:grid;grid-template-columns:49% 51%;align-items:center;position:relative;padding:36px 0 20px}
.copy{position:relative;z-index:3;padding:34px 0 36px 24px;min-width:0}
.copy:before{content:"";position:absolute;left:0;top:28px;height:calc(100% - 56px);width:1px;background:linear-gradient(var(--accent),rgba(183,209,211,.14),transparent)}
.copy:after{content:"01  /  THE LIVE EXPERIENCE";position:absolute;left:-12px;top:48px;transform:translateX(-100%) rotate(-90deg);transform-origin:right center;font-size:9px;letter-spacing:.23em;color:#86999c;white-space:nowrap}
.eyebrow{display:flex;align-items:center;gap:11px;color:var(--accent);margin-bottom:21px}
.eyebrow:before{content:"";width:28px;height:1px;background:var(--accent)}
.artist{font-size:clamp(50px,6.3vw,94px);line-height:.94;letter-spacing:-.078em;margin:0;white-space:nowrap;font-weight:750}
.artist span{display:block}
.artist .artist2{color:#dce3e3;font-weight:270;letter-spacing:-.072em}
.artist-wrap{animation:enter .65s cubic-bezier(.2,.75,.1,1) both}
.subtitle{margin:30px 0 0;font-size:clamp(17px,1.7vw,23px);font-weight:550;letter-spacing:-.035em;line-height:1.4}
.subline{font-size:12px;letter-spacing:.015em;color:#95a4a7;margin:10px 0 0;line-height:1.65}
.pills{display:flex;gap:8px;align-items:center;margin-top:23px;flex-wrap:wrap}
.pill{padding:8px 11px;border:1px solid #a6b9bd2d;border-radius:99px;font-size:9px;letter-spacing:.15em;color:#a6b9bd;font-weight:650}
.primaryrow{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:36px}
.playbutton{display:flex;gap:13px;align-items:center;border:0;background:none;padding:0;text-align:left}
.playcircle{width:61px;height:61px;display:grid;place-items:center;border-radius:50%;background:var(--accent);color:#071014;box-shadow:0 12px 42px rgba(var(--accent-rgb),.17);transition:transform .25s,box-shadow .25s}
.playbutton:hover .playcircle{transform:scale(1.06);box-shadow:0 12px 52px rgba(var(--accent-rgb),.32)}
.playcircle svg{width:20px;height:20px;margin-left:2px;fill:#0e161b}
.playcopy strong{display:block;font-size:11px;letter-spacing:.18em;font-weight:750}
.playcopy small{display:block;margin-top:7px;color:#899b9e;font-size:11px;letter-spacing:.015em}
.nextlink{font-size:10px;letter-spacing:.13em;font-weight:700;color:#b1c5c5;border:0;border-bottom:1px solid #ffffff38;background:none;padding:12px 0 8px;display:inline-flex;align-items:center;gap:10px;transition:color .2s}
.nextlink:hover{color:var(--accent)}
.nextlink svg{width:15px;height:15px}
.hero-art{min-width:0;height:540px;position:relative;display:grid;place-items:center;--x:0px;--y:0px;overflow:visible}
.art-glow{position:absolute;width:87%;aspect-ratio:1;max-height:100%;top:4%;left:5%;border-radius:50%;background:radial-gradient(circle,rgba(var(--accent-rgb),.18) 0%,rgba(var(--accent-rgb),.065) 32%,transparent 70%);filter:blur(10px);transition:background 1s}
.art-grid{position:absolute;width:73%;height:75%;top:9%;left:15%;border-radius:50%;border:1px solid #ffffff1a;box-shadow:0 0 0 45px #ffffff04,0 0 0 100px #ffffff02;transform:translate(var(--x),var(--y));transition:transform .6s ease}
.big320{font-weight:800;font-size:clamp(165px,18vw,295px);letter-spacing:-.14em;position:absolute;top:26%;left:51%;transform:translate(-51%,-8%);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(208,227,227,.19);opacity:.7;white-space:nowrap;pointer-events:none}
.orbit{position:absolute;width:340px;height:340px;max-width:73%;max-height:73%;border:1px solid rgba(206,222,223,.15);border-radius:50%;left:50%;top:51%;transform:translate(-50%,-50%) rotate(20deg)}
.orbit:before{content:"";position:absolute;width:8px;height:8px;background:var(--accent);top:13%;right:13%;border-radius:50%;box-shadow:0 0 24px var(--accent);transition:background .6s}
.orbit.two{width:440px;height:440px;border:1px dashed rgba(227,244,241,.15);transform:translate(-50%,-50%) rotate(-20deg);animation:spin 110s linear infinite}
.orbit.two:before{width:3px;height:3px;top:31%;left:4%;background:#daffff}
.wavebox{position:absolute;z-index:2;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;filter:drop-shadow(0 0 17px rgba(var(--accent-rgb),.15))}
.wavebox path{fill:none;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:10 12;animation:waveflow 16s linear infinite}
.wavebox path:nth-child(2){stroke-width:1.3;animation-duration:19s;animation-direction:reverse}
.wavebox path:nth-child(3){stroke-width:1.1;animation-duration:13s;stroke-dasharray:3 14}
.wavebox path:nth-child(4){stroke-width:1;animation-duration:24s;animation-direction:reverse;stroke-dasharray:2 17}
/* Set cover stays in original square aspect ratio. Surface below is explicit demo artwork. */
.set-visual{position:absolute;z-index:4;left:52%;top:49%;width:clamp(205px,22vw,290px);transform:translate(-50%,-50%);animation:cover-in .75s cubic-bezier(.2,.7,.15,1) both}
.cover-surface{width:100%;aspect-ratio:1;position:relative;isolation:isolate;overflow:hidden;border:1px solid #f0f0f04a;box-shadow:0 34px 85px #000b,0 0 65px rgba(var(--accent-rgb),.17);background:radial-gradient(ellipse at 72% 25%,#4a2445 0%,transparent 55%),linear-gradient(150deg,#24142f 7%,#191626 44%,#0d1f30 100%)}
.cover-surface:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(116deg,transparent 0 14px,#ffffff06 14.5px 15px,transparent 15.5px 29px);opacity:.6}
.cover-surface:after{content:"";position:absolute;inset:-20%;background:radial-gradient(ellipse at 36% 70%,#6483bf2f,transparent 48%);mix-blend-mode:screen}
.cover-surface--martin{background:radial-gradient(ellipse at 68% 30%,#234656 0%,transparent 60%),linear-gradient(140deg,#102b38,#1d243c 60%,#09202c)}
.cover-surface--khabiar{background:radial-gradient(ellipse at 75% 25%,#433059 0%,transparent 60%),linear-gradient(145deg,#262044,#1b2137 55%,#101728)}
.cover-surface .cover-graphic{position:absolute;z-index:1;width:75%;height:75%;top:14%;left:13%;border:1px solid #ffffff22;border-radius:50%;box-shadow:0 0 0 22px #ffffff07,0 0 0 51px #ffffff04;transform:rotate(-20deg)}
.cover-surface .cover-graphic:before{content:"";position:absolute;inset:13%;border:1px dashed #ffffff45;border-radius:50%;animation:spin-cover 44s linear infinite}
.cover-surface .cover-graphic:after{content:"";position:absolute;width:20%;height:20%;border:1px solid #ffffff5b;border-radius:50%;top:40%;left:40%;background:rgba(var(--accent-rgb),.22);box-shadow:0 0 40px rgba(var(--accent-rgb),.45)}
.cover-surface .cover-identity{z-index:3;position:absolute;top:18px;left:17px;right:17px;font-size:10px;letter-spacing:.14em;line-height:1.35;color:#e5e9f0;font-weight:700;text-shadow:0 1px 15px #0008}
.cover-surface .cover-title{z-index:3;position:absolute;left:17px;right:17px;bottom:34px;font-size:clamp(22px,2vw,31px);line-height:1;letter-spacing:-.065em;font-weight:750;color:#f1f2f3;text-shadow:0 2px 15px #0007}
.cover-surface .cover-type{z-index:3;position:absolute;left:17px;right:17px;bottom:15px;font-size:9px;letter-spacing:.19em;color:#ffffffab}
.cover-frame{position:absolute;inset:-10px;border:1px solid rgba(var(--accent-rgb),.26);z-index:-1;pointer-events:none}
.cover-note{margin-top:18px;display:flex;justify-content:space-between;gap:8px;color:#d8dce4;font-size:9px;letter-spacing:.16em;font-weight:650}
.cover-note em{font-style:normal;color:#879aa7;font-weight:400}
.cover-surface.small{height:43px;width:43px;flex:none;box-shadow:none;border-color:#ffffff37}
.cover-surface.small .cover-graphic{box-shadow:none}
.cover-surface.small .cover-identity,.cover-surface.small .cover-title,.cover-surface.small .cover-type{display:none}
.hud{position:absolute;z-index:5;font-size:9px;letter-spacing:.19em;color:#bbccce;line-height:1.7}
.hud em{color:var(--accent);font-style:normal}
.hud-1{top:13%;right:1%;text-align:right}


.hud-1:after{content:"";height:1px;width:58px;background:rgba(223,241,240,.3);display:block;margin-top:10px;margin-left:auto}








.timeline-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-top:68px;margin-bottom:22px}
.section-kicker{font-size:10px;letter-spacing:.24em;color:var(--accent);font-weight:750}
.timeline-head h2{font-size:clamp(24px,3vw,39px);line-height:1;letter-spacing:-.055em;font-weight:650;margin:14px 0 0}
.timeline-head a{font-size:11px;color:#a6b3b5;display:inline-flex;gap:11px;align-items:center;letter-spacing:.055em;transition:color .2s}
.timeline-head a:hover{color:#fff}
.timeline-head a svg{width:16px;height:16px}
.timegrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff2a;border-bottom:1px solid #ffffff2a}
.timeitem{padding:23px 27px 27px 25px;text-align:left;display:block;position:relative;min-width:0;background:none;border:0;border-left:1px solid #ffffff23;transition:background .28s}
.timeitem:first-child{border-left:0;padding-left:0}
.timeitem:hover{background:rgba(255,255,255,.022)}
.timeitem.active{background:linear-gradient(180deg,rgba(var(--accent-rgb),.055),transparent 85%)}
.timeitem:before{content:"";height:2px;position:absolute;left:0;right:100%;top:-1px;background:var(--accent);transition:right .35s ease}
.timeitem.active:before{right:0}
.slot-top{display:flex;justify-content:space-between;align-items:center;gap:5px;color:#87979b;font-size:10px;letter-spacing:.15em}
.slot-index{color:#899c9f}
.timeitem.active .slot-top,.timeitem.active .slot-index{color:var(--accent)}
.slot-name{margin-top:21px;font-size:clamp(17px,2vw,24px);letter-spacing:-.045em;font-weight:650;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.slot-show{font-size:11px;color:#8c9ca0;margin-top:7px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.slot-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:27px}
.slot-footer small{font-size:9px;letter-spacing:.16em;color:#7e9094}
.slot-footer svg{width:17px;height:17px;color:#84999b;transition:transform .2s}
.timeitem:hover .slot-footer svg{transform:translateX(5px)}
.progress-line{height:2px;background:#ffffff22;position:relative;width:100%;margin-top:15px;overflow:hidden}
.progress-line div{height:100%;background:var(--accent);transition:width .65s linear}
.presentation{margin-top:78px;display:grid;grid-template-columns:1.28fr .7fr;gap:50px;padding-top:27px;padding-bottom:130px}
.statement{font-size:clamp(27px,3.4vw,54px);line-height:1.06;letter-spacing:-.06em;font-weight:620;max-width:730px;margin:13px 0 21px}
.statement span{color:#74878c}
.presentation p{max-width:570px;font-size:13px;line-height:1.75;color:#84969b;margin:0}
.explore{display:grid;gap:0;align-self:center}
.explore a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:13px 0;border-bottom:1px solid #ffffff20;font-size:12px;color:#cfd6d5;transition:padding .2s,color .2s}
.explore a:hover{padding-left:8px;color:var(--accent)}
.explore a span{font-size:9px;letter-spacing:.13em;color:#7b9397}
.explore a svg{width:16px;height:16px}
.footer{padding-top:28px;padding-bottom:35px;border-top:1px solid #ffffff20;display:flex;align-items:center;justify-content:space-between;gap:22px;color:#7d9092;font-size:10px;letter-spacing:.11em}
.footer strong{color:#dde3e3;letter-spacing:.17em}
.preview-badge{position:fixed;z-index:30;bottom:92px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:15px;border:1px solid #ffffff2e;background:#172329ef;backdrop-filter:blur(18px);box-shadow:0 10px 35px #0007;border-radius:100px;padding:12px 19px;font-size:10px;line-height:1.35;letter-spacing:.055em;max-width:calc(100% - 28px);white-space:nowrap}
.preview-badge strong{font-size:9px;letter-spacing:.15em;color:var(--accent)}
.preview-badge button{border:0;background:none;color:#eef3f3;padding:0;display:flex;gap:8px;align-items:center;font-weight:700;font-size:10px;letter-spacing:.12em}
.preview-badge button:hover{color:var(--accent)}
.preview-badge svg{width:14px;height:14px}
.prototyp.paused *, .prototyp.paused *:before,.prototyp.paused *:after{animation-play-state:paused!important}
@keyframes enter{0%{opacity:0;transform:translateY(17px);filter:blur(5px)}100%{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes pulse{50%{opacity:.5;box-shadow:0 0 0 12px rgba(var(--accent-rgb),.03)}}
@keyframes waveflow{to{stroke-dashoffset:-264}}
@keyframes cover-in{from{opacity:0;transform:translate(-50%,-46%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes spin-cover{to{transform:rotate(360deg)}}
@keyframes spin{to{transform:translate(-50%,-50%) rotate(340deg)}}
@media(max-width:1150px){.nav{height:86px}.hero{grid-template-columns:48% 52%;min-height:505px}.artist{font-size:clamp(54px,7.2vw,92px)}.hero-art{height:465px}.copy:after{display:none}.art-grid{top:13%}.timeline-head{margin-top:52px}}
@media(max-width:800px){.w{padding:0 26px}.navlinks{gap:15px}.navlinks a{font-size:9px}.logo{width:116px;min-width:105px}.hero{grid-template-columns:1fr;min-height:unset;padding-top:35px}.copy{padding:35px 0 18px 18px}.artist{font-size:clamp(65px,11vw,100px)}.hero-art{height:365px}.artist-wrap{max-width:700px}.art-grid{width:50%;left:26%;top:10%;height:75%}.set-visual{width:245px}.orbit{width:260px;height:260px}.orbit.two{width:330px;height:330px}.big320{font-size:260px;left:50%;top:14%}.timeitem{padding:22px 16px}.presentation{grid-template-columns:1fr;gap:30px;padding-bottom:125px}.footer{flex-wrap:wrap}.preview-badge{max-width:calc(100% - 20px)}}
@media(max-width:560px){.w{padding:0 19px}.nav{height:70px}.logo{width:105px;min-width:95px}.logo img{height:50px}.logo-fallback{font-size:24px}.navlinks{display:none}.head-live{width:40px;height:40px}.hero{padding-top:15px}.copy{padding-top:43px}.eyebrow{font-size:9px;letter-spacing:.18em}.artist{font-size:clamp(56px,12vw,73px)}.subtitle{margin-top:25px;font-size:17px}.subline{font-size:11px}.pills{margin-top:18px}.primaryrow{margin-top:26px;gap:21px}.playcircle{width:54px;height:54px}.playcopy small{font-size:10px}.nextlink{font-size:9px}.hero-art{height:270px;margin-top:-8px}.art-grid{width:57%;left:22%;top:7%;height:86%}.big320{font-size:210px;top:20%}.orbit{width:200px;height:200px}.orbit.two{width:260px;height:260px}.set-visual{width:176px}.cover-identity{font-size:8px}.cover-surface .cover-title{font-size:21px}.cover-note{font-size:8px}.cover-surface .cover-identity{font-size:8px}.cover-surface .cover-graphic{box-shadow:0 0 0 13px #ffffff08,0 0 0 28px #ffffff05}.hud{font-size:7px}.hud-1{top:4%;right:2%}.timeline-head{margin-top:54px;margin-bottom:20px}.timeline-head h2{font-size:31px}.timeline-head a{font-size:10px}.timegrid{grid-template-columns:1fr}.timeitem{border-left:0!important;border-top:1px solid #ffffff1f;padding:20px 5px!important}.timeitem:first-child{border-top:0}.slot-top{font-size:9px}.slot-name{font-size:21px;margin-top:12px}.slot-footer{margin-top:14px}.progress-line{margin-top:11px}.presentation{margin-top:65px}.statement{font-size:34px}.footer{font-size:9px}.preview-badge{position:fixed;transform:translateX(-50%);bottom:83px;margin:0 auto;width:calc(100% - 38px);max-width:none;border-radius:9px;gap:8px;justify-content:space-between;white-space:normal;padding:11px}.preview-badge .explain{display:none}.preview-badge button{font-size:9px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Single-line player: fixed, matching the selected cover. Links to actual station. */
.preview-player{position:sticky;z-index:20;bottom:0;background:#0d1420f2;border-top:1px solid #ffffff22;backdrop-filter:blur(18px);width:100%;box-shadow:0 -12px 42px #0004}
.player-inner{height:74px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.player-left{display:flex;align-items:center;gap:15px;min-width:0}
.player-pict{height:43px;width:43px;flex:none}
.player-text{min-width:0}
.player-text strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-text small{display:block;font-size:10px;color:#93a3ac;margin-top:6px}
.player-actions{display:flex;align-items:center;gap:19px;flex:none}
.player-label{font-size:9px;letter-spacing:.16em;color:#9ca9b4}
.player-link{display:flex;align-items:center;gap:8px;padding:11px 13px;border:1px solid rgba(var(--accent-rgb),.7);border-radius:24px;font-size:10px;letter-spacing:.1em;font-weight:700;color:#e9eaf0;white-space:nowrap}
.player-link:hover{background:rgba(var(--accent-rgb),.14)}
.player-link svg{width:14px;height:14px;fill:var(--accent)}
@media(max-width:560px){.player-inner{height:68px;gap:8px}.player-actions{gap:6px}.player-label{display:none}.player-link{padding:9px;font-size:9px}.player-text strong{font-size:11px}.player-text small{font-size:9px}.player-left{gap:9px}.cover-surface.small{width:40px;height:40px}}

@media(max-width:560px){
 .hero-art{height:290px;margin-top:4px}
 .set-visual{width:184px;top:45%}
 .cover-surface .cover-title{font-size:20px;bottom:31px}
 .cover-surface .cover-identity{font-size:7px;top:12px;left:11px}
 .cover-surface .cover-title{left:11px;right:11px}
 .cover-surface .cover-type{font-size:6px;left:11px;right:11px;letter-spacing:.12em;bottom:12px;white-space:nowrap}
 .cover-note{font-size:8px;margin-top:15px}
 .hud{display:none}
 .preview-badge{display:none}
}

/* IN MOTION V5 · only compact Coming Up on homepage. V3 Hero unchanged. */
.schedule-upcoming .timeline-head{margin-top:46px;margin-bottom:19px}
.schedule-upcoming .timeline-head h2{font-size:clamp(23px,2.8vw,33px);margin-top:11px}
.schedule-upcoming .upcoming-grid{border-top:1px solid #ffffff2b;border-bottom:1px solid #ffffff2b}
.schedule-upcoming .upcoming-item{display:block;padding:19px 20px 16px;min-height:143px;text-decoration:none}
.schedule-upcoming .upcoming-item:first-child{padding-left:0}
.schedule-upcoming .upcoming-item:hover{background:linear-gradient(180deg,rgba(var(--accent-rgb),.085),transparent 96%)}
.schedule-upcoming .upcoming-item:before{right:100%}
.schedule-upcoming .upcoming-item:hover:before{right:0}
.schedule-upcoming .slot-details{display:flex;gap:13px;align-items:center;margin-top:12px;min-width:0}
.schedule-upcoming .slot-text{min-width:0;flex:1}
.schedule-upcoming .slot-name{font-size:clamp(15px,1.6vw,21px);margin:0}
.schedule-upcoming .slot-show{margin-top:5px;font-size:10px}
.schedule-upcoming .cover-surface.small{width:40px;height:40px;border-color:#ffffff28}
.schedule-upcoming .slot-footer{margin-top:14px;justify-content:flex-end}
.schedule-upcoming .next-hours-note{display:flex;justify-content:space-between;gap:16px;padding:12px 0 0;color:#778994;font-size:9px;letter-spacing:.13em}
.cover-surface--purified{background:radial-gradient(ellipse at 72% 21%,#244660,transparent 62%),linear-gradient(140deg,#1d3243,#182b3a 68%,#141a2b)}
.cover-surface--rotation{background:radial-gradient(ellipse at 70% 21%,#484052,transparent 62%),linear-gradient(140deg,#2c2736,#1a2234 68%,#101824)}
@media(max-width:800px){.schedule-upcoming .upcoming-item{padding:17px 12px;min-height:136px}.schedule-upcoming .upcoming-item:first-child{padding-left:0}.schedule-upcoming .slot-details{gap:9px}}
@media(max-width:560px){.schedule-upcoming .timeline-head{margin-top:33px;gap:16px}.schedule-upcoming .timeline-head h2{font-size:27px}.schedule-upcoming .upcoming-grid{grid-template-columns:1fr}.schedule-upcoming .upcoming-item,.schedule-upcoming .upcoming-item:first-child{padding:12px 3px!important;min-height:unset}.schedule-upcoming .upcoming-item:first-child{border-top:0}.schedule-upcoming .slot-details{margin-top:8px}.schedule-upcoming .slot-name{font-size:18px}.schedule-upcoming .slot-footer{margin-top:8px}.schedule-upcoming .next-hours-note{font-size:8px;flex-wrap:wrap;gap:5px;padding:12px 0}.schedule-upcoming .cover-surface.small{width:38px;height:38px}}

/* The optional label describes the actual programme format, including mobile. */
.format-label{font-size:11px;font-weight:600;letter-spacing:.12em}
@media(max-width:560px){.hud.format-label{display:block;font-size:9px;top:4%;right:2%}}

/* Compact language selection beside the menu, before the player. */
.language-switch{display:flex;align-items:center;gap:9px;padding-right:16px;border-right:1px solid #ffffff23;flex:none}
.language-switch>span{display:inline-flex;align-items:center;gap:9px}
.language-switch button{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:29px;padding:5px 2px;border:0;background:transparent;color:#8d9ba5;font-size:11px;font-weight:650;letter-spacing:.08em;transition:color .2s}
.language-switch button:hover{color:#f1f2ef}
.language-switch button[aria-pressed="true"]{color:var(--accent);font-weight:750}
.language-divider{color:#ffffff35;font-size:10px}
@media(max-width:560px){.navright{gap:12px}.language-switch{gap:5px;padding-right:12px}.language-switch>span{gap:5px}.language-switch button{min-height:40px;min-width:27px;font-size:10px}}

/* Preserve complete on-air and Coming Up names within the approved layout. */
.hero .artist{white-space:normal;overflow-wrap:anywhere}
.hero .subtitle,.hero .subline{overflow-wrap:anywhere}
.schedule-upcoming .slot-name,.schedule-upcoming .slot-show{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.35}
