/* SLOT PORTAL Ver.2.2 — realistic photographic blue-white lightning transition.
   The animation is a foreground overlay; app UI and user storage are untouched. */
#slot-thunder-transition{position:fixed;inset:0;z-index:2147483000;pointer-events:none;overflow:hidden;isolation:isolate;visibility:hidden;opacity:0;background:#050b1f;-webkit-transform:translateZ(0);transform:translateZ(0);contain:layout paint style}
#slot-thunder-transition.is-active{visibility:visible;opacity:1}
#slot-thunder-transition .thunder-frame{position:absolute;inset:-1px;width:calc(100% + 2px);height:calc(100% + 2px);object-fit:cover;object-position:center center;opacity:0;transform:translateZ(0) scale(1.018);-webkit-backface-visibility:hidden;backface-visibility:hidden;user-select:none;-webkit-user-drag:none}
#slot-thunder-transition.is-active .thunder-cloud{animation:th22-cloud 1.12s linear both}
#slot-thunder-transition.is-active .thunder-approach{animation:th22-approach 1.12s linear both}
#slot-thunder-transition.is-active .thunder-strike{animation:th22-strike 1.12s linear both}
#slot-thunder-transition.is-active .thunder-impact{animation:th22-impact 1.12s linear both}
#slot-thunder-transition.is-active .thunder-recede{animation:th22-recede 1.12s linear both}
#slot-thunder-transition .thunder-flash{position:absolute;inset:-2%;opacity:0;mix-blend-mode:screen;background:radial-gradient(ellipse at 50% 80%,#fff 0%,#c9eaff 23%,#86bfff 62%,transparent 90%),linear-gradient(180deg,#f5faffef,#abdfff55 60%,#fff9)}
#slot-thunder-transition.is-active .thunder-flash{animation:th22-flash 1.12s linear both}
#slot-thunder-transition .thunder-horizon{position:absolute;inset:0;opacity:0;background:radial-gradient(ellipse at 50% 83%,#c2edffbc 0%,#2569f76e 12%,transparent 47%);mix-blend-mode:screen}
#slot-thunder-transition.is-active .thunder-horizon{animation:th22-horizon 1.12s ease-out both}
#slot-thunder-transition .thunder-curtain{position:absolute;inset:0;opacity:0;background:#070d23}
#slot-thunder-transition.is-active .thunder-curtain{animation:th22-curtain 1.12s ease-in both}
body.slot-thunder-transitioning .shell,body.slot-thunder-transitioning .page{animation:th22-shake 1.12s ease-out both!important;will-change:transform}
@keyframes th22-cloud{0%,12%{opacity:1}18%{opacity:.95}32%,100%{opacity:0}}
@keyframes th22-approach{0%,10%{opacity:0}18%,28%{opacity:1}40%,100%{opacity:0}}
@keyframes th22-strike{0%,26%{opacity:0}32%,48%{opacity:1}54%,100%{opacity:0}}
@keyframes th22-impact{0%,43%{opacity:0}49%,67%{opacity:1}74%,100%{opacity:0}}
@keyframes th22-recede{0%,63%{opacity:0}72%,92%{opacity:1}100%{opacity:.38}}
@keyframes th22-flash{0%,29%{opacity:0}32%{opacity:.38}35%{opacity:0}47%{opacity:0}50%{opacity:.75}54%{opacity:.05}59%{opacity:.26}63%,100%{opacity:0}}
@keyframes th22-horizon{0%,43%{opacity:0}50%{opacity:.6}64%{opacity:1}86%{opacity:.45}100%{opacity:0}}
@keyframes th22-curtain{0%,93%{opacity:0}100%{opacity:.92}}
@keyframes th22-shake{0%,44%{transform:translateX(0)}47%{transform:translateX(-6px)}51%{transform:translateX(5px)}55%{transform:translateX(-4px)}61%{transform:translateX(2px)}68%,100%{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){#slot-thunder-transition{display:none!important}body.slot-thunder-transitioning .shell,body.slot-thunder-transitioning .page{animation:none!important}}
