:root {
    --app-bg: #070b14;
    --app-surface: rgba(18, 25, 40, .82);
    --app-surface-2: #121a2b;
    --app-border: rgba(255,255,255,.09);
    --app-primary: #7c5cff;
    --app-primary-2: #20d6c7;
    --app-muted: #9aa6b8;
    --bottom-nav-height: 76px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 10% 0%, rgba(124,92,255,.18), transparent 28%),
        radial-gradient(circle at 90% 15%, rgba(32,214,199,.12), transparent 24%),
        var(--app-bg);
    color: #fff;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    padding-bottom: calc(var(--bottom-nav-height) + env(safe-area-inset-bottom));
}
a { color: #b7a8ff; }
.app-main { min-height: 70vh; }
.desktop-header { background: rgba(7,11,20,.78); backdrop-filter: blur(18px); border-bottom: 1px solid var(--app-border); }
.brand-mark { width: 42px; height: 42px; display: inline-grid; place-items: center; border-radius: 14px; background: linear-gradient(135deg,var(--app-primary),var(--app-primary-2)); box-shadow: 0 10px 35px rgba(124,92,255,.3); }
.eyebrow { color: #a9b5c9; font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.text-gradient { background: linear-gradient(90deg,#fff,#a998ff 48%,#68e8de); -webkit-background-clip: text; color: transparent; }
.btn-primary { --bs-btn-bg: var(--app-primary); --bs-btn-border-color: var(--app-primary); --bs-btn-hover-bg: #6949f4; --bs-btn-hover-border-color: #6949f4; box-shadow: 0 10px 30px rgba(124,92,255,.25); }
.btn-soft { background: rgba(255,255,255,.07); color:#fff; border:1px solid var(--app-border); }
.btn-soft:hover { background: rgba(255,255,255,.12); color:#fff; }
.glass-card { background: linear-gradient(180deg, rgba(23,31,49,.92), rgba(13,19,31,.9)); border: 1px solid var(--app-border); border-radius: 22px; box-shadow: 0 18px 60px rgba(0,0,0,.2); }
.hero-section { overflow:hidden; }
.hero-section h1 { line-height: 1.03; }
.hero-device-card { max-width: 390px; margin-inline:auto; padding:18px; border-radius:34px; background: linear-gradient(180deg,#17213a,#0c1220); border:1px solid rgba(255,255,255,.13); box-shadow:0 35px 90px rgba(0,0,0,.42); transform: rotate(1.8deg); }
.device-topbar { display:flex; gap:5px; justify-content:center; margin-bottom:14px; }
.device-topbar span { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.24); }
.device-search { display:flex; gap:9px; align-items:center; background:rgba(255,255,255,.06); color:#8f9aae; border-radius:14px; padding:12px 14px; font-size:.85rem; }
.now-live-card { margin-top:14px; min-height:255px; display:flex; flex-direction:column; align-items:center; justify-content:center; border-radius:24px; background:radial-gradient(circle at 50% 20%,rgba(124,92,255,.6),transparent 38%), linear-gradient(145deg,#1f2a49,#11182a); position:relative; overflow:hidden; }
.live-pill { display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:800; letter-spacing:.08em; color:#ff8e9e; }
.live-pill span { width:7px; height:7px; border-radius:50%; background:#ff4d67; box-shadow:0 0 0 5px rgba(255,77,103,.13); }
.station-orb { width:90px; height:90px; display:grid; place-items:center; border-radius:50%; background:rgba(255,255,255,.12); margin:22px 0 12px; font-size:2rem; }
.now-live-card small { color:#9da8bc; margin-top:3px; }
.now-live-card .btn { width:48px; height:48px; margin-top:18px; }
.device-row { display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:14px; }
.device-row div { display:flex; flex-direction:column; gap:6px; align-items:center; padding:12px 4px; background:rgba(255,255,255,.04); border-radius:14px; font-size:.68rem; color:#9ca8bb; }
.device-row i { color:#fff; font-size:1.1rem; }
.category-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:12px; }
.category-card { min-height:110px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; color:#fff; text-decoration:none; border-radius:20px; border:1px solid var(--app-border); background:linear-gradient(145deg,rgba(124,92,255,.14),rgba(255,255,255,.025)); transition:.2s ease; }
.category-card:hover { transform:translateY(-3px); border-color:rgba(124,92,255,.5); color:#fff; }
.category-card i { font-size:1.45rem; }
.category-card span { font-weight:700; }
.station-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.station-card { overflow:hidden; transition:.2s ease; }
.station-card:hover { transform:translateY(-4px); border-color:rgba(124,92,255,.4); }
.station-art { aspect-ratio:1/1; display:block; position:relative; overflow:hidden; background:linear-gradient(145deg,#1b2743,#101727); }
.station-art img { width:100%; height:100%; object-fit:cover; }
.station-placeholder { width:100%; height:100%; display:grid; place-items:center; font-size:3rem; color:#8e7aff; }
.verified-badge { position:absolute; top:12px; right:12px; color:#5ccfff; font-size:1.15rem; filter:drop-shadow(0 2px 8px rgba(0,0,0,.6)); }
.station-card-body { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px; }
.min-w-0 { min-width:0; }
.station-play { flex:0 0 auto; width:42px; height:42px; display:grid; place-items:center; border-radius:50%; border:0; background:#fff; color:#111; font-size:1.15rem; }
.directory-hero { background:linear-gradient(180deg,rgba(124,92,255,.12),transparent); }
.search-shell { max-width:720px; position:relative; }
.search-shell i { position:absolute; left:18px; top:50%; transform:translateY(-50%); color:#8f9aaf; }
.search-shell .form-control { padding:16px 18px 16px 48px; border-radius:18px; background:rgba(255,255,255,.06); border:1px solid var(--app-border); color:#fff; }
.search-shell .form-control::placeholder { color:#7f8b9f; }
.player-shell { overflow:hidden; }
.player-shell video { aspect-ratio:16/9; background:#000; display:block; }
.audio-visual { min-height:430px; display:flex; flex-direction:column; align-items:center; justify-content:center; background:radial-gradient(circle at 50% 30%,rgba(124,92,255,.45),transparent 32%),linear-gradient(145deg,#1a2644,#0c1220); }
.audio-logo { width:150px; height:150px; border-radius:36px; display:grid; place-items:center; overflow:hidden; background:rgba(255,255,255,.09); font-size:3.6rem; box-shadow:0 30px 65px rgba(0,0,0,.35); }
.audio-logo img { width:100%; height:100%; object-fit:cover; }
.wave-bars { display:flex; align-items:center; gap:5px; height:60px; margin-top:32px; }
.wave-bars span { width:4px; height:18px; border-radius:8px; background:linear-gradient(var(--app-primary-2),var(--app-primary)); animation:wave 1.1s ease-in-out infinite alternate; }
.wave-bars span:nth-child(2n){animation-delay:.15s}.wave-bars span:nth-child(3n){animation-delay:.3s}.wave-bars span:nth-child(4n){animation-delay:.45s}
@keyframes wave { to { height:54px; } }
.main-play-btn { width:62px; height:62px; font-size:1.7rem; }
.station-details div { display:flex; justify-content:space-between; gap:20px; padding:12px 0; border-top:1px solid var(--app-border); }
.station-details dt { color:#8995a9; font-weight:500; }
.station-details dd { margin:0; font-weight:600; text-align:right; }
.verified-text { color:#65d2ff; font-size:.85rem; }
.auth-card { max-width:520px; }
.form-control,.form-select,.modal-content { background-color:#101827; border-color:var(--app-border); color:#fff; }
.form-control:focus,.form-select:focus { background-color:#101827; color:#fff; border-color:var(--app-primary); box-shadow:0 0 0 .25rem rgba(124,92,255,.18); }
.form-text { color:#7f8b9e; }
.stat-card { padding:20px; display:grid; gap:4px; }
.stat-card i { color:#8d79ff; font-size:1.4rem; }
.stat-card strong { font-size:1.8rem; }
.stat-card span { color:#8e9aae; }
.empty-icon { width:78px; height:78px; margin:auto; display:grid; place-items:center; border-radius:24px; background:rgba(124,92,255,.12); color:#9b88ff; font-size:2rem; }
.mini-player { position:fixed; left:50%; transform:translateX(-50%); bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom)); width:min(650px,calc(100% - 24px)); z-index:1035; display:flex; align-items:center; gap:12px; padding:10px 12px; border-radius:18px; background:rgba(17,24,39,.96); border:1px solid var(--app-border); backdrop-filter:blur(18px); box-shadow:0 14px 50px rgba(0,0,0,.45); }
.mini-player-art { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,var(--app-primary),var(--app-primary-2)); }
.mini-player-meta { flex:1; }
.mini-play-btn { width:42px; height:42px; }
.mobile-bottom-nav { position:fixed; left:0; right:0; bottom:0; z-index:1040; height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom)); padding:8px 10px calc(8px + env(safe-area-inset-bottom)); background:rgba(8,12,21,.94); border-top:1px solid var(--app-border); backdrop-filter:blur(18px); display:grid; grid-template-columns:repeat(5,1fr); }
.mobile-bottom-nav a { color:#758198; text-decoration:none; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:.67rem; }
.mobile-bottom-nav a i { font-size:1.18rem; }
.mobile-bottom-nav a.active { color:#fff; }
.toast { background:#182136; color:#fff; }
@media (min-width:992px){body{padding-bottom:0}.mini-player{bottom:24px}.hero-section{padding-top:20px}.mobile-bottom-nav{display:none!important}}
@media (max-width:991.98px){.category-grid{grid-template-columns:repeat(3,1fr)}.station-grid{grid-template-columns:repeat(3,1fr)}.hero-device-card{margin-top:10px}.audio-visual{min-height:350px}}
@media (max-width:575.98px){.hero-section h1{font-size:2.55rem}.hero-section .lead{font-size:1rem}.hero-device-card{border-radius:26px;padding:14px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:94px}.station-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.station-card-body{padding:11px}.station-play{width:38px;height:38px}.audio-visual{min-height:300px}.audio-logo{width:120px;height:120px;border-radius:28px}.player-info{align-items:flex-start!important}.main-play-btn{width:56px;height:56px}.display-5{font-size:2.25rem}}

/* v1.1.0 — ads, sharing, install experience, featured ordering and premium navigation */
.app-footer { background:rgba(7,11,20,.72); margin-top:24px; }
.app-footer a,.app-footer .btn-link { color:#aeb9ca; text-decoration:none; }
.app-footer a:hover,.app-footer .btn-link:hover { color:#fff; }
.ad-global { padding-top:14px; }
.mgid-ad-slot { min-height:90px; margin:10px 0 18px; padding:10px; border-radius:18px; background:rgba(255,255,255,.025); border:1px solid rgba(255,255,255,.055); overflow:hidden; }
.ad-label { display:block; margin-bottom:6px; color:#667289; font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; text-align:center; }
.featured-badge { position:absolute; left:10px; top:10px; z-index:2; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:999px; color:#2a2100; background:rgba(255,215,80,.94); font-size:.64rem; font-weight:800; box-shadow:0 8px 24px rgba(0,0,0,.28); }
.featured-inline { color:#ffd85a; font-size:.74rem; font-weight:700; }
.directory-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; color:#fff; }
.share-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.share-label { color:#8793a7; font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; margin-right:3px; }
.share-btn { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--app-border); border-radius:12px; background:rgba(255,255,255,.055); color:#fff; text-decoration:none; transition:.18s ease; }
.share-btn:hover { transform:translateY(-2px); color:#fff; background:rgba(255,255,255,.11); }
.share-btn.whatsapp:hover { background:#1fae5b; border-color:#1fae5b; }
.share-btn.facebook:hover { background:#1877f2; border-color:#1877f2; }
.share-btn.telegram:hover { background:#229ed9; border-color:#229ed9; }
.share-btn.x-twitter:hover { background:#000; border-color:#333; }
.install-feature { display:flex; align-items:center; gap:18px; padding:22px; }
.install-feature-icon { width:66px; height:66px; flex:0 0 auto; display:grid; place-items:center; border-radius:20px; background:linear-gradient(135deg,var(--app-primary),var(--app-primary-2)); font-size:1.8rem; }
.background-play-card { display:flex; align-items:center; gap:14px; padding:16px; }
.background-play-card>i { width:48px; height:48px; display:grid; place-items:center; flex:0 0 auto; border-radius:16px; background:rgba(124,92,255,.14); color:#a996ff; font-size:1.4rem; }
.background-play-card p { color:#8f9aae; font-size:.86rem; }
.external-player-callout { background:radial-gradient(circle at 50% 30%,rgba(124,92,255,.36),transparent 38%),linear-gradient(145deg,#17233c,#0b111e); }
.external-player-callout>div { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; padding:28px; }
.external-player-callout i { font-size:2.5rem; color:#a38fff; margin-bottom:12px; }
.install-nudge { position:fixed; right:18px; bottom:24px; z-index:1055; width:min(430px,calc(100% - 28px)); display:flex; align-items:center; gap:12px; padding:12px; border-radius:18px; background:rgba(17,24,39,.97); border:1px solid var(--app-border); box-shadow:0 18px 60px rgba(0,0,0,.5); backdrop-filter:blur(18px); }
.install-nudge-icon { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:14px; background:linear-gradient(135deg,var(--app-primary),var(--app-primary-2)); }
.install-nudge>div:nth-child(2) { min-width:0; flex:1; }
.install-nudge small { display:block; color:#8d99ac; line-height:1.25; }
.install-nudge .btn-close { flex:0 0 auto; }
.cookie-consent { position:fixed; left:18px; right:18px; bottom:18px; z-index:1060; max-width:920px; margin:auto; padding:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; border-radius:18px; background:rgba(16,24,39,.98); border:1px solid var(--app-border); box-shadow:0 20px 70px rgba(0,0,0,.52); }
.cookie-consent p { color:#8f9aad; font-size:.84rem; }
.ios-install-steps { display:flex; align-items:center; justify-content:center; gap:12px; padding:16px; border-radius:16px; background:rgba(255,255,255,.05); }
.ios-install-steps span { display:flex; align-items:center; gap:7px; }
.settings-panel { padding:20px; border-radius:18px; background:rgba(255,255,255,.035); border:1px solid var(--app-border); }
.order-input { width:72px; }
.policy-content { color:#c6cfdd; line-height:1.75; }
.policy-content h2 { color:#fff; }
.premium-accordion .accordion-item { background:transparent; border-color:var(--app-border); }
.premium-accordion .accordion-button { background:rgba(255,255,255,.035); color:#fff; box-shadow:none; }
.premium-accordion .accordion-button:not(.collapsed) { background:rgba(124,92,255,.11); color:#fff; }
.premium-accordion .accordion-body { color:#9ba7b9; background:rgba(255,255,255,.02); }
.breadcrumb a { color:#9e8cff; text-decoration:none; }
.mini-player-art { color:#fff; text-decoration:none; overflow:hidden; }
.mini-player-art img { width:100%; height:100%; object-fit:cover; }
.mobile-bottom-nav button { color:#758198; border:0; background:transparent; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; font-size:.67rem; }
.mobile-bottom-nav button i { font-size:1.18rem; }
.app-loading #appMain { opacity:.5; pointer-events:none; }
#appMain { transition:opacity .18s ease; }

@media (max-width:991.98px){
  .install-nudge { bottom:calc(var(--bottom-nav-height) + 88px + env(safe-area-inset-bottom)); left:14px; right:14px; width:auto; }
  .cookie-consent { bottom:calc(var(--bottom-nav-height) + 12px + env(safe-area-inset-bottom)); flex-direction:column; align-items:stretch; }
  .cookie-consent .d-flex { justify-content:flex-end; }
  .install-feature { align-items:flex-start; flex-wrap:wrap; }
  .background-play-card { align-items:flex-start; flex-wrap:wrap; }
}
@media (max-width:575.98px){
  .share-label { width:100%; }
  .share-btn { width:40px; height:40px; }
  .install-feature-icon { width:54px; height:54px; border-radius:17px; }
  .directory-toolbar { align-items:flex-start; flex-direction:column; }
  .external-player-callout>div { padding:18px; }
}

/* v1.2.0 — instant station catalogue management */
#stationCatalogue { transition: opacity .18s ease, transform .18s ease; }
#stationCatalogue.catalogue-refreshing { opacity:.55; transform:translateY(2px); pointer-events:none; }
.station-auto-form .auto-save-state { width:22px; flex:0 0 22px; display:grid; place-items:center; }
.station-auto-form .spinner-border { width:.9rem; height:.9rem; }
.delete-warning-icon { width:58px; height:58px; display:grid; place-items:center; margin-bottom:16px; border-radius:18px; background:rgba(220,53,69,.12); color:#ff7180; font-size:1.45rem; }
@media (max-width:575.98px){.station-auto-form{min-width:205px}.order-input{width:68px}}

/* v1.3.0 — Stream254 branding and station cover management */
.site-brand { display:flex; align-items:center; padding:0; margin:0; }
.site-brand img { display:block; width:auto; height:58px; object-fit:contain; }
.footer-brand { display:flex; align-items:center; gap:12px; }
.footer-brand img { width:58px; height:58px; object-fit:contain; border-radius:14px; }
.install-nudge-icon { overflow:hidden; background:#050705; }
.install-nudge-icon img { width:100%; height:100%; object-fit:cover; }
.station-art { aspect-ratio:16/10; }
.admin-station-thumb { width:58px; height:42px; flex:0 0 auto; border-radius:10px; object-fit:cover; background:#070b14; border:1px solid var(--app-border); }
.station-cover-editor { display:grid; grid-template-columns:minmax(210px, .8fr) minmax(0, 1.6fr); gap:18px; padding:16px; border-radius:18px; background:rgba(255,255,255,.035); border:1px solid var(--app-border); }
.station-cover-preview { aspect-ratio:16/9; border-radius:16px; overflow:hidden; background:#070b14; border:1px solid var(--app-border); align-self:start; }
.station-cover-preview img { width:100%; height:100%; object-fit:cover; display:block; }
.station-cover-fields { display:grid; align-content:start; gap:14px; }
.station-cover-fields input[type="file"]::file-selector-button { background:rgba(255,255,255,.08); color:#fff; border:0; border-right:1px solid var(--app-border); margin-right:12px; }
.audio-visual { position:relative; isolation:isolate; overflow:hidden; }
.audio-cover-backdrop { position:absolute; inset:-25px; z-index:-2; background-image:linear-gradient(rgba(7,11,20,.48),rgba(7,11,20,.82)),var(--station-cover); background-size:cover; background-position:center; filter:blur(18px) saturate(.85); transform:scale(1.08); opacity:.72; }
.audio-visual::after { content:""; position:absolute; inset:0; z-index:-1; background:radial-gradient(circle at 50% 30%,rgba(124,92,255,.25),transparent 38%),linear-gradient(180deg,rgba(7,11,20,.12),rgba(7,11,20,.48)); }

@media (max-width:767.98px){
  .station-cover-editor { grid-template-columns:1fr; }
  .station-cover-preview { max-height:240px; }
}
@media (max-width:575.98px){
  .site-brand img { height:52px; }
  .footer-brand img { width:52px; height:52px; }
}

/* v1.3.0 — Stream254 analytics dashboard and code settings */
.analytics-dashboard { overflow:hidden; }
.analytics-kpi { height:100%; min-height:118px; display:flex; flex-direction:column; justify-content:center; padding:18px; border-radius:18px; background:linear-gradient(145deg,rgba(255,255,255,.055),rgba(255,255,255,.018)); border:1px solid rgba(255,255,255,.07); }
.analytics-kpi i { width:34px; height:34px; display:grid; place-items:center; margin-bottom:10px; border-radius:11px; color:#b9adff; background:rgba(124,92,255,.14); }
.analytics-kpi strong { font-size:1.65rem; line-height:1; }
.analytics-kpi span { margin-top:7px; color:#8e9aae; font-size:.78rem; }
.analytics-chart-wrap,.analytics-list { padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); }
.analytics-bars { height:210px; display:flex; align-items:stretch; gap:5px; overflow-x:auto; padding:8px 2px 0; scrollbar-width:thin; }
.analytics-day { min-width:22px; flex:1 0 22px; display:flex; flex-direction:column; justify-content:flex-end; align-items:center; gap:6px; }
.analytics-day-columns { width:100%; height:174px; display:flex; align-items:flex-end; justify-content:center; gap:2px; }
.analytics-day .bar { width:42%; min-height:2px; border-radius:5px 5px 2px 2px; transition:.2s ease; }
.analytics-day .bar.views { background:linear-gradient(180deg,#9d8cff,#6f55ff); }
.analytics-day .bar.plays { background:linear-gradient(180deg,#58df9c,#19a965); }
.analytics-day:hover .bar { filter:brightness(1.18); }
.analytics-day small { color:#68748a; font-size:.58rem; }
.analytics-legend { display:flex; gap:12px; color:#8e9aae; font-size:.72rem; }
.analytics-legend span { display:flex; align-items:center; gap:5px; }
.analytics-legend i { width:8px; height:8px; border-radius:50%; }
.analytics-legend i.views { background:#826dff; }
.analytics-legend i.plays { background:#27bf79; }
.analytics-list h3 { margin-bottom:13px; }
.analytics-list-row { min-height:52px; display:grid; grid-template-columns:28px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border-top:1px solid rgba(255,255,255,.06); }
.analytics-list-row:first-of-type { border-top:0; }
.analytics-list-row .rank { width:26px; height:26px; display:grid; place-items:center; border-radius:9px; background:rgba(124,92,255,.14); color:#b7aaff; font-size:.72rem; font-weight:800; }
.analytics-list-row b,.analytics-source b { color:#fff; font-size:.82rem; }
.analytics-source { display:flex; justify-content:space-between; gap:12px; padding:6px 0; color:#a0acbe; font-size:.78rem; }
.code-textarea { min-height:170px; font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace; font-size:.78rem; line-height:1.55; tab-size:2; }
@media (max-width:575.98px) {
    .analytics-kpi { min-height:102px; padding:14px; }
    .analytics-kpi strong { font-size:1.4rem; }
    .analytics-chart-wrap,.analytics-list { padding:14px; }
    .analytics-bars { height:180px; }
    .analytics-day-columns { height:145px; }
}


/* v1.3.1 — Samsung mobile polish, simplified hero and installability patch */
:root { --bottom-nav-height: 82px; }
.hero-simple { position:relative; min-height:420px; display:flex; align-items:center; background:radial-gradient(circle at 50% 8%,rgba(124,92,255,.19),transparent 36%),linear-gradient(180deg,rgba(255,255,255,.015),transparent); }
.hero-simple::after { content:""; position:absolute; inset:auto 10% 0; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.11),transparent); }
.hero-simple-content { max-width:820px; position:relative; z-index:1; }
.hero-simple .lead { max-width:680px; line-height:1.7; }
.hero-simple .hero-actions .btn { min-width:160px; }
.mobile-bottom-nav { left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom)); height:72px; padding:7px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:3px; border:1px solid rgba(255,255,255,.11); border-radius:24px; background:rgba(10,15,25,.93); box-shadow:0 18px 55px rgba(0,0,0,.52),inset 0 1px 0 rgba(255,255,255,.035); }
.mobile-bottom-nav a { min-width:0; height:58px; gap:2px; padding:3px 2px; border-radius:18px; color:#77849a; font-size:.66rem; font-weight:650; letter-spacing:.01em; transition:color .18s ease,background .18s ease,transform .18s ease; }
.mobile-bottom-nav a:active { transform:scale(.97); }
.mobile-nav-icon { width:34px; height:34px; display:grid; place-items:center; border-radius:13px; transition:background .18s ease,box-shadow .18s ease,transform .18s ease; }
.mobile-bottom-nav a i { font-size:1.12rem; line-height:1; }
.mobile-bottom-nav a.active { color:#fff; background:rgba(255,255,255,.035); }
.mobile-bottom-nav a.active .mobile-nav-icon { color:#fff; background:linear-gradient(135deg,var(--app-primary),#5a42d8); box-shadow:0 8px 20px rgba(124,92,255,.32); transform:translateY(-1px); }
.mobile-nav-label { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.mini-player { bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom)); width:calc(100% - 30px); border-radius:20px; }
.install-help-modal .modal-body { padding:22px; }
.install-help-icon { width:70px; height:70px; display:grid; place-items:center; margin:0 auto 18px; border-radius:22px; background:rgba(255,255,255,.055); border:1px solid var(--app-border); }
.install-help-icon img { width:58px; height:58px; border-radius:16px; }
.install-step-list { margin:0 0 18px; padding-left:1.3rem; color:#d7deea; }
.install-step-list li { margin-bottom:10px; padding-left:4px; }
@media (max-width:991.98px) {
  body { padding-bottom:calc(var(--bottom-nav-height) + 22px + env(safe-area-inset-bottom)); }
  .app-footer { padding-bottom:18px; }
  .install-nudge { bottom:calc(var(--bottom-nav-height) + 98px + env(safe-area-inset-bottom)); }
  .cookie-consent { bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom)); }
}
@media (max-width:575.98px) {
  .hero-simple { min-height:390px; }
  .hero-simple .container { padding-top:3.25rem!important; padding-bottom:3.25rem!important; }
  .hero-simple h1 { font-size:2.45rem; line-height:1.05; }
  .hero-simple .lead { font-size:1rem; margin-inline:auto; }
  .hero-simple .hero-actions { display:grid!important; grid-template-columns:1fr 1fr; width:100%; max-width:390px; margin-inline:auto; }
  .hero-simple .hero-actions .btn { min-width:0; padding-left:14px!important; padding-right:14px!important; font-size:.95rem; }
}


/* v1.3.2 — visible station covers and related-station discovery */
.station-cover-display { position:relative; aspect-ratio:16/9; overflow:hidden; background:#050812; }
.station-cover-display img { width:100%; height:100%; object-fit:cover; display:block; }
.station-cover-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(5,8,18,.08) 35%,rgba(5,8,18,.82)); pointer-events:none; }
.station-cover-label { position:absolute; left:18px; right:18px; bottom:16px; display:flex; align-items:center; gap:8px; width:max-content; max-width:calc(100% - 36px); padding:8px 12px; border:1px solid rgba(255,255,255,.15); border-radius:999px; background:rgba(6,10,18,.72); backdrop-filter:blur(12px); color:#fff; font-size:.8rem; font-weight:700; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.external-player-callout { min-height:220px; }
.embedded-player-frame { border-top:1px solid var(--app-border); background:#050812; }
.audio-cover-image { position:absolute; inset:0; z-index:0; width:100%; height:100%; object-fit:cover; display:block; }
.audio-cover-backdrop { inset:0; z-index:1; background:linear-gradient(180deg,rgba(7,11,20,.18),rgba(7,11,20,.74)); filter:none; transform:none; opacity:1; }
.audio-visual::after { z-index:1; background:radial-gradient(circle at 50% 34%,rgba(7,11,20,.08),rgba(7,11,20,.38) 54%,rgba(7,11,20,.68)); }
.audio-visual .audio-logo,.audio-visual .wave-bars { position:relative; z-index:2; }
.station-recommendations { scroll-margin-top:90px; }
.related-station-grid .station-card { min-width:0; }

@media (max-width:767.98px) {
  .station-cover-label { left:12px; right:12px; bottom:12px; max-width:calc(100% - 24px); }
  .station-recommendations { margin-inline:-12px; overflow:hidden; }
  .station-recommendations > .d-flex { padding-inline:12px; }
  .related-station-grid { display:flex; gap:12px; overflow-x:auto; padding:2px 12px 12px; scroll-snap-type:x proximity; scrollbar-width:none; }
  .related-station-grid::-webkit-scrollbar { display:none; }
  .related-station-grid .station-card { flex:0 0 min(74vw, 285px); scroll-snap-align:start; }
}

/* v1.4.0 — premium Stream254 experience */
:root {
    --app-bg: #050806;
    --app-bg-2: #09110c;
    --app-surface: rgba(15, 23, 18, .86);
    --app-surface-2: #101a14;
    --app-surface-3: #142119;
    --app-border: rgba(255,255,255,.09);
    --app-border-strong: rgba(255,255,255,.15);
    --app-primary: #16c45b;
    --app-primary-2: #0d8f42;
    --app-accent: #ef233c;
    --app-accent-soft: rgba(239,35,60,.13);
    --app-muted: #98a69d;
    --app-heading: #f6fbf7;
    --app-shadow: 0 24px 80px rgba(0,0,0,.34);
}
html { background:#050806; }
body {
    background:
        radial-gradient(circle at 8% -5%, rgba(22,196,91,.16), transparent 30%),
        radial-gradient(circle at 96% 12%, rgba(239,35,60,.10), transparent 24%),
        linear-gradient(180deg,#060a07 0%,#07100b 42%,#050806 100%);
    color:var(--app-heading);
    letter-spacing:-.005em;
}
body::before { content:""; position:fixed; inset:0; pointer-events:none; z-index:-1; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px); background-size:44px 44px; mask-image:linear-gradient(to bottom,black,transparent 65%); }
a { color:#77e7a7; }
a:hover { color:#a9f2c7; }
.text-secondary { color:#93a198!important; }
.text-gradient { background:linear-gradient(90deg,#fff 0%,#9bf1bc 52%,#36d977 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.eyebrow { color:#78dba1; letter-spacing:.15em; }
.glass-card,.premium-surface { background:linear-gradient(155deg,rgba(21,33,25,.94),rgba(10,16,12,.94)); border:1px solid var(--app-border); border-radius:24px; box-shadow:var(--app-shadow); }
.premium-surface { position:relative; overflow:hidden; }
.premium-surface::before { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(135deg,rgba(255,255,255,.035),transparent 44%); }
.btn { font-weight:700; letter-spacing:-.01em; }
.btn-primary { --bs-btn-bg:var(--app-primary); --bs-btn-border-color:var(--app-primary); --bs-btn-hover-bg:#1bd166; --bs-btn-hover-border-color:#1bd166; --bs-btn-active-bg:#0fa84c; --bs-btn-active-border-color:#0fa84c; color:#031208; box-shadow:0 12px 34px rgba(22,196,91,.24); }
.btn-soft { background:rgba(255,255,255,.055); border-color:var(--app-border); box-shadow:inset 0 1px 0 rgba(255,255,255,.035); }
.btn-soft:hover { background:rgba(255,255,255,.095); border-color:var(--app-border-strong); transform:translateY(-1px); }
.form-control,.form-select,.modal-content { background-color:#0d1710; border-color:var(--app-border); }
.form-control,.form-select { min-height:48px; border-radius:14px; }
.form-control:focus,.form-select:focus { background-color:#0d1710; border-color:rgba(22,196,91,.7); box-shadow:0 0 0 .25rem rgba(22,196,91,.13); }
.modal-content { border-radius:24px; box-shadow:0 32px 110px rgba(0,0,0,.62); }
.modal-header,.modal-footer { border-color:var(--app-border); }

/* Header and transparent premium brand lock-up */
.desktop-header { background:rgba(5,9,6,.78); border-bottom:1px solid rgba(255,255,255,.065); backdrop-filter:blur(22px) saturate(1.25); }
.premium-navbar { min-height:76px; padding-top:10px; padding-bottom:10px; }
.premium-brand { display:inline-flex; align-items:center; gap:8px; color:#fff; text-decoration:none; min-width:0; }
.premium-brand:hover { color:#fff; }
.premium-brand-emblem { width:auto; height:44px; object-fit:contain; flex:0 0 auto; filter:drop-shadow(0 8px 18px rgba(0,0,0,.38)); }
.premium-brand-wordmark { display:flex; align-items:baseline; font-size:1.55rem; line-height:1; font-weight:850; letter-spacing:-.055em; white-space:nowrap; text-shadow:0 6px 22px rgba(0,0,0,.35); }
.premium-brand-wordmark span { color:#fff; }
.premium-brand-wordmark b { color:#21d264; font-weight:900; }
.premium-nav-links { gap:5px!important; }
.premium-nav-links .nav-link { display:flex; align-items:center; gap:7px; padding:10px 14px!important; border-radius:999px; color:#a9b6ad; font-weight:700; font-size:.91rem; }
.premium-nav-links .nav-link:hover,.premium-nav-links .nav-link.active { color:#fff; background:rgba(255,255,255,.055); }
.premium-nav-links .nav-link.active::after { content:""; width:5px; height:5px; border-radius:50%; background:var(--app-primary); box-shadow:0 0 0 4px rgba(22,196,91,.12); }
.premium-account-btn,.mobile-header-action { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; color:#fff; background:rgba(255,255,255,.06); border:1px solid var(--app-border); }
.premium-account-btn:hover,.mobile-header-action:hover { color:#fff; background:rgba(255,255,255,.1); border-color:var(--app-border-strong); }
.mobile-top-header { z-index:1033; background:rgba(5,9,6,.9); border-bottom:1px solid rgba(255,255,255,.07); backdrop-filter:blur(20px) saturate(1.2); }
.mobile-top-inner { min-height:62px; padding:7px 14px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.mobile-brand { gap:5px; }
.mobile-brand .premium-brand-emblem { height:38px; }
.mobile-brand .premium-brand-wordmark { font-size:1.28rem; }
.mobile-top-actions { display:flex; align-items:center; gap:8px; }
.mobile-header-action { width:39px; height:39px; text-decoration:none; }

/* Hero, discovery and directories */
.hero-simple { min-height:430px; overflow:hidden; background:radial-gradient(circle at 50% 4%,rgba(22,196,91,.18),transparent 34%),radial-gradient(circle at 18% 60%,rgba(239,35,60,.07),transparent 30%); }
.hero-simple::before { content:""; position:absolute; width:430px; height:430px; left:50%; top:42%; transform:translate(-50%,-50%); border:1px solid rgba(255,255,255,.035); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.012),0 0 0 140px rgba(255,255,255,.009); pointer-events:none; }
.hero-simple-content { max-width:900px; }
.hero-simple h1 { letter-spacing:-.055em; }
.hero-simple .lead { color:#a8b5ac!important; }
.hero-simple .hero-actions .btn { min-height:52px; }
.category-grid { gap:14px; }
.category-card { min-height:120px; position:relative; overflow:hidden; background:linear-gradient(150deg,rgba(24,42,29,.92),rgba(10,17,12,.95)); border-color:rgba(255,255,255,.075); box-shadow:0 16px 45px rgba(0,0,0,.18); }
.category-card::after { content:""; position:absolute; width:90px; height:90px; right:-35px; top:-35px; border-radius:50%; background:rgba(22,196,91,.1); transition:.25s ease; }
.category-card:hover { border-color:rgba(22,196,91,.35); box-shadow:0 24px 55px rgba(0,0,0,.28); }
.category-card:hover::after { transform:scale(1.25); }
.category-card i { color:#51dd89; }
.directory-hero { position:relative; overflow:hidden; background:radial-gradient(circle at 82% 20%,rgba(22,196,91,.13),transparent 28%),linear-gradient(180deg,rgba(255,255,255,.018),transparent); border-bottom:1px solid rgba(255,255,255,.055); }
.directory-hero h1 { letter-spacing:-.045em; }
.search-shell .form-control { min-height:58px; border-radius:18px; background:rgba(255,255,255,.05); box-shadow:0 12px 40px rgba(0,0,0,.17); }
.directory-toolbar { padding:2px 2px 0; }

/* Station cards */
.station-grid { gap:18px; }
.premium-station-card { position:relative; overflow:hidden; border:1px solid rgba(255,255,255,.075); border-radius:22px; background:linear-gradient(160deg,#111d15,#09100c); box-shadow:0 18px 52px rgba(0,0,0,.24); transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease; }
.premium-station-card:hover { transform:translateY(-5px); border-color:rgba(22,196,91,.32); box-shadow:0 28px 68px rgba(0,0,0,.34); }
.station-art { aspect-ratio:16/10; }
.station-art img { transform:scale(1.002); transition:transform .35s ease,filter .35s ease; }
.premium-station-card:hover .station-art img { transform:scale(1.045); filter:saturate(1.06); }
.station-art-overlay { position:absolute; inset:0; background:linear-gradient(180deg,transparent 48%,rgba(2,6,3,.68)); pointer-events:none; }
.station-type-chip { position:absolute; left:10px; bottom:10px; display:inline-flex; align-items:center; gap:5px; padding:5px 9px; border-radius:999px; color:#fff; background:rgba(4,10,6,.68); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); font-size:.64rem; font-weight:750; }
.featured-badge { color:#fff4c8; background:rgba(174,121,0,.75); border:1px solid rgba(255,221,115,.3); backdrop-filter:blur(10px); }
.verified-badge { color:#48db88; }
.station-card-body { min-height:74px; padding:14px 14px 15px; }
.station-card-title { display:block; color:#f7faf8; text-decoration:none; font-weight:780; line-height:1.25; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.station-card-title:hover { color:#fff; }
.station-card-meta { display:block; margin-top:4px; color:#819087; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.station-play { width:43px; height:43px; background:#f5fff8; color:#06140b; box-shadow:0 10px 24px rgba(0,0,0,.32); transition:transform .18s ease,background .18s ease; }
.station-play:hover { background:#bff6d2; transform:scale(1.06); }

/* Premium station detail and guaranteed cover display */
.station-page { max-width:1320px; }
.station-breadcrumb { padding:9px 13px; width:max-content; max-width:100%; border-radius:999px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.055); }
.premium-player-card { overflow:hidden; border-radius:28px; background:#07100a; border:1px solid rgba(255,255,255,.09); box-shadow:0 30px 100px rgba(0,0,0,.4); }
.station-media-hero { position:relative; min-height:480px; aspect-ratio:16/9; overflow:hidden; background:#07100a; isolation:isolate; }
.station-hero-cover { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; z-index:0; }
.station-media-gradient { position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(2,6,3,.07) 20%,rgba(2,6,3,.34) 58%,rgba(2,6,3,.94) 100%),linear-gradient(90deg,rgba(2,6,3,.35),transparent 55%); }
.station-media-content { position:absolute; z-index:2; left:28px; right:28px; bottom:26px; display:grid; grid-template-columns:auto minmax(0,1fr) auto; align-items:end; gap:18px; }
.station-avatar { width:78px; height:78px; border-radius:22px; overflow:hidden; background:rgba(255,255,255,.09); border:1px solid rgba(255,255,255,.18); box-shadow:0 18px 48px rgba(0,0,0,.38); backdrop-filter:blur(12px); }
.station-avatar img { width:100%; height:100%; object-fit:cover; }
.station-title { font-size:clamp(1.8rem,4vw,3.2rem); line-height:1; font-weight:850; letter-spacing:-.05em; text-shadow:0 6px 25px rgba(0,0,0,.5); }
.station-subtitle { color:#d0d9d3; }
.station-primary-play { width:68px; height:68px; display:grid; place-items:center; flex:0 0 auto; border-radius:50%; border:0; background:#f7fff9; color:#06150b; font-size:1.85rem; box-shadow:0 18px 42px rgba(0,0,0,.42); }
.station-primary-play:hover { background:#c5f7d7; transform:scale(1.055); }
.radio-embed-frame { height:126px; background:#050806; border-top:1px solid var(--app-border); }
.radio-embed-frame iframe,.embedded-player-frame iframe { width:100%; height:100%; border:0; }
.premium-player-panel { border-top:1px solid var(--app-border); }
.tv-player-wrap { position:relative; background:#000; }
.player-live-badge { position:absolute; left:15px; top:15px; display:flex; align-items:center; gap:7px; padding:7px 10px; border-radius:999px; background:rgba(5,8,6,.78); border:1px solid rgba(255,255,255,.14); backdrop-filter:blur(10px); font-size:.7rem; font-weight:850; letter-spacing:.08em; }
.player-live-badge span { width:7px; height:7px; border-radius:50%; background:var(--app-accent); box-shadow:0 0 0 5px rgba(239,35,60,.16); }
.premium-player-info { background:linear-gradient(180deg,#101a14,#0a110d); }
.premium-inline-card { display:flex; align-items:center; gap:14px; padding:15px 17px; border-radius:20px; background:rgba(16,27,20,.88); border:1px solid var(--app-border); box-shadow:0 14px 42px rgba(0,0,0,.18); }
.premium-inline-icon { width:46px; height:46px; flex:0 0 auto; display:grid; place-items:center; border-radius:15px; background:rgba(22,196,91,.12); color:#54dc89; font-size:1.25rem; }
.premium-inline-card p { color:#8f9d94; font-size:.84rem; }
.station-share-row { padding:13px 15px; border-radius:18px; background:rgba(255,255,255,.028); border:1px solid rgba(255,255,255,.055); }
.station-about-card { top:96px; border-radius:26px; }
.station-description { color:#a7b3ab; line-height:1.75; }
.station-verified-seal { color:#39d979; font-size:1.45rem; }
.station-details div { align-items:center; }
.station-details dt { display:flex; align-items:center; gap:8px; }
.station-details dt i { color:#50d987; }
.premium-section-heading h2 { letter-spacing:-.035em; }

/* Footer, mini player, mobile navigation */
.app-footer { margin-top:54px; background:linear-gradient(180deg,rgba(6,11,8,.4),#040705); border-top:1px solid rgba(255,255,255,.065); }
.premium-footer-grid { display:grid; grid-template-columns:minmax(0,2fr) 1fr 1fr; gap:50px; }
.footer-brand-lockup p { max-width:450px; margin:16px 0 0; color:#829087; line-height:1.65; }
.premium-footer-links { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.premium-footer-links strong { margin-bottom:4px; color:#f1f7f3; }
.premium-footer-links a,.premium-footer-links .btn { color:#8f9d94; text-decoration:none; font-size:.9rem; }
.premium-footer-links a:hover,.premium-footer-links .btn:hover { color:#fff; }
.premium-footer-bottom { display:flex; justify-content:space-between; gap:20px; margin-top:35px; padding-top:20px; border-top:1px solid rgba(255,255,255,.06); color:#67746c; font-size:.8rem; }
.mini-player { background:rgba(9,17,12,.95); border-color:rgba(255,255,255,.11); box-shadow:0 24px 70px rgba(0,0,0,.55); }
.mini-player-art { background:linear-gradient(135deg,#143a23,#0c2215); border:1px solid rgba(255,255,255,.1); }
.mobile-bottom-nav { background:rgba(8,15,10,.95); border-color:rgba(255,255,255,.11); box-shadow:0 22px 65px rgba(0,0,0,.62),inset 0 1px 0 rgba(255,255,255,.035); }
.mobile-bottom-nav a.active .mobile-nav-icon { background:linear-gradient(135deg,#1bc761,#0b813b); box-shadow:0 9px 24px rgba(22,196,91,.3); }
.install-nudge,.cookie-consent { background:rgba(9,17,12,.97); }
.install-nudge-icon { background:transparent; }

/* Admin and utility polish */
.table-dark { --bs-table-bg:transparent; --bs-table-hover-bg:rgba(255,255,255,.028); }
.table > :not(caption) > * > * { padding:14px 12px; border-bottom-color:rgba(255,255,255,.065); }
.stat-card,.analytics-kpi,.analytics-chart-wrap,.analytics-list,.settings-panel { background:linear-gradient(150deg,rgba(22,36,27,.78),rgba(9,16,11,.82)); }
.stat-card i,.analytics-kpi i { color:#51dc87; background:rgba(22,196,91,.11); }
.analytics-day .bar.views { background:linear-gradient(180deg,#55e28d,#149a48); }
.analytics-day .bar.plays { background:linear-gradient(180deg,#ff6075,#d61832); }
.analytics-legend i.views { background:#27c969; }
.analytics-legend i.plays { background:#ef344c; }
.premium-accordion .accordion-button:not(.collapsed) { background:rgba(22,196,91,.1); }
.empty-icon { background:rgba(22,196,91,.11); color:#51dd89; }
.toast { border-radius:16px; box-shadow:0 18px 60px rgba(0,0,0,.45); }

@media (max-width:991.98px) {
    .app-main { min-height:calc(100vh - 150px); }
    .station-media-hero { min-height:380px; }
    .station-about-card { position:relative!important; top:auto; }
    .premium-footer-grid { grid-template-columns:1fr 1fr; }
    .footer-brand-lockup { grid-column:1/-1; }
}
@media (max-width:767.98px) {
    .station-media-hero { min-height:350px; aspect-ratio:4/3; }
    .station-media-content { left:16px; right:16px; bottom:16px; grid-template-columns:auto minmax(0,1fr) auto; gap:11px; }
    .station-avatar { width:58px; height:58px; border-radius:17px; }
    .station-primary-play { width:56px; height:56px; font-size:1.5rem; }
    .station-title { font-size:1.7rem; }
    .station-subtitle { font-size:.82rem; }
    .premium-footer-grid { grid-template-columns:1fr; gap:28px; }
    .footer-brand-lockup { grid-column:auto; }
    .premium-footer-bottom { flex-direction:column; gap:6px; }
}
@media (max-width:575.98px) {
    .hero-simple { min-height:380px; }
    .hero-simple h1 { font-size:2.35rem; }
    .category-grid { gap:10px; }
    .category-card { min-height:102px; padding:15px; border-radius:18px; }
    .station-grid { gap:12px; }
    .premium-station-card { border-radius:18px; }
    .station-card-body { min-height:68px; padding:11px; }
    .station-card-title { font-size:.91rem; }
    .station-card-meta { font-size:.72rem; }
    .station-play { width:38px; height:38px; }
    .station-media-hero { min-height:320px; }
    .station-media-content { grid-template-columns:52px minmax(0,1fr) 52px; }
    .station-avatar { width:52px; height:52px; border-radius:15px; }
    .station-primary-play { width:52px; height:52px; }
    .station-title { font-size:1.42rem; }
    .live-pill,.featured-inline,.verified-text { font-size:.65rem; }
    .premium-inline-card { align-items:flex-start; flex-wrap:wrap; }
    .premium-brand-emblem { height:36px; }
    .premium-brand-wordmark { font-size:1.22rem; }
}
@media (prefers-reduced-motion:reduce) {
    *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; }
}

/* v1.4.1 — compact player cover artwork fix */
.mini-player-art {
    width: 68px;
    height: 48px;
    flex: 0 0 68px;
    border-radius: 13px;
    background: linear-gradient(135deg, #143a23, #0c2215);
}
.mini-player-art img {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}
@media (max-width: 575.98px) {
    .mini-player-art {
        width: 52px;
        height: 46px;
        flex-basis: 52px;
        border-radius: 12px;
    }
}

/* Stream254 v1.5.0 broadcaster, programme and engagement experience */
.premium-page-heading{max-width:760px}.premium-list{display:grid;gap:.65rem}.premium-list-row{display:flex;align-items:center;gap:.9rem;padding:.85rem 0;border-bottom:1px solid rgba(255,255,255,.08);color:inherit;text-decoration:none}.premium-list-row:last-child{border-bottom:0}.premium-list-row>i{width:38px;height:38px;display:grid;place-items:center;border-radius:12px;background:rgba(52,210,99,.12);color:#48de75;font-size:1.05rem}.premium-list-row>div{min-width:0}.premium-list-row strong,.premium-list-row small{display:block}.premium-list-row small{color:var(--bs-secondary-color);margin-top:.18rem}.programme-grid{display:grid;gap:1rem}.programme-card{display:grid;grid-template-columns:110px minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1rem 1.15rem}.programme-time{padding-right:1rem;border-right:1px solid rgba(255,255,255,.09)}.programme-time span,.programme-time strong{display:block}.programme-time span{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#72df95}.programme-time strong{font-size:1.05rem;margin-top:.2rem}.programme-copy{min-width:0}.programme-copy h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.station-name-link{color:#6ce493;text-decoration:none;font-weight:700}.podcast-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.15rem}.podcast-card{display:grid;grid-template-columns:130px minmax(0,1fr);gap:1rem;padding:1rem;color:inherit;text-decoration:none;transition:transform .2s ease,border-color .2s ease}.podcast-card:hover{transform:translateY(-3px);border-color:rgba(69,220,116,.35)}.podcast-art{position:relative;aspect-ratio:1/1;border-radius:18px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#163321,#08130d);font-size:2.2rem;color:#5ee586}.podcast-art img{width:100%;height:100%;object-fit:cover}.podcast-play{position:absolute;right:.6rem;bottom:.6rem;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#f7fff9;color:#06110a}.podcast-card small{color:#61dd8a;font-weight:700}.podcast-card p{font-size:.9rem}.presenter-hero{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:2rem;padding:2rem}.presenter-photo{width:220px;aspect-ratio:1;border-radius:32px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#15301f,#09140e);font-size:4rem;color:#58dc83}.presenter-photo img{width:100%;height:100%;object-fit:cover}.podcast-detail{display:grid;grid-template-columns:minmax(260px,400px) minmax(0,1fr);gap:2rem;padding:1.4rem;align-items:center}.podcast-detail-cover{width:100%;aspect-ratio:1;object-fit:cover;border-radius:26px}.podcast-detail-copy{padding:1rem}.discovery-actions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.discovery-action{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.25rem 1.4rem;color:inherit;text-decoration:none}.discovery-action>i:first-child{width:54px;height:54px;border-radius:18px;background:rgba(53,207,100,.14);color:#55e083;display:grid;place-items:center;font-size:1.35rem}.discovery-action>i:last-child{color:#6c8d78}.premium-tabs{gap:.4rem;padding:.35rem;border:1px solid rgba(255,255,255,.08);background:rgba(7,18,12,.72);border-radius:18px;width:max-content;max-width:100%;overflow-x:auto;flex-wrap:nowrap}.premium-tabs .nav-link{border:0;border-radius:13px;color:#9db4a5;white-space:nowrap}.premium-tabs .nav-link.active{background:rgba(58,211,105,.15);color:#eefbf2}.presenter-admin-grid{display:grid;gap:.75rem}.presenter-admin-card{display:grid;grid-template-columns:50px minmax(0,1fr) auto;align-items:center;gap:.85rem;padding:.85rem}.presenter-mini-photo{width:48px;height:48px;border-radius:15px;overflow:hidden;display:grid;place-items:center;background:#10251a;color:#63dc89}.presenter-mini-photo img{width:100%;height:100%;object-fit:cover}.presenter-admin-card strong,.presenter-admin-card small{display:block}.presenter-admin-card small{color:var(--bs-secondary-color)}.station-content-hub .programme-clock{width:48px;text-align:center;color:#6ce493;font-weight:800;line-height:1}.station-content-hub .programme-clock small{display:block;font-size:.62rem;margin-top:.25rem}.station-presenter-list{display:grid;gap:.7rem}.station-presenter{display:flex;align-items:center;gap:.75rem;color:inherit;text-decoration:none;padding:.45rem 0}.station-presenter span:last-child{min-width:0}.station-presenter strong,.station-presenter small{display:block}.station-presenter small{color:var(--bs-secondary-color)}.programme-reminder-btn.active{background:#35d568;color:#061109;border-color:#35d568}
@media(max-width:991.98px){.podcast-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.presenter-hero{grid-template-columns:150px minmax(0,1fr)}.presenter-photo{width:150px}.podcast-detail{grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:767.98px){.programme-card{grid-template-columns:76px minmax(0,1fr);padding:.95rem}.programme-card>.btn{grid-column:1/-1;width:100%}.programme-time{padding-right:.65rem}.podcast-grid,.discovery-actions-grid{grid-template-columns:1fr}.podcast-card{grid-template-columns:96px minmax(0,1fr)}.presenter-hero{grid-template-columns:1fr;text-align:center;padding:1.3rem}.presenter-photo{width:132px;margin:auto;border-radius:26px}.podcast-detail{grid-template-columns:1fr;padding:1rem}.podcast-detail-cover{max-width:360px;margin:auto}.podcast-detail-copy{padding:.35rem}.broadcaster-studio .premium-tabs{width:100%}}

/* v1.5.0 — opt-in notification nudge */
.push-nudge { bottom:96px; }
.push-nudge .install-nudge-icon { color:#5ee893; font-size:1.2rem; background:rgba(22,196,91,.12); }
@media (max-width:991.98px){.push-nudge{bottom:calc(var(--bottom-nav-height) + 98px + env(safe-area-inset-bottom));}}


/* Stream254 v1.5.1 — Recently streamed */
.recently-streamed-section { position:relative; }
.recently-streamed-section::before { content:""; position:absolute; inset:12px 0 auto; height:170px; pointer-events:none; background:radial-gradient(circle at 12% 20%,rgba(22,196,91,.10),transparent 44%); opacity:.9; }
.recently-streamed-section > * { position:relative; }
.recently-streamed-grid .premium-station-card { border-color:rgba(22,196,91,.16); box-shadow:0 20px 58px rgba(0,0,0,.28),0 0 0 1px rgba(22,196,91,.025); }
.recently-streamed-grid .premium-station-card:first-child { border-color:rgba(22,196,91,.34); }
@media (max-width:767.98px) {
  .recently-streamed-section { overflow:hidden; padding-left:0!important; padding-right:0!important; }
  .recently-streamed-section > .section-heading { padding-inline:12px; }
  .recently-streamed-grid { display:flex; gap:12px; overflow-x:auto; padding:2px 12px 14px; scroll-snap-type:x proximity; scrollbar-width:none; }
  .recently-streamed-grid::-webkit-scrollbar { display:none; }
  .recently-streamed-grid .station-card { flex:0 0 min(72vw,280px); scroll-snap-align:start; }
}

/* Stream254 v1.6.0 — original music streaming */
.music-hero{position:relative;overflow:hidden;background:radial-gradient(circle at 78% 28%,rgba(31,211,103,.22),transparent 31%),radial-gradient(circle at 12% 82%,rgba(230,32,58,.15),transparent 34%),linear-gradient(135deg,#061009,#0b1d12 55%,#07100b)}
.music-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent)}
.music-hero-inner{position:relative;z-index:1;min-height:430px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:center;gap:4rem}
.music-hero-copy{max-width:700px}.music-hero-copy h1{font-size:clamp(2.6rem,6vw,5.5rem);line-height:.94;letter-spacing:-.065em;font-weight:900;margin:.8rem 0 1.25rem}.music-hero-copy p{max-width:620px;color:#9eafa4;font-size:1.1rem;line-height:1.7;margin-bottom:1.7rem}
.music-hero-visual{min-height:320px;display:grid;place-items:center;position:relative}.music-vinyl{width:min(310px,80vw);aspect-ratio:1;border-radius:50%;display:grid;place-items:center;background:repeating-radial-gradient(circle at center,#0a0e0b 0 7px,#171d19 8px 10px);box-shadow:0 55px 100px rgba(0,0,0,.55),inset 0 0 0 2px rgba(255,255,255,.035);animation:stream254Vinyl 18s linear infinite}.music-vinyl::before{content:"";position:absolute;width:26%;aspect-ratio:1;border-radius:50%;background:#f3fff6;box-shadow:0 0 0 18px #1dd066}.music-vinyl img{position:relative;z-index:1;width:22%;height:22%;border-radius:50%;object-fit:cover}.music-equalizer{position:absolute;bottom:4%;display:flex;gap:6px;align-items:end;height:60px}.music-equalizer i{display:block;width:7px;border-radius:5px;background:linear-gradient(#45e67b,#0d7d3b);animation:stream254Eq .85s ease-in-out infinite alternate}.music-equalizer i:nth-child(1){height:20%;animation-delay:.1s}.music-equalizer i:nth-child(2){height:70%;animation-delay:.4s}.music-equalizer i:nth-child(3){height:42%;animation-delay:.2s}.music-equalizer i:nth-child(4){height:90%;animation-delay:.6s}.music-equalizer i:nth-child(5){height:54%;animation-delay:.3s}.music-equalizer i:nth-child(6){height:28%;animation-delay:.5s}@keyframes stream254Vinyl{to{transform:rotate(360deg)}}@keyframes stream254Eq{to{height:100%}}
.music-page-shell{position:relative}.music-collection-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}.music-collection-card{display:flex;flex-direction:column;min-width:0;color:inherit;text-decoration:none}.music-collection-card strong{display:block;margin-top:.75rem;color:#f4fbf6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-collection-card>span,.music-collection-card div>span{display:block;color:#819188;font-size:.82rem;margin-top:.2rem}.music-collection-cover{position:relative;aspect-ratio:1;border-radius:22px;overflow:hidden;background:linear-gradient(145deg,#14291c,#07100a);box-shadow:0 20px 50px rgba(0,0,0,.38)}.music-collection-cover img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.music-collection-card:hover .music-collection-cover img{transform:scale(1.045)}.music-floating-play{position:absolute;right:12px;bottom:12px;width:48px;height:48px;border-radius:50%;display:grid!important;place-items:center;background:#f6fff8!important;color:#061009!important;font-size:1.35rem;box-shadow:0 12px 28px rgba(0,0,0,.44);transform:translateY(6px);opacity:0;transition:.22s}.music-collection-card:hover .music-floating-play{opacity:1;transform:none}
.music-track-list{overflow:hidden}.music-track-row{display:grid;grid-template-columns:54px minmax(0,1fr) minmax(90px,140px) 58px 42px 42px;align-items:center;gap:.8rem;padding:.7rem 1rem;border-bottom:1px solid rgba(255,255,255,.065);transition:background .17s ease}.music-track-row:last-child{border-bottom:0}.music-track-row:hover{background:rgba(255,255,255,.025)}.music-track-play{position:relative;width:50px;height:50px;padding:0;border:0;border-radius:14px;overflow:hidden;background:#0e2116}.music-track-play img{width:100%;height:100%;object-fit:cover}.music-play-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.38);opacity:0;font-size:1.35rem;color:#fff;transition:.18s}.music-track-play:hover .music-play-overlay,.music-track-row.is-current .music-play-overlay{opacity:1}.music-track-row.is-current{background:rgba(27,199,97,.075)}.music-track-row.is-current .music-track-copy strong{color:#51df86}.music-track-copy{min-width:0;text-decoration:none;color:inherit}.music-track-copy strong,.music-track-copy span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-track-copy span{color:#829288;font-size:.82rem;margin-top:.15rem}.explicit-badge{display:inline-grid!important;place-items:center;width:16px;height:16px;border-radius:4px;background:#6c746f;color:#fff;font-size:.58rem;margin-left:.35rem;vertical-align:2px}.music-track-genre,.music-track-duration{color:#77867d;font-size:.8rem}.music-like-btn,.music-more-btn,.mini-control-btn{border:0;background:transparent;color:#839189;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.music-like-btn:hover,.music-more-btn:hover,.mini-control-btn:hover,.mini-control-btn.active{background:rgba(255,255,255,.07);color:#fff}.music-like-btn.active{color:#3cdf7b}.music-like-btn.active i::before{content:"\f415"}
.music-detail-hero{display:grid;grid-template-columns:minmax(250px,360px) minmax(0,1fr);gap:2.5rem;align-items:end;padding:1.5rem;background:radial-gradient(circle at 20% 10%,rgba(42,209,104,.15),transparent 30%),linear-gradient(145deg,rgba(18,34,23,.95),rgba(5,10,7,.94))}.music-detail-cover{width:100%;aspect-ratio:1;object-fit:cover;border-radius:28px;box-shadow:0 30px 70px rgba(0,0,0,.48)}.music-detail-copy{padding:1.4rem 1rem}.music-detail-copy h1{font-size:clamp(2.3rem,5vw,4.8rem);line-height:.98;letter-spacing:-.055em;font-weight:900;margin:.8rem 0}.music-detail-artist{font-size:1.35rem;font-weight:750;color:#f1faf3}.music-album-link{color:#54de86;text-decoration:none;font-weight:700}
/* Persistent music player */
.mini-player{display:grid;grid-template-columns:1fr;gap:7px;width:min(920px,calc(100% - 30px));padding:9px 12px 8px}.mini-player-main{display:flex;align-items:center;gap:10px;min-width:0}.mini-music-controls{display:flex;align-items:center;gap:1px}.mini-player-progress{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;font-size:.67rem;color:#77867d}.mini-player-progress input{width:100%;accent-color:#2bd06c;height:4px}.mini-play-btn{flex:0 0 auto}.music-queue-drawer{--bs-offcanvas-width:min(430px,94vw);background:linear-gradient(160deg,#0c1710,#050906);border-left:1px solid rgba(255,255,255,.09)}.music-queue-list{display:grid;gap:.35rem}.music-queue-item{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.55rem;border-radius:14px;border:0;background:transparent;color:inherit;text-align:left;width:100%}.music-queue-item:hover,.music-queue-item.active{background:rgba(255,255,255,.055)}.music-queue-item.active strong{color:#46dc7a}.music-queue-item img{width:46px;height:46px;border-radius:12px;object-fit:cover}.music-queue-item strong,.music-queue-item small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-queue-item small{color:#7e8d84}
/* Music Studio */
.music-admin-form{position:sticky;top:100px}.music-upload-panel{padding:1rem;border:1px dashed rgba(64,222,119,.28);border-radius:16px;background:rgba(21,64,35,.12)}.music-cover-preview{height:180px;border-radius:20px;overflow:hidden;display:grid;place-items:center;background:linear-gradient(145deg,#14291c,#07110b);color:#52dd83;font-size:2.5rem}.music-cover-preview img{width:100%;height:100%;object-fit:cover}.music-current-file{padding:.65rem .8rem;border-radius:12px;background:rgba(255,255,255,.045);font-size:.82rem;color:#a8b7ae;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.music-admin-track-list{display:grid}.music-admin-track{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:.8rem 1rem;border-bottom:1px solid rgba(255,255,255,.065)}.music-admin-track:last-child{border-bottom:0}.music-admin-track>img{width:58px;height:58px;object-fit:cover;border-radius:15px}.music-admin-track small{font-size:.75rem;color:#84938a}.music-admin-actions{display:flex;gap:.4rem}.music-track-picker{max-height:360px;overflow:auto;display:grid;gap:.4rem;padding:.3rem}.music-track-picker label{display:grid;grid-template-columns:auto 44px minmax(0,1fr);align-items:center;gap:.65rem;padding:.55rem;border:1px solid rgba(255,255,255,.07);border-radius:13px;cursor:pointer}.music-track-picker label:has(input:checked){border-color:rgba(46,218,108,.38);background:rgba(46,218,108,.07)}.music-track-picker img{width:44px;height:44px;object-fit:cover;border-radius:11px}.music-track-picker strong,.music-track-picker small{display:block}.music-track-picker small{color:#7f8e85}.music-admin-playlists{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:1199.98px){.music-collection-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.music-admin-form{position:static}.music-admin-playlists{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.music-hero-inner{grid-template-columns:1fr;min-height:auto;gap:1.8rem;text-align:center}.music-hero-copy{margin:auto}.music-hero-copy .d-flex{justify-content:center}.music-hero-visual{min-height:230px}.music-vinyl{width:220px}.music-collection-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.music-detail-hero{grid-template-columns:240px minmax(0,1fr)}.mobile-bottom-nav{grid-template-columns:repeat(5,minmax(0,1fr))}.mini-player{bottom:calc(var(--bottom-nav-height) + 16px + env(safe-area-inset-bottom))}}
@media(max-width:767.98px){.music-hero-copy h1{font-size:2.75rem}.music-hero-copy p{font-size:1rem}.music-hero-visual{display:none}.music-collection-grid{display:flex;overflow-x:auto;gap:12px;padding-bottom:12px;scroll-snap-type:x proximity;scrollbar-width:none}.music-collection-grid::-webkit-scrollbar{display:none}.music-collection-card{flex:0 0 42vw;scroll-snap-align:start}.music-floating-play{opacity:1;transform:none;width:42px;height:42px}.music-track-row{grid-template-columns:48px minmax(0,1fr) 36px 36px;padding:.65rem .7rem;gap:.55rem}.music-track-duration,.music-track-genre{display:none!important}.music-track-play{width:46px;height:46px}.music-detail-hero{grid-template-columns:1fr;gap:1rem;align-items:center;text-align:center;padding:1rem}.music-detail-cover{max-width:310px;margin:auto;border-radius:24px}.music-detail-copy{padding:.7rem}.music-detail-copy .d-flex{justify-content:center}.music-detail-copy h1{font-size:2.4rem}.mini-player{width:calc(100% - 24px);padding:7px 9px}.mini-player-main{gap:6px}.mini-player-art{width:48px!important;height:45px!important;flex-basis:48px!important}.mini-music-controls{gap:0}.mini-control-btn{width:31px;height:34px;font-size:.9rem}.mini-music-controls #musicQueueButton{display:none}.mini-player-progress{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px}.music-admin-playlists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.music-admin-track{grid-template-columns:52px minmax(0,1fr) auto;padding:.7rem}.music-admin-track>img{width:50px;height:50px}.mobile-bottom-nav a{font-size:.6rem}}
@media(max-width:480px){.music-collection-card{flex-basis:48vw}.music-admin-playlists{grid-template-columns:1fr}.mini-music-controls #musicShuffleButton,.mini-music-controls #musicRepeatButton{display:none}.mini-player-meta small{font-size:.68rem}.mini-player{bottom:calc(82px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.music-vinyl,.music-equalizer i{animation:none}}

/* Stream254 v1.6.1 — polished music empty state */
.music-empty-state{
    position:relative;
    isolation:isolate;
    min-height:280px;
    padding:clamp(2.2rem,5vw,4.5rem) clamp(1.25rem,4vw,3rem);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:1.15rem;
    overflow:hidden;
    text-align:center;
    background:
        radial-gradient(circle at 50% 15%,rgba(42,218,108,.14),transparent 36%),
        linear-gradient(145deg,rgba(15,34,22,.94),rgba(5,12,8,.96));
    border-color:rgba(72,216,122,.18);
}
.music-empty-state::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background-image:
        linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),
        linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);
    background-size:36px 36px;
    mask-image:linear-gradient(to bottom,rgba(0,0,0,.8),transparent 88%);
}
.music-empty-state .music-empty-icon{
    width:76px;
    height:76px;
    margin:0;
    border-radius:24px;
    background:linear-gradient(145deg,rgba(48,221,111,.18),rgba(31,171,84,.08));
    border:1px solid rgba(76,229,129,.16);
    color:#58e58d;
    box-shadow:0 18px 45px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.05);
}
.music-empty-copy{max-width:560px;margin:0 auto;display:grid;justify-items:center}
.music-empty-copy h2{margin:.55rem 0 .55rem;font-size:clamp(1.45rem,2.2vw,2rem);letter-spacing:-.025em;font-weight:850;color:#f4fbf6}
.music-empty-copy p{margin:0;color:#91a298;font-size:1rem;line-height:1.65}
@media(max-width:767.98px){
    .music-latest-heading{align-items:flex-start;gap:.9rem}
    .music-latest-actions{width:100%}
    .music-latest-actions .btn{flex:1}
    .music-empty-state{min-height:250px;padding:2.5rem 1.25rem;border-radius:22px}
    .music-empty-state .music-empty-icon{width:68px;height:68px;border-radius:21px;font-size:1.75rem}
}

/* Stream254 v1.6.3 — homepage featured music first; hero simplified */
.home-featured-music-section{position:relative;z-index:2}
.home-featured-music{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.35fr);gap:0;overflow:hidden;padding:0;border-color:rgba(70,222,125,.18);background:linear-gradient(145deg,rgba(12,29,18,.97),rgba(4,10,7,.98));box-shadow:0 28px 80px rgba(0,0,0,.34)}
.home-featured-spotlight{position:relative;min-height:430px;overflow:hidden;border-right:1px solid rgba(255,255,255,.075)}
.home-featured-spotlight>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transform:scale(1.01)}
.home-featured-spotlight-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,8,5,.08) 18%,rgba(3,8,5,.45) 52%,rgba(3,8,5,.96) 100%),linear-gradient(90deg,rgba(3,8,5,.15),transparent 65%)}
.home-featured-spotlight-copy{position:absolute;left:0;right:0;bottom:0;padding:2rem;z-index:2}
.home-featured-spotlight-copy h3{font-size:clamp(2rem,4vw,3.7rem);line-height:.98;letter-spacing:-.05em;font-weight:900;margin:.55rem 0 .5rem;max-width:650px}
.home-featured-spotlight-copy p{color:#d2dfd6;font-size:1rem;margin:0 0 1.1rem}
.home-featured-track-list{align-self:stretch;border-radius:0;background:transparent;max-height:430px;overflow:auto;scrollbar-width:thin;scrollbar-color:rgba(75,218,125,.32) transparent}
.home-featured-track-list .music-track-row{min-height:70px;padding:.72rem 1rem}
.home-featured-track-list .music-track-row:first-child{background:rgba(46,218,108,.065)}
.home-featured-track-list .music-track-play{width:50px;height:50px}
@media(max-width:991.98px){.home-featured-music{grid-template-columns:1fr}.home-featured-spotlight{min-height:390px;border-right:0;border-bottom:1px solid rgba(255,255,255,.075)}.home-featured-track-list{max-height:none}}
@media(max-width:767.98px){.home-featured-music-actions{width:100%;margin-top:.25rem}.home-featured-music-actions .btn{flex:1;white-space:nowrap}.home-featured-spotlight{min-height:340px}.home-featured-spotlight-copy{padding:1.35rem}.home-featured-spotlight-copy h3{font-size:2.25rem}.home-featured-track-list .music-track-row{padding:.68rem .75rem}}
@media(max-width:480px){.home-featured-music-actions{display:grid!important;grid-template-columns:1fr 1fr}.home-featured-music-actions .app-nav{grid-column:1/-1}.home-featured-spotlight{min-height:310px}.home-featured-spotlight-copy .btn{padding:.55rem .85rem;font-size:.8rem}}

/* Stream254 v1.7.0 — Streaming Intelligence */
.streaming-intelligence-page{--stream-green:#46df7d;--stream-green-soft:rgba(70,223,125,.12);--stream-red:#ff4a5e}
.stream-intelligence-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:clamp(1.5rem,4vw,3.2rem);background:radial-gradient(circle at 82% 18%,rgba(55,224,120,.2),transparent 30%),radial-gradient(circle at 10% 100%,rgba(225,32,63,.12),transparent 36%),linear-gradient(135deg,rgba(7,23,14,.98),rgba(4,10,7,.98));border-color:rgba(72,220,124,.2)}
.stream-intelligence-hero::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(90deg,#000,transparent 78%)}
.stream-intelligence-hero>div{position:relative;z-index:1}.stream-intelligence-hero h1{font-size:clamp(2rem,4.4vw,4.4rem);line-height:.98;letter-spacing:-.055em;font-weight:900;max-width:830px;margin:.55rem 0 1rem}.stream-intelligence-hero p{max-width:760px;color:#a7b7ad;font-size:1.05rem;line-height:1.7;margin:0}
.stream-live-pulse{flex:0 0 190px;min-height:170px;border-radius:34px;border:1px solid rgba(74,229,130,.22);background:linear-gradient(145deg,rgba(35,118,66,.22),rgba(4,12,7,.85));display:grid;place-items:center;align-content:center;text-align:center;box-shadow:0 22px 70px rgba(0,0,0,.35)}.stream-live-pulse strong{font-size:3.2rem;line-height:1;font-weight:900;margin:.5rem 0 .3rem}.stream-live-pulse small{color:#9dafA3;text-transform:uppercase;letter-spacing:.09em;font-size:.7rem;font-weight:800}
.stream-live-dot{display:inline-block;width:11px;height:11px;border-radius:50%;background:#44e27d;box-shadow:0 0 0 7px rgba(68,226,125,.1),0 0 28px rgba(68,226,125,.55);animation:streamPulse 1.8s ease-in-out infinite}@keyframes streamPulse{50%{transform:scale(.82);opacity:.68}}
.stream-filter-bar{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr)) auto;gap:1rem;align-items:end;padding:1rem 1.15rem}.stream-filter-bar .form-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;font-weight:800;color:#87a091;margin-bottom:.35rem}.stream-filter-bar .btn{min-height:44px}
.stream-kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1rem}.stream-kpi-card{position:relative;min-height:146px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.stream-kpi-card::after{content:"";position:absolute;right:-30px;bottom:-38px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(63,222,118,.13),transparent 70%)}.stream-kpi-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--stream-green-soft);color:var(--stream-green);font-size:1.08rem}.stream-kpi-card span{display:block;color:#8fa398;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:750}.stream-kpi-card strong{display:block;font-size:clamp(1.25rem,2vw,1.8rem);line-height:1.05;margin-top:.3rem;letter-spacing:-.03em}.stream-compare{position:absolute;right:.8rem;top:.8rem;display:inline-flex!important;align-items:center;gap:.15rem;padding:.24rem .42rem;border-radius:999px;font-size:.62rem!important;letter-spacing:0!important;font-weight:800}.stream-compare.positive{color:#67e492;background:rgba(52,208,103,.12)}.stream-compare.negative{color:#ff7785;background:rgba(242,63,82,.12)}.stream-compare.neutral{color:#92a59a;background:rgba(255,255,255,.06)}
.stream-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem}.stream-card-heading h2{font-size:1.08rem;font-weight:850;margin:.25rem 0 .18rem}.stream-card-heading p{color:#809188;font-size:.78rem;margin:0}.stream-chart-card{padding-bottom:1.3rem}.stream-chart-legend{display:flex;gap:1rem;color:#91a49a;font-size:.72rem}.stream-chart-legend span{display:flex;align-items:center;gap:.35rem}.stream-chart-legend i{width:9px;height:9px;border-radius:3px}.stream-chart-legend .hours{background:#48df7e}.stream-chart-legend .plays{background:#f55163}
.stream-performance-chart{height:260px;display:flex;align-items:stretch;gap:clamp(3px,.65vw,10px);padding:1rem 1.35rem .4rem;overflow-x:auto;scrollbar-width:thin}.stream-chart-day{flex:1 0 16px;min-width:12px;display:grid;grid-template-rows:minmax(0,1fr) 22px;gap:.35rem}.stream-chart-columns{display:flex;align-items:end;justify-content:center;gap:2px;height:100%;border-bottom:1px solid rgba(255,255,255,.08);background:linear-gradient(to top,rgba(255,255,255,.018) 1px,transparent 1px);background-size:100% 25%}.stream-chart-columns span{width:min(8px,42%);min-height:3px;border-radius:5px 5px 1px 1px;transition:height .25s ease}.stream-chart-columns .hours{background:linear-gradient(to top,#1ca951,#58ea8b);box-shadow:0 0 14px rgba(57,216,111,.16)}.stream-chart-columns .plays{background:linear-gradient(to top,#b62136,#ff6374)}.stream-chart-day small{text-align:center;color:#65766d;font-size:.6rem}
.stream-analytics-table{--bs-table-bg:transparent}.stream-analytics-table th{padding:.85rem 1rem;color:#7f9287;font-size:.67rem;text-transform:uppercase;letter-spacing:.075em;font-weight:800;white-space:nowrap}.stream-analytics-table td{padding:.85rem 1rem;border-color:rgba(255,255,255,.055);white-space:nowrap}.stream-content-cell{display:flex;align-items:center;gap:.7rem;min-width:210px}.stream-content-cell>div{min-width:0}.stream-content-cell strong,.stream-content-cell small{display:block;max-width:280px;overflow:hidden;text-overflow:ellipsis}.stream-content-cell small{color:#809188;font-size:.72rem;margin-top:.13rem}.stream-type-icon{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:rgba(60,219,116,.11);color:#54e184}.stream-type-icon.tv{background:rgba(83,130,255,.12);color:#8baaff}.stream-type-icon.podcast{background:rgba(184,93,255,.12);color:#c48cff}.stream-empty-table{min-height:190px;display:grid;place-items:center;align-content:center;text-align:center;gap:.4rem;color:#75877d}.stream-empty-table i{font-size:2rem;color:#50df81}.stream-empty-table strong{color:#e9f4ec}
.stream-live-list,.stream-ranking-list{display:grid;padding:0 1.15rem 1.15rem}.stream-live-row,.stream-ranking-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.78rem 0;border-bottom:1px solid rgba(255,255,255,.065)}.stream-live-row:last-child,.stream-ranking-row:last-child{border-bottom:0}.stream-live-row strong,.stream-live-row small,.stream-ranking-row strong,.stream-ranking-row small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stream-live-row small,.stream-ranking-row small{color:#7d9085;font-size:.7rem;margin-top:.15rem}.stream-live-row b,.stream-ranking-row b{font-size:.82rem;color:#c9dbcf}.stream-live-empty{min-height:180px;display:grid;place-items:center;align-content:center;gap:.8rem;color:#809188;text-align:center}.stream-live-empty p{margin:0}.stream-ranking-row .rank{width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:.67rem;color:#789086;font-weight:800}.stream-device-icon{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:var(--stream-green-soft);color:var(--stream-green)}
.stream-quality-summary{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;padding:0 1.15rem 1.15rem}.stream-quality-summary>div{padding:1rem;border:1px solid rgba(255,255,255,.065);border-radius:16px;background:rgba(255,255,255,.018)}.stream-quality-summary span,.stream-quality-summary strong{display:block}.stream-quality-summary span{font-size:.68rem;color:#7f9387;text-transform:uppercase;letter-spacing:.055em}.stream-quality-summary strong{font-size:1.12rem;margin-top:.3rem}.stream-session-status{display:inline-flex;padding:.27rem .5rem;border-radius:999px;background:rgba(255,255,255,.06);font-size:.68rem;text-transform:capitalize;color:#a6b7ad}.stream-session-status.active{background:rgba(55,221,113,.12);color:#62e591}.stream-session-status.stale{background:rgba(246,180,54,.11);color:#f4c668}
@media(max-width:1399.98px){.stream-kpi-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:991.98px){.stream-intelligence-hero{align-items:flex-start}.stream-live-pulse{flex-basis:150px;min-height:140px;border-radius:26px}.stream-live-pulse strong{font-size:2.5rem}.stream-filter-bar{grid-template-columns:1fr 1fr}.stream-filter-bar>div:nth-child(3){grid-column:1/-1}.stream-filter-bar>.btn{grid-column:1/-1}.stream-performance-chart{height:230px}.stream-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767.98px){.streaming-intelligence-page{padding-inline:12px}.stream-intelligence-hero{display:grid;padding:1.3rem}.stream-intelligence-hero h1{font-size:2.45rem}.stream-intelligence-hero p{font-size:.92rem}.stream-live-pulse{width:100%;min-height:96px;display:flex;justify-content:center;gap:.7rem;border-radius:20px}.stream-live-pulse strong{font-size:1.65rem;margin:0}.stream-live-pulse small{font-size:.62rem}.stream-filter-bar{grid-template-columns:1fr;padding:.9rem}.stream-filter-bar>div:nth-child(3),.stream-filter-bar>.btn{grid-column:auto}.stream-kpi-grid{gap:.7rem}.stream-kpi-card{min-height:130px;padding:.85rem}.stream-kpi-card strong{font-size:1.3rem}.stream-card-heading{padding:1rem}.stream-card-heading{display:block}.stream-chart-legend{margin-top:.8rem}.stream-performance-chart{height:210px;padding-inline:.75rem;gap:5px}.stream-chart-day{flex:0 0 18px}.stream-quality-summary{grid-template-columns:1fr 1fr}.stream-analytics-table th,.stream-analytics-table td{padding:.75rem}}


/* Google Analytics administration */
.analytics-settings-page .analytics-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.08);border-radius:1rem;background:rgba(255,255,255,.025);height:100%}
.analytics-settings-page .analytics-option strong,.analytics-settings-page .analytics-option small{display:block}
.analytics-settings-page .analytics-option small{color:var(--bs-secondary-color);margin-top:.15rem}
.analytics-event-list{display:grid;gap:.85rem}
.analytics-event-list>div{display:flex;align-items:flex-start;gap:.9rem;padding:.9rem 0;border-bottom:1px solid rgba(255,255,255,.07)}
.analytics-event-list>div:last-child{border-bottom:0}
.analytics-event-list i{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:.85rem;background:rgba(37,211,102,.12);color:#68ef9a;font-size:1.1rem;flex:0 0 auto}
.analytics-event-list strong,.analytics-event-list small{display:block}
.analytics-event-list small{color:var(--bs-secondary-color);margin-top:.1rem}
.sticky-save-bar{position:sticky;bottom:calc(1rem + env(safe-area-inset-bottom));z-index:25;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.15rem;border:1px solid rgba(255,255,255,.1);border-radius:1.25rem;background:rgba(5,12,8,.92);box-shadow:0 20px 55px rgba(0,0,0,.35);backdrop-filter:blur(18px)}
@media(max-width:575.98px){.sticky-save-bar{align-items:stretch;flex-direction:column}.sticky-save-bar .btn{width:100%}}
