/*
 * Agent 情报局 · design tokens
 *
 * Every colour here is a published Figma variable, copied by value. This file
 * exists because there are now two surfaces -- the operator console at `/` and
 * the reader at `/app` -- and a second hand-copied palette is a palette that
 * drifts. Both shells link this file first; neither defines a colour of its
 * own. If a value here is wrong, it is wrong in Figma too.
 *
 * Three published tokens collide in the source file (accent-primary ==
 * status-model, accent-primary-hover == status-product, feedback-success ==
 * focus-ring). The values are kept as published rather than invented around,
 * and the one collision that would actually hurt someone -- a focus ring
 * indistinguishable from a success message -- is resolved by pointing focus at
 * a different published token, not by adding a colour.
 *
 * There is no light palette. That is why 跟随系统 is disabled in the reader's
 * settings rather than faked.
 */
:root {
  /* Published: colour */
  --color-bg-page: #07110c;
  --color-bg-sidebar: #050b08;
  --color-bg-card: #0b2a1f;
  --color-bg-card-hover: #12382a;
  --color-text-primary: #f7faf8;
  --color-text-secondary: #b7c8be;
  --color-text-tertiary: #7f968a;
  --color-accent-primary: #159a62;
  --color-accent-primary-hover: #43c98e;
  --color-accent-weak: #159a622e;
  --color-border-default: #315b48;
  --color-border-strong: #5b6b62;
  --color-status-model: #159a62;
  --color-status-product: #43c98e;
  --color-status-industry: #9acd64;
  --color-status-urgent: #d9b84e;
  --color-feedback-success: #5ecf9a;
  --color-feedback-warning: #d8ba72;
  --color-feedback-error: #e68170;
  --color-feedback-info: #cbd8d0;

  /* Focus uses accent-primary-hover: published, and distinct from success. */
  --color-focus: var(--color-accent-primary-hover);

  /* Published: spacing / radius */
  --spacing-3: 12px;
  --spacing-4: 16px;
  --radius-lg: 16px;
  /* Derived from the same 4px step the published values sit on. */
  --spacing-1: 4px;
  --spacing-2: 8px;
  --spacing-5: 24px;
  --spacing-6: 32px;
  --spacing-7: 48px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-pill: 999px;

  /*
   * Published: type. No web font is fetched on either surface -- Inter is
   * first in the stack so an installed copy is used, but a CDN link would send
   * every reader's IP to that CDN and break offline, and the server's own CSP
   * (style-src 'self') says the same thing.
   */
  --font-sans: "Inter", "Inter var", -apple-system, BlinkMacSystemFont,
    "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
  --font-mono: "SFMono-Regular", "IBM Plex Mono", Menlo, Consolas, monospace;
  --type-display: 700 32px/40px var(--font-sans);
  --type-title: 600 20px/26px var(--font-sans);
  --type-title-small: 600 16px/22px var(--font-sans);
  --type-body: 400 14px/21px var(--font-sans);
  --type-body-strong: 600 14px/21px var(--font-sans);
  --type-label: 500 13px/18px var(--font-sans);
  --type-caption: 400 12px/18px var(--font-sans);

  /*
   * Console-only: an operator reads columns of numbers, timestamps and ids,
   * and those have to line up. Tabular figures are a property of the same
   * Inter face, not a second typeface.
   */
  --type-mono-caption: 400 11px/16px var(--font-mono);
  --type-mono-data: 500 12px/18px var(--font-mono);
}
