/* Service signals share the station colours; animation belongs to the signal. */
[data-onair][hidden],[data-live-info][hidden]{display:none!important}
.onair-link{display:flex;align-items:center;gap:20px;color:#254333;background:#faf0d8;border:1px solid #dcc492;border-radius:var(--radius,12px);text-decoration:none;position:relative;overflow:hidden}
.onair-link:focus-visible{outline:3px solid #ad6333;outline-offset:4px}
.onair-link:hover{background:#f5e7c7}.onair-copy{display:grid;gap:5px;min-width:0}.onair-tag{display:flex;align-items:center;gap:9px;color:#865025;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.onair-title{font:700 23px/1.25 var(--display-font,inherit);overflow-wrap:anywhere}.onair-description{font-size:14px;line-height:1.55;color:#4f6150}.onair-cta{font-size:14px;font-weight:800;line-height:1.4}.onair-wave{height:15px;display:flex;align-items:center;gap:2px;flex:none}.onair-wave i{display:block;width:3px;height:11px;background:currentColor;border-radius:2px;animation:onair-signal 1.25s ease-in-out infinite}.onair-wave i:nth-child(2){animation-delay:-.7s}.onair-wave i:nth-child(3){height:15px;animation-delay:-.3s}.onair-wave i:nth-child(4){animation-delay:-.9s}.onair-wave i:nth-child(5){height:8px;animation-delay:-.5s}
.onair-playlist{margin-bottom:24px;padding:20px 24px;border-left:4px solid #ad6333;animation:onair-arrive .4s ease-out}.onair-playlist .onair-art{width:72px;height:72px;flex:none;border-radius:var(--radius,12px)}.onair-playlist .onair-cta{margin-left:auto;flex:none}.onair-hero{padding:13px 15px;display:grid;gap:8px;margin:0 0 16px}.onair-hero .onair-title{font-size:19px}.onair-hero .onair-cta{font-size:13px}.hero-live:has([data-onair-state]:not([data-onair-state=""])) .live-discovery{display:none}
.player.has-onair .player-copy>.live-tag,.player.has-onair #current-track,.player.has-onair .player-status{display:none}
.onair-player{border:0;border-radius:5px;background:none;color:#fff1cf;padding:0;gap:20px;min-height:54px;overflow:visible}.onair-player:hover{background:none}.onair-player .onair-tag{color:#f0cf88;font-size:9px}.onair-player .onair-title{font-size:17px}.onair-player .onair-cta{font-size:13px;margin-left:auto;color:#f0d59d;border-bottom:1px solid #d8bf8366;padding-block:7px}.player.has-onair{box-shadow:0 -2px #c69b59,0 -8px 32px #182f2626}.player.has-onair .player-art{animation:none!important}
.playlist-shell .service-card{grid-template-columns:100px minmax(0,1fr);background:#f5f3e9}.service-state{display:inline-flex;margin-left:12px;padding:3px 8px;border-radius:4px;background:#e9e3d2;color:#67533c;font-size:11px;font-weight:800;vertical-align:middle}.service-card.is-service-live{border-color:#b9884b;background:#faf0d8}.service-card.is-service-live .service-state{background:#855529;color:#fff7e9}.service-card .song-copy{min-width:0}
.tube-mode .onair-link{background:#f3e3ba;border-color:#b79961;color:#47341f;border-radius:4px}.tube-mode .onair-title{font-family:Georgia,serif}.tube-mode .onair-player,.tube-mode .onair-player:hover{background:none;border:0;color:#ffe9b2}.tube-mode .playlist-shell .service-card{background:#f4e7cb}.tube-mode .playlist-shell .service-card.is-service-live{background:#f9e8bb}
@keyframes onair-signal{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
@keyframes onair-arrive{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:760px){.onair-player{display:grid;gap:0;min-height:60px}.onair-player .onair-copy{gap:2px}.onair-player .onair-tag{font-size:8px;letter-spacing:.5px}.onair-player .onair-title{font-size:14px;line-height:1.15}.onair-player .onair-cta{font-size:10px;margin-left:0;padding-block:2px;border:0}.onair-player .onair-wave{height:11px}.onair-player .onair-wave i{height:8px}.onair-player .onair-wave i:nth-child(3){height:11px}.onair-playlist{padding:16px;gap:14px;flex-wrap:wrap}.onair-playlist .onair-copy{flex:1}.onair-playlist .onair-art{width:54px;height:54px}.onair-playlist .onair-title{font-size:21px}.onair-playlist .onair-description{font-size:13px}.onair-playlist .onair-cta{width:100%;margin:0;padding-top:10px;border-top:1px solid #d8c99f}.playlist-shell .service-card{grid-template-columns:80px minmax(0,1fr)}.service-state{display:block;width:fit-content;margin:5px 0 7px}.tube-mode .onair-player .onair-title{font-size:14px}}
@media(max-width:520px){.playlist-shell .service-card{grid-template-columns:66px minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.onair-wave i,.onair-playlist{animation:none}.onair-wave i:nth-child(2n){transform:scaleY(.5)}}
.tube-mode.tube-motion-paused .onair-wave i{animation-play-state:paused}

/* The radio van and its bulletin board form one compact, responsive surface. */
.traffic-ride[hidden],.onair-traffic[hidden]{display:none!important}
.traffic-ride{
 --bus-width:160px;position:absolute;bottom:calc(100% + 14px);
 right:max(24px,calc((100vw - 1200px)/2));width:min(610px,calc(100% - 32px));
 max-height:min(610px,calc(100dvh - 230px));display:flex;flex-direction:column;
 border-radius:var(--radius,12px);box-shadow:0 12px 50px #182a2540;overflow:hidden;
}
.traffic-ride-stage{position:relative;flex:0 0 106px;overflow:hidden;background:linear-gradient(180deg,#f4f3df,#e1e8d1);border-radius:var(--radius,12px) var(--radius,12px) 0 0;isolation:isolate}
.traffic-ride-hills{position:absolute;inset:24px -2px 8px;background:#9daf8450;clip-path:polygon(0 75%,12% 47%,22% 62%,40% 22%,53% 49%,70% 12%,83% 46%,100% 28%,100% 100%,0 100%)}
.traffic-ride-hills:after{content:"";position:absolute;inset:28px 0 0;background:#6e8c6670;clip-path:polygon(0 70%,18% 21%,31% 64%,50% 30%,68% 61%,84% 2%,100% 42%,100% 100%,0 100%)}
.traffic-ride-road{position:absolute;inset:auto 0 0;height:11px;background:#3e5545;border-top:2px solid #8d9b70}
.traffic-ride-road:after{content:"";position:absolute;inset:4px 0 auto;height:2px;background:repeating-linear-gradient(90deg,#f9efd780 0 20px,transparent 20px 41px)}
.traffic-ride-sign{position:absolute;left:22px;bottom:25px;z-index:2;padding:8px 13px;border-radius:5px;background:#fff8e7;color:#284633;border:1px solid #d0c6a0;box-shadow:2px 3px 0 #a6b38a55;font:800 21px/1.2 var(--display-font,inherit);transform-origin:50% 100%}
.traffic-ride-sign:before{content:"EIFELRADIO UNTERWEGS";display:block;margin-bottom:4px;font:800 8px/1.4 var(--body-font,Arial,sans-serif);letter-spacing:1.5px;color:#776236}
.traffic-ride-sign:after{content:"";position:absolute;width:4px;height:17px;top:100%;left:25px;background:#627661;box-shadow:92px 0 #627661}
.traffic-bulli{position:absolute;bottom:4px;left:0;width:100%;height:calc(var(--bus-width)*.53704);transform:translateX(calc(100% - var(--bus-width) - 24px));will-change:auto}
.traffic-bulli-body{position:relative;width:var(--bus-width);height:100%;transform-origin:50% 90%}
.traffic-bulli-art{display:block;width:100%;height:100%}
.traffic-bulli-antenna{position:absolute;left:69%;bottom:83%;height:23px;width:2px;border-radius:2px;background:#274c3b;transform:rotate(-13deg);transform-origin:50% 100%}
.traffic-bulli-antenna:before{content:"";position:absolute;top:-2px;left:-2px;width:6px;height:6px;border-radius:50%;background:#b88039}
.traffic-bulli-wheel{position:absolute;bottom:calc(var(--bus-width)*.0185);width:calc(var(--bus-width)*.139);height:calc(var(--bus-width)*.139);border:5px solid #22342c;border-radius:50%;background:conic-gradient(#cfccb6 0 25%,#7e8878 25% 50%,#cfccb6 50% 75%,#7e8878 75%);box-shadow:0 0 0 1px #172b22}
.traffic-bulli-wheel:after{content:"";position:absolute;inset:3px;background:#d9d3b8;border-radius:50%}
.traffic-bulli-rear{left:calc(var(--bus-width)*.19)}.traffic-bulli-front{left:calc(var(--bus-width)*.708)}
.traffic-ride[data-phase=entering]{animation:bulli-shell-in .55s ease-out both}
.traffic-ride[data-phase=entering] .traffic-bulli{animation:bulli-arrive 2.35s .15s cubic-bezier(.3,.02,.25,1) both;will-change:transform}
.traffic-ride[data-phase=entering] .traffic-bulli-wheel{animation:bulli-wheel 2.35s .15s cubic-bezier(.3,.02,.25,1) both}
.traffic-ride[data-phase=entering] .traffic-bulli-body{animation:bulli-suspension 2.35s .15s ease-in-out both}
.traffic-ride[data-phase=entering] .traffic-bulli-antenna{animation:bulli-antenna 2.35s .15s ease-in-out both}
.traffic-ride[data-phase=entering] .traffic-ride-sign{animation:bulli-sign .85s 1s cubic-bezier(.25,.1,.25,1) backwards}
.traffic-ride[data-phase=entering] .onair-traffic{animation:bulli-board 1s .45s ease-out backwards}
.traffic-ride[data-phase=leaving]{box-shadow:0 10px 30px #182a2528;pointer-events:none}
.traffic-ride[data-phase=leaving] .traffic-ride-stage{animation:bulli-goodbye 2.4s both}
.traffic-ride[data-phase=leaving] .traffic-bulli{animation:bulli-leave 1.5s .65s cubic-bezier(.45,0,.8,.65) forwards}
.traffic-ride[data-phase=leaving] .traffic-bulli-wheel{animation:bulli-wheel 1.5s .65s cubic-bezier(.45,0,.8,.65) both}
.traffic-ride[data-phase=leaving] .traffic-bulli-antenna{animation:bulli-antenna 1.5s .65s ease-in-out both}
.traffic-ride[data-phase=leaving] .onair-traffic{animation:bulli-board-out .35s ease-out forwards}
.onair-traffic{min-height:0;overflow:auto;overscroll-behavior:contain;background:#fffaf0;color:#264333;border:1px solid #d5c49e;border-top:0;border-radius:0 0 var(--radius,12px) var(--radius,12px);padding:18px 22px;scrollbar-width:thin}
.player>.onair-traffic{position:absolute;bottom:calc(100% + 14px);right:16px;width:min(610px,calc(100vw - 32px));max-height:calc(100dvh - 170px);border-radius:var(--radius,12px)}
.onair-traffic-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:8px}.onair-traffic-head h2{font:700 23px/1.25 var(--display-font,inherit);margin:6px 0}
.onair-traffic-close{width:44px;height:44px;flex:none;border:1px solid #d2c6ac;background:#f0ebdd;border-radius:50%;font-size:26px;color:#384d3d}
.onair-traffic-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;padding:14px 0;border-top:1px solid #e2d7c4}
.onair-road{align-self:start;border-radius:4px;background:#244b3a;color:#fff;border:1px solid #fff;outline:1px solid #244b3a;min-width:45px;max-width:90px;overflow-wrap:anywhere;padding:6px 9px;text-align:center;font-size:12px;font-weight:800}
.onair-traffic-row h3{font-size:16px;line-height:1.4;margin:0 0 4px}.onair-traffic-row p{font-size:13px;line-height:1.6;margin:3px 0;color:#516051}.onair-traffic-row .onair-traffic-location{font-weight:700}
.onair-traffic-meta{font-size:11px;color:#65715d;margin:8px 0}.onair-traffic-all{display:flex;align-items:center;min-height:44px;border-top:1px solid #d8cbae;margin-top:10px;font-size:14px;font-weight:800}.onair-traffic-empty{font-size:14px;line-height:1.6;padding:12px 0}
.onair-traffic-toggle{border:0;background:none;color:#f0d59d;text-align:left;font-size:12px;font-weight:800;min-height:28px;padding:0;text-decoration:underline;text-underline-offset:3px}
.has-traffic .onair-player{min-height:40px}.has-traffic .onair-player .onair-cta{display:none}.has-traffic .onair-copy{gap:2px}
.onair-traffic a:hover{text-decoration:underline}.onair-traffic :is(a,button):focus-visible,.onair-traffic-toggle:focus-visible{outline:3px solid #aa6634;outline-offset:3px}
.tube-mode .traffic-ride-stage{background:linear-gradient(#efe0b8,#cdbd90)}.tube-mode .traffic-ride-sign{background:#f8eac6;color:#493823;border-color:#b19a68}.tube-mode .onair-traffic{background:#f3e4bf;border-color:#947344;color:#493823}.tube-mode .onair-traffic-head h2{font-family:Georgia,serif}.tube-mode .onair-traffic-close{background:#ddcca7;border-color:#b29a6f;color:#463922}
@keyframes bulli-arrive{from{transform:translateX(calc(-1 * var(--bus-width) - 10px))}to{transform:translateX(calc(100% - var(--bus-width) - 24px))}}
@keyframes bulli-leave{to{transform:translateX(calc(100% + 12px))}}
@keyframes bulli-shell-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes bulli-wheel{to{transform:rotate(2160deg)}}
@keyframes bulli-suspension{0%,100%{transform:none}24%{transform:translateY(-.7px)}60%{transform:translateY(.4px)}82%{transform:rotate(.5deg)}92%{transform:rotate(-.2deg)}}
@keyframes bulli-antenna{0%,100%{transform:rotate(-13deg)}28%{transform:rotate(-22deg)}58%{transform:rotate(-16deg)}78%{transform:rotate(-8deg)}91%{transform:rotate(-15deg)}}
@keyframes bulli-sign{from{opacity:0;transform:translateY(4px) perspective(300px) rotateX(-12deg)}to{opacity:1;transform:none}}
@keyframes bulli-board{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes bulli-board-out{to{opacity:0;transform:translateY(5px)}}
@keyframes bulli-goodbye{0%,84%{opacity:1}100%{opacity:0}}
@media(max-width:760px){
 .traffic-ride{--bus-width:142px;right:12px;width:calc(100% - 24px);max-height:calc(100dvh - 210px)}
 .traffic-ride-stage{flex-basis:94px}.traffic-ride-sign{left:16px;padding:7px 10px;font-size:18px}.traffic-ride-sign:before{font-size:7px;letter-spacing:1px}
 .onair-traffic{padding:14px 16px}.onair-traffic-head h2{font-size:21px}.onair-traffic-row{gap:10px}.onair-traffic-row h3{font-size:15px}.has-traffic .onair-player{min-height:38px}.onair-traffic-toggle{font-size:10px;min-height:28px}.has-traffic .player-copy{padding-block:6px}
}
@media(max-width:380px){.traffic-ride{--bus-width:126px}.traffic-ride-sign{left:12px;font-size:16px;padding:7px 8px}.traffic-ride-sign:before{font-size:6px;letter-spacing:.8px}.traffic-ride-sign:after{box-shadow:70px 0 #627661}.onair-traffic{padding:12px}.onair-traffic-head h2{font-size:19px}}
@media(max-height:520px){.traffic-ride{max-height:calc(100dvh - 220px)}.traffic-ride-stage{flex-basis:66px;--bus-width:106px}.traffic-ride-sign{bottom:18px;font-size:16px;padding:4px 8px}.traffic-ride-sign:before{font-size:6px}.onair-traffic{padding:10px 16px}.onair-traffic-head h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.traffic-ride,.traffic-ride *{animation:none!important}}
.tube-motion-paused .traffic-ride,.tube-motion-paused .traffic-ride *{animation:none!important}
