/* 12.3: opening feedback and mechanical reel finish */
#openingView .reelitem{will-change:transform;backface-visibility:hidden;transition:filter .12s linear,background .12s linear!important}
#openingView .reelitem.reel-crossed{filter:brightness(1.18)}
#openingView .reel-wrap{position:relative;overflow:hidden}
#openingView .reel-wrap:before,#openingView .reel-wrap:after{content:"";position:absolute;z-index:5;top:0;bottom:0;width:min(13%,100px);pointer-events:none}
#openingView .reel-wrap:before{left:0;background:linear-gradient(90deg,#0d151de8,transparent)}
#openingView .reel-wrap:after{right:0;background:linear-gradient(270deg,#0d151de8,transparent)}
#openingView .unlock-stage.roll-settling .marker{filter:drop-shadow(0 0 9px #d3b77d)}
#openingView .unlock-stage.roll-locked .reel-wrap{box-shadow:0 0 0 1px #c5a469,inset 0 0 38px #000b,0 0 25px #c5a46920}
#openingView .unlock-stage.roll-locked .marker{filter:drop-shadow(0 0 14px #ffe4a8)}
#resultModal .reveal-image{transform-origin:50% 60%}
#resultModal.show .reveal-image{animation:cs23RewardIn .72s cubic-bezier(.18,.78,.2,1) both}
@keyframes cs23RewardIn{0%{opacity:0;transform:translateY(24px) scale(.87);filter:blur(5px)}65%{opacity:1;filter:blur(0)}100%{transform:translateY(0) scale(1);filter:blur(0)}}
@media(prefers-reduced-motion:reduce){#resultModal.show .reveal-image{animation:none!important}#openingView .reelitem{transition:none!important}}
