:root{--background: oklch(.13 .01 60);--foreground: oklch(.96 .01 90);--card: oklch(.17 .01 60);--card-foreground: oklch(.96 .01 90);--primary: oklch(.7 .18 45);--primary-foreground: oklch(.13 .01 60);--secondary: oklch(.22 .02 60);--secondary-foreground: oklch(.96 .01 90);--muted: oklch(.22 .01 60);--muted-foreground: oklch(.6 .02 80);--accent: oklch(.75 .12 85);--accent-foreground: oklch(.13 .01 60);--success: oklch(.7 .14 180);--success-foreground: oklch(.13 .01 60);--destructive: oklch(.6 .2 25);--destructive-foreground: oklch(.96 .01 90);--border: oklch(.28 .02 60);--input: oklch(.22 .01 60);--ring: oklch(.7 .18 45);--radius: .75rem;--font-sans: "Source Sans 3", sans-serif;--font-serif: "Playfair Display", serif}*{box-sizing:border-box;margin:0;padding:0}input,select,textarea{font-size:16px}body{background-color:var(--background);color:var(--foreground);font-family:var(--font-sans);-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}input::placeholder,textarea::placeholder{color:var(--muted-foreground);opacity:.6}button{letter-spacing:.01em}@keyframes stepIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.step-animate{animation:stepIn .3s ease}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.typing-indicator{display:flex;gap:4px;padding:12px 16px;background:var(--card);border-radius:12px;width:fit-content}.typing-indicator span{width:8px;height:8px;background:var(--primary);border-radius:50%;animation:typingDot 1.2s ease-in-out infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typingDot{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}@keyframes messageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-enter{animation:messageIn .25s ease-out forwards}
