:root{color-scheme:dark;--background:#100b1b;--gold:#f5cd85;--accent:#e24567;--cream:#fff6e7;--muted:#b9adbf;--modal-fit:1}
*{box-sizing:border-box}body{margin:0;min-width:280px;background:var(--background);color:var(--cream);font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible{outline:3px solid #fff4c9;outline-offset:5px}button:disabled{cursor:wait}body:has(dialog[open]){overflow:hidden}
.scene{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 28% 59%,#7b173e34,transparent 44%),radial-gradient(ellipse at 80% 35%,#40324b33,transparent 48%),linear-gradient(150deg,#1c1024,#100b1b 60%,#160e1a)}.scene:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 12% 30%,#fff1c58c 0 1px,transparent 2px),radial-gradient(circle at 81% 16%,#e9c78c88 0 1px,transparent 2px),radial-gradient(circle at 74% 79%,#ffc68355 0 1px,transparent 2px),radial-gradient(circle at 18% 84%,#ffe7ae55 0 1px,transparent 2px);background-size:470px 390px,630px 510px,570px 330px,720px 570px;opacity:.38}
.page{max-width:1160px;margin:auto;padding:32px 36px 24px}.intro{text-align:center;margin:0 auto 23px;max-width:900px}.eyebrow{color:var(--gold);font-size:11px;line-height:1.7;letter-spacing:2.5px;font-weight:700;margin:0 0 14px}.eyebrow #personalName{color:#fff3cb;background:#c99a5826;padding:5px 8px;border-radius:5px;margin-right:9px;letter-spacing:1px}.eyebrow #personalName:empty{display:none}.intro h1{font-size:clamp(35px,4.6vw,60px);line-height:1.03;letter-spacing:-2.5px;margin:0 0 17px;font-weight:800;overflow-wrap:anywhere}.headline-accent{color:var(--gold)}.intro-copy{margin:0;font-size:15px;line-height:1.6;color:#cbbecf}
.experience{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:center;gap:45px;max-width:1030px;margin:auto}.wheel-stage{position:relative;isolation:isolate;padding:17px 6px 0;min-width:0}.wheel-halo{position:absolute;inset:5% 0 0;border-radius:50%;z-index:-1;background:radial-gradient(ellipse,#bc3b4b35,transparent 67%);filter:blur(14px);animation:halo-breathe 4s ease-in-out infinite}.wheel-assembly{position:relative;width:100%;aspect-ratio:1;filter:drop-shadow(0 20px 27px #0008)}.wheel-rim{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 5deg,#7d451e,#ffedbb 12%,#a26933 22%,#ffe7ad 37%,#8e542a 50%,#fff0bd 65%,#ba8245 79%,#ffecc1 91%,#7d451e);border:1px solid #fce8b4;box-shadow:0 0 0 5px #2d1721,0 0 0 6px #7c4c2d,0 0 0 9px #f6c97b0e,inset 0 0 0 7px #78492980,inset 0 0 0 8px #ffe2ac}
.wheel-rim:after{content:"";position:absolute;inset:5.1%;border:4px solid #281420;border-radius:50%;box-shadow:0 0 0 1px #e6b573,inset 0 0 12px #000b;z-index:1;pointer-events:none}.wheel-disc{position:absolute;inset:6.3%;border-radius:50%;overflow:hidden;will-change:transform;box-shadow:inset 0 0 35px #0008}.wheel-disc canvas{display:block;width:100%;height:100%;border-radius:50%}.wheel-bulbs{position:absolute;inset:0;z-index:2;pointer-events:none}.wheel-bulbs i{position:absolute;left:50%;top:50%;width:7px;height:7px;border-radius:50%;background:#fff2bc;box-shadow:0 0 6px #fff3ba,0 0 12px #fcbe45;transform:translate(-50%,-50%) rotate(var(--angle)) translateY(var(--radius));animation:bulb-glow 1.5s ease-in-out infinite;animation-delay:var(--delay)}.is-spinning .wheel-bulbs i{animation-duration:.5s}.wheel-pointer{position:absolute;left:50%;top:-11px;width:49px;height:64px;transform:translateX(-50%);transform-origin:50% 8%;z-index:5;filter:drop-shadow(0 4px 4px #0008);pointer-events:none}.wheel-pointer:before{content:"";position:absolute;inset:0;clip-path:polygon(0 0,100% 0,91% 36%,50% 100%,9% 36%);background:linear-gradient(100deg,#b97836,#fff0bd 48%,#d09a4e)}.wheel-pointer span{position:absolute;inset:6px 8px 14px;clip-path:polygon(0 0,100% 0,84% 34%,50% 100%,16% 34%);background:linear-gradient(135deg,#ffe9af,#b97736)}
.wheel-hub{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);z-index:4;width:24%;aspect-ratio:1;border-radius:50%;border:3px solid #f9dda0;background:radial-gradient(ellipse at 36% 24%,#fff2c2,#e7b35f 41%,#ac662f 78%,#703d22);box-shadow:0 0 0 5px #32151d,0 0 0 7px #c18b4b,0 6px 18px #0008,inset 0 0 0 4px #fce2a345;color:#30131b;font-size:clamp(18px,2vw,27px);letter-spacing:-1px;font-weight:900;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:0}.wheel-hub:hover:not(:disabled){filter:brightness(1.12)}.hub-arrow{font-size:26px;font-weight:400;line-height:1}.wheel-hub:disabled{filter:saturate(.75)}.wheel-plinth{height:21px;position:relative;width:60%;margin:-1px auto 0;background:linear-gradient(#46222e,#1b0b15);border-radius:0 0 50% 50%;box-shadow:0 15px 19px #0007;z-index:-1}.wheel-plinth span{display:block;height:5px;border-radius:50%;background:linear-gradient(90deg,transparent,#e4b56f,transparent)}
.console{padding:20px 0 8px;min-width:0}.status-badge{display:inline-block;padding:7px 10px;color:var(--gold);border:1px solid #a4764c6b;background:#e2a3630a;font-size:10px;font-weight:700;line-height:1.3;letter-spacing:1.6px;border-radius:4px}.status-area h2{font-size:35px;line-height:1.1;letter-spacing:-1px;font-weight:800;overflow-wrap:anywhere;margin:17px 0 12px}.status-area p{font-size:15px;line-height:1.65;color:var(--muted);margin:0 0 23px;min-height:49px;overflow-wrap:anywhere}.spin-button{display:block;width:100%;min-height:59px;padding:17px 16px;border:1px solid #ffdf9f;border-radius:10px;background:linear-gradient(115deg,#ffe5a9,#efbb6a);color:#35141d;font-weight:800;font-size:14px;line-height:1.4;letter-spacing:.3px;box-shadow:0 4px 0 #8c4d28,0 10px 27px #e6952b17;cursor:pointer;overflow-wrap:anywhere}.spin-button:hover:not(:disabled){background:#ffe4ae;box-shadow:0 4px 0 #8c4d28,0 10px 30px #e6952b2c}.spin-button:active:not(:disabled){transform:translateY(2px);box-shadow:0 2px 0 #8c4d28}.spin-button:disabled{background:#68503c;border-color:#9c7754;color:#e5ceaf;box-shadow:0 4px 0 #342019}.reward-ledger{margin-top:30px;padding-top:21px;border-top:1px solid #d7aa7b29}.ledger-heading{font-size:10px;letter-spacing:1.8px;color:#9e8b9e;margin:0 0 13px;font-weight:700}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-tile{position:relative;min-width:0;min-height:114px;padding:15px 14px;background:#ffffff03;border:1px solid #a783672d;border-radius:9px;transition:border-color .3s,background .3s}.tile-label{display:block;font-size:9px;line-height:1.4;letter-spacing:1.1px;color:#a698a9;font-weight:700;overflow-wrap:anywhere;padding-right:10px}.reward-tile strong{display:block;margin:8px 0 5px;color:#6f5c70;font-size:33px;line-height:1.1;letter-spacing:-1px}.tile-note{display:block;font-size:10px;line-height:1.5;color:#8f7f92;overflow-wrap:anywhere}.tile-check{position:absolute;top:12px;right:10px;font-size:12px;color:var(--gold);opacity:0}.reward-tile.is-revealed{background:linear-gradient(120deg,#ac693b22,#b53c5920);border-color:#dfaa6b80}.is-revealed strong{color:var(--gold)}.is-revealed .tile-label{color:#f8e3c4}.is-revealed .tile-note{color:#c8ab86;font-size:8px;letter-spacing:1px}.is-revealed .tile-check{opacity:1}.page>footer{max-width:850px;margin:29px auto 0;text-align:center;color:#938596;font-size:10px;line-height:1.7}.noscript-message{text-align:center;font-size:14px;color:var(--gold)}
dialog{position:fixed;top:50%;left:50%;inset-inline-end:auto;bottom:auto;transform:translate(-50%,-50%) scale(var(--modal-fit));margin:0;width:min(580px,calc(100% - 28px));max-width:none;max-height:none;overflow:visible;border:1px solid #dcaf6a;border-radius:16px;padding:32px;background:linear-gradient(145deg,#311623,#17101f 55%);color:var(--cream);box-shadow:0 0 0 5px #f9c87813,0 30px 100px #000b}dialog::backdrop{background:#090510e6;backdrop-filter:blur(8px)}.result-head{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:10px;line-height:1.5;letter-spacing:1.8px;font-weight:700}.result-seal{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border:3px double #e3b773;border-radius:50%;font-size:17px;letter-spacing:0;background:#c88d4520}.result-head+h2{font-size:43px;line-height:1.06;letter-spacing:-1.6px;margin:22px 0 16px;white-space:pre-line;overflow-wrap:anywhere}.result-copy{font-size:14px;line-height:1.65;color:#bfb0c3;margin:0 0 23px}.result-offer{display:grid;grid-template-columns:1fr;position:relative;margin:0 0 25px;border-left:3px solid var(--gold);background:linear-gradient(90deg,#efbc6c19,transparent);padding:5px 0 5px 21px}.offer-line{display:flex;align-items:center;gap:19px;min-width:0}.offer-line strong{font-size:47px;line-height:1.15;letter-spacing:-1.5px;font-weight:800;color:var(--gold);flex:0 0 126px;overflow-wrap:anywhere}.offer-line>span{font-size:11px;line-height:1.5;font-weight:700;letter-spacing:1.2px;overflow-wrap:anywhere;min-width:0}.offer-plus{color:#ae8c72;font-size:17px;line-height:1;margin:9px 0 9px 12px}.claim-button{display:flex;justify-content:center;align-items:center;gap:10px;width:100%;min-height:56px;padding:17px 16px;border:1px solid #ffe2a3;border-radius:8px;background:linear-gradient(115deg,#ffe5a9,#edb56a);color:#35141d;text-align:center;text-decoration:none;font-size:13px;line-height:1.45;font-weight:800;overflow-wrap:anywhere;box-shadow:0 4px 0 #86532c}.claim-button:hover{filter:brightness(1.08)}.claim-button[aria-disabled=true]{cursor:default}.result-note{font-size:10px;line-height:1.7;text-align:center;color:#a996ad;margin:19px 0 0}.celebration{position:fixed;inset:0;z-index:40;pointer-events:none;overflow:hidden}.celebration i{position:absolute;left:var(--left);top:30%;width:6px;height:11px;background:var(--colour);border-radius:1px;animation:confetti-fall 1.5s ease-out forwards;animation-delay:var(--delay)}
@keyframes bulb-glow{50%{opacity:.45;box-shadow:0 0 4px #fcbe45}}@keyframes halo-breathe{50%{opacity:.55;transform:scale(.97)}}@keyframes confetti-fall{from{transform:translate(0,-20px) rotate(0);opacity:0}15%{opacity:1}to{transform:translate(var(--drift),55vh) rotate(var(--turn));opacity:0}}
@media(min-width:1600px){.page{padding-top:44px}.intro{margin-bottom:35px}.experience{max-width:1080px;gap:60px}.page>footer{margin-top:36px}}
@media(max-width:850px) and (min-width:641px){.page{padding:27px 24px}.experience{gap:25px}.status-area h2{font-size:28px}.wheel-pointer{width:39px;height:51px}.reward-tile{padding:12px 9px}.status-area p{font-size:13px}.spin-button{font-size:12px}.tile-label{font-size:8px}}
@media(max-width:640px){.page{padding:22px 20px 20px}.intro{margin-bottom:9px}.eyebrow{font-size:9px;letter-spacing:1.6px;margin-bottom:11px}.intro h1{font-size:35px;line-height:1.05;letter-spacing:-1.4px;margin-bottom:12px}.intro-copy{font-size:12px;line-height:1.5;max-width:300px;margin:auto}.experience{display:block;max-width:390px}.wheel-stage{padding:21px 14px 0;max-width:365px;margin:0 auto}.wheel-pointer{width:34px;height:45px;top:-7px}.wheel-rim{box-shadow:0 0 0 3px #2d1721,0 0 0 4px #7c4c2d,0 0 0 7px #f6c97b0e,inset 0 0 0 4px #78492980}.wheel-rim:after{border-width:3px}.wheel-hub{border-width:2px;font-size:19px;box-shadow:0 0 0 3px #32151d,0 0 0 5px #c18b4b,0 6px 18px #0008,inset 0 0 0 2px #fce2a345}.hub-arrow{font-size:20px}.wheel-bulbs i{width:5px;height:5px}.wheel-plinth{height:14px}.console{padding:16px 0 0;text-align:center}.status-badge{font-size:8px;padding:5px 8px;letter-spacing:1.3px}.status-area h2{font-size:24px;line-height:1.15;letter-spacing:-.7px;margin:11px 0 7px}.status-area p{font-size:12px;line-height:1.6;min-height:0;margin:0 0 16px}.spin-button{min-height:53px;padding:15px 12px;font-size:12px}.reward-ledger{margin-top:22px;padding-top:16px;text-align:left}.ledger-heading{font-size:8px;margin-bottom:10px}.reward-grid{gap:10px}.reward-tile{min-height:94px;padding:11px 12px}.tile-label{font-size:8px}.reward-tile strong{font-size:29px;margin:6px 0 3px}.tile-note{font-size:9px}.page>footer{font-size:9px;line-height:1.7;margin-top:21px}.result-head+h2{font-size:34px;line-height:1.05;margin-top:18px}.result-copy{font-size:13px;margin-bottom:19px}dialog{padding:24px}.result-head{font-size:8px;letter-spacing:1.1px}.result-seal{width:30px;height:30px;flex-basis:30px}.offer-line strong{font-size:39px;flex-basis:105px}.offer-line{gap:12px}.offer-line>span{font-size:9px;letter-spacing:.7px}.result-offer{padding-left:15px;margin-bottom:22px}.result-note{font-size:9px}.claim-button{font-size:12px}}
@media(max-width:350px){.page{padding:18px 14px}.intro h1{font-size:30px}.eyebrow{font-size:8px}.wheel-stage{padding-left:14px;padding-right:14px}.wheel-hub{font-size:17px}.hub-arrow{font-size:18px}.status-area h2{font-size:22px}.reward-tile{padding:10px}.tile-label{letter-spacing:.6px}.result-head+h2{font-size:30px}.offer-line strong{font-size:34px;flex-basis:91px}.offer-line>span{font-size:8px}.offer-line{gap:9px}dialog{padding:21px}.claim-button{font-size:11px}}
/* The reference palette applies only to the replaceable lunar backdrop. */
.scene-image{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;pointer-events:none}
.intro{text-shadow:0 2px 16px #0006}
.reward-tile{background:#160f22ed}
.reward-tile.is-revealed{background:linear-gradient(120deg,#ac693b22,#b53c5920),#160f22ed}
/* Avoid filtering an entire animated wheel and repainting 32 glowing shadows per frame. */
.wheel-assembly{filter:none;transform:translateZ(0)}
.wheel-disc{backface-visibility:hidden}
@keyframes bulb-glow{0%,100%{opacity:1}50%{opacity:.45}}
.effects-canvas{position:fixed;inset:0;margin:0;padding:0;border:0;outline:0;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;background:transparent;pointer-events:none;overflow:hidden;contain:strict;z-index:100}
.effects-canvas:popover-open{display:block}
@media(max-width:640px){.scene-image{background-position:90% center}}
/* Numeric offer values remain indivisible, including the percentage sign. */
.offer-line strong{white-space:nowrap;overflow-wrap:normal}
@media(max-width:640px){.offer-line strong{flex-basis:128px}}
@media(max-width:350px){.offer-line strong{flex-basis:112px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
