:root{--ease-out:cubic-bezier(.22,1,.36,1);--ease-soft:cubic-bezier(.33,1,.68,1);--ease-spring:cubic-bezier(.34,1.45,.64,1)}main{animation:page-in .55s var(--ease-out) both}body.leaving main{animation:page-out .25s ease-in both}@keyframes page-in{from{opacity:0;transform:translateY(14px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}@keyframes page-out{to{opacity:0;transform:translateY(-10px) scale(.985);filter:blur(4px)}}.card form>*,.card h1,.card .muted,.card .center,.actions>*{animation:rise .6s var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms + 120ms)}@keyframes rise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.logo img{transition:transform .4s var(--ease-out),filter .4s}.logo:hover img{transform:scale(1.08) rotate(-3deg);filter:drop-shadow(0 0 14px rgba(166,110,232,.6))}.logo.big img{animation:float 4s ease-in-out infinite}@keyframes float{50%{transform:translateY(-6px)}}.field input,input.in,textarea.in,select.in{caret-color:var(--theme-400);transition:box-shadow .28s var(--ease-soft),border-color .28s var(--ease-soft),background .28s var(--ease-soft)}.field input:focus,input.in:focus,textarea.in:focus,select.in:focus{border-color:var(--theme-500);background:rgba(23,23,23,.82);box-shadow:0 0 0 2px color-mix(in srgb,var(--theme-500) 75%,transparent)}.field .icon{transition:color .25s,transform .3s var(--ease-out)}.field:focus-within .icon{color:var(--theme-400);transform:translateY(-50%) scale(1.15)}.smooth-type{position:relative;display:block;width:100%}.smooth-type>.in,.smooth-type>input,.smooth-type>textarea{position:relative;z-index:1;color:transparent !important;-webkit-text-fill-color:transparent !important;background-clip:padding-box}.smooth-type>.in::placeholder,.smooth-type>input::placeholder,.smooth-type>textarea::placeholder{color:var(--n-600) !important;-webkit-text-fill-color:var(--n-600) !important}.smooth-type-mirror{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;color:var(--n-100);font:inherit;line-height:inherit;letter-spacing:inherit;white-space:pre;word-wrap:break-word;overflow-wrap:anywhere}.smooth-type-mirror.is-area{white-space:pre-wrap}.smooth-type-mirror .ch{display:inline-block;transform-origin:50% 80%;animation:type-ch .3s var(--ease-soft) both}.smooth-type-mirror .ch.space{white-space:pre}.smooth-type-mirror .ch.instant{animation:none}@keyframes type-ch{from{opacity:0;transform:translateY(.28em) scale(.94);filter:blur(1.5px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}.btn{position:relative;overflow:hidden;transition:background .2s,border-color .2s,transform .2s var(--ease-out),box-shadow .2s}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px -6px rgba(166,110,232,.45)}.btn:active:not(:disabled){transform:translateY(0) scale(.97)}.btn .ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.35);transform:scale(0);animation:ripple .6s ease-out forwards;pointer-events:none}@keyframes ripple{to{transform:scale(4);opacity:0}}.btn.loading{color:transparent !important;pointer-events:none}.btn.loading::after{content:"";position:absolute;width:1.1rem;height:1.1rem;top:50%;left:50%;margin:-.55rem 0 0 -.55rem;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.link{position:relative}.link::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease-out)}.link:hover::after{transform:scaleX(1)}.error.show{animation:drop .35s var(--ease-out)}@keyframes drop{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.card.shake{animation:shake .45s cubic-bezier(.36,.07,.19,.97)}@keyframes shake{20%,60%{transform:translateX(-7px)}40%,80%{transform:translateX(7px)}}.toast{animation:toast-in .4s var(--ease-out);transition:opacity .3s,transform .3s}.toast.out{opacity:0;transform:translateX(20px)}@keyframes toast-in{from{opacity:0;transform:translateX(30px) scale(.95)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-delay:0ms !important;transition-duration:.01ms !important}}