/* A bounded staggered burst shares one cached smoke texture. Never an input target. */
.wihh-smoke-layer,.wihh-smoke-layer *{pointer-events:none!important;user-select:none}
.wihh-smoke-layer{position:fixed;inset:0;overflow:hidden;contain:paint;z-index:4;mix-blend-mode:difference}
.wihh-smoke-ring{--smoke-size:180px;position:absolute;left:calc(-1 * var(--smoke-size));top:var(--smoke-y,65vh);width:var(--smoke-size);height:var(--smoke-size);max-width:none;opacity:0;--smoke-travel:calc(100vw + 2 * var(--smoke-size));--smoke-peak:.14104;--smoke-middle:.10496}
.wihh-smoke-ring.from-right{left:100%;--smoke-travel:calc(-100vw - 2 * var(--smoke-size))}
.wihh-smoke-ring.is-floating{animation:wihh-smoke-cross 12s linear both;animation-delay:var(--smoke-delay,0s);will-change:transform,opacity}
@keyframes wihh-smoke-cross{0%{transform:translate3d(calc(var(--smoke-travel) * (0.00000 + (var(--smoke-mid-progress,.55) - .58) * 0.00000)),calc(var(--smoke-rise,-25vh) * 0.00000),0) scale(0.85000) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.00000))}5%{transform:translate3d(calc(var(--smoke-travel) * (0.05000 + (var(--smoke-mid-progress,.55) - .58) * 0.19000)),calc(var(--smoke-rise,-25vh) * 0.00725),0) scale(0.86350) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.05000))}10%{transform:translate3d(calc(var(--smoke-travel) * (0.10000 + (var(--smoke-mid-progress,.55) - .58) * 0.36000)),calc(var(--smoke-rise,-25vh) * 0.02800),0) scale(0.87700) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.10000))}15%{transform:translate3d(calc(var(--smoke-travel) * (0.15000 + (var(--smoke-mid-progress,.55) - .58) * 0.51000)),calc(var(--smoke-rise,-25vh) * 0.06075),0) scale(0.89050) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.15000))}20%{transform:translate3d(calc(var(--smoke-travel) * (0.20000 + (var(--smoke-mid-progress,.55) - .58) * 0.64000)),calc(var(--smoke-rise,-25vh) * 0.10400),0) scale(0.90400) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.20000))}25%{transform:translate3d(calc(var(--smoke-travel) * (0.25000 + (var(--smoke-mid-progress,.55) - .58) * 0.75000)),calc(var(--smoke-rise,-25vh) * 0.15625),0) scale(0.91750) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.25000))}30%{transform:translate3d(calc(var(--smoke-travel) * (0.30000 + (var(--smoke-mid-progress,.55) - .58) * 0.84000)),calc(var(--smoke-rise,-25vh) * 0.21600),0) scale(0.93100) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.30000))}35%{transform:translate3d(calc(var(--smoke-travel) * (0.35000 + (var(--smoke-mid-progress,.55) - .58) * 0.91000)),calc(var(--smoke-rise,-25vh) * 0.28175),0) scale(0.94450) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.35000))}40%{transform:translate3d(calc(var(--smoke-travel) * (0.40000 + (var(--smoke-mid-progress,.55) - .58) * 0.96000)),calc(var(--smoke-rise,-25vh) * 0.35200),0) scale(0.95800) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.40000))}45%{transform:translate3d(calc(var(--smoke-travel) * (0.45000 + (var(--smoke-mid-progress,.55) - .58) * 0.99000)),calc(var(--smoke-rise,-25vh) * 0.42525),0) scale(0.97150) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.45000))}50%{transform:translate3d(calc(var(--smoke-travel) * (0.50000 + (var(--smoke-mid-progress,.55) - .58) * 1.00000)),calc(var(--smoke-rise,-25vh) * 0.50000),0) scale(0.98500) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.50000))}55%{transform:translate3d(calc(var(--smoke-travel) * (0.55000 + (var(--smoke-mid-progress,.55) - .58) * 0.99000)),calc(var(--smoke-rise,-25vh) * 0.57475),0) scale(0.99850) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.55000))}60%{transform:translate3d(calc(var(--smoke-travel) * (0.60000 + (var(--smoke-mid-progress,.55) - .58) * 0.96000)),calc(var(--smoke-rise,-25vh) * 0.64800),0) scale(1.01200) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.60000))}65%{transform:translate3d(calc(var(--smoke-travel) * (0.65000 + (var(--smoke-mid-progress,.55) - .58) * 0.91000)),calc(var(--smoke-rise,-25vh) * 0.71825),0) scale(1.02550) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.65000))}70%{transform:translate3d(calc(var(--smoke-travel) * (0.70000 + (var(--smoke-mid-progress,.55) - .58) * 0.84000)),calc(var(--smoke-rise,-25vh) * 0.78400),0) scale(1.03900) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.70000))}75%{transform:translate3d(calc(var(--smoke-travel) * (0.75000 + (var(--smoke-mid-progress,.55) - .58) * 0.75000)),calc(var(--smoke-rise,-25vh) * 0.84375),0) scale(1.05250) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.75000))}80%{transform:translate3d(calc(var(--smoke-travel) * (0.80000 + (var(--smoke-mid-progress,.55) - .58) * 0.64000)),calc(var(--smoke-rise,-25vh) * 0.89600),0) scale(1.06600) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.80000))}85%{transform:translate3d(calc(var(--smoke-travel) * (0.85000 + (var(--smoke-mid-progress,.55) - .58) * 0.51000)),calc(var(--smoke-rise,-25vh) * 0.93925),0) scale(1.07950) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.85000))}90%{transform:translate3d(calc(var(--smoke-travel) * (0.90000 + (var(--smoke-mid-progress,.55) - .58) * 0.36000)),calc(var(--smoke-rise,-25vh) * 0.97200),0) scale(1.09300) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.90000))}95%{transform:translate3d(calc(var(--smoke-travel) * (0.95000 + (var(--smoke-mid-progress,.55) - .58) * 0.19000)),calc(var(--smoke-rise,-25vh) * 0.99275),0) scale(1.10650) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 0.95000))}100%{transform:translate3d(calc(var(--smoke-travel) * (1.00000 + (var(--smoke-mid-progress,.55) - .58) * 0.00000)),calc(var(--smoke-rise,-25vh) * 1.00000),0) scale(1.12000) rotate(calc(-9deg + (var(--smoke-turn,15deg) + 9deg) * 1.00000))}0%{opacity:0}12%{opacity:var(--smoke-peak)}72%{opacity:var(--smoke-middle)}100%{opacity:0}}
.wihh-smoke-layer.is-paused{visibility:hidden}.wihh-smoke-layer.is-paused .wihh-smoke-ring{animation-play-state:paused}
@media(max-width:650px){.wihh-smoke-ring{--smoke-size:105px;--smoke-peak:.09184;--smoke-middle:.06888}}
@media(prefers-reduced-motion:reduce){.wihh-smoke-layer{display:none}.wihh-smoke-ring.is-floating{animation:none}}
/* Same approved outer footprint and texture. Alpha normalization is folded into
   opacity above, avoiding an extra filter surface during compositor motion. */
.wihh-smoke-ring{box-sizing:border-box;padding:calc(var(--smoke-size) * .05)}
