/* The deck stays in the shell while React changes the main panel. */
.ace-radio-host{display:contents}
.ace-radio-host svg{flex:none;width:16px;height:16px;vertical-align:middle}
.ace-radio-host>audio{display:none}
.ace-radio-directory .arp__now{display:none}
.ace-shell .ace-radio-launch{position:fixed;right:16px;bottom:16px;z-index:90;display:flex;align-items:center;gap:8px;border-radius:999px;padding:10px 16px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 4px 20px #0003}
.ace-radio-dock{position:fixed;right:16px;bottom:16px;z-index:91;width:340px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 64px);overflow:auto;overscroll-behavior:contain;border:1px solid var(--shell-line);border-radius:16px;background:var(--shell-panel);color:var(--shell-ink);box-shadow:0 10px 36px #0004;font-size:13px;line-height:1.45}
.ace-radio-dock[style]{right:auto;bottom:auto}
.ace-radio-dock.is-docked{border-radius:12px 12px 0 0}
.ace-radio-dock__header{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid var(--shell-line)}
.ace-radio-dock__header>strong{flex:1;font-family:'Space Grotesk',sans-serif}
.ace-shell .ace-radio-dock__header button{border:0;background:transparent;padding:8px}
.ace-radio-dock__grip{touch-action:none;cursor:grab!important}
.is-dragging .ace-radio-dock__grip{cursor:grabbing!important}
.ace-radio-dock__now{display:flex;align-items:center;gap:12px;padding:16px 14px 10px}
.ace-radio-dock__now>div{min-width:0}
.ace-radio-dock__now strong{display:block;overflow-wrap:anywhere;font-family:'Space Grotesk',sans-serif;font-size:15px}
.ace-radio-dock__now [role=status]{display:block;color:var(--shell-muted);font-size:12px;margin-top:4px}
.ace-shell .ace-radio-dock__play{border-radius:50%;width:42px;height:42px;flex:none;padding:0;background:var(--shell-accent);color:var(--shell-bg);border:0}
.ace-radio-dock__controls{display:flex;align-items:center;gap:8px;padding:8px 14px}
.ace-radio-dock__controls input{width:100%;min-width:32px;accent-color:var(--shell-accent)}
.ace-shell .ace-radio-dock__controls button{white-space:nowrap;font-size:12px;padding:7px 9px;border-radius:999px}
.ace-radio-dock__position{display:flex;align-items:center;gap:8px;padding:4px 14px 12px;color:var(--shell-muted);font-size:12px}
.ace-shell .ace-radio-dock__position select{min-width:0;flex:1;padding:6px 8px;border:1px solid var(--shell-line);border-radius:8px;background:var(--shell-card);color:var(--shell-ink)}
.ace-radio-dock__stations{border-top:1px solid var(--shell-line);padding:12px}
.ace-shell .ace-radio-dock__stations input{display:block;box-sizing:border-box;width:100%;padding:10px 12px;border:1px solid var(--shell-line);border-radius:999px;background:var(--shell-card);color:var(--shell-ink)}
.ace-radio-dock__stations ul{list-style:none;padding:0;margin:10px 0;max-height:230px;overflow:auto;overscroll-behavior:contain}
.ace-radio-dock__stations li{margin:0;padding:0}
.ace-shell .ace-radio-dock__stations li>button,.ace-shell .ace-radio-dock__stations li>a{display:block;width:100%;border:0;border-radius:0;padding:10px;text-align:left;background:transparent;color:var(--shell-ink);text-decoration:none;overflow-wrap:anywhere}
.ace-shell .ace-radio-dock__stations li>button:hover,.ace-shell .ace-radio-dock__stations li>a:hover,.ace-shell .ace-radio-dock__stations li>button[aria-pressed=true]{background:var(--shell-card);color:var(--shell-ink)}
.ace-shell .ace-radio-dock__stations li>button[aria-pressed=true]{box-shadow:inset 3px 0 var(--shell-accent);font-weight:600}
.ace-radio-dock__stations small{display:block;color:var(--shell-muted);font-size:11px;margin-top:3px}
.ace-radio-dock__credit{font-size:11px;line-height:1.5;margin:10px 0 0;color:var(--shell-muted)}
.ace-shell .has-radio-dock{padding-bottom:calc(var(--ace-radio-space,0px) + 16px)!important}
.ace-radio-zone{position:fixed;z-index:90;pointer-events:none;display:grid;place-items:center;padding:16px;text-align:center;background:color-mix(in srgb,var(--shell-accent) 18%,var(--shell-panel));border:2px dashed var(--shell-accent);border-radius:12px;color:var(--shell-ink)}
.ace-radio-zone.is-over{background:var(--shell-accent);color:var(--shell-bg)}
@media(prefers-reduced-motion:no-preference){.ace-radio-dock button{transition:background-color 150ms,color 150ms}.ace-radio-launch{transition:background-color 150ms}}
