/* The existing stage keeps clipping video and framing controls. Only the
   decorative halo may extend outside the card; it never receives input. */
#detail .stream-player.ambient-host{isolation:isolate;overflow:visible}
#detail .stream-player.ambient-host:not(.screen-fill):not(:fullscreen){position:relative}
#detail .ambient-host>.stream-stage{border-radius:calc(var(--media-radius,22px) - 1px)}
#detail .ambient-projection{position:absolute;z-index:-1;pointer-events:none;display:block;opacity:0;filter:blur(22px) saturate(1.15);transform:scale(1.055,1.075);transition:opacity .35s ease;border-radius:var(--media-radius,22px)}
#detail[data-ambient=true] .ambient-host[data-ambient-mode=dynamic],#detail[data-ambient=true] .ambient-host[data-ambient-mode=image]{box-shadow:none}
#detail[data-ambient=true] .ambient-host:is([data-ambient-mode=dynamic],[data-ambient-mode=image])>.ambient-projection{opacity:.65}
#detail[data-ambient=true] .ambient-host[data-ambient-mode=static]{box-shadow:0 0 28px 4px color-mix(in srgb,var(--accent) 19%,transparent)}
#detail .ambient-hint{grid-column:1/-1;color:var(--muted);font-size:12px;line-height:1.4}
#detail .ambient-hint[hidden]{display:none}
#detail .ambient-host:is(:fullscreen,.screen-fill){overflow:hidden}
@media(max-width:760px){#detail .ambient-projection{filter:blur(16px) saturate(1.1);transform:scale(1.025,1.05)}}
@media(prefers-reduced-motion:reduce){#detail .ambient-projection{transition:none}}
