@tailwind base;@tailwind components;@tailwind utilities;@layer base{*{box-sizing:border-box}body{background-color:#0a0a0f;color:#e5e7eb;font-family:DM Sans,sans-serif;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#12121a}::-webkit-scrollbar-thumb{background:#1e1e2e;border-radius:2px}}@layer components{.glass{background:#12121acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(99,102,241,.1)}.btn-primary{@apply bg-indigo-600 hover:bg-indigo-500 text-white font-medium px-5 py-2.5 rounded-xl transition-all duration-200 active:scale-95 disabled:opacity-40 disabled:cursor-not-allowed;}.btn-ghost{@apply border border-campus-border hover:border-campus-accent/40 text-campus-muted hover:text-white px-5 py-2.5 rounded-xl transition-all duration-200;}.input-base{@apply w-full bg-campus-surface border border-campus-border rounded-xl px-4 py-3 text-white placeholder-campus-muted focus:outline-none focus:border-indigo-500 transition-colors duration-200;}.card{@apply bg-campus-surface border border-campus-border rounded-2xl;}}.typing-dot{width:6px;height:6px;border-radius:50%;background:#6366f1;animation:typingBounce 1.2s ease-in-out infinite}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-6px);opacity:1}}.message-enter{animation:fadeUp .3s ease forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
