/* Ava design tokens — «آوا» Aurora.
   Light is the default. data-theme="dark" swaps the palette; data-theme="system"
   (or no attribute) follows prefers-color-scheme; data-theme="light" pins light.
   data-panel="cms|license|update" sets the panel sub-accent on any subtree.

   Layout of this file:
   1. light    literal light values (also matches [data-theme="light"] subtrees)
   2. panels   sub-accent per panel
   3. dark     literal dark values (+ identical prefers-color-scheme copy)
   4. derived  every token that references another token (aliases, gradients).
      It matches :root, [data-theme] and [data-panel] so values recompute
      inside themed or panel-scoped subtrees. Do not redeclare these names
      in the literal blocks. */

/* @light */
:root,
[data-theme="light"] {
  color-scheme: light;
  --ava-font-sans: "Vazirmatn", system-ui, -apple-system, "Segoe UI", Tahoma, sans-serif;
  --ava-font-mono: ui-monospace, "SFMono-Regular", "JetBrains Mono", Menlo, Consolas, "Vazirmatn", monospace;
  --ava-font-feature-num: "ss01" on, "tnum" on;

  /* neutral scale: teal-grey */
  --ava-neutral-0: #ffffff;
  --ava-neutral-25: #f7fafa;
  --ava-neutral-50: #f1f5f5;
  --ava-neutral-100: #e8eeee;
  --ava-neutral-200: #d9e1e1;
  --ava-neutral-300: #bfcaca;
  --ava-neutral-400: #9aa7a7;
  --ava-neutral-500: #6f7c7c;
  --ava-neutral-600: #586565;
  --ava-neutral-700: #3d4a4a;
  --ava-neutral-800: #243030;
  --ava-neutral-900: #0f1a1a;
  --ava-neutral-950: #060a0a;

  /* brand scale: Avang teal (#088383 = 600), from ava-design tokens.json */
  --ava-brand-50: #e8f5f5;
  --ava-brand-100: #d6efee;
  --ava-brand-200: #afdfdd;
  --ava-brand-300: #7fcbc8;
  --ava-brand-400: #2bb5b2;
  --ava-brand-500: #129b98;
  --ava-brand-600: #088383;
  --ava-brand-700: #067070;
  --ava-brand-800: #065e5e;
  --ava-brand-900: #054f4f;
  --ava-brand-950: #032d2d;

  /* signature */
  --ava-accent: #088383;
  --ava-accent-ink: #067070;
  --ava-accent-hover: #067070;
  --ava-accent-active: #065e5e;
  --ava-accent-fg: #ffffff;
  --ava-accent-soft: #e8f5f5;
  --ava-accent-soft-2: #d6efee;
  --ava-accent-glow: rgba(8, 131, 131, 0.45);
  --ava-focus: #2563eb;
  --ava-aurora-1: #067070;
  --ava-aurora-2: #088383;
  --ava-aurora-3: #2bb5b2;
  --ava-aurora-hi: #7fe3de;
  --ava-strong-1: #065f5f;
  --ava-strong-2: #067070;
  --ava-strong-3: #088383;
  --ava-on-aurora: #ffffff;
  --ava-grad-brand-1: #043c3c;
  --ava-grad-brand-2: #065f5f;
  --ava-grad-brand-3: #088383;
  --ava-on-grad: #ffffff;
  --ava-grad-brand-soft: linear-gradient(135deg, #d6efee, #f4fafa);
  --ava-sub: #17bfe0;
  --ava-sub-ink: #076b80;
  --ava-sub-soft: rgba(23, 191, 224, 0.12);
  --ava-sub-strong: #0a7fa0;

  /* surfaces */
  --ava-bg: #f1f5f5;
  --ava-ink: #0f1a1a;
  --ava-ink-2: #3d4a4a;
  --ava-ink-3: #5c6969;
  --ava-ink-4: #9aa7a7;
  --ava-surface: rgba(255, 255, 255, 0.64);
  --ava-surface-strong: rgba(255, 255, 255, 0.84);
  --ava-surface-solid: #ffffff;
  --ava-sunk: rgba(6, 50, 50, 0.035);
  --ava-sunk-2: rgba(6, 50, 50, 0.065);
  --ava-line: rgba(6, 50, 50, 0.08);
  --ava-line-2: rgba(6, 50, 50, 0.14);
  --ava-hl: rgba(255, 255, 255, 0.95);
  --ava-tip-bg: rgba(8, 24, 24, 0.92);
  --ava-tip-ink: #f2f8f8;
  --ava-veil: rgba(3, 40, 40, 0.18);

  /* status: text-safe colours, soft fills, and vivid fills for graphics */
  --ava-ok: #166534;
  --ava-ok-soft: rgba(21, 128, 61, 0.1);
  --ava-ok-fill: #16a34a;
  --ava-warn: #92400e;
  --ava-warn-soft: rgba(245, 158, 11, 0.12);
  --ava-warn-fill: #d97706;
  --ava-bad: #b91c1c;
  --ava-bad-soft: rgba(220, 38, 38, 0.08);
  --ava-bad-fill: #dc2626;
  --ava-bad-strong: #b91c1c;
  --ava-info: #1d4ed8;
  --ava-info-soft: rgba(37, 99, 235, 0.08);
  --ava-mute: #5c6969;
  --ava-mute-soft: rgba(6, 50, 50, 0.06);
  --ava-paid-ink: #7a4f00;
  --ava-paid-bg: linear-gradient(135deg, #ffe7a8, #ffd27a);

  /* depth: three glass elevations */
  --ava-shadow-1: 0 1px 1px rgba(6, 30, 30, 0.03), 0 2px 6px -1px rgba(6, 30, 30, 0.05), 0 14px 30px -16px rgba(4, 70, 70, 0.16);
  --ava-shadow-2: 0 2px 4px rgba(6, 30, 30, 0.04), 0 26px 50px -20px rgba(4, 80, 80, 0.3);
  --ava-shadow-3: 0 50px 120px -30px rgba(3, 60, 60, 0.45), 0 12px 32px -12px rgba(6, 30, 30, 0.22);
  --ava-blur: blur(22px) saturate(170%);
  --ava-glass-1: var(--ava-surface);
  --ava-glass-2: var(--ava-surface-strong);
  --ava-glass-3: var(--ava-surface-strong);
  --ava-glass-border: var(--ava-line);
  --ava-glass-edge: none;
  --ava-rail-bg: var(--ava-surface-strong);

  /* living canvas */
  --ava-grid-dot: rgba(10, 70, 70, 0.09);
  --ava-blob-opacity: 0.3;
  --ava-blob-1: #2bb5b2;
  --ava-blob-3: #7fe3de;

  /* theme recipes (components stay theme-agnostic) */
  --ava-field-bg: #ffffff;
  --ava-raised: #ffffff;
  --ava-raised-2: #ffffff;
  --ava-kbd-bg: #ffffff;
  --ava-ring-gap: #ffffff;
  --ava-grad-glow: none;
  --ava-plot-glow: none;
  --ava-bar-opacity: 0.22;
  --ava-bar-on-opacity: 0.75;
  --ava-bar-glow: 0px;
  --ava-scene-glow-opacity: 0;
  --ava-core-tile: linear-gradient(135deg, #1f3333, #4a6464);
  --ava-off-tile: linear-gradient(135deg, #b5c2c2, #d4dcdc);
  --ava-doc-bg: linear-gradient(160deg, #fff4e5, #ffe1c2);
  --ava-doc-ink: #a14a07;
  --ava-login-card: rgba(255, 255, 255, 0.62);
  --ava-login-card-border: rgba(255, 255, 255, 0.8);
  --ava-float-bg: rgba(255, 255, 255, 0.58);

  /* radii */
  --ava-r-xs: 8px;
  --ava-r-sm: 11px;
  --ava-r: 14px;
  --ava-r-lg: 22px;
  --ava-r-xl: 28px;
  --ava-radius-md: 12px;
  --ava-radius-pill: 999px;

  /* spacing */
  --ava-space-1: 0.25rem;
  --ava-space-2: 0.5rem;
  --ava-space-3: 0.75rem;
  --ava-space-4: 1rem;
  --ava-space-5: 1.25rem;
  --ava-space-6: 1.5rem;
  --ava-space-8: 2rem;
  --ava-space-10: 2.5rem;
  --ava-space-12: 3rem;
  --ava-space-16: 4rem;

  /* type */
  --ava-font-caption: 0.75rem;
  --ava-font-small: 0.875rem;
  --ava-font-body: 1rem;
  --ava-font-h3: 1.25rem;
  --ava-font-h2: 1.5rem;
  --ava-font-h1: 2rem;
  --ava-font-display: 2.75rem;
  --ava-line-tight: 1.25;
  --ava-leading: 1.7;
  --ava-tracking-tight: -0.01em;
  --ava-tracking-display: -0.02em;
  --ava-weight-regular: 400;
  --ava-weight-medium: 500;
  --ava-weight-semibold: 650;
  --ava-weight-bold: 800;

  /* motion */
  --ava-ease: cubic-bezier(0.2, 0.8, 0.2, 1);
  --ava-duration-fast: 150ms;
  --ava-duration: 200ms;
  --ava-duration-slow: 400ms;
  --ava-duration-enter: 600ms;
  --ava-duration-shimmer: 2.4s;
  --ava-duration-spin: 7s;
  --ava-duration-drift: 26s;

  /* layout */
  --ava-sidebar: 256px;
  --ava-sidebar-collapsed: 4.5rem;
  --ava-topbar: 4rem;
  --ava-rail: 60px;
  --ava-rail-mini: 52px;
  --ava-tb: 56px;
  --ava-inspector: 344px;
  --ava-content-max: 80rem;
  --ava-z-topbar: 20;
  --ava-z-inspector: 45;
  --ava-z-sidebar: 40;
  --ava-z-overlay: 50;
  --ava-z-rail: 50;
  --ava-z-bulk: 60;
  --ava-z-toast: 70;
  --ava-z-veil: 80;
  --ava-z-palette: 90;

  /* auth (legacy split layout) */
  --ava-auth-bg: #043c3c;
  --ava-auth-fg: #f6f4ff;
  --ava-auth-fg-muted: #d8d0ff;
}

/* panels: quiet sub-accent */
[data-panel="cms"] {
  --ava-sub: #17bfe0;
  --ava-sub-ink: #076b80;
  --ava-sub-soft: rgba(23, 191, 224, 0.12);
  --ava-sub-strong: #0a7fa0;
}

[data-panel="license"] {
  --ava-sub: #5b7cfa;
  --ava-sub-ink: #3550c4;
  --ava-sub-soft: rgba(91, 124, 250, 0.12);
  --ava-sub-strong: #3a56d0;
}

[data-panel="update"] {
  --ava-sub: #f0861a;
  --ava-sub-ink: #9c4f00;
  --ava-sub-soft: rgba(240, 134, 26, 0.13);
  --ava-sub-strong: #b05a00;
}

/* dark */
:root[data-theme="dark"],
[data-theme="dark"] {
  color-scheme: dark;
  --ava-accent: #2bb5b2;
  --ava-accent-ink: #2bb5b2;
  --ava-accent-hover: #34c0bd;
  --ava-accent-active: #129b98;
  --ava-accent-fg: #09090b;
  --ava-accent-soft: #0d2e2e;
  --ava-accent-soft-2: #124040;
  --ava-accent-glow: rgba(43, 181, 178, 0.45);
  --ava-focus: #60a5fa;
  --ava-aurora-1: #0b8c8a;
  --ava-aurora-2: #2bb5b2;
  --ava-aurora-3: #5fd6d2;
  --ava-aurora-hi: #a5f0ec;
  --ava-strong-1: #129b98;
  --ava-strong-2: #2bb5b2;
  --ava-strong-3: #34c0bd;
  --ava-on-aurora: #09090b;
  --ava-grad-brand-soft: linear-gradient(135deg, #0f2a2a, #0c1616);
  --ava-sub: #3bddf5;
  --ava-sub-ink: #7eebfa;
  --ava-sub-soft: rgba(59, 221, 245, 0.12);
  --ava-bg: #060a0a;
  --ava-ink: #eef5f5;
  --ava-ink-2: #b9c6c6;
  --ava-ink-3: #8fa0a0;
  --ava-ink-4: #526262;
  --ava-surface: rgba(16, 30, 30, 0.52);
  --ava-surface-strong: rgba(18, 34, 34, 0.8);
  --ava-surface-solid: #0f1c1c;
  --ava-sunk: rgba(255, 255, 255, 0.03);
  --ava-sunk-2: rgba(255, 255, 255, 0.06);
  --ava-line: rgba(255, 255, 255, 0.07);
  --ava-line-2: rgba(255, 255, 255, 0.12);
  --ava-hl: rgba(255, 255, 255, 0.07);
  --ava-tip-bg: rgba(230, 244, 244, 0.96);
  --ava-tip-ink: #0f1a1a;
  --ava-veil: rgba(0, 0, 0, 0.45);
  --ava-ok: #4ade80;
  --ava-ok-soft: rgba(74, 222, 128, 0.12);
  --ava-ok-fill: #4ade80;
  --ava-warn: #fbbf24;
  --ava-warn-soft: rgba(251, 191, 36, 0.12);
  --ava-warn-fill: #fbbf24;
  --ava-bad: #f87171;
  --ava-bad-soft: rgba(248, 113, 113, 0.12);
  --ava-bad-fill: #f87171;
  --ava-bad-strong: #b91c1c;
  --ava-info: #60a5fa;
  --ava-info-soft: rgba(96, 165, 250, 0.12);
  --ava-mute: #8fa0a0;
  --ava-mute-soft: rgba(255, 255, 255, 0.06);
  --ava-paid-ink: #ffd98a;
  --ava-paid-bg: rgba(255, 210, 122, 0.14);
  --ava-shadow-1: 0 1px 0 rgba(255, 255, 255, 0.02) inset, 0 20px 40px -24px rgba(0, 0, 0, 0.8);
  --ava-shadow-2: 0 30px 60px -24px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.03);
  --ava-shadow-3: 0 60px 140px -30px rgba(0, 0, 0, 0.9), 0 0 80px -20px rgba(43, 181, 178, 0.18);
  --ava-glass-1: linear-gradient(180deg, rgba(22, 40, 40, 0.55), rgba(10, 20, 20, 0.55));
  --ava-glass-2: linear-gradient(180deg, rgba(24, 44, 44, 0.78), rgba(12, 22, 22, 0.78));
  --ava-glass-3: linear-gradient(180deg, rgba(22, 40, 40, 0.9), rgba(12, 22, 22, 0.9));
  --ava-glass-border: transparent;
  --ava-glass-edge: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.03) 40%, rgba(43, 181, 178, 0.12));
  --ava-rail-bg: linear-gradient(180deg, rgba(24, 44, 44, 0.78), rgba(12, 22, 22, 0.78));
  --ava-grid-dot: rgba(255, 255, 255, 0.055);
  --ava-blob-opacity: 0.42;
  --ava-field-bg: rgba(255, 255, 255, 0.04);
  --ava-raised: rgba(255, 255, 255, 0.08);
  --ava-raised-2: rgba(255, 255, 255, 0.03);
  --ava-kbd-bg: rgba(255, 255, 255, 0.06);
  --ava-ring-gap: #0f1c1c;
  --ava-grad-glow: drop-shadow(0 0 18px rgba(43, 181, 178, 0.35));
  --ava-plot-glow: drop-shadow(0 0 6px rgba(43, 181, 178, 0.55));
  --ava-bar-opacity: 0.3;
  --ava-bar-on-opacity: 0.9;
  --ava-bar-glow: 8px;
  --ava-scene-glow-opacity: 1;
  --ava-core-tile: linear-gradient(135deg, #2c4444, #5a7a7a);
  --ava-off-tile: linear-gradient(135deg, #253535, #3a4c4c);
  --ava-doc-bg: linear-gradient(160deg, #3a2a1a, #2a1c10);
  --ava-doc-ink: #ffb357;
  --ava-login-card: rgba(12, 26, 26, 0.62);
  --ava-login-card-border: rgba(255, 255, 255, 0.08);
  --ava-float-bg: rgba(14, 30, 30, 0.55);
  --ava-auth-bg: #032d2d;
}

:root[data-theme="dark"] [data-panel="cms"],
[data-theme="dark"] [data-panel="cms"],
[data-theme="dark"][data-panel="cms"] {
  --ava-sub: #3bddf5;
  --ava-sub-ink: #7eebfa;
  --ava-sub-soft: rgba(59, 221, 245, 0.12);
}

[data-theme="dark"] [data-panel="license"],
[data-theme="dark"][data-panel="license"] {
  --ava-sub: #8aa2ff;
  --ava-sub-ink: #b3c2ff;
  --ava-sub-soft: rgba(138, 162, 255, 0.12);
}

[data-theme="dark"] [data-panel="update"],
[data-theme="dark"][data-panel="update"] {
  --ava-sub: #ffa24a;
  --ava-sub-ink: #ffc48a;
  --ava-sub-soft: rgba(255, 162, 74, 0.13);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]):not([data-theme="dark"]) {
    color-scheme: dark;
    --ava-accent: #2bb5b2;
    --ava-accent-ink: #2bb5b2;
    --ava-accent-hover: #34c0bd;
    --ava-accent-active: #129b98;
    --ava-accent-fg: #09090b;
    --ava-accent-soft: #0d2e2e;
    --ava-accent-soft-2: #124040;
    --ava-accent-glow: rgba(43, 181, 178, 0.45);
    --ava-focus: #60a5fa;
    --ava-aurora-1: #0b8c8a;
    --ava-aurora-2: #2bb5b2;
    --ava-aurora-3: #5fd6d2;
    --ava-aurora-hi: #a5f0ec;
    --ava-strong-1: #129b98;
    --ava-strong-2: #2bb5b2;
    --ava-strong-3: #34c0bd;
    --ava-on-aurora: #09090b;
    --ava-grad-brand-soft: linear-gradient(135deg, #0f2a2a, #0c1616);
    --ava-sub: #3bddf5;
    --ava-sub-ink: #7eebfa;
    --ava-sub-soft: rgba(59, 221, 245, 0.12);
    --ava-bg: #060a0a;
    --ava-ink: #eef5f5;
    --ava-ink-2: #b9c6c6;
    --ava-ink-3: #8fa0a0;
    --ava-ink-4: #526262;
    --ava-surface: rgba(16, 30, 30, 0.52);
    --ava-surface-strong: rgba(18, 34, 34, 0.8);
    --ava-surface-solid: #0f1c1c;
    --ava-sunk: rgba(255, 255, 255, 0.03);
    --ava-sunk-2: rgba(255, 255, 255, 0.06);
    --ava-line: rgba(255, 255, 255, 0.07);
    --ava-line-2: rgba(255, 255, 255, 0.12);
    --ava-hl: rgba(255, 255, 255, 0.07);
    --ava-tip-bg: rgba(230, 244, 244, 0.96);
    --ava-tip-ink: #0f1a1a;
    --ava-veil: rgba(0, 0, 0, 0.45);
    --ava-ok: #4ade80;
    --ava-ok-soft: rgba(74, 222, 128, 0.12);
    --ava-ok-fill: #4ade80;
    --ava-warn: #fbbf24;
    --ava-warn-soft: rgba(251, 191, 36, 0.12);
    --ava-warn-fill: #fbbf24;
    --ava-bad: #f87171;
    --ava-bad-soft: rgba(248, 113, 113, 0.12);
    --ava-bad-fill: #f87171;
    --ava-bad-strong: #b91c1c;
    --ava-info: #60a5fa;
    --ava-info-soft: rgba(96, 165, 250, 0.12);
    --ava-mute: #8fa0a0;
    --ava-mute-soft: rgba(255, 255, 255, 0.06);
    --ava-paid-ink: #ffd98a;
    --ava-paid-bg: rgba(255, 210, 122, 0.14);
    --ava-shadow-1: 0 1px 0 rgba(255, 255, 255, 0.02) inset, 0 20px 40px -24px rgba(0, 0, 0, 0.8);
    --ava-shadow-2: 0 30px 60px -24px rgba(0, 0, 0, 0.85), 0 0 0 1px rgba(255, 255, 255, 0.03);
    --ava-shadow-3: 0 60px 140px -30px rgba(0, 0, 0, 0.9), 0 0 80px -20px rgba(43, 181, 178, 0.18);
    --ava-glass-1: linear-gradient(180deg, rgba(22, 40, 40, 0.55), rgba(10, 20, 20, 0.55));
    --ava-glass-2: linear-gradient(180deg, rgba(24, 44, 44, 0.78), rgba(12, 22, 22, 0.78));
    --ava-glass-3: linear-gradient(180deg, rgba(22, 40, 40, 0.9), rgba(12, 22, 22, 0.9));
    --ava-glass-border: transparent;
    --ava-glass-edge: linear-gradient(180deg, rgba(255, 255, 255, 0.13), rgba(255, 255, 255, 0.03) 40%, rgba(43, 181, 178, 0.12));
    --ava-rail-bg: linear-gradient(180deg, rgba(24, 44, 44, 0.78), rgba(12, 22, 22, 0.78));
    --ava-grid-dot: rgba(255, 255, 255, 0.055);
    --ava-blob-opacity: 0.42;
    --ava-field-bg: rgba(255, 255, 255, 0.04);
    --ava-raised: rgba(255, 255, 255, 0.08);
    --ava-raised-2: rgba(255, 255, 255, 0.03);
    --ava-kbd-bg: rgba(255, 255, 255, 0.06);
    --ava-ring-gap: #0f1c1c;
    --ava-grad-glow: drop-shadow(0 0 18px rgba(43, 181, 178, 0.35));
    --ava-plot-glow: drop-shadow(0 0 6px rgba(43, 181, 178, 0.55));
    --ava-bar-opacity: 0.3;
    --ava-bar-on-opacity: 0.9;
    --ava-bar-glow: 8px;
    --ava-scene-glow-opacity: 1;
    --ava-core-tile: linear-gradient(135deg, #2c4444, #5a7a7a);
    --ava-off-tile: linear-gradient(135deg, #253535, #3a4c4c);
    --ava-doc-bg: linear-gradient(160deg, #3a2a1a, #2a1c10);
    --ava-doc-ink: #ffb357;
    --ava-login-card: rgba(12, 26, 26, 0.62);
    --ava-login-card-border: rgba(255, 255, 255, 0.08);
    --ava-float-bg: rgba(14, 30, 30, 0.55);
    --ava-auth-bg: #032d2d;
  }

  :root:not([data-theme="light"]):not([data-theme="dark"]) [data-panel="cms"],
  :root:not([data-theme="light"]):not([data-theme="dark"])[data-panel="cms"] {
    --ava-sub: #3bddf5;
    --ava-sub-ink: #7eebfa;
    --ava-sub-soft: rgba(59, 221, 245, 0.12);
  }

  :root:not([data-theme="light"]):not([data-theme="dark"]) [data-panel="license"],
  :root:not([data-theme="light"]):not([data-theme="dark"])[data-panel="license"] {
    --ava-sub: #8aa2ff;
    --ava-sub-ink: #b3c2ff;
    --ava-sub-soft: rgba(138, 162, 255, 0.12);
  }

  :root:not([data-theme="light"]):not([data-theme="dark"]) [data-panel="update"],
  :root:not([data-theme="light"]):not([data-theme="dark"])[data-panel="update"] {
    --ava-sub: #ffa24a;
    --ava-sub-ink: #ffc48a;
    --ava-sub-soft: rgba(255, 162, 74, 0.13);
  }
}

/* @derived */
:root,
[data-theme],
[data-panel] {
  --ava-aurora: linear-gradient(115deg, var(--ava-aurora-1) 0%, var(--ava-aurora-2) 45%, var(--ava-aurora-3) 80%, var(--ava-aurora-hi) 100%);
  --ava-aurora-strong: linear-gradient(115deg, var(--ava-strong-1) 0%, var(--ava-strong-2) 50%, var(--ava-strong-3) 100%);
  --ava-grad-brand: linear-gradient(135deg, var(--ava-grad-brand-1), var(--ava-grad-brand-2), var(--ava-grad-brand-3));
  --ava-aurora-v: linear-gradient(180deg, var(--ava-aurora-3), var(--ava-aurora-1));
  --ava-aurora-soft: linear-gradient(115deg, color-mix(in srgb, var(--ava-aurora-2) 12%, transparent), color-mix(in srgb, var(--ava-aurora-3) 9%, transparent) 50%, color-mix(in srgb, var(--ava-sub) 12%, transparent));
  --ava-aurora-conic: conic-gradient(from 200deg, var(--ava-aurora-2), var(--ava-aurora-3), var(--ava-sub), var(--ava-aurora-hi), var(--ava-aurora-2));
  --ava-glow: 0 12px 26px -12px var(--ava-accent-glow);
  --ava-glow-strong: 0 16px 32px -12px var(--ava-accent-glow);
  --ava-focus-ring: 0 0 0 2px var(--ava-bg), 0 0 0 4px var(--ava-focus);
  --ava-blob-2: var(--ava-sub);
  --ava-scene-glow-sub: radial-gradient(900px 400px at 15% -5%, color-mix(in srgb, var(--ava-sub) 12%, transparent), transparent 60%);

  /* legacy names → Aurora tokens */
  --ava-bg-elevated: var(--ava-surface-solid);
  --ava-bg-subtle: var(--ava-sunk-2);
  --ava-bg-muted: var(--ava-sunk);
  --ava-bg-inverse: var(--ava-tip-bg);
  --ava-fg: var(--ava-ink);
  --ava-fg-muted: var(--ava-ink-2);
  --ava-fg-subtle: var(--ava-ink-3);
  --ava-fg-inverse: var(--ava-tip-ink);
  --ava-border: var(--ava-line);
  --ava-border-strong: var(--ava-line-2);
  --ava-accent-soft-fg: var(--ava-accent-ink);
  --ava-success: var(--ava-ok);
  --ava-success-soft: var(--ava-ok-soft);
  --ava-success-fg: var(--ava-ok);
  --ava-warning: var(--ava-warn);
  --ava-warning-soft: var(--ava-warn-soft);
  --ava-warning-fg: var(--ava-warn);
  --ava-danger: var(--ava-bad);
  --ava-danger-soft: var(--ava-bad-soft);
  --ava-danger-fg: var(--ava-bad);
  --ava-danger-solid: var(--ava-bad-strong);
  --ava-danger-solid-fg: var(--ava-on-grad);
  --ava-info-fg: var(--ava-info);
  --ava-gradient-brand: var(--ava-grad-brand);
  --ava-gradient-mesh:
    radial-gradient(ellipse at 100% 0%, rgba(43, 181, 178, 0.55), transparent 55%),
    radial-gradient(ellipse at 0% 100%, color-mix(in srgb, var(--ava-sub) 45%, transparent), transparent 55%),
    var(--ava-auth-bg);
  --ava-radius-xs: var(--ava-r-xs);
  --ava-radius-sm: var(--ava-r-sm);
  --ava-radius-lg: var(--ava-r-lg);
  --ava-radius-xl: var(--ava-r-xl);
  --ava-shadow-xs: 0 1px 2px rgba(6, 30, 30, 0.05);
  --ava-shadow-sm: var(--ava-shadow-1);
  --ava-shadow-md: var(--ava-shadow-2);
  --ava-shadow-lg: var(--ava-shadow-3);
  --ava-font-xs: var(--ava-font-caption);
  --ava-font-sm: var(--ava-font-small);
  --ava-font-md: var(--ava-font-body);
  --ava-font-lg: var(--ava-font-h3);
  --ava-font-xl: var(--ava-font-h2);
  --ava-font-2xl: var(--ava-font-h1);
  --ava-font-3xl: var(--ava-font-display);
}

/* Vazirmatn ss01 draws Latin digits as Persian; only fa wants that. */
:not(:lang(fa)) {
  --ava-font-feature-num: "tnum" on;
}
