*{margin:0;padding:0;box-sizing:border-box}html{height:100%;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;color:#0f172a;height:100%;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}@supports (padding: max(0px)){body{padding-top:max(0px,env(safe-area-inset-top));padding-bottom:max(0px,env(safe-area-inset-bottom));padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}}#root{width:100%;min-height:100%;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative}button{font-family:inherit;border:none;cursor:pointer;outline:none}input,textarea{font-family:inherit;outline:none}img{max-width:100%;height:auto}.animate-fade-in{animation:fadeIn .3s ease-in}.animate-slide-up{animation:slideUp .4s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-card-fade{animation:cardFadeIn .2s cubic-bezier(.22,.61,.36,1)}.animate-card-stagger-1{animation:cardFadeIn .2s cubic-bezier(.22,.61,.36,1);animation-delay:40ms;opacity:0;animation-fill-mode:forwards}.animate-card-stagger-2{animation:cardFadeIn .2s cubic-bezier(.22,.61,.36,1);animation-delay:80ms;opacity:0;animation-fill-mode:forwards}.animate-card-stagger-3{animation:cardFadeIn .2s cubic-bezier(.22,.61,.36,1);animation-delay:.12s;opacity:0;animation-fill-mode:forwards}.animate-card-stagger-4{animation:cardFadeIn .2s cubic-bezier(.22,.61,.36,1);animation-delay:.16s;opacity:0;animation-fill-mode:forwards}.animate-section-expand{animation:sectionExpand .18s cubic-bezier(.22,.61,.36,1)}.animate-accent-fade{animation:accentFade .16s cubic-bezier(.22,.61,.36,1);animation-delay:.18s;opacity:0;animation-fill-mode:forwards}.touch-feedback{transition:opacity 70ms ease-out}.touch-feedback:active{opacity:.92}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionExpand{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes accentFade{0%{opacity:0}to{opacity:.6}}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shimmer{animation:shimmer 1.5s ease-in-out infinite}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-card-fade,.animate-card-stagger-1,.animate-card-stagger-2,.animate-card-stagger-3,.animate-card-stagger-4,.animate-section-expand{animation:fadeInOnly .12s ease-out}@keyframes fadeInOnly{0%{opacity:0}to{opacity:1}}}
