/**
 * BastionLog design tokens — audit dossier foundation (TASK-329 UI-W1).
 *
 * Canonical tokens follow the audit-dossier specification.  The --bv-* aliases
 * keep existing page components on the same palette until their W2-W4 layout
 * passes, without preserving any of the retired bright-technology colours.
 */
:root {
  /* ---- paper and ink ---- */
  --paper: #fafaf8;
  --panel: #ffffff;
  --panel-alt: #fcfcfa;
  --ink: #17181a;
  --ink-secondary: #6e6b63;
  --ink-faint: #9b9890;
  --hairline: #e3e1da;
  --hairline-strong: #c9c6bd;
  --rule-heavy: #17181a;

  /* ---- interaction ---- */
  --navy: #1b3a5c;
  --navy-hover: #254a72;
  --navy-active: #152e4a;
  --navy-link-hover: #3d5f84;
  --navy-text-on: #e8ebef;
  --navy-text-muted: #9fb3c8;
  --navy-body: #b9c5d2;
  --navy-divider: rgba(255, 255, 255, 0.15);

  /* ---- sourced adverse facts only ---- */
  --signal-adverse: #8c2b2b;

  /* ---- language-aware type stacks ---- */
  --font-serif: "Noto Serif SC", "Songti SC", serif;
  --font-sans: "IBM Plex Sans", "Noto Sans SC", -apple-system, "PingFang SC",
    "Microsoft YaHei", sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, monospace;
  --body-leading: 1.85;
  --heading-leading: 1.3;

  /* ---- type scale ---- */
  --bv-text-xs: 0.75rem;
  --bv-text-sm: 0.84375rem;
  --bv-text-base: 0.9375rem;
  --bv-text-md: 1rem;
  --bv-text-lg: 1.4375rem;
  --bv-text-xl: 2rem;
  --bv-text-2xl: 2.875rem;
  --bv-text-3xl: 3.25rem;

  --bv-leading-tight: var(--heading-leading);
  --bv-leading-normal: var(--body-leading);

  --bv-weight-regular: 400;
  --bv-weight-medium: 500;
  --bv-weight-semibold: 600;
  --bv-weight-bold: 700;
  --bv-weight-extrabold: 900;
  --bv-tracking-tight: -0.02em;

  /* ---- spacing (4px base) ---- */
  --bv-space-1: 0.25rem;
  --bv-space-2: 0.5rem;
  --bv-space-3: 0.75rem;
  --bv-space-4: 1rem;
  --bv-space-5: 1.5rem;
  --bv-space-6: 2rem;
  --bv-space-7: 2.5rem;
  --bv-space-8: 3rem;
  --bv-space-10: 4rem;
  --bv-space-12: 6rem;
  --bv-space-16: 8rem;

  /* ---- shape, material, and layout ---- */
  --bv-radius-sm: 0;
  --bv-radius-md: 0;
  --bv-radius-lg: 0;
  --bv-shadow-card: none;
  --bv-anchor-width: 1px;
  --bv-report-max-width: 56rem;

  /* ---- compatibility aliases for existing Jinja page components ---- */
  --bv-color-canvas: var(--paper);
  --bv-color-surface: var(--panel);
  --bv-color-surface-sunken: var(--panel-alt);
  --bv-color-ink: var(--ink);
  --bv-color-ink-2: var(--ink);
  --bv-color-ink-3: var(--ink-secondary);
  --bv-color-border: var(--hairline);
  --bv-color-border-strong: var(--hairline-strong);
  --bv-color-action: var(--navy);
  --bv-color-brand: var(--navy);
  --bv-color-brand-ink: var(--ink);
  --bv-color-brand-soft: var(--panel-alt);
  --bv-color-title: var(--ink);
  --bv-color-masthead-bg: var(--navy);
  --bv-color-summary-border: var(--hairline);
  --bv-color-info: var(--navy);
  --bv-color-info-soft: var(--panel-alt);
  --bv-color-neutral-soft: var(--panel-alt);
  --bv-color-neutral-ink: var(--ink-secondary);
  --bv-color-attn-soft: var(--panel-alt);
  --bv-color-attn-ink: var(--ink);
  --bv-color-alert: var(--signal-adverse);
  --bv-color-alert-soft: var(--panel-alt);
  --bv-color-alert-ink: var(--signal-adverse);
  --bv-font-serif: var(--font-serif);
  --bv-font-sans: var(--font-sans);
  --bv-font-mono: var(--font-mono);

  color-scheme: light;
}

html:lang(en) {
  --font-serif: "Noto Serif", Georgia, serif;
  --font-sans: "IBM Plex Sans", -apple-system, "Helvetica Neue", sans-serif;
  --body-leading: 1.65;
  --heading-leading: 1.15;
}

html[lang="zh"],
html:lang(zh-Hans),
html:lang(zh-CN) {
  --font-serif: "Noto Serif SC", "Songti SC", serif;
  --font-sans: "IBM Plex Sans", "Noto Sans SC", -apple-system, "PingFang SC",
    "Microsoft YaHei", sans-serif;
  --body-leading: 1.85;
  --heading-leading: 1.3;
}

html:lang(zh-Hant),
html:lang(zh-TW),
html:lang(zh-HK) {
  --font-serif: "Noto Serif TC", "Songti TC", serif;
  --font-sans: "IBM Plex Sans", "Noto Sans TC", -apple-system, "PingFang TC",
    "Microsoft JhengHei", sans-serif;
  --body-leading: 1.85;
  --heading-leading: 1.3;
}
