:root{--color-bg-1: #f4eefb;--color-bg-2: #efe8f7;--color-bg-3: #f6eef4;--color-ink: #3a2f4a;--color-ink-dim: rgba(58, 47, 74, .55);--color-ink-faint: rgba(58, 47, 74, .4);--color-accent: #8f74d6;--color-accent-deep: #6a4fc4;--color-gold: #c79b4a;--color-gold-light: #e4c878;--color-cream: #fbf6ee;--color-card: rgba(255, 255, 255, .82);--font-display: "Cormorant Garamond", "Georgia", serif;--font-body: "Manrope", "Helvetica Neue", sans-serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:linear-gradient(180deg,var(--color-bg-1) 0%,var(--color-bg-2) 42%,var(--color-bg-3) 100%);color:var(--color-ink);font-family:var(--font-body);min-height:100vh;min-height:100dvh}#root{min-height:100vh;min-height:100dvh}.screen{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top,0px) + 28px) 20px calc(env(safe-area-inset-bottom,0px) + 28px);text-align:center;overflow:hidden}.petal{position:absolute;width:28px;height:16px;background:linear-gradient(135deg,#f8cbd8,#f2a6bf);border-radius:62% 38% 55% 45%/58% 46% 60% 40%;opacity:.5;pointer-events:none;animation:floatPetal 10s ease-in-out infinite}.petal-1{left:20px;top:110px;--r: -18deg;animation-duration:9s}.petal-2{right:24px;top:180px;width:30px;height:17px;--r: 24deg;animation-duration:11s}.petal-3{left:16px;bottom:130px;--r: 12deg;animation-duration:10s}.petal-4{right:20px;bottom:100px;width:22px;height:13px;opacity:.4;--r: -26deg;animation-duration:12s}@keyframes floatPetal{0%,to{transform:translateY(0) rotate(var(--r))}50%{transform:translateY(-10px) rotate(calc(var(--r) + 8deg))}}.brand{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:11px;margin-bottom:8px}.brand-badge{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fffdfb;box-shadow:0 8px 22px #966ea029,inset 0 0 0 1.5px #c9a24b8c,inset 0 0 0 5px #fffdfb,inset 0 0 0 6.5px #c9a24b52;font-family:var(--font-display);font-weight:700;font-size:26px;letter-spacing:1px;background-image:linear-gradient(180deg,#d8b25a,#a87e2a);background-clip:text;-webkit-background-clip:text;color:transparent}.brand-word{display:flex;align-items:center;gap:10px;color:#a87e2ae6}.brand-line{width:22px;height:1px;background:linear-gradient(90deg,transparent,currentColor)}.brand-word .brand-line:last-of-type{background:linear-gradient(90deg,currentColor,transparent)}.brand-dot{width:4px;height:4px;transform:rotate(45deg);background:currentColor}.brand-name{font-family:var(--font-display);font-weight:700;font-size:17px;letter-spacing:8px;text-indent:8px;color:#7a6531}.headline{position:relative;z-index:1;font-family:var(--font-display);font-weight:700;font-size:clamp(32px,9vw,42px);line-height:1.1;margin:6px 0 0;color:var(--color-ink)}.headline em{font-style:italic;background-image:linear-gradient(180deg,var(--color-gold),#a2762c);background-clip:text;-webkit-background-clip:text;color:transparent}.subtitle{position:relative;z-index:1;max-width:270px;margin:10px 0 0;font-size:13.5px;line-height:1.6;color:var(--color-ink-dim)}.wheel{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;width:100%;margin-top:20px}.wheel-pointer{animation:pinBob 2.6s ease-in-out infinite;filter:drop-shadow(0 5px 8px rgba(120,90,170,.4))}@keyframes pinBob{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}.status-text{position:relative;z-index:1;font-family:var(--font-body);font-size:15px;color:var(--color-ink-dim);margin-top:40px}.status-text.is-error{color:var(--color-ink)}.spin-button{position:relative;z-index:1;margin-top:30px;width:100%;max-width:320px;font-family:var(--font-body);font-weight:800;font-size:14px;letter-spacing:.18em;text-transform:uppercase;color:#fff;background:linear-gradient(135deg,#b79fe8,#9a7ee0 55%,#8467d8);border:none;border-radius:999px;padding:18px 32px;cursor:pointer;box-shadow:0 16px 30px -8px #8c64c873,inset 0 2px 3px #ffffff80,inset 0 -4px 8px #6442aa59;transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}.spin-button:after{content:"✦";margin-left:8px;opacity:.95}.spin-button:active{transform:translateY(1px) scale(.98)}.spin-button:disabled{cursor:default;filter:grayscale(.35) brightness(1.05);box-shadow:none;opacity:.75}.spin-button:not(:disabled):hover{filter:brightness(1.05)}.result-card{position:relative;z-index:1;margin-top:26px;width:min(320px,100%);background:var(--color-card);border:1px solid rgba(199,155,74,.28);border-radius:24px;padding:24px 22px;box-shadow:0 22px 44px -20px #7e60aa59;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:reveal .55s cubic-bezier(.18,.7,.2,1) both}@keyframes reveal{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.result-confetti{font-size:36px;margin:0 0 4px;animation:pop .5s cubic-bezier(.2,.8,.2,1) .1s both}@keyframes pop{0%{opacity:0;transform:scale(.4) rotate(-15deg)}to{opacity:1;transform:scale(1) rotate(0)}}.result-note{font-family:var(--font-body);font-size:13px;color:var(--color-gold);margin:0 0 10px}.result-prize-label{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--font-body);font-size:10px;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:#a87e2ad9;margin:0 0 8px}.result-prize-label:before,.result-prize-label:after{content:"";width:22px;height:1px;background:currentColor;opacity:.55}.result-prize{font-family:var(--font-display);font-weight:700;font-size:32px;line-height:1.1;color:var(--color-ink);margin:0 0 18px}.promo-chip{display:flex;align-items:center;gap:8px;background:var(--color-cream);border:1px dashed rgba(168,126,42,.5);border-radius:14px;padding:7px 7px 7px 16px;margin-bottom:14px}.promo-code{flex:1;text-align:left;font-family:Manrope,monospace;font-weight:700;font-size:15px;letter-spacing:.05em;color:var(--color-ink)}.copy-button{font-family:var(--font-body);font-weight:700;font-size:12px;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#b39ae4,#8f74d6);border:none;border-radius:10px;padding:11px 20px;cursor:pointer;transition:transform .12s ease}.copy-button:active{transform:scale(.96)}.promo-qr{display:block;width:120px;height:120px;margin:0 auto 14px;padding:8px;background:#fff;border-radius:12px;box-shadow:0 8px 20px #7e60aa1f}.result-hint{margin:14px 0 0;font-size:12px;line-height:1.5;color:var(--color-ink-faint)}@media (prefers-reduced-motion: reduce){.result-card,.result-confetti,.petal,.wheel-pointer{animation:none}.spin-button,.copy-button{transition:none}}
