/* 11.3 — cinematic opening stage. Visual only; server remains authoritative. */
#openingView .unlock-stage{isolation:isolate;position:relative;overflow:hidden;border:1px solid #756246;background:radial-gradient(ellipse 68% 45% at 50% 34%,#a17b3d24,transparent 80%),linear-gradient(155deg,#26323a,#101922 78%);box-shadow:inset 0 1px #ffffff25,inset 0 -45px 95px #060b12a8,0 25px 75px #0007;border-radius:12px}
#openingView .unlock-stage:before{content:'';position:absolute;inset:0;pointer-events:none;z-index:0;opacity:.42;background:repeating-linear-gradient(90deg,transparent 0 78px,#ffffff07 79px 80px),linear-gradient(125deg,transparent 20%,#ffe0a00c 47%,transparent 68%)}
#openingView .unlock-stage:after{content:'';position:absolute;pointer-events:none;left:-35%;top:-60%;width:170%;height:115%;background:linear-gradient(100deg,transparent 42%,#fff0c313 50%,transparent 58%);transform:translateX(-55%) rotate(-7deg);transition:transform 1.1s ease;z-index:0}
#openingView .unlock-stage.spinning:after{transform:translateX(55%) rotate(-7deg)}
#openingView .unlock-stage>*{position:relative;z-index:1}
#openingView .stage-topline{padding-top:15px;letter-spacing:1.7px}
#openingView .hero-case{filter:drop-shadow(0 25px 22px #0009);transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s}
#openingView .unlock-stage:not(.spinning) .hero-case:hover{transform:translateY(-7px) scale(1.025);filter:drop-shadow(0 34px 26px #000b)}
#openingView .unlock-stage.spinning .hero-case{transform:translateY(-12px) scale(.96);opacity:.75}
#openingView .reel-wrap{border-radius:8px;box-shadow:0 0 0 1px #e5bf7638,0 15px 50px #050b13aa,inset 0 0 45px #0008;background:linear-gradient(180deg,#101923,#26333c 50%,#111a24)}
#openingView .reel-shroud{mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
#openingView .reelitem{transition:filter .2s,box-shadow .2s;border-radius:5px;box-shadow:inset 0 1px #ffffff1b}
#openingView .marker{filter:drop-shadow(0 0 8px #ffd17e)}
#openingView .centre-glow{pointer-events:none;filter:drop-shadow(0 0 20px #dca858)}
#openingView .openstatus{letter-spacing:2px;text-shadow:0 0 15px #e4b36c3b}
#openingView .btn-open{min-height:52px;border-radius:5px;box-shadow:0 8px 25px #0005, inset 0 1px #ffffff65}
#openingView .btn-open:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 12px 32px #0009,0 0 23px #d9b16a24}
#openingView .unlock-stage.spinning .reel-wrap{animation:caseReelPulse 1.3s ease-in-out infinite alternate}
@keyframes caseReelPulse{from{box-shadow:0 0 0 1px #e5bf7638,0 15px 50px #050b13aa}to{box-shadow:0 0 0 1px #f2d18b7d,0 15px 50px #050b13aa,0 0 34px #c89b4d20}}
#resultModal .reveal-scene{isolation:isolate;overflow:hidden}
#resultModal .reveal-scene:before{content:'';position:absolute;inset:-40%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0 20%,color-mix(in srgb,var(--tier) 22%,transparent) 27%,transparent 35% 68%,color-mix(in srgb,var(--tier) 13%,transparent) 78%,transparent 87%);opacity:.55;animation:rewardHalo 16s linear infinite;z-index:0}
#resultModal .reveal-scene>*{position:relative;z-index:1}
#resultModal .reveal-image{filter:drop-shadow(0 30px 26px #000a)}
#resultModal.reveal-premium .reveal-image{animation:rewardLift .85s cubic-bezier(.18,.75,.15,1) both}
#resultModal.reveal-premium .reveal-scene{box-shadow:inset 0 0 110px color-mix(in srgb,var(--tier) 18%,transparent)}
#resultModal.reveal-premium .reveal-scene:after{content:'';position:absolute;inset:0;pointer-events:none;z-index:2;background:radial-gradient(ellipse at 50% 45%,#ffffff5e,transparent 48%);animation:rewardFlash .85s ease-out both}
@keyframes rewardHalo{to{transform:rotate(360deg)}}
@keyframes rewardLift{from{opacity:.1;transform:translateY(22px) scale(.88);filter:blur(8px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}
@keyframes rewardFlash{from{opacity:.75}to{opacity:0}}
@media(max-width:700px){#openingView .unlock-stage{border-radius:9px}#openingView .btn-open{min-height:47px}#openingView .reel-shroud{mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}}
@media(prefers-reduced-motion:reduce){#openingView .unlock-stage:after,#openingView .hero-case,#openingView .btn-open,#resultModal .reveal-scene:before,#resultModal.reveal-premium .reveal-image,#resultModal.reveal-premium .reveal-scene:after{animation:none!important;transition:none!important}}
