:root{--red:#b3003b;--pink:#e71552;--gold:#ffc52a;--cream:#fff0f1}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:#97002f url("generated/festive-background.png") center/cover fixed;color:#fff;font-family:Arial,"Helvetica Neue",sans-serif;overflow-x:hidden}.site{position:relative;z-index:2;max-width:1220px;margin:auto;padding:35px 25px 20px;display:grid;grid-template-columns:1.45fr .9fr;gap:22px 34px;align-items:center}.game{text-align:center}.hero{position:relative;z-index:4;margin-bottom:-12px}.hero h1{margin:0;font-size:clamp(52px,6.2vw,90px);line-height:.82;font-weight:1000;letter-spacing:-4px;text-shadow:0 6px 0 #840026,0 12px 25px #57001f}.hero h1 span{display:block;color:#ffd029;-webkit-text-stroke:2px #fff1a1;text-shadow:0 5px 0 #d47700,0 10px 0 #800028,0 16px 25px #5b001d}.hero p{display:inline-block;margin:17px 0 0;padding:9px 28px;background:#fff0f1;color:#bf0a40;font-size:18px;font-weight:900;box-shadow:0 7px 0 #d52255;transform:rotate(-2deg);clip-path:polygon(3% 0,97% 4%,100% 85%,50% 100%,0 85%)}.wheel-stage{position:relative;width:min(670px,100%);aspect-ratio:1;margin:auto}.wheel-rim{position:absolute;z-index:2;inset:4%;border:18px solid #ffbd18;border-radius:50%;background:#ffda52;box-shadow:0 0 0 5px #fff09e,0 0 0 9px #c46b00,0 18px 35px #650021}.wheel{position:absolute;inset:7px;border-radius:50%;overflow:hidden;background:conic-gradient(from -36deg,#fff1f3 0 72deg,#f29cb1 72deg 144deg,#fff2f4 144deg 216deg,#f29cb1 216deg 288deg,#fff2f4 288deg);border:3px solid #db647f;transition:transform 5.2s cubic-bezier(.12,.7,.08,1);will-change:transform}.wheel:after{content:"";position:absolute;inset:0;border-radius:50%;background:repeating-conic-gradient(from -36deg,transparent 0 71.4deg,#cb5c78 71.5deg 72.5deg);pointer-events:none}.lights{position:absolute;z-index:5;inset:-12px;border-radius:50%;background:repeating-conic-gradient(#fff 0 1.5deg,transparent 1.5deg 12deg);mask:radial-gradient(circle,transparent 0 91%,#000 91% 96%,transparent 96%);filter:drop-shadow(0 0 6px white);animation:blink 1s steps(2) infinite}.slice-label{position:absolute;z-index:2;left:50%;top:50%;width:32%;height:44%;transform-origin:50% 0}.slice-label>div{height:100%;display:flex;flex-direction:column;align-items:center;color:#b91642;font-size:clamp(9px,1.25vw,14px);font-weight:900}.slice-label strong{height:36px;display:grid;place-items:center}.s0{transform:rotate(0deg) translateX(-50%)}.s1{transform:rotate(72deg) translateX(-50%)}.s2{transform:rotate(144deg) translateX(-50%)}.s3{transform:rotate(216deg) translateX(-50%)}.s4{transform:rotate(288deg) translateX(-50%)}.s1>div{transform:rotate(-72deg)}.s2>div{transform:rotate(-144deg)}.s3>div{transform:rotate(-216deg)}.s4>div{transform:rotate(-288deg)}.sprite{display:block;background-image:url("generated/prize-sprites.png");background-repeat:no-repeat;background-size:500% 100%}.slice-label .sprite{width:clamp(75px,10.5vw,122px);height:clamp(60px,8.5vw,100px);margin-top:2px}.p0{background-position:0 50%}.p1{background-position:25% 50%}.p2{background-position:50% 50%}.p3{background-position:75% 50%}.p4{background-position:100% 50%}.spin-center{position:absolute;z-index:8;left:50%;top:50%;translate:-50% -50%;width:25%;aspect-ratio:1;border-radius:50%;border:8px solid #ffd758;background:linear-gradient(#fb3f70,#d50747);color:#fff;font-size:clamp(21px,3vw,39px);font-weight:1000;box-shadow:0 0 0 4px #ac123e,0 8px 16px #78002e;cursor:pointer}.pointer{position:absolute;z-index:10;left:50%;top:0;translate:-50%;width:46px;height:72px;background:linear-gradient(#ff7795,#e20b49);clip-path:polygon(50% 100%,0 40%,8% 15%,27% 0,73% 0,92% 15%,100% 40%);filter:drop-shadow(0 4px 0 #8c1039)}.pointer b{position:absolute;left:14px;top:12px;width:18px;height:18px;border-radius:50%;background:#fff}.stand{position:absolute;z-index:1;left:2%;right:2%;bottom:0;height:14%;border-radius:50%;background:linear-gradient(#ff586f,#b5003b 60%,#ef2859);border:5px solid #ff7779;box-shadow:0 14px 22px #640023}.spin-main{position:relative;z-index:6;margin-top:-35px;width:min(360px,72%);padding:16px;border:2px solid #ffed9a;border-radius:40px;background:linear-gradient(#ffdc43,#ffae09);color:#c20a44;font-size:29px;font-weight:1000;box-shadow:0 6px 0 #8f1136,0 12px 25px #620020;cursor:pointer}.turns{margin:12px 0 0;font-size:17px}.result{position:relative;margin-top:55px;padding:68px 30px 25px;border:7px solid #ed4672;border-radius:42px;background:linear-gradient(155deg,#fffafa,#ffe2e5);color:#bd1041;text-align:center;box-shadow:0 13px 0 #81002b,0 22px 35px #60002088}.gift-icon{position:absolute;left:50%;top:-52px;translate:-50%;width:105px;aspect-ratio:1;display:grid;place-items:center;border-radius:50%;background:linear-gradient(#ff7897,#dc0a49);border:7px solid #ffc2d0;font-size:50px;box-shadow:0 6px 0 #a20b3a}.ribbon{position:relative;margin:0 auto 24px;width:85%;padding:12px;background:linear-gradient(#f94070,#d40847);color:#fff;font-size:27px;font-weight:1000;box-shadow:0 7px 12px #a4003655}.small{margin:0;font-weight:700}.result h2{min-height:76px;margin:6px 0 0;font-size:clamp(25px,2.7vw,36px);line-height:1.08;font-weight:1000}.result-product{height:290px;display:grid;place-items:center;background:radial-gradient(circle,#fff 0,transparent 66%)}.result-product .sprite{width:min(360px,100%);height:250px}.instruction{font-size:15px;font-weight:700;line-height:1.4}.result>button{width:94%;padding:14px;border:0;border-radius:12px;background:linear-gradient(#f93668,#d40847);color:#fff;font-size:25px;font-weight:1000;box-shadow:0 5px 7px #86002d66;cursor:pointer}.benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:22px}.benefits div{display:flex;flex-direction:column;align-items:center;gap:6px}.benefits span{font-size:34px}.benefits b{font-size:11px}.feature-bar{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);border:2px solid #ef557e;border-radius:26px;background:#d31850c9;box-shadow:0 10px 25px #62002077;overflow:hidden}.feature-bar article{display:flex;align-items:center;gap:15px;padding:19px 28px}.feature-bar article+article{border-left:1px solid #f46b8e}.feature-bar article>span{font-size:45px}.feature-bar b,.feature-bar small{display:block}.feature-bar b{font-size:16px}.feature-bar small{margin-top:5px;line-height:1.4}.confetti i{position:fixed;z-index:1;color:#ffe26b;font-style:normal;font-size:24px;text-shadow:0 0 12px #fff}.confetti i:nth-child(1){left:3%;top:7%}.confetti i:nth-child(2){left:46%;top:4%}.confetti i:nth-child(3){right:4%;top:13%}.confetti i:nth-child(4){right:47%;bottom:13%}.confetti i:nth-child(5){left:5%;bottom:18%}.confetti i:nth-child(6){right:3%;bottom:7%}.toast{position:fixed;z-index:30;left:50%;bottom:25px;translate:-50% 120px;padding:14px 24px;border-radius:30px;background:#fff;color:#b2073e;font-weight:800;box-shadow:0 12px 35px #55001e;opacity:0;transition:.3s}.toast.show{translate:-50% 0;opacity:1}button:disabled{cursor:not-allowed;filter:grayscale(.45)}@keyframes blink{50%{opacity:.55}}
@media(max-width:850px){.site{grid-template-columns:1fr;padding:25px 14px}.hero h1{font-size:clamp(50px,12vw,82px)}.result{width:min(560px,100%);margin:45px auto 0}.feature-bar{grid-template-columns:1fr}.feature-bar article+article{border-left:0;border-top:1px solid #f46b8e}.slice-label>div{font-size:clamp(8px,2.2vw,14px)}}
@media(max-width:500px){.site{padding-top:20px}.hero h1{letter-spacing:-2px}.hero p{font-size:12px;padding:8px 15px}.wheel-rim{border-width:11px}.pointer{width:34px;height:54px}.pointer b{left:10px;top:9px;width:13px;height:13px}.spin-center{border-width:5px}.slice-label strong{height:28px}.spin-main{font-size:22px;padding:12px}.result{padding:60px 16px 22px;border-radius:30px}.ribbon{font-size:21px}.result-product{height:220px}.result-product .sprite{height:190px}.feature-bar article{padding:14px 20px}}
@media(prefers-reduced-motion:reduce){.wheel{transition-duration:.01ms}.lights{animation:none}}

/* Product layout overrides: use independent, undistorted PNGs. */
.slice-label{position:absolute;z-index:2;width:25%;height:27%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;color:#b91642;text-align:center;font-size:clamp(8px,1.15vw,13px);font-weight:900;line-height:1.15;transform:none}
.slice-label strong{height:31%;display:flex;align-items:center;justify-content:center}
.slice-label img{display:block;width:100%;height:69%;object-fit:contain;filter:drop-shadow(0 5px 5px #8b274055)}
.slice-label.s0{left:37.5%;top:4%;transform:none}.slice-label.s1{left:auto;right:6%;top:28%;transform:none}.slice-label.s2{left:auto;right:18%;top:auto;bottom:6%;transform:none}.slice-label.s3{left:18%;top:auto;bottom:6%;transform:none}.slice-label.s4{left:6%;top:28%;transform:none}
.result-product{position:relative;height:290px;display:grid;place-items:center;overflow:hidden;background:none}
.result-product:before{content:"";position:absolute;inset:0;background:repeating-conic-gradient(from -10deg,#ffd2dc00 0 9deg,#fff 10deg 11deg,#ffd2dc00 12deg 24deg);opacity:.6;clip-path:polygon(50% 40%,100% 100%,0 100%)}
.result-product:after{content:"";position:absolute;z-index:1;left:12%;right:12%;bottom:14px;height:32px;border-radius:50%;background:linear-gradient(#fb4870,#c9003f);border:4px solid #ff9a9d;box-shadow:0 8px 0 #a60036,0 0 22px #ff7b93}
.result-product img{position:relative;z-index:3;width:90%;height:255px;object-fit:contain;filter:drop-shadow(0 15px 10px #77152f44)}
.prize-halo{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0,#fff8 35%,transparent 70%)}
@media(max-width:850px){.slice-label{font-size:clamp(8px,2.2vw,13px)}}
@media(max-width:500px){.result-product{height:220px}.result-product img{height:195px}}

/* Larger prize art and a heavier illuminated rim, matching the reference proportions. */
.wheel-rim{border-width:22px;box-shadow:0 0 0 6px #fff0a0,0 0 0 11px #b95d00,0 20px 38px #650021}
.wheel{inset:5px}
.lights{inset:-16px;filter:drop-shadow(0 0 7px #fff) drop-shadow(0 0 4px #ffd32c)}
.slice-label{width:29%;height:32%;font-size:clamp(9px,1.35vw,15px);line-height:1.12}
.slice-label strong{height:29%;text-shadow:0 1px #fff}
.slice-label img{height:71%;width:100%;object-fit:contain;transform:scale(1.08);filter:drop-shadow(0 7px 6px #7b173d66)}
.slice-label.s0{left:35.5%;top:4%}.slice-label.s1{right:1.5%;top:25%}.slice-label.s2{right:14%;bottom:1.5%}.slice-label.s3{left:14%;bottom:1.5%}.slice-label.s4{left:1.5%;top:25%}
.slice-label.s4 img{transform:scale(1.18)}.slice-label.s1 img{transform:scale(1.13)}
.spin-center{width:27%;border-width:9px;box-shadow:0 0 0 5px #a70f3b,0 9px 18px #75002b}
.result-product img{width:88%;height:270px;transform:scale(1.08)}
@media(max-width:500px){.wheel-rim{border-width:13px}.lights{inset:-10px}.slice-label{font-size:clamp(8px,2.4vw,12px)}.result-product img{height:205px}}

/* Refined wheel face: keep every prize inside the safe circular area. */
.wheel-stage{filter:drop-shadow(0 18px 18px #65002088)}
.wheel-rim{background:linear-gradient(145deg,#fff08d 0,#ffc117 26%,#e99000 52%,#ffd83c 78%,#fff1a0 100%);border-color:#ffbd18}
.wheel-rim:before{content:"";position:absolute;z-index:4;inset:1px;border:3px solid #ffe982;border-radius:50%;box-shadow:inset 0 0 0 4px #c96a00,inset 0 0 18px #8d360066;pointer-events:none}
.wheel{background:conic-gradient(from -36deg,#fff7f8 0 72deg,#f5a5b9 72deg 144deg,#fff7f8 144deg 216deg,#f5a5b9 216deg 288deg,#fff7f8 288deg 360deg);box-shadow:inset 0 0 24px #a5123d33}
.wheel:before{content:"";position:absolute;z-index:3;inset:0;border-radius:50%;background:radial-gradient(circle at 38% 28%,#fff8 0 4%,transparent 28%),radial-gradient(circle,transparent 0 72%,#d94e7444 93%,#b8164544 100%);pointer-events:none}
.wheel:after{z-index:4;background:repeating-conic-gradient(from -36deg,transparent 0 71.1deg,#cf617d 71.2deg 72.7deg)}
.lights{z-index:7}
.slice-label{z-index:2;width:25%;height:28%;font-size:clamp(9px,1.22vw,14px)}
.slice-label strong{height:30%;position:relative;z-index:2}
.slice-label img{width:94%;height:70%;transform:none;filter:drop-shadow(0 6px 5px #7b173d55)}
.slice-label.s0{left:37.5%;top:7%}.slice-label.s1{right:6%;top:28%}.slice-label.s2{right:17%;bottom:7%}.slice-label.s3{left:17%;bottom:7%}.slice-label.s4{left:6%;top:28%}
.slice-label.s4 img{transform:scale(1.07)}.slice-label.s1 img{transform:scale(1.04)}
.spin-center{background:radial-gradient(circle at 38% 28%,#ff7897 0,#f02a62 27%,#d50747 70%);transition:filter .2s,transform .2s}
.spin-center:hover{filter:brightness(1.12);transform:scale(1.035)}
.pointer{filter:drop-shadow(0 4px 0 #8c1039) drop-shadow(0 0 8px #fff)}
@media(max-width:500px){.slice-label{width:26%;height:29%;font-size:clamp(7px,2.15vw,11px)}.slice-label.s0{left:37%;top:7%}.slice-label.s1{right:5%;top:28%}.slice-label.s2{right:16%;bottom:7%}.slice-label.s3{left:16%;bottom:7%}.slice-label.s4{left:5%;top:28%}}

/* Detailed carnival lights and two-level illuminated pedestal. */
.site{align-items:start}
.game,.result{align-self:start}
.result{margin-top:72px}
.wheel-stage{margin-top:3px;margin-bottom:22px;overflow:visible}
.lights{inset:-18px;background:none;mask:none;filter:none;animation:none;pointer-events:none}
.lights i{position:absolute;display:block;width:12px;height:12px;translate:-50% -50%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff 0 28%,#fff7a3 31%,#ffd331 62%,#e88800 100%);border:1px solid #ffef80;box-shadow:0 0 5px 2px #fff,0 0 11px 4px #ffd12b;animation:bulb-glow .9s ease-in-out infinite alternate}
.stand{left:5%;right:5%;bottom:-1%;height:15%;z-index:1;border:4px solid #ff8588;background:linear-gradient(180deg,#ff667b 0,#d00b48 43%,#9d0034 60%,#ec1a54 100%);box-shadow:0 13px 0 #7d002a,0 20px 28px #57001f}
.stand:before{content:"";position:absolute;z-index:-1;left:5%;right:5%;top:45%;height:74%;border-radius:50%;border:4px solid #ff787e;background:linear-gradient(#ec2a59,#a70038 58%,#db0c49);box-shadow:0 11px 0 #760028,0 18px 20px #5b001e}
.stand:after{content:"";position:absolute;z-index:3;left:8%;right:8%;bottom:5%;height:18px;background:radial-gradient(circle,#fff 0 3px,#fff4a0 4px,#ffc52a 5px,transparent 7px) left center/34px 18px repeat-x;filter:drop-shadow(0 0 5px #fff)}
.spin-main{margin-top:-37px}
.wheel-rim{z-index:3}
.slice-label img{max-width:100%;max-height:100%}
.result{box-shadow:0 13px 0 #85002d,0 24px 35px #50001f99}
.result-product{margin-inline:-4px}
.result-product img{max-width:94%;max-height:94%;object-fit:contain}
@keyframes bulb-glow{from{opacity:.68;filter:brightness(.9)}to{opacity:1;filter:brightness(1.28)}}
@media(max-width:850px){.result{margin-top:62px}.wheel-stage{margin-bottom:18px}}
@media(max-width:500px){.lights{inset:-11px}.lights i{width:8px;height:8px;box-shadow:0 0 4px 1px #fff,0 0 7px 2px #ffd12b}.stand:after{height:12px;background-size:23px 12px}.result{margin-top:52px}}

/* Final spacing, crisp dividers, jewel bulbs and reference-style stage. */
.hero{margin-bottom:30px}
.hero p{margin-top:17px;position:relative;z-index:12}
.wheel-stage{margin-top:0}
.pointer{top:-3px}
.wheel:after{z-index:6;background:repeating-conic-gradient(from -36deg,transparent 0 70.8deg,#fff0f3 70.9deg 71.25deg,#c84f70 71.3deg 72.65deg,#fff0f3 72.7deg 73deg);filter:none;opacity:1}
.slice-label{z-index:5}
.slice-label.s3 img{filter:saturate(1.55) contrast(1.16) brightness(.93) drop-shadow(0 7px 5px #8d164466);transform:scale(1.04)}
.lights{inset:-10px;z-index:9}
.lights i{width:15px;height:15px;border:3px solid #f3a900;background:radial-gradient(circle at 38% 32%,#fff 0 31%,#fff9b7 33%,#ffe13c 58%,#ffae00 100%);box-shadow:0 0 0 1px #fff08a,0 0 7px 2px #fff,0 0 12px 4px #ffc720}
.wheel-rim:before{z-index:8;inset:2px;border:2px solid #fff09a;box-shadow:inset 0 0 0 4px #c96700,inset 0 0 15px #9d420066}
.stand{left:7%;right:7%;bottom:-5%;height:13%;border:4px solid #ff8a8f;border-radius:50%;background:linear-gradient(#ff5572 0,#d50b49 47%,#a50037 52%,#d50a49 100%);box-shadow:0 8px 0 #88002e,0 18px 25px #58001f}
.stand:before{z-index:-1;left:2%;right:2%;top:43%;height:82%;border:4px solid #ff6f78;border-top-color:#ff9aa0;border-radius:10% 10% 48% 48% / 20% 20% 55% 55%;background:linear-gradient(180deg,#dc0b48 0,#a40037 55%,#e31550 100%);box-shadow:0 10px 0 #720026,0 17px 20px #52001c}
.stand:after{z-index:4;left:7%;right:7%;bottom:-2%;height:22px;background:radial-gradient(circle,#fff 0 3px,#fffbd0 3.5px,#ffd32d 5px,#c97800 6px,transparent 7px) left center/38px 22px repeat-x;filter:drop-shadow(0 0 4px #fff)}
.spin-main{margin-top:-24px}
@media(max-width:850px){.hero{margin-bottom:25px}}
@media(max-width:500px){.hero{margin-bottom:20px}.lights{inset:-6px}.lights i{width:10px;height:10px;border-width:2px}.stand{bottom:-4%;height:12%}.stand:after{height:14px;background-size:25px 14px}.spin-main{margin-top:-18px}}

/* Geometrically centered bulb track and crisp physical dividers. */
.lights{inset:-22px}
.wheel:after{display:none}
.wheel-divider{position:absolute;z-index:7;left:50%;top:0;width:4px;height:50%;transform-origin:50% 100%;background:linear-gradient(90deg,#a92c50 0,#d95b7b 24%,#fff5f7 48%,#d95b7b 72%,#a92c50 100%);box-shadow:0 0 0 1px #b93e61;pointer-events:none}
.slice-label{z-index:5}
.spin-center{z-index:10}
@media(max-width:500px){.lights{inset:-13px}.wheel-divider{width:3px}}

/* Prize centering and separated header/ribbon/wheel rhythm. */
.hero h1{margin-bottom:0}
.hero p{margin-top:25px;padding-inline:34px;border-radius:48% 48% 12px 12px / 28% 28% 12px 12px;box-shadow:0 6px 0 #d52255,0 11px 18px #72002455}
.hero{margin-bottom:46px}
.pointer{top:-2px}
.slice-label.s0{left:37.5%;top:11%}
.slice-label.s2{right:19.5%;bottom:11%}
.slice-label.s3{left:19.5%;bottom:11%}
.slice-label.s0 img{transform:scale(1.03)}
.slice-label.s2 img{transform:scale(1.03)}
.slice-label.s3 img{transform:scale(1.08);filter:saturate(2.15) contrast(1.3) brightness(.79) drop-shadow(0 7px 6px #72002f88)}
@media(max-width:850px){.hero{margin-bottom:38px}.hero p{margin-top:21px}.slice-label.s0{top:10%}.slice-label.s2{right:18.5%;bottom:10%}.slice-label.s3{left:18.5%;bottom:10%}}
@media(max-width:500px){.hero{margin-bottom:30px}.hero p{margin-top:17px;padding-inline:20px}.slice-label.s0{left:37%;top:10%}.slice-label.s2{right:18%;bottom:10%}.slice-label.s3{left:18%;bottom:10%}}

/* Arched display title and final prize color/placement tuning. */
.hero h1{line-height:.8;padding-top:40px}
.hero h1 .title-line{display:flex;align-items:flex-end;justify-content:center;gap:.015em;white-space:nowrap}
.hero h1 .title-line b{display:inline-block;transform:translateY(calc(-1 * var(--lift)));font:inherit;color:inherit}
.hero h1 .title-line em{display:block;width:.22em}
.hero h1 .gold-line{color:#ffd029;-webkit-text-stroke:2px #fff1a1;text-shadow:0 5px 0 #d47700,0 10px 0 #800028,0 16px 25px #5b001d}
.hero h1 .white-line{margin-top:-7px;color:#fff;-webkit-text-stroke:0;text-shadow:0 6px 0 #840026,0 12px 25px #57001f}
.slice-label.s0{left:37.5%;top:5.5%}
.slice-label.s0 img{transform:scale(.94);filter:saturate(1.2) contrast(1.08) drop-shadow(0 6px 5px #7b173d55)}
.slice-label.s3 img{transform:scale(1.1);filter:hue-rotate(-20deg) saturate(4.6) contrast(1.34) brightness(.98) drop-shadow(0 0 5px #ff244e) drop-shadow(0 8px 6px #72002f99)}
@media(max-width:850px){.hero h1{padding-top:34px}.slice-label.s0{top:5.5%}}
@media(max-width:500px){.hero h1{padding-top:24px}.hero h1 .gold-line b:nth-of-type(1),.hero h1 .gold-line b:nth-of-type(9){transform:translateY(-8px)}.hero h1 .gold-line b:nth-of-type(2),.hero h1 .gold-line b:nth-of-type(8){transform:translateY(-13px)}.hero h1 .gold-line b:nth-of-type(3),.hero h1 .gold-line b:nth-of-type(7){transform:translateY(-17px)}.hero h1 .gold-line b:nth-of-type(4),.hero h1 .gold-line b:nth-of-type(5),.hero h1 .gold-line b:nth-of-type(6){transform:translateY(-20px)}.hero h1 .white-line b{transform:translateY(-7px)}.slice-label.s0{left:37%;top:5%}}

/* True two-line circular headline with fixed visual separation. */
.hero h1{display:flex;flex-direction:column;align-items:center;gap:24px;padding-top:45px;line-height:1}
.hero h1 .title-line{width:100%;height:.92em;align-items:flex-end;overflow:visible}
.hero h1 .white-line{margin-top:0}
.hero h1 .gold-line b:nth-of-type(1){transform:translateY(-12px) rotate(-11deg)}
.hero h1 .gold-line b:nth-of-type(2){transform:translateY(-24px) rotate(-8deg)}
.hero h1 .gold-line b:nth-of-type(3){transform:translateY(-33px) rotate(-5deg)}
.hero h1 .gold-line b:nth-of-type(4){transform:translateY(-38px) rotate(-2deg)}
.hero h1 .gold-line b:nth-of-type(5){transform:translateY(-38px) rotate(2deg)}
.hero h1 .gold-line b:nth-of-type(6){transform:translateY(-33px) rotate(5deg)}
.hero h1 .gold-line b:nth-of-type(7){transform:translateY(-24px) rotate(8deg)}
.hero h1 .gold-line b:nth-of-type(8){transform:translateY(-12px) rotate(11deg)}
.hero h1 .gold-line b:nth-of-type(9){transform:translateY(-3px) rotate(13deg)}
.hero h1 .white-line b:nth-of-type(1){transform:translateY(-5px) rotate(-7deg)}
.hero h1 .white-line b:nth-of-type(2){transform:translateY(-12px) rotate(-4deg)}
.hero h1 .white-line b:nth-of-type(3){transform:translateY(-16px) rotate(-2deg)}
.hero h1 .white-line b:nth-of-type(4){transform:translateY(-16px) rotate(2deg)}
.hero h1 .white-line b:nth-of-type(5){transform:translateY(-12px) rotate(4deg)}
.hero h1 .white-line b:nth-of-type(6){transform:translateY(-5px) rotate(7deg)}
@media(max-width:850px){.hero h1{gap:19px;padding-top:38px}}
@media(max-width:500px){.hero h1{gap:13px;padding-top:28px}.hero h1 .gold-line b:nth-of-type(1){transform:translateY(-6px) rotate(-9deg)}.hero h1 .gold-line b:nth-of-type(2){transform:translateY(-11px) rotate(-7deg)}.hero h1 .gold-line b:nth-of-type(3){transform:translateY(-16px) rotate(-4deg)}.hero h1 .gold-line b:nth-of-type(4){transform:translateY(-19px) rotate(-2deg)}.hero h1 .gold-line b:nth-of-type(5){transform:translateY(-19px) rotate(2deg)}.hero h1 .gold-line b:nth-of-type(6){transform:translateY(-16px) rotate(4deg)}.hero h1 .gold-line b:nth-of-type(7){transform:translateY(-11px) rotate(7deg)}.hero h1 .gold-line b:nth-of-type(8),.hero h1 .gold-line b:nth-of-type(9){transform:translateY(-6px) rotate(9deg)}.hero h1 .white-line b:nth-of-type(1){transform:translateY(-3px) rotate(-6deg)}.hero h1 .white-line b:nth-of-type(2){transform:translateY(-7px) rotate(-3deg)}.hero h1 .white-line b:nth-of-type(3){transform:translateY(-9px) rotate(-1deg)}.hero h1 .white-line b:nth-of-type(4){transform:translateY(-9px) rotate(1deg)}.hero h1 .white-line b:nth-of-type(5){transform:translateY(-7px) rotate(3deg)}.hero h1 .white-line b:nth-of-type(6){transform:translateY(-3px) rotate(6deg)}}

.hero h1{gap:34px}
@media(max-width:850px){.hero h1{gap:27px}}
@media(max-width:500px){.hero h1{gap:19px}}

/* Reference-style congratulations ribbon and semantic footer icons. */
.result{overflow:visible}
.ribbon{z-index:3;width:82%;border-radius:2px;background:linear-gradient(180deg,#fb3f70 0,#dd0849 70%,#c9003f 100%);box-shadow:0 8px 13px #8d00335c;text-shadow:0 2px 0 #a60039}
.ribbon:before,.ribbon:after{content:"";position:absolute;z-index:-1;top:12px;width:45px;height:46px;background:#c80742;clip-path:polygon(0 0,100% 12%,82% 50%,100% 88%,0 100%,18% 50%);filter:drop-shadow(0 5px 4px #84002d55)}
.ribbon:before{right:calc(100% - 13px)}
.ribbon:after{left:calc(100% - 13px);transform:scaleX(-1)}
.result h2{text-shadow:0 1px 0 #fff}
.feature-bar article{min-height:106px}
.feature-icon{position:relative;flex:0 0 70px;width:70px;height:70px;display:grid;place-items:center;border-radius:22px;background:linear-gradient(145deg,#fff8d8,#ffc235 48%,#e76b00);border:4px solid #ffde72;box-shadow:inset 0 0 0 3px #fff7b6,0 6px 12px #79002766;font-size:42px}
.calendar-icon:before{content:"";position:absolute;inset:14px 12px 10px;border-radius:5px;background:#fff;border:4px solid #e60c4c;box-shadow:inset 0 10px 0 #ffcf2f}
.calendar-icon:after{content:"";position:absolute;width:22px;height:11px;border-left:5px solid #e60c4c;border-bottom:5px solid #e60c4c;transform:rotate(-45deg);left:23px;top:31px}
.calendar-icon i:before,.calendar-icon i:after{content:"";position:absolute;z-index:2;top:7px;width:5px;height:14px;border-radius:3px;background:#e60c4c}.calendar-icon i:before{left:21px}.calendar-icon i:after{right:21px}
.gift-feature{padding-bottom:4px}
.wheel-icon:before{content:"";position:absolute;inset:11px;border-radius:50%;background:repeating-conic-gradient(#e30a4a 0 3deg,#fff1c0 3deg 43deg,#e30a4a 43deg 47deg);border:4px solid #e20b49;box-shadow:inset 0 0 0 5px #ffc72f}
.wheel-icon:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;border:5px solid #e30a4a;box-shadow:0 0 0 3px #ffc72f}
.wheel-icon i{position:absolute;top:2px;width:14px;height:14px;border-radius:50%;background:#ffdf55;border:3px solid #e30a4a}
@media(max-width:500px){.ribbon:before,.ribbon:after{width:33px;height:38px}.feature-icon{flex-basis:58px;width:58px;height:58px;border-radius:18px;font-size:34px}.calendar-icon:before{inset:11px 9px 8px}.calendar-icon:after{left:18px;top:26px}.calendar-icon i:before{left:17px}.calendar-icon i:after{right:17px}}

/* Exact red CSS voucher and calendar/check icon matching the reference. */
.voucher-art{position:relative;display:grid;place-items:center;width:94%;height:64%;margin:auto;background:linear-gradient(145deg,#ff315f 0,#ee124c 48%,#c9003e 100%);border:3px solid #ff86a0;border-radius:9px;color:#fff;font-size:clamp(21px,3vw,38px);font-weight:1000;line-height:1;text-shadow:0 3px 0 #a80036;box-shadow:inset 0 0 0 3px #e10b49,0 7px 8px #85002f66;clip-path:polygon(0 0,100% 0,100% 13%,95% 19%,100% 25%,100% 75%,95% 81%,100% 87%,100% 100%,0 100%,0 87%,5% 81%,0 75%,0 25%,5% 19%,0 13%)}
.slice-label.s3 .voucher-art{transform:scale(1.08)}
.result-voucher{position:relative;z-index:3;width:min(310px,80%);height:160px;font-size:64px}
.result-voucher[hidden]{display:none}
.calendar-icon{border-radius:21px;background:linear-gradient(145deg,#fff4a5 0,#ffca31 42%,#e86c00 100%);border-color:#ffdc65;box-shadow:inset 0 0 0 3px #fff5ad,0 0 0 2px #e80e4d,0 7px 13px #72002677}
.calendar-icon:before{inset:12px 10px 9px;border:3px solid #e70e4d;border-radius:7px;background:linear-gradient(#ef174f 0 25%,#fff 25% 100%);box-shadow:0 3px 0 #ad0038}
.calendar-icon:after{content:"✓";left:0;top:25px;width:100%;height:auto;border:0;transform:none;color:#e10b49;font:1000 31px/1 Arial;text-align:center;text-shadow:none}
.calendar-icon i:before,.calendar-icon i:after{top:4px;width:7px;height:17px;border:2px solid #fff5a1;background:#e97b00;box-shadow:0 2px 0 #a64700}
.calendar-icon i:before{left:20px}.calendar-icon i:after{right:20px}
@media(max-width:500px){.result-voucher{height:120px;font-size:48px}.calendar-icon:before{inset:10px 8px 7px}.calendar-icon:after{top:21px;font-size:27px}.calendar-icon i:before{left:16px}.calendar-icon i:after{right:16px}}

/* Footer and voucher proportions closely matched to the supplied reference. */
.voucher-art{aspect-ratio:1.55/1;height:auto;padding-top:15%;background:linear-gradient(145deg,#ff416a 0,#ed174f 45%,#cf073f 100%);border:3px solid #ff7895;border-radius:7px;color:#fff;box-shadow:inset 0 0 0 2px #c9063e,inset 0 0 0 5px #fa3764,0 8px 10px #83002e70;text-shadow:0 3px 0 #9f0034}
.voucher-art:before{content:"VOUCHER GIẢM";position:absolute;top:12%;left:10%;right:10%;font-size:.32em;line-height:1;letter-spacing:.03em;text-shadow:none}
.voucher-art:after{content:"";position:absolute;inset:8%;border:1px dashed #ff9fb2;border-radius:3px;pointer-events:none}
.slice-label.s3 .voucher-art{transform:scale(1.04) rotate(-5deg)}
.result-voucher{height:auto;padding-top:34px;font-size:64px;transform:rotate(-2deg)}
.result-voucher:before{top:13%;font-size:20px}
.feature-bar{min-height:112px;border-color:#ef5d84;background:linear-gradient(180deg,#d9285cdb,#bd0b43df);box-shadow:inset 0 1px 0 #ff7596,0 10px 25px #62002077}
.feature-bar article{min-height:112px;padding:17px 26px;gap:18px}
.feature-bar article+article{border-left:1px solid #ef668a}
.feature-bar b{font-size:17px}.feature-bar small{font-size:13px}
.feature-icon{flex:0 0 76px;width:76px;height:76px}
.gift-feature{border:0;border-radius:0;background:transparent url("generated/prize-gift-trim.png") center/contain no-repeat;box-shadow:none;filter:drop-shadow(0 7px 6px #72002777);transform:scale(1.12)}
.wheel-icon{border:0;border-radius:50%;background:none;box-shadow:none}
.wheel-icon:before{inset:6px;background:repeating-conic-gradient(from -22.5deg,#e81a50 0 42deg,#ffd23a 42deg 45deg);border:6px solid #ffbf1c;box-shadow:inset 0 0 0 4px #fff0a0,0 4px 0 #b65c00,0 7px 10px #70002566}
.wheel-icon:after{width:19px;height:19px;border:5px solid #f12659;background:#ffd43a;box-shadow:0 0 0 3px #fff3a5}
.wheel-icon i{top:0;width:17px;height:17px;background:#ffdd4d;border-color:#d50a45;box-shadow:0 2px 0 #8f0030}
@media(max-width:850px){.feature-bar article{padding:16px 24px}.feature-bar article+article{border-left:0;border-top:1px solid #ef668a}}
@media(max-width:500px){.voucher-art{border-width:2px}.voucher-art:before{font-size:.29em}.result-voucher{font-size:48px;padding-top:27px}.result-voucher:before{font-size:15px}.feature-bar article{min-height:94px;padding:12px 17px;gap:14px}.feature-icon{flex-basis:64px;width:64px;height:64px}.feature-bar b{font-size:15px}.feature-bar small{font-size:12px}}

/* Full-screen prize claim experience. */
body.claim-open{overflow:hidden}.claim-screen{position:fixed;z-index:100;inset:0;display:none;overflow-y:auto;background:radial-gradient(circle at 50% 47%,#f63168 0,#c30743 43%,#8e002f 100%) url("generated/festive-background.png") center/cover;color:#fff}.claim-screen.active{display:block}.claim-content{position:relative;width:min(860px,100%);min-height:100vh;margin:auto;padding:48px 26px 34px;text-align:center;overflow:hidden}.claim-pin{position:relative;z-index:5;width:105px;height:125px;margin:0 auto -32px;border-radius:55% 55% 55% 8%;transform:rotate(-45deg);background:linear-gradient(145deg,#ffdb4a,#f20d51 48%);border:7px solid #ffdc4c;box-shadow:0 0 22px #fff36f}.claim-pin span{position:absolute;inset:22px;border-radius:50%;background:#fff0f2;border:5px solid #b7073e}.claim-ribbon{position:relative;z-index:4;width:84%;margin:auto;padding:24px 35px;background:linear-gradient(#fa3a6d,#d60a49);border:3px solid #ff7e9d;border-radius:50% 50% 12px 12px / 25% 25% 12px 12px;box-shadow:0 9px 0 #970033,0 15px 25px #670021}.claim-ribbon:before,.claim-ribbon:after{content:"";position:absolute;z-index:-1;top:40%;width:22%;height:76%;background:#d70b49;border:3px solid #ff7394;clip-path:polygon(0 0,100% 15%,82% 50%,100% 86%,0 100%,18% 50%)}.claim-ribbon:before{right:91%}.claim-ribbon:after{left:91%;transform:scaleX(-1)}.claim-ribbon span{font-size:clamp(40px,7vw,72px);font-weight:1000;text-shadow:0 5px 0 #8a002e,0 0 4px #fff;-webkit-text-stroke:2px #fff;color:#fff}.claim-kicker{margin:32px 0 8px;font-size:27px;font-weight:800}.claim-content h2{margin:0 auto;color:#ffdd4b;font-size:clamp(32px,5vw,54px);line-height:1.05;font-weight:1000;text-shadow:0 4px 0 #9b1736;max-width:760px}.claim-product{position:relative;height:440px;margin-top:2px;display:grid;place-items:center}.claim-rays{position:absolute;inset:0;background:repeating-conic-gradient(from 0deg,#fff0 0 8deg,#ffe47c55 9deg 13deg,#fff0 14deg 25deg);clip-path:polygon(50% 2%,100% 100%,0 100%)}.claim-product>img#claimImage{position:relative;z-index:4;width:58%;height:340px;object-fit:contain;filter:drop-shadow(0 18px 15px #5d001f88)}.claim-stage{position:absolute;z-index:3;left:18%;right:18%;bottom:20px;height:78px;border-radius:50%;background:linear-gradient(#ff6480,#d70a47 55%,#9d0035);border:5px solid #ff8795;box-shadow:0 15px 0 #8d0030,0 23px 25px #610020}.claim-stage i{position:absolute;left:8%;right:8%;bottom:4px;height:18px;background:radial-gradient(circle,#fff 0 4px,#ffe882 5px,#ffc019 6px,transparent 8px) left center/42px 18px repeat-x;filter:drop-shadow(0 0 5px #fff)}.claim-gift{position:absolute!important;z-index:5!important;width:25%!important;height:190px!important;bottom:10px!important;object-fit:contain}.gift-left{left:0}.gift-right{right:0}.claim-voucher-product{position:relative;z-index:5;width:48%;font-size:75px}.claim-voucher-product[hidden],.claim-product img[hidden]{display:none}.claim-info{display:grid;grid-template-columns:.9fr 1.1fr;gap:28px;align-items:stretch;margin:12px auto 28px;width:90%}.claim-ticket,.claim-thanks{min-height:130px;border-radius:19px;display:flex;flex-direction:column;justify-content:center;padding:20px}.claim-ticket{position:relative;background:linear-gradient(145deg,#fa3566,#c90640);border:3px solid #ff8199;box-shadow:inset 0 0 0 2px #e9104c,0 8px 13px #700025}.claim-ticket small{font-size:18px;font-weight:800}.claim-ticket strong{margin-top:7px;font-size:25px;line-height:1.05}.claim-thanks{background:linear-gradient(145deg,#fff7f0,#ffd9df);border:3px solid #ff99aa;color:#bd0a41;box-shadow:0 8px 13px #700025}.claim-thanks b{font-size:24px}.claim-thanks span{margin-top:8px;font-size:17px;line-height:1.35}.claim-confirm{width:min(540px,80%);padding:19px;border:3px solid #ffe681;border-radius:42px;background:linear-gradient(#ffda42,#ffad08);color:#cf0b47;font-size:35px;font-weight:1000;box-shadow:0 7px 0 #9e1634,0 14px 20px #650021;cursor:pointer}.claim-sparkles i,.claim-confetti b{position:absolute;z-index:1;font-style:normal}.claim-sparkles i{color:#ffe46e;font-size:27px;text-shadow:0 0 12px #fff}.claim-sparkles i:nth-child(1){left:7%;top:8%}.claim-sparkles i:nth-child(2){right:8%;top:12%}.claim-sparkles i:nth-child(3){left:4%;top:43%}.claim-sparkles i:nth-child(4){right:5%;top:50%}.claim-sparkles i:nth-child(5){left:12%;bottom:12%}.claim-sparkles i:nth-child(6){right:12%;bottom:8%}.claim-confetti b{font-size:70px;color:#ffcd29}.claim-confetti b:nth-child(1){left:2%;top:14%;transform:rotate(45deg)}.claim-confetti b:nth-child(2){right:3%;top:8%;transform:rotate(80deg)}.claim-confetti b:nth-child(3){left:1%;top:53%;color:#ff4680}.claim-confetti b:nth-child(4){right:2%;top:42%;color:#ff4680}.claim-confetti b:nth-child(5){right:7%;bottom:16%;transform:rotate(-30deg)}
@media(max-width:650px){.claim-content{padding:32px 14px 25px}.claim-pin{width:78px;height:94px;margin-bottom:-25px}.claim-pin span{inset:16px}.claim-ribbon{width:89%;padding:18px 20px}.claim-ribbon span{font-size:clamp(32px,10vw,48px)}.claim-kicker{margin-top:25px;font-size:21px}.claim-product{height:350px}.claim-product>img#claimImage{width:67%;height:270px}.claim-stage{left:12%;right:12%;height:60px}.claim-gift{width:25%!important;height:130px!important}.claim-info{width:96%;grid-template-columns:1fr;gap:12px}.claim-ticket,.claim-thanks{min-height:100px}.claim-ticket strong{font-size:20px}.claim-thanks b{font-size:21px}.claim-confirm{width:88%;font-size:27px;padding:16px}.claim-voucher-product{width:65%;font-size:54px}}

/* Valid layered background for the full-screen claim view. */
.claim-screen{background-color:#a50036;background-image:radial-gradient(circle at 50% 47%,#f6316855 0,#c3074399 43%,#780027e8 100%),url("generated/festive-background.png");background-position:center center,center center;background-size:cover,cover;background-repeat:no-repeat,no-repeat;background-attachment:fixed,fixed}

/* Claim-screen polish: luminous product halo, premium ribbon, matched gifts. */
.claim-ribbon{width:88%;padding:26px 38px 30px;border:3px solid #ffb14f;border-bottom-color:#ffcf72;border-radius:50% 50% 15px 15px / 30% 30% 15px 15px;background:linear-gradient(180deg,#ff4779 0,#eb1555 46%,#cb0644 100%);box-shadow:inset 0 3px 0 #ff8eaa,inset 0 -5px 0 #a90038,0 9px 0 #8e002f,0 18px 30px #5b001f99}
.claim-ribbon:before,.claim-ribbon:after{top:41%;height:74%;background:linear-gradient(145deg,#ff4778,#c80643);border-color:#ff9f73;filter:drop-shadow(0 7px 5px #65002288)}
.claim-ribbon span{letter-spacing:-.02em;-webkit-text-stroke:3px #fff;text-shadow:0 4px 0 #a90039,0 7px 7px #680023,0 0 8px #fff}
.claim-product:before{content:"";position:absolute;z-index:0;left:50%;top:48%;translate:-50% -50%;width:72%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,#fff 0 6%,#fff9bd 18%,#ffd75a99 37%,#ff7b7270 55%,transparent 73%);filter:blur(1px);animation:claim-halo 1.8s ease-in-out infinite alternate}
.claim-rays{z-index:1;inset:-4% 4% 0;background:repeating-conic-gradient(from -4deg at 50% 53%,transparent 0 7deg,#fff6b077 8deg 11deg,transparent 12deg 22deg);clip-path:polygon(50% 4%,100% 100%,0 100%);filter:drop-shadow(0 0 8px #fff2a0)}
.claim-product>img#claimImage{z-index:5;filter:drop-shadow(0 0 12px #fff2a0) drop-shadow(0 20px 15px #5d001faa)}
.claim-stage{z-index:4;box-shadow:0 0 20px #ff8799,0 15px 0 #8d0030,0 24px 28px #52001d}
.claim-gift{z-index:6!important;width:24%!important;height:185px!important;bottom:9px!important;object-fit:contain;filter:hue-rotate(-7deg) saturate(1.45) brightness(1.08) drop-shadow(0 12px 9px #69002399)}
.claim-gift.gift-left{left:2.5%;right:auto;transform:rotate(-2deg)}
.claim-gift.gift-right{right:2.5%;left:auto;transform:rotate(2deg)}
@keyframes claim-halo{from{opacity:.78;transform:scale(.96)}to{opacity:1;transform:scale(1.06)}}
@media(max-width:650px){.claim-ribbon{width:92%;padding:19px 20px 22px}.claim-ribbon span{-webkit-text-stroke:2px #fff}.claim-product:before{width:88%}.claim-rays{inset:0}.claim-gift{width:25%!important;height:125px!important;bottom:8px!important}.claim-gift.gift-left{left:0}.claim-gift.gift-right{right:0}}

/* Brighter pink-red claim palette matching the original reference artwork. */
.claim-screen{background-color:#c20a49;background-image:radial-gradient(circle at 50% 48%,#ff5d8a70 0,#e51b5b44 40%,#b9003d38 72%,#92003066 100%),url("generated/festive-background.png");background-blend-mode:screen,normal}
.claim-content:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 50% 52%,#ff4f7e55 0,#db0b4a22 48%,transparent 75%);pointer-events:none}
.claim-ribbon{background:linear-gradient(180deg,#ff4e80 0,#f01d60 45%,#d7094b 100%);border-color:#ffc06c;border-bottom-color:#ffdf8b;box-shadow:inset 0 3px 0 #ff9db5,inset 0 -5px 0 #bd003e,0 9px 0 #a50037,0 18px 30px #71002580}
.claim-ribbon:before,.claim-ribbon:after{background:linear-gradient(145deg,#ff5685,#df0b4d);border-color:#ffb06f}
.claim-product:before{background:radial-gradient(circle,#fff 0 7%,#fffbd2 20%,#ffd87085 37%,#ff719073 56%,transparent 74%)}
.claim-rays{background:repeating-conic-gradient(from -4deg at 50% 53%,transparent 0 7deg,#fffbd08a 8deg 11deg,transparent 12deg 22deg);filter:drop-shadow(0 0 10px #fff6c0)}
.claim-gift{filter:hue-rotate(-22deg) saturate(1.62) brightness(1.17) contrast(1.05) drop-shadow(0 12px 9px #7a00287a)}
.claim-ticket{background:linear-gradient(145deg,#ff4778,#df0c4d);border-color:#ff9caf}
.claim-thanks{background:linear-gradient(145deg,#fffaf6,#ffe1e7)}

/* Typography-safe congratulations banner and soft tapered light rays. */
.claim-ribbon{width:86%;min-height:142px;display:flex;align-items:center;justify-content:center;padding:25px 44px 29px;border-radius:46% 46% 17px 17px / 17% 17% 12px 12px;transform:none}
.claim-ribbon span{display:block;width:100%;font-family:"Arial Black","Segoe UI",Arial,sans-serif;font-size:clamp(38px,6.2vw,64px);font-weight:900;line-height:1;letter-spacing:.005em;white-space:nowrap;-webkit-text-stroke:1px #fff;text-shadow:0 3px 0 #b0003b,0 6px 5px #71002688,0 0 5px #fff;transform:none}
.claim-ribbon:before,.claim-ribbon:after{top:48%;width:19%;height:56%;border-width:2px}
.claim-ribbon:before{right:92%}.claim-ribbon:after{left:92%}
.claim-kicker{font-family:"Segoe UI",Arial,sans-serif;font-weight:800;letter-spacing:0}
.claim-content h2{font-family:"Arial Black","Segoe UI",Arial,sans-serif;font-weight:900;letter-spacing:.005em;-webkit-text-stroke:0;text-shadow:0 2px 0 #fff09a,0 4px 0 #a91938,0 7px 12px #75002577}
.claim-rays{inset:-2% 8% 0;opacity:.72;background:repeating-conic-gradient(from -5deg at 50% 54%,transparent 0 10deg,#fffbd066 11deg 12.5deg,#ffd87538 13deg 15deg,transparent 16deg 28deg);clip-path:polygon(50% 8%,96% 100%,4% 100%);-webkit-mask-image:radial-gradient(circle at 50% 54%,transparent 0 8%,#000 25%,#000 58%,transparent 82%);mask-image:radial-gradient(circle at 50% 54%,transparent 0 8%,#000 25%,#000 58%,transparent 82%);filter:blur(1.6px) drop-shadow(0 0 7px #fff7c0)}
@media(max-width:650px){.claim-ribbon{width:91%;min-height:105px;padding:18px 21px 20px}.claim-ribbon span{font-size:clamp(29px,9vw,43px);-webkit-text-stroke:.5px #fff;white-space:nowrap}.claim-ribbon:before,.claim-ribbon:after{width:16%;height:51%}.claim-rays{inset:0 2%;filter:blur(1px) drop-shadow(0 0 5px #fff7c0)}}

/* Rebuilt three-dimensional ribbon with a high-contrast center panel. */
.claim-ribbon{isolation:isolate;width:82%;min-height:138px;padding:25px 38px 28px;border:4px solid #ffc35b;border-radius:48% 48% 14px 14px / 20% 20% 12px 12px;background:linear-gradient(180deg,#ff5b88 0,#f12666 18%,#e50c51 72%,#bd003e 100%);box-shadow:inset 0 4px 0 #ffadc1,inset 0 -7px 0 #a70037,0 0 24px #ffdb6c99,0 11px 0 #8c002f,0 21px 27px #64002199;filter:none}
.claim-ribbon:before,.claim-ribbon:after{z-index:-2;top:55%;width:15%;height:57%;border:3px solid #ff9f6a;background:linear-gradient(145deg,#f93d73,#c80443 72%);filter:drop-shadow(0 8px 5px #65002288);clip-path:polygon(0 0,100% 15%,78% 50%,100% 86%,0 100%,18% 50%)}
.claim-ribbon:before{right:94%}.claim-ribbon:after{left:94%;transform:scaleX(-1)}
.claim-ribbon span{position:relative;z-index:2;display:block;padding:12px 18px 15px;border-radius:50% / 22%;background:linear-gradient(180deg,#fa3672cc,#db064bcc);font-family:"Segoe UI Black","Segoe UI",Arial,sans-serif;font-weight:900;font-size:clamp(38px,6vw,62px);line-height:1.05;letter-spacing:.015em;-webkit-text-stroke:0;color:#fff;text-shadow:0 3px 0 #a60038,0 6px 5px #64002299,0 0 8px #fff;box-shadow:inset 0 2px 0 #ff829f88,0 5px 9px #85002c66;white-space:nowrap;transform:none}
@media(max-width:650px){.claim-ribbon{width:88%;min-height:102px;padding:17px 18px 19px;border-width:3px}.claim-ribbon span{padding:9px 10px 11px;font-size:clamp(28px,8.5vw,42px)}.claim-ribbon:before,.claim-ribbon:after{width:13%;height:52%}}

/* Upright, undistorted reward marker and wheel-level result alignment. */
.result{margin-top:238px}
.claim-pin{width:96px;height:118px;margin:0 auto -31px;border:0;border-radius:0;transform:none;clip-path:polygon(50% 100%,36% 78%,18% 59%,9% 40%,10% 25%,20% 10%,35% 2%,50% 0,65% 2%,80% 10%,90% 25%,91% 40%,82% 59%,64% 78%);background:linear-gradient(90deg,#f4aa00 0,#ffe46b 13%,#ffcd2d 25%,#ffcd2d 75%,#ffe46b 87%,#e99400 100%);filter:drop-shadow(0 0 9px #fff19a) drop-shadow(0 7px 4px #79002888);box-shadow:none}
.claim-pin:before{content:"";position:absolute;inset:7px;clip-path:inherit;background:linear-gradient(145deg,#ff4b78,#e5094b 65%,#bb003c)}
.claim-pin span{z-index:2;inset:22px 23px auto;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 38% 33%,#fff 0,#fff1f3 70%,#ffc7d2 100%);border:5px solid #a90039;box-shadow:0 3px 0 #760028}
@media(max-width:850px){.result{margin-top:58px}}
@media(max-width:650px){.claim-pin{width:75px;height:92px;margin-bottom:-24px}.claim-pin span{inset:17px 18px auto;width:39px;height:39px;border-width:4px}}

/* Premium presentation for the new upright SJC gold bars. */
.slice-label.s0 img{transform:scale(.9);filter:saturate(1.16) contrast(1.08) brightness(1.04) drop-shadow(0 0 5px #fff2a0) drop-shadow(0 7px 6px #80500070)}
.result-product img[src*="prize-gold-sjc"],.claim-product img[src*="prize-gold-sjc"]{filter:saturate(1.12) contrast(1.08) brightness(1.04) drop-shadow(0 0 10px #ffe77c) drop-shadow(0 18px 13px #6c350099)}
.result{background:linear-gradient(155deg,#fffdfc,#ffe6ea 72%,#ffd5df);border-color:#f0527b}
.confirm-button,.result>button{transition:transform .2s,filter .2s,box-shadow .2s}.result>button:hover{transform:translateY(-2px);filter:brightness(1.08);box-shadow:0 7px 9px #86002d77}

/* Single-column wheel screen; claim view opens automatically after the spin. */
.site{max-width:1040px;grid-template-columns:1fr;justify-items:center}
.game{width:min(760px,100%)}
.feature-bar{width:100%;grid-column:1}
.wheel{transition:transform 10s cubic-bezier(.08,.72,.06,1)}
@media(max-width:850px){.site{max-width:720px}}

/* Final visual polish shared by the wheel and claim screens. */
.game{position:relative;isolation:isolate}
.game:before,.game:after{content:"";position:absolute;z-index:-1;top:34%;width:138px;height:138px;background:url("generated/prize-gift-trim.png") center/contain no-repeat;filter:hue-rotate(-17deg) saturate(1.35) brightness(1.08) drop-shadow(0 12px 10px #64002188);opacity:.96}
.game:before{left:-108px;transform:rotate(-8deg)}.game:after{right:-108px;transform:rotate(8deg)}
.hero:after{content:"";position:absolute;z-index:-1;left:12%;right:12%;bottom:12px;height:70px;border-radius:50%;background:radial-gradient(ellipse,#ff376d66 0,transparent 72%);filter:blur(12px)}
.hero p{border:2px solid #ff8ca4;background:linear-gradient(180deg,#fff,#ffe8ec);box-shadow:0 6px 0 #c90a45,0 12px 21px #68002266;text-shadow:0 1px #fff}
.wheel-rim{box-shadow:0 0 0 6px #fff2a8,0 0 0 12px #b95d00,0 0 30px #ffd33488,0 24px 40px #5a001f99}
.wheel{box-shadow:inset 0 0 30px #b2083d33,inset 0 0 0 2px #fff}
.spin-center{box-shadow:inset 0 4px 7px #ff91a9,0 0 0 5px #a70f3b,0 10px 18px #650023aa}
.spin-main{border-width:3px;background:linear-gradient(180deg,#ffe15a,#ffc124 55%,#ffa500);box-shadow:inset 0 3px 0 #fff1a0,0 6px 0 #971337,0 13px 24px #5d001f99;transition:transform .2s,filter .2s}
.spin-main:not(:disabled):hover{transform:translateY(-2px) scale(1.015);filter:brightness(1.05)}
.feature-bar{border-width:3px;border-color:#ef5f84;background:linear-gradient(180deg,#df285fdc,#b90840e8);box-shadow:inset 0 2px 0 #ff82a0,inset 0 -4px 0 #930032,0 12px 26px #5b001f88}
.feature-bar article{position:relative}.feature-bar article:after{content:"";position:absolute;inset:8px;border-radius:18px;background:linear-gradient(110deg,#fff1 0,transparent 48%);pointer-events:none}
.claim-content{max-width:900px}
.claim-ribbon{transform:translateZ(0);backface-visibility:hidden}
.claim-kicker{display:inline-block;margin-top:34px;padding:7px 24px;border-radius:20px;background:#9f00385c;box-shadow:inset 0 1px 0 #ff84a1;color:#fff}
.claim-content h2{margin-top:7px}
.claim-product{margin-top:8px}
.claim-info{gap:22px}.claim-ticket,.claim-thanks{border-width:3px;box-shadow:inset 0 2px 0 #fff8,0 9px 16px #65002277}
.claim-confirm{background:linear-gradient(180deg,#ffe05b,#ffc228 54%,#ffa60b);box-shadow:inset 0 3px 0 #fff4a5,0 7px 0 #9d1535,0 15px 25px #58001f99;transition:transform .2s,filter .2s}.claim-confirm:hover{transform:translateY(-2px) scale(1.01);filter:brightness(1.06)}
button:focus-visible{outline:4px solid #fff;outline-offset:5px}
@media(max-width:1050px){.game:before,.game:after{width:105px;height:105px}.game:before{left:-55px}.game:after{right:-55px}}
@media(max-width:850px){.game:before,.game:after{display:none}.feature-bar{width:min(620px,100%)}}
@media(max-width:500px){.hero:after{left:4%;right:4%}.claim-kicker{margin-top:26px;padding:6px 18px}.claim-info{gap:13px}}

/* Con Cung brand lockup above the lucky-wheel headline. */
.brand-logo{position:relative;z-index:5;display:inline-flex;align-items:flex-end;justify-content:center;margin:0 auto 26px;padding:5px 28px 8px;color:#fff;font-family:"Arial Rounded MT Bold","Segoe UI Black","Segoe UI",Arial,sans-serif;font-size:clamp(29px,4.2vw,51px);font-weight:900;line-height:.9;letter-spacing:.045em;text-shadow:0 4px 0 #a80039,0 8px 15px #64002188}
.brand-logo:before{content:"";position:absolute;inset:-10px -28px;border:4px solid #f04468;border-radius:48% 52% 44% 56% / 52% 43% 57% 48%;transform:rotate(-4deg);opacity:.9;filter:drop-shadow(0 0 7px #ff819a)}
.brand-logo span{margin-left:5px;font-size:.38em;letter-spacing:0;transform:translateY(-1px)}
@media(max-width:500px){.brand-logo{margin-bottom:20px;padding-inline:18px;font-size:clamp(27px,9vw,39px)}.brand-logo:before{inset:-8px -15px;border-width:3px}}
