/* Japanese Temple slot — animation keyframes (ported verbatim from the original build)
   plus the toast + error styles used by the platform client. */
html,body{margin:0;padding:0;height:100%;background:#150b16;overflow:hidden;font-family:Vazirmatn,system-ui,sans-serif;}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;}

@keyframes jtWildPop{0%{transform:scale(.85)}45%{transform:scale(1.1)}100%{transform:scale(1)}}
@keyframes jtGlowPulse{0%,100%{box-shadow:0 0 0 rgba(255,190,60,0)}50%{box-shadow:0 0 26px rgba(255,190,60,.9)}}
@keyframes jtPetal{0%{transform:translate3d(0,-10vh,0) rotate(0deg);opacity:0}10%{opacity:.9}100%{transform:translate3d(-14vw,110vh,0) rotate(420deg);opacity:0}}
@keyframes jtZoom{0%{transform:scale(.5);opacity:0}60%{transform:scale(1.08);opacity:1}100%{transform:scale(1);opacity:1}}
@keyframes jtSpinRing{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes jtCoin{0%{transform:translateY(-20vh) rotate(0deg);opacity:0}15%{opacity:1}100%{transform:translateY(110vh) rotate(720deg);opacity:0}}
@keyframes jtWinLand{0%{transform:scale(1)}22%{transform:scale(1.34) rotate(-6deg)}46%{transform:scale(1.04) rotate(4deg)}68%{transform:scale(1.22) rotate(-2deg)}100%{transform:scale(1.12) rotate(0deg)}}
@keyframes jtWinBeat{0%,100%{transform:scale(1.06)}50%{transform:scale(1.24)}}
@keyframes jtHaloSpin{0%{transform:rotate(0deg) scale(1);opacity:.55}50%{opacity:1;transform:rotate(180deg) scale(1.1)}100%{transform:rotate(360deg) scale(1);opacity:.55}}
@keyframes jtRingBurst{0%{transform:scale(.55);opacity:1;border-width:5px}100%{transform:scale(1.5);opacity:0;border-width:1px}}
@keyframes jtSparkle{0%,100%{transform:scale(0) rotate(0deg);opacity:0}45%{transform:scale(1) rotate(120deg);opacity:1}}
@keyframes jtAmountPop{0%{transform:translate(-50%,4px) scale(.5);opacity:0}25%{transform:translate(-50%,-8px) scale(1.14);opacity:1}72%{transform:translate(-50%,-14px) scale(1);opacity:1}100%{transform:translate(-50%,-34px) scale(.94);opacity:0}}
@keyframes jtBannerPop{0%{transform:translate(-50%,14px) scale(.7);opacity:0}55%{transform:translate(-50%,0) scale(1.1);opacity:1}100%{transform:translate(-50%,0) scale(1);opacity:1}}
@keyframes jtBannerShine{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes jtFrameFlash{0%,100%{box-shadow:inset 0 0 0 rgba(255,205,80,0)}50%{box-shadow:inset 0 0 46px rgba(255,205,80,.75)}}
@keyframes jtToast{0%{opacity:0;transform:translate(-50%,-14px)}12%{opacity:1;transform:translate(-50%,0)}80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-10px)}}

/* Toast: fixed to the iframe viewport, driven by a CSS keyframe (rAF fades can be
   throttled inside a nested iframe and never appear). */
.jt-toast{position:fixed;left:50%;top:12px;transform:translate(-50%,-14px);z-index:99999;max-width:92vw;padding:11px 24px;border-radius:24px;font-family:Vazirmatn,Tahoma,sans-serif;font-size:16px;font-weight:700;color:#fff;text-align:center;white-space:nowrap;pointer-events:none;}

#jt-error{position:fixed;left:50%;top:14px;transform:translateX(-50%);z-index:100000;display:none;max-width:92vw;padding:10px 20px;border-radius:12px;font-family:Vazirmatn,Tahoma,sans-serif;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(180deg,#8a2b16,#5a1a0d);box-shadow:0 0 0 2px #c25a2a,0 12px 28px rgba(0,0,0,.55);}
