.lk-smoke-stage{position:relative;isolation:isolate;overflow:hidden;min-height:420px;background:#08070b}
/* Soft atmospheric smoke; independent of the hold-to-cast interaction. */
.lk-smoke-edges{position:absolute;inset:0;z-index:0;pointer-events:none;opacity:1;transition:opacity 1.8s ease}
.lk-smoke-edges i,.lk-smoke-button:before,.lk-smoke-button:after{position:absolute;display:block;background:url('smoke.png') center/contain no-repeat;pointer-events:none;filter:blur(5px) brightness(1.8);mix-blend-mode:screen;opacity:.48;animation:lk-smoke-drift 12s ease-in-out infinite alternate;will-change:transform}
.lk-smoke-edges i{width:75vw;height:49%;top:33%;max-width:1100px}
.lk-smoke-left{left:-22%;--smoke-turn:-17deg;--smoke-flip:1}
.lk-smoke-right{right:-22%;--smoke-turn:15deg;--smoke-flip:-1;animation-duration:15s!important;animation-delay:-7s!important}
.lk-smoke-button{position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:1;transition:opacity 1.8s ease}
.lk-smoke-button:before,.lk-smoke-button:after{content:'';width:140%;height:170%;left:-20%;top:-32%;opacity:.34;--smoke-turn:0deg;--smoke-flip:1;animation-duration:11s}
.lk-smoke-button:after{opacity:.18;--smoke-turn:8deg;--smoke-flip:-1;animation-duration:16s;animation-delay:-8s}
.lk-smoke-off .lk-smoke-edges,.lk-smoke-off .lk-smoke-button{opacity:0}
@keyframes lk-smoke-drift{0%{transform:translate3d(-38px,22px,0) rotate(var(--smoke-turn)) scaleX(var(--smoke-flip)) scale(1)}50%{transform:translate3d(18px,-18px,0) rotate(calc(var(--smoke-turn) + 3deg)) scaleX(var(--smoke-flip)) scale(1.10)}100%{transform:translate3d(60px,-48px,0) rotate(calc(var(--smoke-turn) - 2deg)) scaleX(var(--smoke-flip)) scale(1.18)}}
@media(max-width:700px){.lk-smoke-edges i{width:115vw;height:40%;top:33%;opacity:.35}.lk-smoke-left{left:-49%}.lk-smoke-right{right:-49%}.lk-smoke-button:before{opacity:.27}.lk-smoke-button:after{opacity:.14}}
@media(prefers-reduced-motion:reduce){.lk-smoke-edges i,.lk-smoke-button:before,.lk-smoke-button:after{animation:none;will-change:auto}.lk-smoke-edges,.lk-smoke-button{transition:none}}

/* Shallow floor mist collects at the corners and rolls sideways. */
.lk-smoke-pool{position:absolute;bottom:-20px;width:62vw;height:clamp(150px,24vh,270px);pointer-events:none;--pool-flip:1}
.lk-smoke-pool-left{left:-15%}
.lk-smoke-pool-right{right:-15%;--pool-flip:-1}
.lk-smoke-pool:before,.lk-smoke-pool:after{content:'';position:absolute;inset:0;background:url('smoke.png') center bottom/100% 100% no-repeat;filter:blur(7px) brightness(1.8);mix-blend-mode:screen;opacity:.43;transform-origin:center bottom;animation:lk-smoke-pool-roll 18s ease-in-out infinite alternate;will-change:transform}
.lk-smoke-pool:after{inset:30% -8% -4%;opacity:.23;animation-duration:25s;animation-delay:-12s}
.lk-smoke-pool-right:before{animation-duration:22s;animation-delay:-9s}
.lk-smoke-pool-right:after{animation-duration:28s;animation-delay:-19s}
@keyframes lk-smoke-pool-roll{0%{transform:translate3d(-24px,3px,0) scaleX(var(--pool-flip)) scale(1,.94)}50%{transform:translate3d(4px,-3px,0) scaleX(var(--pool-flip)) scale(1.07,1.02)}100%{transform:translate3d(36px,1px,0) scaleX(var(--pool-flip)) scale(1.14,.97)}}
@media(max-width:700px){.lk-smoke-pool{width:86vw;height:155px;bottom:-12px}.lk-smoke-pool-left{left:-29%}.lk-smoke-pool-right{right:-29%}.lk-smoke-pool:before{opacity:.34}.lk-smoke-pool:after{opacity:.18}}
@media(prefers-reduced-motion:reduce){.lk-smoke-pool:before,.lk-smoke-pool:after{animation:none;will-change:auto}}

