@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,600;9..144,700&display=swap";:root{--color-primary: #5b372d;--color-secondary: #d79a60;--color-background: #f8f1e7;--color-surface: #fffdfc;--color-text: #2b211d;font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text);background:var(--color-background);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html{min-width:320px;min-height:100%;background:var(--color-background)}body{margin:0;min-width:320px;min-height:100vh;min-height:100dvh;overflow-x:hidden}button{font:inherit}.campaign-shell{position:relative;isolation:isolate;display:flex;min-height:100vh;min-height:100dvh;flex-direction:column;align-items:center;overflow:hidden;padding:max(20px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom));background:radial-gradient(circle at 50% 40%,color-mix(in srgb,var(--color-secondary) 12%,transparent) 0 24%,transparent 49%),linear-gradient(155deg,color-mix(in srgb,var(--color-surface) 44%,transparent),transparent 55%)}.campaign-shell:before{position:absolute;z-index:-2;top:-28vw;right:-26vw;width:68vw;height:68vw;border:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:50%;content:""}.ambient{position:absolute;z-index:-1;border-radius:50%;pointer-events:none}.ambient--one{top:19%;left:-44px;width:92px;height:92px;border:18px solid color-mix(in srgb,var(--color-secondary) 12%,transparent)}.ambient--two{right:-24px;bottom:19%;width:60px;height:60px;background:color-mix(in srgb,var(--color-primary) 5%,transparent)}.brand{display:flex;align-items:center;align-self:stretch;justify-content:center;gap:10px;min-height:40px}.brand__mark{display:grid;width:36px;height:36px;place-items:center;border-radius:50%;color:var(--color-surface);background:var(--color-primary);box-shadow:inset -7px 0 color-mix(in srgb,var(--color-secondary) 75%,var(--color-primary));font-family:Fraunces,Georgia,serif;font-size:11px;font-weight:700;letter-spacing:-.04em}.brand__image{width:36px;height:36px;object-fit:contain}.brand__name{font-size:12px;font-weight:700;letter-spacing:.22em}.hero{width:min(100%,560px);margin-top:clamp(24px,6vh,58px);text-align:center}.eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;margin:0 0 9px;color:color-mix(in srgb,var(--color-primary) 82%,transparent);font-size:10px;font-weight:700;letter-spacing:.19em}.eyebrow span{width:5px;height:5px;border-radius:50%;background:var(--color-secondary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-secondary) 18%,transparent)}.hero h1{margin:0;color:var(--color-primary);font-family:Fraunces,Georgia,serif;font-size:clamp(44px,13vw,76px);line-height:.98;letter-spacing:-.045em}.hero__description{max-width:390px;margin:13px auto 0;color:color-mix(in srgb,var(--color-text) 72%,transparent);font-size:clamp(14px,3.8vw,17px);line-height:1.55}.game{display:flex;width:min(100%,580px);flex:1;flex-direction:column;align-items:center;justify-content:center;padding:18px 0 14px}.wheel-stage{--wheel-size: min(76vw, 350px);position:relative;width:calc(var(--wheel-size) + 22px);height:calc(var(--wheel-size) + 28px);padding-top:16px}.wheel-frame{position:relative;display:grid;width:calc(var(--wheel-size) + 20px);height:calc(var(--wheel-size) + 20px);place-items:center;border:1px solid color-mix(in srgb,var(--color-primary) 22%,transparent);border-radius:50%;background:var(--color-surface);box-shadow:0 22px 46px color-mix(in srgb,var(--color-primary) 15%,transparent),inset 0 0 0 6px color-mix(in srgb,var(--color-secondary) 13%,transparent)}.wheel{position:relative;width:var(--wheel-size);height:var(--wheel-size);overflow:hidden;border:5px solid var(--color-surface);border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff57;transition-property:transform;transition-timing-function:cubic-bezier(.12,.55,.12,1);will-change:transform}.wheel:after{position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle,transparent 0 46%,rgba(255,255,255,.1) 47% 49%,transparent 50%);content:"";pointer-events:none}.wheel__label{position:absolute;top:50%;left:50%;width:26%;color:var(--color-surface);filter:drop-shadow(0 1px 0 rgba(0,0,0,.08));font-size:clamp(8px,2.4vw,12px);font-weight:700;line-height:1.05;text-align:center;text-transform:uppercase;transform:translate(-50%,-50%) rotate(var(--label-angle)) translateY(calc(var(--wheel-size) * -.36)) rotate(90deg);transform-origin:center}.wheel-hub{position:absolute;width:20%;height:20%;border:5px solid var(--color-surface);border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.35),transparent 24%),var(--color-primary);box-shadow:0 5px 12px #22130e40}.wheel-hub:after{position:absolute;inset:35%;border-radius:50%;background:var(--color-secondary);content:""}.pointer{position:absolute;z-index:4;top:0;left:50%;width:48px;height:58px;transform:translate(-50%);filter:drop-shadow(0 5px 5px rgba(43,24,17,.25))}.pointer:before{position:absolute;top:0;left:50%;width:30px;height:30px;border:5px solid var(--color-surface);border-radius:50%;background:var(--color-primary);content:"";transform:translate(-50%)}.pointer span{position:absolute;top:22px;left:50%;width:0;height:0;border-top:30px solid var(--color-primary);border-right:15px solid transparent;border-left:15px solid transparent;transform:translate(-50%)}.spin-button,.claim-button{border:0;color:#fff;background:var(--color-primary);cursor:pointer;box-shadow:0 10px 22px color-mix(in srgb,var(--color-primary) 27%,transparent);transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.spin-button{display:flex;width:min(100%,260px);min-height:60px;align-items:center;justify-content:center;gap:12px;margin-top:23px;border-radius:999px}.spin-button span{font-family:Fraunces,Georgia,serif;font-size:21px;font-weight:700;letter-spacing:.12em}.spin-button small{padding-left:12px;border-left:1px solid rgba(255,255,255,.28);color:#ffffffb3;font-size:10px;letter-spacing:.04em}.spin-button:hover:not(:disabled),.claim-button:hover:not(:disabled){box-shadow:0 14px 28px color-mix(in srgb,var(--color-primary) 34%,transparent);transform:translateY(-2px)}.spin-button:active:not(:disabled),.claim-button:active:not(:disabled){transform:translateY(1px) scale(.99)}.spin-button:focus-visible,.claim-button:focus-visible,.dialog-close:focus-visible{outline:3px solid color-mix(in srgb,var(--color-secondary) 65%,white);outline-offset:3px}.spin-button:disabled,.claim-button:disabled{cursor:wait;opacity:.68}.game__note{margin:13px 0 0;color:color-mix(in srgb,var(--color-text) 52%,transparent);font-family:Fraunces,Georgia,serif;font-size:12px;font-style:italic}.status{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}footer{color:color-mix(in srgb,var(--color-text) 44%,transparent);font-size:8px;font-weight:600;letter-spacing:.18em}.reward-dialog{width:min(calc(100% - 32px),410px);overflow:visible;padding:34px 26px 24px;border:0;border-radius:28px;color:var(--color-text);background:var(--color-surface);box-shadow:0 30px 100px #23140e47;text-align:center}.reward-dialog[open]{animation:dialog-in .38s cubic-bezier(.2,.8,.2,1) both}.reward-dialog::backdrop{background:#2619148a;backdrop-filter:blur(5px)}.reward-dialog__moon{display:grid;width:58px;height:58px;margin:-62px auto 18px;place-items:center;border:5px solid var(--color-surface);border-radius:50%;color:var(--color-surface);background:var(--color-primary);box-shadow:0 8px 18px #2b191333;font-size:22px}.reward-dialog__eyebrow{margin:0 0 8px;color:var(--color-secondary);font-size:9px;font-weight:700;letter-spacing:.2em}.reward-dialog h2{margin:0;color:var(--color-primary);font-family:Fraunces,Georgia,serif;font-size:clamp(28px,8vw,36px);letter-spacing:-.035em}.reward-dialog__lead{margin:15px 0 2px;color:color-mix(in srgb,var(--color-text) 62%,transparent);font-size:14px}.reward-dialog__result{margin:0;color:var(--color-primary);font-size:clamp(25px,8vw,34px);font-weight:800;letter-spacing:-.025em}.coupon{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:22px 0 18px;padding:12px 15px;border:1px dashed color-mix(in srgb,var(--color-primary) 35%,transparent);border-radius:12px;background:color-mix(in srgb,var(--color-background) 72%,white)}.coupon span{color:color-mix(in srgb,var(--color-text) 52%,transparent);font-size:9px;font-weight:700;letter-spacing:.12em}.coupon strong{color:var(--color-primary);font-size:14px;letter-spacing:.08em}.claim-button{width:100%;min-height:52px;border-radius:999px;font-weight:700}.dialog-close{margin-top:14px;padding:5px 10px;border:0;color:color-mix(in srgb,var(--color-text) 56%,transparent);background:transparent;cursor:pointer;font-size:12px;text-decoration:underline;text-underline-offset:3px}.confetti{position:fixed;z-index:10000;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-16px;left:var(--x);width:7px;height:13px;border-radius:2px;background:var(--color-secondary);animation:confetti-fall 1.9s var(--delay) cubic-bezier(.2,.55,.38,.94) both}.confetti i:nth-child(3n){border-radius:50%;background:var(--color-primary)}.confetti i:nth-child(4n){width:5px;background:#ead7a0}.configuration-error{display:grid;min-height:100vh;min-height:100dvh;padding:30px;place-content:center;background:#f8f1e7;text-align:center}.configuration-error p{color:#a14d36;font-weight:700;text-transform:uppercase}.configuration-error h1{max-width:560px;font-family:Georgia,serif}.configuration-error code{max-width:680px;padding:14px;border-radius:10px;background:#fff;white-space:normal}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-20px,0) rotate(0)}10%{opacity:1}to{opacity:0;transform:translate3d(var(--drift),105vh,0) rotate(680deg)}}@media (min-width: 768px){.campaign-shell{padding-inline:34px}.brand{justify-content:flex-start;width:min(100%,1180px)}.hero{margin-top:18px}.game{padding-top:14px}}@media (max-width: 359px){.campaign-shell{padding-inline:12px}.hero{margin-top:18px}.hero h1{font-size:41px}.wheel-stage{--wheel-size: 74vw}.spin-button{min-height:54px;margin-top:17px}.game__note{margin-top:9px}}@media (max-height: 700px) and (orientation: portrait){.hero{margin-top:12px}.hero h1{font-size:clamp(39px,11vw,52px)}.hero__description{margin-top:8px}.game{padding-block:8px}.wheel-stage{--wheel-size: min(60vh, 72vw, 300px)}.spin-button{min-height:52px;margin-top:13px}.game__note{display:none}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.wheel{transition-duration:.7s!important}}
