@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-20px)}60%{transform:translateY(-10px)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes glow{0%{box-shadow:0 0 5px rgba(255,215,0,.6)}50%{box-shadow:0 0 20px rgba(255,215,0,.9)}to{box-shadow:0 0 5px rgba(255,215,0,.6)}}@keyframes spinFast{0%{transform:translateY(-100px);opacity:0}5%{transform:translateY(0);opacity:1}95%{transform:translateY(0);opacity:1}to{transform:translateY(100px);opacity:0}}.animate-fadeIn{animation:fadeIn .5s ease-out forwards}.animate-scaleIn{animation:scaleIn .5s ease-out forwards}.animate-pulse{animation:pulse 1.5s ease-in-out infinite}.animate-bounce{animation:bounce 2s ease infinite}.animate-spin{animation:spin 8s linear infinite}.animate-glow{animation:glow 1.5s ease-in-out infinite}.status-indicator{display:inline-block;height:8px;width:8px;border-radius:50%;margin-right:8px;animation:blink 2s infinite}.winner-slot{position:relative;overflow:hidden;height:50px}.winner-slot .winner-code{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:transform .3s ease}.winner-slot:hover .winner-code{transform:translateX(-24px)}.winner-slot .remove-button{position:absolute;right:-48px;top:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:#ef4444;color:white;width:48px;transition:right .3s ease;cursor:pointer}.winner-slot:hover .remove-button{right:0}.draw-code-animation{position:relative;overflow:visible;height:180px;border-radius:12px}.draw-code-animation:after,.draw-code-animation:before{content:"";position:absolute;left:0;right:0;height:20px;z-index:2;pointer-events:none}.draw-code{animation:spinFast .2s linear infinite;will-change:transform}.draw-code.slowing-down{animation-duration:.3s;animation-timing-function:ease-out}.draw-code.very-slow{animation-duration:.8s;animation-timing-function:ease-out}.draw-code.stopped{animation:none;transform:translateY(0)}.slide-reset{transition:transform .3s ease-out}.slide-canvas{width:1536px;height:864px;transform-origin:top left;position:relative;overflow:hidden}.slide-container{display:flex;width:6144px;height:864px;transition:transform .9s cubic-bezier(.22,1,.36,1);will-change:transform}.slide{width:1536px;height:864px;flex-shrink:0;position:relative;overflow:hidden}@keyframes slideInFromLeft{0%{transform:translateX(-120px) scale(.92);opacity:0}60%{transform:translateX(8px) scale(1.01);opacity:1}to{transform:translateX(0) scale(1);opacity:1}}@keyframes slideInFromRight{0%{transform:translateX(120px) scale(.92);opacity:0}60%{transform:translateX(-8px) scale(1.01);opacity:1}to{transform:translateX(0) scale(1);opacity:1}}@keyframes flyInUp{0%{transform:translateY(80px) scale(.9);opacity:0;filter:blur(4px)}50%{transform:translateY(-6px) scale(1.02);opacity:1;filter:blur(0)}70%{transform:translateY(3px) scale(.995);opacity:1}to{transform:translateY(0) scale(1);opacity:1}}@keyframes scaleInCenter{0%{transform:scale(.3) rotate(-3deg);opacity:0;filter:blur(8px)}50%{transform:scale(1.05) rotate(.5deg);opacity:1;filter:blur(0)}75%{transform:scale(.97) rotate(-.2deg);opacity:1}to{transform:scale(1) rotate(0deg);opacity:1}}@keyframes zoomFadeIn{0%{transform:scale(1.15);opacity:0;filter:blur(6px)}to{transform:scale(1);opacity:1;filter:blur(0)}}@keyframes shrinkFadeOut{0%{transform:scale(1) translateY(0);opacity:1;filter:blur(0)}to{transform:scale(.9) translateY(40px);opacity:0;filter:blur(4px)}}.slide-element-enter{animation:flyInUp .8s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.slide-element-enter-delay-1{animation:flyInUp .8s cubic-bezier(.34,1.56,.64,1) .2s forwards;opacity:0}.slide-element-enter-delay-2{animation:flyInUp .8s cubic-bezier(.34,1.56,.64,1) .4s forwards;opacity:0}.slide-element-exit{animation:shrinkFadeOut .4s ease-in forwards}.slide-speech-enter{animation:scaleInCenter .9s cubic-bezier(.34,1.56,.64,1) .15s forwards;opacity:0}.slide-speech-exit{animation:shrinkFadeOut .4s ease-in forwards}.slide-enter-left{animation:slideInFromLeft .85s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.slide-enter-right{animation:slideInFromRight .85s cubic-bezier(.34,1.56,.64,1) .15s forwards;opacity:0}@keyframes curveUp{0%{transform:translateY(60px) translateX(30px) scale(.85);opacity:0}40%{transform:translateY(-8px) translateX(-3px) scale(1.03);opacity:1}70%{transform:translateY(3px) translateX(1px) scale(.99);opacity:1}to{transform:translateY(0) translateX(0) scale(1);opacity:1}}@keyframes curveUpCode{0%{transform:translateY(40px) translateX(20px) scale(.8);opacity:0}50%{transform:translateY(-4px) translateX(-2px) scale(1.05);opacity:1}to{transform:translateY(0) translateX(0) scale(1);opacity:1}}@keyframes shimmerGlow{0%{background-position:-200%}to{background-position:200%}}.winner-card-enter{animation:curveUp .7s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.winner-code-enter{animation:curveUpCode .5s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0}.winner-empty-pulse{animation:pulse 2s ease-in-out infinite}.prize-header-shimmer{background:linear-gradient(90deg,transparent,rgba(255,255,255,.15) 50%,transparent);background-size:200% 100%;animation:shimmerGlow 3s ease-in-out infinite}@keyframes prizeSlideIn{0%{transform:translateY(40px);opacity:0;filter:blur(4px)}60%{transform:translateY(-4px);opacity:1;filter:blur(0)}to{transform:translateY(0);opacity:1;filter:blur(0)}}@keyframes prizeSlideOut{0%{transform:translateY(0);opacity:1;filter:blur(0)}to{transform:translateY(-30px);opacity:0;filter:blur(4px)}}.prize-carousel-enter{animation:prizeSlideIn .6s cubic-bezier(.34,1.56,.64,1) forwards}.prize-carousel-exit{animation:prizeSlideOut .35s ease-in forwards}