/* TOC RETRO RADIO · v1 · scoped to .toc-radio-page / .toc-radio-popup */
.toc-radio-page { background:#0a0e17; color:#f6f0e2; }
.toc-radio-page .rr-eyebrow, .toc-radio-popup .rr-eyebrow { font:700 11px/1.6 'Space Mono',monospace; letter-spacing:.15em; color:#a9d6b3; }
.toc-radio-page .rr-hero { position:relative; isolation:isolate; padding:62px 0 58px; overflow:hidden; border-bottom:1px solid rgba(176,219,201,.12); background:radial-gradient(ellipse at 85% 20%,rgba(77,142,125,.16),transparent 42%),linear-gradient(135deg,#101828 0%,#0a0e17 74%); }
.toc-radio-page .rr-hero::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.035; background:url('/toc-theme/images/toc-legacy-system-collage.gif') repeat; }
.toc-radio-page .rr-hero-inner { display:flex; align-items:center; justify-content:space-between; gap:34px; }
.toc-radio-page .rr-hero-intro { max-width:820px; }
.toc-radio-page .rr-hero h1 { margin:17px 0 15px; font:700 clamp(48px,7.5vw,88px)/.95 'Space Grotesk',sans-serif; letter-spacing:-.075em; }
.toc-radio-page .rr-hero h1 em { font-style:normal; color:#b4f589; }
.toc-radio-page .rr-lead { margin:16px 0 11px; font-size:clamp(18px,2.4vw,25px); font-weight:700; letter-spacing:-.03em; }
.toc-radio-page .rr-hero-intro>p:not(.rr-lead) { max-width:660px; color:#a9b6c4; line-height:1.8; font-size:15px; }
.toc-radio-page .rr-hero-links { display:flex; align-items:center; flex-wrap:wrap; gap:25px; margin:30px 0 0; }
.toc-radio-page .rr-primary-link { display:inline-flex; gap:25px; align-items:center; justify-content:center; padding:17px 23px; border:1px solid #b4f589; border-radius:7px; background:#b4f589; color:#0b1520; font:700 12px/1.5 'Space Mono',monospace; letter-spacing:.04em; transition:transform .2s ease,box-shadow .2s ease; }
.toc-radio-page .rr-primary-link:hover { transform:translateY(-2px); box-shadow:0 10px 30px rgba(180,245,137,.12); }
.toc-radio-page .rr-secondary-link { font:700 12px 'Space Mono',monospace; color:#f6f0e2; border-bottom:1px solid #77948b; padding-bottom:4px; }
.toc-radio-page .rr-hero-intro .rr-hero-hint { font:11px/1.6 'Space Mono',monospace; color:#8195a1; margin-top:26px; }
.toc-radio-page .rr-hero-tag { flex:0 0 178px; min-height:178px; border-radius:50%; border:1px dashed rgba(180,245,137,.42); background:rgba(9,20,27,.45); display:flex; flex-direction:column; align-items:center; justify-content:center; transform:rotate(9deg); font-family:'Space Mono',monospace; }
.toc-radio-page .rr-hero-tag span { font-size:11px; color:#9cafb4; }
.toc-radio-page .rr-hero-tag strong { font-size:45px; line-height:1.3; color:#b4f589; }
.toc-radio-page .rr-hero-tag small { font-size:8px; color:#b0c1bd; letter-spacing:.08em; }
.toc-radio-page .rr-player-section { padding:57px 0 76px; background:linear-gradient(180deg,#101723,#0a0e17); }
.toc-radio-page .rr-section-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin:0 0 20px; font:700 11px 'Space Mono',monospace; letter-spacing:.1em; color:#94b0a9; }
.rr-ready-dot { display:inline-block; width:7px; height:7px; margin-left:8px; border-radius:50%; background:#b4f589; box-shadow:0 0 10px #b4f589; }

/* Receiver: a miniature, tactile, late-1980s hi-fi component. */
.rr-receiver { position:relative; overflow:hidden; border-radius:18px; border:1px solid #53616d; padding:22px; background:linear-gradient(160deg,#3b4650 0%,#27313a 26%,#202b34 66%,#19232a 100%); box-shadow:0 3px 0 #0f161b,0 17px 0 -10px #12191e,0 28px 56px rgba(0,0,0,.48),inset 0 2px 1px rgba(255,255,255,.12); font-family:'DM Sans',sans-serif; color:#eef2e9; }
.rr-receiver::before { content:""; position:absolute; inset:0; pointer-events:none; opacity:.3; background:repeating-linear-gradient(0deg,transparent 0,transparent 2px,rgba(255,255,255,.017) 3px,transparent 4px); }
.rr-receiver-top { position:relative; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:0 3px 18px; }
.rr-brand { font:800 16px 'Space Grotesk',sans-serif; letter-spacing:.08em; text-shadow:0 1px 2px #111; }
.rr-brand-led { display:inline-block; height:8px; width:8px; border-radius:50%; margin-right:10px; background:#b4f589; box-shadow:0 0 0 3px rgba(180,245,137,.1),0 0 12px rgba(180,245,137,.8); }
.rr-brand-light { color:#90e1bd; padding:0 4px; }
.rr-model { color:#aab7bf; font:10px 'Space Mono',monospace; letter-spacing:.13em; }
.rr-receiver-grid { position:relative; display:grid; grid-template-columns:minmax(0,1.8fr) minmax(220px,.7fr); gap:20px; align-items:stretch; }
.rr-screen { position:relative; overflow:hidden; min-height:300px; border:8px solid #111b20; border-radius:12px; padding:19px 22px 15px; background:radial-gradient(ellipse at 50% 60%,rgba(111,203,150,.12),transparent 68%),linear-gradient(150deg,#102b26,#081d1b); box-shadow:inset 0 0 0 2px rgba(146,244,178,.14),inset 0 0 48px rgba(0,0,0,.7),0 3px 13px rgba(0,0,0,.42); color:#b5f9ab; font-family:'Space Mono',monospace; }
.rr-screen::before { content:""; position:absolute; inset:0; pointer-events:none; background:repeating-linear-gradient(to bottom,transparent 0,transparent 4px,rgba(6,14,12,.14) 5px,transparent 6px); opacity:.7; }
.rr-screen-top,.rr-screen-bottom { position:relative; display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:10px; letter-spacing:.12em; color:#7fba90; }
.rr-screen-top b { color:#e1ffcb; font-size:13px; }
.rr-screen-live { display:inline-flex; align-items:center; gap:7px; }
.rr-screen-live i { width:7px; height:7px; background:#3d7662; border-radius:50%; }
.rr-receiver.is-playing .rr-screen-live i { background:#b5ff83; box-shadow:0 0 10px #b5ff83; }
.rr-receiver.is-loading .rr-screen-live i { background:#ffd48a; box-shadow:0 0 10px #ffd48a; }
.rr-screen-name { position:relative; margin:14px 0 3px; font:700 clamp(25px,3.6vw,46px)/1.14 'Space Grotesk',sans-serif; letter-spacing:-.055em; text-shadow:0 0 14px rgba(167,255,177,.3); overflow-wrap:anywhere; }
.rr-screen-kind { position:relative; font:10px/1.6 'Space Mono',monospace; letter-spacing:.13em; color:#8dbf9c; }
.rr-nowplaying { position:relative; margin:18px 0 18px; min-height:88px; padding:12px 15px; border-top:1px solid rgba(143,220,158,.18); border-bottom:1px solid rgba(143,220,158,.18); background:rgba(2,12,9,.23); display:flex; flex-direction:column; gap:5px; }
.rr-screen-label { color:#75a885; font:9px 'Space Mono',monospace; letter-spacing:.15em; }
.rr-nowplaying strong { color:#e0ffba; font:700 16px/1.4 'Space Grotesk',sans-serif; overflow-wrap:anywhere; }
.rr-nowplaying>span:last-child { color:#8cba9c; font:10px/1.5 'Space Mono',monospace; overflow-wrap:anywhere; }
.rr-spectrum { position:relative; display:flex; align-items:end; height:34px; gap:5px; overflow:hidden; }
.rr-spectrum span { display:block; width:8px; height:13%; background:linear-gradient(to top,#579c82,#c9fa8b); box-shadow:0 0 9px rgba(182,255,150,.16); border-radius:2px 2px 0 0; transform-origin:bottom; }
.rr-receiver.is-playing .rr-spectrum span { animation:rr-bounce 1.03s ease-in-out infinite alternate; }
.rr-receiver.is-playing .rr-spectrum span:nth-child(3n) { animation-duration:.73s; animation-delay:-.5s; }
.rr-receiver.is-playing .rr-spectrum span:nth-child(4n) { animation-duration:1.41s; animation-delay:-.9s; }
.rr-receiver.is-playing .rr-spectrum span:nth-child(5n) { animation-duration:.89s; animation-delay:-.2s; }
.rr-receiver.is-playing .rr-spectrum span:nth-child(7n) { animation-duration:1.2s; animation-delay:-.8s; }
.rr-screen-bottom { margin-top:10px; font-size:9px; }
.rr-controls { position:relative; display:flex; flex-direction:column; justify-content:center; gap:14px; padding:19px; border:1px solid #414d58; border-radius:10px; background:linear-gradient(140deg,rgba(14,22,28,.5),rgba(10,18,24,.15)); box-shadow:inset 0 1px 1px rgba(255,255,255,.03); }
.rr-controls-label { color:#9eb3b7; font:10px 'Space Mono',monospace; letter-spacing:.11em; }
.rr-big-controls { display:flex; align-items:center; gap:12px; }
.rr-play-button { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; height:100px; width:100px; flex:0 0 100px; border-radius:50%; border:5px solid #1c262a; outline:1px solid #6c8383; background:radial-gradient(circle at 35% 25%,#e4f5ce,#9bdb93 65%,#73ac7c); color:#13241b; box-shadow:0 7px 1px #131e22,0 12px 17px rgba(0,0,0,.35),inset 0 3px 4px rgba(255,255,255,.6); cursor:pointer; }
.rr-play-button>span:first-child { font-size:28px; line-height:1; }
.rr-play-button>span:last-child { font:800 11px 'Space Mono',monospace; letter-spacing:.07em; }
.rr-play-button:hover { filter:brightness(1.05); }
.rr-play-button:active { transform:translateY(2px); box-shadow:0 4px 1px #131e22; }
.rr-stop-button { display:flex; flex-direction:column; align-items:center; gap:6px; justify-content:center; height:68px; width:68px; border:1px solid #6f7980; border-radius:9px; background:linear-gradient(#454f57,#27333a); color:#d1e0de; font-size:20px; box-shadow:0 5px 1px #151d22; cursor:pointer; }
.rr-stop-button span { font:800 10px 'Space Mono',monospace; }
.rr-volume-label { display:flex; justify-content:space-between; color:#b5c5cc; font:700 10px 'Space Mono',monospace; }
.rr-volume { accent-color:#b4f589; width:100%; cursor:pointer; }
.rr-popout-button { display:flex; justify-content:center; align-items:center; gap:8px; min-height:48px; padding:10px 12px; background:#e8d5a8; color:#1c2830; font:800 11px/1.6 'Space Mono',monospace; text-align:center; border-radius:6px; letter-spacing:.01em; }
.rr-popout-button:hover { background:#fcf2d6; }
.rr-popout-help { margin:0; font:10px/1.6 'DM Sans',sans-serif; color:#a7b6b7; }
.rr-presets { position:relative; display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:9px; margin-top:18px; }
.rr-preset { min-height:72px; border:1px solid #687680; border-radius:6px; padding:10px 7px; background:linear-gradient(#3e4953,#222c34); color:#e4e6e2; box-shadow:0 4px 0 #172128,0 6px 10px rgba(0,0,0,.22); text-align:center; cursor:pointer; }
.rr-preset small { display:block; margin-bottom:5px; font:9px 'Space Mono',monospace; color:#a8bcc1; }
.rr-preset strong { font:800 clamp(10px,1.1vw,12px) 'Space Grotesk',sans-serif; letter-spacing:.03em; overflow-wrap:anywhere; }
.rr-preset:hover { filter:brightness(1.15); }
.rr-preset.is-active { border-color:#acd598; color:#eaffdc; background:linear-gradient(#3c5d49,#253c36); box-shadow:0 1px 0 #172128,inset 0 0 0 1px rgba(170,255,187,.22); transform:translateY(3px); }
.rr-preset.is-active small { color:#b3d7bb; }
.rr-receiver-footer { position:relative; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; margin-top:23px; padding-top:12px; border-top:1px solid #55616a; font:10px/1.6 'Space Mono',monospace; color:#afc2c1; }
.rr-receiver-footer>a { color:#caeaa0; font-weight:700; }
.rr-receiver-footer>a:hover { text-decoration:underline; }
.rr-stream-note { color:#8597a0; font:11px/1.7 'Space Mono',monospace; margin:23px auto 0; max-width:940px; text-align:center; }
.rr-receiver :is(button,a,input):focus-visible, .toc-radio-page a:focus-visible, .toc-radio-popup a:focus-visible { outline:3px solid #ffc86c; outline-offset:3px; }
@keyframes rr-bounce { 0% { height:13%; } 32% { height:43%; } 66% { height:72%; } 100% { height:95%; } }

.toc-radio-page .rr-stations-section { padding:78px 0 88px; background:radial-gradient(ellipse at 20% 20%,rgba(43,98,112,.13),transparent 35%),#0a0e17; }
.toc-radio-page .rr-section-intro { max-width:800px; margin-bottom:36px; }
.toc-radio-page main h2 { font:700 clamp(30px,4.6vw,51px)/1.06 'Space Grotesk',sans-serif; letter-spacing:-.055em; margin:12px 0 17px; }
.toc-radio-page main h2 em { font-style:normal; color:#b4f589; }
.toc-radio-page .rr-section-intro p { max-width:700px; font-size:15px; line-height:1.8; color:#aebcc9; }
.toc-radio-page .rr-stations-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.toc-radio-page .rr-station-card { display:flex; flex-direction:column; min-height:255px; padding:24px; border:1px solid #304050; border-radius:10px; background:linear-gradient(150deg,#172335,#111a28); transition:border-color .2s ease,transform .2s ease; }
.toc-radio-page .rr-station-card:hover { border-color:#679478; transform:translateY(-3px); }
.toc-radio-page .rr-station-meta { display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; color:#92acb7; font:9px 'Space Mono',monospace; letter-spacing:.07em; }
.toc-radio-page .rr-onair { color:#b4f589; }
.toc-radio-page .rr-station-card h3 { font:700 23px 'Space Grotesk',sans-serif; letter-spacing:-.035em; margin:19px 0 10px; color:#f5efe2; }
.toc-radio-page .rr-station-card p { color:#a6b7c1; font-size:13px; line-height:1.75; margin:0 0 22px; }
.toc-radio-page .rr-station-footer { display:flex; align-items:end; justify-content:space-between; gap:14px; margin-top:auto; padding-top:17px; border-top:1px solid #304050; }
.toc-radio-page .rr-station-footer span { color:#7e96a3; font:9px/1.5 'Space Mono',monospace; }
.toc-radio-page .rr-station-footer a { color:#b4f589; text-align:right; font:700 10px/1.6 'Space Mono',monospace; white-space:nowrap; }
.toc-radio-page .rr-station-footer a:hover { text-decoration:underline; }
.toc-radio-page .rr-directory-note { margin-top:23px; padding:22px 25px; border-left:3px solid #698778; background:#121d2a; }
.toc-radio-page .rr-directory-note span { color:#b4f589; font:700 10px 'Space Mono',monospace; }
.toc-radio-page .rr-directory-note p { margin:11px 0 0; color:#a7b8c2; line-height:1.7; font-size:13px; }
.toc-radio-page .rr-directory-note a { color:#d4f9b8; text-decoration:underline; }
.toc-radio-page .rr-archive-section { padding:86px 0; background:#121b27; border-top:1px solid #293845; border-bottom:1px solid #293845; }
.toc-radio-page .rr-archive-inner { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.2fr); gap:85px; align-items:center; }
.toc-radio-page .rr-archive-art { text-align:center; transform:rotate(-5deg); }
.toc-radio-page .rr-archive-art-inner { max-width:360px; margin:auto; padding:20px; background:linear-gradient(145deg,#eee0bf,#b6a889); box-shadow:8px 14px 40px rgba(0,0,0,.35); border:10px solid #ddd0b2; }
.toc-radio-page .rr-archive-art img { display:block; object-fit:contain; max-width:100%; width:auto; height:auto; max-height:340px; margin:auto; }
.toc-radio-page .rr-archive-art>span { display:block; margin-top:20px; color:#adc6c1; font:9px 'Space Mono',monospace; letter-spacing:.08em; }
.toc-radio-page .rr-archive-copy { max-width:580px; }
.toc-radio-page .rr-archive-copy p { color:#aebcc9; font-size:15px; line-height:1.85; }
.toc-radio-page .rr-archive-signoff { display:inline-block; margin-top:15px; color:#b4f589; font:700 11px 'Space Mono',monospace; }
.toc-radio-page .rr-bottom { padding:82px 0 92px; background:linear-gradient(135deg,#151d2c,#091a1a); }
.toc-radio-page .rr-bottom-inner { display:flex; align-items:center; justify-content:space-between; gap:30px; }
.toc-radio-page .rr-bottom p { max-width:640px; line-height:1.8; color:#aabac3; }
.toc-radio-page .rr-bottom .rr-primary-link { white-space:nowrap; }

/* Standalone pop-out retains the receiver but never imports the global header. */
body.toc-radio-popup { margin:0; box-sizing:border-box; padding:15px; min-width:280px; background:radial-gradient(circle at top,#1a2c2e,#0b111a 72%); color:#f6f0e2; font-family:'DM Sans',sans-serif; }
.toc-radio-popup * { box-sizing:border-box; }
.toc-radio-popup a { color:inherit; text-decoration:none; }
.toc-radio-popup button { font:inherit; }
.rr-popup-wrap { max-width:620px; margin:auto; }
.rr-popup-heading { display:flex; justify-content:space-between; gap:12px; padding:3px 4px 16px; color:#9ec5b5; font:700 10px 'Space Mono',monospace; }
.rr-popup-heading a:hover,.rr-popup-return a:hover { color:#b4f589; }
.rr-popup-receiver { padding:14px; border-radius:13px; }
.rr-popup-receiver .rr-receiver-top { padding-bottom:12px; }
.rr-popup-receiver .rr-brand { font-size:12px; }
.rr-popup-receiver .rr-model { font-size:8px; }
.rr-popup-receiver .rr-receiver-grid { display:block; }
.rr-popup-receiver .rr-screen { min-height:auto; padding:15px; border-width:6px; }
.rr-popup-receiver .rr-screen-name { font-size:clamp(23px,7vw,34px); }
.rr-popup-receiver .rr-nowplaying { margin:10px 0; min-height:83px; }
.rr-popup-receiver .rr-spectrum { height:25px; }
.rr-popup-receiver .rr-controls { margin-top:10px; padding:12px 15px; gap:12px; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; }
.rr-popup-receiver .rr-big-controls { flex:1 0 auto; }
.rr-popup-receiver .rr-play-button { width:64px; height:64px; flex-basis:64px; border-width:3px; }
.rr-popup-receiver .rr-play-button>span:first-child { font-size:18px; }
.rr-popup-receiver .rr-play-button>span:last-child { font-size:8px; }
.rr-popup-receiver .rr-stop-button { width:48px; height:48px; font-size:15px; }
.rr-popup-receiver .rr-stop-button span { font-size:8px; }
.rr-popup-receiver .rr-volume-label { flex:1 1 100%; }
.rr-popup-receiver .rr-volume { flex:1 1 100%; margin-top:-8px; }
.rr-popup-receiver .rr-presets { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; margin-top:13px; }
.rr-popup-receiver .rr-preset { min-height:58px; }
.rr-popup-receiver .rr-preset strong { font-size:11px; }
.rr-popup-receiver .rr-receiver-footer { font-size:9px; margin-top:14px; }
.rr-popup-help { color:#95aeb4; line-height:1.6; font-size:12px; margin:22px 7px 13px; }
.rr-popup-return { text-align:center; font:700 10px 'Space Mono',monospace; color:#b4f589; padding-bottom:12px; }

@media (max-width:1030px) {
  .toc-radio-page .rr-stations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rr-receiver-grid { grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr); }
  .rr-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .rr-preset strong { font-size:12px; }
  .rr-hero-tag { display:none !important; }
}
@media (max-width:720px) {
  .toc-radio-page .rr-hero { padding:55px 0 46px; }
  .toc-radio-page .rr-hero h1 { font-size:clamp(56px,13vw,84px); }
  .rr-receiver-grid { display:block; }
  .rr-controls { margin-top:14px; }
  .rr-big-controls { justify-content:center; }
  .toc-radio-page .rr-archive-inner { grid-template-columns:1fr; gap:52px; }
  .toc-radio-page .rr-archive-art { max-width:310px; margin:auto; }
  .toc-radio-page .rr-bottom-inner { display:block; }
  .toc-radio-page .rr-bottom .rr-primary-link { margin-top:17px; }
}
@media (max-width:540px) {
  .toc-radio-page main .container { padding-left:18px; padding-right:18px; }
  .toc-radio-page .rr-stations-grid { grid-template-columns:1fr; }
  .rr-receiver { padding:12px; }
  .rr-brand { font-size:12px; }
  .rr-model { font-size:8px; }
  .rr-screen { min-height:275px; padding:12px; border-width:6px; }
  .rr-screen-name { font-size:clamp(25px,7vw,37px); }
  .rr-screen-top,.rr-screen-bottom { font-size:8px; }
  .rr-screen-kind { font-size:9px; }
  .rr-nowplaying { padding:10px 7px; }
  .rr-nowplaying strong { font-size:14px; }
  .rr-presets { gap:7px; }
  .rr-preset { min-height:62px; }
  .rr-preset strong { font-size:11px; }
  .toc-radio-page .rr-section-heading { align-items:flex-start; flex-direction:column; }
  .toc-radio-page .rr-station-card { min-height:235px; }
  .toc-radio-page .rr-bottom h2,.toc-radio-page .rr-section-intro h2 { font-size:39px; }
  .toc-radio-popup .rr-receiver-footer { flex-direction:column; align-items:start; }
}
@media (prefers-reduced-motion:reduce) {
  .rr-receiver.is-playing .rr-spectrum span { animation:none; height:34%; }
  .toc-radio-page .rr-station-card,.toc-radio-page .rr-primary-link { transition:none; }
}

/* SECOND TUNING PASS — softer hi-fi hardware, smaller controls & pop-out.
   These radio-only styles never target the site's shared header or menu. */
.rr-receiver { border-color:#50595c; background:linear-gradient(150deg,#383e40,#282f32 36%,#222b2d 72%,#1b2325); }
.rr-brand-led { background:#a9bca5; box-shadow:0 0 0 2px rgba(173,196,174,.13),0 0 7px rgba(180,198,177,.45); }
.rr-brand-light { color:#a2bcb6; }
.rr-screen { border-color:#1a2527; color:#c2d0bb; background:radial-gradient(ellipse at 50% 60%,rgba(160,175,146,.08),transparent 70%),linear-gradient(150deg,#20302d,#142522); box-shadow:inset 0 0 0 2px rgba(167,191,177,.1),inset 0 0 36px rgba(0,0,0,.55),0 3px 9px rgba(0,0,0,.32); }
.rr-screen-top,.rr-screen-bottom,.rr-screen-kind { color:#95a99e; }
.rr-screen-top b { color:#d2d6bb; }
.rr-screen-live i { background:#53645f; }
.rr-receiver.is-playing .rr-screen-live i { background:#b4bfa2; box-shadow:0 0 6px #92a38b; }
.rr-screen-name { color:#e0dfc9; font-size:clamp(23px,3vw,36px); text-shadow:0 0 5px rgba(180,194,172,.16); }
.rr-nowplaying { background:rgba(9,23,20,.17); border-color:rgba(174,189,164,.15); }
.rr-nowplaying strong { color:#e2e0c4; }
.rr-nowplaying>span:last-child,.rr-screen-label { color:#9aac9c; }
.rr-spectrum span { background:linear-gradient(to top,#7c9988,#bcbba1); box-shadow:none; }
.rr-controls { background:linear-gradient(140deg,rgba(20,27,29,.42),rgba(14,23,25,.16)); }
.rr-play-button { background:radial-gradient(circle at 35% 25%,#dfdec9,#b6bcad 65%,#8f9e91); border-color:#253033; color:#27342f; }
.rr-preset.is-active { color:#e0e7d8; border-color:#8ea69b; background:linear-gradient(#546960,#384a47); box-shadow:0 1px 0 #172128,inset 0 0 0 1px rgba(190,211,193,.13); }
.rr-preset.is-active small { color:#bdcfc5; }
.rr-popout-button { background:#cec4ad; color:#28312d; }
.rr-popout-button:hover { background:#e2d8bf; }
.rr-receiver-footer>a { color:#cdd4b5; }
.rr-stream-specs { display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 18px; margin:10px 0 3px; color:#95a99e; font:9px/1.6 'Space Mono',monospace; letter-spacing:.05em; }
.rr-stream-specs b { margin-left:5px; color:#e0dfc9; font-weight:700; }
.rr-preset-intro { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; margin:17px 0 8px; font:9px 'Space Mono',monospace; letter-spacing:.07em; color:#bac5bf; }
.rr-presets { grid-template-columns:repeat(5,minmax(0,1fr)); gap:7px; margin-top:0; }
.rr-preset { min-height:53px; padding:6px 5px; border-color:#596269; }
.rr-preset small { font-size:8px; margin-bottom:3px; }
.rr-preset strong { font-size:11px; }

/* Small separate window: one channel picker replaces fifteen large buttons. */
body.toc-radio-popup { padding:8px; min-width:280px; background:#192124; }
.rr-popup-heading { padding:1px 4px 7px; font-size:9px; color:#b0bdb6; }
.rr-popup-receiver { padding:9px; border-radius:9px; }
.rr-popup-receiver .rr-receiver-top { padding:0 2px 7px; }
.rr-popup-receiver .rr-brand { font-size:11px; }
.rr-popup-receiver .rr-model { font-size:7px; }
.rr-popup-receiver .rr-screen { min-height:0; padding:9px 10px; border-width:4px; }
.rr-popup-receiver .rr-screen-name { font-size:21px; margin:6px 0 1px; }
.rr-popup-receiver .rr-screen-top { font-size:8px; }
.rr-popup-receiver .rr-screen-kind { font-size:8px; }
.rr-popup-receiver .rr-nowplaying { min-height:56px; padding:5px 8px; margin:7px 0; gap:2px; }
.rr-popup-receiver .rr-nowplaying strong { font-size:12px; line-height:1.2; }
.rr-popup-receiver .rr-nowplaying>span:last-child { font-size:8px; }
.rr-popup-receiver .rr-screen-label { font-size:8px; }
.rr-popup-receiver .rr-spectrum { height:13px; }
.rr-popup-receiver .rr-stream-specs { margin:6px 0 0; font-size:8px; }
.rr-popup-receiver .rr-controls { margin-top:7px; padding:7px 9px; gap:6px; flex-wrap:nowrap; }
.rr-popup-receiver .rr-big-controls { flex:0 0 auto; gap:7px; }
.rr-popup-receiver .rr-play-button { width:41px; height:41px; flex-basis:41px; border-width:2px; box-shadow:0 3px 1px #131e22; }
.rr-popup-receiver .rr-play-button>span:first-child { font-size:14px; }
.rr-popup-receiver .rr-play-button>span:last-child { font-size:7px; }
.rr-popup-receiver .rr-stop-button { width:32px; height:32px; font-size:12px; box-shadow:0 3px 1px #151d22; }
.rr-popup-receiver .rr-stop-button span { display:none; }
.rr-popup-receiver .rr-volume-label { display:block; flex:0 0 41px; font-size:8px; }
.rr-popup-receiver .rr-volume-label>span { display:block; }
.rr-popup-receiver .rr-volume { flex:1 1 70px; min-width:55px; margin:0; }
.rr-popup-channel-label { display:flex; justify-content:space-between; margin:10px 2px 5px; color:#b5c4b9; font:700 9px 'Space Mono',monospace; }
.rr-popup-channel-label span { color:#8e9e98; font-weight:400; }
.rr-channel-select { width:100%; min-height:32px; color:#e6e8dc; background:#273237; border:1px solid #7e8a86; border-radius:5px; padding:5px 7px; font:12px 'DM Sans',sans-serif; cursor:pointer; }
.rr-channel-select:focus-visible { outline:3px solid #d0b887; outline-offset:2px; }
.rr-popup-receiver .rr-receiver-footer { display:block; margin-top:8px; padding-top:6px; font-size:8px; }
.rr-popup-receiver .rr-receiver-footer>a { display:block; margin-top:3px; }
.rr-popup-help { font-size:10px; margin:8px 4px 0; color:#9daca5; }

@media (max-width:1000px) { .toc-radio-page .rr-presets { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:620px) {
  .toc-radio-page .rr-presets { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .toc-radio-page .rr-hero h1 { font-size:clamp(45px,11vw,64px); }
  .toc-radio-page main h2 { font-size:clamp(29px,7vw,39px); }
}

/* V3 — Sound Chip Theatre and TOC's original green / cyan / amber colours. */
.toc-radio-page .rr-hero { padding:35px 0 30px; background:radial-gradient(ellipse at 70% 50%,rgba(26,91,74,.18),transparent 54%),linear-gradient(125deg,#101827,#0a101a 80%); }
.toc-radio-page .rr-hero::after { content:''; position:absolute; z-index:-1; inset:0 0 0 25%; pointer-events:none; background:url('/toc-theme/images/toc-legacy-system-collage.gif') center / 470px repeat; opacity:.24; filter:brightness(5) sepia(1) saturate(1.5) hue-rotate(127deg); mask-image:linear-gradient(to right,transparent,#000 55%); }
.toc-radio-page .rr-hero-inner { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); align-items:center; gap:15px; }
.toc-radio-page .rr-hero-intro { position:relative; z-index:1; }
.toc-radio-page .rr-hero h1 { font-size:clamp(50px,5.8vw,75px); }
.toc-radio-page .rr-hero-intro>p:not(.rr-lead) { max-width:600px; }
.toc-radio-page .rr-monitor-stage { width:100%; height:440px; min-width:0; }
.toc-radio-page .rr-monitor-stage::before { width:350px; height:350px; }
.toc-radio-page .rr-monitor-stage::after { bottom:24px; }
.toc-radio-page .rr-monitor-stage .corner-label { right:16px; top:3px; }
.toc-radio-page .rr-monitor { width:355px; margin-top:2px; transform:rotate(-2deg); }
.toc-radio-page .rr-monitor .crt-shell { padding:17px 17px 13px; }
.toc-radio-page .rr-monitor .crt-screen { height:260px; padding:14px 15px; border-width:10px; border-radius:27px / 22px; }
.toc-radio-page .rr-monitor .screen-top { font-size:9px; padding-bottom:5px; margin-bottom:11px; }
.toc-radio-page .rr-monitor .crt-foot { padding-top:11px; font-size:8px; }
.toc-radio-page .rr-monitor .crt-neck { width:185px; height:22px; }
.toc-radio-page .rr-monitor .crt-base { width:248px; height:15px; }
.toc-radio-page .rr-demo-kicker { color:#64dbe0; font:700 8px/1.5 'Space Mono',monospace; letter-spacing:.13em; }
.toc-radio-page .rr-demo-machine { margin:6px 0 0; font:800 clamp(22px,2.8vw,29px)/1.04 'Space Grotesk',sans-serif; letter-spacing:-.05em; white-space:nowrap; }
.toc-radio-page .rr-demo-chip { margin:6px 0 0; color:#ffc77b; font:700 9px/1.2 'Space Mono',monospace; letter-spacing:.015em; }
.toc-radio-page .rr-demo-scene { height:47px; display:flex; align-items:end; justify-content:center; gap:5px; border-bottom:1px solid currentColor; margin:12px 0 8px; color:#8bf59c; position:relative; }
.toc-radio-page .rr-demo-scene span { flex:1; max-width:17px; background:currentColor; height:25%; opacity:.85; box-shadow:0 0 8px currentColor; animation:rr-demo-bars 1.25s ease-in-out infinite alternate; }
.toc-radio-page .rr-demo-scene span:nth-child(2n) { height:75%; animation-duration:.8s; animation-delay:-.5s; }
.toc-radio-page .rr-demo-scene span:nth-child(3n) { height:45%; animation-duration:1.6s; animation-delay:-.8s; }
.toc-radio-page .rr-demo-scene span:nth-child(5n) { height:85%; animation-duration:.95s; animation-delay:-.2s; }
.toc-radio-page [data-rr-demo-scene="amiga"] { color:#62d7e6; }
.toc-radio-page [data-rr-demo-scene="nintendo"] { color:#ff7d84; }
.toc-radio-page [data-rr-demo-scene="sega"] { color:#ffb85d; }
.toc-radio-page [data-rr-demo-scene="dos"] { color:#d7a6ff; }
.toc-radio-page [data-rr-demo-scene="atari"] { color:#b4f589; }
.toc-radio-page .rr-demo-caption { margin:0; font:9px/1.5 'Space Mono',monospace; color:#b6d7b9; text-shadow:none; min-height:28px; }
.toc-radio-page .rr-demo-footer { display:flex; justify-content:space-between; gap:6px; color:#88b9aa; margin-top:8px; font:8px 'Space Mono',monospace; }
.toc-radio-page .rr-demo-next { position:absolute; bottom:4px; right:12px; padding:6px 10px; cursor:pointer; border:1px solid rgba(98,215,230,.37); border-radius:5px; color:#c0e5db; background:rgba(9,21,31,.85); font:9px 'Space Mono',monospace; letter-spacing:.04em; }
.toc-radio-page .rr-demo-next:hover { border-color:#b4f589; color:#b4f589; }
.toc-radio-page .rr-demo-next:focus-visible { outline:2px solid #ffc77b; outline-offset:3px; }
@keyframes rr-demo-bars { from { transform:scaleY(.35); transform-origin:bottom; } to { transform:scaleY(1); transform-origin:bottom; } }

/* Receiver keeps its charcoal hardware, but gets the house palette back. */
.rr-brand-light { color:#62d7e6; }
.rr-brand-led { background:#b4f589; box-shadow:0 0 0 2px rgba(180,245,137,.12),0 0 8px rgba(180,245,137,.5); }
.rr-screen { background:radial-gradient(ellipse at center,rgba(64,136,102,.13),transparent 68%),linear-gradient(145deg,#162a27,#11201e); }
.rr-screen-name { color:#d8f5c2; }
.rr-screen-top b,.rr-nowplaying strong,.rr-stream-specs b { color:#e4f0cd; }
.rr-receiver.is-playing .rr-screen-live i { background:#b4f589; box-shadow:0 0 8px rgba(180,245,137,.6); }
.rr-play-button { background:radial-gradient(circle at 35% 25%,#e3f7cd,#b4dfad 68%,#82b18b); }
.rr-popout-button { background:#dccb9e; }
.rr-popout-button:hover { background:#f0dda9; }
.rr-receiver-footer>a { color:#b4f589; }
.rr-preset.is-active { background:linear-gradient(#435e4d,#2c4038); border-color:#a8d999; }
.rr-preset.is-active small { color:#c7eac1; }
.rr-screen > .rr-spectrum { display:none !important; }
.rr-track-progress { position:relative; margin:7px 0 10px; }
.rr-track-times { display:flex; justify-content:space-between; gap:12px; font:9px/1.5 'Space Mono',monospace; color:#9fb7a8; letter-spacing:.035em; }
.rr-track-times span:last-child { text-align:right; }
.rr-progress-rail { height:6px; background:#263d35; border:1px solid rgba(180,245,137,.13); border-radius:6px; overflow:hidden; margin-top:5px; }
.rr-progress-rail > span { display:block; width:0; height:100%; border-radius:5px; background:linear-gradient(90deg,#b4f589,#62d7e6,#ffb85d); transition:width .4s linear; }
.rr-visual-section { position:relative; margin-top:17px; border:1px solid rgba(98,215,230,.28); border-radius:8px; padding:12px 13px 7px; background:linear-gradient(180deg,rgba(5,17,19,.63),rgba(15,31,34,.45)); }
.rr-visual-head { display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font:700 9px/1.5 'Space Mono',monospace; color:#a4c3b8; letter-spacing:.075em; }
.rr-visual-head b { color:#ffbf70; font-weight:700; }
.rr-visual-section canvas { display:block; width:100%; height:86px; margin-top:9px; background:repeating-linear-gradient(to top,rgba(98,215,230,.05) 0,rgba(98,215,230,.05) 1px,transparent 1px,transparent 17px); }
.rr-popup-receiver .rr-track-progress { margin:5px 0; }
.rr-popup-receiver .rr-track-times { font-size:8px; }
.rr-popup-receiver .rr-visual-section { margin-top:8px; padding:6px 8px 4px; }
.rr-popup-receiver .rr-visual-head { font-size:8px; }
.rr-popup-receiver .rr-visual-section canvas { height:40px; margin-top:4px; }

/* Individual broadcasting identities, without unofficial station-logo artwork. */
.toc-radio-page .rr-station-card { --station-accent:#b4f589; background:linear-gradient(140deg,color-mix(in srgb,var(--station-accent) 7%,#121e2b),#111924 56%); border-top:3px solid var(--station-accent); }
.toc-radio-page .rr-station-card:nth-child(2) { --station-accent:#f4b173; }
.toc-radio-page .rr-station-card:nth-child(3) { --station-accent:#62d7e6; }
.toc-radio-page .rr-station-card:nth-child(4) { --station-accent:#bdadff; }
.toc-radio-page .rr-station-card:nth-child(5) { --station-accent:#f7b576; }
.toc-radio-page .rr-station-card:nth-child(6) { --station-accent:#8ad9ca; }
.toc-radio-page .rr-station-card:nth-child(7) { --station-accent:#e1a3ca; }
.toc-radio-page .rr-station-card:nth-child(8) { --station-accent:#b5d7a5; }
.toc-radio-page .rr-station-card:nth-child(9) { --station-accent:#f4cd7a; }
.toc-radio-page .rr-station-card:nth-child(10) { --station-accent:#85bdea; }
.toc-radio-page .rr-station-card h3 { display:flex; align-items:center; gap:11px; margin-top:18px; }
.toc-radio-page .rr-station-card h3::before { content:'RW'; width:38px; height:38px; flex:0 0 38px; display:grid; place-items:center; border-radius:9px; background:color-mix(in srgb,var(--station-accent) 18%,#0e1c25); border:1px solid color-mix(in srgb,var(--station-accent) 48%,#1b2931); color:var(--station-accent); font:800 11px 'Space Mono',monospace; letter-spacing:0; }
.toc-radio-page .rr-station-card:nth-child(2) h3::before { content:'RS'; }
.toc-radio-page .rr-station-card:nth-child(3) h3::before { content:'SS'; }
.toc-radio-page .rr-station-card:nth-child(4) h3::before { content:'N'; }
.toc-radio-page .rr-station-card:nth-child(5) h3::before { content:'K'; }
.toc-radio-page .rr-station-card:nth-child(6) h3::before { content:'CV'; }
.toc-radio-page .rr-station-card:nth-child(7) h3::before { content:'ER'; }
.toc-radio-page .rr-station-card:nth-child(8) h3::before { content:'SID'; }
.toc-radio-page .rr-station-card:nth-child(9) h3::before { content:'SL'; }
.toc-radio-page .rr-station-card:nth-child(10) h3::before { content:'RP'; }
.toc-radio-page .rr-station-card .rr-station-footer a { color:var(--station-accent); }

@media (max-width:970px) {
  .toc-radio-page .rr-hero-inner { grid-template-columns:1fr; }
  .toc-radio-page .rr-hero { padding:45px 0 24px; }
  .toc-radio-page .rr-monitor-stage { max-width:540px; margin:10px auto 0; }
  .toc-radio-page .rr-hero::after { inset:0; mask-image:linear-gradient(to bottom,transparent,#000); }
}
@media (max-width:480px) {
  .toc-radio-page .rr-monitor-stage { height:370px; }
  .toc-radio-page .rr-monitor-stage::before { width:270px; height:270px; }
  .toc-radio-page .rr-monitor { width:290px; }
  .toc-radio-page .rr-monitor .crt-shell { padding:12px 12px 10px; }
  .toc-radio-page .rr-monitor .crt-screen { height:235px; padding:9px 10px; border-width:8px; }
  .toc-radio-page .rr-monitor .crt-neck { width:150px; height:16px; }
  .toc-radio-page .rr-monitor .crt-base { width:210px; }
  .toc-radio-page .rr-demo-machine { font-size:22px; }
  .toc-radio-page .rr-demo-scene { height:32px; margin:8px 0; }
  .rr-visual-head { font-size:8px; }
  .rr-visual-section canvas { height:63px; }
  .toc-radio-page .rr-station-card h3 { font-size:21px; }
}
@media (prefers-reduced-motion:reduce) {
  .toc-radio-page .rr-demo-scene span { animation:none; }
  .rr-progress-rail > span { transition:none; }
}

/* V4 — smaller hub receiver; stepped, vertical, phosphor-lit EQ; pixel heroes. */
.toc-radio-page .rr-player-section .rr-section-heading,
.toc-radio-page .rr-player-section .rr-stream-note { max-width:930px; margin-left:auto; margin-right:auto; }
.toc-radio-page .rr-receiver { max-width:930px; margin:0 auto; padding:15px; border-radius:13px; }
.toc-radio-page .rr-receiver-top { padding-bottom:11px; }
.toc-radio-page .rr-brand { font-size:14px; }
.toc-radio-page .rr-model { font-size:9px; }
.toc-radio-page .rr-receiver-grid { grid-template-columns:minmax(0,1.6fr) minmax(190px,.65fr); gap:12px; }
.toc-radio-page .rr-screen { min-height:0; padding:13px 15px 11px; border-width:5px; }
.toc-radio-page .rr-screen-name { font-size:clamp(24px,3vw,31px); margin:9px 0 2px; }
.toc-radio-page .rr-nowplaying { margin:10px 0 8px; padding:8px 11px; min-height:65px; }
.toc-radio-page .rr-controls { padding:12px; gap:10px; }
.toc-radio-page .rr-controls-label { font-size:9px; }
.toc-radio-page .rr-big-controls { gap:11px; }
.toc-radio-page .rr-play-button { width:66px; height:66px; flex-basis:66px; border-width:3px; }
.toc-radio-page .rr-play-button>span:first-child { font-size:19px; }
.toc-radio-page .rr-play-button>span:last-child { font-size:9px; }
.toc-radio-page .rr-stop-button { width:47px; height:47px; font-size:16px; }
.toc-radio-page .rr-popout-button { min-height:39px; padding:8px 9px; font-size:10px; }
.toc-radio-page .rr-popout-help { font-size:9px; }
.toc-radio-page .rr-visual-section { margin-top:12px; padding:10px 12px 6px; background:linear-gradient(180deg,#0d2421,#132c29); border-color:rgba(180,245,137,.23); }
.toc-radio-page .rr-visual-section canvas { height:92px; background:repeating-linear-gradient(to top,rgba(134,190,147,.045) 0,rgba(134,190,147,.045) 1px,transparent 1px,transparent 16px); filter:drop-shadow(0 0 4px rgba(167,220,173,.22)); }
.toc-radio-page .rr-preset-intro { font-size:8px; }
.toc-radio-page .rr-preset { min-height:49px; padding:5px 5px; }
.toc-radio-page .rr-preset strong { font-size:10px; }
.toc-radio-page .rr-receiver-footer { margin-top:16px; }
.rr-popup-receiver .rr-visual-section canvas { background:repeating-linear-gradient(to top,rgba(134,190,147,.045) 0,rgba(134,190,147,.045) 1px,transparent 1px,transparent 9px); filter:drop-shadow(0 0 3px rgba(167,220,173,.2)); }

.toc-radio-page .rr-demo-machine,
.toc-radio-page .rr-demo-chip { max-width:65%; white-space:normal; position:relative; z-index:1; }
.toc-radio-page .rr-demo-sprite { position:absolute; right:19px; top:56px; width:91px; height:91px; image-rendering:pixelated; image-rendering:crisp-edges; opacity:.86; filter:drop-shadow(0 0 7px rgba(183,216,187,.35)); transform-origin:center; animation:rr-pixel-turn 11s linear infinite; }
.toc-radio-page [data-demo-system="amiga"] .rr-demo-sprite { filter:drop-shadow(0 0 7px rgba(240,160,157,.33)); }
.toc-radio-page [data-demo-system="nintendo"] .rr-demo-sprite { filter:drop-shadow(0 0 7px rgba(223,156,147,.33)); }
.toc-radio-page [data-demo-system="sega"] .rr-demo-sprite { filter:drop-shadow(0 0 7px rgba(104,166,225,.35)); }
.toc-radio-page [data-demo-system="dos"] .rr-demo-sprite { filter:drop-shadow(0 0 7px rgba(159,191,149,.35)); }
@keyframes rr-pixel-turn { 0% { transform:perspective(190px) rotateY(0deg) rotate(-7deg); } 100% { transform:perspective(190px) rotateY(360deg) rotate(-7deg); } }

.toc-radio-page .rr-station-card:nth-child(9) { --station-accent:#efba6b; }
.toc-radio-page .rr-station-card:nth-child(10) { --station-accent:#87c2e4; }
.toc-radio-page .rr-station-card:nth-child(9) h3::before { content:'SL'; }
.toc-radio-page .rr-station-card:nth-child(10) h3::before { content:'RP'; }

@media (max-width:720px) {
  .toc-radio-page .rr-receiver-grid { display:block; }
  .toc-radio-page .rr-controls { flex-direction:row; align-items:center; justify-content:space-between; flex-wrap:wrap; }
  .toc-radio-page .rr-controls-label { flex:1 1 100%; }
  .toc-radio-page .rr-volume-label,.toc-radio-page .rr-volume { flex:1 1 38%; }
  .toc-radio-page .rr-popout-button { flex:1 1 100%; }
  .toc-radio-page .rr-popout-help { flex:1 1 100%; }
}
@media (max-width:480px) {
  .toc-radio-page .rr-receiver { padding:10px; }
  .toc-radio-page .rr-demo-sprite { width:72px; height:72px; right:10px; top:61px; }
  .toc-radio-page .rr-demo-machine,.toc-radio-page .rr-demo-chip { max-width:66%; }
  .toc-radio-page .rr-visual-section canvas { height:75px; }
}
@media (prefers-reduced-motion:reduce) {
  .toc-radio-page .rr-demo-sprite { animation:none; }
}

/* V5 — a black-glass five-colour CRT analyser and brighter ON AIR lamp. */
.rr-visual-section,
.toc-radio-page .rr-visual-section {
  background:linear-gradient(145deg,#020608,#06090c 65%,#030507);
  border-color:#344349;
  box-shadow:inset 0 0 28px rgba(0,0,0,.8),0 2px 13px rgba(0,0,0,.2);
}
.rr-visual-section::after {
  content:'';
  pointer-events:none;
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:linear-gradient(125deg,rgba(201,226,223,.035),transparent 27%,transparent 71%,rgba(129,158,169,.025));
}
.rr-visual-section canvas,
.toc-radio-page .rr-visual-section canvas,
.rr-popup-receiver .rr-visual-section canvas {
  background:repeating-linear-gradient(to top,rgba(104,129,132,.025) 0,rgba(104,129,132,.025) 1px,transparent 1px,transparent 15px),#010304;
  border-radius:3px;
  filter:drop-shadow(0 0 4px rgba(139,195,158,.12));
}
.rr-visual-head { color:#a8b8b7; }
.rr-visual-head b { color:#c8d6bf; text-shadow:0 0 6px rgba(192,225,193,.23); }

.rr-screen-live { gap:9px; padding:4px 7px; border-radius:4px; background:rgba(4,14,11,.28); font:700 12px/1.15 'Space Mono',monospace; letter-spacing:.09em; color:#b2c6b6; }
.rr-screen-live i { width:11px; height:11px; flex:0 0 11px; background:#40634b; border:1px solid rgba(195,239,191,.25); border-radius:50%; }
.rr-receiver.is-playing .rr-screen-live { color:#d9ffe0; text-shadow:0 0 9px rgba(94,255,143,.57); }
.rr-receiver.is-playing .rr-screen-live i { background:#55ff8b; border-color:#a5ffc1; box-shadow:0 0 5px 2px rgba(99,255,142,.95),0 0 17px 4px rgba(72,255,128,.58),inset 0 0 3px #f2fff3; }
.rr-popup-receiver .rr-screen-live { font-size:10px; padding:3px 5px; gap:7px; }
.rr-popup-receiver .rr-screen-live i { width:10px; height:10px; flex-basis:10px; }

/* V6 — restrained TOC-green progress and clear live/animated mode controls. */
.rr-progress-rail > span {
  background:#b4f589;
  box-shadow:0 0 9px rgba(180,245,137,.36);
}
.rr-mode-switch { display:inline-flex; align-items:center; gap:8px; }
.rr-mode-switch button {
  appearance:none;
  border:0;
  background:transparent;
  color:#526363;
  font:700 10px/1.5 'Space Mono',monospace;
  letter-spacing:.065em;
  padding:2px 0;
  cursor:pointer;
  text-shadow:none;
}
.rr-mode-switch button:hover { color:#91b59b; }
.rr-mode-switch button.is-selected,
.rr-mode-switch button.is-selected:hover {
  color:#c0f5a7;
  text-shadow:0 0 7px rgba(180,245,137,.65);
}
.rr-mode-switch span { color:#48595b; }
.rr-mode-switch button:focus-visible { outline:2px solid #ffbd67; outline-offset:3px; }
.rr-popup-receiver .rr-mode-switch { gap:5px; }
.rr-popup-receiver .rr-mode-switch button { font-size:8px; letter-spacing:.035em; }

/* V8 — a taller, seven-rung compact spectrum; no changes to response speed. */
.rr-popup-receiver .rr-visual-section canvas { height:54px; }

/* V9 — make room for one additional rung at the same segment size. */
.toc-radio-page .rr-visual-section canvas { height:105px; }
.rr-popup-receiver .rr-visual-section canvas { height:62px; }
@media (max-width:480px) {
  .toc-radio-page .rr-visual-section canvas { height:85px; }
}

.rr-preset:disabled,
.rr-preset-reserved { cursor:not-allowed; opacity:.49; border-style:dashed; filter:saturate(.6); }
.rr-preset:disabled:hover { filter:saturate(.6); transform:none; }
