/* The Living Threshold 2030: restrained signature moments for the five existing nature-room release rituals. */
.release-visual[data-style]{isolation:isolate}
.release-visual[data-style]>.released-word,
.release-visual[data-style]>.release-message{z-index:2}
.lt2030-signature-layer{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none;opacity:.68}
.lt2030-signature-layer span{position:absolute;display:block;opacity:0}

/* River: the word leaves through widening ripples. */
.release-visual[data-style="river"] .lt2030-signature-layer span{left:50%;top:58%;width:36px;height:16px;border:1px solid rgba(52,111,121,.38);border-radius:50%;transform:translate(-50%,-50%) scale(.4)}
.release-visual[data-style="river"].lt2030-signature-active .lt2030-signature-layer span{animation:lt2030RiverRipple 3.6s ease-out forwards}
.release-visual[data-style="river"].lt2030-signature-active .lt2030-signature-layer span:nth-child(2){animation-delay:.38s}
.release-visual[data-style="river"].lt2030-signature-active .lt2030-signature-layer span:nth-child(3){animation-delay:.76s}
.release-visual[data-style="river"].lt2030-signature-active .lt2030-signature-layer span:nth-child(4){animation-delay:1.14s}

/* Forest: the release becomes a small connected root system. */
.release-visual[data-style="forest"] .lt2030-signature-layer span{left:50%;bottom:18%;width:2px;height:48%;background:linear-gradient(to top,rgba(56,91,61,.5),rgba(91,123,78,.06));border-radius:999px;transform-origin:bottom;transform:translateX(-50%) rotate(var(--lt2030-root-angle,0deg)) scaleY(0)}
.release-visual[data-style="forest"] .lt2030-signature-layer span:nth-child(2){--lt2030-root-angle:32deg}
.release-visual[data-style="forest"] .lt2030-signature-layer span:nth-child(3){--lt2030-root-angle:-32deg}
.release-visual[data-style="forest"] .lt2030-signature-layer span:nth-child(4){height:31%;--lt2030-root-angle:58deg}
.release-visual[data-style="forest"] .lt2030-signature-layer span:nth-child(5){height:31%;--lt2030-root-angle:-58deg}
.release-visual[data-style="forest"].lt2030-signature-active .lt2030-signature-layer span{animation:lt2030ForestRoot 3.8s ease-out forwards}
.release-visual[data-style="forest"].lt2030-signature-active .lt2030-signature-layer span:nth-child(n+2){animation-delay:.22s}

/* Quiet: the room settles into one soft center. */
.release-visual[data-style="quiet"] .lt2030-signature-layer span{left:50%;top:50%;width:42px;height:42px;border:1px solid rgba(83,81,73,.24);border-radius:50%;transform:translate(-50%,-50%) scale(.55)}
.release-visual[data-style="quiet"].lt2030-signature-active .lt2030-signature-layer span{animation:lt2030QuietSettle 3.8s ease-out forwards}
.release-visual[data-style="quiet"].lt2030-signature-active .lt2030-signature-layer span:nth-child(2){animation-delay:.35s}
.release-visual[data-style="quiet"].lt2030-signature-active .lt2030-signature-layer span:nth-child(3){animation-delay:.7s}

/* Fire: the word changes form as a few contained embers rise. */
.release-visual[data-style="fire"] .lt2030-signature-layer span{left:50%;bottom:20%;width:7px;height:7px;border-radius:50%;background:rgba(208,115,48,.64);box-shadow:0 0 16px rgba(228,142,70,.45);transform:translate(-50%,0)}
.release-visual[data-style="fire"] .lt2030-signature-layer span:nth-child(2){left:43%}
.release-visual[data-style="fire"] .lt2030-signature-layer span:nth-child(3){left:57%}
.release-visual[data-style="fire"] .lt2030-signature-layer span:nth-child(4){left:47%}
.release-visual[data-style="fire"] .lt2030-signature-layer span:nth-child(5){left:54%}
.release-visual[data-style="fire"].lt2030-signature-active .lt2030-signature-layer span{animation:lt2030FireEmber 3.5s ease-out forwards}
.release-visual[data-style="fire"].lt2030-signature-active .lt2030-signature-layer span:nth-child(2){animation-delay:.25s}
.release-visual[data-style="fire"].lt2030-signature-active .lt2030-signature-layer span:nth-child(3){animation-delay:.5s}
.release-visual[data-style="fire"].lt2030-signature-active .lt2030-signature-layer span:nth-child(4){animation-delay:.75s}
.release-visual[data-style="fire"].lt2030-signature-active .lt2030-signature-layer span:nth-child(5){animation-delay:1s}

/* Sky: the horizon opens without pretending to provide an answer. */
.release-visual[data-style="sky"] .lt2030-signature-layer span{left:50%;top:62%;width:12%;height:1px;background:linear-gradient(90deg,transparent,rgba(71,112,136,.5),transparent);transform:translateX(-50%) scaleX(.2)}
.release-visual[data-style="sky"] .lt2030-signature-layer span:nth-child(2){top:52%;opacity:.7}
.release-visual[data-style="sky"] .lt2030-signature-layer span:nth-child(3){top:42%;opacity:.5}
.release-visual[data-style="sky"].lt2030-signature-active .lt2030-signature-layer span{animation:lt2030SkyHorizon 3.8s ease-out forwards}
.release-visual[data-style="sky"].lt2030-signature-active .lt2030-signature-layer span:nth-child(2){animation-delay:.28s}
.release-visual[data-style="sky"].lt2030-signature-active .lt2030-signature-layer span:nth-child(3){animation-delay:.56s}

@keyframes lt2030RiverRipple{0%{opacity:0;transform:translate(-50%,-50%) scale(.35)}18%{opacity:.68}100%{opacity:0;transform:translate(-50%,-50%) scale(7.2)}}
@keyframes lt2030ForestRoot{0%{opacity:0;transform:translateX(-50%) rotate(var(--lt2030-root-angle,0deg)) scaleY(0)}22%{opacity:.7}72%{opacity:.52;transform:translateX(-50%) rotate(var(--lt2030-root-angle,0deg)) scaleY(1)}100%{opacity:0;transform:translateX(-50%) rotate(var(--lt2030-root-angle,0deg)) scaleY(1)}}
@keyframes lt2030QuietSettle{0%{opacity:0;transform:translate(-50%,-50%) scale(.55)}26%{opacity:.42}70%{opacity:.25;transform:translate(-50%,-50%) scale(3.8)}100%{opacity:0;transform:translate(-50%,-50%) scale(4.4)}}
@keyframes lt2030FireEmber{0%{opacity:0;transform:translate(-50%,12px) scale(.65)}18%{opacity:.9}72%{opacity:.52}100%{opacity:0;transform:translate(calc(-50% + 18px),-118px) scale(.2)}}
@keyframes lt2030SkyHorizon{0%{opacity:0;transform:translateX(-50%) scaleX(.2)}24%{opacity:.6}80%{opacity:.38;transform:translateX(-50%) scaleX(7)}100%{opacity:0;transform:translateX(-50%) scaleX(8)}}

@media(prefers-reduced-motion:reduce){
 .lt2030-signature-layer{display:none}
 .release-visual[data-style].lt2030-signature-active{outline:2px solid rgba(82,107,109,.2);outline-offset:-2px}
}
@media(max-width:620px){.lt2030-signature-layer{opacity:.56}}
