/* ==========================================================================
   Design tokens
   A dark, terminal-adjacent palette. One accent (lavender) for interactive
   text, one warm accent (amber) reserved only for inline code / file paths,
   so the two never compete for attention.
   ========================================================================== */

:root {
  /* surfaces */
  --bg: #0a0a0c;
  --panel: #111114;
  --panel-border: #232329;
  --hover: #1a1a1f;
  --active: #1e1e2a;

  /* text */
  --text: #e9e9ee;
  --text-dim: #9999a3;
  --text-faint: #5c5c66;

  /* accents */
  --accent: #a9aeff;
  --accent-strong: #8489ff;
  --accent-soft: rgba(169, 174, 255, 0.12);

  --code-bg: #2a2115;
  --code-text: #e2a256;

  --ok: #7bc696;
  --warn: #e2b25c;
  --danger: #e2745c;

  /* type */
  --font-mono: 'JetBrains Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;

  /* layout */
  --nav-w: 272px;
  --aside-w: 300px;
  --radius: 8px;
  --radius-sm: 5px;
}

* {
  box-sizing: border-box;
}

html {
  color-scheme: dark;
}

body {
  margin: 0;
  background: var(--bg);
  background-image:
    radial-gradient(circle at 15% 0%, rgba(169, 174, 255, 0.05), transparent 40%),
    radial-gradient(circle at 85% 20%, rgba(226, 162, 86, 0.04), transparent 35%);
  background-attachment: fixed;
  color: var(--text);
  font-family: var(--font-sans);
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: var(--accent-soft);
  color: var(--text);
}

a {
  color: var(--accent);
  text-decoration: none;
}
a:hover {
  color: var(--accent-strong);
  text-decoration: underline;
}

:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  border-radius: 3px;
}

code, .mono {
  font-family: var(--font-mono);
}

@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; }
}
