html,body{margin:0;padding:0;background:#f5f8fc}*{box-sizing:border-box}#root{min-height:100vh}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.site-header-grid{grid-template-columns:auto 1fr auto}.site-header-counter{text-align:center}@media (max-width: 640px){.site-header-grid{grid-template-columns:auto auto}.site-header-counter{display:none}}@keyframes ff-fade-up{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes ff-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes ff-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.ff-fade-up{animation:ff-fade-up .6s cubic-bezier(.22,1,.36,1) both}.ff-fade-up-1{animation-delay:.05s}.ff-fade-up-2{animation-delay:.12s}.ff-fade-up-3{animation-delay:.19s}.ff-icon-breathe{animation:ff-breathe 3.2s ease-in-out infinite}.ff-btn-primary{transition:transform .22s cubic-bezier(.22,1,.36,1),box-shadow .22s ease,filter .22s ease;will-change:transform}.ff-btn-primary:hover{transform:translateY(-2px);filter:brightness(1.04)}.ff-btn-primary:active{transform:translateY(0) scale(.98)}.ff-btn-secondary{transition:border-color .2s ease,color .2s ease,background .2s ease,transform .2s ease}.ff-btn-secondary:hover{border-color:#2563eb;color:#2563eb}.ff-btn-secondary:active{transform:scale(.98)}.ff-chip{transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease,box-shadow .18s ease}.ff-chip:hover{border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 12px #1020370f}.ff-chip:active{transform:translateY(0)}.ff-card{transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease,border-color .25s ease}.ff-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #10203714;border-color:#c6d5e8}.ff-dropzone{transition:border-color .25s ease,background .25s ease,box-shadow .25s ease,transform .15s ease}.ff-dropzone.is-dragover{transform:scale(1.008)}.ff-link{position:relative;transition:color .2s ease}.ff-link:after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:1.5px;background:currentColor;transition:right .25s cubic-bezier(.22,1,.36,1)}.ff-link:hover:after{right:0}.ff-lang-menu{animation:ff-fade-up .18s cubic-bezier(.22,1,.36,1) both;transform-origin:top right}.ff-screen-enter{animation:ff-fade-up .45s cubic-bezier(.22,1,.36,1) both}@keyframes ff-check-pop{0%{opacity:0;transform:scale(.4)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.ff-check-pop{animation:ff-check-pop .5s cubic-bezier(.22,1,.36,1) both}
