.page-best-time-to-stream { background:#090909; color:#ededed; }
.page-best-time-to-stream #mainContent > .container,.page-best-time-to-stream #mainContent > .dashboard-container { max-width:none; padding:0; }
.bst-shell { --bst-muted:#979797; --bst-border:#282828; box-sizing:border-box; max-width:1200px; margin:auto; padding:26px 24px 80px; font-size:15px; line-height:1.75; }
.bst-shell * { box-sizing:border-box; }
.bst-shell [hidden] { display:none!important; }
.bst-shell h1,.bst-shell h2,.bst-shell h3 { color:#ededed; font-family:inherit; letter-spacing:-.025em; font-weight:600; line-height:1.25; }
.bst-shell h2 { font-size:24px; margin:0 0 12px; }
.bst-shell h3 { font-size:17px; }
.bst-shell p { color:var(--bst-muted); margin:0 0 16px; }
.bst-shell a { color:#d8d8d8; text-underline-offset:4px; }
.bst-shell button,.bst-shell select { font:inherit; }
.bst-shell :focus-visible { outline:2px solid #ff8bc6; outline-offset:4px; }
.bst-back { color:var(--bst-muted)!important; text-decoration:none; font-size:13px; }
.bst-hero { display:flex; align-items:center; gap:56px; padding:22px 0 46px; }
.bst-microphone { flex:0 0 264px; width:264px; height:264px; object-fit:contain; filter:grayscale(1); }
.bst-hero h1 { font-size:clamp(36px,4.7vw,60px); line-height:1.02; margin:0 0 20px; max-width:800px; }
.bst-hero p { font-size:20px; line-height:1.65; max-width:700px; color:#bdbdbd; margin:0; }
.bst-panel { border:2px solid var(--bst-border); border-radius:24px; padding:28px; background:#0d0d0d; box-shadow:inset 0 1px 1px #ffffff0b; }
.bst-summary h2 { font-size:24px; }
.bst-summary>p { max-width:820px; }
.bst-summary>p strong { color:#c7c7c7; font-weight:500; }
.bst-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:48px; margin-top:24px; }
.bst-summary-grid h3 { font-size:12px; font-weight:400; color:var(--bst-muted); text-transform:uppercase; letter-spacing:.025em; margin:0 0 8px; }
.bst-summary-grid dl { margin:0; }
.bst-summary-grid dl>div { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid #202020; }
.bst-summary-grid dl>div:last-child { border:0; padding-bottom:0; }
.bst-summary-grid dt { color:var(--bst-muted); font-weight:400; }
.bst-summary-grid dd { text-align:right; margin:0; font-weight:500; color:#ededed; }
.bst-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:20px 0; }
.bst-stat { border:2px solid var(--bst-border); border-radius:16px; padding:17px 20px; background:#0d0d0d; box-shadow:inset 0 1px 1px #ffffff0b; }
.bst-stat strong { display:block; font-size:20px; font-weight:600; line-height:1.45; }
.bst-stat>span { display:block; font-size:12px; text-transform:uppercase; color:var(--bst-muted); letter-spacing:.025em; }
.bst-map-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:24px; }
.bst-map-heading h2 { font-size:20px; margin-bottom:6px; }
.bst-map-heading p { font-size:14px; margin:0; }
.bst-switch { display:flex; flex-shrink:0; border-radius:100px; padding:4px; background:#141414; }
.bst-switch button { border:0; background:transparent; color:var(--bst-muted); padding:5px 20px; border-radius:100px; min-width:112px; font-size:14px; cursor:pointer; line-height:1.5; }
.bst-switch button[aria-pressed=true] { background:#2b2b2b; color:#f1f1f1; box-shadow:inset 0 1px 1px #ffffff12; }
.bst-map-scroll { overflow-x:auto; padding:0 2px 5px; margin:24px -2px 0; }
.bst-map { min-width:720px; position:relative; }
.bst-map-row { display:grid; grid-template-columns:44px repeat(24,minmax(0,1fr)); gap:3px; margin-bottom:3px; }
.bst-hour { text-align:center; font-size:9px; color:var(--bst-muted); line-height:20px; white-space:nowrap; }
.bst-day { align-self:center; font-size:9px; font-weight:400; color:var(--bst-muted); line-height:1; }
.bst-cell { display:block; width:100%; min-width:0; aspect-ratio:1; padding:0; border:0; border-radius:4px; transition:background-color .7s ease; cursor:pointer; }
.bst-cell:hover,.bst-cell:focus-visible { outline:2px solid #fff; outline-offset:-2px; z-index:2; }
.bst-all-days { margin-top:12px; }
.bst-now { position:absolute; width:1px; background:#ffffffb3; top:20px; bottom:0; pointer-events:none; box-shadow:0 0 8px #ffffff66; }
.bst-now span { position:absolute; top:-3px; left:-3px; width:7px; height:7px; border-radius:50%; background:white; }
.bst-map-footer { margin-top:20px; display:flex; justify-content:space-between; align-items:center; gap:16px; font-size:12px; color:var(--bst-muted); flex-wrap:wrap; }
.bst-legend { display:flex; align-items:center; gap:9px; font-size:11px; }
.bst-legend i { width:144px; height:8px; border-radius:99px; background:linear-gradient(to right,#1a1830,#3a2a5a,#6b3a8c,#a83a9e,#e0479b,#ff5fb0); }
.bst-shell .bst-cell-detail { margin:14px 0 0; min-height:20px; font-size:12px; color:#aaa; }
.bst-timezone-control { display:flex; justify-content:flex-end; align-items:center; gap:10px; margin-top:10px; font-size:12px; color:var(--bst-muted); }
.bst-timezone-control select { border:1px solid #333; border-radius:6px; color:#ccc; background:#151515; padding:4px 8px; max-width:190px; }
.bst-reading { margin:28px 0 42px; padding:0 8px; }
.bst-reading h3 { margin-bottom:8px; }
.bst-reading p { font-size:14px; }
.bst-article { margin:38px 0; }
.bst-article p { max-width:1070px; }
.bst-table-scroll { overflow-x:auto; }
.bst-daily-table { width:100%; border-collapse:collapse; font-size:14px; min-width:460px; margin-top:22px; }
.bst-daily-table th,.bst-daily-table td { padding:11px 12px; text-align:left; border-bottom:1px solid #202020; font-weight:400; color:#ddd; }
.bst-daily-table thead th { font-size:11px; letter-spacing:.05em; color:var(--bst-muted); text-transform:uppercase; }
.bst-daily-table td span { color:var(--bst-muted); font-size:12px; margin-left:8px; white-space:nowrap; }
.bst-download { font-size:13px; }
.bst-faq { margin-top:48px; }
.bst-faq details { border-bottom:1px solid #252525; }
.bst-faq summary { position:relative; list-style:none; padding:18px 34px 18px 0; cursor:pointer; font-size:16px; color:#ccc; }
.bst-faq summary::-webkit-details-marker { display:none; }
.bst-faq summary::after { content:'+'; position:absolute; right:8px; font-size:22px; top:12px; color:#888; }
.bst-faq details[open] summary::after { content:'−'; }
.bst-faq details p { padding-bottom:12px; font-size:14px; }
.bst-cta { text-align:center; margin:60px 0 48px; padding:42px 22px; border:1px solid #2a2a2a; border-radius:24px; background:radial-gradient(ellipse at top,#29202b55,transparent 70%),#101010; }
.bst-cta a { display:inline-block; padding:9px 20px; background:#ededed; color:#111; border-radius:8px; text-decoration:none; font-weight:600; font-size:14px; }
.bst-related>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:22px; }
.bst-related a { display:flex; flex-direction:column; padding:24px; border:1px solid #292929; background:#101010; border-radius:16px; text-decoration:none; }
.bst-related strong { font-size:16px; font-weight:500; }
.bst-related span { font-size:14px; color:var(--bst-muted); margin:10px 0 24px; flex:1; }
.bst-related b { font-size:12px; font-weight:500; }
.bst-noscript { margin-top:24px!important; }
@media(max-width:767px) {
    .bst-shell { padding:22px 18px 50px; font-size:14px; }
    .bst-hero { gap:18px; padding:26px 0 32px; }
    .bst-microphone { width:128px; height:170px; flex-basis:128px; }
    .bst-hero h1 { font-size:36px; }
    .bst-hero p { font-size:15px; }
    .bst-panel { padding:20px; border-radius:20px; }
    .bst-summary-grid { gap:24px; }
    .bst-summary-grid dl>div { flex-direction:column; gap:0; }
    .bst-stats { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
    .bst-stat { padding:14px 16px; }
    .bst-stat strong { font-size:18px; }
    .bst-map-heading { flex-direction:column; gap:16px; }
    .bst-shell h2 { font-size:22px; }
    .bst-map-heading h2 { font-size:19px; }
    .bst-daily-table td span { display:block; margin:2px 0 0; }
    .bst-related>div { grid-template-columns:1fr; }
}
@media(max-width:479px) {
    .bst-hero { align-items:flex-start; gap:10px; }
    .bst-microphone { width:80px; height:140px; flex-basis:80px; }
    .bst-hero h1 { font-size:30px; margin-bottom:14px; }
    .bst-hero p { font-size:14px; line-height:1.6; }
    .bst-summary-grid { grid-template-columns:1fr; gap:24px; }
    .bst-summary-grid dl>div { flex-direction:row; gap:12px; }
    .bst-panel { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { .bst-cell { transition:none; } }
