/* Case Opening v2 — scoped visual system; existing business pages are unchanged. */
:root {
  --pv-accent:#dc83ff;--pv-border:rgba(209,143,255,.42);
  --case-card-w:144px;--case-card-h:198px;--case-gap:10px;--case-radius:16px;
}
#homeView {overflow-x:clip}
#homeView .hero{height:155px}
#homeView .hero-ps{height:155px}
#homeView .hero-gta{height:141px}
#homeView h1{margin:2px 0 10px;line-height:1.08;font-size:clamp(23px,6vw,29px)}
.hero-headline-accent{color:#f6c7ff;text-shadow:0 0 17px #b844ff}
.case-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;margin-bottom:6px;min-width:0}
.case-heading__eyebrow{font-size:10px;font-weight:800;letter-spacing:1.4px;color:#d4a6ee}
.case-heading__live{font-size:9px;font-weight:850;white-space:nowrap;color:#d9b3ff;letter-spacing:1px}
.case-heading__live i{display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:#c279ff;box-shadow:0 0 10px #ba60ff}
.case-opening{position:relative;width:calc(100% + 34px);min-width:0;margin:0 -17px 0;isolation:isolate}
.case-viewport{position:relative;width:100%;height:226px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 74% 100% at 50% 42%,#46235f 0%,#241331 63%,#130c23 100%);border-top:1px solid rgba(188,97,248,.54);border-bottom:1px solid rgba(188,97,248,.54);box-shadow:inset 0 0 32px #a23dff18}
.case-viewport::before,.case-viewport::after{content:"";position:absolute;z-index:1;left:0;right:0;pointer-events:none}
.case-viewport::before{top:0;height:2px;background:linear-gradient(90deg,transparent,#d381ff70,transparent)}
.case-viewport::after{bottom:0;height:1px;background:linear-gradient(90deg,transparent,#df83ff77,transparent)}
.case-track{position:relative;display:flex;align-items:center;gap:var(--case-gap);width:max-content;height:100%;will-change:transform;transform:translate3d(0,0,0);backface-visibility:hidden}
.prize-card{box-sizing:border-box;position:relative;flex:0 0 var(--case-card-w);width:var(--case-card-w);height:var(--case-card-h);padding:10px;display:flex;flex-direction:column;gap:7px;border-radius:var(--case-radius);border:1px solid rgba(227,171,255,.34);background:linear-gradient(155deg,#3b2550,#271833 54%,#20162e);box-shadow:inset 0 1px #ffffff1b,0 12px 21px #0903133d;overflow:hidden}
.prize-card__media{width:100%;height:122px;min-height:122px;display:grid;place-items:center;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr);min-width:0;overflow:hidden;border-radius:10px;background:radial-gradient(ellipse at 50% 65%,rgba(177,92,247,.20),rgba(18,11,30,.56) 70%)}
.prize-card__image{display:block;width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:100%;object-fit:contain;object-position:center center;filter:drop-shadow(0 6px 7px rgba(0,0,0,.32))}
.prize-card__fallback{display:grid;place-items:center;width:67px;height:67px;border-radius:19px;border:1px solid #cb8bff80;background:radial-gradient(circle,#7948b6 0%,#34204e 75%);box-shadow:0 0 22px #b85cff55;color:#efc2ff;font-size:43px;font-weight:400;line-height:1}
.prize-card--virtual .prize-card__fallback{border-radius:50%;font-size:48px}
.prize-card__meta{flex:1 1 auto;min-height:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;text-align:center}
.prize-card__name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere;max-width:100%;color:#fff6ff;font-size:12.5px;font-weight:750;line-height:1.17}
.prize-card__kind{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#bb9acc;font-size:10px;font-weight:550;line-height:1.2}
.case-track .prize-card.is-winner{border-color:#f8deff}
.case-opening.is-finished .prize-card.is-winner{border-color:#f5d2ff;box-shadow:0 0 0 1px #e9a4ff,0 0 30px rgba(218,109,255,.65),inset 0 1px rgba(255,255,255,.12);background:linear-gradient(155deg,#58336e,#2e1b3f 62%,#20142f)}
.case-marker{position:absolute;z-index:5;top:0;bottom:0;left:50%;width:0;pointer-events:none;transform:translateX(-50%)}
.case-marker__line{position:absolute;left:-1px;top:10px;bottom:10px;width:2px;background:linear-gradient(#fbe0ff,#e19aff7a 22%,#e6adff60 75%,#fbe0ff);box-shadow:0 0 4px #ffb3ffa0,0 0 12px #af60ff70}
.case-marker__top,.case-marker__bottom{position:absolute;left:-11px;width:22px;height:12px;background:#f2c0ff;clip-path:polygon(0 0,100% 0,50% 100%);filter:drop-shadow(0 0 6px #d26cff)}
.case-marker__top{top:0}
.case-marker__bottom{bottom:0;transform:rotate(180deg)}
.case-edge{position:absolute;top:0;bottom:0;z-index:3;width:13%;pointer-events:none}
.case-edge--left{left:0;background:linear-gradient(90deg,#180e28e8,transparent)}
.case-edge--right{right:0;background:linear-gradient(270deg,#180e28e8,transparent)}
.case-status{position:absolute;z-index:6;left:50%;bottom:-23px;transform:translateX(-50%);max-width:85%;white-space:nowrap;padding:5px 15px;margin:0;text-align:center;border:1px solid #dc8bff8c;background:#21112dda;border-radius:20px;color:#f4d8ff;font-size:12px;font-weight:750;box-shadow:0 0 12px #a84ef866}
.case-opening.is-spinning+.case-disclaimer{opacity:0}
.case-disclaimer{font-size:10px;text-align:center;line-height:1.35;color:#a48ab6;margin:7px 0 12px}
#homeView .main-cta{min-height:55px;border-radius:16px}
#homeView .balance-line{margin-top:7px}
.prize-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:18px}
.prize-list-entry{min-width:0;display:flex;flex-direction:column;align-items:center;padding:9px 5px;border:1px solid #954abb69;border-radius:19px;background:linear-gradient(150deg,#30183e,#160f26)}
.prize-card--list{--case-card-w:min(100%,158px);flex:0 0 auto;height:204px}
.prize-card--list .prize-card__media{height:126px;min-height:126px}
.prize-list-details{display:flex;flex-direction:column;text-align:center;gap:4px;line-height:1.3;padding:8px 2px 5px;font-size:11px;color:#bca9cc}
.prize-list-details .chance-value{color:#f0c9ff;font-size:12px}
#resultView{padding-top:12px}
#resultView .result-heading{font-size:29px!important;margin:9px 0 6px!important}
#resultView .result-subtitle{font-size:14px;line-height:1.35;color:#d9b9ed}
#resultView .result-title{font-size:24px;margin:6px 0 2px}
.result-product-wrap{height:335px;min-height:0;margin:3px auto 13px;display:grid;place-items:center}
.result-product-wrap::after{display:none}
.result-halo{height:75%;width:80%;filter:blur(22px);background:radial-gradient(ellipse,#8f39ca87,transparent 72%)}
.result-prize-card{position:relative;z-index:1;display:grid;place-items:center}
.prize-card--large{--case-card-w:min(72vw,255px);height:317px;padding:14px;border-radius:22px;gap:13px}
.prize-card--large .prize-card__media{height:225px;min-height:225px;border-radius:14px}
.prize-card--large .prize-card__name{font-size:18px;line-height:1.14}
.prize-card--large .prize-card__kind{font-size:12px}
.result-product-wrap .prize-card__image{width:100%;height:100%;filter:drop-shadow(0 6px 8px #0006)}
.result-product-wrap .prize-card__fallback{width:125px;height:125px;font-size:75px}
@media(max-width:380px){:root{--case-card-w:136px}#homeView .hero{height:136px}#homeView .hero-ps{height:137px}#homeView .hero-gta{height:122px}#homeView h1{font-size:23px;margin:0 0 9px}.case-heading{margin-top:11px}.case-viewport{height:218px}.case-disclaimer{margin:6px 0 9px}#homeView .main-cta{min-height:50px}.prize-card--list{--case-card-w:min(100%,150px)}}
@media(min-width:431px){#homeView .hero{height:169px}#homeView .hero-ps{height:171px}#homeView .hero-gta{height:151px}}
@media(max-height:760px){#homeView .hero{height:110px}#homeView .hero-ps{height:113px}#homeView .hero-gta{height:103px}#homeView h1{font-size:22px}.case-heading{margin-top:9px}.case-disclaimer{margin-bottom:7px}}
@media(prefers-reduced-motion:reduce){.case-track{transition:none!important}.prize-card{animation:none!important}}
/* Production single-prize case; retain all old geometry and purple skin. */
.prize-card--empty {background:linear-gradient(155deg,#3a2050,#21152e 65%,#1b1229);border-color:#684580a0}
.prize-card--empty .prize-card__media{background:radial-gradient(ellipse at center,#56277f44,transparent 70%)}
.prize-card--empty .prize-card__fallback{border:1px solid #974ddc55;background:linear-gradient(135deg,#49236299,#281a4099);box-shadow:none;font-size:35px;color:#af75d4a8}
.prize-card--empty .prize-card__name{color:#d1b5e5;font-weight:650}
.prize-card--bundle{border:1px solid #efa5ffb8;background:linear-gradient(150deg,#673481,#321b4a 60%,#21132e);box-shadow:inset 0 1px #fff2,0 0 24px #ac51ef55}
.prize-card--bundle .prize-card__media{background:radial-gradient(ellipse,#ad4bff3d,#1b0b2d 75%)}
.prize-card--bundle .prize-card__kind{color:#ffe09b;font-weight:800;letter-spacing:.7px}
.prize-card__duo{display:flex;align-items:center;justify-content:center;gap:1px;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.prize-card__duo img{display:block;width:56%;height:100%;min-width:0;object-fit:contain;object-position:center;filter:drop-shadow(0 5px 5px #0008)}
.prize-card__duo img:last-child{width:44%}
.case-opening.is-finished .prize-card.is-target:not(.prize-card--bundle){border-color:#d09ef49c;box-shadow:0 0 0 1px #6f4188,0 0 20px #7d37af44}
.case-opening.is-victory .prize-card.is-target{border-color:#ffeab5;box-shadow:0 0 0 1px #f3ccff,0 0 38px #d481ffac,0 0 50px #a14cffa1;animation:win-glow 1.5s ease-in-out infinite alternate}
@keyframes win-glow{to{box-shadow:0 0 0 2px #fce4ff,0 0 48px #e6a6ffbb,0 0 70px #b85fff99}}
.prize-card--large .prize-card__duo{gap:9px}
.prize-card--large .prize-card__duo img{width:54%;height:100%}
.prize-card--large .prize-card__duo img:last-child{width:41%}
.case-modebar{display:flex;gap:8px;align-items:center;justify-content:space-between;margin:9px 0 5px;color:#c2a4d7;font-size:11px}
.case-modebar label{display:flex;align-items:center;gap:5px}
.case-modebar select{max-width:150px;border:1px solid #8252a5;background:#24152f;border-radius:10px;padding:5px 6px;color:white;font-size:11px}
.case-modebar .small-button{padding:6px 9px;font-size:11px}
.case-viewport .prize-card{contain:layout paint style}
@media(prefers-reduced-motion:reduce){.case-opening.is-victory .prize-card.is-target{animation:none}}
