:root {
  color-scheme: dark;
  --bg: #0b0c10;
  --surface-0: #0e1016;
  --surface-1: #12141c;
  --surface-2: #171a24;
  --surface-3: #1d202c;
  --border: #292d3a;
  --border-strong: #373c4c;
  --text: #f3f4f7;
  --text-soft: #b6bac6;
  --text-muted: #7d8393;
  --purple: #8b6cff;
  --purple-soft: #2b2448;
  /* --claude/--codex mean provider and nothing else: absent from the workspace
     palette and from run state, so the hue answers exactly one question. */
  --claude: #ee815c;
  --claude-soft: #3a211b;
  --codex: #62c7a6;
  --codex-soft: #17332c;
  --state-working: #6ea8ff;
  /* Blocked by another part of Portal — a queued verification, a deploy holding
     out for an idle box. Deliberately Working's hue with the saturation pulled
     out: it is the same kind of live work, and the missing energy IS the fact
     being reported. A fourth hue would make the rail a legend to memorise. */
  --state-waiting: #8ca4c9;
  --state-attention: #f5c451;
  /* Health is its own channel. It shares a hue with --codex today, but a
     surface's "up" dot must not move when the provider palette does. */
  --state-healthy: #62c7a6;
  --danger: #ef6b73;
  --rail-width: 64px;
  --context-width: 280px;
  --inspector-width: 320px;
  --reading-width: 820px;
  --composer-width: 820px;
  --mobile-nav-height: 64px;
  --radius-sm: 7px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --shadow-panel: 0 18px 48px rgb(0 0 0 / 35%);
  --font-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

/* Font declarations throughout V2 use rem so one preference can resize the
   whole interface without enlarging panels, spacing, or touch targets. Auto is
   intentionally calmer on a phone and more generous when desktop space exists. */
html { font-size: 16px; }
html[data-v2-text-size="standard"] { font-size: 16px; }
html[data-v2-text-size="comfortable"] { font-size: 18px; }
html[data-v2-text-size="large"] { font-size: 20px; }

@media (min-width: 960px) {
  html[data-v2-text-size="auto"] { font-size: 18px; }
}
