/* ASTILLAS DEL VACÍO · v41 · SOLO BRUMA DEL LIBRO I
   Reutiliza las TRES TEXTURAS transparentes originales del Libro I
   y su patrón exacto de desplazamiento oeste/este de libros-atmosfera.css.
   Único ajuste: inicio inferior para no cubrir carteles ni edificios.
   La imagen estática de Times Square no se modifica. */
.ts-image-frame{isolation:isolate}
.ts-book1-ground-fog{
 position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:4;
 /* En el Libro I se recorta el 50% superior; aquí el asfalto empieza más abajo */
 clip-path:inset(58% 0 0 0);
}
.ts-book1-mist{
 position:absolute;left:-17%;width:134%;pointer-events:none;
 background-repeat:no-repeat;background-position:center;background-size:100% 100%;
 mix-blend-mode:screen;will-change:transform,opacity;
 -webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 77%,transparent 100%);
 mask-image:linear-gradient(to bottom,transparent 0%,#000 22%,#000 77%,transparent 100%)
}
/* Misma alternancia, opacidad y duraciones que el Libro I.
   Solo las tres cotas verticales se ajustan a la geometría de Times Square. */
.ts-book1-mist--far{
 top:56%;height:30%;opacity:.80;
 background-image:url('../assets/atm-mist-far.webp');
 animation:ts-book1-fog-west 17s ease-in-out infinite alternate
}
.ts-book1-mist--mid{
 top:67%;height:29%;opacity:.85;
 background-image:url('../assets/atm-mist-mid.webp');
 animation:ts-book1-fog-east 13s ease-in-out infinite alternate
}
.ts-book1-mist--front{
 top:78%;height:27%;opacity:.73;
 background-image:url('../assets/atm-mist-front.webp');
 animation:ts-book1-fog-west 20s ease-in-out infinite alternate-reverse
}
@keyframes ts-book1-fog-west{
 from{transform:translate3d(-7%,0,0);opacity:.65}
 to{transform:translate3d(7%,-1%,0);opacity:.90}
}
@keyframes ts-book1-fog-east{
 from{transform:translate3d(8%,0,0);opacity:.91}
 to{transform:translate3d(-8%,1%,0);opacity:.65}
}
/* El estado de los indicadores se conserva; el controlador de canales gestiona sus transiciones. */
.ts-status__pulse,.ts-live-dot{animation:none!important}
.ts-wind-toggle{transition:none!important}
.ts-wind-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid rgba(214,188,255,.28);
 border-radius:30px;background:rgba(23,10,47,.32);color:#f3e9ff;padding:8px 12px;
 font-size:10px;font-weight:700;letter-spacing:.1em;white-space:nowrap;cursor:pointer}
.ts-wind-toggle:hover,.ts-wind-toggle:focus-visible{border-color:rgba(229,195,255,.68);background:rgba(63,30,102,.55)}
.ts-wind-icon{font-size:13px;letter-spacing:-.4em;margin-right:3px;color:#d8b3ff}
.ts-wind-toggle.is-off{opacity:.75}
@media(max-width:1050px){.ts-status{display:none}.ts-header__right{gap:12px}.ts-wind-toggle{padding:7px 9px}}
@media(max-width:680px){.ts-wind-toggle{font-size:9px}.ts-wind-icon{display:none}}
@media(prefers-reduced-motion:reduce){.ts-book1-mist{animation:none!important;will-change:auto!important}}
