@keyframes veto-slam{0%{opacity:0;transform:translateY(-22px) scale(1.8) rotate(-18deg)}55%{opacity:1;transform:translateY(2px) scale(.92) rotate(-5deg)}72%{transform:translateY(-2px) scale(1.08) rotate(-9deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-8deg)}}@keyframes veto-card{0%,to{transform:translateX(0)}24%{transform:translateX(-3px) rotate(-.4deg)}48%{transform:translateX(3px) rotate(.4deg)}72%{transform:translateX(-1px)}}@keyframes veto-wiggle{0%,to{transform:rotate(0)}35%{transform:rotate(-10deg) scale(1.08)}70%{transform:rotate(7deg)}}.animate-veto-slam{animation:veto-slam .52s cubic-bezier(.16,1.2,.3,1) both}.animate-veto-card{animation:veto-card .42s ease-out both}.animate-veto-wiggle{animation:veto-wiggle 1.8s ease-in-out infinite}@keyframes celebration-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}@keyframes confetti-fall{0%{opacity:0;transform:translate3d(0,-10vh,0) rotate(0deg)}10%{opacity:1}to{opacity:0;transform:translate3d(40px,110vh,0) rotate(760deg)}}@keyframes balloon-rise{0%{opacity:0;transform:translateY(20vh) scale(.5) rotate(-8deg)}18%{opacity:1}to{opacity:0;transform:translateY(-110vh) scale(1.35) rotate(12deg)}}@keyframes celebration-title{0%{opacity:0;transform:translate(-50%,-50%) scale(.25) rotate(-8deg)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.12) rotate(2deg)}72%{transform:translate(-50%,-50%) scale(.98) rotate(0)}to{opacity:0;transform:translate(-50%,-55%) scale(1)}}@keyframes skull-drop{0%{opacity:0;transform:translateY(-20vh) rotate(0deg) scale(.45)}25%{opacity:1}70%{transform:translateY(68vh) rotate(410deg) scale(1.25)}84%{transform:translateY(62vh) rotate(450deg) scale(1)}to{opacity:0;transform:translateY(105vh) rotate(520deg) scale(.8)}}@keyframes shame-word{0%{opacity:0;transform:translate(-50%,-50%) scale(3) rotate(-7deg)}28%{opacity:1;transform:translate(-50%,-50%) scale(.9) rotate(3deg)}42%,58%,74%{transform:translate(calc(-50% - 7px),-50%) scale(1) rotate(-2deg)}50%,66%,82%{transform:translate(calc(-50% + 7px),-50%) scale(1) rotate(2deg)}to{opacity:0;transform:translate(-50%,-50%) scale(.7)}}.animate-celebration-flash{animation:celebration-flash 2.8s ease-out both}.event-confetti{position:absolute;top:-18px;width:10px;height:18px;border-radius:3px;animation:confetti-fall 2.2s linear both}.event-balloon{position:absolute;bottom:-15vh;font-size:clamp(2.5rem,7vw,5rem);filter:drop-shadow(0 12px 16px rgba(0,0,0,.28));animation:balloon-rise 3s ease-in both}.event-celebration-title{position:absolute;top:46%;left:50%;display:grid;min-width:min(88vw,360px);place-items:center;gap:.25rem;padding:1.4rem 2rem;animation:celebration-title 3.1s cubic-bezier(.16,1,.3,1) both;border:1px solid rgba(110,231,183,.35);border-radius:1.5rem;background:rgba(6,78,59,.88);box-shadow:0 24px 80px rgba(16,185,129,.34);color:white;text-align:center;backdrop-filter:blur(18px)}.event-celebration-title strong{font-size:clamp(1.8rem,8vw,3.5rem);line-height:1}.event-celebration-title span{color:rgba(209,250,229,.76);font-size:.75rem}.event-skull{position:absolute;top:-10vh;animation:skull-drop 2.8s ease-in both;font-size:clamp(2.5rem,8vw,5.5rem);filter:drop-shadow(0 12px 16px rgba(0,0,0,.45))}.event-shame-word{position:absolute;left:50%;width:-moz-max-content;width:max-content;max-width:92vw;animation:shame-word 2.7s cubic-bezier(.16,1,.3,1) both;color:#fecdd3;font-size:clamp(2rem,9vw,5rem);font-weight:1000;letter-spacing:-.04em;text-shadow:0 5px 0 #881337,0 14px 32px rgba(0,0,0,.8)}@media (prefers-reduced-motion:reduce){.animate-celebration-flash,.animate-veto-card,.animate-veto-slam,.animate-veto-wiggle,.event-balloon,.event-celebration-title,.event-confetti,.event-shame-word,.event-skull{animation:none}}@keyframes landing-float{0%,to{transform:translateY(0) rotate(.25deg)}50%{transform:translateY(-8px) rotate(-.25deg)}}@keyframes landing-demo-enter{0%{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:translateY(0) scale(1)}}.landing-float{animation:landing-float 7s ease-in-out infinite}.landing-demo-enter{animation:landing-demo-enter .35s ease-out both}@media (prefers-reduced-motion:reduce){.landing-demo-enter,.landing-float{animation:none}}@keyframes dialog-overlay-enter{0%{opacity:0}to{opacity:1}}@keyframes dialog-content-enter{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.985)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes dialog-sheet-enter{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.dialog-overlay{animation:dialog-overlay-enter var(--motion-fast) ease-out both;will-change:opacity}.dialog-content{animation:dialog-sheet-enter var(--motion-base) var(--ease-out-expressive) both;will-change:opacity,transform}@media (min-width:640px){.dialog-content{animation-name:dialog-content-enter}}@media (prefers-reduced-motion:reduce){.dialog-content,.dialog-overlay{animation:none}}