/* Giveaway wheel overlay. The wheel and effects are drawn on the canvas; text stays in the page so it can be translated. */
#spinwheel{position:fixed;inset:0;z-index:9000;overflow:hidden;background:#0B0618;color:#FFF6D8;font-family:Pixelify,"Trebuchet MS",sans-serif;--sw-accent:#FFD84D}
#spinwheel[hidden]{display:none}
#spinwheel canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
.sw-stage{position:absolute;inset:0;pointer-events:none;will-change:transform}
.sw-head{position:absolute;top:max(10px,env(safe-area-inset-top));left:56px;right:56px;text-align:center;text-shadow:0 3px 0 #2A0610}
.sw-title{font-size:clamp(13px,2.4vmin,20px);letter-spacing:3px;color:var(--sw-accent);transition:color .15s}
.sw-amount{font-size:clamp(30px,7vmin,60px);line-height:1.08;color:#FFF;text-shadow:0 0 22px var(--sw-accent),0 3px 0 #2A0610}
.sw-meta{font-size:clamp(11px,2vmin,15px);opacity:.85}
.sw-line{position:absolute;bottom:max(16px,env(safe-area-inset-bottom));left:12px;right:12px;text-align:center;font-size:clamp(17px,3.8vmin,32px);text-shadow:0 0 16px var(--sw-accent),0 3px 0 #2A0610}
.sw-count{position:absolute;left:0;right:0;top:54%;transform:translateY(-50%);text-align:center;font-size:clamp(90px,30vmin,260px);line-height:1;color:#FFF;text-shadow:0 0 44px var(--sw-accent),0 8px 0 #2A0610}
.sw-count.pop{animation:swPop .9s cubic-bezier(.2,1.5,.4,1) both}
@keyframes swPop{0%{transform:translateY(-50%) scale(2.2);opacity:0}25%{opacity:1}100%{transform:translateY(-50%) scale(.82);opacity:.82}}
.sw-reveal{position:absolute;left:12px;right:12px;top:54%;transform:translateY(-50%);text-align:center}
.sw-small{font-size:clamp(16px,3.4vmin,28px);color:#FFE9A8;text-shadow:0 3px 0 #2A0610}
.sw-name{min-height:1.15em;font-size:clamp(34px,10.5vmin,98px);line-height:1.15;overflow-wrap:anywhere;color:#FFD84D;text-shadow:0 0 34px #FF9A3D,0 0 8px #FFF,0 6px 0 #5A2600}
.sw-card{position:absolute;left:50%;top:54%;width:min(92vw,430px);transform:translate(-50%,-50%);box-sizing:border-box;padding:18px 18px 16px;text-align:center;background:linear-gradient(#3A1A66,#1B0D3A);border:4px solid #FFD84D;box-shadow:0 0 0 4px #2A0610,0 0 54px rgba(255,216,77,.72);pointer-events:auto;animation:swCard .5s cubic-bezier(.2,1.5,.4,1) both}
@keyframes swCard{from{transform:translate(-50%,-50%) scale(.55);opacity:0}}
.sw-card b{display:block;font-weight:400}
.sw-card .w{font-size:clamp(14px,3vmin,20px);letter-spacing:3px;color:#FFD84D}
.sw-card .n{margin:4px 0;font-size:clamp(30px,8vmin,50px);line-height:1.15;overflow-wrap:anywhere;color:#FFF;text-shadow:0 0 18px #FFD84D}
.sw-card .a{font-size:clamp(24px,6vmin,38px);color:#FFD84D}
.sw-card .m{margin-top:8px;font-size:13px;opacity:.8}
.sw-btn{position:absolute;top:max(10px,env(safe-area-inset-top));height:38px;min-width:38px;padding:0 9px;font:inherit;font-size:12px;color:#FFF6D8;background:#2A1650;border:2px solid #FFD84D;cursor:pointer;pointer-events:auto}
.sw-btn:hover,.sw-btn:focus-visible{background:#4A2A80}
.sw-close{right:10px}.sw-mute{left:10px;max-width:none;white-space:nowrap;line-height:1;padding:0 12px}
@media (prefers-reduced-motion:reduce){.sw-count.pop,.sw-card{animation:none}}
