/* Ambient reactions live behind the content, independently of the video compositor. */
body { isolation:isolate; }
main, .tail-footer { position:relative; z-index:1; }
.feed-journey, .tail-method, .tail-contact, .tail-footer { background:transparent; }
.ambient-field { display:none; position:fixed; inset:0; z-index:0; overflow:clip; pointer-events:none; contain:strict; }
.ambient-ready .ambient-field { display:block; }
.ambient-reaction { position:absolute; top:0; left:var(--x); width:var(--size); height:var(--size); opacity:0; animation:ambient-rise var(--duration) linear var(--delay) infinite; will-change:transform,opacity; }
.ambient-reaction svg { width:100%; height:100%; color:#ff8d7c; fill:#ff503c12; stroke-width:1.15; transform:perspective(400px) rotateY(var(--turn)) rotateZ(var(--tilt)); filter:drop-shadow(5px 12px 9px #05020799); }
.ambient-reaction:nth-child(1) { --x:3%; --size:48px; --duration:9s; --delay:-9s; --alpha:.58; --drift:28px; --turn:28deg; --tilt:-17deg; }
.ambient-reaction:nth-child(2) { --x:90%; --size:86px; --duration:7s; --delay:-22s; --alpha:.64; --drift:-38px; --turn:-26deg; --tilt:14deg; }
.ambient-reaction:nth-child(3) { --x:37%; --size:30px; --duration:12s; --delay:-5s; --alpha:.23; --drift:21px; --turn:22deg; --tilt:-12deg; }
.ambient-reaction:nth-child(4) { --x:78%; --size:57px; --duration:8s; --delay:-4s; --alpha:.52; --drift:34px; --turn:-32deg; --tilt:18deg; }
.ambient-reaction:nth-child(5) { --x:56%; --size:35px; --duration:10s; --delay:-19s; --alpha:.22; --drift:-26px; --turn:30deg; --tilt:-19deg; }
.ambient-reaction:nth-child(6) { --x:19%; --size:64px; --duration:11s; --delay:-30s; --alpha:.23; --drift:-28px; --turn:-20deg; --tilt:12deg; }
@keyframes ambient-rise {
 0% { transform:translate3d(0,108svh,0); opacity:0; }
 10% { opacity:var(--alpha); }
 82% { opacity:var(--alpha); }
 100% { transform:translate3d(var(--drift),-16svh,0); opacity:0; }
}
.ambient-toggle { position:fixed; right:20px; bottom:18px; z-index:35; display:none; place-items:center; width:44px; height:44px; padding:12px; border:1px solid #a9778270; border-radius:50%; background:#21121fed; color:#e8c6ce; box-shadow:0 6px 18px #05020730; }
.ambient-ready .ambient-toggle { display:grid; }
.ambient-toggle svg { width:18px; height:18px; stroke-width:1.7; }
.ambient-toggle:hover { color:#fff0e9; border-color:#ff9e8a; }
html[data-ambient=paused] .ambient-reaction, html[data-ambient=resting] .ambient-reaction { animation-play-state:paused; will-change:auto; }
/* Reduced motion retains a quiet, static motif. No JavaScript is required for the preference. */
html[data-motion=reduced] .ambient-reaction { animation:none!important; will-change:auto; opacity:.12; transform:translate3d(0,72svh,0); }
html[data-motion=reduced] .ambient-reaction:nth-child(even) { transform:translate3d(0,26svh,0); }
html[data-motion=reduced] .ambient-toggle { display:none; }
@media (max-width:760px) {
 .ambient-reaction:nth-child(3), .ambient-reaction:nth-child(5), .ambient-reaction:nth-child(6) { display:none; animation:none; will-change:auto; }
 .ambient-reaction:nth-child(1) { --x:-3%; --size:34px; --drift:4px; --alpha:.28; }
 .ambient-reaction:nth-child(2) { --x:90%; --size:57px; --drift:-3px; --alpha:.43; }
 .ambient-reaction:nth-child(4) { --x:84%; --size:35px; --drift:10px; --alpha:.3; }
 .ambient-toggle { right:12px; bottom:12px; }
}
@media (prefers-reduced-motion:reduce) {
 .ambient-reaction { animation:none!important; will-change:auto; opacity:.12; transform:translate3d(0,72svh,0); }
 .ambient-reaction:nth-child(even) { transform:translate3d(0,26svh,0); }
 .ambient-toggle { display:none!important; }
}

/* Keep the ambient pause distinct from the video control. */
.ambient-toggle { width:auto; min-width:44px; display:none; grid-auto-flow:column; gap:8px; padding:11px 14px; border-radius:24px; font-size:10px; font-weight:500; }
.ambient-toggle span { white-space:nowrap; }
@media(max-width:760px){ .ambient-toggle { gap:6px; padding:11px 10px; font-size:9px; } .ambient-toggle svg { width:14px; height:14px; } .feed-disclosure { max-width:calc(100% - 145px); left:20px; right:auto; transform:none; text-align:left; } }

/* Livestream rhythm: six independent paths; three on mobile, no counters or live-data claim. */
.ambient-reaction:nth-child(2) svg,.ambient-reaction:nth-child(4) svg{fill:#ff6e5260;stroke-width:.9}
.ambient-reaction:nth-child(5) svg{color:#e9d0b6;fill:#e9d0b625}
