/* Shared header additions, without changing the approved desktop proportions. */
#app>.prototyp{overflow:visible}
@supports(overflow:clip){html{overflow-x:clip}}
.shell-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(221,237,235,.15);background:rgba(9,13,22,.86);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.shell-header .nav{border-bottom:0}
.navlinks a[aria-current="page"]{color:#f1f2ef}
.navlinks a[aria-current="page"]:after{right:0}
.head-live,.player-link{appearance:none;background:none;font-family:inherit}
.head-live{padding:0}
.head-live.is-playing,.player-link.is-playing{border-color:var(--accent);background:rgba(var(--accent-rgb),.09)}
.head-live.is-playing svg{margin-left:0}
.head-live:disabled,.player-link:disabled,.player-live-switch:disabled{opacity:.45;cursor:default}
.cover-surface--actual .cover-image{position:absolute;z-index:4;inset:0;width:100%;height:100%;display:block;object-fit:cover}
.player-text .player-error{color:#d9a3ac}
.player-live-switch{appearance:none;border:0;background:none;padding:8px 0;color:#9ca9b4;font:inherit;font-size:10px;white-space:nowrap}
.player-live-switch:hover{color:var(--accent)}
.popup-link{display:inline-flex;flex-direction:column;align-items:flex-start;flex:none;gap:8px}
.popup-launch{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;transition:color .2s,border-color .2s,background .2s}
.popup-launch svg{width:13px;height:13px;flex:none}
.popup-launch:hover{color:#e8e9ef;border-color:rgba(var(--accent-rgb),.7);background:rgba(var(--accent-rgb),.08)}
.popup-link-note{max-width:210px;font-size:10px;line-height:1.5;color:#c0a5b8;letter-spacing:0}
.shell-mobile-menu{display:none;position:relative}
.shell-mobile-menu summary{cursor:pointer;font-size:10px;letter-spacing:.07em;list-style:none;padding:13px 0;color:#b6c1c1}
.shell-mobile-menu summary::-webkit-details-marker{display:none}
.shell-mobile-panel{position:absolute;z-index:30;top:42px;right:0;min-width:190px;padding:10px 18px;background:#111724;border:1px solid #ffffff26;box-shadow:0 16px 28px #0005}
.shell-mobile-menu nav a{display:block;padding:14px 0;font-size:11px;letter-spacing:.1em;color:#b6c1c1}
.shell-mobile-menu nav a[aria-current="page"]{color:var(--accent)}
@media(max-width:560px){.shell-mobile-menu{display:block}.shell-header .nav{gap:10px}.shell-header .navright{gap:10px}}
@media(max-width:360px){.shell-header .logo{width:90px;min-width:90px}.shell-header .navright{gap:8px}.shell-header .language-switch{padding-right:8px;gap:3px}.shell-header .language-switch>span{gap:3px}.shell-mobile-menu summary{font-size:9px}}


/* Shared fixed footer/player dock. Its measured height reserves the complete content area. */
#app>.prototyp{min-height:100vh;min-height:100dvh;padding-bottom:var(--bottom-dock-height,calc(152px + env(safe-area-inset-bottom,0px)))}
.prototyp .shell-bottom{position:fixed;top:auto;right:0;bottom:0;left:0;z-index:40;width:100%;padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid #ffffff22;background:#090d16}
.prototyp .shell-bottom .footer{margin-top:0;border-top:0;flex-wrap:wrap}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;gap:8px 18px}
.footer-legal a{color:inherit;text-decoration:none;white-space:nowrap;transition:color .2s}
.footer-legal a:hover,.footer-legal a:focus-visible{color:#dde3e3}
.footer-legal a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.prototyp .shell-bottom .preview-player{position:static;bottom:auto;margin-top:0;border-top:0}
.shell-bottom .shell-footer{border-top:1px solid #ffffff22}
.shell-bottom .player-inner{min-width:0}
.shell-bottom .player-left{flex:1;min-width:0}
.shell-bottom .player-text{flex:1;min-width:0}
@media(max-width:800px){#app>.prototyp{padding-bottom:var(--bottom-dock-height,calc(180px + env(safe-area-inset-bottom,0px)))}}
@media(max-width:560px){.prototyp .shell-bottom .footer{gap:12px 22px}.footer-legal{gap:8px 14px}}
@media(max-height:450px){.prototyp .shell-bottom .footer{padding-top:10px;padding-bottom:10px;gap:6px 22px}.shell-bottom .player-inner{height:60px}}

/* Station information and legal navigation share the same compact dock. */
.prototyp .shell-bottom .footer{display:grid;grid-template-columns:auto 1fr auto;gap:16px 28px;padding-top:22px;padding-bottom:22px;letter-spacing:.07em}
.shell-bottom .footer strong{font-size:9px;letter-spacing:.11em;white-space:nowrap}
.shell-bottom .footer-legal{justify-content:center;gap:8px 16px;font-size:9px;line-height:1.6}
.footer-legal button{appearance:none;border:0;background:none;padding:0;font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;white-space:nowrap}
.footer-legal button:hover,.footer-legal button:focus-visible{color:#dde3e3}
.footer-legal button:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.footer-tagline{font-size:9px;white-space:nowrap;text-align:right}
@media(max-width:1280px){.prototyp .shell-bottom .footer{grid-template-columns:1fr 1fr;gap:13px 24px;padding-top:17px;padding-bottom:17px}.shell-bottom .footer-legal{grid-column:1/-1;grid-row:2;justify-content:flex-start}.footer-tagline{grid-column:2;grid-row:1}}
@media(max-width:560px){.prototyp .shell-bottom .footer{gap:10px 16px;padding-top:14px;padding-bottom:14px}.shell-bottom .footer strong,.footer-tagline{font-size:8px;letter-spacing:.04em}.shell-bottom .footer-legal{gap:8px 16px;font-size:9px}.footer-tagline{white-space:normal;max-width:140px;justify-self:end;line-height:1.5}}

/* Station profiles replace the redundant header player. */
.header-socials{display:flex;align-items:center;gap:6px;flex:none}
.header-socials a{display:inline-flex;align-items:center;justify-content:center;width:32px;height:36px;flex:none;color:#d8d8d8;border-radius:6px;transition:color .2s,background .2s}
.header-socials a:hover{color:#fff;background:#ffffff12}
.header-socials a:focus-visible{outline:2px solid #fff;outline-offset:3px}
.header-socials svg{display:block;width:18px;height:18px;fill:currentColor}
.header-socials-mobile{display:none}
.shell-mobile-menu .header-socials{position:static;min-width:0;padding:10px 0 0;margin-top:4px;border:0;border-top:1px solid #ffffff26;background:none;box-shadow:none;gap:12px}
.shell-mobile-menu .header-socials a{display:inline-flex;padding:0;width:32px;height:36px;color:#d8d8d8}
@media(max-width:900px){.shell-header .navlinks{display:none}.shell-mobile-menu{display:block}}
@media(max-width:560px){.header-socials-desktop{display:none}.header-socials-mobile{display:flex}.shell-header .language-switch{border-right:0;padding-right:0}}

/* Mobile navigation: shared station panel. */
.navlinks .menu-symbol{display:none}
.shell-mobile-menu .mobile-menu-trigger{display:flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0 10px;border:1px solid #ffffff26;border-radius:12px;background:#ffffff05;color:#eef1f5;font:inherit;font-size:12px;cursor:pointer}
.shell-mobile-menu .menu-symbol{width:23px;height:23px;flex:none}
.shell-mobile-menu .mobile-menu-trigger:hover,.shell-mobile-menu.is-open .mobile-menu-trigger{border-color:var(--accent);background:rgba(var(--accent-rgb),.12)}
.shell-mobile-menu .shell-mobile-panel[hidden]{display:none!important}
.shell-mobile-menu .shell-mobile-panel{position:absolute;top:calc(100% + 12px);right:0;width:340px;min-width:0;padding:20px;border:1px solid #ffffff24;border-radius:18px;background:linear-gradient(145deg,#171d2c,#0d121e);box-shadow:0 24px 70px #0009;max-height:calc(100dvh - 110px);overflow:auto;overscroll-behavior:contain;animation:station-menu-in .2s ease-out}
.shell-mobile-menu .mobile-menu-heading{display:flex;justify-content:space-between;gap:12px;padding:0 4px 16px;color:#94a0b2;font-size:10px;font-weight:600;letter-spacing:.16em}
.shell-mobile-menu .mobile-menu-heading>span:first-child{color:#f4f5fa}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials){position:static;min-width:0;padding:0;background:none;border:0;box-shadow:none;display:grid;gap:7px}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a{display:flex;align-items:center;gap:16px;min-height:60px;padding:10px 14px;border:1px solid transparent;border-radius:11px;color:#e4e8f0;font-size:16px;font-weight:600;letter-spacing:.055em;transition:background .18s,border-color .18s}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a .menu-symbol{color:#a6b2c4}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a:hover{background:#ffffff09;border-color:#ffffff1a}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a[aria-current=page]{background:rgba(var(--accent-rgb),.14);border-color:rgba(var(--accent-rgb),.5);color:#fff}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a[aria-current=page] .menu-symbol{color:var(--accent)}
.shell-mobile-menu .shell-mobile-panel>nav:not(.header-socials) a[aria-current=page]:after{content:'';margin-left:auto;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.shell-mobile-menu a:focus-visible,.shell-mobile-menu button:focus-visible{outline:2px solid #e8ecff;outline-offset:3px}
.shell-mobile-menu .header-socials{display:flex;padding-top:15px;margin-top:16px}
.shell-mobile-menu .header-socials a{width:44px;height:44px}
@keyframes station-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:900px){.shell-mobile-menu{display:block;position:static}.shell-mobile-menu .shell-mobile-panel{top:calc(100% + 10px);right:16px;left:16px;width:auto;max-width:480px;margin-left:auto}.shell-header .navlinks{display:none}}
@media(max-width:380px){.shell-mobile-menu .mobile-menu-trigger{padding:0 8px;gap:5px}.shell-mobile-menu .mobile-menu-trigger span{display:none}.shell-mobile-menu .shell-mobile-panel{left:10px;right:10px;padding:16px}}
@media(prefers-reduced-motion:reduce){.shell-mobile-menu .shell-mobile-panel{animation:none}.shell-mobile-menu a{transition:none!important}}
