.reward-page{min-block-size:calc(100dvh - var(--public-announcement-height));background:radial-gradient(circle at 18% 15%, var(--color-secondary-soft), transparent 22rem), linear-gradient(155deg, var(--color-primary-subtle), var(--color-background) 55%, var(--color-secondary-subtle));padding-block:clamp(var(--space-10), 7vw, var(--space-20));overflow:hidden}.reward-page__container{justify-items:center;display:grid}.reward-intro{text-align:center;max-inline-size:46rem}.reward-eyebrow{color:var(--color-secondary-strong);font-weight:800}.reward-intro h1{color:var(--color-primary-strong);font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.3}.reward-intro>p:last-child{color:var(--color-text-secondary);font-size:var(--text-body-large)}.reward-wheel-experience{text-align:center;inline-size:min(100%,48rem)}.reward-stage{isolation:isolate;place-items:center;min-block-size:clamp(21rem,58vw,39rem);display:grid;position:relative}.reward-wheel{--reward-size:min(90vw, 34rem);inline-size:var(--reward-size);block-size:var(--reward-size);filter:drop-shadow(0 1.35rem 1.75rem #0f2a4533);transform:rotate(var(--reward-rotation));transition:transform 4.2s cubic-bezier(.12,.58,.08,1)}.reward-wheel__disc{border:clamp(.34rem, 1.2vw, .52rem) solid var(--color-primary-strong);background:var(--color-surface);border-radius:50%;block-size:100%;inline-size:100%;position:relative;overflow:hidden;box-shadow:inset 0 0 0 .16rem #ffffffc7,inset 0 0 1.4rem #0f2a451f,0 0 0 .12rem #ffffffbf}.reward-wheel__disc:after{z-index:1;border-radius:inherit;content:"";pointer-events:none;background:radial-gradient(circle at 38% 28%,#ffffff2e,#0000 34%),radial-gradient(circle,#0000 58%,#0f2a4517);position:absolute;inset:0}.reward-wheel__segments{block-size:100%;inline-size:100%;position:absolute;inset:0}.reward-wheel__slice{stroke:color-mix(in srgb, var(--color-primary-strong) 35%, transparent);stroke-width:.42px;stroke-linejoin:round}.reward-wheel__slice[data-tone=warm]{fill:color-mix(in srgb, var(--color-secondary) 88%, white)}.reward-wheel__slice[data-tone=cream]{fill:color-mix(in srgb, var(--color-secondary-subtle) 78%, white)}.reward-wheel__slice[data-tone=soft]{fill:color-mix(in srgb, var(--color-primary-subtle) 82%, white)}.reward-wheel__label{z-index:2;inset-block-start:var(--reward-label-y);left:var(--reward-label-x);inline-size:var(--reward-label-width);max-block-size:var(--reward-label-height);color:var(--color-primary-strong);font-size:calc(clamp(.68rem, 2.4vw, 1rem) * var(--reward-label-font-scale));pointer-events:none;text-align:center;text-shadow:0 .06em #ffffff52;transform:translate(-50%, -50%) rotate(var(--reward-label-rotation));transform-origin:50%;place-items:center;gap:.12em;font-weight:800;line-height:1.14;display:grid;position:absolute}.reward-wheel__label-icon{font-size:1.12em;line-height:1}.reward-wheel__label-text{-webkit-line-clamp:var(--reward-label-lines);overflow-wrap:break-word;text-wrap:balance;white-space:pre-line;-webkit-box-orient:vertical;inline-size:100%;display:-webkit-box;overflow:hidden}.reward-wheel__hub{z-index:3;aspect-ratio:1;border:clamp(.18rem, .7vw, .3rem) solid var(--color-surface);background:radial-gradient(circle at 38% 30%, var(--color-primary-hover), var(--color-primary) 58%, var(--color-primary-strong));inline-size:17.5%;color:var(--color-primary-foreground);letter-spacing:.04em;border-radius:50%;place-items:center;font-size:clamp(.64rem,2.4vw,1rem);font-weight:800;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);box-shadow:0 .35rem .8rem #0f2a453d,inset 0 0 0 .08rem #ffffff2e}.reward-pointer{z-index:4;filter:drop-shadow(0 .24rem .24rem #0f2a4538);block-size:clamp(2.7rem,8vw,3.4rem);inline-size:clamp(2rem,7vw,2.8rem);position:absolute;inset-block-start:3.2%;inset-inline-start:50%;transform:translate(-50%)}.reward-pointer:before{aspect-ratio:1;border:.16rem solid var(--color-surface);background:var(--color-primary-strong);content:"";border-radius:50%;inline-size:62%;position:absolute;inset:0 auto auto 50%;transform:translate(-50%)}.reward-pointer:after{background:linear-gradient(135deg, var(--color-primary-hover), var(--color-primary-strong));clip-path:polygon(0 0,100% 0,50% 100%);content:"";block-size:78%;inline-size:100%;position:absolute;inset:18% auto auto 50%;transform:translate(-50%)}.reward-decoration{z-index:1;aspect-ratio:1;background:var(--color-surface);inline-size:4.5rem;box-shadow:var(--shadow-raised);border-radius:1.4rem;place-items:center;font-size:2rem;display:grid;position:absolute;transform:rotate(-8deg)}.reward-decoration--gift{inset-block-start:10%;inset-inline-start:0}.reward-decoration--ticket{color:var(--color-primary);font-weight:900;inset-block-end:16%;inset-inline-end:0;transform:rotate(9deg)}.reward-decoration--star{background:var(--color-secondary);color:var(--color-primary-strong);inset-block-start:22%;inset-inline-end:3%}.reward-controls{justify-items:center;gap:var(--space-3);display:grid}.reward-spin-button{min-block-size:3.5rem;min-inline-size:min(100%,18rem);font-size:var(--text-body-large);box-shadow:var(--shadow-raised)}.reward-eligibility,.reward-error{margin:0}.reward-error{color:var(--color-error-foreground)}.reward-result,.reward-unavailable,.reward-rules{inline-size:min(100%,42rem);border:var(--border-thin) solid var(--color-border);border-radius:var(--radius-dialog);background:color-mix(in srgb, var(--color-surface) 94%, transparent);padding:clamp(var(--space-5), 5vw, var(--space-8));box-shadow:var(--shadow-card);margin-block-start:var(--space-8)}.reward-result.is-winning{border-color:var(--color-secondary)}.reward-result__eyebrow{color:var(--color-secondary-strong);font-weight:800}.reward-result h2,.reward-rules h2{color:var(--color-primary-strong)}.reward-result>strong{margin-block:var(--space-3);font-size:var(--text-h3);color:var(--color-primary);display:block}.reward-rules{text-align:start}.reward-rules ul{margin-block-end:0;padding-inline-start:var(--space-6)}@media (max-width:35.99rem){.reward-page{padding-block-start:var(--space-8)}.reward-stage{min-block-size:21rem}.reward-decoration{display:none}.reward-pointer{inset-block-start:1.5%}.reward-wheel__label{font-size:max(.56rem, calc(.69rem * var(--reward-label-font-scale)))}}@media (prefers-reduced-motion:reduce){.reward-wheel{transition-duration:.01ms}}
