*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{height:100%}body{font-family:DM Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%}button,input,select,textarea{font-family:DM Sans,system-ui,-apple-system,sans-serif}button{transition:all .2s ease;min-height:44px;padding:10px 16px;cursor:pointer;border:none;outline:none}button:active{transform:scale(.98)}@media (hover: hover){button:hover{transform:translateY(-1px)}}input,select,textarea{min-height:44px;padding:12px 14px}@media (max-width: 768px){button{min-height:48px;padding:12px 18px;font-size:16px}input,select,textarea{min-height:48px;padding:14px 16px}}a{text-decoration:none;color:inherit}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 1000px transparent inset;transition:background-color 5000s ease-in-out 0s}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.spinner{width:28px;height:28px;border:3px solid rgba(232,255,71,.2);border-top-color:#e8ff47;border-radius:50%;animation:spin .75s linear infinite}.spinner-dark{border-color:#b8cc0033;border-top-color:#b8cc00}.fade-in{animation:fadeIn .3s ease forwards}.shimmer{background:linear-gradient(90deg,#fff0,#ffffff14,#fff0);background-size:200% 100%;animation:shimmer 2s infinite}
