@tailwind base;@tailwind components;@tailwind utilities;@layer base{:root{--font-sans: "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--sat: env(safe-area-inset-top, 0px);--sab: env(safe-area-inset-bottom, 0px)}body{font-family:"Fredoka",var(--font-sans);background:radial-gradient(ellipse at bottom,#1b2735 0%,#090a0f 100%);color:#1e293b;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior-y:none;overflow-x:hidden}code{font-family:var(--font-mono)}*{transition-duration:1s!important}}.stars{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1;background:transparent}.star{position:absolute;background:white;border-radius:50%;opacity:.8;animation:twinkle var(--duration) ease-in-out infinite;animation-delay:var(--delay);will-change:transform,opacity}@keyframes twinkle{0%{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.3;transform:scale(.8)}}.pt-safe{padding-top:max(1rem,var(--sat))}.pb-safe{padding-bottom:max(1rem,var(--sab))}.bounce{animation:bounce 2s infinite}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.animate-fade-in{animation:fadeIn 1s ease-out forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-pop-in{animation:popIn 1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes popIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.animate-bounce-in{animation:bounceIn 1s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes bounceIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}
