.live-stream {margin:0 0 32px;min-width:0;border:1px solid #dfe4e9;border-radius:8px;overflow:hidden;background:#fff;}
.live-stream-heading {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 18px;border-bottom:1px solid #e6e9ed;}
.live-stream .live-stream-heading h2 {margin:0;font-size:21px;font-weight:700;line-height:1.3;color:var(--ink, #252324);}
.live-stream-heading > span {color:var(--accent-text, #c90b68);font:700 10px/1.4 Arial,sans-serif;white-space:nowrap;}
.live-stream-heading > span::before {content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;margin-right:6px;}
.live-stream-body {position:relative;background:#252324;text-align:center;}
.live-stream video {display:block;width:100%;aspect-ratio:16/9;background:#252324;object-fit:contain;}
.live-stream audio {display:block;width:100%;}
.live-stream-radio .live-stream-body {padding:16px;background:#f4f6f8;}
.live-stream-start {border:0;border-radius:6px;padding:12px 20px;margin:14px;background:#fff;color:#252324;cursor:pointer;font:600 14px/1.4 Arial,sans-serif;}
.live-stream-tv .live-stream-start {position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;white-space:nowrap;}
.live-stream-start[hidden] {display:none;}
.live-stream-start:focus-visible {outline:3px solid #f5288c;outline-offset:3px;}
.live-stream .live-stream-status {margin:0;padding:10px 16px;color:#fff;font-size:13px;line-height:1.5;}
.live-stream-radio .live-stream-status {color:#354353;}
.live-stream-status:empty {display:none;}
@media(max-width:600px) {.live-stream{margin-bottom:24px;}.live-stream-heading{padding:12px 14px;}.live-stream .live-stream-heading h2{font-size:19px;}}

/* Compact radio interface, separate from the native TV controls. */
.live-stream.radio-card {padding:20px;background:linear-gradient(140deg,#353033,#252324);border:1px solid #494045;border-radius:12px;color:#fff;box-shadow:0 5px 16px rgba(37,35,36,.12);}
.radio-card-top {display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;}
.radio-badge {font:700 10px/1.4 Arial,sans-serif;letter-spacing:1.2px;color:#e6dbe1;}
.radio-badge::before {content:'';display:inline-block;width:6px;height:6px;background:#f5288c;border-radius:50%;margin-right:8px;}
.radio-wave {display:flex;align-items:center;gap:3px;height:20px;}
.radio-wave i {display:block;width:3px;height:7px;border-radius:2px;background:#f5288c;}
.radio-wave i:nth-child(2),.radio-wave i:nth-child(4){height:13px;}
.radio-wave i:nth-child(3){height:19px;}
.radio-main {display:flex;align-items:center;gap:15px;}
.radio-card .radio-toggle {display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border:0;border-radius:50%;background:#fff;color:#252324;font-size:21px;cursor:pointer;padding:0;box-shadow:0 0 0 6px rgba(255,255,255,.05);}
.radio-card .radio-toggle:hover {background:#fce3ef;}
.radio-info {min-width:0;}
.radio-card .radio-info h2 {margin:0 0 5px;color:#fff;font-size:19px;line-height:1.3;font-weight:700;overflow-wrap:anywhere;text-transform:none;}
.radio-card .radio-status {margin:0;color:#d2c4cb;font-size:12px;line-height:1.5;}
.radio-card audio {display:none;}
.radio-volume {display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff18;padding-top:15px;margin-top:22px;}
.radio-card .radio-mute {background:transparent;border:0;color:#d2c4cb;display:grid;place-items:center;width:32px;height:32px;padding:5px;cursor:pointer;flex-shrink:0;}
.radio-mute svg {width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.radio-mute[aria-pressed="true"] {opacity:.5;}
.radio-volume input {min-width:0;width:100%;height:24px;accent-color:#f5288c;cursor:pointer;margin:0;}
.radio-volume-value {font:11px/1.4 Arial,sans-serif;color:#d2c4cb;min-width:30px;text-align:right;}
.radio-card button:focus-visible,.radio-card input:focus-visible {outline:2px solid #f5288c;outline-offset:3px;}
.is-playing .radio-wave i {animation:radio-level .8s ease-in-out infinite alternate;}
.is-playing .radio-wave i:nth-child(2n){animation-delay:-.4s;}
.is-playing .radio-wave i:nth-child(3){animation-delay:-.2s;}
@keyframes radio-level {to{transform:scaleY(.35);}}
@media(prefers-reduced-motion:reduce){.is-playing .radio-wave i{animation:none;}}
