*{margin:0;padding:0;box-sizing:border-box}body{font-family:"Source Sans 3",system-ui,sans-serif;background:#f4f3ef;color:#3a3a36;-webkit-font-smoothing:antialiased}.intro{position:fixed;top:0;right:0;bottom:0;left:0;background:#f4f3ef;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;transition:transform .75s cubic-bezier(.76,0,.24,1)}.intro-out{transform:translateY(-100%)}.intro-logo{max-width:min(340px,72vw);height:auto;animation:logo-reveal 1.3s cubic-bezier(.65,0,.35,1) both}@keyframes logo-reveal{0%{clip-path:inset(0 100% 0 0);opacity:.4;filter:blur(3px)}60%{opacity:1}to{clip-path:inset(0 0 0 0);filter:blur(0)}}.intro-line{width:0;height:2px;background:#1b2a38;animation:line-grow .9s .9s cubic-bezier(.65,0,.35,1) forwards}@keyframes line-grow{to{width:min(340px,72vw)}}.intro-dots{display:flex;gap:12px}.intro-dots span{width:9px;height:9px;border-radius:50%;opacity:0;transform:scale(.3);animation:dot-pop .4s cubic-bezier(.34,1.56,.64,1) forwards}.intro-dots span:nth-child(1){animation-delay:1.25s}.intro-dots span:nth-child(2){animation-delay:1.4s}.intro-dots span:nth-child(3){animation-delay:1.55s}.intro-dots span:nth-child(4){animation-delay:1.7s}@keyframes dot-pop{to{opacity:1;transform:scale(1)}}.app-enter{animation:app-fade .7s .15s ease both}@keyframes app-fade{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.intro,.intro-logo,.intro-line,.intro-dots span,.app-enter{animation:none!important;transition:none!important;opacity:1;width:auto;clip-path:none;transform:none}}input,textarea,button{font-family:inherit}
