html,body,#root{height:100%}body{font-family:Archivo,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.tnum{font-feature-settings:"tnum" 1;font-variant-numeric:tabular-nums}@keyframes shimmer{to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}@keyframes overlayOut{0%{opacity:1}to{opacity:0}}@keyframes modalIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes modalOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes revealUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;animation:revealUp .7s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:var(--d, 0ms)}@keyframes scan{0%{transform:translateY(-100%);opacity:0}20%{opacity:.9}80%{opacity:.9}to{transform:translateY(900%);opacity:0}}.scanline{animation:scan 3.4s ease-in-out infinite}@keyframes recBlink{0%,60%{opacity:1}61%,to{opacity:.25}}.rec-dot{animation:recBlink 1.4s steps(1,end) infinite}@keyframes gridDrift{0%{background-position:0 0}to{background-position:40px 40px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.reveal{opacity:1}}
