.eha-radio {
  --radio-ink:#3d243b;
  --radio-paper:#efeee4;
  --radio-accent:#233b9d;
  position:fixed;
  z-index:80;
  left:max(22px, env(safe-area-inset-left));
  bottom:calc(20px + env(safe-area-inset-bottom));
  width:282px;
  color:var(--radio-ink);
  font-family:var(--body, 'DM Sans', sans-serif);
  font-size:12px;
  text-align:left;
  isolation:isolate;
}
.eha-radio *, .eha-radio *::before, .eha-radio *::after { box-sizing:border-box; }
.eha-radio button { color:inherit; font:inherit; cursor:pointer; -webkit-tap-highlight-color:transparent; }
.eha-radio button:focus-visible, .eha-radio input:focus-visible { outline:3px solid var(--radio-accent); outline-offset:4px; }
.eha-radio button:disabled { cursor:default; opacity:.5; }
.eha-radio__bar {
  display:flex;
  align-items:center;
  gap:9px;
  min-height:74px;
  padding:9px 12px 9px 10px;
  border:1px solid #3d243b29;
  border-radius:9px;
  background:#efeee4f5;
  box-shadow:0 9px 30px #20131e18, 0 2px 4px #20131e08, inset 0 1px 0 #fff9;
  backdrop-filter:blur(16px);
}
.eha-radio__toggle { position:relative; flex:0 0 48px; width:48px; height:48px; padding:0; border:0; border-radius:50%; background:#302331; }
.eha-radio__record { position:absolute; inset:0; display:grid; place-items:center; overflow:hidden; border-radius:50%; background:repeating-radial-gradient(circle at center, #221e23 0px, #221e23 1px, #443947 1.5px, #29202c 2.5px); box-shadow:0 2px 5px #2515284d, inset 0 0 0 1px #fff3; animation:eha-record-turn 8s linear infinite; animation-play-state:paused; }
.eha-radio__record::after { content:""; position:absolute; inset:0; border-radius:50%; background:conic-gradient(from 30deg, transparent, #fff2 16%, transparent 26% 51%, #fff2 65%, transparent 78%); }
.eha-radio__record-label { display:grid; place-items:center; position:relative; width:20px; height:20px; border-radius:50%; background:#cc5634; color:#f3ebde; font-size:19px; line-height:1; }
.eha-radio__transport { position:absolute; inset:0; z-index:1; display:grid; place-items:center; border-radius:50%; background:#231c2a4d; opacity:0; transition:opacity 180ms; }
.eha-radio__transport::before { content:""; display:block; margin-left:3px; width:0; height:0; border-top:6px solid transparent; border-bottom:6px solid transparent; border-left:9px solid #fff; filter:drop-shadow(0 1px 2px #0007); }
.eha-radio .eha-radio__transport { opacity:1; }
.eha-radio[data-playing="true"] .eha-radio__transport::before { width:9px; height:13px; margin-left:0; border:0; border-left:3px solid #fff; border-right:3px solid #fff; }
.eha-radio__details { flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:3px; min-height:48px; padding:0; border:0; background:transparent; text-align:left; }
.eha-radio__eyebrow { font-size:7px; letter-spacing:.12em; font-weight:700; line-height:1.2; }
.eha-radio__track { font-size:14px; font-weight:600; letter-spacing:-.02em; line-height:1.25; }
.eha-radio__status { max-width:171px; font-size:8px; font-weight:400; line-height:1.35; color:#6a5365; }
.eha-radio__wave { display:flex; align-items:center; justify-content:center; gap:2px; width:21px; height:23px; flex:0 0 21px; color:var(--radio-accent); }
.eha-radio__wave i { display:block; width:2px; height:4px; border-radius:2px; background:currentColor; transform-origin:50% 50%; animation:eha-radio-wave 950ms ease-in-out infinite alternate; animation-play-state:paused; }
.eha-radio__wave i:nth-child(2) { height:10px; animation-delay:-450ms; }
.eha-radio__wave i:nth-child(3) { height:16px; animation-delay:-180ms; }
.eha-radio__wave i:nth-child(4) { height:11px; animation-delay:-620ms; }
.eha-radio__wave i:nth-child(5) { height:6px; animation-delay:-320ms; }
.eha-radio[data-playing="true"] :is(.eha-radio__record, .eha-radio__wave i) { animation-play-state:running; }
.eha-radio[data-playing="false"] .eha-radio__wave { opacity:.4; }
.eha-radio__panel { position:absolute; bottom:calc(100% + 10px); left:0; width:100%; padding:12px 15px 17px; border-radius:10px; border:1px solid #3d243b29; background:var(--radio-paper); box-shadow:0 10px 45px #21142029; transform-origin:bottom left; animation:eha-radio-open 230ms cubic-bezier(.2,.75,.25,1); }
.eha-radio__panel[hidden] { display:none; }
.eha-radio__panel-heading { display:flex; align-items:center; justify-content:space-between; min-height:44px; font-size:10px; font-weight:700; letter-spacing:.02em; }
.eha-radio__close { width:44px; height:44px; margin-right:-12px; padding:0; border:0; background:transparent; font-size:22px!important; }
.eha-radio__moods { display:grid; gap:3px; }
.eha-radio__moods button { min-height:44px; display:flex; align-items:center; gap:12px; width:100%; padding:0 11px; border:1px solid transparent; border-radius:4px; background:transparent; text-align:left; transition:background-color 180ms, color 180ms; }
.eha-radio__moods button:hover { background:#3d243b0b; }
.eha-radio__moods button[aria-pressed="true"] { background:var(--radio-accent); color:#fff; }
.eha-radio__mood-number { font-size:8px; letter-spacing:.08em; opacity:.75; }
.eha-radio__mood-dot { display:block; width:5px; height:5px; margin-left:auto; border-radius:50%; background:currentColor; opacity:0; }
.eha-radio__moods button[aria-pressed="true"] .eha-radio__mood-dot { opacity:1; }
.eha-radio__description { margin:12px 0!important; color:#6a5365; font-size:10px; line-height:1.5; }
.eha-radio__volume { display:flex; align-items:center; gap:10px; min-height:44px; border-top:1px solid #3d243b22; font-size:10px; }
.eha-radio__volume input { width:100%; min-width:0; min-height:44px; margin:0; accent-color:var(--radio-accent); cursor:pointer; }
.eha-radio__volume output { min-width:30px; font-variant-numeric:tabular-nums; text-align:right; font-size:9px; }
.eha-radio__credit { margin:4px 0 0!important; max-width:220px; color:#6a5365; font-size:9px; line-height:1.6; }
@keyframes eha-record-turn { to { transform:rotate(360deg); } }
@keyframes eha-radio-wave { from { transform:scaleY(.35); } to { transform:scaleY(1); } }
@keyframes eha-radio-open { from { opacity:0; transform:translateY(6px) scale(.985); } to { opacity:1; transform:none; } }
html[data-motion="off"] .eha-radio *, html[data-motion="off"] .eha-radio *::before { animation:none!important; transition:none!important; }
@media(prefers-reduced-motion:reduce) { .eha-radio *, .eha-radio *::before { animation:none!important; transition:none!important; } }
@media(max-width:600px) {
  .eha-radio { left:12px; bottom:calc(12px + env(safe-area-inset-bottom)); width:120px; max-width:calc(100vw - 24px); }
  .eha-radio__bar { min-height:66px; padding:8px; gap:8px; }
  .eha-radio__details { flex:0 0 44px; width:44px; min-height:44px; align-items:center; }
  .eha-radio__details::after { content:"♫"; font-family:Georgia, serif; font-size:23px; line-height:1; color:var(--radio-accent); }
  .eha-radio__details :is(.eha-radio__eyebrow, .eha-radio__track, .eha-radio__status) { position:absolute; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
  .eha-radio__wave { display:none; }
  .eha-radio__panel { width:256px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 110px); overflow:auto; }
}
@media print { .eha-radio { display:none!important; } }
