@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@500;600;700&display=swap";
:root{--ink:218 31% 20%;--ink-soft:216 18% 38%;--muted:215 16% 53%;--paper:42 38% 97%;--paper-deep:39 33% 93%;--card:0 0% 100%;--line:38 24% 87%;--sage:159 34% 35%;--sage-deep:160 34% 27%;--sage-pale:155 29% 91%;--amber:31 88% 53%;--amber-pale:37 100% 91%;--red:4 66% 47%;--red-pale:5 70% 94%;--shadow:220 27% 24%;--focus:159 53% 39%}*{box-sizing:border-box}html{background:hsl(var(--paper));min-width:320px}body{color:hsl(var(--ink));background:radial-gradient(circle at 9% 0%, #e3f2ecad, transparent 28rem), hsl(var(--paper));-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:DM Sans,ui-sans-serif,sans-serif}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid hsl(var(--focus) / .42);outline-offset:3px}::selection{background:hsl(var(--sage) / .2)}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}@keyframes pulse-ring{0%,to{opacity:.45;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.page-enter{animation:.54s cubic-bezier(.22,.8,.24,1) both rise-in}.delay-1{animation-delay:80ms}.delay-2{animation-delay:.15s}.delay-3{animation-delay:.22s}.skeleton{background:linear-gradient(100deg, hsl(var(--paper-deep)), hsl(var(--card)), hsl(var(--paper-deep)));background-size:240% 100%;animation:1.45s ease-in-out infinite shimmer}
