:root {
  --portal-bg: #f8fafc;
  --portal-surface: #ffffff;
  --portal-text: #1e293b;
  --portal-muted: #64748b;
  --portal-border: #e2e8f0;

  --acadia-topbar-bg: #2f353a;
  --acadia-brand-yellow: #ffc107;
  --acadia-brand-dark: #22252a;

  --primary-color: #2563eb;
  --primary-hover: #1d4ed8;
  --secondary-color: #64748b;
  --success-color: #10b981;
  --success-bg: #dcfce7;
  --warning-color: #f59e0b;
  --warning-bg: #fef3c7;
  --danger-color: #ef4444;
  --danger-bg: #fee2e2;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 15px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.12);
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-full: 9999px;

  --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  background-color: var(--portal-bg);
  color: var(--portal-text);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  font-weight: 700;
  color: var(--portal-text);
}

a {
  color: var(--primary-color);
  text-decoration: none;
}

code {
  font-family: monospace;
  background: #f1f5f9;
  padding: 2px 6px;
  border-radius: 4px;
  color: #0f172a;
  font-size: 0.9em;
}
