/* V11.0 CUSTOMER FRONTEND STABILIZATION
   Consolidated production cascade.
   Source order preserved exactly: styles.css -> v10.6.css.
   No gameplay or admin logic is changed. */

:root{--gold:#ffd45b;--gold2:#d79717;--bg:#07080d;--panel:#10141d;--text:#f7f8fb;--muted:#98a1af;--green:#55e18b}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;background:radial-gradient(circle at 50% -10%,#3a2108 0,#120d0a 22%,#080a10 58%,#05060a 100%);color:var(--text);min-height:100vh;overflow-x:hidden}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.22;pointer-events:none}.a1{width:480px;height:480px;background:#d99012;top:-180px;left:-160px}.a2{width:420px;height:420px;background:#7642bb;right:-180px;bottom:-180px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);border-bottom:1px solid #7d5b202e;background:#07090ecc;backdrop-filter:blur(14px);position:relative;z-index:5}.brand{font-size:27px;font-weight:1000;color:var(--gold);letter-spacing:-1px}.campaign-tag{font-size:11px;letter-spacing:2px;color:#c8b071;border:1px solid #7d612b;padding:9px 14px;border-radius:100px}.page{max-width:1280px;margin:auto;padding:42px 26px 64px;position:relative}.intro{text-align:center}.eyebrow{font-size:11px;font-weight:900;letter-spacing:3px;color:#c89f3c}.intro h1{font-size:clamp(48px,7vw,88px);line-height:.95;margin:17px 0 8px;background:linear-gradient(#fff3ab,#f9bf32 50%,#ad6912);-webkit-background-clip:text;color:transparent;text-shadow:0 12px 50px #e99a1838}.intro p{margin:0;color:#d8dbe2;font-weight:700;letter-spacing:1px}.game-shell{display:grid;grid-template-columns:390px 1fr;gap:56px;align-items:center;margin-top:44px}.glass{background:linear-gradient(145deg,#151923e8,#0b0e15e8);border:1px solid #6d5629;border-radius:24px;box-shadow:0 24px 70px #000a,inset 0 1px #ffffff0a}.coupon-card{padding:30px}.step{font-size:10px;color:#d4a838;letter-spacing:2px;font-weight:900}.coupon-card h2{font-size:26px;margin:10px 0 6px}.coupon-card>p{color:var(--muted);font-size:13px;line-height:1.6;margin:0 0 22px}.input-wrap{display:flex;align-items:center;gap:10px;background:#080b11;border:1px solid #333b4b;border-radius:12px;padding:0 14px}.input-wrap input{width:100%;background:transparent;border:0;outline:0;color:white;padding:15px 0;font-size:15px;font-weight:800;letter-spacing:.5px}.btn{width:100%;padding:14px 16px;border:0;border-radius:11px;font-weight:1000;letter-spacing:.3px;cursor:pointer;transition:.2s}.btn:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.06)}.primary{background:linear-gradient(135deg,#ffe27a,#d99a17);color:#161007;box-shadow:0 8px 25px #c98c2528}.secondary{background:#202837;color:white;border:1px solid #364256}.spin-action{margin-top:10px;background:linear-gradient(135deg,#4be586,#149b54);color:#06170d}.btn:disabled{opacity:.38;cursor:not-allowed}.coupon-card .primary{margin-top:14px}.message{min-height:23px;margin-top:12px;font-size:13px;font-weight:800}.success{color:var(--green)}.error{color:#ff7e7e}.rules{display:grid;gap:8px;margin-top:14px;color:#8791a0;font-size:11px}.result-card{display:none;margin-top:18px;padding:28px;text-align:center}.result-card.show{display:block;animation:pop .45s ease}.result-icon{width:50px;height:50px;display:grid;place-items:center;margin:auto;border-radius:50%;background:#2bc77422;color:#62ec99;font-size:25px}.result-small{display:block;margin-top:14px;color:#65dc91;font-size:10px;letter-spacing:2px;font-weight:900}.result-card h2{font-size:18px;margin:6px 0}.prize{font-size:34px;line-height:1.05;color:#62e995;font-weight:1000;margin:12px 0}.result-card p{color:#8e98a8;font-size:12px}.claim{font-family:monospace;background:#080b10;border:1px dashed #596374;border-radius:10px;padding:13px;font-size:20px;letter-spacing:1px}.result-card .btn{margin-top:10px;text-decoration:none;display:block}.wheel-stage{display:flex;justify-content:center;align-items:center;position:relative;min-height:610px}.halo{position:absolute;width:min(68vw,620px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#e5a62420 0,transparent 67%);box-shadow:0 0 130px #dc941b32}.pointer{position:absolute;top:14px;z-index:6;width:70px;height:88px;background:linear-gradient(#ffdf68,#bc7411);clip-path:polygon(50% 100%,0 34%,10% 10%,50% 0,90% 10%,100% 34%);filter:drop-shadow(0 8px 8px #000)}.pointer span{position:absolute;inset:12px 18px 38px;border-radius:50%;background:#b92027;border:4px solid #ffe67a}.wheel-stage:has(.wheel.is-spinning) .pointer{animation:pointerTick .16s ease-in-out infinite alternate}.wheel{width:min(68vw,570px);aspect-ratio:1;border-radius:50%;border:16px solid #eec64c;box-shadow:0 0 0 6px #6f4310,0 0 0 12px #24180a,0 28px 80px #000d,0 0 55px #f5a62366;position:relative;overflow:hidden;transition:transform 5s cubic-bezier(.08,.72,.06,1);background:conic-gradient(#c63227 0 51.43deg,#16875f 51.43deg 102.86deg,#7639a5 102.86deg 154.29deg,#252b37 154.29deg 205.72deg,#db7418 205.72deg 257.15deg,#0794a5 257.15deg 308.58deg,#1d60ae 308.58deg 360deg)}.wheel:before{content:"";position:absolute;inset:10px;border:1px solid #ffffff24;border-radius:50%;z-index:2}.wheel-label{position:absolute;width:24%;min-height:54px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;padding:4px;font-weight:1000;font-size:13px;line-height:1.02;text-align:center;text-shadow:0 2px 4px #000;z-index:1;pointer-events:none}.wheel-label span{display:block;max-width:100%;overflow-wrap:anywhere}.wheel.is-spinning .wheel-label{filter:blur(.45px)}.spin-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:120px;height:120px;border-radius:50%;border:9px solid #eabe45;background:radial-gradient(circle at 35% 25%,#2d3441,#0c0f15 70%);color:#f7cb4c;font-size:27px;font-weight:1000;display:grid;place-items:center;z-index:4;box-shadow:0 0 0 4px #70480f,0 8px 22px #000a}.wheel-base{position:absolute;bottom:0;width:180px;height:66px;border-radius:40px 40px 10px 10px;background:linear-gradient(#c58b22,#4b2c07);display:flex;justify-content:center;align-items:center;gap:8px;border:2px solid #f1c95c;box-shadow:0 15px 35px #000}.wheel-base b{font-size:30px}.wheel-base span{font-size:11px;letter-spacing:2px}.how{margin:42px auto 0;max-width:900px;padding:18px 28px;border:1px solid #3c3427;border-radius:18px;background:#0c0f15cc;display:flex;align-items:center;justify-content:space-between}.how div{display:flex;align-items:center;gap:10px}.how b{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid #d4a73b;color:#f1c85c}.how span{font-size:12px;color:#b6bdc8}.how i{height:1px;flex:1;background:linear-gradient(90deg,#8a6a2a,transparent);margin:0 12px}footer{text-align:center;padding:28px;color:#697282;font-size:11px}@keyframes pointerTick{from{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}@media(max-width:900px){.game-shell{grid-template-columns:1fr;gap:24px}.left-column{order:2}.wheel-stage{order:1;min-height:auto;padding:34px 0 62px}.wheel-label{font-size:11px;padding-right:17px}.spin-center{width:92px;height:92px;font-size:21px}.pointer{top:0;width:54px;height:68px}.wheel-base{bottom:18px}.how{overflow:auto;justify-content:flex-start}.how i{min-width:26px}.campaign-tag{display:none}}@media(max-width:460px){.page{padding-inline:15px}.coupon-card,.result-card{padding:22px}.wheel{width:92vw}.intro h1{font-size:48px}.wheel-label{font-size:9px}.how{padding:14px}.how span{display:none}}

/* V4 dynamic appearance */
:root{--theme-primary:#f5bd27;--theme-secondary:#0a0d14;--theme-accent:#59eda1}.page-background{position:fixed;inset:0;z-index:-3;background-position:center;background-size:cover;opacity:.38;pointer-events:none}.page-background:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(4,6,11,.64),rgba(4,6,11,.92))}.brand-wrap{display:flex;align-items:center;gap:12px}.brand-logo{display:none;max-width:190px;max-height:58px;object-fit:contain}.btn.primary,.wheel-base,.pointer span{background:linear-gradient(135deg,#ffe078,var(--theme-primary))!important}.spin-action{background:linear-gradient(135deg,var(--theme-accent),#167c4b)!important}.intro h1,.brand,.prize{color:var(--theme-primary)!important}.glass,.how{border-color:color-mix(in srgb,var(--theme-primary) 52%,transparent)!important}.wheel.glow-off{box-shadow:none!important}.confetti-layer{position:fixed;inset:0;z-index:999;pointer-events:none;overflow:hidden}.confetti-piece{position:absolute;top:-20px;width:10px;height:16px;animation:confettiFall 2.8s linear forwards}@keyframes confettiFall{to{transform:translate3d(var(--drift),110vh,0) rotate(760deg);opacity:.15}}

/* V5 prize images */
.wheel-label{flex-direction:column;gap:3px}.wheel-label img{display:block;max-height:64px;object-fit:contain;filter:drop-shadow(0 3px 4px #0008)}@media(max-width:460px){.wheel-label img{max-height:42px}}

.hidden{display:none!important}.mystery-stage{width:min(760px,100%);min-height:560px;border-radius:34px;padding:34px;background:radial-gradient(circle at 50% 0%,rgba(245,189,39,.15),transparent 42%),rgba(8,12,20,.82);border:1px solid rgba(245,189,39,.28);box-shadow:0 30px 80px rgba(0,0,0,.42);background-size:cover;background-position:center}.mystery-head{text-align:center;margin-bottom:24px}.mystery-head>span{color:var(--theme-primary,#f5bd27);font-weight:900;letter-spacing:.16em;font-size:12px}.mystery-head h2{font-size:clamp(28px,4vw,48px);margin:7px 0}.mystery-head p{opacity:.7;margin:0}.gift-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.gift-box{position:relative;min-height:170px;border:1px solid rgba(245,189,39,.35);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.08),rgba(245,189,39,.08));color:white;cursor:pointer;overflow:hidden;transition:.25s ease;box-shadow:inset 0 0 25px rgba(245,189,39,.05)}.gift-box:hover:not(.locked){transform:translateY(-7px) scale(1.02);border-color:var(--theme-primary);box-shadow:0 18px 36px rgba(0,0,0,.35),0 0 28px rgba(245,189,39,.18)}.gift-box.locked{opacity:.46;cursor:not-allowed;filter:grayscale(.35)}.gift-box img{width:78%;height:120px;object-fit:contain;display:block;margin:8px auto 0}.gift-box>span{position:absolute;right:12px;top:10px;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--theme-primary);color:#111;font-weight:900}.gift-icon{font-size:74px;line-height:1;margin:28px 0 14px}.gift-box.opening{animation:giftShake .16s linear infinite;box-shadow:0 0 55px rgba(245,189,39,.5)}.gift-box.opened{animation:giftReveal .55s ease both;background:linear-gradient(145deg,rgba(245,189,39,.24),rgba(255,255,255,.08));border-color:var(--theme-primary)}.gift-box.opened strong{display:block;padding:10px 14px 20px;color:var(--theme-primary);font-size:17px}.mystery-hint{text-align:center;margin-top:20px;opacity:.55;font-size:13px}@keyframes giftShake{25%{transform:rotate(-2deg) scale(1.03)}75%{transform:rotate(2deg) scale(1.03)}}@keyframes giftReveal{from{transform:scale(.65) rotateY(90deg);opacity:.3}to{transform:scale(1) rotateY(0);opacity:1}}@media(max-width:760px){.gift-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.mystery-stage{padding:20px;min-height:0}.gift-box{min-height:140px}.gift-icon{font-size:58px}.gift-box img{height:95px}}


/* V6.1 Mystery Gift Premium Motion */
body.mystery-active .intro h1{background:linear-gradient(90deg,#fff1aa,#ffc735 48%,#fff1aa);-webkit-background-clip:text;color:transparent!important;filter:drop-shadow(0 0 22px rgba(245,189,39,.18))}
.mystery-stage{position:relative;isolation:isolate;overflow:hidden;transition:transform .45s ease,box-shadow .45s ease,border-color .45s ease;background-position:center;background-size:cover}
.mystery-stage:before{content:"";position:absolute;inset:-35%;z-index:-1;background:conic-gradient(from 0deg,transparent,rgba(245,189,39,.08),transparent 18%,transparent 55%,rgba(139,88,255,.08),transparent 72%);animation:mysteryOrbit 18s linear infinite;pointer-events:none}
.mystery-stage:after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(circle at 50% 20%,rgba(245,189,39,.17),transparent 33%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 22%);pointer-events:none}
.mystery-stage.opening-stage{border-color:rgba(255,211,96,.72);box-shadow:0 34px 100px rgba(0,0,0,.52),0 0 70px rgba(245,189,39,.15)}
.mystery-head{position:relative;z-index:2}.mystery-head>span{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border:1px solid rgba(245,189,39,.25);border-radius:999px;background:rgba(245,189,39,.07);box-shadow:inset 0 0 20px rgba(245,189,39,.04)}
.mystery-head>span:before,.mystery-head>span:after{content:"✦";font-size:9px;opacity:.75}.mystery-head h2{text-shadow:0 8px 40px rgba(0,0,0,.7),0 0 28px rgba(245,189,39,.12)}
.gift-grid{position:relative;z-index:2;perspective:1000px}
.gift-box{isolation:isolate;transform-style:preserve-3d;animation:giftFloat 3.4s ease-in-out infinite;animation-delay:var(--gift-delay,0ms);will-change:transform,filter;backdrop-filter:blur(10px)}
.gift-box:before{content:"";position:absolute;inset:1px;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.11),transparent 38%,rgba(245,189,39,.07));z-index:-1}
.gift-box:after{content:"";position:absolute;left:14%;right:14%;bottom:-18px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);filter:blur(12px);z-index:-2;transition:.3s ease}
.gift-box:hover:not(.locked):after{transform:scale(.78);opacity:.5}.gift-box:hover:not(.locked){animation-play-state:paused;transform:translateY(-10px) rotateX(3deg) scale(1.035);filter:saturate(1.08)}
.gift-box img{position:relative;z-index:2;filter:drop-shadow(0 12px 15px rgba(0,0,0,.48));transition:transform .35s ease,filter .35s ease}.gift-box:hover:not(.locked) img{transform:scale(1.07) rotate(-1deg);filter:drop-shadow(0 16px 22px rgba(0,0,0,.55)) drop-shadow(0 0 14px rgba(245,189,39,.22))}
.gift-box>span{z-index:6;box-shadow:0 4px 14px rgba(0,0,0,.38),0 0 18px rgba(245,189,39,.25)}
.gift-box>small{position:absolute;left:14px;bottom:10px;z-index:5;color:#d8c486;font-size:9px;font-weight:900;letter-spacing:.14em;opacity:.72}
.gift-aura{position:absolute;left:50%;top:48%;width:86%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%) scale(.72);background:radial-gradient(circle,rgba(255,221,111,.19),rgba(245,189,39,.055) 42%,transparent 70%);filter:blur(2px);opacity:.5;animation:auraPulse 2.6s ease-in-out infinite;z-index:0;pointer-events:none}
.gift-spark{position:absolute;z-index:4;color:#ffe78d;font-style:normal;text-shadow:0 0 11px #ffc933;pointer-events:none;animation:sparkTwinkle 2s ease-in-out infinite}.gift-spark.s1{left:16%;top:22%;font-size:17px}.gift-spark.s2{right:17%;top:38%;font-size:11px;animation-delay:.8s}
.gift-grid.choosing .gift-box.unselected{animation:none;transform:scale(.93);opacity:.24;filter:grayscale(.55) blur(.35px)}
.gift-box.selected{z-index:8;border-color:#ffd65a!important;box-shadow:0 24px 55px rgba(0,0,0,.55),0 0 38px rgba(245,189,39,.38),inset 0 0 28px rgba(245,189,39,.09)!important}
.gift-box.opening{animation:premiumShake .11s linear infinite!important;filter:brightness(1.12) saturate(1.18)}
.gift-box.opening .gift-aura{animation:openingAura .62s ease-in-out infinite;opacity:1}.gift-box.opening img,.gift-box.opening .gift-icon{animation:giftCharge .6s ease-in-out infinite alternate}
.gift-box.bursting{animation:giftBurst .65s cubic-bezier(.16,.9,.28,1.2) both!important}.gift-box.bursting .gift-aura{transform:translate(-50%,-50%) scale(1.7);opacity:1}
.gift-box.opened{animation:giftRevealPremium .62s cubic-bezier(.16,.82,.22,1.08) both!important;min-height:170px;background:radial-gradient(circle at 50% 22%,rgba(255,227,135,.24),transparent 42%),linear-gradient(145deg,rgba(245,189,39,.21),rgba(255,255,255,.06));box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 50px rgba(245,189,39,.24)}
.gift-box.opened img{height:92px;margin-top:13px}.gift-box.opened strong{position:relative;z-index:3;padding:5px 12px 2px;font-size:17px;text-shadow:0 2px 10px rgba(0,0,0,.7)}.gift-box.opened small{position:relative;left:auto;bottom:auto;display:block;padding-bottom:14px;color:#fff0b3;opacity:.82}.reward-star{animation:rewardStar 1.1s ease-in-out infinite alternate!important}
.mystery-hint{position:relative;z-index:2;padding:10px 14px;border-radius:999px;width:max-content;max-width:100%;margin:22px auto 0;background:rgba(0,0,0,.22);border:1px solid rgba(255,255,255,.06)}
.mystery-burst{position:fixed;left:50%;top:50%;width:10px;height:10px;z-index:1200;pointer-events:none;opacity:0}.mystery-burst.show{opacity:1}.mystery-burst i{position:absolute;left:50%;top:50%;width:5px;height:135px;border-radius:999px;transform-origin:50% 100%;transform:translate(-50%,-100%) rotate(var(--ray-angle)) scaleY(0);background:linear-gradient(to top,rgba(255,196,40,0),rgba(255,225,119,.95),rgba(255,255,255,0));filter:drop-shadow(0 0 8px rgba(255,208,65,.55));animation:rayBurst .8s ease-out var(--ray-delay) forwards}
.mystery-result-modal{position:fixed;inset:0;z-index:1100;display:grid;place-items:center;padding:18px;visibility:hidden;opacity:0;transition:opacity .28s ease,visibility .28s ease}.mystery-result-modal.show{visibility:visible;opacity:1}.mystery-result-backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 42%,rgba(146,92,15,.18),transparent 34%),rgba(3,5,10,.84);backdrop-filter:blur(12px)}
.mystery-result-dialog{position:relative;width:min(470px,100%);padding:39px 32px 28px;text-align:center;border-radius:28px;border:1px solid rgba(255,211,88,.55);background:radial-gradient(circle at 50% -15%,rgba(255,208,67,.22),transparent 42%),linear-gradient(155deg,#171713,#0b0e14 55%,#080b11);box-shadow:0 35px 120px rgba(0,0,0,.72),0 0 60px rgba(245,189,39,.17),inset 0 1px rgba(255,255,255,.09);transform:translateY(22px) scale(.88);opacity:0;overflow:hidden}.mystery-result-dialog:before{content:"";position:absolute;inset:-80% 20%;background:linear-gradient(90deg,transparent,rgba(255,239,174,.13),transparent);transform:rotate(22deg);animation:modalShine 3.8s linear infinite;pointer-events:none}.mystery-result-modal.show .mystery-result-dialog{animation:modalReveal .58s cubic-bezier(.16,.9,.22,1.12) forwards}
.mystery-close{position:absolute;right:14px;top:12px;width:36px;height:36px;border-radius:50%;border:1px solid rgba(255,255,255,.11);background:rgba(255,255,255,.05);color:#d8dce5;font-size:24px;cursor:pointer;z-index:4}.mystery-close:hover{background:rgba(255,255,255,.11)}
.mystery-result-crown{width:72px;height:72px;display:grid;place-items:center;margin:0 auto 15px;border-radius:50%;font-size:34px;color:#ffe87b;background:radial-gradient(circle,#8b6417,#2d2009 70%);border:2px solid #eabf42;box-shadow:0 0 0 7px rgba(245,189,39,.06),0 0 35px rgba(245,189,39,.28);animation:crownPulse 1.7s ease-in-out infinite}
.mystery-result-kicker{font-size:10px;font-weight:1000;letter-spacing:.2em;color:#dbb84d}.mystery-result-dialog h2{margin:8px 0 17px;font-size:clamp(29px,7vw,41px);line-height:.98;background:linear-gradient(#fff4bd,#eeb83c);-webkit-background-clip:text;color:transparent}.mystery-result-label{font-size:10px;letter-spacing:.18em;color:#8f98a5;font-weight:900;margin:0 0 7px}.mystery-won-prize{font-size:clamp(27px,7vw,39px);font-weight:1000;color:#69ef9d;line-height:1.02;text-shadow:0 0 24px rgba(67,224,130,.18);margin-bottom:20px}.mystery-code-wrap{padding:13px 14px;border-radius:13px;background:#070a0f;border:1px dashed rgba(245,189,39,.38)}.mystery-code-wrap small{display:block;color:#838c9a;font-size:9px;letter-spacing:.14em;margin-bottom:6px}.mystery-code-wrap strong{display:block;font-family:monospace;color:#fff0ae;font-size:21px;letter-spacing:.06em}.mystery-result-dialog .btn{position:relative;z-index:2;margin-top:10px;text-decoration:none;display:block}.mystery-result-note{font-size:10px;line-height:1.55;color:#6f7886;margin:14px 10px 0}.modal-open{overflow:hidden}
@keyframes mysteryOrbit{to{transform:rotate(360deg)}}@keyframes giftFloat{0%,100%{transform:translateY(0) rotateZ(0)}50%{transform:translateY(-7px) rotateZ(.35deg)}}@keyframes auraPulse{0%,100%{transform:translate(-50%,-50%) scale(.76);opacity:.34}50%{transform:translate(-50%,-50%) scale(1.03);opacity:.72}}@keyframes sparkTwinkle{0%,100%{transform:scale(.55) rotate(0);opacity:.22}50%{transform:scale(1.2) rotate(90deg);opacity:1}}@keyframes premiumShake{0%{transform:translate(0,0) rotate(0) scale(1.045)}25%{transform:translate(-4px,1px) rotate(-2.1deg) scale(1.05)}50%{transform:translate(3px,-1px) rotate(1.5deg) scale(1.055)}75%{transform:translate(-2px,-1px) rotate(-1deg) scale(1.05)}100%{transform:translate(3px,1px) rotate(2deg) scale(1.045)}}@keyframes openingAura{0%,100%{transform:translate(-50%,-50%) scale(.85);filter:blur(2px)}50%{transform:translate(-50%,-50%) scale(1.35);filter:blur(7px)}}@keyframes giftCharge{from{transform:scale(1) translateY(0)}to{transform:scale(1.08) translateY(-6px)}}@keyframes giftBurst{0%{transform:scale(1.05)}45%{transform:scale(.92)}100%{transform:scale(1.17);filter:brightness(1.45)}}@keyframes giftRevealPremium{0%{transform:rotateY(95deg) scale(.55);opacity:.05;filter:brightness(2)}65%{transform:rotateY(-7deg) scale(1.05);opacity:1}100%{transform:rotateY(0) scale(1);opacity:1}}@keyframes rewardStar{to{transform:scale(1.15) rotate(8deg);filter:drop-shadow(0 0 18px #ffe06a)}}@keyframes rayBurst{0%{transform:translate(-50%,-100%) rotate(var(--ray-angle)) scaleY(0);opacity:0}25%{opacity:1}100%{transform:translate(-50%,-100%) rotate(var(--ray-angle)) scaleY(1.5);opacity:0}}@keyframes modalReveal{0%{transform:translateY(28px) scale(.84);opacity:0}65%{transform:translateY(-4px) scale(1.025);opacity:1}100%{transform:translateY(0) scale(1);opacity:1}}@keyframes modalShine{from{transform:translateX(-190%) rotate(22deg)}to{transform:translateX(190%) rotate(22deg)}}@keyframes crownPulse{50%{transform:translateY(-3px) scale(1.035);box-shadow:0 0 0 10px rgba(245,189,39,.035),0 0 48px rgba(245,189,39,.34)}}
@media(max-width:760px){.gift-box{min-height:148px}.gift-box>small{left:10px;bottom:8px}.mystery-result-dialog{padding:34px 20px 24px;border-radius:23px}.mystery-result-crown{width:62px;height:62px;font-size:29px}.mystery-code-wrap strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.gift-box,.gift-aura,.gift-spark,.mystery-stage:before,.mystery-result-crown{animation:none!important}.gift-box.opening{animation:none!important}.mystery-result-modal.show .mystery-result-dialog{animation:none;transform:none;opacity:1}.confetti-piece,.mystery-burst i{display:none}}

/* V6.4 Mystery Gift Builder */
:root{--mystery-box-size:170px;--mystery-gap:18px;--mystery-cols:3;--mystery-mobile-cols:2;--mystery-float-speed:3400ms;--mystery-shake:4px;--mystery-glow-color:#f5bd27;--mystery-glow-alpha:.55}
.gift-grid{grid-template-columns:repeat(var(--mystery-cols),minmax(0,1fr))!important;gap:var(--mystery-gap)!important}.gift-box{min-height:var(--mystery-box-size)!important;animation-duration:var(--mystery-float-speed)!important}
.mystery-no-float .gift-box{animation:none!important}.mystery-no-glow .gift-aura{display:none!important}.mystery-no-glow .gift-box.selected{box-shadow:0 24px 55px rgba(0,0,0,.55)!important}.mystery-no-sparkle .gift-spark{display:none!important}
.gift-box.effect-glow.opening{animation:giftGlowOpen .18s ease-in-out infinite alternate!important}.gift-box.effect-zoom.opening{animation:giftZoomOpen .48s ease-in-out infinite alternate!important}.gift-box.effect-sparkle.opening .gift-spark{display:block!important;font-size:24px;animation-duration:.45s!important}
@keyframes giftGlowOpen{from{transform:scale(1.02);filter:brightness(1)}to{transform:scale(1.09);filter:brightness(1.35)}}@keyframes giftZoomOpen{from{transform:scale(.98) rotate(-1deg)}to{transform:scale(1.12) rotate(1deg)}}
@media(max-width:760px){.gift-grid{grid-template-columns:repeat(var(--mystery-mobile-cols),minmax(0,1fr))!important}}


/* =========================================================
   V6.4.2 CUSTOMER LANDING — MODEL 6
   Premium black/gold coupon gate before game unlock.
   ========================================================= */

body.game-locked{
  background:
    radial-gradient(circle at 50% 49%,rgba(245,189,39,.10),transparent 25%),
    radial-gradient(circle at 11% 54%,rgba(245,189,39,.07),transparent 20%),
    radial-gradient(circle at 88% 57%,rgba(245,189,39,.07),transparent 20%),
    linear-gradient(180deg,#07090d 0%,#05070b 58%,#020306 100%) !important;
}

body.game-locked .page-background{
  opacity:.14;
  filter:saturate(.65) brightness(.48);
}

body.game-locked .ambient{opacity:.32}

body.game-locked .page{
  width:min(1500px,calc(100% - 48px));
  padding-top:48px;
}

body.game-locked .intro{
  max-width:1050px;
  margin:0 auto 34px;
  text-align:center;
  position:relative;
  z-index:4;
}

body.game-locked .intro .eyebrow{
  display:inline-flex;
  align-items:center;
  gap:16px;
  color:#f0c754;
  font-size:14px;
  font-weight:800;
  letter-spacing:5px;
  text-transform:uppercase;
}
body.game-locked .intro .eyebrow:before,
body.game-locked .intro .eyebrow:after{
  content:"";
  width:74px;
  height:1px;
  background:linear-gradient(90deg,transparent,#dcae37);
}
body.game-locked .intro .eyebrow:after{
  background:linear-gradient(90deg,#dcae37,transparent);
}

body.game-locked .intro h1{
  margin:12px 0 0;
  font-size:clamp(50px,6vw,90px);
  line-height:.95;
  letter-spacing:-2px;
  font-weight:950;
  color:#ffc62f;
  background:linear-gradient(180deg,#fff0a8 0%,#ffd351 28%,#eaa516 70%,#ffd65f 100%);
  -webkit-background-clip:text;
  color:transparent;
  filter:drop-shadow(0 10px 30px rgba(239,168,20,.12));
}

body.game-locked .intro p{
  margin:12px 0 0;
  color:#f4f4f5;
  font-size:clamp(22px,2.4vw,36px);
  line-height:1;
  font-weight:900;
  letter-spacing:1px;
  text-transform:uppercase;
}

body.game-locked .intro:after{
  content:"ONE COUPON  •  ONE REWARD";
  display:block;
  margin-top:20px;
  color:#d7ad43;
  font-size:12px;
  font-weight:800;
  letter-spacing:4px;
}

body.game-locked .game-shell{
  width:min(1320px,100%);
  min-height:540px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:visible;
  border:0;
  background:transparent;
  box-shadow:none;
}

body.game-locked .left-column{
  width:min(620px,calc(100% - 40px));
  position:relative;
  z-index:6;
}

body.game-locked .coupon-card{
  position:relative;
  min-height:420px;
  padding:66px 48px 38px;
  border:1px solid rgba(245,189,39,.72);
  border-radius:28px;
  background:
    linear-gradient(145deg,rgba(28,29,31,.96),rgba(8,10,14,.97)),
    radial-gradient(circle at 50% 0%,rgba(245,189,39,.10),transparent 42%);
  box-shadow:
    0 34px 80px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,216,91,.08) inset,
    0 0 48px rgba(245,189,39,.10);
  text-align:center;
  overflow:visible;
}
body.game-locked .coupon-card:before{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:30px;
  padding:1px;
  background:linear-gradient(120deg,transparent 5%,#ffd65e 28%,rgba(255,214,94,.05) 47%,#f2ad18 78%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  pointer-events:none;
}
body.game-locked .coupon-card:after{
  content:"";
  position:absolute;
  left:8%;
  right:8%;
  bottom:-22px;
  height:30px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(242,173,24,.28),transparent 68%);
  filter:blur(10px);
  pointer-events:none;
}

body.game-locked .coupon-medallion{
  position:absolute;
  left:50%;
  top:-38px;
  transform:translateX(-50%);
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  font-size:31px;
  border:2px solid #e7ad1c;
  background:linear-gradient(145deg,#1c1a16,#08090b);
  box-shadow:0 0 0 7px rgba(6,8,11,.94),0 0 28px rgba(245,189,39,.32);
}

body.game-locked .coupon-card .step{
  color:#efb82d;
  font-size:12px;
  font-weight:900;
  letter-spacing:3px;
}
body.game-locked .coupon-card h2{
  font-size:30px;
  margin:15px 0 8px;
  color:#f8f8fa;
}
body.game-locked .coupon-card>p{
  color:#acb2bd;
  font-size:14px;
}

body.game-locked .input-wrap{
  height:64px;
  margin-top:28px;
  border:1px solid #444b57;
  border-radius:12px;
  background:#080a0e;
  box-shadow:inset 0 1px 12px rgba(0,0,0,.55);
}
body.game-locked .input-wrap>span{
  width:65px;
  color:#efb82d;
  border-right:1px solid #343943;
  font-size:20px;
}
body.game-locked .input-wrap input{
  font-size:15px;
  font-weight:800;
  letter-spacing:1.4px;
}

body.game-locked #verifyBtn{
  height:64px;
  margin-top:18px;
  border-radius:12px;
  font-size:15px;
  font-weight:950;
  letter-spacing:.5px;
  color:#090a0c;
  background:linear-gradient(90deg,#ffd86a,#ffba18);
  box-shadow:0 10px 28px rgba(246,178,24,.20),inset 0 1px rgba(255,255,255,.5);
}
body.game-locked #verifyBtn:hover{
  transform:translateY(-2px);
  filter:brightness(1.06);
}

body.game-locked .rules{
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.055);
  display:grid;
  gap:10px;
  text-align:left;
  color:#aeb4bf;
}
body.game-locked .rules span:before{
  color:#f3b820;
}

body.game-locked #spinBtn,
body.game-locked #result{display:none!important}

.locked-showcase{
  display:none;
}
body.game-locked .locked-showcase{
  display:block;
  position:absolute;
  inset:-20px -60px -30px;
  pointer-events:none;
  z-index:1;
}

.reward-rays{
  position:absolute;
  left:50%;
  bottom:5%;
  width:1000px;
  height:360px;
  transform:translateX(-50%);
  background:
    repeating-conic-gradient(from 248deg at 50% 100%,rgba(244,178,28,.0) 0 5deg,rgba(244,178,28,.11) 6deg 7deg,rgba(244,178,28,0) 8deg 16deg);
  -webkit-mask-image:linear-gradient(to top,#000,transparent 82%);
  opacity:.85;
  filter:blur(.2px);
}

.floating-gift{
  position:absolute;
  width:160px;
  height:128px;
  border:1px solid rgba(231,173,28,.7);
  border-radius:18px;
  background:
    linear-gradient(90deg,transparent 39%,#d99c12 40% 59%,transparent 60%),
    linear-gradient(#17130c,#090a0c);
  box-shadow:0 20px 40px rgba(0,0,0,.5),0 0 30px rgba(231,173,28,.16);
  transform:rotate(-12deg);
}
.floating-gift:before,
.floating-gift:after{
  content:"";
  position:absolute;
  top:-42px;
  width:66px;
  height:48px;
  border:12px solid #c88b0b;
  border-radius:70% 15% 70% 15%;
}
.floating-gift:before{left:31px;transform:rotate(25deg)}
.floating-gift:after{right:31px;transform:scaleX(-1) rotate(25deg)}
.floating-gift i{
  position:absolute;
  left:-8px;
  right:-8px;
  top:24px;
  height:25px;
  border-radius:5px;
  background:linear-gradient(90deg,#b97908,#f3bd2b,#b97908);
}
.gift-left{left:1%;top:23%;transform:rotate(-13deg) scale(.92)}
.gift-right{right:0;top:31%;transform:rotate(13deg) scale(.86)}

.casino-chip{
  position:absolute;
  width:150px;
  height:150px;
  border-radius:50%;
  display:grid;
  place-items:center;
  color:#eab022;
  font-size:33px;
  font-weight:950;
  border:13px dashed #c98e12;
  background:
    radial-gradient(circle,#17191e 0 43%,#d49a16 44% 48%,#111318 49% 67%,#2d2618 68%);
  box-shadow:0 18px 36px rgba(0,0,0,.55),0 0 25px rgba(232,170,28,.12);
}
.chip-left{left:7%;bottom:6%;transform:rotate(-16deg) scale(.86)}
.chip-right{right:5%;bottom:4%;transform:rotate(16deg) scale(.95)}

.gold-spark{
  position:absolute;
  color:#f9c436;
  text-shadow:0 0 18px rgba(249,196,54,.75);
  animation:model6Spark 2.4s ease-in-out infinite;
}
.spark-a{left:20%;top:18%;font-size:22px}
.spark-b{right:17%;top:18%;font-size:15px;animation-delay:.7s}
.spark-c{right:24%;bottom:20%;font-size:18px;animation-delay:1.2s}
@keyframes model6Spark{50%{opacity:.25;transform:scale(.65) rotate(90deg)}}

body.game-locked .how{
  width:min(1280px,100%);
  margin:42px auto 12px;
  min-height:116px;
  padding:18px 28px;
  border:1px solid rgba(224,166,26,.62);
  border-radius:22px;
  background:linear-gradient(180deg,rgba(13,15,20,.93),rgba(5,7,10,.95));
  box-shadow:0 18px 40px rgba(0,0,0,.32);
}
body.game-locked .how .how-step{
  display:grid;
  grid-template-columns:54px 28px 1fr;
  align-items:center;
  gap:9px;
  flex:1;
}
body.game-locked .how .how-step em{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border:1px solid #c59017;
  border-radius:50%;
  background:#101216;
  color:#f7bd2b;
  font-style:normal;
  font-size:21px;
}
body.game-locked .how .how-step>b{
  align-self:start;
  margin-top:5px;
  color:#f4bc2a;
  font-size:18px;
}
body.game-locked .how .how-step span{
  display:flex;
  flex-direction:column;
  gap:5px;
}
body.game-locked .how .how-step strong{
  color:#f2f2f4;
  font-size:13px;
  letter-spacing:.4px;
}
body.game-locked .how .how-step small{
  color:#8f96a2;
  font-size:11px;
  line-height:1.35;
}
body.game-locked .how>i{
  width:1px;
  height:55px;
  background:linear-gradient(transparent,#a87510,transparent);
  margin:0 15px;
}

body.game-locked footer{
  margin-top:22px;
  color:#76602c;
  letter-spacing:2px;
}

/* Once a coupon is valid, restore the regular game layout. */
body.game-unlocked .locked-showcase{display:none}
body.game-unlocked .coupon-medallion{display:none}
body.game-unlocked .how .how-step em,
body.game-unlocked .how .how-step small{display:none}
body.game-unlocked .how .how-step{display:flex}
body.game-unlocked .how .how-step span{display:block}
body.game-unlocked .how .how-step strong{font:inherit;color:inherit}

@media(max-width:1050px){
  body.game-locked .locked-showcase{opacity:.44}
  .gift-left{left:-5%}.gift-right{right:-6%}
  .chip-left{left:-1%}.chip-right{right:-2%}
}
@media(max-width:780px){
  body.game-locked .page{width:min(100% - 22px,720px);padding-top:34px}
  body.game-locked .intro h1{font-size:clamp(42px,12vw,68px)}
  body.game-locked .intro p{font-size:clamp(18px,6vw,27px)}
  body.game-locked .intro .eyebrow{font-size:10px;letter-spacing:3px}
  body.game-locked .intro .eyebrow:before,
  body.game-locked .intro .eyebrow:after{width:34px}
  body.game-locked .game-shell{min-height:auto}
  body.game-locked .coupon-card{padding:58px 22px 28px;min-height:0}
  body.game-locked .coupon-card h2{font-size:26px}
  body.game-locked .locked-showcase{display:none}
  body.game-locked .how{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    padding:18px;
  }
  body.game-locked .how>i{display:none}
  body.game-locked .how .how-step{
    grid-template-columns:42px 24px 1fr;
  }
  body.game-locked .how .how-step em{
    width:42px;height:42px;font-size:17px;
  }
}
@media(max-width:500px){
  body.game-locked .topbar{padding-left:18px;padding-right:18px}
  body.game-locked .campaign-tag{font-size:9px;padding:10px 12px}
  body.game-locked .intro:after{font-size:9px;letter-spacing:2px}
  body.game-locked .how{grid-template-columns:1fr}
}


/* =========================================================
   V6.4.3 UI POLISH
   Customer gate refinements only
   ========================================================= */

body.game-locked .page{
  padding-top:34px;
}

body.game-locked .intro{
  margin-bottom:24px;
}

body.game-locked .intro .eyebrow{
  font-size:12px;
  letter-spacing:4px;
}

body.game-locked .intro h1{
  margin-top:8px;
  font-size:clamp(48px,5.3vw,78px);
  line-height:.92;
  letter-spacing:-1.5px;
}

body.game-locked .intro p{
  margin-top:10px;
  font-size:clamp(20px,2.1vw,31px);
}

body.game-locked .intro:after{
  margin-top:14px;
  font-size:10px;
  letter-spacing:3px;
}

body.game-locked .game-shell{
  min-height:470px;
}

body.game-locked .left-column{
  width:min(650px,calc(100% - 40px));
}

body.game-locked .coupon-card{
  min-height:360px;
  padding:58px 52px 30px;
  border-radius:24px;
}

body.game-locked .coupon-medallion{
  top:-34px;
  width:68px;
  height:68px;
  font-size:27px;
}

body.game-locked .coupon-card h2{
  font-size:27px;
  margin:12px 0 7px;
}

body.game-locked .coupon-card>p{
  font-size:13px;
}

body.game-locked .input-wrap{
  height:58px;
  margin-top:22px;
}

body.game-locked #verifyBtn{
  height:58px;
  margin-top:15px;
}

body.game-locked .rules{
  margin-top:24px;
  padding-top:18px;
  gap:8px;
  font-size:11px;
}

body.game-locked .locked-showcase{
  inset:-10px -35px -10px;
}

.gift-left{
  left:7%;
  top:25%;
  transform:rotate(-11deg) scale(.82);
}

.gift-right{
  right:6%;
  top:29%;
  transform:rotate(11deg) scale(.78);
}

.chip-left{
  left:12%;
  bottom:8%;
  transform:rotate(-13deg) scale(.73);
}

.chip-right{
  right:11%;
  bottom:7%;
  transform:rotate(13deg) scale(.78);
}

.reward-rays{
  width:860px;
  height:290px;
  bottom:3%;
  opacity:.68;
}

body.game-locked .how{
  width:min(1120px,100%);
  min-height:88px;
  margin:28px auto 10px;
  padding:14px 22px;
  border-radius:18px;
}

body.game-locked .how .how-step{
  grid-template-columns:44px 24px 1fr;
  gap:8px;
}

body.game-locked .how .how-step em{
  width:42px;
  height:42px;
  font-size:18px;
}

body.game-locked .how .how-step>b{
  font-size:15px;
  margin-top:3px;
}

body.game-locked .how .how-step strong{
  font-size:11px;
  letter-spacing:.25px;
}

body.game-locked .how .how-step small{
  display:none;
}

body.game-locked .how>i{
  height:42px;
  margin:0 10px;
}

body.game-locked footer{
  margin-top:14px;
  font-size:10px;
}

@media(max-width:1200px){
  .gift-left{left:1%}
  .gift-right{right:1%}
  .chip-left{left:5%}
  .chip-right{right:5%}
}

@media(max-width:920px){
  body.game-locked .locked-showcase{opacity:.30}
  .gift-left,.gift-right{transform:scale(.62)}
  .chip-left,.chip-right{transform:scale(.60)}
}

@media(max-width:780px){
  body.game-locked .page{
    padding-top:26px;
  }

  body.game-locked .intro{
    margin-bottom:18px;
  }

  body.game-locked .intro h1{
    font-size:clamp(40px,11vw,60px);
  }

  body.game-locked .intro p{
    font-size:clamp(17px,5vw,24px);
  }

  body.game-locked .coupon-card{
    padding:52px 20px 24px;
    border-radius:20px;
  }

  body.game-locked .coupon-medallion{
    width:60px;
    height:60px;
    top:-30px;
    font-size:24px;
  }

  body.game-locked .coupon-card h2{
    font-size:24px;
  }

  body.game-locked .input-wrap{
    height:54px;
  }

  body.game-locked #verifyBtn{
    height:54px;
  }

  body.game-locked .how{
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px;
    margin-top:22px;
  }

  body.game-locked .how .how-step{
    grid-template-columns:38px 22px 1fr;
  }

  body.game-locked .how .how-step em{
    width:36px;
    height:36px;
    font-size:15px;
  }

  body.game-locked .how .how-step>b{
    font-size:13px;
  }

  body.game-locked .how .how-step strong{
    font-size:10px;
  }
}

@media(max-width:500px){
  body.game-locked .page{
    width:min(100% - 16px,480px);
  }

  body.game-locked .intro .eyebrow{
    font-size:9px;
    letter-spacing:2.4px;
  }

  body.game-locked .intro h1{
    font-size:40px;
  }

  body.game-locked .intro p{
    font-size:17px;
  }

  body.game-locked .intro:after{
    font-size:8px;
    letter-spacing:1.8px;
  }

  body.game-locked .how{
    grid-template-columns:1fr;
  }

  body.game-locked .how .how-step{
    grid-template-columns:38px 24px 1fr;
  }
}


/* =========================================================
   V6.4.4 CLEAN STEP BAR
   ========================================================= */

body.game-locked .how.clean-steps{
  width:min(1080px,100%);
  min-height:76px;
  margin:26px auto 10px;
  padding:14px 24px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  border:1px solid rgba(221,169,39,.58);
  border-radius:18px;
  background:linear-gradient(180deg,rgba(11,13,17,.94),rgba(5,7,10,.97));
  box-shadow:0 16px 34px rgba(0,0,0,.30);
}

body.game-locked .how.clean-steps .how-step{
  flex:0 1 190px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-width:0;
}

body.game-locked .how.clean-steps .how-step>b{
  flex:0 0 38px;
  width:38px;
  height:38px;
  margin:0;
  display:grid;
  place-items:center;
  border:1px solid #d9a51d;
  border-radius:50%;
  color:#f7c13a;
  background:linear-gradient(180deg,#111419,#090b0f);
  box-shadow:0 0 0 3px rgba(217,165,29,.035) inset;
  font-size:13px;
  font-weight:900;
  line-height:1;
}

body.game-locked .how.clean-steps .how-step span{
  display:block;
  min-width:0;
}

body.game-locked .how.clean-steps .how-step strong{
  display:block;
  color:#f2f2f3;
  font-size:11px;
  font-weight:850;
  letter-spacing:.38px;
  white-space:nowrap;
  line-height:1;
}

body.game-locked .how.clean-steps>i{
  flex:1 1 80px;
  max-width:120px;
  min-width:38px;
  height:1px;
  margin:0 14px;
  background:linear-gradient(90deg,
    rgba(211,157,25,.10),
    rgba(232,180,46,.72) 28%,
    rgba(232,180,46,.72) 72%,
    rgba(211,157,25,.10)
  );
  box-shadow:0 0 7px rgba(232,180,46,.16);
}

body.game-unlocked .how.clean-steps .how-step em,
body.game-unlocked .how.clean-steps .how-step small{
  display:none!important;
}

body.game-unlocked .how.clean-steps .how-step{
  display:flex;
  align-items:center;
}

@media(max-width:900px){
  body.game-locked .how.clean-steps{
    width:min(720px,100%);
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:12px 18px;
    padding:16px 18px;
  }

  body.game-locked .how.clean-steps .how-step{
    flex:none;
    justify-content:flex-start;
    min-height:44px;
  }

  body.game-locked .how.clean-steps>i{
    display:none;
  }
}

@media(max-width:480px){
  body.game-locked .how.clean-steps{
    grid-template-columns:1fr 1fr;
    gap:10px;
    padding:14px 12px;
  }

  body.game-locked .how.clean-steps .how-step{
    gap:8px;
  }

  body.game-locked .how.clean-steps .how-step>b{
    flex-basis:34px;
    width:34px;
    height:34px;
    font-size:12px;
  }

  body.game-locked .how.clean-steps .how-step strong{
    font-size:9px;
    letter-spacing:.15px;
  }
}


/* =========================================================
   V6.4.5 TRY AGAIN RESULT
   ========================================================= */

.result-card.try-again-result .result-icon,
.mystery-result-modal.try-again-result .mystery-result-crown{
  filter:grayscale(.35);
  opacity:.82;
}

.result-card.try-again-result .result-small,
.mystery-result-modal.try-again-result .mystery-result-kicker{
  color:#c7a54b;
}

.result-card.try-again-result h2,
.mystery-result-modal.try-again-result #mysteryResultTitle{
  color:#f3cf6a;
}

.result-card.try-again-result{
  box-shadow:0 18px 54px rgba(0,0,0,.42),0 0 0 1px rgba(218,174,61,.12) inset;
}


/* =========================================================
   V6.4.6 VERIFY DELAY
   ========================================================= */
#verifyBtn.verifying{
  cursor:wait;
  position:relative;
  letter-spacing:1.2px;
  filter:saturate(.9);
  animation:verifyPulse 1s ease-in-out infinite;
}
#verifyBtn.verifying:before{
  content:"";
  display:inline-block;
  width:14px;
  height:14px;
  margin-right:9px;
  vertical-align:-2px;
  border:2px solid rgba(8,9,11,.30);
  border-top-color:#08090b;
  border-radius:50%;
  animation:verifySpin .72s linear infinite;
}
@keyframes verifySpin{to{transform:rotate(360deg)}}
@keyframes verifyPulse{50%{filter:brightness(1.08)}}


/* =========================================================
   V6.5 MAINTENANCE / RECOVERY
   ========================================================= */
.maintenance-overlay{
  position:fixed;inset:0;z-index:99999;
  display:grid;place-items:center;padding:24px;
  background:radial-gradient(circle at 50% 34%,rgba(174,127,21,.14),transparent 30%),rgba(3,5,8,.965);
  backdrop-filter:blur(12px);
}
.maintenance-overlay.hidden{display:none!important}
.maintenance-card{
  width:min(620px,100%);padding:42px 34px;text-align:center;
  border:1px solid rgba(229,177,46,.55);border-radius:22px;
  background:linear-gradient(180deg,#101318,#07090c);
  box-shadow:0 28px 80px rgba(0,0,0,.6);
}
.maintenance-card>span{font-size:10px;font-weight:900;letter-spacing:2px;color:#d5a229}
.maintenance-card h2{margin:12px 0 10px;font-size:clamp(25px,5vw,42px);color:#f4c547;letter-spacing:.5px}
.maintenance-card p{margin:0 auto;max-width:480px;color:#c9cbd0;line-height:1.7}

/* =========================================================
   V6.6.1 CUSTOMER PAGE DESIGNER RUNTIME OVERRIDES
   ========================================================= */
:root{
  --customer-background:#07090d;
  --customer-text:#f7f8fb;
  --customer-muted:#98a1af;
  --customer-panel:rgba(16,20,29,.96);
  --customer-border:#6d5629;
  --customer-input-bg:#080b11;
  --customer-input-text:#fff;
  --customer-button-text:#161007;
  --customer-success:#55e18b;
  --customer-error:#ff7e7e;
  --customer-card-radius:24px;
  --customer-button-radius:11px;
  --customer-shadow-alpha:.6;
  --customer-title-size:88px;
  --customer-body-size:14px;
  --customer-page-width:1280px;
}
body,body.game-locked{background:var(--customer-background)!important;color:var(--customer-text)!important}
.page{max-width:var(--customer-page-width)!important}
body.game-locked .page{max-width:var(--customer-page-width)!important}
body .intro h1,body.game-locked .intro h1{font-size:clamp(32px,7vw,var(--customer-title-size))!important}
body .intro p,body .coupon-card>p,body .mystery-head p,body footer{color:var(--customer-muted)!important;font-size:var(--customer-body-size)}
body .coupon-card,body .result-card{background:var(--customer-panel)!important;border-color:var(--customer-border)!important;border-radius:var(--customer-card-radius)!important;box-shadow:0 24px 70px rgba(0,0,0,calc(var(--customer-shadow-alpha) * .85))!important}
body.game-locked .coupon-card{background:var(--customer-panel)!important;border-color:var(--customer-border)!important;border-radius:var(--customer-card-radius)!important;box-shadow:0 34px 80px rgba(0,0,0,var(--customer-shadow-alpha)),0 0 48px color-mix(in srgb,var(--theme-primary) 18%,transparent)!important}
body .input-wrap,body.game-locked .input-wrap{background:var(--customer-input-bg)!important;border-color:color-mix(in srgb,var(--customer-border) 62%,#5b6576)!important}
body .input-wrap input{color:var(--customer-input-text)!important}
body .btn{border-radius:var(--customer-button-radius)!important}
body .primary,body.game-locked #verifyBtn{color:var(--customer-button-text)!important;background:linear-gradient(135deg,color-mix(in srgb,var(--theme-primary) 82%,#fff),var(--theme-primary))!important}
body .success{color:var(--customer-success)!important}body .error{color:var(--customer-error)!important}
body .rules,body .result-card p,body .mystery-result-note{color:var(--customer-muted)!important}
body .campaign-tag,body .eyebrow,body.game-locked .intro .eyebrow{color:var(--theme-primary)!important}
body .brand{color:var(--theme-primary)!important}
body .brand-logo{object-fit:contain;height:auto}
body.hide-campaign .campaign-tag{display:none!important}
body.hide-rules .rules{display:none!important}
body.hide-steps .how{display:none!important}
body.hide-footer footer{display:none!important}
body.hide-ambient .ambient,body.hide-ambient .locked-showcase{display:none!important}
.page-background{background-repeat:no-repeat}


/* V7.1 Customer Prize Table */
.prize-table-section{width:min(var(--customer-page-width,1280px),calc(100% - 32px));margin:28px auto 18px;padding:28px;border:1px solid color-mix(in srgb,var(--customer-border) 74%,transparent);border-radius:var(--customer-card-radius,24px);background:color-mix(in srgb,var(--customer-panel) 92%,transparent);box-shadow:0 24px 70px rgba(0,0,0,calc(var(--customer-shadow-alpha,.6)*.32));backdrop-filter:blur(14px)}
.prize-table-section.hidden{display:none}.prize-table-head{text-align:center;margin-bottom:22px}.prize-table-head>span{font-size:11px;letter-spacing:.2em;color:var(--theme-primary);font-weight:900}.prize-table-head h2{margin:7px 0 5px;font-size:clamp(24px,3vw,38px);color:var(--customer-text)}.prize-table-head p{margin:0;color:var(--customer-muted);font-size:var(--customer-body-size)}
.prize-table-grid{display:grid;grid-template-columns:repeat(var(--prize-table-cols,4),minmax(0,1fr));gap:14px}.prize-table-card{min-width:0;overflow:hidden;border:1px solid color-mix(in srgb,var(--customer-border) 70%,transparent);border-radius:18px;background:color-mix(in srgb,var(--customer-panel) 96%,#000);transition:transform .2s ease,border-color .2s ease}.prize-table-card:hover{transform:translateY(-2px);border-color:var(--theme-primary)}.prize-table-card.sold-out{opacity:.58;filter:saturate(.55)}
.prize-table-art{height:128px;display:flex;align-items:center;justify-content:center;padding:14px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 9%,transparent),transparent 70%);border-bottom:1px solid color-mix(in srgb,var(--customer-border) 50%,transparent)}.prize-table-art img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.35))}.prize-table-art.placeholder{font-size:38px;color:var(--theme-primary)}
.prize-table-copy{padding:15px}.prize-table-copy>small{display:block;font-size:9px;letter-spacing:.16em;color:var(--customer-muted);font-weight:800;margin-bottom:6px}.prize-table-copy>strong{display:block;color:var(--customer-text);font-size:15px;line-height:1.25;min-height:38px}.prize-table-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.prize-table-meta>span{font-size:9px;font-weight:900;letter-spacing:.08em;padding:6px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--customer-border) 55%,transparent);color:var(--customer-muted)}.prize-table-status.available{color:var(--customer-success);border-color:color-mix(in srgb,var(--customer-success) 45%,transparent)}.prize-table-status.limited{color:var(--theme-primary);border-color:color-mix(in srgb,var(--theme-primary) 50%,transparent)}.prize-table-status.sold-out{color:var(--customer-error);border-color:color-mix(in srgb,var(--customer-error) 45%,transparent)}.prize-table-rate b{color:var(--theme-primary)}.prize-table-empty{grid-column:1/-1;text-align:center;padding:28px;color:var(--customer-muted)}
@media(max-width:720px){.prize-table-section{width:calc(100% - 22px);padding:18px;margin-top:20px}.prize-table-grid{grid-template-columns:repeat(var(--prize-table-mobile-cols,2),minmax(0,1fr));gap:9px}.prize-table-art{height:94px;padding:10px}.prize-table-copy{padding:11px}.prize-table-copy>strong{font-size:13px;min-height:34px}.prize-table-meta>span{font-size:8px;padding:5px 6px}}


/* V7.1.2 — Customer Reward List layout selector */
.prize-table-grid.layout-list{display:flex;flex-direction:column;gap:10px}
.prize-table-grid.layout-list .prize-table-card{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:stretch;min-height:86px;border-radius:14px}
.prize-table-grid.layout-list .prize-table-art{height:auto;min-height:86px;padding:10px;border-bottom:0;border-right:1px solid color-mix(in srgb,var(--customer-border) 50%,transparent)}
.prize-table-grid.layout-list .prize-table-art img{max-width:72px;max-height:64px}
.prize-table-grid.layout-list .prize-table-art.placeholder{font-size:26px}
.prize-table-grid.layout-list .prize-table-copy{display:grid;grid-template-columns:minmax(190px,1.4fr) minmax(0,1fr);grid-template-rows:auto auto;align-content:center;column-gap:18px;padding:13px 16px}
.prize-table-grid.layout-list .prize-table-copy>small{grid-column:1;grid-row:1;margin:0 0 4px}
.prize-table-grid.layout-list .prize-table-copy>strong{grid-column:1;grid-row:2;min-height:0;font-size:16px}
.prize-table-grid.layout-list .prize-table-meta{grid-column:2;grid-row:1/3;justify-content:flex-end;align-items:center;margin:0}
.prize-table-grid.layout-list .prize-table-card:hover{transform:translateX(2px)}
@media(max-width:720px){
  .prize-table-grid.layout-list{gap:8px}
  .prize-table-grid.layout-list .prize-table-card{grid-template-columns:70px minmax(0,1fr);min-height:72px}
  .prize-table-grid.layout-list .prize-table-art{min-height:72px;padding:8px}
  .prize-table-grid.layout-list .prize-table-art img{max-width:54px;max-height:50px}
  .prize-table-grid.layout-list .prize-table-copy{display:block;padding:10px 12px}
  .prize-table-grid.layout-list .prize-table-copy>strong{font-size:13px}
  .prize-table-grid.layout-list .prize-table-meta{justify-content:flex-start;margin-top:8px}
}

/* =========================================================
   V7.2 CUSTOMER PAGE PREMIUM POLISH
   Visual-only refinement. Existing Customer Page Designer
   variables remain the source of truth for colors/theme.
   ========================================================= */

/* page rhythm / premium shell */
body:not(.game-locked) .page{padding-top:34px;padding-bottom:52px}
.topbar{
  height:72px;
  border-bottom-color:color-mix(in srgb,var(--customer-border,#6d5629) 35%,transparent);
  background:linear-gradient(180deg,rgba(6,8,12,.93),rgba(6,8,12,.78));
  box-shadow:0 10px 34px rgba(0,0,0,.18);
}
.brand-wrap{gap:14px}
.brand-logo{filter:drop-shadow(0 6px 18px rgba(0,0,0,.28))}
.campaign-tag{
  padding:8px 14px;
  border-color:color-mix(in srgb,var(--theme-primary) 42%,transparent);
  background:color-mix(in srgb,var(--theme-primary) 7%,transparent);
  color:color-mix(in srgb,var(--theme-primary) 84%,#fff)!important;
  box-shadow:inset 0 1px rgba(255,255,255,.04);
}

/* hero */
.intro{max-width:860px;margin:0 auto 30px;position:relative;z-index:2}
.intro .eyebrow{display:inline-flex;align-items:center;gap:10px;padding:7px 12px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-primary) 26%,transparent);background:color-mix(in srgb,var(--theme-primary) 6%,transparent);letter-spacing:2.4px}
.intro h1{margin-top:16px;letter-spacing:-2.2px;filter:drop-shadow(0 14px 32px color-mix(in srgb,var(--theme-primary) 14%,transparent))}
.intro p{max-width:680px;margin:10px auto 0;line-height:1.55;letter-spacing:.7px}

/* main game stage */
.game-shell{
  position:relative;
  width:min(1180px,100%);
  margin:32px auto 0;
  gap:42px;
  padding:24px;
  border:1px solid color-mix(in srgb,var(--customer-border,#6d5629) 34%,transparent);
  border-radius:calc(var(--customer-card-radius,24px) + 8px);
  background:
    radial-gradient(circle at 72% 14%,color-mix(in srgb,var(--theme-primary) 8%,transparent),transparent 30%),
    linear-gradient(145deg,rgba(255,255,255,.018),rgba(255,255,255,.004));
  box-shadow:0 34px 100px rgba(0,0,0,.24),inset 0 1px rgba(255,255,255,.025);
}
.game-shell:before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,transparent 8%,rgba(255,255,255,.018) 36%,transparent 62%)}
.left-column{position:relative;z-index:2}

/* coupon gate */
body:not(.game-locked) .coupon-card,
body:not(.game-locked) .result-card{
  border-width:1px!important;
  box-shadow:0 18px 46px rgba(0,0,0,calc(var(--customer-shadow-alpha,.6)*.55))!important;
}
body:not(.game-locked) .coupon-card{padding:28px}
.coupon-medallion{box-shadow:0 0 0 5px rgba(7,9,13,.82),0 8px 22px rgba(0,0,0,.28)}
.coupon-card .step{display:inline-flex;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary) 8%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 24%,transparent)}
.coupon-card h2{letter-spacing:-.45px}
.input-wrap{min-height:52px;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.input-wrap:focus-within{border-color:color-mix(in srgb,var(--theme-primary) 74%,#fff)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--theme-primary) 12%,transparent),0 10px 24px rgba(0,0,0,.18);transform:translateY(-1px)}
.input-wrap input::placeholder{color:color-mix(in srgb,var(--customer-muted) 72%,transparent)}
.btn{min-height:48px;box-shadow:inset 0 1px rgba(255,255,255,.12);transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.14)}
.btn:active:not(:disabled){transform:translateY(0) scale(.995)}
.rules{margin-top:16px;padding-top:15px;border-top:1px solid color-mix(in srgb,var(--customer-border) 20%,transparent)}

/* wheel / mystery stage polish */
.wheel-stage,.mystery-stage{position:relative;z-index:2}
.wheel-stage{min-height:560px}
.halo{opacity:.82;filter:blur(1px)}
.wheel{box-shadow:0 0 0 6px #6f4310,0 0 0 12px #24180a,0 30px 80px rgba(0,0,0,.72),0 0 52px color-mix(in srgb,var(--theme-primary) 35%,transparent)}
.mystery-stage{
  border-color:color-mix(in srgb,var(--theme-primary) 30%,transparent);
  box-shadow:0 30px 80px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.025);
}
.mystery-head>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:color-mix(in srgb,var(--theme-primary) 7%,transparent);border:1px solid color-mix(in srgb,var(--theme-primary) 22%,transparent)}
.gift-box{box-shadow:inset 0 1px rgba(255,255,255,.04),0 14px 28px rgba(0,0,0,.12)}
.gift-box:hover:not(.locked){box-shadow:0 18px 38px rgba(0,0,0,.33),0 0 30px color-mix(in srgb,var(--theme-primary) 16%,transparent)}

/* result card / receipt feeling */
.result-card.show{position:relative;overflow:hidden}
.result-card.show:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 0%,color-mix(in srgb,var(--theme-primary) 10%,transparent),transparent 44%)}
.result-icon{position:relative;z-index:1;width:58px;height:58px;border:1px solid color-mix(in srgb,var(--customer-success) 42%,transparent);box-shadow:0 0 0 6px color-mix(in srgb,var(--customer-success) 6%,transparent)}
.result-card .claim{position:relative;z-index:1;padding:15px 14px;border-radius:12px;background:color-mix(in srgb,var(--customer-input-bg) 94%,#000);border-color:color-mix(in srgb,var(--theme-primary) 38%,transparent);color:color-mix(in srgb,var(--theme-primary) 78%,#fff)}

/* reward list becomes cleaner + denser */
.prize-table-section{
  margin-top:24px;
  padding:24px;
  border-color:color-mix(in srgb,var(--customer-border) 42%,transparent);
  background:linear-gradient(145deg,color-mix(in srgb,var(--customer-panel) 96%,transparent),color-mix(in srgb,var(--customer-panel) 88%,#000));
}
.prize-table-head{margin-bottom:18px}
.prize-table-head>span{display:inline-flex;padding:5px 9px;border-radius:999px;border:1px solid color-mix(in srgb,var(--theme-primary) 22%,transparent);background:color-mix(in srgb,var(--theme-primary) 6%,transparent)}
.prize-table-head h2{letter-spacing:-.6px}
.prize-table-grid.layout-list{gap:8px}
.prize-table-grid.layout-list .prize-table-card{
  grid-template-columns:80px minmax(0,1fr);
  min-height:76px;
  border-radius:13px;
  border-color:color-mix(in srgb,var(--customer-border) 42%,transparent);
  background:linear-gradient(90deg,color-mix(in srgb,var(--theme-primary) 3%,var(--customer-panel)),var(--customer-panel));
  box-shadow:0 8px 18px rgba(0,0,0,.08);
}
.prize-table-grid.layout-list .prize-table-card:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--theme-primary) 55%,transparent);box-shadow:0 10px 24px rgba(0,0,0,.14)}
.prize-table-grid.layout-list .prize-table-art{min-height:76px;padding:9px;background:linear-gradient(145deg,color-mix(in srgb,var(--theme-primary) 8%,transparent),transparent);border-right-color:color-mix(in srgb,var(--customer-border) 30%,transparent)}
.prize-table-grid.layout-list .prize-table-art img{max-width:60px;max-height:56px}
.prize-table-grid.layout-list .prize-table-copy{padding:11px 14px;column-gap:12px}
.prize-table-grid.layout-list .prize-table-copy>small{font-size:8px;opacity:.72}
.prize-table-grid.layout-list .prize-table-copy>strong{font-size:15px;letter-spacing:-.12px}
.prize-table-meta>span{background:rgba(255,255,255,.018);box-shadow:inset 0 1px rgba(255,255,255,.025)}

/* steps / footer */
.clean-steps{margin-top:26px;border-color:color-mix(in srgb,var(--customer-border) 28%,transparent)!important;background:color-mix(in srgb,var(--customer-panel) 70%,transparent)!important;box-shadow:0 12px 36px rgba(0,0,0,.12)}
.clean-steps .how-step b{box-shadow:0 0 0 4px color-mix(in srgb,var(--theme-primary) 4%,transparent)}
footer{opacity:.82;padding-top:24px}

/* premium reveal modal */
.mystery-result-dialog{border-color:color-mix(in srgb,var(--theme-primary) 46%,transparent);box-shadow:0 38px 110px rgba(0,0,0,.72),0 0 54px color-mix(in srgb,var(--theme-primary) 10%,transparent)}
.mystery-code-wrap{background:color-mix(in srgb,var(--customer-input-bg,#080b11) 96%,#000);border-color:color-mix(in srgb,var(--theme-primary) 38%,transparent)}

/* responsive polish */
@media(max-width:900px){
  .topbar{height:66px;padding-inline:18px}
  .page{padding-top:28px!important}
  .intro{margin-bottom:22px}
  .game-shell{width:100%;padding:16px;gap:18px;border-radius:24px}
  .wheel-stage{min-height:auto}
  .prize-table-section{padding:18px}
}
@media(max-width:720px){
  .intro h1{letter-spacing:-1.25px!important}
  .intro .eyebrow{font-size:9px!important;letter-spacing:1.6px!important;padding:6px 9px}
  .game-shell{padding:12px;border-radius:20px}
  .coupon-card,.result-card{padding:21px!important}
  .input-wrap{min-height:50px}
  .btn{min-height:46px}
  .prize-table-section{border-radius:20px!important;padding:15px}
  .prize-table-head{margin-bottom:14px}
  .prize-table-grid.layout-list .prize-table-card{grid-template-columns:64px minmax(0,1fr);min-height:66px}
  .prize-table-grid.layout-list .prize-table-art{min-height:66px;padding:7px}
  .prize-table-grid.layout-list .prize-table-art img{max-width:48px;max-height:46px}
  .prize-table-grid.layout-list .prize-table-copy{padding:9px 10px}
  .prize-table-grid.layout-list .prize-table-copy>strong{font-size:13px}
  .prize-table-grid.layout-list .prize-table-meta{gap:4px;margin-top:6px}
  .prize-table-meta>span{font-size:7.5px!important;padding:4px 6px!important}
  .clean-steps{margin-top:18px}
}
@media(max-width:460px){
  .page{padding-inline:10px!important}
  .game-shell{border-left:0;border-right:0;border-radius:18px;padding-inline:8px}
  .prize-table-section{width:calc(100% - 10px);margin-inline:auto}
}

/* =========================================================
   V7.2.1 OPTION 6 — FESTIVE RED & GOLD
   Bright premium customer presentation inspired by the
   approved Option 6 concept. Visual layer only.
   ========================================================= */

:root{
  --festive-red:#b91414;
  --festive-red-dark:#7e0808;
  --festive-red-deep:#560404;
  --festive-gold:#e7a719;
  --festive-gold-light:#ffd967;
  --festive-cream:#fff6e5;
  --festive-cream-2:#f8ead0;
  --festive-ink:#24170f;
  --festive-muted:#7c6658;
}

body{
  background:
    radial-gradient(circle at 78% 11%,rgba(246,190,76,.32),transparent 28%),
    radial-gradient(circle at 18% 26%,rgba(255,221,142,.38),transparent 24%),
    linear-gradient(180deg,#fff7e8 0%,#f9e8c9 56%,#fff8e9 100%)!important;
  color:var(--festive-ink)!important;
}
body:before{
  content:"";position:fixed;inset:0;z-index:-4;pointer-events:none;
  background:
    radial-gradient(circle at 8% 82%,rgba(214,150,20,.18) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 22%,rgba(214,150,20,.14) 0 2px,transparent 3px);
  background-size:80px 80px,110px 110px;
}
.page-background{opacity:.17!important;mix-blend-mode:multiply}
.page-background:after{background:linear-gradient(180deg,rgba(255,247,232,.36),rgba(255,246,229,.72))!important}
.ambient{filter:blur(110px);opacity:.16!important}.a1{background:#efbd48!important}.a2{background:#c81717!important}

.topbar{
  height:82px!important;
  background:rgba(255,249,237,.88)!important;
  border-bottom:1px solid rgba(182,113,13,.18)!important;
  box-shadow:0 12px 34px rgba(115,58,3,.08)!important;
  backdrop-filter:blur(18px);
}
.brand{color:#b77a0b!important;background:linear-gradient(180deg,#ffd86d,#a76703);-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:none!important}
.brand-logo{filter:drop-shadow(0 8px 14px rgba(127,69,4,.13))!important}
.campaign-tag{
  color:#9d0e0e!important;background:#fff7e8!important;border:1px solid #e7c786!important;
  box-shadow:0 5px 18px rgba(122,65,2,.07)!important;font-weight:900!important;
}

.page{max-width:1420px!important;padding-top:32px!important}
.intro{text-align:left!important;max-width:100%!important;margin:0 auto 22px!important;padding-left:8px}
.intro .eyebrow{
  color:#aa1010!important;background:#fffaf1!important;border:1px solid #edcf97!important;
  box-shadow:0 5px 18px rgba(106,58,5,.05);
}
.intro h1{
  max-width:760px;font-size:clamp(44px,6vw,82px)!important;line-height:.95!important;margin:16px 0 8px!important;
  background:linear-gradient(180deg,#3b1d14 0 44%,#a30d0d 45% 100%)!important;
  -webkit-background-clip:text!important;color:transparent!important;text-shadow:none!important;filter:none!important;
}
.intro p{margin:0!important;max-width:650px!important;color:#6f5140!important;font-size:clamp(16px,1.7vw,23px)!important;font-weight:700!important}

.game-shell{
  grid-template-columns:minmax(330px,430px) minmax(470px,1fr)!important;
  align-items:center!important;gap:34px!important;margin-top:24px!important;padding:28px!important;
  border:1px solid rgba(181,112,11,.2)!important;border-radius:30px!important;
  background:
    radial-gradient(circle at 76% 22%,rgba(255,208,93,.42),transparent 31%),
    linear-gradient(135deg,rgba(255,252,245,.96),rgba(255,239,207,.86))!important;
  box-shadow:0 30px 90px rgba(116,64,5,.13),inset 0 1px rgba(255,255,255,.9)!important;
  overflow:hidden;
}
.game-shell:before{
  background:
    radial-gradient(circle at 79% 36%,transparent 0 170px,rgba(210,139,14,.08) 171px 173px,transparent 174px),
    linear-gradient(110deg,rgba(255,255,255,.26),transparent 45%)!important;
}
.left-column{align-self:center}
.glass,.coupon-card,.result-card{
  background:linear-gradient(145deg,#fffaf1,#f8ead1)!important;
  border:1px solid #e9c889!important;color:var(--festive-ink)!important;
  box-shadow:0 18px 46px rgba(112,58,3,.11)!important;
}
.coupon-card{padding:30px!important;border-radius:24px!important}
.coupon-medallion{background:linear-gradient(145deg,#c41616,#8f0909)!important;border-color:#f2bd43!important;color:#fff!important}
.coupon-card .step{color:#a60d0d!important;background:#fff4df!important;border-color:#e9c27d!important}
.coupon-card h2{color:#8e0c0c!important;font-size:24px!important;text-transform:uppercase}
.coupon-card>p,.rules{color:#80685a!important}
.input-wrap{background:#fffaf0!important;border:1px solid #dcc79f!important;box-shadow:inset 0 2px 6px rgba(105,58,8,.035)!important}
.input-wrap input{color:#3c281b!important}.input-wrap input::placeholder{color:#a69385!important}
.btn.primary,#verifyBtn{
  background:linear-gradient(180deg,#d62828,#a80d0d)!important;color:#fff!important;
  border:1px solid #8d0808!important;box-shadow:0 10px 24px rgba(161,13,13,.18),inset 0 1px rgba(255,255,255,.28)!important;
}
.spin-action{background:linear-gradient(180deg,#d62828,#9f0909)!important;color:#fff!important;border:1px solid #850707!important}
.secondary{background:#fff8ec!important;color:#8e0b0b!important;border:1px solid #dab973!important}
.message.success{color:#2d8c38!important}.message.error{color:#c41616!important}
.rules{border-top-color:#ead8b8!important}.rules span:before{color:#bd1515!important}

/* Wheel becomes the red-and-gold hero from Option 6 */
.wheel-stage{min-height:590px!important}
.halo{background:radial-gradient(circle,rgba(244,184,51,.32),transparent 67%)!important;box-shadow:0 0 110px rgba(207,132,10,.25)!important}
.pointer{background:linear-gradient(#ffd86f,#b8750a)!important;filter:drop-shadow(0 8px 8px rgba(93,43,0,.28))!important}
.pointer span{background:#a80d0d!important;border-color:#ffe395!important}
.wheel{
  border-color:#f2c455!important;
  box-shadow:0 0 0 6px #9b5a05,0 0 0 12px #6e0b07,0 28px 58px rgba(108,42,0,.28),0 0 46px rgba(229,161,26,.3)!important;
  filter:saturate(.98) brightness(1.03);
}
.spin-center{
  background:radial-gradient(circle,#fff5c9 0 42%,#efba42 44% 65%,#a41313 67% 100%)!important;
  color:#8d0b0b!important;text-shadow:none!important;box-shadow:0 7px 20px rgba(91,35,0,.22)!important;
}
.wheel-base{background:linear-gradient(#d12424,#8e0808)!important;border-color:#e4a92d!important;color:#fff3c8!important;box-shadow:0 20px 36px rgba(101,30,0,.24)!important}
.wheel-label span{color:#fff7dc;text-shadow:0 2px 4px rgba(61,10,0,.68)!important}

/* decorative festive seal, used instead of a fixed mascot image */
.game-shell:after{
  content:"福";position:absolute;right:34px;bottom:24px;width:74px;height:74px;border-radius:50%;
  display:grid;place-items:center;font-family:Georgia,serif;font-size:34px;font-weight:900;color:#ffd966;
  background:linear-gradient(145deg,#c81d1d,#850606);border:5px solid #e9b63c;
  box-shadow:0 13px 25px rgba(115,42,0,.18),inset 0 1px rgba(255,255,255,.32);transform:rotate(-8deg);z-index:1;
}

/* Mystery keeps same festive visual language */
.mystery-stage{background-color:#fff4df!important;border-color:#e1b761!important;box-shadow:0 24px 65px rgba(103,48,0,.14)!important;color:#3c2417!important}
.mystery-head>span{color:#a90d0d!important;background:#fff9ed!important;border-color:#e6c781!important}.mystery-head h2{color:#941010!important}.mystery-head p,.mystery-hint{color:#7a6659!important}
.gift-box{background:linear-gradient(145deg,#c82020,#830606)!important;border-color:#e9b83f!important}

/* How-to-play bar follows Option 6 */
.clean-steps{
  width:min(1080px,100%)!important;margin:22px auto 24px!important;padding:16px 24px!important;
  background:rgba(255,249,238,.88)!important;border:1px solid #dfbd79!important;border-radius:20px!important;
  box-shadow:0 14px 30px rgba(105,55,2,.08)!important;color:#4b3324!important;
}
.clean-steps .how-step b{background:#fff7e4!important;border-color:#d49a20!important;color:#9d0d0d!important;box-shadow:0 0 0 4px rgba(218,155,25,.08)!important}
.clean-steps .how-step strong{color:#3c271b!important}.clean-steps>i{background:linear-gradient(90deg,transparent,#d59c21,transparent)!important}

/* Reward list becomes a light, table-like ledger */
.prize-table-section{
  margin-top:18px!important;background:rgba(255,251,243,.94)!important;border:1px solid #e4c78e!important;
  box-shadow:0 25px 55px rgba(105,54,2,.1)!important;border-radius:24px!important;color:#382519!important;
}
.prize-table-head{text-align:left!important;padding:0 4px 12px!important}
.prize-table-head>span{color:#9b0e0e!important;background:#fff4df!important;border-color:#e6c77f!important}
.prize-table-head h2{color:#4b2a1c!important;font-size:30px!important}.prize-table-head p{color:#826958!important}
.prize-table-grid.layout-list{gap:0!important;border:1px solid #ead6ad;border-radius:14px;overflow:hidden;background:#fffdf8}
.prize-table-grid.layout-list .prize-table-card{
  grid-template-columns:82px minmax(0,1fr)!important;min-height:72px!important;border:0!important;border-radius:0!important;
  border-bottom:1px solid #efe0c1!important;background:#fffaf1!important;box-shadow:none!important;
}
.prize-table-grid.layout-list .prize-table-card:last-child{border-bottom:0!important}
.prize-table-grid.layout-list .prize-table-card:hover{transform:none!important;background:#fff4df!important;box-shadow:none!important}
.prize-table-grid.layout-list .prize-table-art{background:#fff7e8!important;border-right:1px solid #ecdbb9!important}
.prize-table-grid.layout-list .prize-table-art.placeholder{color:#bd1717!important}
.prize-table-grid.layout-list .prize-table-copy>small{color:#a38166!important}.prize-table-grid.layout-list .prize-table-copy>strong{color:#392519!important}
.prize-table-meta>span{background:#fff!important;border-color:#ddc99f!important;color:#766151!important;box-shadow:none!important}
.prize-table-status.available{background:#e7f4d9!important;color:#4d8d26!important;border-color:#a9cf89!important}
.prize-table-status.limited{background:#fff0c8!important;color:#b06d00!important;border-color:#e7bd55!important}
.prize-table-status.sold-out{background:#f9dede!important;color:#b21919!important;border-color:#e3a4a4!important}
.prize-table-rate b{color:#9d0e0e!important}

/* Result / claim */
.result-icon{background:#fff2d0!important;color:#a20d0d!important;border-color:#e0ba64!important}.result-small{color:#a80d0d!important}.result-card h2,.prize{color:#8f0d0d!important}.result-card p{color:#806858!important}
.result-card .claim,.mystery-code-wrap{background:#fff9ec!important;color:#8f0c0c!important;border-color:#ddb96c!important}
.mystery-result-dialog{background:linear-gradient(145deg,#fffaf0,#f5e4c5)!important;border-color:#d7a94a!important;color:#372316!important}.mystery-result-kicker,.mystery-won-prize{color:#a40d0d!important}

footer{color:#8b6e50!important;border-top:1px solid rgba(187,126,21,.15);padding-bottom:28px!important}

/* Remove old dark-mode locked showcase so the pre-verify screen is still clean and usable */
body.game-locked .locked-showcase{opacity:.10!important;mix-blend-mode:multiply}
body.game-locked .game-shell{background:linear-gradient(135deg,#fffaf1,#f8e7c9)!important}
body.game-locked .coupon-card{background:linear-gradient(145deg,#fffaf2,#f8e8cd)!important;border-color:#e1bd78!important}
body.game-locked .intro h1{background:linear-gradient(180deg,#3b1d14 0 44%,#a30d0d 45% 100%)!important;-webkit-background-clip:text!important;color:transparent!important}
body.game-locked .intro p{color:#6f5140!important}
body.game-locked .how{background:#fff9ed!important;border-color:#dfbd79!important}
body.game-locked .how .how-step strong{color:#3b281d!important}
body.game-locked .how .how-step>b{color:#a60e0e!important}
body.game-locked .how .how-step em{background:#fff4df!important;border-color:#d39d29!important;color:#a80e0e!important}

@media(max-width:900px){
  .intro{text-align:center!important;padding-left:0}.intro h1,.intro p{margin-left:auto!important;margin-right:auto!important}
  .game-shell{grid-template-columns:1fr!important;padding:18px!important}.game-shell:after{display:none}.wheel-stage{min-height:auto!important}
  .left-column{max-width:620px;width:100%;margin:auto}
}
@media(max-width:720px){
  .topbar{height:68px!important}.page{padding-inline:12px!important}.intro h1{font-size:42px!important}
  .game-shell{padding:10px!important;border-radius:20px!important}.coupon-card{padding:22px!important}
  .clean-steps{padding:13px!important}.prize-table-section{padding:14px!important}
  .prize-table-grid.layout-list .prize-table-card{grid-template-columns:62px minmax(0,1fr)!important}.prize-table-grid.layout-list .prize-table-art{min-height:66px!important}
}


/* =========================================================
   V7.2.2 OPTION 6 — LAYOUT SAFETY FIX
   Keep the play steps and reward table as separate full rows.
   ========================================================= */
.page{
  width:min(1420px,calc(100% - 48px))!important;
  margin-inline:auto!important;
}
.game-shell{
  width:min(1180px,100%)!important;
  margin-inline:auto!important;
}
.clean-steps{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:min(1080px,100%)!important;
  margin:22px auto 24px!important;
  overflow:hidden!important;
}
.prize-table-section{
  display:block;
  width:min(1180px,100%)!important;
  margin:0 auto 28px!important;
  clear:both!important;
}
.prize-table-section.hidden{display:none!important}
.prize-table-grid.layout-list{width:100%!important}
@media(max-width:900px){
  .page{width:calc(100% - 24px)!important}
  .clean-steps{flex-wrap:wrap!important;gap:10px!important}
  .clean-steps>i{display:none!important}
  .how-step{min-width:calc(50% - 8px)!important;justify-content:flex-start!important}
}
@media(max-width:560px){
  .page{width:calc(100% - 16px)!important}
  .how-step{min-width:100%!important}
  .prize-table-section{width:100%!important}
}

/* =========================================================
   V7.2.3 OPTION 6 — FULL THEME REBUILD
   Final cream / festive red / gold customer layout.
   ========================================================= */
body{background:radial-gradient(circle at 76% 18%,rgba(244,185,58,.18),transparent 27%),radial-gradient(circle at 12% 42%,rgba(230,170,48,.12),transparent 25%),linear-gradient(180deg,#fff8eb 0%,#f8ead0 52%,#fff9ee 100%)!important;color:#29180f!important}
body:before{background:radial-gradient(circle,rgba(185,112,11,.15) 0 1.5px,transparent 2px) 0 0/56px 56px,linear-gradient(180deg,rgba(255,255,255,.28),transparent 34%,rgba(255,255,255,.18))!important;opacity:.65}
.page-background{opacity:.08!important;filter:saturate(.65) sepia(.1)!important;mix-blend-mode:multiply}.ambient{opacity:.10!important}.a1{background:#f0be4d!important}.a2{background:#b80e0e!important}
.topbar{position:sticky!important;top:0;z-index:40;height:76px!important;background:rgba(255,250,241,.94)!important;border-bottom:1px solid #ead7b4!important;box-shadow:0 8px 30px rgba(96,48,0,.07)!important;backdrop-filter:blur(18px)!important}.brand-wrap{display:flex;align-items:center;min-width:140px}.brand-logo{max-height:50px!important;max-width:180px!important}.brand{font-size:26px!important;color:#b67907!important}.campaign-tag{background:#fff7e8!important;color:#a80f0f!important;border:1px solid #e3bd70!important;box-shadow:none!important}
.page{width:min(1380px,calc(100% - 44px))!important;max-width:none!important;padding:42px 0 58px!important}.intro{max-width:1180px!important;margin:0 auto 28px!important;padding:0!important;text-align:left!important}.intro .eyebrow{display:inline-flex!important;align-items:center;gap:12px;padding:7px 14px!important;border:1px solid #e4bd70!important;border-radius:999px;background:#fffaf0!important;color:#b20e0e!important;font-size:10px!important;letter-spacing:2.8px!important;font-weight:950!important}.intro .eyebrow:before,.intro .eyebrow:after{content:"";display:block;width:42px;height:1px;background:#dba844!important}.intro h1{margin:18px 0 4px!important;max-width:800px!important;font-size:clamp(52px,7vw,92px)!important;line-height:.91!important;letter-spacing:-2.8px!important;font-weight:1000!important;text-transform:uppercase;background:linear-gradient(180deg,#311710 0 48%,#b40c0c 49% 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;filter:none!important;text-shadow:none!important}.intro p{margin:0!important;color:#8e140f!important;font-size:clamp(24px,3.1vw,42px)!important;line-height:1!important;font-weight:1000!important;letter-spacing:-.9px!important;text-transform:uppercase}.intro:after{content:"ENTER YOUR COUPON AND TRY YOUR LUCK!";display:block;margin-top:13px;color:#795d48;font-size:13px;font-weight:700;letter-spacing:.2px}
.game-shell{position:relative!important;display:grid!important;grid-template-columns:minmax(340px,430px) minmax(520px,1fr)!important;align-items:center!important;gap:42px!important;width:min(1180px,100%)!important;min-height:610px!important;margin:0 auto!important;padding:38px 40px!important;overflow:hidden!important;border:1px solid #e2bf78!important;border-radius:32px!important;background:radial-gradient(circle at 78% 30%,rgba(255,213,109,.38),transparent 30%),radial-gradient(circle at 14% 80%,rgba(197,33,21,.055),transparent 25%),linear-gradient(135deg,#fffdf8 0%,#fff4de 55%,#f9e5bf 100%)!important;box-shadow:0 30px 80px rgba(103,54,4,.13),inset 0 1px rgba(255,255,255,.95)!important}.game-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 78% 50%,transparent 0 195px,rgba(194,124,7,.08) 196px 198px,transparent 199px)!important}.game-shell:after{right:22px!important;bottom:20px!important;width:62px!important;height:62px!important;font-size:28px!important;border-width:4px!important;opacity:.95}.left-column{width:100%!important;max-width:430px!important;position:relative;z-index:5;align-self:center!important}
body.game-locked .page{width:min(1380px,calc(100% - 44px))!important;padding-top:42px!important}body.game-locked .intro{max-width:1180px!important;margin:0 auto 28px!important;text-align:left!important}body.game-locked .intro .eyebrow{font-size:10px!important;letter-spacing:2.8px!important;color:#b20e0e!important}body.game-locked .intro .eyebrow:before,body.game-locked .intro .eyebrow:after{width:42px!important;background:#dba844!important}body.game-locked .intro h1{margin:18px 0 4px!important;font-size:clamp(52px,7vw,92px)!important;line-height:.91!important;letter-spacing:-2.8px!important;background:linear-gradient(180deg,#311710 0 48%,#b40c0c 49% 100%)!important;-webkit-background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important}body.game-locked .intro p{margin:0!important;color:#8e140f!important;font-size:clamp(24px,3.1vw,42px)!important;line-height:1!important;font-weight:1000!important}body.game-locked .intro:after{content:"ENTER YOUR COUPON AND TRY YOUR LUCK!"!important;margin-top:13px!important;color:#795d48!important;font-size:13px!important;letter-spacing:.2px!important}body.game-locked .game-shell{display:grid!important;grid-template-columns:minmax(340px,430px) minmax(430px,1fr)!important;justify-content:stretch!important;align-items:center!important;width:min(1180px,100%)!important;min-height:570px!important;padding:38px 40px!important;background:radial-gradient(circle at 78% 30%,rgba(255,213,109,.38),transparent 30%),linear-gradient(135deg,#fffdf8,#f9e7c5)!important;border:1px solid #e2bf78!important;border-radius:32px!important;box-shadow:0 30px 80px rgba(103,54,4,.13)!important}body.game-locked .left-column{width:100%!important;max-width:430px!important;z-index:6}body.game-locked .locked-showcase{display:none!important}body.game-locked #wheelStage,body.game-locked #mysteryStage{display:none!important}
.festive-locked-hero{display:none;position:relative;z-index:3;min-height:470px;align-items:center;justify-content:center;flex-direction:column;text-align:center}body.game-locked .festive-locked-hero{display:flex}.festive-lock-wheel{position:relative;width:min(430px,88%);aspect-ratio:1;border-radius:50%;background:repeating-conic-gradient(from -10deg,#a90c0c 0 36deg,#761008 36deg 72deg);border:13px solid #e4a827;box-shadow:0 0 0 7px #8e4e06,0 30px 46px rgba(115,46,1,.22),0 0 50px rgba(221,157,30,.25)}.festive-lock-wheel:before{content:"";position:absolute;inset:18px;border-radius:50%;background:repeating-conic-gradient(from -10deg,transparent 0 35.3deg,rgba(255,221,115,.75) 35.3deg 36deg);pointer-events:none}.lock-wheel-ring{position:absolute;inset:35%;border-radius:50%;background:radial-gradient(circle,#fff2bd 0 42%,#e5a92e 44% 62%,#a20d0d 64%);box-shadow:0 5px 20px rgba(83,31,0,.2)}.lock-wheel-center{position:absolute;inset:39%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;color:#8c0909;font-weight:1000}.lock-wheel-center span{font-size:36px;line-height:1}.lock-wheel-center small{font-size:9px;letter-spacing:2px}.lock-wheel-pointer{position:absolute;left:50%;top:-28px;transform:translateX(-50%);width:54px;height:70px;background:linear-gradient(#ffe07d,#bd790a);clip-path:polygon(50% 100%,0 32%,10% 8%,50% 0,90% 8%,100% 32%);filter:drop-shadow(0 6px 7px rgba(92,40,0,.26))}.festive-locked-hero>strong{margin-top:20px;color:#8c0c0c;font-size:20px;letter-spacing:1px}.festive-locked-hero>span{margin-top:5px;color:#866b55;font-size:13px}.festive-coin{position:absolute;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#ffe474,#d7950c);border:3px solid #b96f05;color:#9a5703;font-weight:1000;box-shadow:0 9px 16px rgba(100,46,0,.13)}.coin-one{left:3%;top:17%;transform:rotate(-18deg)}.coin-two{right:0;top:31%;transform:rotate(15deg)}.coin-three{right:12%;bottom:17%;transform:rotate(-10deg)}.festive-gift-stack{position:absolute;left:5%;bottom:13%;display:flex;align-items:end}.fgift{font-size:46px;filter:drop-shadow(0 9px 11px rgba(86,34,0,.16))}.g1{transform:rotate(-8deg)}.g2{font-size:64px;margin-left:-12px;z-index:2}.g3{font-size:38px;margin-left:-10px;transform:rotate(9deg)}
.glass,.coupon-card,.result-card{background:linear-gradient(145deg,#fffdf8,#faebcf)!important;border:1px solid #e0b86d!important;color:#29180f!important;box-shadow:0 18px 48px rgba(102,50,2,.12)!important}.coupon-card{min-height:0!important;padding:34px 30px 28px!important;border-radius:25px!important;text-align:left!important;overflow:visible!important}body.game-locked .coupon-card{min-height:0!important;padding:34px 30px 28px!important;text-align:left!important}.coupon-card:before,.coupon-card:after{display:none!important}.coupon-medallion{position:static!important;transform:none!important;width:50px!important;height:50px!important;margin-bottom:14px!important;border-radius:16px!important;font-size:20px!important;background:linear-gradient(145deg,#cb2020,#8b0808)!important;border:2px solid #eab949!important;box-shadow:0 8px 20px rgba(130,20,10,.16)!important}.coupon-card .step{display:inline-flex!important;margin-bottom:7px;padding:5px 8px!important;border-radius:999px!important;background:#fff4dd!important;border:1px solid #e6bd70!important;color:#a40e0e!important;font-size:9px!important;letter-spacing:2px!important}.coupon-card h2,body.game-locked .coupon-card h2{margin:3px 0 6px!important;color:#8e0b0b!important;font-size:25px!important;line-height:1.1!important;text-transform:uppercase;text-align:left!important}.coupon-card>p,body.game-locked .coupon-card>p{margin:0 0 20px!important;color:#806756!important;font-size:13px!important;text-align:left!important}.input-wrap,body.game-locked .input-wrap{height:58px!important;margin:0!important;border:1px solid #d4bc92!important;border-radius:12px!important;background:#fffdf8!important;box-shadow:inset 0 2px 7px rgba(91,47,4,.04)!important}.input-wrap>span,body.game-locked .input-wrap>span{width:auto!important;padding-right:12px!important;color:#b31313!important;border-right:1px solid #ead6b2!important;font-size:17px!important}.input-wrap input,body.game-locked .input-wrap input{color:#322016!important;font-size:14px!important;letter-spacing:.8px!important}#verifyBtn,body.game-locked #verifyBtn,.btn.primary{height:56px!important;margin-top:14px!important;border-radius:12px!important;background:linear-gradient(180deg,#d92b27,#a80d0d)!important;border:1px solid #920909!important;color:#fff!important;font-size:14px!important;font-weight:1000!important;box-shadow:0 11px 24px rgba(157,18,12,.18),inset 0 1px rgba(255,255,255,.26)!important}#verifyBtn:hover,body.game-locked #verifyBtn:hover{filter:brightness(1.07)!important;transform:translateY(-1px)!important}.rules,body.game-locked .rules{margin-top:22px!important;padding-top:17px!important;border-top:1px solid #ead8b9!important;color:#876f60!important;font-size:10px!important;gap:7px!important;text-align:left!important}.message{font-size:12px!important}.message.success{color:#39853b!important}.message.error{color:#bd1717!important}
body:not(.game-locked) .festive-locked-hero{display:none!important}body:not(.game-locked) .game-shell{grid-template-columns:minmax(340px,430px) minmax(520px,1fr)!important}.wheel-stage{min-height:540px!important;z-index:4!important}.wheel{max-width:520px!important;max-height:520px!important}.halo{max-width:560px!important}.mystery-stage{z-index:4!important;border-radius:24px!important;background-color:#fff5e4!important}
.clean-steps{width:min(1180px,100%)!important;margin:20px auto!important;padding:15px 18px!important;display:flex!important;justify-content:center!important;gap:12px!important;background:#fffaf1!important;border:1px solid #e0bd78!important;border-radius:18px!important;box-shadow:0 10px 28px rgba(103,54,2,.07)!important}.clean-steps .how-step{display:flex!important;align-items:center!important;gap:9px!important;color:#41291c!important}.clean-steps .how-step b{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff2d5!important;border:1px solid #d7a12d!important;color:#9d0d0d!important;font-size:11px!important}.clean-steps .how-step strong{color:#41291c!important;font-size:11px!important;white-space:nowrap}.clean-steps>i{width:42px!important;height:1px!important;background:linear-gradient(90deg,transparent,#ce9b2d,transparent)!important}
.prize-table-section{width:min(1180px,100%)!important;margin:0 auto 28px!important;padding:24px!important;border-radius:22px!important;background:#fffdf8!important;border:1px solid #dfbd7b!important;box-shadow:0 20px 48px rgba(101,52,1,.09)!important;color:#322016!important}.prize-table-head{display:grid!important;grid-template-columns:auto 1fr;grid-template-areas:"tag title" "tag desc";align-items:center;column-gap:12px;margin-bottom:16px!important;text-align:left!important}.prize-table-head>span{grid-area:tag;align-self:center;padding:7px 9px!important;border-radius:999px!important;background:#fff2d5!important;border:1px solid #ddb260!important;color:#a50e0e!important;font-size:8px!important;letter-spacing:1px!important;font-weight:950!important}.prize-table-head h2{grid-area:title;margin:0!important;color:#4a2a1b!important;font-size:27px!important}.prize-table-head p{grid-area:desc;margin:2px 0 0!important;color:#8a715e!important;font-size:12px!important}.prize-table-grid.layout-list{gap:0!important;border:1px solid #ead6ad!important;border-radius:12px!important;overflow:hidden!important;background:#fffaf1!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:70px minmax(0,1fr)!important;min-height:66px!important;border:0!important;border-radius:0!important;border-bottom:1px solid #eddebe!important;background:#fffdf8!important;box-shadow:none!important}.prize-table-grid.layout-list .prize-table-card:last-child{border-bottom:0!important}.prize-table-grid.layout-list .prize-table-card:hover{transform:none!important;background:#fff7e9!important}.prize-table-grid.layout-list .prize-table-art{min-height:66px!important;background:#fff5df!important;border-right:1px solid #ead6ae!important}.prize-table-grid.layout-list .prize-table-art img{max-width:50px!important;max-height:48px!important}.prize-table-grid.layout-list .prize-table-art.placeholder{color:#b41414!important;font-size:18px!important}.prize-table-grid.layout-list .prize-table-copy{padding:9px 13px!important}.prize-table-grid.layout-list .prize-table-copy>small{color:#9d846e!important;font-size:7.5px!important}.prize-table-grid.layout-list .prize-table-copy>strong{color:#342117!important;font-size:14px!important}.prize-table-meta>span{background:#fff!important;border:1px solid #ddc89f!important;color:#75604f!important;box-shadow:none!important}.prize-table-status.available{background:#e8f5dd!important;color:#4a8527!important;border-color:#a9d08a!important}.prize-table-status.limited{background:#fff0c7!important;color:#a76600!important;border-color:#e5bd5c!important}.prize-table-status.sold-out{background:#f9dddd!important;color:#ad1818!important;border-color:#e2a5a5!important}
.result-card{border-radius:20px!important}.result-icon{background:#fff1d1!important;color:#a20e0e!important;border-color:#dfb45f!important}.result-small,.result-card h2,.prize{color:#930d0d!important}.result-card p{color:#806959!important}.claim,.result-card .claim,.mystery-code-wrap{background:#fffaf0!important;color:#8d0c0c!important;border-color:#d9b76b!important}.secondary{background:#fff8ed!important;color:#8f0d0d!important;border:1px solid #dcb96f!important}
footer{width:100%!important;margin-top:8px!important;padding:24px 20px 28px!important;background:linear-gradient(180deg,#8d0b0b,#590505)!important;border-top:3px solid #d89e28!important;color:#ffe7ad!important;text-align:center!important;font-size:11px!important;letter-spacing:.5px!important}
@media(max-width:980px){.page,body.game-locked .page{width:calc(100% - 24px)!important;padding-top:28px!important}.intro,body.game-locked .intro{text-align:center!important;margin-bottom:22px!important}.intro h1,body.game-locked .intro h1,.intro p,body.game-locked .intro p{margin-left:auto!important;margin-right:auto!important}.intro:after,body.game-locked .intro:after{text-align:center}.game-shell,body.game-locked .game-shell,body:not(.game-locked) .game-shell{grid-template-columns:1fr!important;gap:24px!important;padding:24px!important;min-height:0!important}.left-column,body.game-locked .left-column{max-width:620px!important;margin-inline:auto!important}.festive-locked-hero{min-height:420px;order:2}.festive-lock-wheel{width:min(390px,76%)}.wheel-stage{min-height:500px!important}.wheel{max-width:470px!important;max-height:470px!important}.game-shell:after{display:none!important}}
@media(max-width:720px){.topbar{height:66px!important;padding-inline:14px!important}.brand-logo{max-height:42px!important;max-width:140px!important}.campaign-tag{font-size:8px!important;letter-spacing:1px!important;padding:7px 9px!important}.page,body.game-locked .page{width:calc(100% - 16px)!important;padding-top:22px!important}.intro h1,body.game-locked .intro h1{font-size:45px!important;letter-spacing:-1.6px!important}.intro p,body.game-locked .intro p{font-size:23px!important}.intro:after,body.game-locked .intro:after{font-size:11px!important}.game-shell,body.game-locked .game-shell{padding:12px!important;border-radius:22px!important}.coupon-card,body.game-locked .coupon-card{padding:22px 18px!important;border-radius:18px!important}.coupon-medallion{width:44px!important;height:44px!important;border-radius:13px!important}.coupon-card h2,body.game-locked .coupon-card h2{font-size:21px!important}.input-wrap,body.game-locked .input-wrap{height:52px!important}#verifyBtn,body.game-locked #verifyBtn{height:52px!important}.festive-locked-hero{min-height:330px}.festive-lock-wheel{width:min(300px,82%);border-width:9px}.lock-wheel-center span{font-size:28px}.festive-gift-stack{left:1%;bottom:10%}.fgift{font-size:31px}.g2{font-size:45px}.g3{font-size:28px}.festive-coin{width:32px;height:32px;font-size:11px}.wheel-stage{min-height:390px!important}.wheel{max-width:350px!important;max-height:350px!important}.pointer{transform:translateX(-50%) scale(.8)!important;transform-origin:top center!important}.clean-steps{padding:12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;gap:9px!important}.clean-steps>i{display:none!important}.clean-steps .how-step{min-width:0!important}.clean-steps .how-step strong{white-space:normal!important;font-size:10px!important}.prize-table-section{padding:14px!important;border-radius:18px!important}.prize-table-head{grid-template-columns:1fr!important;grid-template-areas:"tag" "title" "desc"!important;row-gap:5px}.prize-table-head>span{justify-self:start}.prize-table-head h2{font-size:23px!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:58px minmax(0,1fr)!important}.prize-table-grid.layout-list .prize-table-copy{padding:8px 9px!important}.prize-table-grid.layout-list .prize-table-copy>strong{font-size:12px!important}.prize-table-meta{gap:4px!important}.prize-table-meta>span{font-size:7px!important;padding:4px 5px!important}footer{font-size:9px!important;padding-block:20px!important}}
@media(max-width:440px){.campaign-tag{display:none!important}.intro h1,body.game-locked .intro h1{font-size:39px!important}.intro p,body.game-locked .intro p{font-size:20px!important}.festive-locked-hero{min-height:300px}.festive-locked-hero>strong{font-size:16px}.festive-lock-wheel{width:270px}.clean-steps{grid-template-columns:1fr!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:52px minmax(0,1fr)!important}.prize-table-grid.layout-list .prize-table-art{min-height:62px!important}}

/* V7.3 Game Visual Manager */
.visual-stage{min-height:540px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;position:relative;z-index:4;border-radius:24px;color:#7f0b0b}.visual-stage.hidden{display:none!important}.visual-animation{width:min(500px,92%);aspect-ratio:1;display:grid;place-items:center;position:relative}.visual-caption{text-align:center}.visual-caption strong{display:block;font-size:22px;letter-spacing:2px;color:#8e0b0b}.visual-caption span{display:block;margin-top:5px;font-size:12px;color:#866b55}.slot-machine{width:82%;padding:34px 28px;border-radius:34px;background:linear-gradient(145deg,#b90f0f,#690707);border:10px solid #dfa62c;box-shadow:0 25px 45px rgba(105,43,0,.2),inset 0 0 0 3px #7e4306}.slot-top{text-align:center;color:#ffe49a;font-weight:1000;letter-spacing:3px;margin-bottom:22px}.slot-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:15px;border-radius:18px;background:#4e0808}.slot-reels i{height:120px;display:grid;place-items:center;background:#fff8e7;border:3px solid #e1ae45;border-radius:13px;font-size:58px;font-style:normal;overflow:hidden}.visual-playing[data-visual=slot] .slot-reels i{animation:v73Reel .32s linear infinite}.visual-playing[data-visual=slot] .slot-reels i:nth-child(2){animation-delay:.08s}.visual-playing[data-visual=slot] .slot-reels i:nth-child(3){animation-delay:.16s}@keyframes v73Reel{0%{transform:translateY(-12px);filter:blur(0)}50%{transform:translateY(12px);filter:blur(4px)}100%{transform:translateY(-12px);filter:blur(0)}}.slot-line{height:5px;background:#ffd766;border-radius:9px;margin-top:20px;box-shadow:0 0 14px #ffd766}.reveal-card{width:62%;aspect-ratio:.72;perspective:1000px}.reveal-card-inner{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.8,.2,1)}.visual-playing[data-visual=card] .reveal-card-inner{animation:v73CardPulse .8s ease-in-out infinite}.visual-done[data-visual=card] .reveal-card-inner{transform:rotateY(180deg)}.reveal-card-front,.reveal-card-back{position:absolute;inset:0;backface-visibility:hidden;border-radius:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:8px solid #e0aa36;box-shadow:0 28px 55px rgba(101,42,0,.2)}.reveal-card-front{background:radial-gradient(circle at 50% 35%,#d82822,#790808);color:#ffe8a1}.reveal-card-front span{font-size:90px;font-weight:1000}.reveal-card-front small{letter-spacing:3px}.reveal-card-back{transform:rotateY(180deg);background:linear-gradient(145deg,#fffdf7,#f5dba9);color:#8e0b0b;text-align:center;padding:20px}.reveal-card-back span{font-size:72px}.reveal-card-back b{font-size:22px;margin-top:14px}@keyframes v73CardPulse{50%{transform:translateY(-8px) rotateY(10deg);filter:drop-shadow(0 15px 20px rgba(168,76,0,.22))}}.treasure-scene{position:relative;width:86%;height:76%;display:grid;place-items:center}.treasure-glow{position:absolute;width:70%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,215,86,.65),rgba(255,193,38,.15) 45%,transparent 70%);filter:blur(5px)}.treasure-chest{position:relative;width:70%;height:45%;margin-top:18%;filter:drop-shadow(0 28px 25px rgba(92,39,0,.22))}.chest-body{position:absolute;left:0;right:0;bottom:0;height:62%;border-radius:12px 12px 28px 28px;background:linear-gradient(#b71a12,#740909);border:10px solid #dca32d;display:grid;place-items:center}.chest-body b{font-size:58px;color:#ffe7a2}.chest-lid{position:absolute;left:0;right:0;top:4%;height:44%;border-radius:80px 80px 10px 10px;background:linear-gradient(#d52b20,#8c0a08);border:10px solid #e1a82f;transform-origin:bottom;transition:transform .8s}.visual-playing[data-visual=chest] .chest-lid{animation:v73Chest .7s ease-in-out infinite alternate}.visual-done[data-visual=chest] .chest-lid{transform:rotateX(-75deg) translateY(-18px)}.chest-sparks{position:absolute;top:14%;font-size:38px;letter-spacing:24px;color:#e2a526;opacity:.3}.visual-playing[data-visual=chest] .chest-sparks,.visual-done[data-visual=chest] .chest-sparks{opacity:1;animation:v73Spark .7s ease-in-out infinite alternate}@keyframes v73Chest{to{transform:rotateX(-25deg) translateY(-7px)}}@keyframes v73Spark{to{transform:translateY(-18px) scale(1.12);filter:drop-shadow(0 0 8px #ffd35d)}}@media(max-width:720px){.visual-stage{min-height:390px}.visual-animation{width:min(340px,94%)}.slot-machine{padding:22px 16px;border-width:7px}.slot-reels i{height:82px;font-size:40px}.reveal-card{width:58%}.reveal-card-front span{font-size:60px}.treasure-chest{width:78%}.visual-caption strong{font-size:17px}}

/* =========================================================
   V7.3.1 FINAL VISUAL POLISH
   Warm ivory / festive red / gold. Visual-only refinement.
   ========================================================= */
:root{--v731-red:#b81313;--v731-red2:#850909;--v731-gold:#d7a02a;--v731-ink:#3b2418;--v731-cream:#fff8eb}
body{background:radial-gradient(circle at 82% 14%,rgba(226,166,42,.14),transparent 25%),radial-gradient(circle at 8% 36%,rgba(214,153,35,.09),transparent 25%),linear-gradient(180deg,#fffaf1 0%,#f8ead1 56%,#fffaf3 100%)!important}
body:before{opacity:.28!important;background:radial-gradient(circle,rgba(173,111,16,.13) 0 1.2px,transparent 1.7px) 0 0/68px 68px!important}
.page-background{opacity:.035!important}.ambient{opacity:.055!important}
.topbar{height:72px!important;background:rgba(255,250,241,.97)!important;box-shadow:0 8px 24px rgba(91,47,5,.055)!important}
.brand-logo{max-height:46px!important}.campaign-tag{font-size:11px!important;letter-spacing:2px!important;padding:8px 17px!important}
.page{padding-top:30px!important}
.intro{width:min(1180px,100%)!important;margin:0 auto 22px!important;text-align:center!important;padding:0!important}
.intro .eyebrow{display:inline-flex!important;align-items:center;justify-content:center;min-width:280px!important;margin:0 auto 13px!important;padding:7px 24px!important;font-size:10px!important;letter-spacing:3px!important;color:#a80e0e!important;background:#fffaf0!important;border:1px solid #dfbd78!important;border-radius:999px!important}
.intro h1{font-size:clamp(42px,5vw,72px)!important;line-height:.92!important;letter-spacing:-2px!important;margin:0 auto 8px!important;max-width:900px!important;background:linear-gradient(180deg,#3a2117 0 44%,#b71212 45% 100%)!important;-webkit-background-clip:text!important;background-clip:text!important;color:transparent!important;text-align:center!important}
.intro p{font-size:clamp(17px,2vw,25px)!important;line-height:1.05!important;font-weight:950!important;letter-spacing:.4px!important;color:#9d1713!important;margin:0 auto!important;text-align:center!important;max-width:760px!important}
.game-shell{grid-template-columns:minmax(0,1fr) minmax(420px,.92fr)!important;gap:34px!important;padding:34px 38px!important;border-radius:30px!important;background:linear-gradient(135deg,rgba(255,253,247,.98),rgba(250,230,192,.94))!important;border:1px solid #dfb35b!important;box-shadow:0 28px 70px rgba(103,52,2,.13)!important;overflow:hidden!important;min-height:560px!important}
.festive-locked-hero{min-height:490px!important;align-self:center!important}.festive-lock-wheel{width:min(410px,92%)!important;filter:drop-shadow(0 24px 28px rgba(104,38,0,.18))!important}.festive-locked-hero>strong{font-size:21px!important;letter-spacing:.5px!important;margin-top:10px!important;color:#99100e!important}.festive-locked-hero>span{font-size:13px!important;color:#7e6552!important}
.left-column{width:100%!important;max-width:500px!important;justify-self:center!important;align-self:center!important}.coupon-card{padding:30px!important;border-radius:25px!important;background:linear-gradient(145deg,#fffaf0,#f8e7ca)!important;border:1px solid #dfb45e!important;box-shadow:0 24px 50px rgba(97,46,0,.14)!important}.coupon-medallion{width:54px!important;height:54px!important;font-size:22px!important;margin-top:-59px!important;border:4px solid #e6b73f!important;box-shadow:0 8px 18px rgba(108,39,0,.18)!important}.coupon-card .step{margin-top:9px!important;color:#a60e0e!important}.coupon-card h2{font-size:25px!important;margin:10px 0 5px!important;color:#99100e!important}.coupon-card p{font-size:13px!important;color:#7b6251!important}.input-wrap{height:58px!important;margin-top:19px!important;border:1px solid #d7b16c!important;border-radius:13px!important;background:#fffdf9!important;box-shadow:inset 0 1px 2px rgba(77,37,0,.03)!important}.input-wrap:focus-within{border-color:#b91818!important;box-shadow:0 0 0 4px rgba(185,24,24,.08)!important}.input-wrap input{font-size:14px!important;letter-spacing:1.2px!important;color:#40291e!important}.btn.primary,#verifyBtn{min-height:55px!important;border-radius:13px!important;background:linear-gradient(180deg,#d92323,#ad0e0e)!important;border:1px solid #8f0808!important;color:#fff!important;box-shadow:0 12px 24px rgba(163,17,17,.18)!important}.btn.primary:hover,#verifyBtn:hover{transform:translateY(-1px)!important;filter:brightness(1.05)!important;box-shadow:0 15px 28px rgba(163,17,17,.23)!important}.rules{margin-top:20px!important;padding-top:16px!important}.rules span{font-size:11px!important;color:#806a5a!important}
.clean-steps{margin-top:20px!important;padding:14px 22px!important;border-radius:17px!important;background:rgba(255,252,245,.94)!important;box-shadow:0 12px 28px rgba(96,50,4,.065)!important}.how-step{gap:9px!important}.clean-steps .how-step b{width:35px!important;height:35px!important;font-size:11px!important}.clean-steps .how-step strong{font-size:11px!important;letter-spacing:.3px!important}.clean-steps>i{max-width:64px!important;opacity:.65!important}
.prize-table-section{padding:26px 28px 28px!important;border-radius:22px!important;background:#fffdf8!important;box-shadow:0 20px 45px rgba(96,50,4,.075)!important}.prize-table-head{text-align:center!important;padding-bottom:18px!important}.prize-table-head>span{display:inline-block!important;font-size:9px!important;letter-spacing:2px!important;padding:6px 12px!important}.prize-table-head h2{font-size:28px!important;margin:8px 0 3px!important;color:#82100e!important}.prize-table-head p{font-size:12px!important;margin:0!important}.prize-table-grid.layout-list{border-radius:16px!important}.prize-table-grid.layout-list .prize-table-card{min-height:66px!important;grid-template-columns:68px minmax(0,1fr)!important}.prize-table-grid.layout-list .prize-table-art{min-height:66px!important}.prize-table-grid.layout-list .prize-table-copy>strong{font-size:13px!important}.prize-table-grid.layout-list .prize-table-copy>small{font-size:9px!important}.prize-table-meta>span{font-size:9px!important;padding:5px 8px!important}
.visual-stage,.wheel-stage,.mystery-stage{border-radius:25px!important}.visual-caption{margin-top:14px!important}.visual-caption strong{color:#98110f!important;letter-spacing:.8px!important}.visual-caption span{color:#7d6655!important}
.result-card{border-radius:25px!important;background:linear-gradient(145deg,#fffaf1,#f7e4c4)!important;border-color:#deb25d!important;box-shadow:0 24px 52px rgba(97,45,0,.13)!important}
footer{margin-top:6px!important;padding:24px 20px 30px!important;color:#896d56!important;font-size:11px!important}
@media(max-width:1000px){.game-shell{grid-template-columns:1fr!important;gap:18px!important;max-width:760px!important}.festive-locked-hero{min-height:390px!important}.left-column{max-width:600px!important}.intro h1{font-size:54px!important}}
@media(max-width:720px){.topbar{height:64px!important}.brand-logo{max-height:39px!important}.campaign-tag{font-size:8px!important;padding:7px 10px!important}.page{padding-top:20px!important}.intro{margin-bottom:16px!important}.intro .eyebrow{min-width:0!important;font-size:8px!important;padding:6px 14px!important}.intro h1{font-size:40px!important;letter-spacing:-1px!important}.intro p{font-size:17px!important}.game-shell{padding:18px 12px 20px!important;border-radius:22px!important;min-height:0!important}.festive-locked-hero{min-height:320px!important}.festive-lock-wheel{width:min(300px,88%)!important}.coupon-card{padding:25px 18px 22px!important;border-radius:20px!important}.coupon-card h2{font-size:21px!important}.input-wrap{height:54px!important}.clean-steps{padding:12px!important}.prize-table-section{padding:16px 12px 18px!important}.prize-table-head h2{font-size:24px!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:58px minmax(0,1fr)!important;min-height:62px!important}.prize-table-grid.layout-list .prize-table-art{min-height:62px!important}}


/* V7.3.3 — Mobile layout rebuild + selected game visual sync */
.locked-visual-animation{width:100%;display:grid;place-items:center;min-height:350px;position:relative;z-index:2}
.locked-visual-animation .festive-lock-wheel{margin:auto}
.locked-slot{width:min(390px,88%);padding:28px 24px;border-radius:30px;background:linear-gradient(145deg,#bc1512,#6b0808);border:10px solid #dca32b;box-shadow:0 26px 44px rgba(106,39,0,.18),inset 0 0 0 3px #7e4306}
.locked-slot-top{text-align:center;color:#ffe49a;font-weight:1000;letter-spacing:3px;margin-bottom:18px}
.locked-slot-reels{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;padding:13px;border-radius:16px;background:#4e0808}
.locked-slot-reels i{height:100px;display:grid;place-items:center;background:#fff8e7;border:3px solid #e1ae45;border-radius:12px;font-size:48px;font-style:normal}
.locked-slot-line{height:4px;background:#ffd766;border-radius:9px;margin-top:17px;box-shadow:0 0 12px #ffd766}
.locked-card{width:min(260px,62%);aspect-ratio:.72;display:grid;place-items:center;filter:drop-shadow(0 25px 28px rgba(101,42,0,.18))}
.locked-card-face{width:100%;height:100%;border-radius:30px;display:flex;align-items:center;justify-content:center;flex-direction:column;border:8px solid #e0aa36;background:radial-gradient(circle at 50% 30%,#d82822,#790808);color:#ffe8a1;text-align:center}
.locked-card-face b{font-size:78px;line-height:1}.locked-card-face span{font-size:15px;font-weight:1000;letter-spacing:2px;margin-top:10px}.locked-card-face small{font-size:9px;letter-spacing:2px;margin-top:8px;opacity:.8}
.locked-chest-scene{position:relative;width:min(390px,88%);height:300px;display:grid;place-items:center}
.locked-chest-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgba(255,215,86,.62),rgba(255,193,38,.14) 45%,transparent 70%)}
.locked-chest{position:relative;width:72%;height:48%;margin-top:15%;filter:drop-shadow(0 25px 24px rgba(92,39,0,.2))}.locked-chest-body{position:absolute;left:0;right:0;bottom:0;height:62%;border-radius:12px 12px 28px 28px;background:linear-gradient(#b71a12,#740909);border:9px solid #dca32d;display:grid;place-items:center}.locked-chest-body b{font-size:56px;color:#ffe7a2}.locked-chest-lid{position:absolute;left:0;right:0;top:4%;height:44%;border-radius:80px 80px 10px 10px;background:linear-gradient(#d52b20,#8c0a08);border:9px solid #e1a82f}.locked-chest-stars{position:absolute;top:15%;font-size:32px;letter-spacing:18px;color:#dca32d}

/* Ensure the selected visual is what customers see before verification too. */
body.game-locked .festive-locked-hero[data-visual="slot"] .festive-gift-stack,
body.game-locked .festive-locked-hero[data-visual="card"] .festive-gift-stack,
body.game-locked .festive-locked-hero[data-visual="chest"] .festive-gift-stack{opacity:.7}

/* Mobile is intentionally a different composition: coupon first, game second. */
@media(max-width:720px){
  html,body{background:#fff8ed!important}
  body,body.game-locked{background:linear-gradient(180deg,#fffaf4 0%,#f8ead2 58%,#fffaf4 100%)!important;color:#321f15!important}
  .page-background,.ambient{display:none!important}
  .topbar{height:62px!important;background:#fffaf4!important;border-bottom:1px solid #ead3ab!important;backdrop-filter:none!important}
  .page,body.game-locked .page{width:100%!important;max-width:none!important;padding:18px 12px 34px!important;background:transparent!important}
  .intro,body.game-locked .intro{margin:0 auto 16px!important;padding:0 8px!important;text-align:center!important}
  .intro .eyebrow{display:inline-flex!important;font-size:7px!important;letter-spacing:1.8px!important;padding:6px 12px!important;margin-bottom:8px!important}
  .intro h1,body.game-locked .intro h1{font-size:clamp(31px,10vw,39px)!important;line-height:.92!important;letter-spacing:-1px!important;margin:7px auto 4px!important;max-width:100%!important;overflow-wrap:anywhere!important}
  .intro p,body.game-locked .intro p{font-size:14px!important;line-height:1.15!important;margin:0 auto!important;max-width:320px!important;color:#9b1915!important}
  .intro:after,body.game-locked .intro:after{font-size:8px!important;margin-top:7px!important;color:#a6722e!important}
  .game-shell,body.game-locked .game-shell,body:not(.game-locked) .game-shell{display:flex!important;flex-direction:column!important;gap:14px!important;width:100%!important;max-width:430px!important;margin:0 auto!important;padding:12px!important;border-radius:20px!important;background:linear-gradient(145deg,#fffdf8,#f8e6c8)!important}
  .left-column,body.game-locked .left-column{order:1!important;width:100%!important;max-width:none!important;margin:0!important}
  .festive-locked-hero,body.game-locked .festive-locked-hero,.wheel-stage,.visual-stage,.mystery-stage{order:2!important;width:100%!important}
  .coupon-card,body.game-locked .coupon-card{padding:22px 16px 18px!important;border-radius:18px!important;min-height:0!important}
  .coupon-medallion{position:static!important;margin:0 0 12px!important;width:42px!important;height:42px!important}
  .coupon-card .step{margin-bottom:6px!important}.coupon-card h2,body.game-locked .coupon-card h2{font-size:19px!important;margin:2px 0 5px!important}.coupon-card>p,body.game-locked .coupon-card>p{font-size:12px!important;margin-bottom:15px!important}
  .input-wrap,body.game-locked .input-wrap{height:50px!important}.input-wrap input{font-size:13px!important}.btn.primary,#verifyBtn,body.game-locked #verifyBtn{height:50px!important;min-height:50px!important;font-size:13px!important}
  .rules,body.game-locked .rules{margin-top:16px!important;padding-top:13px!important;font-size:9px!important}
  .festive-locked-hero,body.game-locked .festive-locked-hero{min-height:0!important;padding:16px 8px 10px!important;display:flex!important}
  .locked-visual-animation{min-height:260px!important}
  .festive-lock-wheel{width:min(255px,74vw)!important;border-width:8px!important}.lock-wheel-pointer{top:-20px!important;width:45px!important;height:58px!important}.lock-wheel-center span{font-size:27px!important}
  .locked-slot{width:min(300px,88%)!important;padding:20px 15px!important;border-width:7px!important}.locked-slot-reels i{height:74px!important;font-size:36px!important}.locked-card{width:min(190px,55%)!important}.locked-card-face b{font-size:56px!important}.locked-card-face span{font-size:11px!important}.locked-chest-scene{height:240px!important;width:min(310px,90%)!important}.locked-chest{width:76%!important}.locked-chest-body b{font-size:44px!important}
  .festive-coin{width:28px!important;height:28px!important;font-size:10px!important}.festive-gift-stack{display:none!important}.festive-locked-hero>strong{font-size:16px!important;margin-top:6px!important}.festive-locked-hero>span{font-size:11px!important;margin-top:3px!important}
  .wheel-stage,.visual-stage,.mystery-stage{min-height:330px!important;padding:8px 0 12px!important}.wheel{width:min(300px,78vw)!important;max-width:300px!important;max-height:300px!important;border-width:10px!important}.spin-center{width:76px!important;height:76px!important;font-size:18px!important;border-width:6px!important}.pointer{top:2px!important;width:44px!important;height:56px!important}.wheel-base{display:none!important}
  .visual-animation{width:min(300px,90%)!important}.visual-stage{gap:12px!important}.visual-caption strong{font-size:16px!important}.visual-caption span{font-size:10px!important}.slot-machine{padding:20px 14px!important;border-width:7px!important}.slot-reels i{height:72px!important;font-size:36px!important}.reveal-card{width:55%!important}.treasure-scene{height:270px!important}
  .clean-steps{max-width:430px!important;margin:14px auto 0!important;grid-template-columns:1fr 1fr!important;gap:8px!important;padding:10px!important;border-radius:15px!important}.clean-steps .how-step{min-height:44px!important}.clean-steps .how-step b{width:28px!important;height:28px!important;font-size:9px!important}.clean-steps .how-step strong{font-size:9px!important}
  .prize-table-section{max-width:430px!important;margin:14px auto 0!important;padding:14px 10px 16px!important}.prize-table-head h2{font-size:22px!important}.prize-table-head p{font-size:10px!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:48px minmax(0,1fr)!important;min-height:58px!important}.prize-table-grid.layout-list .prize-table-art{min-height:58px!important}.prize-table-grid.layout-list .prize-table-copy{padding:7px 8px!important}.prize-table-grid.layout-list .prize-table-copy>strong{font-size:11px!important}.prize-table-copy small{font-size:7px!important}.prize-table-meta>span{font-size:7px!important;padding:3px 5px!important}
  footer{background:#7f0b0b!important;color:#ffe5aa!important;border-top:1px solid #c3831b!important;font-size:8px!important;padding:16px 10px 20px!important}
}
@media(max-width:390px){
  .intro h1,body.game-locked .intro h1{font-size:30px!important}.intro p,body.game-locked .intro p{font-size:13px!important}.game-shell,body.game-locked .game-shell{padding:9px!important}.coupon-card,body.game-locked .coupon-card{padding:19px 14px 17px!important}.festive-lock-wheel{width:min(235px,72vw)!important}.locked-visual-animation{min-height:235px!important}.wheel{width:min(270px,78vw)!important}.clean-steps{grid-template-columns:1fr 1fr!important}
}

/* V7.3.4 — Dynamic Game Branding + Visual Polish */
body[data-game-visual="chest"] .intro h1{letter-spacing:-1px}
body[data-game-visual="slot"] .intro h1,body[data-game-visual="card"] .intro h1{letter-spacing:-.5px}
.locked-visual-animation{min-height:340px;display:grid;place-items:center;width:100%}
.locked-chest-scene{height:330px!important;width:min(430px,92%)!important}
.locked-chest-glow{width:86%!important;background:radial-gradient(circle,rgba(255,213,74,.78),rgba(255,176,25,.22) 42%,transparent 72%)!important;filter:blur(2px)}
.locked-chest{width:76%!important;height:52%!important;margin-top:13%!important;filter:drop-shadow(0 30px 28px rgba(110,47,0,.24))}
.locked-chest-body{height:64%!important;border:10px solid #e2aa2d!important;border-radius:16px 16px 30px 30px!important;background:linear-gradient(180deg,#c72419 0%,#8b0b09 56%,#650605 100%)!important;box-shadow:inset 0 0 0 3px rgba(255,226,139,.22)}
.locked-chest-body:before{content:"";position:absolute;left:50%;top:-7px;transform:translateX(-50%);width:32px;height:52px;border-radius:8px;background:linear-gradient(#ffe48a,#c88d16);box-shadow:0 3px 0 #8b5a08}
.locked-chest-body b{font-size:62px!important;color:#ffe7a0!important;text-shadow:0 2px 0 #8b4e08}
.locked-chest-lid{height:47%!important;border:10px solid #e4ad31!important;border-radius:90px 90px 12px 12px!important;background:linear-gradient(180deg,#e23827,#a30d0a 68%,#760706)!important;box-shadow:inset 0 0 0 3px rgba(255,229,146,.18)}
.locked-chest-stars{top:8%!important;font-size:34px!important;letter-spacing:22px!important;color:#e5a924!important;text-shadow:0 0 16px rgba(255,198,55,.45);animation:v734FloatStars 2.2s ease-in-out infinite}
@keyframes v734FloatStars{50%{transform:translateY(-9px) scale(1.05);opacity:.72}}
body[data-game-visual="chest"] .festive-gift-stack{transform:translateY(8px)}
body[data-game-visual="chest"] #lockedVisualTitle{margin-top:2px;font-size:22px;letter-spacing:1.4px}
body[data-game-visual="chest"] #lockedVisualHint{margin-top:4px}
body[data-game-visual="card"] .festive-gift-stack,body[data-game-visual="slot"] .festive-gift-stack{opacity:.55;transform:scale(.82)}
.visual-stage[data-visual="chest"] .treasure-scene{height:360px;width:min(460px,92%)}
.visual-stage[data-visual="chest"] .treasure-chest{width:74%;height:48%;margin-top:12%}
.visual-stage[data-visual="chest"] .treasure-glow{width:82%}
.visual-stage[data-visual="chest"] .visual-caption strong{color:#991313}
@media(max-width:720px){
  .locked-visual-animation{min-height:250px!important}
  .locked-chest-scene{height:245px!important;width:min(330px,94%)!important}
  .locked-chest{width:78%!important;height:50%!important;margin-top:15%!important}
  .locked-chest-body b{font-size:46px!important}
  .locked-chest-stars{font-size:25px!important;letter-spacing:15px!important}
  body[data-game-visual="chest"] #lockedVisualTitle{font-size:18px!important}
  body[data-game-visual="chest"] .intro h1{font-size:clamp(30px,10.5vw,42px)!important}
  body[data-game-visual="slot"] .intro h1,body[data-game-visual="card"] .intro h1{font-size:clamp(31px,11vw,43px)!important}
}

/* V7.3.6 Mystery Gift Mobile Polish */
@media (max-width: 760px){
  body.mystery-active .mystery-stage{
    width:100%!important;
    min-height:0!important;
    padding:16px 12px 18px!important;
    border-radius:22px!important;
    overflow:hidden!important;
  }
  body.mystery-active .mystery-head{margin:0 0 14px!important;padding:0 6px!important}
  body.mystery-active .mystery-head>span{padding:6px 11px!important;font-size:10px!important;letter-spacing:.12em!important}
  body.mystery-active .mystery-head h2{font-size:clamp(25px,8vw,34px)!important;line-height:1!important;margin:8px 0 5px!important}
  body.mystery-active .mystery-head p{font-size:12px!important;line-height:1.35!important;margin:0 auto!important;max-width:290px!important}
  body.mystery-active .gift-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    width:100%!important;
    align-items:stretch!important;
  }
  body.mystery-active .gift-box{
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / .92!important;
    border-radius:18px!important;
    padding:7px 5px 10px!important;
    animation-duration:var(--mystery-float-speed)!important;
  }
  body.mystery-active .gift-box img{width:88%!important;height:calc(100% - 18px)!important;max-height:132px!important;object-fit:contain!important;margin:5px auto 0!important}
  body.mystery-active .gift-icon{font-size:52px!important;margin:20px 0 8px!important}
  body.mystery-active .gift-box>span{right:7px!important;top:7px!important;width:24px!important;height:24px!important;font-size:11px!important;box-shadow:0 2px 8px rgba(0,0,0,.22)!important}
  body.mystery-active .gift-box>small{font-size:8px!important;left:8px!important;bottom:6px!important;letter-spacing:.04em!important}
  body.mystery-active .gift-grid>.gift-box:last-child:nth-child(odd){grid-column:1 / -1!important;width:calc(50% - 6px)!important;justify-self:center!important}
  body.mystery-active .mystery-hint{margin:15px auto 0!important;padding:8px 12px!important;font-size:11px!important;line-height:1.35!important;width:auto!important;max-width:94%!important}
}
@media (max-width: 390px){
  body.mystery-active .mystery-stage{padding:14px 10px 16px!important}
  body.mystery-active .gift-grid{gap:9px!important}
  body.mystery-active .gift-box{border-radius:16px!important}
  body.mystery-active .gift-box img{max-height:116px!important}
}

/* V7.5 Customer Sound Control */
.sound-toggle{position:fixed;right:18px;bottom:18px;z-index:1200;width:46px;height:46px;border-radius:999px;border:1px solid rgba(137,25,22,.18);background:rgba(255,250,238,.94);box-shadow:0 8px 28px rgba(86,30,16,.18);font-size:21px;display:grid;place-items:center;cursor:pointer;backdrop-filter:blur(10px);transition:transform .18s ease,opacity .18s ease}.sound-toggle:hover{transform:translateY(-2px)}.sound-toggle.is-muted{opacity:.74}.sound-toggle[hidden]{display:none!important}@media(max-width:720px){.sound-toggle{right:12px;bottom:12px;width:44px;height:44px;font-size:19px}}


/* V7.8 Customer Reward Center + Reward Receipt */
.reward-receipt{overflow:hidden}
.receipt-details{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;text-align:left}
.receipt-details>div{padding:11px 12px;border:1px solid rgba(154,103,30,.22);border-radius:12px;background:rgba(255,250,240,.72)}
.receipt-details small{display:block;font-size:8px;letter-spacing:1.4px;color:#9a6d3c;margin-bottom:4px;font-weight:800}
.receipt-details strong{display:block;font-size:12px;color:#3a2418;overflow-wrap:anywhere}.receipt-details .claim{font-size:15px;padding:0;background:none;border:0;box-shadow:none;color:#9b1915}
.claim-status{display:inline-flex!important;align-items:center;width:max-content;padding:5px 8px!important;border-radius:999px;font-size:9px!important;letter-spacing:.8px!important;font-weight:900!important;background:#fff2cc;color:#8b6417!important}
.claim-status.claimed{background:#e6f8ea;color:#26733a!important}.claim-status.approved{background:#e8f2ff;color:#245e9d!important}.claim-status.rejected{background:#ffe8e5;color:#a92b21!important}.claim-status.pending{background:#fff2cc;color:#8b6417!important}
.btn.ghost{background:transparent;border:1px solid rgba(154,103,30,.35);color:#6f4523;min-height:46px}.btn.ghost:hover{background:rgba(255,247,231,.8)}
.reward-center-section{max-width:1180px;margin:22px auto 0;padding:26px;border-radius:24px;background:linear-gradient(145deg,#fffdf8,#faedd6);border:1px solid rgba(181,128,48,.28);box-shadow:0 20px 55px rgba(106,62,12,.08)}
.reward-center-head{text-align:center;margin-bottom:18px}.reward-center-head>span{font-size:9px;letter-spacing:2.2px;font-weight:900;color:#b51212}.reward-center-head h2{margin:5px 0 4px;font-size:24px;color:#3a2418}.reward-center-head p{margin:0;color:#8c735f;font-size:12px}
.reward-center-search{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:10px;max-width:720px;margin:0 auto}.reward-center-search .input-wrap{margin:0}.reward-center-search .btn{margin:0;min-height:52px}
.reward-lookup-message{min-height:22px;text-align:center;margin:9px 0 0;font-size:11px;font-weight:700;color:#80684f}.reward-lookup-message.success{color:#287440}.reward-lookup-message.error{color:#b12a20}
.reward-lookup-result{max-width:720px;margin:12px auto 0;padding:20px;border-radius:18px;background:#fffdf8;border:1px solid rgba(181,128,48,.28)}.reward-lookup-result.hidden{display:none!important}.reward-lookup-top{text-align:center;padding-bottom:15px;border-bottom:1px dashed rgba(154,103,30,.24)}.reward-lookup-top small{font-size:8px;letter-spacing:1.5px;color:#a37845;font-weight:900}.reward-lookup-top h3{font-size:25px;margin:5px 0 0;color:#a91412}
.reward-lookup-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:15px 0}.reward-lookup-grid>div{padding:11px 12px;border-radius:12px;background:#fff7e9;border:1px solid rgba(174,122,43,.16)}.reward-lookup-grid span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1px;color:#a17c54;font-weight:800;margin-bottom:4px}.reward-lookup-grid strong{font-size:12px;color:#3a2418;overflow-wrap:anywhere}
.reward-lookup-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.reward-lookup-actions .btn{margin:0}
.mystery-receipt-meta{display:grid;grid-template-columns:1fr;gap:6px;margin:10px 0 14px;padding:10px;border-radius:12px;background:rgba(255,255,255,.08);text-align:left}.mystery-receipt-meta span{font-size:9px;color:rgba(255,255,255,.68);display:flex;justify-content:space-between;gap:12px}.mystery-receipt-meta b{color:#fff;text-align:right;overflow-wrap:anywhere}.mystery-receipt-meta .claim-status{margin-left:auto}
@media(max-width:720px){.receipt-details{grid-template-columns:1fr}.reward-center-section{margin-top:14px;padding:17px 12px;border-radius:18px}.reward-center-head h2{font-size:20px}.reward-center-head p{font-size:11px;padding:0 6px}.reward-center-search{grid-template-columns:1fr}.reward-center-search .btn{min-height:50px}.reward-lookup-result{padding:14px 11px}.reward-lookup-grid{grid-template-columns:1fr}.reward-lookup-actions{grid-template-columns:1fr}.reward-lookup-top h3{font-size:21px}}
/* V7.9 Multi-language + Campaign Countdown */
.topbar-actions{display:flex;align-items:center;gap:10px}.language-switcher{display:flex;align-items:center;padding:4px;border:1px solid #e3bd70;border-radius:999px;background:#fff9ef;box-shadow:0 5px 16px rgba(91,48,0,.06)}.language-switcher button{border:0;background:transparent;color:#8b5a12;font-weight:900;font-size:10px;padding:7px 9px;border-radius:999px;cursor:pointer}.language-switcher button.active{background:#b41616;color:#fff}.campaign-countdown{max-width:920px;margin:0 auto 18px;padding:14px 18px;border:1px solid #e3bd70;border-radius:18px;background:linear-gradient(135deg,#fff8e9,#fffdf9);box-shadow:0 10px 24px rgba(94,45,0,.07);display:flex;align-items:center;justify-content:space-between;gap:20px}.campaign-countdown.hidden{display:none!important}.campaign-countdown>div:first-child{display:grid;gap:3px}.campaign-countdown>div:first-child span{font-size:10px;font-weight:900;letter-spacing:2px;color:#a11616}.campaign-countdown>div:first-child strong{font-size:12px;color:#8a5e1a}.countdown-grid{display:grid;grid-template-columns:repeat(4,70px);gap:7px}.countdown-grid span{display:grid;place-items:center;padding:8px 5px;border-radius:12px;background:#b41616;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,215,130,.3)}.countdown-grid b{font-size:20px;line-height:1}.countdown-grid small{font-size:7px;letter-spacing:1px;margin-top:4px;color:#ffe5b0}@media(max-width:720px){.topbar-actions{gap:6px}.language-switcher{padding:2px}.language-switcher button{font-size:9px;padding:6px 7px}.campaign-tag{display:none!important}.campaign-countdown{margin:0 2px 14px;padding:12px;display:grid;gap:10px}.countdown-grid{grid-template-columns:repeat(4,1fr);width:100%;gap:5px}.countdown-grid b{font-size:18px}}

/* =========================================================
   V8.0 MEMBER PAGE LAYOUT POLISH
   Visual-only cleanup. Keeps all customer/admin settings and game logic.
   ========================================================= */
:root{--v80-max:1180px;--v80-red:#a91010;--v80-gold:#d8a442;--v80-ink:#3b2519;--v80-muted:#806b5b;--v80-paper:#fffdf8}
body{background:radial-gradient(circle at 50% 4%,rgba(228,175,70,.10),transparent 24%),linear-gradient(180deg,#fffaf2 0%,#f8ecd8 52%,#fffaf4 100%)!important}
.topbar{padding-inline:max(24px,calc((100vw - var(--v80-max))/2))!important}
.brand-wrap{gap:10px!important}.brand-logo{object-fit:contain!important}.topbar-actions{gap:12px!important}
.language-switcher{min-height:38px!important;padding:3px!important;background:rgba(255,252,245,.98)!important;box-shadow:0 5px 16px rgba(91,48,0,.045)!important}
.language-switcher button{min-width:40px!important;min-height:30px!important;font-size:10px!important;padding:6px 9px!important}
.page{width:min(var(--v80-max),calc(100% - 36px))!important;padding:34px 0 54px!important}
.intro{margin-bottom:20px!important}.intro .eyebrow{box-shadow:0 5px 16px rgba(108,58,5,.04)!important}.intro h1{font-size:clamp(46px,5.4vw,72px)!important;line-height:.94!important}.intro p{font-size:clamp(17px,2vw,25px)!important;max-width:760px!important}
.intro:after{font-size:11px!important;letter-spacing:.08em!important;margin-top:10px!important;opacity:.85}
.campaign-countdown{width:min(920px,100%)!important;margin:0 auto 18px!important;border-radius:16px!important;box-shadow:0 10px 28px rgba(91,48,0,.055)!important}

/* Keep game on the left and coupon/result on the right in every desktop state. */
.game-shell{width:100%!important;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr)!important;gap:32px!important;min-height:570px!important;padding:34px!important;border-radius:28px!important}
.festive-locked-hero,.wheel-stage,.visual-stage,.mystery-stage{grid-column:1!important;grid-row:1!important;justify-self:stretch!important;align-self:center!important}
.left-column{grid-column:2!important;grid-row:1!important;width:100%!important;max-width:460px!important;justify-self:center!important;align-self:center!important}
.locked-visual-animation{min-height:330px!important}.festive-locked-hero{min-height:500px!important;padding:18px!important}
.wheel-stage{min-height:500px!important;padding:18px!important}.wheel{width:min(42vw,480px)!important}.halo{width:min(46vw,540px)!important}.pointer{top:6px!important}
.visual-stage{min-height:500px!important;padding:22px 12px!important}.visual-animation{width:min(440px,90%)!important}
.mystery-stage{width:100%!important;max-width:650px!important;min-height:500px!important;padding:28px!important}

.coupon-card{padding:28px!important;border-radius:22px!important;box-shadow:0 18px 42px rgba(93,45,0,.11)!important}
.coupon-medallion{width:48px!important;height:48px!important;margin-top:-52px!important;border-width:3px!important}
.coupon-card h2{font-size:23px!important;line-height:1.15!important}.coupon-card>p{font-size:12.5px!important;line-height:1.55!important}
.input-wrap{height:54px!important;margin-top:16px!important}.btn.primary,#verifyBtn,.btn.spin-action{min-height:52px!important}
.message{font-size:12px!important;line-height:1.45!important}.rules{gap:7px!important;margin-top:17px!important;padding-top:14px!important}.rules span{font-size:10px!important;line-height:1.4!important}
.result-card{padding:24px!important}.result-card .prize{font-size:30px!important}.receipt-details{gap:8px!important;margin:14px 0!important}.receipt-details>div{padding:10px!important}

.clean-steps{width:100%!important;max-width:none!important;margin:16px auto 0!important;padding:13px 18px!important;border-radius:16px!important;border:1px solid rgba(214,170,87,.44)!important}
.clean-steps .how-step{flex:1!important;min-width:0!important;justify-content:center!important}.clean-steps .how-step strong{font-size:10px!important;white-space:nowrap!important}.clean-steps>i{max-width:48px!important}

.reward-center-section,.prize-table-section{width:100%!important;max-width:none!important;margin:16px auto 0!important;border-radius:20px!important;box-shadow:0 16px 38px rgba(93,45,0,.065)!important}
.reward-center-section{padding:24px!important}.reward-center-head{margin-bottom:15px!important}.reward-center-head h2{font-size:25px!important}.reward-center-head p{font-size:12px!important}
.reward-center-search{max-width:760px!important}.reward-center-search .input-wrap{height:52px!important;margin:0!important}.reward-center-search .btn{min-height:52px!important}
.reward-lookup-result{max-width:760px!important}.prize-table-section{padding:24px!important}.prize-table-head{padding-bottom:14px!important;margin-bottom:12px!important}.prize-table-head h2{font-size:26px!important}
footer{margin-top:12px!important;padding:22px 20px 24px!important}
.sound-toggle{box-shadow:0 7px 20px rgba(86,30,16,.14)!important}

@media(max-width:1000px){
  .page{width:min(760px,calc(100% - 28px))!important}
  .game-shell{display:flex!important;flex-direction:column!important;gap:16px!important;min-height:0!important;padding:20px!important}
  .left-column{order:1!important;max-width:600px!important}.festive-locked-hero,.wheel-stage,.visual-stage,.mystery-stage{order:2!important;width:100%!important;max-width:660px!important}
  .festive-locked-hero{min-height:390px!important}.wheel-stage,.visual-stage{min-height:420px!important}
  .wheel{width:min(500px,70vw)!important}.halo{width:min(550px,76vw)!important}
  .clean-steps{flex-wrap:wrap!important}.clean-steps>i{display:none!important}.clean-steps .how-step{flex:1 1 calc(50% - 8px)!important;justify-content:flex-start!important}
}

@media(max-width:720px){
  .topbar{height:60px!important;padding:0 12px!important}.brand-logo{max-height:37px!important;max-width:140px!important}.brand{font-size:20px!important}.topbar-actions{gap:5px!important}
  .language-switcher{min-height:34px!important}.language-switcher button{min-width:34px!important;min-height:27px!important;font-size:9px!important;padding:5px 6px!important}
  .page{width:100%!important;max-width:none!important;padding:16px 10px 30px!important}
  .intro{padding:0 8px!important;margin-bottom:13px!important}.intro .eyebrow{font-size:7px!important;letter-spacing:1.6px!important;padding:5px 11px!important;margin-bottom:7px!important}.intro .eyebrow:before,.intro .eyebrow:after{width:24px!important}
  .intro h1{font-size:clamp(31px,10vw,40px)!important;line-height:.96!important;margin-bottom:5px!important}.intro p{font-size:14px!important;line-height:1.2!important;max-width:330px!important}.intro:after{font-size:7.5px!important;margin-top:6px!important}
  .campaign-countdown{margin:0 0 12px!important;padding:10px!important;border-radius:14px!important}.campaign-countdown>div:first-child span{font-size:8px!important;letter-spacing:1.3px!important}.campaign-countdown>div:first-child strong{font-size:10px!important}.countdown-grid span{padding:7px 3px!important;border-radius:9px!important}.countdown-grid b{font-size:17px!important}.countdown-grid small{font-size:6px!important}
  .game-shell{width:100%!important;max-width:430px!important;margin:0 auto!important;padding:10px!important;gap:11px!important;border-radius:18px!important;box-shadow:0 16px 38px rgba(103,52,2,.10)!important}
  .left-column{order:1!important;width:100%!important;max-width:none!important}.festive-locked-hero,.wheel-stage,.visual-stage,.mystery-stage{order:2!important}
  .coupon-card{padding:19px 14px 17px!important;border-radius:16px!important;box-shadow:0 12px 25px rgba(97,46,0,.09)!important}.coupon-medallion{width:38px!important;height:38px!important;margin:0 0 9px!important;font-size:17px!important}.coupon-card .step{font-size:8px!important}.coupon-card h2{font-size:18px!important;margin:5px 0 4px!important}.coupon-card>p{font-size:11px!important;line-height:1.4!important;margin-bottom:10px!important}.input-wrap{height:48px!important;margin-top:10px!important;border-radius:11px!important}.input-wrap input{font-size:12px!important;letter-spacing:.6px!important}.btn.primary,#verifyBtn,.btn.spin-action{min-height:48px!important;height:48px!important;border-radius:11px!important;font-size:12px!important}.message{font-size:10.5px!important}.rules{margin-top:12px!important;padding-top:11px!important}.rules span{font-size:9px!important}
  .festive-locked-hero{min-height:0!important;padding:12px 4px 8px!important}.locked-visual-animation{min-height:235px!important}.festive-lock-wheel{width:min(245px,70vw)!important}.festive-locked-hero>strong{font-size:15px!important}.festive-locked-hero>span{font-size:10px!important;text-align:center!important}
  .wheel-stage{min-height:315px!important;padding:6px 0 8px!important}.wheel{width:min(270px,76vw)!important;max-width:270px!important}.halo{width:min(310px,82vw)!important}.pointer{top:0!important}
  .visual-stage{min-height:315px!important;padding:8px 0!important}.visual-animation{width:min(285px,88%)!important}.visual-caption{margin-top:5px!important}.visual-caption strong{font-size:15px!important}.visual-caption span{font-size:9px!important;padding:0 8px!important}
  .clean-steps{max-width:430px!important;margin:11px auto 0!important;padding:8px!important;gap:7px!important;display:grid!important;grid-template-columns:1fr 1fr!important}.clean-steps .how-step{min-height:42px!important;padding:6px!important;justify-content:flex-start!important}.clean-steps .how-step b{width:27px!important;height:27px!important;font-size:8px!important;flex:0 0 auto!important}.clean-steps .how-step strong{font-size:8px!important;white-space:normal!important;line-height:1.15!important}
  .reward-center-section,.prize-table-section{max-width:430px!important;margin:11px auto 0!important;border-radius:16px!important}.reward-center-section{padding:15px 11px!important}.reward-center-head{margin-bottom:12px!important}.reward-center-head h2{font-size:20px!important}.reward-center-head p{font-size:10.5px!important;line-height:1.4!important}.reward-center-search{gap:8px!important}.reward-center-search .input-wrap,.reward-center-search .btn{height:48px!important;min-height:48px!important}.reward-lookup-result{padding:12px 10px!important}.reward-lookup-grid{gap:7px!important}.reward-lookup-grid>div{padding:9px!important}.reward-lookup-actions{gap:7px!important}
  .prize-table-section{padding:14px 10px!important}.prize-table-head{padding-bottom:11px!important;margin-bottom:8px!important}.prize-table-head h2{font-size:21px!important}.prize-table-head p{font-size:9.5px!important}.prize-table-grid.layout-list{border-radius:12px!important}.prize-table-grid.layout-list .prize-table-card{grid-template-columns:52px minmax(0,1fr)!important;min-height:56px!important}.prize-table-grid.layout-list .prize-table-art{min-height:56px!important}.prize-table-grid.layout-list .prize-table-copy{padding:7px!important}.prize-table-grid.layout-list .prize-table-copy>strong{font-size:11px!important}.prize-table-meta{gap:3px!important}.prize-table-meta>span{font-size:6.5px!important;padding:3px 5px!important}
  footer{font-size:8px!important;padding:15px 10px 18px!important}.sound-toggle{right:10px!important;bottom:10px!important;width:42px!important;height:42px!important;font-size:18px!important}
}

@media(max-width:380px){
  .page{padding-inline:8px!important}.intro h1{font-size:30px!important}.game-shell{padding:8px!important}.coupon-card{padding:17px 12px 15px!important}.clean-steps{grid-template-columns:1fr 1fr!important}.language-switcher button{min-width:31px!important;padding-inline:4px!important}
}


/* ===== V8.1 MEMBER PAGE FINAL LAYOUT + LANGUAGE POLISH ===== */
.hero-helper{margin:9px auto 0;max-width:720px;font-size:13px;font-weight:700;letter-spacing:.03em;color:#7b5d4c;text-transform:none;text-align:center}
@media(min-width:1001px){
  .page{max-width:1240px!important;padding-top:30px!important}
  .intro{max-width:1040px!important;margin:0 auto 22px!important;text-align:center!important}
  .intro h1{font-size:clamp(54px,5.2vw,76px)!important;line-height:.94!important;letter-spacing:-2.5px!important;margin:10px auto 5px!important}
  .intro p{font-size:clamp(23px,2.25vw,32px)!important;line-height:1.02!important;max-width:780px!important;margin-inline:auto!important}
  .intro .eyebrow{font-size:10px!important;padding:7px 18px!important}
  .hero-helper{font-size:13px!important;margin-top:11px!important}
  .game-shell{max-width:1200px!important;grid-template-columns:minmax(0,1fr) minmax(400px,.92fr)!important;gap:38px!important;padding:38px 42px!important;min-height:550px!important}
  .festive-locked-hero,.wheel-stage,.visual-stage,.mystery-stage{justify-self:center!important;width:100%!important;max-width:620px!important}
  .left-column{max-width:455px!important}
  .wheel-stage{min-height:470px!important}.wheel{width:min(38vw,450px)!important}.halo{width:min(42vw,510px)!important}
  .festive-locked-hero{min-height:470px!important}.locked-visual-animation{min-height:310px!important}
  .coupon-card>p{font-size:13.5px!important}.rules span{font-size:11px!important}.message{font-size:12.5px!important}
  .clean-steps{max-width:1200px!important;margin-top:14px!important;padding:14px 20px!important}
  .clean-steps .how-step strong{font-size:11px!important}
  .reward-center-section{max-width:1200px!important;padding:20px 26px!important;display:grid!important;grid-template-columns:minmax(250px,.7fr) minmax(500px,1.3fr)!important;column-gap:30px!important;align-items:center!important}
  .reward-center-head{margin:0!important}.reward-center-head h2{font-size:24px!important}.reward-center-head p{font-size:12px!important;margin-bottom:0!important}
  .reward-center-search{max-width:none!important;width:100%!important;margin:0!important}.reward-lookup-message,.reward-lookup-result{grid-column:1/-1!important;width:100%!important;max-width:none!important}
  .prize-table-section{max-width:1200px!important;padding:22px 24px!important}.prize-table-head h2{font-size:24px!important}.prize-table-head p{font-size:11.5px!important}
  .prize-table-grid.layout-list .prize-table-card{min-height:66px!important}.prize-table-grid.layout-list .prize-table-copy>strong{font-size:13px!important}.prize-table-meta>span{font-size:8px!important}
}
@media(max-width:1000px){.hero-helper{font-size:12px!important}.reward-center-section{display:block!important}}
@media(max-width:720px){
  .intro{text-align:center!important;margin-bottom:14px!important}.intro h1{font-size:clamp(30px,9.5vw,39px)!important;letter-spacing:-1px!important}.intro p{font-size:14px!important}.hero-helper{font-size:10.5px!important;line-height:1.35!important;margin:7px auto 0!important;padding:0 10px!important}
  .game-shell{padding:11px!important}.coupon-card>p{font-size:11.5px!important}.rules span{font-size:9.5px!important}
  .reward-center-section{padding:14px 12px!important}.reward-center-head h2{font-size:19px!important}.reward-center-search{display:grid!important;grid-template-columns:1fr!important}.reward-center-search .btn{width:100%!important}
  .prize-table-section{padding:14px 11px!important}.prize-table-head h2{font-size:20px!important}.prize-table-grid.layout-list .prize-table-card{min-height:62px!important}
}

/* ===== V9.1 CUSTOMER PAGE COMPLETE VISUAL POLISH (VISUAL ONLY) ===== */
@media (min-width:1001px){
  .page{width:min(1180px,calc(100% - 56px))!important;max-width:1180px!important;padding:24px 0 38px!important}
  .intro{margin:0 auto 18px!important;max-width:980px!important}
  .intro h1{font-size:clamp(50px,4.8vw,68px)!important;line-height:.95!important;margin:8px auto 4px!important}
  .intro p{font-size:clamp(21px,2vw,29px)!important;margin:0 auto!important}
  .hero-helper{margin-top:7px!important;font-size:12px!important}

  .game-shell{width:100%!important;max-width:1180px!important;min-height:520px!important;padding:32px 36px!important;gap:34px!important;grid-template-columns:minmax(0,1.18fr) minmax(380px,.82fr)!important;border-radius:22px!important}
  .festive-locked-hero,.wheel-stage,.visual-stage{max-width:610px!important;min-height:450px!important}
  .mystery-stage{max-width:660px!important;min-height:450px!important}
  .left-column{width:100%!important;max-width:430px!important}
  .coupon-card{padding:27px 26px!important}
  .coupon-card h2{font-size:22px!important}
  .input-wrap{width:100%!important;min-width:0!important}
  .input-wrap input{min-width:0!important;width:100%!important}

  .clean-steps{max-width:1180px!important;margin-top:12px!important;padding:11px 14px!important;gap:10px!important}
  .clean-steps .how-step{min-height:48px!important;padding:7px 10px!important}

  .reward-center-section{max-width:1180px!important;margin-top:12px!important;padding:20px 22px!important;grid-template-columns:minmax(280px,.78fr) minmax(0,1.22fr)!important;column-gap:24px!important}
  .reward-center-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:10px!important}
  .reward-center-search .input-wrap{width:100%!important;min-width:0!important}
  .reward-center-search .btn{white-space:nowrap!important;padding-inline:22px!important}

  .prize-table-section{max-width:1180px!important;margin-top:12px!important;padding:20px 22px 22px!important}
  .prize-table-head{margin-bottom:12px!important;padding-bottom:10px!important}
  .prize-table-grid.layout-list .prize-table-card{min-height:64px!important}
  footer{margin-top:10px!important;padding:18px 20px 20px!important}
}

@media (min-width:721px) and (max-width:1000px){
  .page{width:min(760px,calc(100% - 28px))!important;padding-top:22px!important}
  .intro{margin-bottom:16px!important}
  .game-shell{padding:18px!important;gap:14px!important}
  .coupon-card{max-width:600px!important;margin-inline:auto!important}
  .clean-steps,.reward-center-section,.prize-table-section{margin-top:12px!important}
  .reward-center-search{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:9px!important}
}

@media (max-width:720px){
  .page{padding:14px 10px 24px!important}
  .intro{margin-bottom:11px!important}
  .game-shell{gap:10px!important;border-radius:16px!important}
  .clean-steps,.reward-center-section,.prize-table-section{margin-top:10px!important}
  .reward-center-search{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .reward-center-search .input-wrap,.reward-center-search .btn{width:100%!important;max-width:none!important}
  .reward-center-search input{min-width:0!important;width:100%!important}
  .reward-lookup-actions{display:grid!important;grid-template-columns:1fr 1fr!important}
  .reward-lookup-actions .btn{width:100%!important;min-width:0!important}
  .prize-table-section{overflow:hidden!important}
  .prize-table-grid.layout-list .prize-table-copy{min-width:0!important}
  .prize-table-grid.layout-list .prize-table-copy>strong{overflow-wrap:anywhere!important}
}

/* ===== V9.1.1 HERO TITLE ALIGNMENT FIX =====
   Visual-only: center the promo title block and remove the legacy duplicate helper text.
*/
.intro{
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
.intro .eyebrow{
  align-self:center!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.intro h1,
.intro p,
.hero-helper{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.intro h1{max-width:940px!important}
.intro p{max-width:820px!important}
.hero-helper{max-width:720px!important}
.intro:after{content:none!important;display:none!important}

@media(max-width:720px){
  .intro{padding-left:10px!important;padding-right:10px!important}
  .intro h1,.intro p,.hero-helper{max-width:100%!important}
}

/* ===== V9.1.2 LUXURY 3D WHEEL VISUAL REDESIGN =====
   Visual-only wheel treatment. Reward selection / Win Rate logic is untouched.
*/
.wheel-stage{
  isolation:isolate;
  padding-bottom:76px!important;
}
.wheel-stage .halo{
  width:min(43vw,520px)!important;
  background:radial-gradient(circle,rgba(255,209,79,.28) 0,rgba(239,153,20,.12) 42%,transparent 72%)!important;
  filter:blur(3px);
  animation:luxuryHalo 2.8s ease-in-out infinite alternate;
}
.wheel-stage .wheel{
  width:min(38vw,452px)!important;
  border:13px solid #f5c74a!important;
  box-shadow:
    0 0 0 5px #8d4c08,
    0 0 0 10px #f8d765,
    0 0 0 15px #7c3f05,
    0 24px 38px rgba(80,35,0,.34),
    0 0 42px rgba(255,180,22,.32)!important;
  overflow:visible!important;
  background-color:#9d0c12;
}
.wheel-stage .wheel:before{
  content:""!important;
  position:absolute!important;
  inset:-10px!important;
  border-radius:50%!important;
  border:0!important;
  z-index:7!important;
  pointer-events:none!important;
  background:repeating-conic-gradient(from -2deg,rgba(255,249,196,.98) 0deg 2.1deg,transparent 2.1deg 11.25deg)!important;
  -webkit-mask:radial-gradient(circle,transparent 0 91%,#000 91.4% 96%,transparent 96.4%)!important;
  mask:radial-gradient(circle,transparent 0 91%,#000 91.4% 96%,transparent 96.4%)!important;
  filter:drop-shadow(0 0 5px #ffd74f)!important;
  animation:luxuryLights 1.35s linear infinite!important;
}
.wheel-stage .wheel:after{
  content:"";
  position:absolute;
  inset:8px;
  border-radius:50%;
  z-index:3;
  pointer-events:none;
  box-shadow:inset 0 0 0 2px rgba(255,223,111,.72),inset 0 0 28px rgba(60,0,0,.42),inset 0 0 70px rgba(255,187,28,.08);
  background:radial-gradient(circle at 32% 22%,rgba(255,255,255,.12),transparent 34%);
}
.wheel-stage .pointer{
  top:-1px!important;
  width:62px!important;
  height:82px!important;
  z-index:12!important;
  background:linear-gradient(145deg,#ffe78b 0,#e49b18 48%,#8f4907 100%)!important;
  clip-path:polygon(50% 100%,6% 32%,15% 8%,50% 0,85% 8%,94% 32%)!important;
  filter:drop-shadow(0 7px 7px rgba(77,29,0,.5)) drop-shadow(0 0 6px rgba(255,206,56,.55))!important;
}
.wheel-stage .pointer span{
  inset:10px 16px 38px!important;
  background:radial-gradient(circle at 35% 28%,#ff7c6d 0,#d71920 38%,#85060b 100%)!important;
  border:3px solid #fff0a2!important;
  box-shadow:inset 0 2px 4px rgba(255,255,255,.55),0 0 9px rgba(255,48,32,.42)!important;
}
.wheel-stage .luxury-wheel-label{
  width:23%!important;
  min-height:72px!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:3px!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:4!important;
  text-shadow:0 2px 4px rgba(63,0,0,.48)!important;
}
.wheel-prize-icon{
  width:48px;height:48px;
  display:grid;place-items:center;
  font-size:31px;line-height:1;
  color:#fff2a6;
  background:linear-gradient(145deg,#ff3a35,#a7070d);
  border:2px solid #ffd45b;
  border-radius:13px;
  box-shadow:inset 0 2px 6px rgba(255,255,255,.34),0 5px 10px rgba(72,0,0,.28);
  transform:rotate(-4deg);
}
.wheel-prize-name{
  display:block;
  max-width:88px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:7px!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.2px;
  color:#fff6d0;
  text-transform:uppercase;
}
.wheel-prize-art{
  width:58px;height:58px;
  display:grid;place-items:center;
  filter:drop-shadow(0 5px 6px rgba(60,0,0,.35));
}
.wheel-prize-art img{max-width:100%!important;max-height:100%!important;object-fit:contain!important}
.wheel-stage .luxury-spin-center{
  width:112px!important;height:112px!important;
  display:flex!important;flex-direction:column!important;gap:0!important;
  align-items:center!important;justify-content:center!important;
  border:7px solid #f5c94f!important;
  background:radial-gradient(circle at 35% 25%,#fff7c9 0,#ffd75e 38%,#e79b19 72%,#9a5008 100%)!important;
  color:#a20d12!important;
  box-shadow:0 0 0 4px #8d4b08,0 8px 18px rgba(74,28,0,.38),inset 0 3px 8px rgba(255,255,255,.72)!important;
  text-shadow:none!important;
}
.luxury-spin-center:before{content:"♛";font-size:20px;line-height:.8;color:#bd7410}
.luxury-spin-center span{font-size:35px!important;line-height:.92!important;font-weight:1000!important;letter-spacing:-1px}
.luxury-spin-center small{font-size:10px!important;line-height:1!important;font-weight:1000!important;letter-spacing:2px;color:#7f1712!important;margin-top:4px}
.wheel-stage .wheel-base{
  bottom:3px!important;
  width:260px!important;height:62px!important;
  border-radius:18px 18px 28px 28px!important;
  border:3px solid #f8d66b!important;
  background:linear-gradient(180deg,#fff0a4 0,#f4bd3b 27%,#c8780e 64%,#8b4506 100%)!important;
  box-shadow:0 8px 0 #6e3505,0 14px 20px rgba(82,35,0,.28),inset 0 2px 5px rgba(255,255,255,.75)!important;
  z-index:10!important;
}
.wheel-stage .wheel-base:before{
  content:"LUCKY WHEEL";
  font-size:19px;font-weight:1000;letter-spacing:.5px;color:#8d1712;
  text-shadow:0 1px #fff0a1;
}
.wheel-stage .wheel-base b,.wheel-stage .wheel-base span{display:none!important}
.wheel-stage:has(.wheel.is-spinning) .wheel:before{animation-duration:.42s!important}
.wheel-stage:has(.wheel.is-spinning) .luxury-spin-center{box-shadow:0 0 0 4px #8d4b08,0 8px 18px rgba(74,28,0,.38),0 0 30px rgba(255,215,74,.72),inset 0 3px 8px rgba(255,255,255,.72)!important}
@keyframes luxuryLights{to{transform:rotate(11.25deg)}}
@keyframes luxuryHalo{from{opacity:.62;transform:scale(.98)}to{opacity:1;transform:scale(1.04)}}

@media(max-width:720px){
  .wheel-stage{padding-bottom:64px!important}
  .wheel-stage .wheel{width:min(78vw,330px)!important;border-width:10px!important}
  .wheel-stage .halo{width:min(88vw,370px)!important}
  .wheel-stage .pointer{width:50px!important;height:66px!important}
  .wheel-stage .pointer span{inset:8px 13px 30px!important}
  .wheel-stage .luxury-spin-center{width:82px!important;height:82px!important;border-width:5px!important}
  .luxury-spin-center:before{font-size:14px}.luxury-spin-center span{font-size:27px!important}.luxury-spin-center small{font-size:8px!important}
  .wheel-prize-icon{width:35px;height:35px;font-size:22px;border-radius:10px}
  .wheel-prize-name{display:none!important}
  .wheel-stage .wheel-base{width:205px!important;height:52px!important;bottom:5px!important}
  .wheel-stage .wheel-base:before{font-size:15px!important}
}


/* ===== V9.1.3 LOCKED LUXURY WHEEL VISUAL FIX =====
   The pre-verification wheel is a separate component from the real spin wheel.
   This styles that locked preview so customers see the luxury design immediately.
*/
.locked-visual-animation .luxury-locked-wheel{
  width:min(430px,92%)!important;
  aspect-ratio:1!important;
  position:relative!important;
  border-radius:50%!important;
  background:repeating-conic-gradient(from -22.5deg,#b71017 0 45deg,#78100d 45deg 90deg)!important;
  border:13px solid #f6cf55!important;
  box-shadow:
    0 0 0 5px #8b4a07,
    0 0 0 10px #ffd96b,
    0 0 0 15px #763b05,
    0 24px 36px rgba(91,36,0,.30),
    0 0 42px rgba(255,188,32,.35)!important;
  overflow:visible!important;
  filter:none!important;
}
.locked-visual-animation .luxury-locked-wheel:before{
  content:""!important;
  position:absolute!important;
  inset:8px!important;
  border-radius:50%!important;
  background:repeating-conic-gradient(from -22.5deg,transparent 0 44.3deg,rgba(255,225,116,.9) 44.3deg 45deg)!important;
  pointer-events:none!important;
  z-index:1!important;
}
.locked-visual-animation .luxury-locked-wheel:after{
  content:"";
  position:absolute;
  inset:14px;
  border-radius:50%;
  box-shadow:inset 0 0 0 2px rgba(255,237,151,.75),inset 0 0 34px rgba(62,0,0,.36);
  background:radial-gradient(circle at 31% 22%,rgba(255,255,255,.13),transparent 34%);
  pointer-events:none;
  z-index:2;
}
.locked-led-ring{
  position:absolute;inset:-9px;border-radius:50%;z-index:8;pointer-events:none;
  background:repeating-conic-gradient(from 0deg,#fff6b5 0 2.5deg,transparent 2.5deg 11.25deg);
  -webkit-mask:radial-gradient(circle,transparent 0 91%,#000 91.5% 96%,transparent 96.5%);
  mask:radial-gradient(circle,transparent 0 91%,#000 91.5% 96%,transparent 96.5%);
  filter:drop-shadow(0 0 5px #ffd84d);
  animation:lockedLedGlow 1.6s linear infinite;
}
.locked-visual-animation .luxury-locked-wheel .lock-wheel-ring{
  position:absolute!important;inset:34%!important;border-radius:50%!important;
  background:linear-gradient(145deg,#fff2a6,#d89919)!important;
  box-shadow:0 0 0 5px #8c4a07,0 6px 14px rgba(73,24,0,.28)!important;
  z-index:4!important;
}
.locked-visual-animation .luxury-lock-center{
  position:absolute!important;inset:38%!important;z-index:6!important;border-radius:50%!important;
  display:flex!important;align-items:center!important;justify-content:center!important;flex-direction:column!important;
  background:radial-gradient(circle at 35% 25%,#fff9d6 0,#ffd85d 42%,#e99a18 75%,#a25308 100%)!important;
  color:#9b0d10!important;text-shadow:none!important;
  box-shadow:inset 0 2px 5px rgba(255,255,255,.75)!important;
}
.locked-visual-animation .luxury-lock-center b{font-size:17px;line-height:.8;color:#ba730d}
.locked-visual-animation .luxury-lock-center span{font-size:36px!important;line-height:.92!important;font-weight:1000!important}
.locked-visual-animation .luxury-lock-center small{font-size:9px!important;letter-spacing:2px!important;font-weight:1000!important;color:#7f1712!important}
.locked-visual-animation .luxury-lock-pointer{
  left:50%!important;top:-31px!important;transform:translateX(-50%)!important;width:62px!important;height:82px!important;z-index:12!important;
  background:linear-gradient(145deg,#ffe98f,#e29a16 50%,#884605)!important;
  clip-path:polygon(50% 100%,6% 32%,15% 8%,50% 0,85% 8%,94% 32%)!important;
  filter:drop-shadow(0 7px 7px rgba(76,27,0,.45)) drop-shadow(0 0 6px rgba(255,207,67,.55))!important;
}
.locked-visual-animation .luxury-lock-pointer i{
  position:absolute;left:16px;right:16px;top:10px;height:28px;border-radius:50%;
  background:radial-gradient(circle at 35% 25%,#ff8173,#d5181f 42%,#81060a 100%);
  border:3px solid #fff1a8;box-shadow:inset 0 2px 4px rgba(255,255,255,.5),0 0 8px rgba(255,45,30,.35);
}
.locked-prize{
  position:absolute;z-index:5;width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
  background:linear-gradient(145deg,#ff3d36,#a8070e);border:2px solid #ffd45b;
  box-shadow:inset 0 2px 5px rgba(255,255,255,.33),0 5px 10px rgba(69,0,0,.25);
  color:#fff2a5;font-size:29px;line-height:1;transform:translate(-50%,-50%);
}
.lp1{left:50%;top:19%}.lp2{left:73%;top:31%;transform:translate(-50%,-50%) rotate(5deg)}
.lp3{left:77%;top:59%;transform:translate(-50%,-50%) rotate(-5deg)}.lp4{left:61%;top:78%}
.lp5{left:35%;top:77%;transform:translate(-50%,-50%) rotate(4deg)}.lp6{left:22%;top:51%;transform:translate(-50%,-50%) rotate(-5deg)}
.locked-wheel-plaque{
  position:absolute;left:50%;bottom:-49px;transform:translateX(-50%);z-index:13;width:255px;height:57px;
  display:grid;place-items:center;border-radius:17px 17px 27px 27px;border:3px solid #f7d56a;
  background:linear-gradient(180deg,#fff0a2 0,#f3bd3b 28%,#c7780e 65%,#8b4506 100%);
  box-shadow:0 8px 0 #6c3505,0 13px 20px rgba(81,34,0,.25),inset 0 2px 5px rgba(255,255,255,.72);
  color:#8d1712;font-size:19px;font-weight:1000;letter-spacing:.5px;text-shadow:0 1px #fff0a1;
}
body.game-locked .festive-locked-hero{padding-bottom:60px!important}
body.game-locked .festive-locked-hero>strong{margin-top:34px!important}
@keyframes lockedLedGlow{to{transform:rotate(11.25deg)}}

@media(max-width:720px){
  .locked-visual-animation .luxury-locked-wheel{width:min(300px,82vw)!important;border-width:9px!important}
  .locked-prize{width:38px;height:38px;font-size:21px;border-radius:10px}
  .locked-visual-animation .luxury-lock-center span{font-size:28px!important}
  .locked-visual-animation .luxury-lock-center b{font-size:13px}.locked-visual-animation .luxury-lock-center small{font-size:7px!important}
  .locked-visual-animation .luxury-lock-pointer{width:48px!important;height:64px!important;top:-24px!important}
  .locked-visual-animation .luxury-lock-pointer i{left:12px;right:12px;top:8px;height:22px;border-width:2px}
  .locked-wheel-plaque{width:195px;height:48px;bottom:-40px;font-size:15px}
  body.game-locked .festive-locked-hero{padding-bottom:50px!important}
}

/* ===== V9.1.4 LUXURY WHEEL CLEANUP =====
   Cleanup only: removes the legacy locked-wheel decorations that were overlapping
   the V9.1.3 luxury preview and spaces eight prize icons evenly around the wheel.
*/
body.game-locked .festive-locked-hero[data-visual="wheel"] .festive-coin,
body.game-locked .festive-locked-hero[data-visual="wheel"] .festive-gift-stack,
body.game-locked .festive-locked-hero[data-visual="wheel"] > strong{
  display:none!important;
}
body.game-locked .festive-locked-hero[data-visual="wheel"]{
  padding:10px 10px 18px!important;
  min-height:520px!important;
  overflow:visible!important;
}
body.game-locked .festive-locked-hero[data-visual="wheel"] .locked-visual-animation{
  min-height:485px!important;
  overflow:visible!important;
}
body.game-locked .festive-locked-hero[data-visual="wheel"] .luxury-locked-wheel{
  width:min(390px,88%)!important;
  margin-top:-8px!important;
}
body.game-locked .festive-locked-hero[data-visual="wheel"] > span{
  margin-top:2px!important;
  font-size:13px!important;
  line-height:1.35!important;
  color:#80634d!important;
  position:relative!important;
  z-index:15!important;
}
.locked-prize{
  width:44px!important;
  height:44px!important;
  font-size:23px!important;
  border-radius:12px!important;
  z-index:6!important;
}
.lp1{left:50%!important;top:20%!important;transform:translate(-50%,-50%)!important}
.lp2{left:71.2%!important;top:28.8%!important;transform:translate(-50%,-50%) rotate(4deg)!important}
.lp3{left:80%!important;top:50%!important;transform:translate(-50%,-50%) rotate(-4deg)!important}
.lp4{left:71.2%!important;top:71.2%!important;transform:translate(-50%,-50%) rotate(4deg)!important}
.lp5{left:50%!important;top:80%!important;transform:translate(-50%,-50%)!important}
.lp6{left:28.8%!important;top:71.2%!important;transform:translate(-50%,-50%) rotate(-4deg)!important}
.lp7{left:20%!important;top:50%!important;transform:translate(-50%,-50%) rotate(4deg)!important}
.lp8{left:28.8%!important;top:28.8%!important;transform:translate(-50%,-50%) rotate(-4deg)!important}
.locked-wheel-plaque{
  bottom:-43px!important;
  width:238px!important;
  height:54px!important;
  font-size:18px!important;
}
.locked-visual-animation .luxury-lock-center{
  inset:37.5%!important;
}
.locked-visual-animation .luxury-lock-center span{font-size:34px!important}
.locked-visual-animation .luxury-lock-center b{font-size:15px!important}
.locked-visual-animation .luxury-lock-center small{font-size:8px!important}

@media(max-width:720px){
  body.game-locked .festive-locked-hero[data-visual="wheel"]{min-height:390px!important;padding-bottom:14px!important}
  body.game-locked .festive-locked-hero[data-visual="wheel"] .locked-visual-animation{min-height:355px!important}
  body.game-locked .festive-locked-hero[data-visual="wheel"] .luxury-locked-wheel{width:min(285px,80vw)!important;margin-top:-4px!important}
  .locked-prize{width:32px!important;height:32px!important;font-size:17px!important;border-radius:9px!important}
  .locked-wheel-plaque{bottom:-35px!important;width:176px!important;height:43px!important;font-size:13px!important}
  body.game-locked .festive-locked-hero[data-visual="wheel"] > span{font-size:10px!important;margin-top:0!important}
}

/* =========================================================
   V10+ HUB LEGACY CSS REMOVED IN V10.6.1
   Current multi-game customer hub layout is owned by /v10.6.css.
   Pre-V10 rules are retained only for the existing game engine,
   result/recovery UI, mystery effects, wheel visuals and language features.
   ========================================================= */


/* ===== Legacy V10.6 production override layer, preserved in-order ===== */

/* V10.6.2 — Clean Hub CSS Authority + Responsive Polish
   All obsolete V10.0–V10.5 hub CSS was removed from styles.css.
   This file is the single layout authority for the customer hub. */

:root{
  --hub-max:1180px;
  --hub-gold:#f6c53f;
  --hub-gold-2:#d99a12;
  --hub-red:#d90d1b;
  --hub-panel:rgba(8,7,7,.88);
  --hub-panel-soft:rgba(14,11,9,.80);
  --hub-border:rgba(246,197,63,.68);
  --hub-muted:rgba(255,255,255,.70);
}

/* ---------- page/background ---------- */
html,body{min-height:100%;}
body{
  margin:0!important;
  overflow-x:hidden!important;
  background:#070707!important;
}
.page-background{
  position:fixed!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  opacity:1!important;
  filter:none!important;
  mix-blend-mode:normal!important;
  background-position:center top!important;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  z-index:0!important;
}
body::before{
  content:""!important;
  position:fixed!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(180deg,rgba(0,0,0,.18) 0%,rgba(0,0,0,.08) 28%,rgba(0,0,0,.22) 68%,rgba(0,0,0,.52) 100%)!important;
}
.ambient{display:none!important;}

/* ---------- top bar ---------- */
.topbar{
  position:relative!important;
  z-index:10!important;
  min-height:58px!important;
  padding:8px clamp(18px,3vw,42px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:16px!important;
  border-bottom:1px solid rgba(246,197,63,.34)!important;
  background:rgba(4,4,4,.78)!important;
  backdrop-filter:blur(10px)!important;
}
.brand-wrap{display:flex!important;align-items:center!important;min-width:0!important;}
.brand-logo{max-height:38px!important;width:auto!important;object-fit:contain!important;}
.brand{font-size:18px!important;font-weight:900!important;letter-spacing:.6px!important;}
.topbar-actions{display:flex!important;align-items:center!important;gap:10px!important;}
.language-switcher{display:flex!important;align-items:center!important;gap:3px!important;padding:3px!important;border:1px solid rgba(246,197,63,.55)!important;border-radius:999px!important;background:rgba(0,0,0,.60)!important;}
.language-switcher[hidden]{display:none!important;}
.language-switcher button{min-width:34px!important;height:28px!important;padding:0 8px!important;border:0!important;border-radius:999px!important;font-size:10px!important;font-weight:800!important;}
.campaign-tag{min-height:34px!important;display:flex!important;align-items:center!important;padding:0 15px!important;border:1px solid rgba(246,197,63,.75)!important;border-radius:999px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.35px!important;white-space:nowrap!important;background:rgba(0,0,0,.55)!important;}
.sound-toggle{z-index:20!important;}

/* ---------- common landing shell ---------- */
.page{position:relative!important;z-index:2!important;width:100%!important;max-width:none!important;padding:0 22px 28px!important;box-sizing:border-box!important;}
body.game-locked .intro,
body.game-locked #hubEntry,
body.game-locked #memberHub,
body.game-locked #hubSupportGrid,
body.game-locked #hubTrustBar{
  width:min(var(--hub-max),100%)!important;
  max-width:var(--hub-max)!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* ---------- hero ---------- */
body.game-locked .intro{
  margin-top:24px!important;
  margin-bottom:12px!important;
  text-align:center!important;
  padding:0 12px!important;
}
body.game-locked .intro h1{
  margin:0!important;
  font-size:clamp(54px,6.2vw,86px)!important;
  line-height:.88!important;
  letter-spacing:-2.2px!important;
  font-weight:1000!important;
  text-transform:uppercase!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.38))!important;
}
body.game-locked .intro #subtitle{
  margin:8px auto 0!important;
  max-width:820px!important;
  font-size:clamp(17px,2vw,27px)!important;
  line-height:1.02!important;
  font-weight:900!important;
  letter-spacing:.15px!important;
}
body.game-locked .hero-helper{
  margin-top:7px!important;
  font-size:12px!important;
  line-height:1.35!important;
  color:rgba(255,255,255,.84)!important;
}

/* ---------- coupon ---------- */
body.game-locked #hubEntry{margin-top:8px!important;margin-bottom:18px!important;}
body.game-locked #hubEntry .coupon-card{
  width:min(780px,100%)!important;
  margin:0 auto!important;
  padding:10px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 190px!important;
  grid-template-rows:auto auto!important;
  gap:7px 10px!important;
  border:1px solid rgba(246,197,63,.84)!important;
  border-radius:16px!important;
  background:rgba(10,8,7,.90)!important;
  box-shadow:0 10px 30px rgba(0,0,0,.35),0 0 0 2px rgba(246,197,63,.12) inset!important;
  backdrop-filter:blur(10px)!important;
}
body.game-locked #hubEntry .input-wrap{
  grid-column:1!important;
  height:52px!important;
  min-height:52px!important;
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:0 14px!important;
  border:1px solid rgba(0,0,0,.14)!important;
  border-radius:10px!important;
  background:#fffdf9!important;
  box-shadow:none!important;
  overflow:hidden!important;
}
body.game-locked #hubEntry .input-wrap>span{flex:0 0 auto!important;color:#e01b2d!important;font-size:17px!important;}
body.game-locked #coupon{
  min-width:0!important;
  width:100%!important;
  height:100%!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#2d2925!important;
  font-size:14px!important;
  font-weight:800!important;
  letter-spacing:.15px!important;
  text-overflow:ellipsis!important;
}
body.game-locked #coupon::placeholder{color:#8d837b!important;opacity:1!important;}
body.game-locked #verifyBtn{
  grid-column:2!important;
  width:190px!important;
  height:52px!important;
  min-height:52px!important;
  margin:0!important;
  border:0!important;
  border-radius:10px!important;
  background:linear-gradient(180deg,#ec1928,#bd0614)!important;
  box-shadow:0 8px 18px rgba(183,4,18,.28)!important;
  font-size:13px!important;
  font-weight:900!important;
  letter-spacing:.2px!important;
  white-space:nowrap!important;
}
body.game-locked #hubEntry .message{
  grid-column:1/-1!important;
  min-height:0!important;
  margin:0!important;
  padding:0 4px!important;
  font-size:10px!important;
  line-height:1.3!important;
  text-align:center!important;
}
body.game-locked #hubEntry .message:empty{display:none!important;}

/* ---------- game cards ---------- */
body.game-locked #memberHub{margin-top:0!important;margin-bottom:16px!important;position:relative!important;}
body.game-locked #memberHub .hub-backdrop{display:none!important;}
body.game-locked .hub-games{
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:stretch!important;
}
body.game-locked .hub-game{
  position:relative!important;
  min-width:0!important;
  min-height:280px!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid var(--hub-border)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(13,10,8,.83),rgba(4,4,4,.95))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.30)!important;
  isolation:isolate!important;
}
body.game-locked .hub-game-image{
  position:absolute!important;
  inset:0 0 auto 0!important;
  width:100%!important;
  height:175px!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  z-index:0!important;
}
body.game-locked .hub-game-image:not([src]),
body.game-locked .hub-game-image[src=""]{display:none!important;}
body.game-locked .hub-game-overlay{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  background:linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.06) 44%,rgba(4,4,4,.88) 67%,rgba(4,4,4,.98) 100%)!important;
  pointer-events:none!important;
}
body.game-locked .hub-art{
  position:relative!important;
  z-index:2!important;
  height:170px!important;
  min-height:170px!important;
  display:grid!important;
  place-items:center!important;
  padding:12px!important;
  box-sizing:border-box!important;
}
body.game-locked .hub-game:has(.hub-game-image[src]:not([src=""])) .hub-art{opacity:0!important;}
body.game-locked .hub-game-copy{
  position:relative!important;
  z-index:3!important;
  flex:1!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-end!important;
  min-width:0!important;
  padding:10px 12px 12px!important;
  text-align:center!important;
}
body.game-locked .hub-game-copy h3{
  margin:0 0 4px!important;
  min-height:20px!important;
  color:#ffd85a!important;
  font-size:14px!important;
  line-height:1.08!important;
  font-weight:950!important;
}
body.game-locked .hub-game-copy p{
  margin:0 0 10px!important;
  min-height:28px!important;
  color:rgba(255,255,255,.78)!important;
  font-size:9px!important;
  line-height:1.35!important;
}
body.game-locked .hub-game-copy>span{
  width:100%!important;
  max-width:142px!important;
  min-height:34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-top:auto!important;
  border-radius:999px!important;
  color:#5a2b00!important;
  background:linear-gradient(180deg,#ffe47a,#f2b929)!important;
  box-shadow:0 5px 12px rgba(234,173,27,.22)!important;
  font-size:10px!important;
  font-weight:950!important;
  letter-spacing:.2px!important;
}

/* fallback mini game art sizing */
body.game-locked .mini-wheel{width:112px!important;height:112px!important;}
body.game-locked .mini-gift{width:74px!important;height:74px!important;font-size:32px!important;}
body.game-locked .mini-slot{transform:scale(1.03)!important;}
body.game-locked .mini-card{width:72px!important;height:96px!important;font-size:30px!important;}
body.game-locked .mini-chest{transform:scale(1.06)!important;}

/* ---------- support dashboard ---------- */
body.game-locked #hubSupportGrid{
  display:grid!important;
  grid-template-columns:minmax(250px,.95fr) minmax(390px,1.45fr) minmax(250px,.95fr)!important;
  gap:12px!important;
  align-items:stretch!important;
  margin-top:0!important;
}
body.game-locked #rewardCenter,
body.game-locked #prizeTableSection,
body.game-locked #hubHowPanel{
  min-width:0!important;
  min-height:315px!important;
  height:auto!important;
  margin:0!important;
  padding:15px!important;
  border:1px solid var(--hub-border)!important;
  border-radius:14px!important;
  background:linear-gradient(180deg,rgba(10,9,8,.91),rgba(5,5,5,.94))!important;
  box-shadow:0 12px 28px rgba(0,0,0,.26)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}
body.game-locked #rewardCenter{display:flex!important;flex-direction:column!important;}
body.game-locked .reward-center-head{margin:0 0 12px!important;text-align:left!important;}
body.game-locked .reward-center-head span,
body.game-locked .prize-table-head span{font-size:9px!important;line-height:1.2!important;letter-spacing:.5px!important;color:#ffd456!important;}
body.game-locked .reward-center-head h2,
body.game-locked .prize-table-head h2,
body.game-locked .hub-panel-title h2{margin:3px 0 4px!important;font-size:17px!important;line-height:1.05!important;font-weight:950!important;}
body.game-locked .reward-center-head p,
body.game-locked .prize-table-head p,
body.game-locked .hub-panel-title p{margin:0!important;font-size:9px!important;line-height:1.35!important;color:var(--hub-muted)!important;}
body.game-locked .reward-center-search{display:flex!important;flex-direction:column!important;gap:9px!important;margin:0!important;}
body.game-locked .reward-center-search .input-wrap{height:44px!important;min-height:44px!important;border-radius:9px!important;background:#fffdf9!important;padding:0 11px!important;}
body.game-locked #rewardLookupInput{font-size:10px!important;font-weight:800!important;}
body.game-locked #rewardLookupBtn{width:100%!important;height:42px!important;min-height:42px!important;border-radius:9px!important;font-size:10px!important;}
body.game-locked .reward-lookup-message{margin-top:7px!important;font-size:9px!important;}

body.game-locked #prizeTableSection:not(.hidden){display:flex!important;flex-direction:column!important;}
body.game-locked .prize-table-head{display:grid!important;grid-template-columns:auto 1fr!important;grid-template-rows:auto auto!important;column-gap:10px!important;align-items:center!important;margin-bottom:10px!important;}
body.game-locked .prize-table-head span{grid-column:1!important;grid-row:1!important;}
body.game-locked .prize-table-head h2{grid-column:1!important;grid-row:2!important;}
body.game-locked .prize-table-head p{grid-column:2!important;grid-row:1/3!important;align-self:center!important;}
body.game-locked .prize-table-grid{
  flex:1!important;
  min-height:0!important;
  max-height:245px!important;
  overflow:auto!important;
  padding-right:4px!important;
}
body.game-locked .prize-table-grid>*{min-height:48px!important;}

body.game-locked .hub-panel-title{display:flex!important;align-items:center!important;gap:10px!important;margin-bottom:12px!important;}
body.game-locked .hub-panel-icon{width:34px!important;height:34px!important;display:grid!important;place-items:center!important;border:1px solid rgba(246,197,63,.7)!important;border-radius:9px!important;color:#ffd457!important;flex:0 0 auto!important;}
body.game-locked .hub-how-list{display:grid!important;gap:8px!important;}
body.game-locked .hub-how-list>div{
  min-height:51px!important;
  display:grid!important;
  grid-template-columns:34px 1fr!important;
  align-items:center!important;
  gap:9px!important;
  padding:6px 9px!important;
  border:1px solid rgba(246,197,63,.30)!important;
  border-radius:9px!important;
  background:rgba(0,0,0,.20)!important;
}
body.game-locked .hub-how-list>div>b{width:29px!important;height:29px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:#fff4d0!important;color:#bc101d!important;font-size:10px!important;}
body.game-locked .hub-how-list span{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;}
body.game-locked .hub-how-list strong{font-size:10px!important;line-height:1.15!important;}
body.game-locked .hub-how-list small{font-size:8px!important;line-height:1.25!important;color:rgba(255,255,255,.62)!important;}

/* ---------- trust bar/footer ---------- */
body.game-locked #hubTrustBar{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:center!important;
  margin-top:12px!important;
  padding:12px 16px!important;
  border:1px solid rgba(246,197,63,.42)!important;
  border-radius:14px!important;
  background:rgba(7,7,7,.88)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(8px)!important;
}
body.game-locked #hubTrustBar>div{
  display:grid!important;
  grid-template-columns:38px 1fr!important;
  align-items:center!important;
  gap:9px!important;
  min-width:0!important;
}
body.game-locked #hubTrustBar>div>b{width:36px!important;height:36px!important;display:grid!important;place-items:center!important;border:1px solid #f1c43d!important;border-radius:50%!important;color:#ffd95d!important;font-size:14px!important;}
body.game-locked #hubTrustBar>div span{min-width:0!important;display:flex!important;flex-direction:column!important;gap:2px!important;}
body.game-locked #hubTrustBar strong{font-size:10px!important;line-height:1.15!important;white-space:nowrap!important;}
body.game-locked #hubTrustBar small{font-size:8px!important;line-height:1.25!important;color:rgba(255,255,255,.64)!important;white-space:nowrap!important;}
body.game-locked #hubTrustBar em{
  grid-column:1/-1!important;
  justify-self:center!important;
  width:100%!important;
  margin:0!important;
  padding-top:9px!important;
  border-top:1px solid rgba(246,197,63,.18)!important;
  color:#f0c84d!important;
  font-size:10px!important;
  line-height:1.25!important;
  text-align:center!important;
  white-space:normal!important;
  transform:none!important;
}
footer{
  position:relative!important;
  z-index:2!important;
  margin:14px 0 0!important;
  padding:12px 18px 14px!important;
  border-top:1px solid rgba(246,197,63,.16)!important;
  background:rgba(2,2,2,.80)!important;
  font-size:9px!important;
  text-align:center!important;
}

/* ---------- unlocked game view ---------- */
body.game-unlocked #hubEntry,
body.game-unlocked #memberHub,
body.game-unlocked #hubSupportGrid,
body.game-unlocked #hubTrustBar{display:none!important;}
body.game-locked #gameView{display:none!important;}
body.game-unlocked #gameView:not(.hidden){
  display:flex!important;
  width:min(920px,calc(100% - 36px))!important;
  margin:20px auto 42px!important;
  padding:22px!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:16px!important;
  border:1px solid rgba(246,197,63,.62)!important;
  border-radius:18px!important;
  background:rgba(7,6,5,.90)!important;
  box-shadow:0 22px 52px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(10px)!important;
}

/* ---------- tablet ---------- */
@media (max-width:1000px){
  :root{--hub-max:900px;}
  .page{padding-left:16px!important;padding-right:16px!important;}
  body.game-locked .hub-games{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  body.game-locked .hub-game:nth-child(4),body.game-locked .hub-game:nth-child(5){min-height:260px!important;}
  body.game-locked .hub-game:nth-child(4){grid-column:1/2!important;}
  body.game-locked .hub-game:nth-child(5){grid-column:2/3!important;}
  body.game-locked #hubSupportGrid{grid-template-columns:1fr 1.35fr!important;}
  body.game-locked #hubHowPanel{grid-column:1/-1!important;min-height:auto!important;}
  body.game-locked .hub-how-list{grid-template-columns:1fr 1fr!important;}
}

/* ---------- dedicated mobile: V10.6.2 ---------- */
@media (max-width:680px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  body{min-width:0!important;}
  .page{width:100%!important;max-width:100%!important;padding:0 12px 22px!important;overflow:visible!important;}
  .page-background{background-position:center top!important;background-size:cover!important;background-attachment:scroll!important;}
  body::before{background:linear-gradient(180deg,rgba(0,0,0,.16),rgba(0,0,0,.12) 42%,rgba(0,0,0,.34) 100%)!important;}

  .topbar{width:100%!important;min-height:54px!important;padding:7px 10px!important;gap:8px!important;box-sizing:border-box!important;}
  .brand-wrap{flex:0 1 auto!important;min-width:0!important;overflow:hidden!important;}
  .brand-logo{max-width:112px!important;max-height:30px!important;}
  .brand{font-size:14px!important;white-space:nowrap!important;}
  .topbar-actions{flex:0 0 auto!important;min-width:0!important;gap:5px!important;}
  .language-switcher{flex:0 0 auto!important;padding:2px!important;gap:1px!important;}
  .language-switcher button{min-width:26px!important;width:auto!important;height:25px!important;padding:0 5px!important;font-size:8px!important;}
  .campaign-tag{max-width:104px!important;min-height:28px!important;padding:0 8px!important;overflow:hidden!important;text-overflow:ellipsis!important;font-size:7px!important;letter-spacing:0!important;}
  .sound-toggle{width:34px!important;height:34px!important;font-size:13px!important;}

  body.game-locked .intro,
  body.game-locked #hubEntry,
  body.game-locked #memberHub,
  body.game-locked #hubSupportGrid,
  body.game-locked #hubTrustBar{width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}

  body.game-locked .intro{margin:18px auto 10px!important;padding:0 4px!important;}
  body.game-locked .intro h1{font-size:clamp(38px,12.5vw,52px)!important;line-height:.94!important;letter-spacing:-1.2px!important;}
  body.game-locked .intro #subtitle{max-width:340px!important;margin-top:8px!important;font-size:12px!important;line-height:1.18!important;}
  body.game-locked .hero-helper{max-width:330px!important;margin:6px auto 0!important;font-size:9px!important;line-height:1.35!important;}

  body.game-locked #hubEntry{margin:8px auto 13px!important;}
  body.game-locked #hubEntry .coupon-card{width:100%!important;max-width:100%!important;display:flex!important;flex-direction:column!important;gap:8px!important;padding:9px!important;border-radius:13px!important;box-sizing:border-box!important;}
  body.game-locked #hubEntry .input-wrap{width:100%!important;max-width:100%!important;height:48px!important;min-height:48px!important;padding:0 12px!important;border-radius:9px!important;box-sizing:border-box!important;overflow:hidden!important;}
  body.game-locked #coupon{display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;font-size:12px!important;}
  body.game-locked #verifyBtn{display:block!important;width:100%!important;max-width:100%!important;height:48px!important;min-height:48px!important;border-radius:9px!important;font-size:12px!important;box-sizing:border-box!important;}
  body.game-locked #hubEntry .message{width:100%!important;margin:0!important;padding:0 3px!important;font-size:9px!important;box-sizing:border-box!important;}

  body.game-locked #memberHub{margin:0 auto 12px!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;}
  body.game-locked .hub-games{width:100%!important;max-width:100%!important;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin:0!important;padding:0!important;align-items:stretch!important;box-sizing:border-box!important;}
  body.game-locked .hub-game,
  body.game-locked .hub-game:nth-child(4),
  body.game-locked .hub-game:nth-child(5){position:relative!important;grid-column:auto!important;width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;height:auto!important;aspect-ratio:auto!important;margin:0!important;transform:none!important;border-radius:12px!important;box-sizing:border-box!important;overflow:hidden!important;}
  body.game-locked .hub-game:nth-child(5){grid-column:1/-1!important;width:calc(50% - 5px)!important;justify-self:center!important;}
  body.game-locked .hub-game-image{position:relative!important;inset:auto!important;width:100%!important;max-width:100%!important;height:116px!important;min-height:116px!important;object-fit:cover!important;transform:none!important;}
  body.game-locked .hub-game.has-custom-image .hub-art{display:none!important;}
  body.game-locked .hub-art{position:relative!important;width:100%!important;height:116px!important;min-height:116px!important;padding:8px!important;box-sizing:border-box!important;transform:none!important;}
  body.game-locked .hub-game-copy{position:relative!important;width:100%!important;min-width:0!important;max-width:100%!important;padding:9px 8px 10px!important;box-sizing:border-box!important;}
  body.game-locked .hub-game-copy h3{min-height:0!important;margin:0 0 4px!important;font-size:11px!important;line-height:1.15!important;white-space:normal!important;}
  body.game-locked .hub-game-copy p{min-height:30px!important;margin:0 0 8px!important;font-size:8px!important;line-height:1.3!important;overflow-wrap:anywhere!important;}
  body.game-locked .hub-game-copy>span{width:100%!important;max-width:122px!important;min-height:30px!important;margin:0 auto!important;font-size:8px!important;box-sizing:border-box!important;}
  body.game-locked .mini-wheel{width:78px!important;height:78px!important;}
  body.game-locked .mini-gift{width:56px!important;height:56px!important;font-size:24px!important;}
  body.game-locked .mini-card{width:52px!important;height:68px!important;font-size:22px!important;}
  body.game-locked .mini-slot,body.game-locked .mini-chest{transform:scale(.78)!important;}

  body.game-locked #hubSupportGrid{width:100%!important;display:flex!important;flex-direction:column!important;gap:10px!important;margin-top:0!important;}
  body.game-locked #hubSupportGrid>*{width:100%!important;min-width:0!important;max-width:100%!important;min-height:0!important;padding:13px!important;border-radius:12px!important;box-sizing:border-box!important;}
  body.game-locked .reward-center-head h2,
  body.game-locked .prize-table-head h2,
  body.game-locked .hub-panel-title h2{margin-bottom:3px!important;font-size:15px!important;line-height:1.15!important;}
  body.game-locked .reward-center-head p,
  body.game-locked .prize-table-head p,
  body.game-locked .hub-panel-title p{font-size:9px!important;line-height:1.35!important;}
  body.game-locked .reward-center-search{display:flex!important;flex-direction:column!important;gap:7px!important;}
  body.game-locked .reward-center-search .input-wrap,
  body.game-locked #rewardLookupBtn{width:100%!important;max-width:100%!important;height:42px!important;min-height:42px!important;box-sizing:border-box!important;}
  body.game-locked .prize-table-head{display:block!important;}
  body.game-locked .prize-table-head p{margin-top:3px!important;}
  body.game-locked .prize-table-grid{width:100%!important;max-width:100%!important;max-height:270px!important;overflow:auto!important;}
  body.game-locked .hub-how-list{display:grid!important;grid-template-columns:1fr!important;gap:7px!important;}
  body.game-locked .hub-how-list>div{width:100%!important;min-width:0!important;min-height:48px!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;gap:8px!important;padding:6px 8px!important;box-sizing:border-box!important;}
  body.game-locked .hub-how-list span{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important;}
  body.game-locked .hub-how-list strong{font-size:10px!important;line-height:1.2!important;}
  body.game-locked .hub-how-list small{font-size:8px!important;line-height:1.3!important;white-space:normal!important;}

  body.game-locked #hubTrustBar{width:100%!important;display:grid!important;grid-template-columns:1fr!important;gap:8px!important;margin:10px auto 0!important;padding:11px 12px!important;border-radius:12px!important;box-sizing:border-box!important;}
  body.game-locked #hubTrustBar>div{width:100%!important;min-width:0!important;display:grid!important;grid-template-columns:34px minmax(0,1fr)!important;align-items:center!important;gap:9px!important;}
  body.game-locked #hubTrustBar>div>b{width:32px!important;height:32px!important;font-size:12px!important;}
  body.game-locked #hubTrustBar>div>span{display:flex!important;min-width:0!important;flex-direction:column!important;gap:2px!important;}
  body.game-locked #hubTrustBar strong{font-size:9px!important;line-height:1.15!important;}
  body.game-locked #hubTrustBar small{font-size:8px!important;line-height:1.25!important;white-space:normal!important;}
  body.game-locked #hubTrustBar em{grid-column:auto!important;width:100%!important;margin:1px 0 0!important;padding-top:9px!important;font-size:8.5px!important;line-height:1.3!important;text-align:center!important;white-space:normal!important;}
  footer{width:100%!important;margin-top:10px!important;padding:10px 12px 12px!important;font-size:8px!important;box-sizing:border-box!important;}

  body.game-unlocked #gameView:not(.hidden){width:calc(100% - 24px)!important;max-width:100%!important;margin:14px 12px 24px!important;padding:13px!important;border-radius:14px!important;gap:12px!important;box-sizing:border-box!important;overflow:hidden!important;}
  body.game-unlocked .intro{margin-top:17px!important;}
  body.game-unlocked .intro h1{font-size:clamp(36px,12vw,50px)!important;}
}

@media (max-width:390px){
  .campaign-tag{display:none!important;}
  body.game-locked .intro h1{font-size:38px!important;}
  body.game-locked .hub-games{gap:8px!important;}
  body.game-locked .hub-game:nth-child(5){width:calc(50% - 4px)!important;}
  body.game-locked .hub-game-image,body.game-locked .hub-art{height:108px!important;min-height:108px!important;}
  body.game-locked .hub-game-copy{padding:8px 7px 9px!important;}
}


/* V10.6.3 — final state cleanup + visual polish */
[hidden]{display:none!important;}
#maintenanceOverlay[hidden],#gameView[hidden],#result[hidden],#mysteryResultModal[hidden]{display:none!important;}

/* Desktop rhythm: keep the active V10.6 layout balanced without reintroducing legacy rules. */
@media (min-width: 901px){
  body.game-locked .page{max-width:1280px!important;padding-left:28px!important;padding-right:28px!important;}
  body.game-locked .intro{margin-top:30px!important;margin-bottom:18px!important;}
  body.game-locked #hubEntry{max-width:760px!important;margin-bottom:22px!important;}
  body.game-locked .hub-games{gap:16px!important;}
  body.game-locked #hubSupportGrid{gap:16px!important;margin-top:18px!important;}
  body.game-locked #hubTrustBar{margin-top:16px!important;}
}

/* Tablet owns its own geometry; no desktop min-widths leak into cards. */
@media (min-width:681px) and (max-width:900px){
  body.game-locked .page{width:100%!important;max-width:100%!important;padding:0 18px!important;}
  body.game-locked .hub-games{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.game-locked .hub-game{width:100%!important;min-width:0!important;max-width:100%!important;}
  body.game-locked .hub-game:nth-child(5){grid-column:1/-1!important;width:calc(50% - 7px)!important;justify-self:center!important;}
  body.game-locked #hubSupportGrid{grid-template-columns:1fr!important;}
}

/* Mobile finishing pass: readable, compact, and guaranteed inside the viewport. */
@media (max-width:680px){
  html,body{width:100%!important;max-width:100%!important;overflow-x:hidden!important;}
  .page{width:100%!important;max-width:100%!important;padding-left:12px!important;padding-right:12px!important;}
  .topbar{width:100%!important;max-width:100%!important;padding:10px 12px!important;gap:8px!important;box-sizing:border-box!important;}
  .brand-wrap,.topbar-actions{min-width:0!important;}
  .brand-logo{max-width:118px!important;max-height:38px!important;}
  .language-switcher{flex:0 0 auto!important;}
  .language-switcher button{min-width:32px!important;padding:6px 7px!important;}
  .campaign-tag{max-width:108px!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
  body.game-locked .intro{margin:16px auto 12px!important;}
  body.game-locked .intro h1{font-size:clamp(34px,10.5vw,46px)!important;line-height:.98!important;}
  body.game-locked #hubEntry{margin-bottom:16px!important;}
  body.game-locked .hub-games{gap:9px!important;}
  body.game-locked .hub-game-image,body.game-locked .hub-art{height:112px!important;min-height:112px!important;}
  body.game-locked .hub-game-copy h3{font-size:11px!important;}
  body.game-locked .hub-game-copy p{font-size:8.5px!important;min-height:31px!important;}
  body.game-locked .hub-game-copy>span{min-height:32px!important;font-size:8.5px!important;}
  body.game-locked #hubSupportGrid{margin-top:14px!important;}
  body.game-locked #hubSupportGrid>*{padding:14px!important;}
  body.game-locked #hubTrustBar{margin-top:12px!important;padding:12px!important;}
  body.game-unlocked #gameView:not([hidden]){width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important;margin:14px 12px 24px!important;}
}


/* V11.2 Customer UX Polish — accessibility/touch feedback only; no layout redesign */
.btn,button,a.btn{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
input:focus-visible,button:focus-visible,a.btn:focus-visible,.gift-box:focus-visible{outline:2px solid var(--theme-primary,#f5bd27)!important;outline-offset:3px!important}
#verifyBtn[aria-busy="true"]{cursor:wait!important}
#coupon:disabled{opacity:.78!important;cursor:wait!important}
@media (max-width:760px){
  #coupon,#rewardLookupInput{font-size:16px!important}
  .btn,#verifyBtn,#rewardLookupBtn{min-height:44px}
}


/* V11.3 Customer Game Experience — visual-only progress and play-state polish */
.game-journey{
  width:min(620px,100%)!important;
  margin:0 auto 12px!important;
  display:grid!important;
  grid-template-columns:auto 1fr auto 1fr auto!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 14px!important;
  border:1px solid rgba(202,151,34,.34)!important;
  border-radius:18px!important;
  background:linear-gradient(180deg,rgba(255,252,244,.96),rgba(249,238,214,.9))!important;
  box-shadow:0 12px 28px rgba(76,39,0,.08)!important;
}
.game-journey-step{display:flex!important;align-items:center!important;gap:7px!important;min-width:0!important;opacity:.52!important;transition:opacity .25s ease,transform .25s ease!important}
.game-journey-step i{display:grid!important;place-items:center!important;width:27px!important;height:27px!important;flex:0 0 27px!important;border-radius:50%!important;background:#e8dcc9!important;color:#705840!important;font-style:normal!important;font-size:11px!important;font-weight:900!important;box-shadow:inset 0 0 0 1px rgba(91,60,26,.12)!important;transition:all .25s ease!important}
.game-journey-step span{font-size:10px!important;font-weight:900!important;letter-spacing:.06em!important;white-space:nowrap!important;color:#735d48!important}
.game-journey-line{height:2px!important;min-width:18px!important;border-radius:99px!important;background:linear-gradient(90deg,#e4d4b9,#cfb77f)!important;opacity:.6!important;position:relative!important;overflow:hidden!important}
.game-journey-line:after{content:""!important;position:absolute!important;inset:0!important;transform:translateX(-105%)!important;background:linear-gradient(90deg,#e01920,#ffcb39)!important;transition:transform .38s ease!important}
.game-journey[data-state="play"] .game-journey-line:first-of-type:after,.game-journey[data-state="reward"] .game-journey-line:after{transform:translateX(0)!important}
.game-journey-step.is-current,.game-journey-step.is-complete{opacity:1!important}
.game-journey-step.is-current{transform:translateY(-1px)!important}
.game-journey-step.is-current i{background:linear-gradient(145deg,#ee1a24,#bd0710)!important;color:#fff!important;box-shadow:0 5px 13px rgba(190,8,17,.24),inset 0 0 0 2px rgba(255,255,255,.24)!important}
.game-journey-step.is-complete i{background:linear-gradient(145deg,#ffda55,#e8a919)!important;color:#4b2d00!important}
.game-shell.is-playing .wheel-stage,.game-shell.is-playing .visual-stage,.game-shell.is-playing .mystery-stage{animation:v113StageFocus 1.25s ease-in-out infinite alternate!important}
.game-shell.is-playing .spin-action{opacity:.72!important;transform:scale(.985)!important}
.result-card.show{animation:v113RewardIn .55s cubic-bezier(.16,.9,.28,1.14) both!important}
.mystery-result-modal.show .mystery-result-dialog{animation:v113RewardIn .55s cubic-bezier(.16,.9,.28,1.14) both!important}
@keyframes v113StageFocus{from{filter:saturate(1) brightness(1)}to{filter:saturate(1.06) brightness(1.025)}}
@keyframes v113RewardIn{0%{opacity:0;transform:translateY(18px) scale(.965)}100%{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:720px){
  .game-journey{padding:9px 10px!important;gap:5px!important;border-radius:15px!important;margin-bottom:8px!important}
  .game-journey-step{gap:5px!important}
  .game-journey-step i{width:24px!important;height:24px!important;flex-basis:24px!important;font-size:10px!important}
  .game-journey-step span{font-size:8px!important;letter-spacing:.035em!important}
  .game-journey-line{min-width:8px!important}
}
@media(max-width:390px){.game-journey-step span{display:none!important}.game-journey{grid-template-columns:auto 1fr auto 1fr auto!important;padding-inline:16px!important}.game-journey-step i{width:26px!important;height:26px!important;flex-basis:26px!important}}
@media(prefers-reduced-motion:reduce){.game-shell.is-playing .wheel-stage,.game-shell.is-playing .visual-stage,.game-shell.is-playing .mystery-stage,.result-card.show,.mystery-result-modal.show .mystery-result-dialog{animation:none!important}.game-journey-step,.game-journey-step i,.game-journey-line:after{transition:none!important}}

/* V11.4 Customer Reward & Claim Experience — customer-side continuity only */
.last-reward-card{width:min(720px,100%)!important;margin:10px auto 0!important;padding:12px 14px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;border:1px solid rgba(202,151,34,.34)!important;border-radius:16px!important;background:linear-gradient(180deg,rgba(255,252,244,.96),rgba(249,238,214,.9))!important;box-shadow:0 10px 24px rgba(76,39,0,.07)!important}
.last-reward-card.hidden{display:none!important}.last-reward-card>div{min-width:0!important;display:grid!important;gap:2px!important}.last-reward-card small{font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;color:#8a6b45!important}.last-reward-card strong{font-size:14px!important;color:#442c18!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.last-reward-card span{font-size:11px!important;font-weight:800!important;color:#a20c13!important;letter-spacing:.04em!important}.last-reward-card .btn{flex:0 0 auto!important;margin:0!important}.reward-status-btn{margin-top:8px!important}
@media(max-width:620px){.last-reward-card{align-items:stretch!important;flex-direction:column!important}.last-reward-card .btn{width:100%!important}.reward-status-btn{width:100%!important}}

/* V11.6 My Rewards — browser-local reward history; server remains source of truth */
.my-rewards-panel{width:min(720px,100%)!important;margin:14px auto 0!important;padding:14px!important;border:1px solid rgba(202,151,34,.3)!important;border-radius:18px!important;background:rgba(255,252,244,.92)!important;box-shadow:0 10px 26px rgba(76,39,0,.07)!important}
.my-rewards-panel.hidden{display:none!important}.my-rewards-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important}.my-rewards-head small{display:block!important;font-size:9px!important;font-weight:900!important;letter-spacing:.12em!important;color:#8a6b45!important}.my-rewards-head h3{margin:2px 0 0!important;font-size:17px!important;color:#442c18!important}.my-rewards-head .btn{margin:0!important;padding:8px 12px!important;min-height:36px!important}.my-rewards-note{margin:8px 0 10px!important;font-size:11px!important;line-height:1.45!important;color:#80684f!important}.my-rewards-list{display:grid!important;gap:8px!important}.my-reward-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;padding:10px 11px!important;border:1px solid rgba(120,83,40,.14)!important;border-radius:13px!important;background:rgba(255,255,255,.62)!important}.my-reward-info{min-width:0!important;display:grid!important;gap:3px!important}.my-reward-info strong{font-size:13px!important;color:#442c18!important}.my-reward-info span{font-size:10px!important;color:#856b50!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}.my-reward-row .btn{flex:0 0 auto!important;margin:0!important;padding:8px 11px!important;min-height:36px!important;font-size:10px!important}
@media(max-width:620px){.my-rewards-head{align-items:flex-start!important}.my-rewards-head .btn{font-size:9px!important}.my-reward-row{align-items:stretch!important;flex-direction:column!important}.my-reward-row .btn{width:100%!important}.my-reward-info span{white-space:normal!important;overflow-wrap:anywhere!important}}

/* V11.6.1 Focus Ring Hotfix — keep keyboard focus clear without red input frame */
.input-wrap:focus-within,
body.game-locked .input-wrap:focus-within{
  border-color:#d7b16c!important;
  box-shadow:0 0 0 3px rgba(218,168,68,.14)!important;
  transform:none!important;
}
.input-wrap input:focus,
.input-wrap input:focus-visible{
  outline:none!important;
  box-shadow:none!important;
}


/* V11.6.3 Last Reward Layout Hotfix — compact vertical layout for narrow desktop column */
.last-reward-card{
  width:100%!important;
  max-width:none!important;
  margin:10px 0 0!important;
  padding:12px 14px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:10px!important;
}
.last-reward-card>div{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  gap:2px!important;
}
.last-reward-card strong{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.last-reward-card span{
  display:block!important;
  max-width:100%!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.last-reward-card .btn,
#lastRewardCheckBtn{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  margin:0!important;
  min-height:46px!important;
  position:static!important;
  transform:none!important;
}


/* =========================================================
   V11.9 — Campaign Landing Experience
   ========================================================= */
.campaign-landing{
  position:relative!important;
  overflow:hidden!important;
  width:100%!important;
  margin:0 0 16px!important;
  padding:18px 20px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:18px!important;
  border:1px solid rgba(239,190,67,.78)!important;
  border-radius:18px!important;
  background:
    linear-gradient(135deg,rgba(40,29,12,.98),rgba(14,14,14,.98) 58%,rgba(28,17,7,.98))!important;
  box-shadow:0 15px 34px rgba(0,0,0,.2),inset 0 1px rgba(255,226,128,.09)!important;
}
.campaign-landing.hidden{display:none!important}
.campaign-landing-glow{
  position:absolute!important;
  width:240px!important;
  height:240px!important;
  left:-100px!important;
  top:-130px!important;
  border-radius:50%!important;
  background:radial-gradient(circle,rgba(255,196,48,.22),rgba(255,196,48,0) 70%)!important;
  pointer-events:none!important;
}
.campaign-landing-copy,.campaign-landing-meta{position:relative!important;z-index:1!important}
.campaign-landing-copy{min-width:0!important}
.campaign-landing-kicker{
  display:block!important;
  margin:0 0 5px!important;
  color:#f5c743!important;
  font-size:9px!important;
  font-weight:1000!important;
  letter-spacing:1.8px!important;
}
.campaign-landing-copy h2{
  margin:0!important;
  max-width:100%!important;
  color:#fff8e5!important;
  font-size:clamp(20px,2vw,30px)!important;
  line-height:1.05!important;
  font-weight:1000!important;
  overflow-wrap:anywhere!important;
}
.campaign-landing-copy p{
  margin:7px 0 0!important;
  color:rgba(255,255,255,.72)!important;
  font-size:11px!important;
  line-height:1.45!important;
}
.campaign-landing-meta{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(130px,auto))!important;
  gap:8px!important;
}
.campaign-landing-meta>div{
  min-width:130px!important;
  padding:10px 12px!important;
  border:1px solid rgba(239,190,67,.28)!important;
  border-radius:12px!important;
  background:rgba(0,0,0,.28)!important;
}
.campaign-landing-meta small{
  display:block!important;
  margin-bottom:4px!important;
  color:#d6aa3c!important;
  font-size:7px!important;
  font-weight:1000!important;
  letter-spacing:1.1px!important;
}
.campaign-landing-meta strong{
  display:block!important;
  max-width:180px!important;
  color:#fff!important;
  font-size:10px!important;
  font-weight:1000!important;
  line-height:1.25!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
@media(max-width:760px){
  .campaign-landing{
    margin:0 0 12px!important;
    padding:15px!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
    border-radius:16px!important;
  }
  .campaign-landing-copy h2{font-size:22px!important}
  .campaign-landing-copy p{font-size:10px!important}
  .campaign-landing-meta{
    grid-template-columns:1fr 1fr!important;
    width:100%!important;
  }
  .campaign-landing-meta>div{min-width:0!important;padding:9px 10px!important}
  .campaign-landing-meta strong{max-width:100%!important;font-size:9px!important}
}
@media(max-width:420px){
  .campaign-landing-meta{grid-template-columns:1fr!important}
}


/* =========================================================
   V11.9.2 — My Rewards Card Layout Hotfix
   Reward Center is a narrow sidebar on desktop, so history rows
   stay vertical regardless of the overall viewport width.
   ========================================================= */
.my-reward-row{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:9px!important;
  padding:10px 11px!important;
}
.my-reward-info{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  gap:3px!important;
}
.my-reward-info strong{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
.my-reward-info span{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:visible!important;
  text-overflow:clip!important;
  overflow-wrap:anywhere!important;
  line-height:1.35!important;
}
.my-reward-row .btn{
  width:100%!important;
  max-width:100%!important;
  flex:0 0 auto!important;
  margin:0!important;
  min-height:38px!important;
  position:static!important;
  transform:none!important;
}
