.win-celebration{position:fixed;inset:0;z-index:11000;width:100vw;height:100dvh;display:grid;place-items:center;margin:0;padding:0;border:0;border-radius:0;background:none;color:#fff;cursor:pointer;touch-action:manipulation;isolation:isolate;opacity:1;transition:opacity 280ms ease}
.win-celebration.is-exiting{opacity:0;pointer-events:none}.celebration-dim,.celebration-flash{position:absolute;inset:0;pointer-events:none}.celebration-dim{background:#0000008c}.celebration-flash{background:#fff;opacity:0}
.celebration-content{position:relative;display:grid;place-items:center;width:92vw;max-width:1600px;pointer-events:none}
.win-celebration .result-total{display:grid;place-items:center;width:100%;margin:0;padding:0;font:700 clamp(60px,18.4vmin,342px)/1 GatesCinzel,Georgia,serif;letter-spacing:-.02em;color:#fff;white-space:nowrap;-webkit-text-stroke:12px #000;paint-order:stroke fill;filter:drop-shadow(0 10px #000d);text-shadow:none}
.win-celebration .amount-width,.win-celebration .amount-display{grid-area:1/1;width:max-content}.win-celebration .amount-cents{font-size:.42em;letter-spacing:-.03em}
.celebration-title{position:absolute;left:50%;bottom:calc(100% + clamp(12px,2vh,24px));translate:-50% 0;width:min(520px,62vw,75vmin);aspect-ratio:2.35677;background-position:50% 47.84726%;background-size:171.70337% 356.37319%;background-repeat:no-repeat;filter:drop-shadow(0 6px 8px #0009);transform-origin:center bottom}
.celebration-title.big{background-image:url('assets/gates/bonus/big_win_popup.PNG')}
.celebration-title.super{aspect-ratio:2.44172;background-image:url('assets/gates/bonus/super_win_popup.PNG');background-size:137.38568% 295.42484%;background-position:50% 46.26533%}
.celebration-title.mega{aspect-ratio:2.18846;background-image:url('assets/gates/bonus/mega_win_popup.PNG');background-size:123.05694% 237.16659%;background-position:50% 40.70768%}
.celebration-title.epic{aspect-ratio:1.93107;background-image:url('assets/gates/bonus/epic_win_popup.PNG');background-size:117.56060% 199.92628%;background-position:50% 35.85393%}
.celebration-title.max{width:90vw;aspect-ratio:auto;font:400 clamp(28px,6vmin,72px)/1 GatesFredoka;color:#ffcf78;-webkit-text-stroke:5px #100c0e;paint-order:stroke fill;text-shadow:0 6px #0009}
.celebration-preview{position:absolute;left:0;right:0;bottom:24px;font:600 11px GaiaRubik;letter-spacing:1px;color:#bbb}
.win-celebration:focus-visible{outline:0}.win-celebration:focus-visible:after{content:'PRESS TO SKIP';position:absolute;bottom:7%;left:0;right:0;text-align:center;font:600 12px GaiaRubik;letter-spacing:2px;color:#aaa}
@keyframes celebration-in{from{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}
@keyframes celebration-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.015)}}
@keyframes celebration-flash{from{opacity:.22}to{opacity:0}}
@media(prefers-reduced-motion:no-preference){.win-celebration .celebration-title{animation:celebration-in .52s cubic-bezier(.18,1.15,.28,1) 90ms both}.win-celebration .amount-display{animation:celebration-in .48s cubic-bezier(.18,1.15,.28,1) both}.win-celebration.is-counting .celebration-content{animation:celebration-pulse .68s ease-in-out infinite}.win-celebration .celebration-flash{animation:celebration-flash .36s ease-out both}}
@media(orientation:portrait) and (max-width:700px){.win-celebration .result-total{-webkit-text-stroke:7px #000}.celebration-title{width:84vw;max-height:24dvh}.celebration-preview{bottom:14px;font-size:9px}}
@media(orientation:landscape) and (max-height:500px){.celebration-title{width:min(280px,44vw);max-height:30dvh;bottom:calc(100% + 8px)}.celebration-title.max{font-size:28px}}
@media(prefers-reduced-motion:reduce){.win-celebration{transition:none}}

body:has(#win-celebration:not([hidden])) .dev-tools{visibility:hidden}
