*{margin:0;padding:0;box-sizing:border-box}:root{--bg-color: rgb(245, 246, 240);--accent-color: #2858D3;--button-color: #000000;--text-primary: #1a1a1a;--text-secondary: #666666;--card-bg: #ffffff;--border-color: #e5e5e5}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Helvetica,Arial,sans-serif;background-color:var(--bg-color);color:var(--text-primary);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}a{text-decoration:none;color:inherit}button{font-family:inherit;cursor:pointer;border:none;outline:none}img{max-width:100%;height:auto}html{scroll-behavior:smooth}::-webkit-scrollbar{width:0;background:transparent}::selection{background-color:var(--accent-color);color:#fff}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}*{transition:background-color .2s ease,color .2s ease,transform .2s ease,box-shadow .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-in{animation:fadeIn .4s ease-out forwards}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-pulse{animation:pulse 1.5s ease-in-out infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--border-color) 25%,var(--card-bg) 50%,var(--border-color) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:8px}
