@keyframes shiny-text{0%,90%,to{background-position:calc(-100% - var(--shiny-width)) 0}30%,60%{background-position:calc(100% + var(--shiny-width)) 0}}.animate-shiny-text{animation:8s infinite shiny-text}@keyframes subtle-float{0%{transform:translateY(0)}50%{transform:translateY(-5px)}to{transform:translateY(0)}}.floating{animation:3s ease-in-out infinite subtle-float}@keyframes bounce-down{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.8;transform:translateY(6px)}}.animate-bounce-down{animation:3s ease-in-out infinite bounce-down}@keyframes char-float{0%{transform:translateY(8px) rotate(var(--char-rotate,0deg)) scale(.7);opacity:0}25%{opacity:.8}to{transform:translateY(-30px) rotate(var(--char-rotate,0deg)) scale(1);opacity:0}}.char-spark{will-change:transform, opacity;line-height:1;animation:2.6s ease-in-out infinite char-float}@media (prefers-reduced-motion:reduce){.char-spark{display:none}}@keyframes pulse-ring{0%,to{opacity:.5;transform:scale(1)}50%{opacity:0;transform:scale(1.2)}}.pulse-ring{will-change:transform, opacity;animation:2s ease-in-out infinite pulse-ring}@media (prefers-reduced-motion:reduce){.pulse-ring{animation:none}}@keyframes spotlight-ring{0%{opacity:.75;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes spotlight-hold{0%,to{opacity:.75}}.spotlight-ring{opacity:0;animation:.9s cubic-bezier(.23,1,.32,1) .35s 2 forwards spotlight-ring}@media (prefers-reduced-motion:reduce){.spotlight-ring{animation:2s linear forwards spotlight-hold}}.refusal-enter{transition:opacity .2s cubic-bezier(.23,1,.32,1),transform .2s cubic-bezier(.23,1,.32,1)}@starting-style{.refusal-enter{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.refusal-enter{transition:opacity .2s ease-out}@starting-style{.refusal-enter{opacity:0;transform:none}}}.draft-notice-shell{grid-template-rows:1fr;transition:grid-template-rows .32s cubic-bezier(.23,1,.32,1),opacity .2s ease-out,transform .2s ease-out;display:grid}.draft-notice-shell[data-leaving]{opacity:0;grid-template-rows:0fr;transform:translateY(-4px)}@media (prefers-reduced-motion:reduce){.draft-notice-shell{transition:none}}@keyframes draft-undo-countdown{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.draft-undo-countdown{transform-origin:0;animation:draft-undo-countdown var(--draft-undo-ms,6s) linear forwards}[data-sonner-toaster]:hover .draft-undo-countdown{animation-play-state:paused}
