/* FacebookAIOnline V1 premium visual tokens. This is the visual authority layer. */
:root {
  color-scheme: light;

  --brand-primary: #1d4ed8;
  --brand-secondary: #0f766e;
  --accent: #0e7490;
  --background-base: #f4f6f9;
  --background-subtle: #eef2f6;
  --surface-primary: #ffffff;
  --surface-secondary: #f8fafc;
  --surface-elevated: #ffffff;
  --text-primary: #111827;
  --text-secondary: #475569;
  --text-tertiary: #64748b;
  --border-subtle: #e2e8f0;
  --border-strong: #cbd5e1;
  --success: #15803d;
  --success-soft: #edf8f0;
  --warning: #a16207;
  --warning-soft: #fff8e6;
  --danger: #b42318;
  --danger-soft: #fff1f0;
  --info: #0369a1;
  --info-soft: #eef7fc;
  --action: #1d4ed8;
  --action-hover: #1e40af;
  --action-soft: #eef4ff;
  --processing: #0f766e;
  --processing-soft: #ecf8f6;
  --historical: #64748b;
  --historical-soft: #f1f5f9;
  --focus-ring: #2563eb;

  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC",
    "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
  --font-mono: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --font-display: 2rem;
  --font-h1: 1.75rem;
  --font-h2: 1.25rem;
  --font-h3: 1rem;
  --font-title: 0.9375rem;
  --font-body: 0.875rem;
  --font-small: 0.8125rem;
  --font-caption: 0.75rem;
  --font-label: 0.75rem;
  --font-numeric: 1.75rem;
  --line-tight: 1.25;
  --line-body: 1.58;

  --space-2: 2px;
  --space-4: 4px;
  --space-6: 6px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;

  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 8px;
  --radius-lg: 8px;
  --radius-xl: 8px;
  --radius-pill: 999px;

  --shadow-none: none;
  --shadow-subtle: 0 1px 2px rgba(15, 23, 42, 0.04);
  --shadow-card: 0 6px 18px rgba(15, 23, 42, 0.055);
  --shadow-raised: 0 14px 34px rgba(15, 23, 42, 0.09);
  --shadow-modal: 0 24px 64px rgba(15, 23, 42, 0.16);

  --motion-instant: 80ms;
  --motion-fast: 140ms;
  --motion-standard: 180ms;
  --motion-slow: 220ms;
  --easing-standard: cubic-bezier(0.2, 0, 0, 1);
  --easing-emphasized: cubic-bezier(0.2, 0.8, 0.2, 1);

  --page-max-width: 1600px;
  --sidebar-width: 224px;
  --content-gutter: 28px;
  --card-padding: 20px;
  --section-gap: 24px;
  --mobile-gutter: 14px;

  /* Compatibility aliases for the accepted V2 component vocabulary. */
  --v2-page: var(--background-base);
  --v2-page-strong: var(--background-subtle);
  --v2-bg: var(--background-base);
  --v2-surface: var(--surface-primary);
  --v2-surface-soft: var(--surface-secondary);
  --v2-surface-subtle: var(--surface-secondary);
  --v2-surface-raised: var(--surface-elevated);
  --v2-ink: var(--text-primary);
  --v2-ink-soft: var(--text-secondary);
  --v2-muted: var(--text-tertiary);
  --v2-muted-soft: #718096;
  --v2-border: var(--border-subtle);
  --v2-border-soft: #edf1f5;
  --v2-border-strong: var(--border-strong);
  --v2-primary: var(--brand-primary);
  --v2-primary-strong: var(--action-hover);
  --v2-primary-soft: var(--action-soft);
  --v2-success: var(--success);
  --v2-success-soft: var(--success-soft);
  --v2-warning: var(--warning);
  --v2-warning-soft: var(--warning-soft);
  --v2-danger: var(--danger);
  --v2-danger-soft: var(--danger-soft);
  --v2-info: var(--info);
  --v2-info-soft: var(--info-soft);
  --v2-neutral-soft: var(--historical-soft);
  --v2-font-sans: var(--font-sans);
  --v2-font-size-xs: var(--font-caption);
  --v2-font-size-sm: var(--font-small);
  --v2-font-size-md: var(--font-body);
  --v2-font-size-lg: var(--font-h3);
  --v2-font-size-xl: var(--font-h2);
  --v2-font-size-2xl: var(--font-h1);
  --v2-font-size-3xl: var(--font-display);
  --v2-weight-regular: 400;
  --v2-weight-medium: 500;
  --v2-weight-semibold: 600;
  --v2-weight-bold: 650;
  --v2-weight-black: 700;
  --v2-radius-xs: var(--radius-xs);
  --v2-radius-sm: var(--radius-sm);
  --v2-radius-md: var(--radius-md);
  --v2-radius-lg: var(--radius-lg);
  --v2-radius-xl: var(--radius-xl);
  --v2-shadow-xs: var(--shadow-subtle);
  --v2-shadow-sm: var(--shadow-subtle);
  --v2-shadow-md: var(--shadow-card);
  --v2-shadow-lg: var(--shadow-modal);
  --v2-sidebar-width: var(--sidebar-width);
  --v2-content-max: var(--page-max-width);
  --v2-transition: var(--motion-standard) var(--easing-standard);
}
