        :root { --primary: #b57cff; --bg: #070a1c; --card: #0f1538; --text: #e0e0e0; --tiktok: #ff0050; }
        * { margin:0; padding:0; box-sizing:border-box; }
        html { height: 100%; -webkit-text-size-adjust: 100%; }
        body { background: var(--bg); color: var(--text); font-family: 'Segoe UI', sans-serif; line-height: 1.5; overflow-x: hidden; min-height: 100%; overscroll-behavior-y: contain; -webkit-tap-highlight-color: transparent; -webkit-font-smoothing: antialiased; }
        a, button { -webkit-tap-highlight-color: transparent; }



        .grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 20px; }
        #genre-filter-row{display:none!important;}
        
        .section-title { color: var(--primary); border-bottom: 1px solid #1d2455; padding-bottom: 10px; margin-bottom: 20px; font-size: 1.2rem; text-transform: uppercase; letter-spacing: 1px; }


        .card { background: var(--card); border-radius: 15px; border: 1px solid #1d2455; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 5px 20px rgba(0,0,0,0.5); transition: 0.3s; }
        .card-body { padding: 20px; flex: 1; }
        .card-description { font-size: 0.9rem; color: #aaa; margin-bottom: 15px; line-height: 1.5; white-space: pre-line; }
        
        .card-np { background: #060919; padding: 12px; border-radius: 8px; border-left: 4px solid var(--primary); margin: 20px 0; display: flex; align-items: center; gap: 15px; }
        .card-np img { width: 55px; height: 55px; border-radius: 6px; object-fit: cover; flex-shrink: 0; }
        .live-badge { display: inline-block; background: #ff0050; color: #fff; font-size: 0.6rem; font-weight: bold; padding: 2px 6px; border-radius: 4px; margin-right: 5px; text-transform: uppercase; animation: pulse 2s infinite; }
        
        .marquee-wrapper { width: 100%; overflow: hidden; white-space: nowrap; position: relative; }
        .marquee-inner { display: inline-block; white-space: nowrap; }

        .full-artist { color: var(--primary); font-size: 1.8rem; font-weight: 900; line-height: 1.1; text-transform: uppercase; margin-bottom: 5px; }
        .full-title { font-size: 1.4rem; color: #fff; font-weight: 300; opacity: 0.9; }

        .day-select { background: #151b42; color: #fff; border: 1px solid #2b3370; padding: 12px; border-radius: 8px; width: 100%; margin-bottom: 15px; font-weight: bold; cursor: pointer; }

        .schedule-table { width: 100%; border-collapse: collapse; }
        .schedule-table td { padding: 14px 5px; font-size: 0.85rem; border-bottom: 1px solid #1d2455; vertical-align: top; }
        .s-icon { width: 30px; color: var(--primary); text-align: center; padding-top: 16px !important; }
        .s-time { color: var(--primary); font-weight: bold; width: 90px; font-family: monospace; white-space: nowrap; padding-top: 16px !important; }
        .s-fav { width: 40px; text-align: center; padding-top: 10px !important; }
        .show-fav-btn { background: #151b42; border: 1px solid #2b3370; color: #666; width: 34px; height: 34px; border-radius: 50%; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: 0.2s; font-size: 0.85rem; }
        .show-fav-btn:hover { border-color: var(--primary); color: var(--primary); }
        .show-fav-btn.active { background: var(--primary); border-color: var(--primary); color:#fff; }

        .hist-item { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; font-size: 0.85rem; border-bottom: 1px solid #151b42; padding-bottom: 8px; }
        .hist-item img { width: 45px; height: 45px; border-radius: 5px; object-fit: cover; flex-shrink: 0; }
        .hist-text { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .hist-time { font-size: 0.7rem; color: #777; margin-top: 3px; }

        .search-input { width: 100%; padding: 12px; border-radius: 8px; border: 1px solid #2b3370; background: #151b42; color: #fff; margin-bottom: 15px; font-family: inherit; font-size: 0.9rem; }
        .search-input:focus { outline: none; border-color: var(--primary); }
        .pagination-container { display: flex; justify-content: space-between; align-items: center; margin-top: 15px; padding-top: 15px; border-top: 1px solid #1d2455; }

        .btn-group { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 20px; background: #0a0e26; border-top: 1px solid #151b42; }
        .btn-play { grid-column: 1 / -1; background: var(--primary); color:#fff; border: none; padding: 16px; border-radius: 8px; font-weight: 900; cursor: pointer; text-transform: uppercase; letter-spacing: 1px; }
        .btn-sec { background: #1d2455; color: #fff; border: 1px solid #2b3370; padding: 12px; border-radius: 8px; font-size: 0.75rem; text-decoration: none; text-align: center; cursor: pointer; text-transform: uppercase; font-weight: bold; display: flex; justify-content: center; align-items: center; transition: 0.2s; }
        .btn-sec:hover:not(:disabled) { background: #2b3370; border-color: var(--primary); }
        .btn-sec:disabled { opacity: 0.4; cursor: not-allowed; }
        
        .tiktok-btn { background: #000; color: #fff; border: 1px solid #2b3370; padding: 10px; border-radius: 8px; display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 0.8rem; font-weight: bold; margin-bottom: 10px; transition: 0.2s; border-left: 4px solid var(--tiktok); word-break: break-all; }
        .tiktok-btn:hover { background: #0d1232; transform: translateX(5px); }
        .site-btn { background: #000; color: #fff; border: 1px solid #2b3370; padding: 10px; border-radius: 8px; display: flex; align-items: center; gap: 10px; text-decoration: none; font-size: 0.8rem; font-weight: bold; margin-bottom: 10px; transition: 0.2s; border-left: 4px solid var(--primary); word-break: break-all; }
        .site-btn:hover { background: #0d1232; transform: translateX(5px); }

        /* === Plattform-Links (Apple Music / TuneIn / radio.de / phonostar) === */
        .platform-icons { display: flex; gap: 8px; margin: 12px 0 4px; flex-wrap: wrap; }
        .platform-icon-btn { width: 32px; height: 32px; border-radius: 50%; background: #151b42; border: 1px solid #2b3370; display: flex; align-items: center; justify-content: center; text-decoration: none; transition: 0.2s; flex-shrink: 0; }
        .platform-icon-btn:hover { transform: translateY(-2px); background: #1d2455; border-color: #444; }

        /* Echte Anbieter-Logos: weißer Chip als Hintergrund, damit jedes Logo unabhängig
           von seiner eigenen Farbgebung auf dem dunklen Design gut lesbar bleibt. */
        .platform-logo-img { max-width: 18px; max-height: 18px; object-fit: contain; background: #fff; border-radius: 4px; padding: 3px; display: block; }
        .platform-btn .platform-logo-img { max-width: 16px; max-height: 14px; padding: 2px; }

        .platform-links { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
        .platform-btn { display: flex; align-items: center; gap: 7px; background: #151b42; border: 1px solid #2b3370; padding: 9px 14px; border-radius: 20px; font-size: 0.72rem; font-weight: 800; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; color: #ccc; transition: 0.2s; }
        .platform-btn:hover { transform: translateY(-2px); background: #1d2455; border-color: var(--primary); }

        /* === Podcast-Kachel (AnMaCha - Der Podcast) === */
        .podcast-card { border: 1px solid #3a2a5c; background: linear-gradient(160deg, #1a1230 0%, #0d1232 60%); }
        .podcast-badge { display:inline-flex; align-items:center; gap:6px; background:#8b5cf6; color:#fff; font-size:0.65rem; font-weight:900; text-transform:uppercase; letter-spacing:1px; padding:4px 10px; border-radius:20px; }

        /* === Podcast: Vollbild-Ansicht (Hero + Folgenliste) === */
        .podcast-hero { border: 1px solid #3a2a5c; background: linear-gradient(160deg, #1a1230 0%, #0d1232 60%); text-align:center; }
        .podcast-hero-img { width:160px; height:160px; border-radius:16px; object-fit:cover; display:block; margin:0 auto 18px; border:1px solid #3a2a5c; }
        .podcast-hero-title { color:#fff; font-size:1.3rem; margin:0 0 12px; }
        .podcast-hero-desc { color:#aaa; font-size:0.85rem; line-height:1.6; text-align:left; margin:0 0 8px; white-space:pre-line; }
        .podcast-ep-item { display:flex; align-items:center; gap:12px; padding:12px 6px; border-bottom:1px solid #1d2455; }
        .podcast-ep-item:last-child { border-bottom:none; }
        .podcast-ep-item.playing { background:rgba(139,92,246,0.08); border-radius:8px; }
        .podcast-ep-item img { width:52px; height:52px; border-radius:8px; object-fit:cover; flex-shrink:0; border:1px solid #2b3370; }
        .podcast-ep-text { flex:1; min-width:0; }
        .podcast-ep-text b { display:block; font-size:0.88rem; color:#eee; line-height:1.3; }
        .podcast-ep-date { font-size:0.68rem; color:#8b5cf6; text-transform:uppercase; font-weight:700; margin-top:3px; }
        .podcast-ep-desc { font-size:0.75rem; color:#888; margin-top:5px; line-height:1.4; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
        .podcast-ep-play { width:38px; height:38px; border-radius:50%; background:#1d2455; border:1px solid #2b3370; color:var(--primary); flex-shrink:0; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:0.2s; }
        .podcast-ep-play:hover { background:var(--primary); color:#fff; border-color:var(--primary); }

        /* === Hilfeseite === */
        .help-item { display:flex; gap:14px; padding:14px 0; border-bottom:1px solid #1d2455; }
        .help-item:last-child { border-bottom:none; }
        .help-item-icon { width:38px; height:38px; border-radius:10px; background:#151b42; border:1px solid #2b3370; color:var(--primary); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1rem; }
        .help-item-text { min-width:0; }
        .help-item-text b { display:block; color:#fff; font-size:0.95rem; margin-bottom:4px; }
        .help-item-text p { font-size:0.85rem; color:#aaa; line-height:1.6; margin:0; }
        .help-item-text ul { margin:8px 0 0 18px; padding:0; font-size:0.85rem; color:#aaa; line-height:1.6; }
        .help-item-text li { margin-bottom:6px; }
        .help-item-text li b { display:inline; color:#ddd; }

        /* === Entdecken: Genre-Filter & Zufalls-Button === */
        .genre-filter-row { display:flex; flex-wrap:wrap; gap:8px; margin: -8px 0 20px; } #genre-filter-row{display:none!important}
        .genre-chip { background:#101638; border:1px solid #2b3370; color:#aaa; font-size:0.72rem; font-weight:700; text-transform:uppercase; letter-spacing:0.5px; padding:7px 14px; border-radius:20px; cursor:pointer; transition:0.2s; }
        .genre-chip:hover { border-color:var(--primary); color:#fff; }
        .genre-chip.active { background:var(--primary); border-color:var(--primary); color:#fff; }
        .random-btn { background:#101638; border:1px solid #2b3370; color:var(--primary); font-size:0.72rem; font-weight:800; text-transform:uppercase; letter-spacing:0.5px; padding:8px 14px; border-radius:20px; cursor:pointer; transition:0.2s; display:inline-flex; align-items:center; gap:6px; }
        .random-btn:hover { background:var(--primary); color:#fff; }
        .random-btn.active { background:var(--primary); color:#fff; }

        /* === Song-Datenbank: Verlauf/Charts-Tabs === */
        .archive-tabs { display:flex; gap:8px; margin-bottom:14px; }
        .archive-tab-btn { flex:1; background:#101638; border:1px solid #2b3370; color:#999; font-size:0.75rem; font-weight:800; text-transform:uppercase; padding:9px; border-radius:8px; cursor:pointer; transition:0.2s; }
        .archive-tab-btn.active { background:var(--primary); color:#fff; border-color:var(--primary); }
        .chart-range-row { display:flex; gap:8px; margin-bottom:14px; }
        .chart-range-btn { background:#101638; border:1px solid #2b3370; color:#999; font-size:0.68rem; font-weight:700; padding:6px 12px; border-radius:16px; cursor:pointer; transition:0.2s; }
        .chart-range-btn.active { background:#1d2455; color:var(--primary); border-color:var(--primary); }
        .chart-rank { width:26px; flex-shrink:0; text-align:center; font-weight:900; font-size:1rem; color:#555; }

        /* === Einbetten (iframe-Widget) & QR-Code === */
        .embed-box { background:#151b42; border:1px solid #2b3370; border-radius:10px; padding:10px 12px; margin-top:10px; }
        .embed-box textarea { width:100%; background:#0d1232; color:#999; border:1px solid #2b3370; border-radius:6px; font-family:monospace; font-size:0.7rem; padding:8px; resize:none; box-sizing:border-box; }
        .qr-popover-img { background:#fff; padding:8px; border-radius:8px; display:block; margin:10px auto 0; }

        /* === Voting-Tool (iframe von statistik/voting.html) === */
        .voting-box iframe { display:block; width:100%; max-width:560px; aspect-ratio:560/480; height:auto; border:none; margin:12px auto 0; border-radius:10px; }

        /* === Studiomail-Kontaktformular (iframe von statistik/studiomail) === */
        .studiomail-box iframe { display:block; width:100%; max-width:480px; height:650px; border:none; margin:12px auto 0; border-radius:10px; }
        #network-voting-wrapper { display:flex; justify-content:center; width:100%; margin-top:40px; padding-top:40px; border-top:1px solid #1d2455; }
        .network-voting-card { width:100%; max-width:600px; border:2px solid var(--primary) !important; box-shadow:0 0 30px rgba(168,85,247,0.2) !important; text-align:center; }
        .network-voting-card .card-body { padding:22px; }
        .network-voting-card iframe { display:block; width:100%; max-width:560px; aspect-ratio:560/480; height:auto; border:none; margin:14px auto 0; border-radius:10px; }

        /* === Direkt-Stream (rohe Stream-URL: kopieren / .m3u) === */
        .stream-url-box { display: flex; align-items: center; gap: 8px; background: #151b42; border: 1px solid #2b3370; border-radius: 10px; padding: 6px 6px 6px 12px; }
        .stream-url-box input { flex: 1; min-width: 0; background: transparent; border: none; color: #999; font-size: 0.75rem; font-family: monospace; outline: none; text-overflow: ellipsis; }
        .stream-url-btn { width: 34px; height: 34px; border-radius: 8px; background: #1d2455; border: 1px solid #2b3370; color: #ccc; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 0.85rem; flex-shrink: 0; transition: 0.2s; }
        .stream-url-btn:hover { background: var(--primary); border-color: var(--primary); color:#fff; }
        @media (max-width: 600px) { .stream-url-box input { font-size: 0.68rem; } }

        /* === AnMaCha Fanshop Banner === */

        /* === Favoriten === */
        .fav-btn { position: absolute; top: -6px; right: -6px; width: 26px; height: 26px; border-radius: 50%; background: #0d1232; border: 1px solid #2b3370; color: #555; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 0.8rem; transition: 0.2s; z-index: 2; }
        .fav-btn:hover { border-color: var(--primary); color: var(--primary); transform: scale(1.1); }
        .fav-btn.active { background: var(--primary); border-color: var(--primary); color:#fff; }
        .fav-btn.active i { font-weight: 900; }
        .full-fav-btn { width: 40px; height: 40px; border-radius: 50%; background: #151b42; border: 1px solid #2b3370; color: #777; display: flex; align-items: center; justify-content: center; cursor: pointer; font-size: 1rem; transition: 0.2s; flex-shrink: 0; }
        .full-fav-btn:hover { border-color: var(--primary); color: var(--primary); }
        .full-fav-btn.active { background: var(--primary); border-color: var(--primary); color:#fff; }
        #favorites-section { display: none; }
        .fav-chip-row { display: flex; flex-wrap: wrap; gap: 12px; }
        .fav-chip { display: flex; align-items: center; gap: 10px; background: var(--card); border: 1px solid #1d2455; border-radius: 12px; padding: 8px 10px; width: 220px; }
        .fav-chip img { width: 42px; height: 42px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
        .fav-chip-name { flex: 1; min-width: 0; font-size: 0.82rem; font-weight: bold; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .fav-chip-btns { display: flex; gap: 4px; flex-shrink: 0; }
        .fav-chip-btns button { width: 28px; height: 28px; border-radius: 50%; border: 1px solid #2b3370; background: #151b42; color: #ccc; cursor: pointer; font-size: 0.7rem; display: flex; align-items: center; justify-content: center; transition: 0.2s; }
        .fav-chip-btns button:hover { border-color: var(--primary); color: var(--primary); }
        .fav-chip-btns button.fav-chip-unfav { color: var(--primary); }

        /* === Master-Player Erweiterungen: Lautstärke, Sleep-Timer, Teilen === */
        .mp-extra-btn { background: none; border: none; color: #999; cursor: pointer; font-size: 1.05rem; padding: 6px; position: relative; transition: 0.2s; flex-shrink: 0; }
        .mp-extra-btn:hover { color: var(--primary); }
        .mp-extra-btn.active { color: var(--primary); }
        .volume-wrap { position: relative; flex-shrink: 0; }
        .volume-popover, .sleep-menu, .share-toast { display: none; position: absolute; bottom: 60px; left: auto; right: 0; background: #0f1538; border: 1px solid #2b3370; border-radius: 10px; padding: 10px 14px; box-shadow: 0 10px 30px rgba(0,0,0,0.6); z-index: 2600; }
        .volume-popover.open { display: flex; align-items: center; gap: 10px; }
        .volume-popover { right: -8px; }
        .volume-popover input[type="range"] { -webkit-appearance: none; appearance: none; width: 120px; height: 4px; border-radius: 4px; background: #2b3370; outline: none; cursor: pointer; }
        .volume-popover input[type="range"]::-webkit-slider-thumb { -webkit-appearance: none; appearance: none; width: 18px; height: 18px; border-radius: 50%; background: var(--primary); cursor: pointer; }
        .volume-popover input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; border-radius: 50%; background: var(--primary); border: none; cursor: pointer; }
        .sleep-menu { left: auto; right: 0; transform: none; min-width: 150px; padding: 8px; }
        .sleep-menu.open { display: block; }
        .sleep-menu button { display: block; width: 100%; text-align: left; background: none; border: none; color: #ccc; padding: 8px 10px; border-radius: 6px; cursor: pointer; font-size: 0.8rem; }
        .sleep-menu button:hover { background: #1d2455; color: var(--primary); }
        .sleep-menu button.active-option { color: var(--primary); font-weight: bold; }
        .share-toast { display: flex; align-items: center; gap: 8px; white-space: nowrap; font-size: 0.75rem; color: #ccc; opacity: 0; pointer-events: none; transition: opacity 0.3s; }
        .share-toast.show { display: flex; opacity: 1; }

        /* === SHOW ME YOUR VOICE Promo (nur RicoReWi) === */
        .smyv-promo { background: linear-gradient(135deg, #2a0f1c 0%, #0a0e26 100%); border: 2px solid #D2527F; border-radius: 16px; padding: 18px 20px; margin-bottom: 20px; }
        .smyv-promo-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
        .smyv-promo-head i { color: #D2527F; font-size: 1.3rem; }
        .smyv-promo-title { font-size: 1rem; font-weight: 900; letter-spacing: 1px; color: #ff7fac; text-transform: uppercase; }
        .smyv-promo-desc { font-size: 0.85rem; color: #ccc; line-height: 1.5; margin-bottom: 12px; }
        .smyv-promo-next { display: inline-flex; align-items: center; gap: 6px; background: rgba(210,82,127,0.12); border: 1px solid rgba(210,82,127,0.35); color: #ff7fac; font-size: 0.72rem; font-weight: bold; padding: 5px 10px; border-radius: 20px; margin-bottom: 14px; }
        .smyv-promo-actions { display: flex; gap: 10px; flex-wrap: wrap; }
        .smyv-btn { display: flex; align-items: center; gap: 7px; padding: 10px 16px; border-radius: 8px; font-size: 0.75rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.5px; text-decoration: none; transition: 0.2s; }
        .smyv-btn-primary { background: #D2527F; color: #fff; }
        .smyv-btn-primary:hover { background: #e86694; }
        .smyv-btn-sec { background: #1e1e1e; color: #ccc; border: 1px solid #2b3370; }
        .smyv-btn-sec:hover { background: #252c66; border-color: #D2527F; color: #ff7fac; }
        #show-ricorewi.smyv-live { color: #ff7fac !important; }

        
        .box { background: #0d1232; padding: 20px; border-radius: 15px; border: 1px solid #252c66; margin-bottom: 25px; }
        
        footer { text-align: center; padding: 20px 20px 100px 20px; font-size: 0.85rem; color: #666; border-top: 1px solid #151b42; background: #060919; }
        footer a { color: var(--primary); text-decoration: none; margin: 0 10px; font-weight: bold; display: inline-block; margin-bottom: 5px; }
        .legal-notice { max-width: 800px; margin: 15px auto; line-height: 1.6; color: #555; font-size: 0.75rem; }

        @keyframes fadeIn { from { opacity: 0; transform: translateY(15px); } to { opacity: 1; transform: translateY(0); } }
        @keyframes pulse { 0% { opacity: 1; } 50% { opacity: 0.6; } 100% { opacity: 1; } }


        /* === Empfehlungen Slider === */
        .rec-section { margin-bottom: 40px; }

        .rec-slider-wrap { position: relative; overflow: hidden; border-radius: 14px; }
        .rec-slider-track {
            display: flex;
            transition: transform 0.55s cubic-bezier(0.4, 0, 0.2, 1);
            will-change: transform;
        }
        .rec-card {
            min-width: 100%;
            background: linear-gradient(135deg, #0f1538 0%, #0a0e26 100%);
            border: 1px solid #252c66;
            border-radius: 14px;
            overflow: hidden;
            display: flex;
            flex-direction: column;
            position: relative;
            box-sizing: border-box;
        }
        .rec-card-accent  { border-left: 4px solid var(--primary); }
        .rec-card-purple  { border-left: 4px solid #7c5cfc; }
        .rec-card-teal    { border-left: 4px solid #00c9a7; }
        .rec-card-orange  { border-left: 4px solid #ff6b35; }

        /* Badge: im normalen Flow als Header-Zeile */
        .rec-header { display: flex; align-items: center; justify-content: space-between; padding: 10px 14px 0; gap: 8px; }
        .rec-badge {
            display: inline-flex; align-items: center; gap: 5px;
            font-size: 0.58rem; font-weight: 900; text-transform: uppercase;
            letter-spacing: 1px; padding: 3px 9px; border-radius: 20px;
            background: rgba(168,85,247,0.12); color: var(--primary);
            border: 1px solid rgba(168,85,247,0.25); white-space: nowrap; flex-shrink: 0;
        }
        .rec-badge.purple { background:rgba(124,92,252,0.12); color:#a78bfa; border-color:rgba(124,92,252,0.25); }
        .rec-badge.teal   { background:rgba(0,201,167,0.12);  color:#00c9a7; border-color:rgba(0,201,167,0.25); }
        .rec-badge.orange { background:rgba(255,107,53,0.12); color:#ff6b35; border-color:rgba(255,107,53,0.25); }

        .rec-inner { display: flex; align-items: center; gap: 14px; padding: 10px 14px 8px; flex: 1; }
        .rec-img { width: 66px; height: 66px; border-radius: 10px; object-fit: cover; flex-shrink: 0; border: 1px solid #2b3370; }
        .rec-meta { flex: 1; min-width: 0; }
        .rec-label { font-size: 0.6rem; font-weight: 900; text-transform: uppercase; letter-spacing: 1px; color: #555; margin-bottom: 2px; }
        .rec-name  { font-size: 1rem; font-weight: 900; color: #fff; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-bottom: 4px; }

        /* Beschreibung als Dropdown */
        .rec-desc-wrap { margin-bottom: 5px; }
        .rec-desc-toggle { display: flex; align-items: center; gap: 5px; background: none; border: none; color: #555; font-size: 0.68rem; cursor: pointer; padding: 0; font-family: inherit; transition: color 0.2s; }
        .rec-desc-toggle:hover { color: #999; }
        .rec-desc-toggle i { font-size: 0.6rem; transition: transform 0.25s; }
        .rec-desc-toggle.open i { transform: rotate(180deg); }
        .rec-desc-body { font-size: 0.71rem; color: #777; line-height: 1.5; max-height: 0; overflow: hidden; transition: max-height 0.35s ease, opacity 0.3s ease; opacity: 0; margin-top: 0; }
        .rec-desc-body.open { max-height: 200px; opacity: 1; margin-top: 5px; }

        /* Show-Laufschrift */
        .rec-show-inline { display: flex; align-items: center; gap: 7px; background: rgba(124,92,252,0.07); border: 1px solid rgba(124,92,252,0.18); border-radius: 7px; padding: 5px 9px; margin-top: 4px; overflow: hidden; }
        .rec-show-inline i.fa-calendar-alt { color: #a78bfa; font-size: 0.65rem; flex-shrink:0; }
        .rec-show-marquee-wrap { flex:1; min-width:0; overflow:hidden; position:relative; }
        .rec-show-marquee { display: inline-block; white-space: nowrap; font-size: 0.7rem; color: #bbb; }
        .rec-show-inline-time { font-size: 0.66rem; color: #a78bfa; font-weight: bold; flex-shrink:0; white-space: nowrap; margin-left: 6px; }

        .rec-footer { padding: 0 14px 12px; display: flex; gap: 8px; }
        .rec-btn { flex: 1; padding: 10px; border-radius: 8px; border: none; font-size: 0.75rem; font-weight: 900; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; transition: 0.2s; text-align: center; text-decoration: none; display: flex; align-items: center; justify-content: center; gap: 5px; }
        .rec-btn-primary { background: var(--primary); color:#fff; }
        .rec-btn-primary:hover { background: #c9a0ff; }
        .rec-btn-sec { background: #1e1e1e; color: #ccc; border: 1px solid #2b3370; }
        .rec-btn-sec:hover { background: #252c66; }

        /* Dots */
        .rec-dots { display: flex; justify-content: center; gap: 7px; margin-top: 12px; }
        .rec-dot { width: 7px; height: 7px; border-radius: 50%; background: #2b3370; border: none; cursor: pointer; padding: 0; transition: 0.3s; }
        .rec-dot.active { background: var(--primary); width: 22px; border-radius: 4px; }

        .rec-skeleton { animation: skeletonPulse 1.5s ease-in-out infinite; background: #151b42; border-radius: 8px; }
        @keyframes skeletonPulse { 0%,100%{opacity:0.4} 50%{opacity:0.8} }
        @keyframes recMarquee { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

        /* =====================================================================
           RICOREWI RADIOPORTAL – REBRANDING 2026
           Dunkles Navy/Violett-Design, Neon-Akzente (Violett · Cyan · Magenta),
           AnMaCha-Orange bleibt als Markenfarbe erkennbar.
           Die Funktionslogik (JS) ist unverändert – nur Oberfläche.
           ===================================================================== */
        :root {
            --bg:#070a1c; --bg2:#0a0e26; --card:#0f1538; --card2:#141b45;
            --line:rgba(150,130,255,.18); --text:#e8eaff; --muted:#9aa3d6;
            --primary:#b57cff; --violet:#7c3aed; --magenta:#d946ef; --cyan:#22d3ee; --orange:#ff7a1a; --pink:#ff3ea5;
            --grad:linear-gradient(135deg,#7c3aed 0%,#c026d3 100%);
            --nav-h:64px; --player-h:78px;
        }
        body { background: radial-gradient(1100px 600px at 85% -10%, rgba(124,58,237,.26), transparent 60%), radial-gradient(900px 520px at -10% 8%, rgba(34,211,238,.10), transparent 55%), var(--bg); background-attachment: fixed; color: var(--text); font-family: 'Inter','Segoe UI',system-ui,-apple-system,sans-serif; }
        h1,h2,h3,h4 { letter-spacing: .2px; }
        ::selection { background: rgba(168,85,247,.45); }
        ::-webkit-scrollbar { width: 10px; height: 10px; } ::-webkit-scrollbar-thumb { background: #2b3370; border-radius: 8px; } ::-webkit-scrollbar-track { background: transparent; }

        /* ---------- Header ---------- */
        #main-header { position: sticky; top: 0; z-index: 1500; display: flex; align-items: center; justify-content: flex-start; gap: 16px; flex-wrap: nowrap; padding: 10px 22px; padding-top: calc(10px + env(safe-area-inset-top)); background: rgba(7,10,28,.84); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); text-align: left; cursor: default; }
        .brand { display: flex; align-items: center; flex-shrink: 0; text-decoration: none; }
        .brand img { height: 36px; width: auto; display: block; }
        .top-nav { display: flex; align-items: center; gap: 2px; margin-left: 10px; flex: 1; min-width: 0; }
        .top-nav a { display: flex; align-items: center; gap: 7px; padding: 10px 11px; border-radius: 10px; color: var(--muted); font-size: .84rem; font-weight: 700; text-decoration: none; white-space: nowrap; cursor: pointer; transition: .2s; border-bottom: 2px solid transparent; }
        .top-nav a:hover { color: #fff; background: rgba(168,85,247,.10); }
        .top-nav a.active { color: #fff; border-bottom-color: var(--primary); }
        .top-nav a i { color: var(--primary); font-size: .85rem; }
        .cms-nav-item{position:relative;display:flex;align-items:center}.cms-nav-item>.cms-nav-parent{display:flex;align-items:center;gap:6px}.cms-submenu{display:none;position:absolute;top:calc(100% + 4px);left:0;min-width:210px;padding:7px;background:rgba(7,10,28,.98);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 40px rgba(0,0,0,.45);z-index:2600}.cms-nav-item:hover>.cms-submenu,.cms-nav-item:focus-within>.cms-submenu{display:block}.cms-submenu a{display:flex!important;width:100%;border:0!important;padding:9px 10px!important}.cms-sub-caret{font-size:.62rem!important;color:var(--muted)!important;margin-left:2px}
        .cms-content-wrap{margin:18px 0}.cms-content-block{margin:12px 0}.cms-content-block h2,.cms-content-block h3,.cms-content-block h4{margin:0 0 8px;color:#fff}.cms-content-block p,.cms-content-block .cms-text{color:var(--dim);line-height:1.75;white-space:pre-wrap}.cms-content-block blockquote{margin:0;padding:14px 18px;border-left:3px solid var(--primary);background:rgba(181,124,255,.06);border-radius:0 12px 12px 0;color:var(--dim);font-style:italic}.cms-content-image{margin:14px 0}.cms-content-image img{max-width:100%;height:auto;display:block;border-radius:16px;border:1px solid var(--line)}.cms-content-image figcaption{color:var(--muted);font-size:.75rem;margin-top:6px}.cms-content-button{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:10px;background:var(--grad);color:#fff!important;text-decoration:none;font-weight:800}.cms-custom-page{max-width:1100px;margin:0 auto}.cms-custom-head{margin-bottom:22px}.cms-custom-head h1{font-size:clamp(1.8rem,4vw,3.2rem);margin:0;color:#fff}.cms-widget-box{border:1px solid var(--line);background:rgba(10,14,37,.72);border-radius:18px;padding:16px;margin:14px 0}.cms-widget-box>h3{margin:0 0 12px}.cms-iframe{width:100%;min-height:520px;border:0;border-radius:14px;background:#070a1c}.cms-legal{max-width:960px;margin:0 auto}.cms-legal .cms-legal-body{color:var(--dim);line-height:1.75}.cms-legal .cms-legal-body h2,.cms-legal .cms-legal-body h3{color:#fff}
        .cms-sidebar-host{display:none;width:100%;min-width:0}.cms-sidebar-host.on{display:block}.cms-sidebar-card{position:sticky;top:82px}.cms-sidebar-card .cms-widget-box{margin:0 0 12px}.cms-sidebar-layout{display:grid!important;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.cms-sidebar-layout.sidebar-left{grid-template-columns:320px minmax(0,1fr)}.cms-sidebar-layout.sidebar-left .cms-sidebar-host{order:-1}.cms-widget-preview-page{max-width:760px;margin:20px auto}
        @media(max-width:900px){.cms-nav-item{display:none}.cms-submenu{display:none!important}.cms-sidebar-layout,.cms-sidebar-layout.sidebar-left{display:block!important}.cms-sidebar-host{margin-top:16px}.cms-sidebar-card{position:static}}
        .header-live-station { display:none; align-items:center; gap:8px; min-width:0; max-width:210px; height:38px; padding:5px 11px 5px 6px; border:1px solid rgba(34,211,238,.28); border-radius:999px; background:linear-gradient(135deg,rgba(34,211,238,.08),rgba(181,124,255,.09)); box-shadow:0 0 0 1px rgba(181,124,255,.04) inset; flex-shrink:1; cursor:pointer; transition:.2s; }
        .header-live-station.visible { display:flex; }
        .header-live-station:hover { border-color:var(--cyan); background:linear-gradient(135deg,rgba(34,211,238,.14),rgba(181,124,255,.14)); }
        .header-live-logo { width:28px; height:28px; flex:0 0 28px; display:block; filter:drop-shadow(0 0 8px rgba(34,211,238,.38)); }
        .header-live-copy { min-width:0; line-height:1.05; }
        .header-live-kicker { display:block; color:var(--cyan); font-size:.56rem; font-weight:900; letter-spacing:1.15px; text-transform:uppercase; margin-bottom:3px; }
        .header-live-name { display:block; max-width:145px; color:#fff; font-size:.73rem; font-weight:850; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .hdr-social { display: flex; gap: 8px; flex-shrink: 0; }
        .hdr-social a { width: 36px; height: 36px; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; border: 1px solid var(--line); background: rgba(255,255,255,.04); text-decoration: none; transition: .2s; font-size: .9rem; }
        .hdr-social a:hover { border-color: var(--primary); color: var(--primary); transform: translateY(-2px); }
        @media (max-width: 1380px) { .header-live-station { max-width:165px; } .header-live-name{max-width:100px;} }
        @media (max-width: 1240px) { .header-live-station { display:none !important; } .hdr-social a:not(:first-child) { display:none; } .top-nav a{padding:9px 8px;font-size:.78rem;gap:5px;} }
        @media (max-width: 1100px) { .hdr-social { display:none; } .top-nav a i { display:none; } .top-nav{margin-left:4px;} }
        @media (max-width: 900px) { .top-nav { display:none; } .hdr-social { margin-left:auto; } }
        @media (max-width: 800px) { #main-header { padding:8px 14px; padding-top:calc(8px + env(safe-area-inset-top)); } .brand img { height:28px; } }

        #main-container { padding: 22px; max-width: 1400px; margin: 0 auto; padding-bottom: calc(var(--player-h) + 60px + env(safe-area-inset-bottom)); min-height: 100vh; }
        @media (max-width: 800px) { #main-container { padding: 14px; padding-bottom: calc(var(--player-h) + var(--nav-h) + 40px + env(safe-area-inset-bottom)); } }

        /* ---------- Bausteine ---------- */
        .section-title { color: #fff; border-bottom: none; padding-bottom: 0; margin: 34px 0 16px; font-size: 1.15rem; text-transform: none; letter-spacing: .2px; font-weight: 800; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
        .section-title > span > i, .section-title > i { color: var(--primary); margin-right: 8px; }
        .section-sub { color: var(--muted); font-size: .82rem; font-weight: 400; margin: -10px 0 16px; }
        .card, .box { background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.35); }
        .box { padding: 22px; }
        .box h4 { color: #fff !important; font-size: .95rem; letter-spacing: .3px; }
        .box h4 i { color: var(--primary); }
        .btn-play { background: var(--grad); color: #fff; border: none; border-radius: 12px; font-weight: 800; letter-spacing: .5px; box-shadow: 0 8px 22px rgba(124,58,237,.4); transition: .2s; cursor: pointer; }
        .btn-play:hover { transform: translateY(-1px); box-shadow: 0 12px 28px rgba(192,38,211,.5); }
        .btn-sec { background: rgba(255,255,255,.06); border: 1px solid var(--line); border-radius: 12px; color: #fff; }
        .btn-sec:hover:not(:disabled) { background: rgba(168,85,247,.16); border-color: var(--primary); }
        .live-badge { background: #ff2d6f; border-radius: 6px; letter-spacing: .5px; box-shadow: 0 0 12px rgba(255,45,111,.5); }
        .live-badge::before { content: '●'; font-size: .5rem; margin-right: 4px; vertical-align: 1px; }
        .genre-chip, .random-btn { background: rgba(255,255,255,.05); border-color: var(--line); color: var(--muted); }
        .genre-chip:hover, .random-btn:hover { background: rgba(168,85,247,.16); color: #fff; border-color: var(--primary); }
        .genre-chip.active, .random-btn.active { background: var(--grad); border-color: transparent; color: #fff; }
        .chip { display: inline-block; padding: 3px 10px; border-radius: 20px; font-size: .68rem; font-weight: 700; background: rgba(255,255,255,.06); border: 1px solid var(--line); color: #c9cff5; }

        /* ---------- Hero ---------- */
        .hero { position: relative; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); background: linear-gradient(120deg, rgba(10,14,40,.95) 0%, rgba(38,16,92,.85) 55%, rgba(10,14,40,.9) 100%); display: grid; grid-template-columns: 1.25fr 1fr; gap: 28px; align-items: center; padding: 42px 44px; margin-bottom: 8px; box-shadow: 0 20px 60px rgba(0,0,0,.45); }
        .hero::before { content: ''; position: absolute; inset: 0; background: radial-gradient(500px 260px at 88% 20%, rgba(217,70,239,.35), transparent 65%), radial-gradient(420px 240px at 60% 110%, rgba(34,211,238,.22), transparent 65%); pointer-events: none; }
        .hero > * { position: relative; min-width: 0; }
        .eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: .68rem; font-weight: 800; letter-spacing: 3px; text-transform: uppercase; color: var(--orange); margin-bottom: 14px; }
        .eyebrow::before { content: ''; width: 26px; height: 2px; background: var(--orange); border-radius: 2px; }
        .hero h1 { font-size: clamp(2rem, 4.6vw, 3.4rem); line-height: 1.05; font-weight: 900; color: #fff; margin-bottom: 14px; }
        .hero h1 em { font-style: normal; background: linear-gradient(90deg, #f0abfc, #a78bfa 55%, #67e8f9); -webkit-background-clip: text; background-clip: text; color: transparent; }
        .hero p { color: #c4c9f5; font-size: 1.02rem; max-width: 460px; margin-bottom: 24px; }
        .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
        .btn-hero { display: inline-flex; align-items: center; gap: 10px; padding: 15px 26px; border-radius: 40px; border: none; background: var(--grad); color: #fff; font-size: .95rem; font-weight: 800; cursor: pointer; box-shadow: 0 10px 30px rgba(168,85,247,.5); transition: .2s; font-family: inherit; }
        .btn-hero:hover { transform: translateY(-2px); box-shadow: 0 14px 36px rgba(217,70,239,.6); }
        .btn-ghost { display: inline-flex; align-items: center; gap: 8px; padding: 14px 22px; border-radius: 40px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: #fff; font-size: .9rem; font-weight: 700; cursor: pointer; transition: .2s; font-family: inherit; text-decoration: none; }
        .btn-ghost:hover { border-color: var(--primary); background: rgba(168,85,247,.15); }
        .hero-np { display: flex; align-items: center; gap: 16px; padding: 16px; border-radius: 20px; background: rgba(6,9,25,.62); border: 1px solid var(--line); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); cursor: pointer; }
        .hero-np img { width: 92px; height: 92px; border-radius: 14px; object-fit: cover; flex-shrink: 0; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 8px 24px rgba(0,0,0,.5); }
        .hero-np-text { min-width: 0; flex: 1; }
        .hero-np-label { font-size: .65rem; font-weight: 800; letter-spacing: 1.5px; text-transform: uppercase; color: var(--cyan); display: flex; align-items: center; gap: 8px; margin-bottom: 4px; }
        .hero-np-station { font-size: .78rem; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .hero-np-song { font-size: 1.02rem; font-weight: 800; color: #fff; margin: 2px 0 8px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
        .eq { display: inline-flex; align-items: flex-end; gap: 2px; height: 14px; }
        .eq i { width: 3px; height: 4px; border-radius: 2px; background: linear-gradient(to top, var(--cyan), var(--magenta)); }
        body.is-playing .eq i { animation: eq 1s ease-in-out infinite; }
        body.is-playing .eq i:nth-child(2) { animation-delay: .2s; } body.is-playing .eq i:nth-child(3) { animation-delay: .45s; } body.is-playing .eq i:nth-child(4) { animation-delay: .1s; } body.is-playing .eq i:nth-child(5) { animation-delay: .35s; }
        @keyframes eq { 0%,100% { height: 4px; } 50% { height: 14px; } }
        .hero-play { width: 54px; height: 54px; border-radius: 50%; border: 2px solid var(--cyan); background: rgba(34,211,238,.10); color: #fff; font-size: 1.15rem; cursor: pointer; flex-shrink: 0; box-shadow: 0 0 20px rgba(34,211,238,.4); transition: .2s; }
        .hero-play:hover { background: rgba(34,211,238,.22); transform: scale(1.06); }
        @media (max-width: 800px) { .hero { grid-template-columns: 1fr; padding: 26px 20px; gap: 20px; border-radius: 22px; } .hero p { font-size: .92rem; margin-bottom: 18px; } .hero-np img { width: 70px; height: 70px; } }

        /* ---------- Sender-Karten ---------- */
        .grid { grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: 18px; }
        .station-card { position: relative; transition: transform .25s, border-color .25s, box-shadow .25s; }
        .station-card:hover { transform: translateY(-4px); border-color: rgba(181,124,255,.55); box-shadow: 0 16px 40px rgba(124,58,237,.28); }
        .sc-cover { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: #0a0e26; }
        .sc-cover > a { position: absolute !important; inset: 0; }
        .sc-cover img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .5s; }
        .station-card:hover .sc-cover img { transform: scale(1.05); }
        .sc-cover::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(7,10,28,.85), transparent 55%); }
        .sc-cover .live-badge { position: absolute; top: 10px; left: 10px; margin: 0; z-index: 2; }
        .station-card .fav-btn { top: 8px; right: 8px; width: 32px; height: 32px; background: rgba(7,10,28,.7); border-color: var(--line); color: #fff; z-index: 3; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
        .station-card .fav-btn.active { background: var(--grad); border-color: transparent; }
        .sc-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
        .sc-name { font-size: 1.05rem; font-weight: 800; color: #fff; text-decoration: none; line-height: 1.25; }
        .sc-name:hover { color: var(--primary); }
        .sc-tags { display: flex; flex-wrap: wrap; gap: 6px; min-height: 22px; }
        .sc-np { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 12px; background: rgba(6,9,25,.55); border: 1px solid rgba(150,130,255,.12); min-width: 0; }
        .sc-np img { width: 42px; height: 42px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
        .sc-np > div { min-width: 0; flex: 1; }
        .sc-np small { display: block; color: var(--cyan); font-size: .62rem; font-weight: 800; text-transform: uppercase; letter-spacing: .8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sc-np .nt { font-size: .84rem; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sc-actions { display: flex; gap: 8px; margin-top: auto; }
        .sc-actions .btn-play { flex: 1; padding: 12px; font-size: .78rem; text-transform: uppercase; display: flex; align-items: center; justify-content: center; gap: 8px; }
        .sc-actions .btn-sec { padding: 12px 16px; font-size: .78rem; }
        .podcast-card { border-color: rgba(139,92,246,.4); }
        .podcast-badge { position: relative; z-index: 2; }
        @media (max-width: 600px) {
            .grid { grid-template-columns: 1fr; gap: 12px; }
            .station-card { flex-direction: row; }
            .sc-cover { width: 108px; height: 108px; aspect-ratio: 1 / 1; flex-shrink: 0; align-self: flex-start; margin: 12px 0 12px 12px; border-radius: 14px; }
            .sc-cover::after { background: linear-gradient(to top, rgba(7,10,28,.5), transparent 50%); border-radius: 14px; }
            .sc-body { padding: 12px; gap: 8px; min-width: 0; }
            .sc-np img { width: 34px; height: 34px; }
            .sc-actions .btn-sec { display: none; }
            .sc-actions .btn-play { padding: 10px; }
        }

        /* ---------- Empfehlungen ---------- */
        .rec-card { background: linear-gradient(135deg, rgba(20,27,69,.95), rgba(12,17,46,.95)); border-color: var(--line); border-radius: 20px; }
        .rec-btn-primary { background: var(--grad); color: #fff; }
        .rec-btn-primary:hover { background: var(--grad); filter: brightness(1.12); }
        .rec-btn-sec { background: rgba(255,255,255,.06); border-color: var(--line); color: #fff; }
        .rec-dot.active { background: var(--primary); }
        .rec-section { margin-top: 26px; margin-bottom: 8px; }

        /* ---------- Sendungen / Mitmachen ---------- */
        .show-row { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 14px; text-decoration: none; color: inherit; transition: .2s; border: 1px solid transparent; }
        .show-row:hover { background: rgba(168,85,247,.10); border-color: var(--line); }
        .show-row img { width: 46px; height: 46px; border-radius: 10px; object-fit: cover; flex-shrink: 0; }
        .show-row b { display: block; color: #fff; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .show-row small { display: block; color: var(--muted); font-size: .74rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .show-row > div { min-width: 0; flex: 1; }
        .show-row .t { color: var(--cyan); font-size: .72rem; font-weight: 700; flex-shrink: 0; text-align: right; }
        .two-col { display: grid; grid-template-columns: 1.1fr 1fr; gap: 20px; align-items: start; }
        @media (max-width: 900px) { .two-col { grid-template-columns: 1fr; } }
        .act-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
        .act-tile, .wtile { display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); border: 1px solid var(--line); color: #fff; text-align: left; cursor: pointer; transition: .25s; font-family: inherit; }
        .act-tile:hover, .wtile:hover { transform: translateY(-3px); border-color: var(--primary); box-shadow: 0 12px 30px rgba(124,58,237,.3); }
        .act-tile .ico, .wtile .ico { width: 46px; height: 46px; border-radius: 14px; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; flex-shrink: 0; color: #fff; }
        .act-tile b, .wtile b { display: block; font-size: .95rem; }
        .act-tile small, .wtile small { color: var(--muted); font-size: .74rem; }
        .ico.c1 { background: linear-gradient(135deg,#7c3aed,#c026d3); } .ico.c2 { background: linear-gradient(135deg,#0891b2,#22d3ee); } .ico.c3 { background: linear-gradient(135deg,#ea580c,#ff7a1a); } .ico.c4 { background: linear-gradient(135deg,#db2777,#ff3ea5); } .ico.c5 { background: linear-gradient(135deg,#059669,#34d399); }
        .wtiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 14px; }
        .wtile[hidden] { display: none; }
        .network-voting-card { border: 1px solid var(--line) !important; box-shadow: 0 12px 40px rgba(124,58,237,.25) !important; max-width: none; }
        #network-voting-wrapper { border-top: none; margin-top: 0; padding-top: 0; }
        .network-voting-card iframe { max-width: 620px; }
        .voting-box iframe, .studiomail-box iframe { border-radius: 14px; }

        /* ---------- Widget-Overlay ---------- */
        .sheet-back { position: fixed; inset: 0; z-index: 3000; background: rgba(3,5,18,.78); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); display: none; align-items: center; justify-content: center; padding: 16px; }
        .sheet-back.open { display: flex; }
        .sheet { width: 100%; max-width: 560px; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); background: linear-gradient(160deg, #141b45, #0b1030); border: 1px solid var(--line); border-radius: 22px; box-shadow: 0 30px 80px rgba(0,0,0,.7); display: flex; flex-direction: column; overflow: hidden; animation: fadeIn .25s ease-out; }
        .sheet-head { display: flex; align-items: center; gap: 12px; padding: 14px 16px; border-bottom: 1px solid var(--line); }
        .sheet-head .ico { width: 38px; height: 38px; border-radius: 12px; display: flex; align-items: center; justify-content: center; color: #fff; }
        .sheet-head h3 { flex: 1; font-size: 1rem; color: #fff; }
        .sheet-head h3 small { display: block; font-size: .72rem; color: var(--muted); font-weight: 500; }
        .sheet-close { width: 38px; height: 38px; border-radius: 50%; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: #fff; cursor: pointer; font-size: 1rem; }
        .sheet-close:hover { border-color: var(--primary); }
        .sheet-body { flex: 1; overflow: auto; -webkit-overflow-scrolling: touch; }
        .sheet-body iframe { display: block; width: 100%; height: min(680px, 78vh); border: none; background: transparent; }
        .sheet-list { padding: 8px; }
        .sheet-empty { padding: 30px 20px; text-align: center; color: var(--muted); font-size: .9rem; }
        @media (max-width: 600px) { .sheet-back { align-items: flex-end; padding: 0; } .sheet { max-width: none; border-radius: 22px 22px 0 0; max-height: 92vh; max-height: 92dvh; } }

        /* ---------- Vollbild (Sender-Landingpage) ---------- */
        .fv { animation: fadeIn .45s ease-out; }
        .fv-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 16px; flex-wrap: wrap; }
        .fv-back { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 30px; border: 1px solid var(--line); background: rgba(255,255,255,.06); color: #fff; font-weight: 700; font-size: .85rem; cursor: pointer; font-family: inherit; }
        .fv-back:hover { border-color: var(--primary); }
        .fv-actions { display: flex; gap: 8px; }
        .full-fav-btn { background: rgba(255,255,255,.06); border-color: var(--line); color: #fff; }
        .full-fav-btn:hover { border-color: var(--primary); color: var(--primary); }
        .full-fav-btn.active { background: var(--grad); border-color: transparent; color: #fff; }
        .fv-hero { position: relative; border-radius: 26px; overflow: hidden; border: 1px solid var(--line); padding: 34px; display: grid; grid-template-columns: 300px 1fr; gap: 34px; align-items: center; box-shadow: 0 20px 60px rgba(0,0,0,.45); background: #0a0e26; }
        .fv-hero-bg { position: absolute; inset: -30px; background-size: cover; background-position: center; filter: blur(46px) saturate(1.5); opacity: .5; transform: scale(1.1); }
        .fv-hero::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(110deg, rgba(7,10,28,.86), rgba(38,16,92,.55) 70%, rgba(7,10,28,.7)); }
        .fv-hero > *:not(.fv-hero-bg) { position: relative; z-index: 2; }
        .fv-logo { width: 100%; aspect-ratio: 1; border-radius: 22px; object-fit: cover; border: 1px solid rgba(255,255,255,.15); box-shadow: 0 20px 50px rgba(0,0,0,.6), 0 0 40px rgba(168,85,247,.3); }
        .fv-info h1 { font-size: clamp(1.6rem, 3.6vw, 2.6rem); font-weight: 900; line-height: 1.1; color: #fff; margin: 8px 0 10px; }
        .fv-info .desc { color: #c4c9f5; font-size: .95rem; line-height: 1.6; max-width: 640px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; margin-bottom: 14px; white-space: pre-line; }
        .fv-info .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
        .fv-np { display: flex; gap: 14px; align-items: center; padding: 14px; border-radius: 18px; background: rgba(6,9,25,.62); border: 1px solid var(--line); margin: 6px 0 18px; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); }
        .fv-np img#full-cover { width: 84px; height: 84px; border-radius: 12px; object-fit: cover; flex-shrink: 0; box-shadow: 0 8px 22px rgba(0,0,0,.5); }
        .fv-np .full-artist { font-size: 1.25rem; color: #fff; text-transform: none; font-weight: 800; }
        .fv-np .full-title { font-size: 1rem; color: #c4c9f5; font-weight: 500; }
        .fv-np .app-icon { width: 28px; height: 28px; }
        .fv-listen { display: inline-flex; align-items: center; gap: 12px; padding: 16px 34px; border-radius: 40px; border: none; background: var(--grad); color: #fff; font-size: 1rem; font-weight: 800; letter-spacing: .5px; cursor: pointer; box-shadow: 0 12px 34px rgba(168,85,247,.5); font-family: inherit; }
        .fv-listen:hover { transform: translateY(-2px); }
        .fv-section { margin-top: 30px; }
        .fv-section > h3 { font-size: 1.1rem; font-weight: 800; color: #fff; margin-bottom: 14px; }
        .fv-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 30px; align-items: start; }
        @media (max-width: 800px) { .fv-hero { grid-template-columns: 1fr; padding: 20px; gap: 20px; border-radius: 22px; } .fv-logo { max-width: 240px; margin: 0 auto; } .fv-info { text-align: center; } .fv-info .desc { margin-left: auto; margin-right: auto; } .fv-info .chips { justify-content: center; } .fv-np { text-align: left; } .fv-listen { width: 100%; justify-content: center; } }

        .schedule-table td { border-bottom-color: var(--line); }
        .s-icon, .s-time { color: var(--cyan); }
        .day-select, .search-input { background: rgba(255,255,255,.06); border-color: var(--line); color: #fff; }
        .hist-item { border-bottom-color: var(--line); }
        .show-fav-btn.active { background: var(--grad); border-color: transparent; color: #fff; }
        .smyv-promo { border-radius: 20px; }
        .full-artist { color: #fff; }

        /* ---------- Player ---------- */
        .master-player { background: rgba(9,13,38,.94); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); border-top: 1px solid var(--line); padding: 10px 18px; padding-bottom: calc(10px + env(safe-area-inset-bottom)); position: fixed; bottom: 0; left: 0; right: 0; z-index: 2000; box-shadow: 0 -12px 40px rgba(0,0,0,.6); min-height: var(--player-h); display: flex; align-items: center; box-sizing: border-box; }
        .master-layout { max-width: 1400px; width: 100%; margin: 0 auto; display: flex; align-items: center; gap: 18px; justify-content: space-between; }
        .m-info { display: flex; align-items: center; gap: 14px; flex: 1; min-width: 0; cursor: pointer; overflow: hidden; }
        .m-info img { width: 56px; height: 56px; border-radius: 12px; border: 1px solid var(--line); object-fit: cover; flex-shrink: 0; }
        .m-text-container { display: flex; flex-direction: column; min-width: 0; flex: 1; justify-content: center; }
        #m-show { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; width: 100%; color: var(--cyan); font-size: .66rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 2px; }
        #m-title { font-weight: 700; font-size: .95rem; color: #fff; }
        .m-controls { display: flex; align-items: center; gap: 16px; flex-shrink: 0; }
        .m-ctrl { background: none; border: none; color: #fff; cursor: pointer; font-size: 1.15rem; padding: 8px; opacity: .85; transition: .2s; }
        .m-ctrl:hover { opacity: 1; color: var(--primary); }
        .m-play { width: 54px; height: 54px; border-radius: 50%; border: 2px solid var(--cyan); background: rgba(34,211,238,.10); color: #fff; cursor: pointer; font-size: 1.2rem; box-shadow: 0 0 20px rgba(34,211,238,.4); transition: .2s; }
        .m-play:hover { background: rgba(34,211,238,.22); transform: scale(1.05); }
        .mp-extra { display: flex; align-items: center; gap: 2px; flex-shrink: 0; position: relative; }
        .mp-extra-btn { color: #b3badf; }
        .m-apps { display: flex; gap: 8px; flex-shrink: 0; }
        .app-icon { width: 30px; height: 30px; border-radius: 8px; border: 1px solid var(--line); padding: 4px; background: rgba(255,255,255,.05); transition: .2s; }
        .app-icon:hover { background: rgba(168,85,247,.2); transform: scale(1.1); }
        .volume-popover, .sleep-menu, .share-toast { background: #0f1538; border-color: var(--line); }
        .sleep-menu button:hover { background: rgba(168,85,247,.16); }
        #mp-more { display: none; }

        /* ---------- Untere Navigation (Mobil) ---------- */
        .bottom-nav { display: none; position: fixed; left: 0; right: 0; bottom: 0; z-index: 2100; height: calc(var(--nav-h) + env(safe-area-inset-bottom)); padding-bottom: env(safe-area-inset-bottom); background: rgba(7,10,28,.97); border-top: 1px solid var(--line); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
        .bottom-nav a { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--muted); font-size: .68rem; font-weight: 700; text-decoration: none; cursor: pointer; transition: .2s; }
        .bottom-nav a i { font-size: 1.2rem; }
        .bottom-nav a.active { color: var(--primary); }
        .bottom-nav a.active i { filter: drop-shadow(0 0 8px rgba(181,124,255,.8)); }
        @media (max-width: 900px) {
            .bottom-nav { display: flex; }
            .master-player { bottom: calc(var(--nav-h) + env(safe-area-inset-bottom)); padding: 8px 12px; padding-bottom: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--line); }
            .master-layout { gap: 10px; flex-wrap: wrap; }
            .m-info { gap: 10px; }
            .m-info img { width: 48px; height: 48px; }
            .m-controls { gap: 4px; }
            .m-play { width: 48px; height: 48px; }
            .m-ctrl { padding: 6px; }
            .m-apps { display: none; }
            .mp-extra { display: none; width: 100%; justify-content: space-around; padding-top: 6px; border-top: 1px solid var(--line); }
            .master-player.expanded .mp-extra { display: flex; }
            .master-player.expanded .master-layout { flex-wrap: wrap; }
            .mp-extra { order: 5; flex-basis: 100%; }
            #mp-more { display: block; }
            .volume-popover, .sleep-menu, .share-toast { bottom: 52px; }
        }
        @media (max-width: 600px) { .full-artist { font-size: 1.3rem; } .full-title { font-size: 1.05rem; } .platform-icon-btn { width: 38px; height: 38px; } .platform-btn { padding: 11px 16px; } .btn-sec { padding: 14px 12px; } }

        footer { background: rgba(4,6,20,.9); border-top: 1px solid var(--line); color: #7d86bd; padding-bottom: calc(var(--player-h) + 30px); }
        footer a { color: var(--primary); }
        @media (max-width: 900px) { footer { padding-bottom: calc(var(--player-h) + var(--nav-h) + 30px); } }
        .foot-brand img { height: 34px; margin-bottom: 10px; }

        /* ---------- Favoriten & Erinnerung ---------- */
        #favorites-section { display: block; }
        .remind-box { display: flex; align-items: center; gap: 14px; padding: 14px 16px; border-radius: 16px; background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); border: 1px solid var(--line); cursor: pointer; margin-bottom: 14px; transition: .2s; }
        .remind-box:hover { border-color: var(--primary); }
        .remind-box input { accent-color: var(--primary); width: 22px; height: 22px; flex-shrink: 0; cursor: pointer; order: 3; margin-left: auto; }
        .remind-box b { display: block; color: #fff; font-size: .92rem; }
        .remind-box small { display: block; color: var(--muted); font-size: .74rem; line-height: 1.4; margin-top: 2px; }
        .fav-empty { color: var(--muted); font-size: .85rem; padding: 6px 2px; }
        .fav-chip { background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); border-color: var(--line); border-radius: 14px; }

        /* ---------- XXL-Sendeplan ---------- */
        .sp-head h2 { font-size: 1.6rem; font-weight: 900; color: #fff; margin-bottom: 6px; }
        .sp-head h2 i { color: var(--primary); margin-right: 8px; }
        .sp-head p { color: var(--muted); font-size: .9rem; margin-bottom: 18px; max-width: 720px; }
        .sp-days { display: flex; gap: 8px; flex-wrap: wrap; }
        .sp-day { position: relative; min-width: 62px; padding: 11px 16px; border-radius: 14px; border: 1px solid var(--line); background: rgba(255,255,255,.05); color: var(--muted); font-weight: 800; font-size: .9rem; cursor: pointer; font-family: inherit; transition: .2s; }
        .sp-day:hover { color: #fff; border-color: var(--primary); }
        .sp-day.active { background: var(--grad); border-color: transparent; color: #fff; box-shadow: 0 8px 22px rgba(124,58,237,.4); }
        .sp-dot { position: absolute; top: 6px; right: 7px; width: 7px; height: 7px; border-radius: 50%; background: var(--cyan); box-shadow: 0 0 8px var(--cyan); }
        .sp-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(160deg, rgba(20,27,69,.6), rgba(12,17,46,.6)); }
        .sp-inner { position: relative; width: max-content; min-width: 100%; padding-bottom: 6px; }
        .sp-hours { display: flex; margin-left: 170px; height: 34px; align-items: center; border-bottom: 1px solid var(--line); }
        .sp-h { width: 64px; flex-shrink: 0; font-size: .7rem; font-weight: 700; color: var(--muted); padding-left: 6px; border-left: 1px solid rgba(150,130,255,.12); }
        .sp-row { display: flex; border-bottom: 1px solid rgba(150,130,255,.10); }
        .sp-row:last-of-type { border-bottom: none; }
        .sp-st { position: sticky; left: 0; z-index: 3; width: 170px; flex-shrink: 0; display: flex; align-items: center; gap: 10px; padding: 8px 12px; background: #0d1232; border-right: 1px solid var(--line); text-decoration: none; color: #fff; font-size: .8rem; font-weight: 800; line-height: 1.2; }
        .sp-st img { width: 34px; height: 34px; border-radius: 9px; object-fit: cover; flex-shrink: 0; }
        .sp-st span { min-width: 0; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
        .sp-track { position: relative; width: 1536px; flex-shrink: 0; background: repeating-linear-gradient(to right, rgba(150,130,255,.10) 0, rgba(150,130,255,.10) 1px, transparent 1px, transparent 64px); }
        .sp-none { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); color: #5d6699; font-size: .74rem; }
        .sp-block { position: absolute; height: 48px; padding: 5px 9px; border-radius: 11px; border: 1px solid color-mix(in srgb, var(--c) 70%, #fff 10%); background: linear-gradient(135deg, color-mix(in srgb, var(--c) 55%, #0d1232), color-mix(in srgb, var(--c) 25%, #0d1232)); color: #fff; text-align: left; cursor: pointer; overflow: hidden; font-family: inherit; transition: .15s; display: flex; flex-direction: column; justify-content: center; }
        .sp-block:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,.5); z-index: 2; }
        .sp-block b { font-size: .78rem; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sp-block small { font-size: .66rem; color: rgba(255,255,255,.75); white-space: nowrap; }
        .sp-block.live { box-shadow: 0 0 0 2px #ff2d6f, 0 0 18px rgba(255,45,111,.55); }
        .sp-now { position: absolute; top: 0; bottom: 0; width: 2px; background: #ff2d6f; z-index: 4; pointer-events: none; }
        .sp-now span { position: absolute; top: 4px; left: 4px; background: #ff2d6f; color: #fff; font-size: .62rem; font-weight: 800; padding: 1px 6px; border-radius: 6px; }
        .sp-list { display: none; }
        .sp-lh { margin: 14px 4px 6px; font-size: .78rem; font-weight: 800; color: var(--cyan); letter-spacing: 1px; }
        .sp-li { width: 100%; display: flex; align-items: center; gap: 12px; padding: 12px 14px; margin-bottom: 8px; border-radius: 14px; border: 1px solid var(--line); border-left: 4px solid var(--c); background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); color: #fff; text-align: left; cursor: pointer; font-family: inherit; }
        .sp-li.live { box-shadow: 0 0 0 1px #ff2d6f, 0 0 16px rgba(255,45,111,.35); }
        .sp-li-t { font-size: .74rem; font-weight: 800; color: var(--cyan); line-height: 1.3; flex-shrink: 0; width: 44px; }
        .sp-li-m { flex: 1; min-width: 0; }
        .sp-li-m b { display: block; font-size: .92rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
        .sp-li-m small { color: var(--muted); font-size: .74rem; }
        @media (max-width: 800px) { .sp-scroll { display: none; } .sp-list { display: block; } .sp-day { flex: 1; min-width: 0; padding: 11px 4px; } }
        .btn-sec.active { background: var(--grad); border-color: transparent; }

        /* ---------- Fanshop ---------- */
        .shop-frame { border: 1px solid var(--line); border-radius: 18px; overflow: hidden; background: #fff; box-shadow: 0 16px 50px rgba(0,0,0,.45); min-height: 600px; color: #111; padding: 8px; }
        .shop-frame a { color: #4f46e5; }
        .shop-note { margin-top: 12px; color: var(--muted); font-size: .76rem; text-align: center; }
        .shop-note a { color: var(--primary); }
        @media (max-width: 800px) { #sp-filter { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; margin-right: -14px; } #sp-filter .genre-chip { white-space: nowrap; flex-shrink: 0; } }

        /* ---------- Feste App-Hülle: Seite scrollt NUR im Container, Player/Navigation sind unbeweglich ---------- */
        html, body { height: 100%; overflow: hidden; }
        #app-scroll { position: fixed; top: 0; left: 0; right: 0; bottom: 0; overflow-y: auto; overflow-x: hidden; -webkit-overflow-scrolling: touch; overscroll-behavior-y: contain; }
        .master-player, .bottom-nav { transform: translateZ(0); }

        /* ---------- Vorgeschlagene Sender im Hero ---------- */
        .hero-recs { min-width: 0; }
        .hero-recs .rec-section { margin: 0; }
        .hero-recs-title { font-size: .7rem; font-weight: 800; letter-spacing: 2px; text-transform: uppercase; color: var(--cyan); margin-bottom: 10px; display: flex; align-items: center; gap: 8px; }
        .hero-recs .rec-slider-wrap { border-radius: 20px; border: 1px solid var(--line); background: rgba(6,9,25,.62); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
        .hero-recs .rec-card { background: transparent; border: none; border-radius: 20px; }
        .hero-recs .rec-dots { margin-top: 10px; }
        .rec-slider-track > .rec-card { flex: 0 0 100%; width: 100%; min-width: 0 !important; max-width: 100%; }
        .rec-inner, .rec-meta, .rec-header, .rec-footer { min-width: 0; max-width: 100%; }
        .rec-show-inline { max-width: 100%; }
        .hero-recs .rec-btn { padding: 11px 8px; font-size: .72rem; }

        .shop-choose { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 22px; margin-top: 8px; }
        .shop-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; padding: 30px 24px; border-radius: 22px; border: 1px solid var(--line); background: linear-gradient(160deg, rgba(20,27,69,.92), rgba(12,17,46,.92)); box-shadow: 0 14px 40px rgba(0,0,0,.4); transition: .25s; }
        .shop-card:hover { transform: translateY(-4px); border-color: var(--primary); box-shadow: 0 18px 50px rgba(124,58,237,.3); }
        .shop-card img { width: 100%; max-width: 380px; height: auto; display: block; filter: drop-shadow(0 8px 24px rgba(0,0,0,.5)); }
        .shop-card h3 { font-size: 1.15rem; color: #fff; }
        .shop-card p { color: var(--muted); font-size: .88rem; margin-bottom: 4px; }
        .shop-card .btn-hero { text-decoration: none; }
        .shop-head { text-align: center; margin: 4px 0 18px; }
        .shop-head img { width: 100%; max-width: 320px; height: auto; filter: drop-shadow(0 8px 24px rgba(0,0,0,.5)); }



    


        /* ---------- Mobile Live + Favoriten ---------- */
        .mobile-live-pulse { display:none; width:28px !important; height:28px !important; border:0 !important; border-radius:50% !important; object-fit:contain !important; flex:0 0 28px !important; filter:drop-shadow(0 0 8px rgba(34,211,238,.42)); }
        .mobile-fav-count { display:none; position:absolute; top:3px; right:calc(50% - 18px); min-width:16px; height:16px; padding:0 4px; border-radius:999px; align-items:center; justify-content:center; background:var(--grad); color:#fff; font-size:.52rem; font-weight:900; line-height:1; box-shadow:0 0 10px rgba(181,124,255,.4); }
        @media(max-width:900px){
            .bottom-nav a { position:relative; }
            .mobile-fav-count.visible { display:flex; }
            body.radio-is-live .mobile-live-pulse { display:block; }
            .m-info img#m-img { width:50px; height:50px; }
            .m-info { gap:10px; }
        }

        /* ---------- Favoriten-Popover ---------- */
        .favorites-nav-wrap { position:relative; }
        .top-nav .fav-nav-link { position:relative; }
        .fav-count { min-width:18px; height:18px; padding:0 5px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:var(--grad); color:#fff; font-size:.58rem; line-height:1; font-weight:900; box-shadow:0 0 14px rgba(181,124,255,.34); }
        .favorites-popover { position:fixed; z-index:2200; top:74px; width:min(430px,calc(100vw - 24px)); max-height:min(72vh,680px); overflow:hidden; border:1px solid rgba(181,124,255,.28); border-radius:22px; background:linear-gradient(165deg,rgba(15,21,56,.985),rgba(7,10,28,.99)); box-shadow:0 26px 80px rgba(0,0,0,.55),0 0 0 1px rgba(34,211,238,.04) inset; -webkit-backdrop-filter:blur(18px); backdrop-filter:blur(18px); opacity:0; visibility:hidden; transform:translateY(-8px) scale(.985); transform-origin:top center; transition:opacity .18s ease,transform .18s ease,visibility .18s; }
        .favorites-popover.open { opacity:1; visibility:visible; transform:translateY(0) scale(1); }
        .fav-pop-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 18px 13px; border-bottom:1px solid var(--line); background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(34,211,238,.05)); }
        .fav-pop-title { display:flex; align-items:center; gap:10px; min-width:0; }
        .fav-pop-title .star { width:38px; height:38px; border-radius:12px; display:grid; place-items:center; background:var(--grad); color:#fff; box-shadow:0 8px 24px rgba(124,58,237,.25); flex:0 0 38px; }
        .fav-pop-title b { display:block; color:#fff; font-size:.95rem; }
        .fav-pop-title small { display:block; color:var(--muted); font-size:.68rem; margin-top:2px; }
        .fav-pop-close { width:34px; height:34px; border-radius:10px; border:1px solid var(--line); background:rgba(255,255,255,.04); color:#ccd2f6; cursor:pointer; }
        .fav-pop-close:hover { color:#fff; border-color:var(--primary); }
        .fav-pop-body { max-height:calc(min(72vh,680px) - 65px); overflow:auto; padding:14px; }
        .favorites-popover #favorites-section { display:block !important; }
        .favorites-popover .fav-chip-row { display:flex; flex-direction:column; gap:8px; }
        .favorites-popover .fav-chip { width:100%; padding:9px 10px; border-radius:13px; background:rgba(255,255,255,.045); }
        .favorites-popover .fav-chip img { width:46px; height:46px; }
        .favorites-popover .fav-chip-name { font-size:.8rem; }
        .fav-pop-section-label { display:flex; align-items:center; justify-content:space-between; gap:10px; color:#fff; font-size:.74rem; font-weight:900; letter-spacing:.7px; text-transform:uppercase; margin:4px 2px 9px; }
        .fav-pop-section-label span { color:var(--muted); font-size:.62rem; font-weight:700; letter-spacing:0; text-transform:none; }
        .favorites-popover .remind-box { margin:14px 0 0; border-radius:14px; background:rgba(124,58,237,.08); border:1px solid rgba(181,124,255,.18); padding:12px; }
        .favorites-popover .remind-box small { line-height:1.35; }
        .fav-shows-list { display:flex; flex-direction:column; gap:7px; margin-top:8px; }
        .fav-show-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; padding:10px 11px; border:1px solid var(--line); border-radius:12px; background:rgba(255,255,255,.035); }
        .fav-show-row b { display:block; color:#fff; font-size:.77rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
        .fav-show-row small { display:block; color:var(--muted); font-size:.66rem; margin-top:2px; }
        .fav-show-remove { width:32px; height:32px; border:1px solid var(--line); border-radius:9px; background:#151b42; color:#ff7aa9; cursor:pointer; }
        .fav-show-remove:hover { border-color:#ff3ea5; color:#fff; }
        .fav-empty-compact { padding:16px 12px; border:1px dashed rgba(181,124,255,.22); border-radius:13px; color:var(--muted); font-size:.76rem; text-align:center; }
        @media(max-width:900px){
            .favorites-popover { left:12px !important; right:12px !important; top:auto; bottom:calc(var(--player-h) + var(--nav-h) + 12px + env(safe-area-inset-bottom)); width:auto; max-height:64vh; transform-origin:bottom center; transform:translateY(10px) scale(.985); }
            .favorites-popover.open { transform:translateY(0) scale(1); }
        }

        /* ---------- Apps & Social direkt im Portal ---------- */
        .portal-page{max-width:1180px;margin:0 auto;padding:12px 0 26px}
        .portal-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin:4px 0 22px}
        .portal-kicker{color:var(--cyan);font-size:.7rem;font-weight:950;letter-spacing:1.45px;text-transform:uppercase}
        .portal-page-head h2{margin:7px 0 0;color:#fff;font-size:clamp(2rem,5vw,3.8rem);letter-spacing:-1.6px;line-height:1}
        .portal-page-head p{max-width:560px;margin:0;color:var(--muted);font-size:.9rem;line-height:1.65}
        .appx-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
        .appx-card{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:24px;padding:24px;background:linear-gradient(150deg,rgba(21,28,72,.97),rgba(8,12,35,.97));box-shadow:0 20px 58px rgba(0,0,0,.25)}
        .appx-card:before{content:"";position:absolute;width:190px;height:190px;right:-75px;top:-85px;border-radius:50%;background:rgba(181,124,255,.12)}
        .appx-head{display:flex;gap:15px;align-items:center;position:relative}
        .appx-logo{width:66px;height:66px;border-radius:18px;background:#0a0f2d;border:1px solid rgba(255,255,255,.1);display:grid;place-items:center;overflow:hidden;flex:0 0 66px}
        .appx-logo img{width:84%;height:84%;object-fit:contain}
        .appx-head h3{margin:0;color:#fff;font-size:1.35rem}.appx-sub{color:var(--muted);font-size:.78rem;margin-top:3px}
        .appx-card p{color:#bdc5e7;line-height:1.62;font-size:.87rem}
        .appx-badges{display:flex;flex-wrap:wrap;gap:7px;margin:15px 0}
        .appx-badge{border:1px solid #333d7d;border-radius:999px;padding:6px 9px;color:#cbd2f2;background:rgba(255,255,255,.035);font-size:.68rem;font-weight:800}
        .appx-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}
        .appx-btn{min-height:45px;padding:0 15px;border-radius:13px;display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-size:.8rem;font-weight:900;border:1px solid #354083;background:#0d1438;color:#eaf0ff}
        .appx-btn.primary{background:linear-gradient(110deg,var(--primary),#d85bff);color:#110a29;border-color:transparent}
        .appx-section-title{margin:34px 0 14px;color:#fff;font-size:1.25rem;font-weight:900}
        /* App-Screenshots: Slideshow-Bühne plus kleine Kacheln (ersetzt das alte 3er-Raster riesiger Bilder) */
        .appx-showcases{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:16px;align-items:start}
        .appx-show{border:1px solid var(--line);border-radius:22px;background:linear-gradient(170deg,#0d1238,#080b22 70%);padding:14px 14px 12px;outline:none;position:relative}
        .appx-show:focus-visible{box-shadow:0 0 0 2px var(--primary)}
        .appx-show-head{display:flex;align-items:center;gap:10px;margin:0 2px 12px;min-width:0}
        .appx-show-kicker{display:inline-flex;align-items:center;gap:6px;color:var(--primary);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
        .appx-show-title{flex:1;color:#fff;font-weight:900;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .appx-show-count{color:#aeb6db;font-size:.7rem;font-weight:800;font-variant-numeric:tabular-nums}
        .appx-stage{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px}
        .appx-nav{width:36px;height:36px;border-radius:50%;border:1px solid #354083;background:#0d1438;color:#eaf0ff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:background .15s,transform .15s}
        .appx-nav:hover{background:#1a2359;transform:scale(1.06)}
        .appx-frame{position:relative;margin:0 auto;border-radius:22px;background:#070a1c;border:1px solid #2a3270;box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.04);overflow:hidden}
        .appx-show.android .appx-frame{height:clamp(300px,42vw,440px);aspect-ratio:9/19.5;border-radius:28px;padding:6px}
        .appx-show.windows .appx-frame{width:100%;aspect-ratio:16/10;border-radius:14px;padding:4px}
        .appx-slides{position:relative;width:100%;height:100%;border-radius:inherit;overflow:hidden}
        .appx-slide{position:absolute;inset:0;margin:0;opacity:0;transform:scale(1.02);transition:opacity .45s ease,transform .45s ease;pointer-events:none}
        .appx-slide.is-active{opacity:1;transform:none;pointer-events:auto}
        .appx-slide img{width:100%;height:100%;display:block;object-fit:cover;object-position:top;border-radius:inherit;background:#070a1c}
        .appx-empty{display:none;position:absolute;inset:0;align-items:center;justify-content:center;text-align:center;padding:20px;color:var(--muted);font-size:.76rem}
        .appx-show.is-empty .appx-empty{display:flex}.appx-show.is-empty .appx-thumbs,.appx-show.is-empty .appx-nav{visibility:hidden}
        .appx-thumbs{display:flex;gap:8px;margin-top:12px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin;min-width:0}
        .appx-thumb:first-child{margin-left:auto}.appx-thumb:last-child{margin-right:auto}
        .appx-show{min-width:0}
        .appx-thumb{flex:0 0 auto;border:1px solid var(--line);border-radius:12px;background:#0b1030;padding:4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;opacity:.6;transition:opacity .15s,border-color .15s,transform .15s}
        .appx-thumb:hover{opacity:.9}.appx-thumb.is-active{opacity:1;border-color:var(--primary);transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.35)}
        .appx-thumb img{display:block;object-fit:cover;object-position:top;border-radius:8px;background:#070a1c}
        .appx-show.android .appx-thumb img{width:46px;height:88px}.appx-show.windows .appx-thumb img{width:104px;height:65px}
        .appx-thumb span{color:#aeb6db;font-size:.6rem;font-weight:800;max-width:104px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
        .podcast-platforms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:14px}
        .podcast-platform{min-height:48px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.045);color:#eef0fa;text-decoration:none;font-size:.78rem;font-weight:850;transition:.18s}
        .podcast-platform:hover{border-color:var(--primary);background:rgba(181,124,255,.12);transform:translateY(-1px)}
        .podcast-platform i{width:22px;text-align:center;font-size:1.12rem;color:#fff}
        .podcast-platform.amazon i{color:#ff9900}.podcast-platform.apple i{color:#fff}.podcast-platform.spotify i{color:#1ed760}.podcast-platform.podimo i{color:#b57cff}
        @media(max-width:520px){.podcast-platforms{grid-template-columns:1fr}}
        .appx-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
        .appx-feature{border:1px solid var(--line);border-radius:17px;padding:17px;background:rgba(16,22,56,.86)}
        .appx-feature i{color:var(--cyan);font-size:1.1rem}.appx-feature b{display:block;color:#fff;margin:8px 0 4px}.appx-feature span{color:var(--muted);font-size:.75rem;line-height:1.5}

        .newsx-overview-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}
        .newsx-overview-main{min-width:0}
        .newsx-hero{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:18px;margin-bottom:18px}
        .newsx-featured{position:relative;overflow:hidden;min-height:360px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(160deg,#11183f,#090d26);display:flex;align-items:flex-end;text-decoration:none;color:#fff}
        .newsx-featured img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.newsx-featured:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,8,24,.08),rgba(5,8,24,.92) 72%)}
        .newsx-featured .in{position:relative;z-index:1;padding:24px}.newsx-kicker{display:inline-flex;align-items:center;gap:6px;background:rgba(255,206,0,.12);border:1px solid rgba(255,206,0,.25);color:#ffce00;border-radius:999px;padding:5px 9px;font-size:.65rem;font-weight:900;text-transform:uppercase;letter-spacing:.6px}
        .newsx-featured h3{font-size:clamp(1.7rem,4vw,3rem);line-height:1.02;margin:10px 0 9px}.newsx-featured p{margin:0;color:#cbd2ef;line-height:1.55;max-width:720px}
        .newsx-side{display:grid;gap:12px}.newsx-mini{border:1px solid var(--line);border-radius:18px;background:linear-gradient(160deg,#101638,#090d26);padding:16px;text-decoration:none;color:#fff;display:flex;gap:13px;align-items:flex-start}
        .newsx-mini img{width:92px;height:78px;object-fit:cover;border-radius:12px;flex:0 0 92px}.newsx-mini b{display:block;line-height:1.25}.newsx-mini span{display:block;color:var(--muted);font-size:.7rem;margin-top:5px}
        .newsx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.newsx-card{border:1px solid var(--line);border-radius:19px;background:linear-gradient(160deg,#101638,#090d26);overflow:hidden;text-decoration:none;color:#fff}
        .newsx-card img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#0c1130}.newsx-card .body{padding:15px}.newsx-card .cat{color:var(--cyan);font-size:.64rem;font-weight:900;text-transform:uppercase;letter-spacing:.6px}.newsx-card h3{font-size:1.05rem;margin:6px 0}.newsx-card p{color:var(--muted);font-size:.78rem;line-height:1.5;margin:0}.newsx-meta{font-size:.66rem;color:#7d86aa;margin-top:10px}
        .newsx-empty{padding:48px 18px;text-align:center;border:1px dashed var(--line);border-radius:18px;color:var(--muted)}
        .newsx-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:26px;align-items:start}
        .newsx-article{max-width:none;min-width:0}.newsx-article-head{margin-bottom:22px}.newsx-article-head>img{width:100%;max-height:520px;object-fit:cover;border-radius:24px;border:1px solid var(--line);margin-top:18px}.newsx-article h1{font-size:clamp(2rem,5vw,4rem);line-height:1;margin:9px 0 12px}.newsx-article .lead{font-size:1.05rem;color:#c2c9e9;line-height:1.6}.newsx-content{font-size:1rem;line-height:1.78;color:#dce0f3}.newsx-content h2,.newsx-content h3{color:#fff;margin-top:1.4em}.newsx-content a{color:var(--cyan)}.newsx-content blockquote{margin:1.4em 0;padding:12px 16px;border-left:3px solid var(--primary);background:rgba(181,124,255,.07);border-radius:0 12px 12px 0}.newsx-back{display:inline-flex;align-items:center;gap:7px;color:#c9cff5;text-decoration:none;font-weight:800;margin-bottom:16px}
        .newsx-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}.newsx-tag{display:inline-flex;align-items:center;min-height:28px;padding:0 9px;border-radius:999px;border:1px solid rgba(34,211,238,.25);background:rgba(34,211,238,.07);color:#9be9f6;font-size:.68rem;font-weight:850}
        .newsx-media{margin:22px 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#050712;box-shadow:0 20px 55px rgba(0,0,0,.24)}.newsx-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0;min-height:280px}.newsx-media .tiktok-embed,.newsx-media .instagram-media{margin:12px auto!important;max-width:620px!important}
        .newsx-comments{margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}.newsx-comments h3{font-size:1.2rem;color:#fff;margin:0 0 16px;display:flex;align-items:center;gap:9px}.newsx-comments h3 i{color:var(--cyan)}
        .newsx-comments-list{display:grid;gap:12px;margin-bottom:20px}
        .newsx-comment{border:1px solid var(--line);border-radius:14px;padding:12px 15px;background:rgba(255,255,255,.02)}.newsx-comment-head{display:flex;align-items:baseline;gap:10px;margin-bottom:5px}.newsx-comment-head b{color:#fff;font-size:.86rem}.newsx-comment-head span{color:var(--muted);font-size:.68rem}.newsx-comment p{margin:0;color:#c2c9e9;font-size:.86rem;line-height:1.6;white-space:pre-wrap}
        .newsx-comment-form{display:grid;gap:10px;border:1px solid var(--line);border-radius:16px;padding:16px;background:rgba(255,255,255,.015)}
        .newsx-comment-form input[type=text],.newsx-comment-form textarea{width:100%;box-sizing:border-box;background:#0b0f26;border:1px solid var(--line);border-radius:11px;color:#e8ebfb;padding:10px 13px;font:inherit;font-size:.86rem;resize:vertical}
        .newsx-comment-form input[type=text]:focus,.newsx-comment-form textarea:focus{outline:none;border-color:var(--cyan)}
        .newsx-comment-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
        .newsx-comment-status{font-size:.74rem;color:var(--muted)}.newsx-comment-status.ok{color:#3ee08a}.newsx-comment-status.err{color:#ff8080}
        .newsx-comment-reply{margin-left:26px;margin-top:10px;border-left:2px solid var(--line);border-radius:0 14px 14px 0;padding-left:14px}
        .newsx-comment-staff{display:inline-flex;align-items:center;font-size:.62rem;font-weight:800;color:var(--cyan);border:1px solid rgba(34,211,238,.3);background:rgba(34,211,238,.08);border-radius:999px;padding:2px 7px}
        .newsx-comment-reply-btn{margin-top:6px;background:none;border:0;color:var(--muted);font-size:.74rem;cursor:pointer;padding:0;display:inline-flex;align-items:center;gap:5px}
        .newsx-comment-reply-btn:hover{color:var(--cyan)}
        .newsx-comment-reply-form{display:grid;gap:8px}
        .newsx-comment-reply-form input[type=text],.newsx-comment-reply-form textarea{width:100%;box-sizing:border-box;background:#0b0f26;border:1px solid var(--line);border-radius:11px;color:#e8ebfb;padding:8px 11px;font:inherit;font-size:.82rem;resize:vertical}
        .newsx-sidebar{position:sticky;top:86px;display:grid;gap:14px}.newsx-sidebar-box{border:1px solid var(--line);border-radius:19px;background:linear-gradient(160deg,#101638,#090d26);overflow:hidden}.newsx-sidebar-title{padding:13px 15px;border-bottom:1px solid rgba(43,51,112,.7);font-size:.76rem;text-transform:uppercase;letter-spacing:.7px;font-weight:950;color:#fff}.newsx-sidebar-title i{color:var(--cyan);margin-right:7px}
        .newsx-rec{display:flex;gap:10px;padding:12px 13px;text-decoration:none;color:#fff;border-bottom:1px solid rgba(43,51,112,.48)}.newsx-rec:last-child{border-bottom:0}.newsx-rec img{width:76px;height:62px;border-radius:10px;object-fit:cover;background:#0a0e28;flex:0 0 76px}.newsx-rec .ph{width:76px;height:62px;border-radius:10px;background:linear-gradient(135deg,#141a42,#0c102c);display:grid;place-items:center;color:var(--primary);flex:0 0 76px}.newsx-rec b{display:block;font-size:.78rem;line-height:1.3}.newsx-rec span{display:block;margin-top:4px;color:var(--muted);font-size:.63rem}
        .newsx-play{position:relative}.newsx-play:after{content:"▶";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:rgba(7,10,28,.86);border:1px solid rgba(255,255,255,.25);color:#fff;font-size:.9rem;padding-left:2px}
        .newsx-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.newsx-card-tags span{font-size:.58rem;color:#8eddea;background:rgba(34,211,238,.06);border-radius:999px;padding:3px 6px}.newsx-source{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;border-radius:999px;border:1px solid rgba(245,158,11,.25);background:rgba(245,158,11,.08);color:#f5c76d;font-size:.62rem;font-weight:850;margin-top:8px}
        @media(max-width:1000px){.newsx-layout,.newsx-overview-layout{grid-template-columns:1fr}.newsx-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}}
        @media(max-width:900px){.newsx-hero{grid-template-columns:1fr}.newsx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
        @media(max-width:560px){.newsx-grid{grid-template-columns:1fr}.newsx-featured{min-height:300px}.newsx-mini img{width:78px;height:70px;flex-basis:78px}.newsx-sidebar{grid-template-columns:1fr}.newsx-media iframe{min-height:210px}}
        .newsx-social-wrap{margin-top:28px;padding-top:26px;border-top:1px solid rgba(43,51,112,.7)}
        .newsx-social-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
        .newsx-social-head .copy{min-width:0}.newsx-social-head .eyebrow{margin-bottom:7px;color:var(--cyan);letter-spacing:1.5px}.newsx-social-head h3{font-size:clamp(1.35rem,3vw,2rem);line-height:1.1;color:#fff;margin:0 0 6px}.newsx-social-head p{color:var(--muted);font-size:.82rem;line-height:1.55;margin:0;max-width:680px}
        .newsx-social-badge{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;padding:8px 12px;border-radius:999px;border:1px solid rgba(181,124,255,.28);background:rgba(181,124,255,.08);color:#d9c6ff;font-size:.7rem;font-weight:850}
        .socialx-switcher{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding:9px;border:1px solid var(--line);border-radius:16px;background:rgba(15,21,56,.9)}
        .socialx-group{display:flex;gap:7px;flex-wrap:wrap}
        .socialx-chip{border:1px solid var(--line);background:#111738;color:#aeb6db;border-radius:999px;padding:9px 13px;font-size:.74rem;font-weight:850;cursor:pointer}
        .socialx-chip.active{background:linear-gradient(105deg,#8b5cf6,#c026d3);border-color:transparent;color:#fff}
        .socialx-chip.instagram.active{background:linear-gradient(105deg,#833ab4,#fd1d1d,#fcb045)}
        .socialx-card{border:1px solid var(--line);border-radius:22px;background:linear-gradient(160deg,#101638,#090d26);overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.25)}
        .socialx-head{display:flex;align-items:center;gap:11px;padding:14px 16px;border-bottom:1px solid rgba(43,51,112,.72)}
        .socialx-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#b57cff,#ff3ea5);font-size:1.15rem}
        .socialx-copy b{display:block;color:#fff}.socialx-copy span{display:block;color:var(--muted);font-size:.7rem;margin-top:2px}
        .socialx-stage{padding:14px;min-height:520px;background:#080c23;display:flex;justify-content:center;align-items:flex-start}
        .socialx-loading{width:100%;min-height:440px;display:grid;place-items:center;color:var(--muted);text-align:center}
        .socialx-stage .tiktok-embed,.socialx-stage .instagram-media{margin:0 auto!important;max-width:720px!important;width:100%!important;min-width:288px!important}
        @media(max-width:900px){
            .portal-page{padding-top:4px}.portal-page-head{align-items:flex-start;flex-direction:column}
            .appx-grid,.appx-features{grid-template-columns:1fr}
            .appx-showcases{grid-template-columns:minmax(0,1fr)}
            .socialx-stage{padding:7px;min-height:480px}
            .newsx-social-head{align-items:flex-start;flex-direction:column}.newsx-social-badge{align-self:flex-start}
        }
        @media(max-width:560px){.appx-stage{grid-template-columns:minmax(0,1fr)}.appx-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:32px;height:32px;opacity:.9}.appx-nav.prev{left:6px}.appx-nav.next{right:6px}.appx-show{padding:10px}.appx-show.android .appx-frame{height:clamp(260px,78vw,360px)}.appx-card{padding:18px}.socialx-chip{padding:8px 10px;font-size:.68rem}}

        /* Theme-Layout-Hooks (gesetzt von portal.js aus theme.json "layout"; Standardwerte = bisheriges Layout) */
        .cms-sidebar-layout{grid-template-columns:minmax(0,1fr) calc(var(--rrw-theme-sidebar-width,320)*1px)}
        .cms-sidebar-layout.sidebar-left{grid-template-columns:calc(var(--rrw-theme-sidebar-width,320)*1px) minmax(0,1fr)}
        html[data-rrw-container="boxed"] #main-container{max-width:1140px!important}
        html[data-rrw-container="narrow"] #main-container{max-width:960px!important}
        html[data-rrw-header="stacked"] #main-header{flex-wrap:wrap;justify-content:center;gap:10px 18px;padding-bottom:8px}
        html[data-rrw-header="stacked"] #main-header .brand{width:100%;justify-content:center}
        html[data-rrw-header="stacked"] .top-nav{flex:0 1 auto;margin-left:0;justify-content:center;flex-wrap:wrap}
        html[data-rrw-header="centered"] #main-header{justify-content:center}
        html[data-rrw-header="centered"] .top-nav{flex:0 1 auto;margin-left:0}
        html[data-rrw-hero="full"] .hero{grid-template-columns:1fr;text-align:center}
        html[data-rrw-hero="full"] .hero p{margin-left:auto;margin-right:auto}
        html[data-rrw-hero="full"] .hero-actions{justify-content:center}
        html[data-rrw-hero="full"] .hero-recs{width:100%;max-width:860px;margin:0 auto}
        html[data-rrw-hero="compact"] .hero{grid-template-columns:1fr;padding:26px 28px}
        html[data-rrw-hero="compact"] .hero-recs{display:none}
        html[data-rrw-hero="compact"] .hero h1{font-size:clamp(1.6rem,3vw,2.3rem)}
        html[data-rrw-news="list"] .newsx-grid{grid-template-columns:1fr}
        html[data-rrw-news="list"] .newsx-card{display:grid;grid-template-columns:220px minmax(0,1fr)}
        html[data-rrw-news="list"] .newsx-card img{height:100%;min-height:140px;aspect-ratio:auto}
        html[data-rrw-news="magazine"] .newsx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
        html[data-rrw-news="magazine"] .newsx-grid .newsx-card:first-child{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
        .newsx-featured .in{min-width:0;width:100%;box-sizing:border-box}.newsx-featured h3{overflow-wrap:anywhere}.newsx-hero:has(.newsx-side:empty){grid-template-columns:1fr}
        /* Widget-System: Listen-Widgets, Kalender, Galerie, Jetzt läuft, Geräte-Sichtbarkeit */
        .cms-wl{display:flex;flex-direction:column;gap:6px}.cms-wl-loading{color:var(--muted);padding:8px 0}.cms-wl-empty{color:var(--muted);font-size:.82rem;padding:6px 0}
        .cms-wl-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-auto-flow:dense;align-items:center;column-gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.025);text-decoration:none;color:inherit;transition:.15s}.cms-wl-item:hover{border-color:var(--primary);background:rgba(255,255,255,.05)}
        .cms-wl-item>img{width:56px;height:44px;object-fit:cover;border-radius:8px;grid-row:span 2;align-self:center}.cms-wl-item>i{grid-row:span 2;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);color:var(--primary);font-size:.75rem}.cms-wl-item>em{grid-row:span 2;font-style:normal;font-weight:800;font-size:.72rem;color:var(--cyan);min-width:58px}
        .cms-wl-item>b{grid-column:2;font-size:.86rem;line-height:1.3;color:#fff}.cms-wl-item>span{grid-column:2;font-size:.7rem;color:var(--muted)}.cms-wl-item>b+span{margin-top:2px}.cms-wl-item:not(:has(>img)):not(:has(>i)):not(:has(>em))>b,.cms-wl-item:not(:has(>img)):not(:has(>i)):not(:has(>em))>span{grid-column:1/-1}
        .cms-wl-count{justify-self:end;background:rgba(255,255,255,.08);border-radius:999px;padding:2px 8px;font-size:.66rem!important;grid-column:3!important;grid-row:1}.cms-wl-item:has(>.cms-wl-count){grid-template-columns:minmax(0,1fr) auto}.cms-wl-item:has(>.cms-wl-count)>b{grid-column:1}
        .cms-wl-sub{padding-left:16px}.cms-wl-chips{flex-direction:row;flex-wrap:wrap}.cms-wl-chips .cms-wl-item{display:inline-flex;padding:6px 10px;border-radius:999px}.cms-wl-chips .cms-wl-sub{padding:0}
        .cms-wl-more{display:inline-block;margin-top:8px;font-size:.76rem;font-weight:800;color:var(--cyan);text-decoration:none}.cms-wl-caption{color:var(--muted);font-size:.74rem;margin-top:6px}.cms-wl-ghost{display:inline-flex;align-items:center;gap:7px;padding:10px 15px;border-radius:10px;border:1px solid var(--line);color:#fff;text-decoration:none;font-weight:800}
        .cms-wl-tags{display:flex;flex-wrap:wrap;gap:6px}.cms-wl-tags .newsx-tag{text-decoration:none}
        .cms-wl-gallery{display:grid;gap:6px}.cms-wl-gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;display:block}
        .cms-wl-search{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.cms-wl-search input{min-width:0;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:rgba(0,0,0,.25);color:#fff;font:inherit;font-size:.86rem}.cms-wl-search button{border:0;border-radius:10px;padding:0 13px;background:var(--grad);color:#fff;cursor:pointer}.cms-wl-search-results{grid-column:1/-1;display:flex;flex-direction:column;gap:4px}.cms-wl-search-results:empty{display:none}
        .cms-wl-cal-head{font-weight:800;font-size:.82rem;margin-bottom:6px;text-align:center}.cms-wl-cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px;text-align:center;font-size:.74rem}.cms-wl-cal-grid i{font-style:normal;color:var(--muted);font-size:.62rem;font-weight:800;padding:2px 0}.cms-wl-cal-grid span,.cms-wl-cal-grid a{display:block;padding:5px 0;border-radius:7px;color:var(--dim);text-decoration:none}.cms-wl-cal-grid a.has{background:var(--grad);color:#fff;font-weight:800}.cms-wl-cal-grid span.today{outline:1px solid var(--line)}
        .cms-wl-stations.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.cms-wl-stations:not(.grid){display:flex;flex-direction:column;gap:6px}.cms-wl-play{color:var(--cyan)!important}
        .cms-wl-now{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center}.cms-wl-now img{width:52px;height:52px;border-radius:10px;object-fit:cover}.cms-wl-now small{display:block;color:var(--cyan);font-size:.62rem;letter-spacing:1px;text-transform:uppercase;font-weight:800}.cms-wl-now b{display:block;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cms-wl-now .cms-content-button{padding:9px 12px}
        .cms-wl-comment b small{font-weight:400;color:var(--muted)}
        @media(min-width:1025px){.cms-w-hide-desktop{display:none!important}}@media(min-width:641px) and (max-width:1024px){.cms-w-hide-tablet{display:none!important}}@media(max-width:640px){.cms-w-hide-mobile{display:none!important}}
        .cms-sidebar-layout>#portal-view,.cms-sidebar-layout>#full-view,.cms-sidebar-layout>#shop-host,.cms-sidebar-layout>#cms-content-widget-host{grid-column:1}.cms-sidebar-layout>.cms-sidebar-host{grid-column:2;grid-row:1/span 4}.cms-sidebar-layout.sidebar-left>#portal-view,.cms-sidebar-layout.sidebar-left>#full-view,.cms-sidebar-layout.sidebar-left>#shop-host,.cms-sidebar-layout.sidebar-left>#cms-content-widget-host{grid-column:2}.cms-sidebar-layout.sidebar-left>.cms-sidebar-host{grid-column:1}
        .cms-sidebar-layout .newsx-overview-layout,.cms-sidebar-layout .newsx-layout{grid-template-columns:1fr}.cms-sidebar-layout .newsx-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
        @media(max-width:900px){html[data-rrw-news="list"] .newsx-card,html[data-rrw-news="magazine"] .newsx-grid .newsx-card:first-child{grid-template-columns:1fr}html[data-rrw-news="magazine"] .newsx-grid{grid-template-columns:1fr}html[data-rrw-hero="full"] .hero-recs{max-width:none}}
