*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;scroll-behavior:smooth;overflow-x:hidden}:root{--bg-primary: #0a0a0a;--bg-secondary: #111;--text-primary: #ffffff;--text-secondary: #a0a0a0;--border-color: rgba(255, 255, 255, .05);--accent-from: #10b981;--accent-to: #14b8a6}.light{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--text-primary: #0a0a0a;--text-secondary: #6b7280;--border-color: rgba(0, 0, 0, .1);--accent-from: #10b981;--accent-to: #14b8a6}body{margin:0;font-family:Space Grotesk,Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.grain-overlay{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;opacity:.05;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");animation:grain 8s steps(10) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-5%,-10%)}20%{transform:translate(-15%,5%)}30%{transform:translate(7%,-25%)}40%{transform:translate(-5%,25%)}50%{transform:translate(-15%,10%)}60%{transform:translate(15%)}70%{transform:translateY(15%)}80%{transform:translate(3%,35%)}90%{transform:translate(-10%,10%)}}.glass{background:#0a080699;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,148,8,.2)}.glass-strong{background:#0a0806cc;backdrop-filter:blur(24px) saturate(200%);-webkit-backdrop-filter:blur(24px) saturate(200%);border:1px solid rgba(255,148,8,.3)}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-float{animation:float 6s ease-in-out infinite}.animate-pulse-slow{animation:pulse 4s cubic-bezier(.4,0,.6,1) infinite}
