/* Design tokens — the same palette as the eutonomous portal (design-tokens.css). */
:root {
  --brand: #4c6ef5; --brand-strong: #3b5bdb; --brand-soft: rgba(76,110,245,.10);
  --accent: #20c997; --accent-text: #0e7a5f;
  --bg: #f5f7f9; --surface: #ffffff; --surface-2: #f0f2f5; --border: #dde3ea; --border-strong: #c6cfd9;
  --text: #1c2733; --text-soft: #51606f; --text-faint: #8494a5;
  --danger: #d64545; --warning: #d9a406;
  --radius: 10px; --radius-lg: 16px;
  --font: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --shadow: 0 12px 32px rgba(16,24,40,.16);
  --code-bg: #f6f8fa;
  --nav-h: 48px;
}
[data-theme="dark"] {
  --brand: #6b8afd; --brand-strong: #8ea6ff; --brand-soft: rgba(107,138,253,.14);
  --accent: #20c997; --accent-text: #20c997;
  --bg: #1a1d23; --surface: #2a2d35; --surface-2: #333741; --border: rgba(255,255,255,.10); --border-strong: rgba(255,255,255,.18);
  --text: #f1f3f5; --text-soft: #adb5bd; --text-faint: #66788a;
  --danger: #f87171; --warning: #fbbf24;
  --shadow: 0 14px 40px rgba(0,0,0,.6);
  --code-bg: #1f2229;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: var(--bg); color: var(--text); font-family: var(--font); font-size: 15px;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:root { color-scheme: dark; } [data-theme="light"] { color-scheme: light; }
* { scrollbar-width: thin; scrollbar-color: var(--border-strong) transparent; }
#app { height: 100%; }
a { color: var(--brand-strong); }
button { font: inherit; }
code, pre { font-family: var(--mono); font-size: .875em; }
pre { background: var(--surface-2); border: 1px solid var(--border); border-radius: var(--radius); padding: .75rem; overflow-x: auto; }
::selection { background: var(--brand-soft); }
