:root {
  --dotnet-purple: #512bd4;
  --vs-purple: #7c3aed;
  --dotnet-lilac: #9b6dff;

  --font-body: "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-mono: "Cascadia Code", Consolas, "Courier New", monospace;

  --container-width: 62rem;
  --radius: 14px;
  --transition: 0.25s ease;
}

:root[data-theme="dark"] {
  --bg: #131319;
  --bg-elevated: #1c1c26;
  --bg-navbar: rgba(19, 19, 25, 0.85);
  --text: #e9e9f2;
  --text-muted: #a0a0b8;
  --border: rgba(139, 92, 246, 0.25);
  --accent-blue: #60a5fa;
  --period-text: #8ec1ff;
  --period-bg: rgba(59, 130, 246, 0.16);
  --tag-bg: rgba(81, 43, 212, 0.28);
  --tag-text: #c9b8ff;
  --shadow-card:
    0 4px 24px rgba(0, 0, 0, 0.45),
    0 0 0 1px var(--border),
    0 0 32px rgba(81, 43, 212, 0.16);
  --shadow-card-hover:
    0 8px 32px rgba(0, 0, 0, 0.55),
    0 0 0 1px rgba(139, 92, 246, 0.5),
    0 0 48px rgba(81, 43, 212, 0.32);
  --glow-title: 0 0 24px rgba(139, 92, 246, 0.4);

  --cat-backend: #9b6dff;
  --cat-frontend: #45b3ff;
  --cat-dados: #ffc83d;
  --cat-arquitetura: #818cf8;
  --cat-devops: #8ccf3f;
  --cat-testes: #ff7a5c;
  --cat-idiomas: #2dd4bf;
}

:root[data-theme="light"] {
  --bg: #f3f3f7;
  --bg-elevated: #ffffff;
  --bg-navbar: rgba(243, 243, 247, 0.85);
  --text: #1e1a35;
  --text-muted: #5a5675;
  --border: rgba(81, 43, 212, 0.18);
  --accent-blue: #2563eb;
  --period-text: #1d4ed8;
  --period-bg: rgba(37, 99, 235, 0.08);
  --tag-bg: rgba(81, 43, 212, 0.1);
  --tag-text: #512bd4;
  --shadow-card:
    0 4px 20px rgba(81, 43, 212, 0.12),
    0 0 0 1px var(--border);
  --shadow-card-hover:
    0 10px 32px rgba(81, 43, 212, 0.22),
    0 0 0 1px rgba(81, 43, 212, 0.35);
  --glow-title: none;

  --cat-backend: #6d28d9;
  --cat-frontend: #0078d4;
  --cat-dados: #a16207;
  --cat-arquitetura: #4338ca;
  --cat-devops: #4d7c0f;
  --cat-testes: #c2410c;
  --cat-idiomas: #0f766e;
}
