/* NodeLens semantic layer. Every value is a var() into brand.css; no colour values here.
   Light is the base; dark applies when the viewer picks it (html[data-theme=dark]) or, before any pick, when the
   system prefers dark. theme.js stamps data-theme in <head> before first paint, so the page never flashes.
   nodelens/brand.py reads this file and brand.css for server-drawn SVG and HTML exports. Keep one declaration per
   line inside the three blocks. */
:root{
  color-scheme:light;
  /* surfaces */
  --surface-app:var(--brand-neutral-75);
  --surface-canvas:var(--brand-neutral-50);
  --surface-panel:var(--brand-neutral-25);
  --surface-sunken:var(--brand-neutral-50);
  --surface-raised:var(--brand-neutral-0);
  --surface-chip:var(--brand-neutral-100);
  --surface-kbd:var(--brand-neutral-150);
  --surface-inverse:var(--brand-neutral-800);
  /* text */
  --text-1:var(--brand-neutral-900);
  --text-2:var(--brand-neutral-700);
  --text-3:var(--brand-neutral-625);
  --text-4:var(--brand-neutral-400);
  --text-inverse:var(--brand-neutral-0);
  /* borders */
  --border:var(--brand-neutral-150);
  --border-strong:var(--brand-neutral-200);
  --border-field:var(--brand-neutral-500);
  /* primary: teal; text-bearing teal on light needs step 800 (white on 700 is 3.9:1) */
  --primary:var(--brand-primary-800);
  --primary-hover:var(--brand-primary-900);
  --on-primary:var(--brand-neutral-0);
  --primary-fg:var(--brand-primary-800);
  --primary-ui:var(--brand-primary-700);
  --primary-disabled:var(--brand-primary-150);
  --link:var(--brand-primary-800);
  --focus:var(--brand-primary-700);
  /* accent: brand orange, sparingly (the mark, plan edits, one highlight) */
  --accent:var(--brand-accent-300);
  --accent-fg:var(--brand-accent-900);
  --on-accent:var(--brand-neutral-1000);
  /* status */
  --success:var(--brand-primary-800);
  --success-fg:var(--brand-primary-900);   /* success text on a success tint (status chips) */
  --warning:var(--hue-amber-400);
  --warning-fg:var(--hue-amber-700);
  --danger:var(--hue-red-700);
  --info:var(--hue-blue-700);
  --shared:var(--hue-magenta-600);
  /* data series: section families, in fixed order */
  --series-1:var(--brand-primary-600);
  --series-2:var(--hue-blue-700);
  --series-3:var(--hue-violet-500);
  --series-neutral:var(--brand-neutral-700);
  --shadow-color:var(--brand-shadow-light);
  /* map canvas */
  --map-canvas:var(--brand-neutral-50);
  --map-terr:var(--brand-neutral-100);
  --map-terr-line:var(--brand-neutral-300);
  --map-band:var(--brand-neutral-400);
  --map-text-1:var(--brand-neutral-900);
  --map-text-2:var(--brand-neutral-700);
  --map-text-3:var(--brand-neutral-625);
  --map-neutral:var(--brand-neutral-300);
  --map-halo:var(--brand-neutral-50);
  --map-fam-top:var(--brand-primary-600);
  --map-fam-hub:var(--hue-blue-700);
  --map-fam-region:var(--hue-violet-500);
  --map-fam-neutral:var(--brand-neutral-700);
  --map-fam-home:var(--brand-neutral-900);
  --map-fam-broken:var(--hue-red-700);
  --map-band-low:var(--brand-primary-150);
  --map-band-fair:var(--brand-primary-600);
  --map-band-strong:var(--brand-primary-900);
  --map-amber:var(--hue-amber-400);
  --map-red:var(--hue-red-700);
  --map-pink:var(--hue-magenta-600);
  --map-accent:var(--brand-accent-300);
  --map-amber-ink:var(--hue-amber-700);
  --map-accent-ink:var(--brand-accent-900);
  --map-hatch:var(--brand-neutral-400);
  --map-sel:var(--brand-neutral-900);
  --map-gap:var(--brand-neutral-700);
  --map-pill:var(--brand-neutral-900);
  --map-pill-ink:var(--brand-neutral-0);
  /* Index and Changes lenses (lenses.js): one hue per indexing state and per change */
  --lens-ok:var(--brand-primary-600);
  --lens-hidden:var(--hue-amber-400);
  --lens-canon:var(--hue-violet-500);
  --lens-redirect:var(--hue-blue-700);
  --lens-error:var(--hue-red-700);
  --lens-blocked:var(--brand-neutral-300);
  --lens-better:var(--brand-primary-700);
  --lens-worse:var(--hue-red-700);
  --lens-found:var(--hue-blue-700);
  --lens-lost:var(--brand-neutral-625);
  --lens-same:var(--brand-neutral-750);
  /* the NodeLens mark: teal facets left, orange facets right */
  --mark-1:var(--brand-primary-700);
  --mark-2:var(--brand-primary-500);
  --mark-3:var(--brand-primary-300);
  --mark-4:var(--brand-accent-300);
  --mark-5:var(--brand-accent-600);
  --mark-6:var(--brand-accent-800);
  --mark-hole:var(--brand-neutral-50);
  /* maker credit wordmark */
  --credit-word:var(--credit-word-light);
  --credit-mark:var(--credit-mark-light);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme=light]){
    color-scheme:dark;
    --surface-app:var(--brand-neutral-975);
    --surface-canvas:var(--brand-neutral-950);
    --surface-panel:var(--brand-neutral-925);
    --surface-sunken:var(--brand-neutral-900);
    --surface-raised:var(--brand-neutral-850);
    --surface-chip:var(--brand-neutral-900);
    --surface-kbd:var(--brand-neutral-850);
    --surface-inverse:var(--brand-neutral-100);
    --text-1:var(--brand-neutral-50);
    --text-2:var(--brand-neutral-300);
    --text-3:var(--brand-neutral-400);
    --text-4:var(--brand-neutral-650);
    --text-inverse:var(--brand-neutral-950);
    --border:var(--brand-neutral-850);
    --border-strong:var(--brand-neutral-750);
    --border-field:var(--brand-neutral-500);
    --primary:var(--brand-primary-300);
    --primary-hover:var(--brand-primary-200);
    --on-primary:var(--brand-neutral-1000);
    --primary-fg:var(--brand-primary-200);
    --primary-ui:var(--brand-primary-300);
    --primary-disabled:var(--brand-primary-950);
    --link:var(--brand-primary-200);
    --focus:var(--brand-primary-200);
    --accent:var(--brand-accent-300);
    --accent-fg:var(--brand-accent-300);
    --on-accent:var(--brand-neutral-1000);
    --success:var(--brand-primary-300);
    --success-fg:var(--brand-primary-300);
    --warning:var(--hue-amber-300);
    --warning-fg:var(--hue-amber-300);
    --danger:var(--hue-red-300);
    --info:var(--hue-blue-300);
    --shared:var(--hue-magenta-300);
    --series-1:var(--brand-primary-600);
    --series-2:var(--hue-blue-500);
    --series-3:var(--hue-violet-400);
    --series-neutral:var(--brand-neutral-300);
    --shadow-color:var(--brand-shadow-dark);
    --map-canvas:var(--brand-neutral-950);
    --map-terr:var(--brand-neutral-900);
    --map-terr-line:var(--brand-neutral-800);
    --map-band:var(--brand-neutral-600);
    --map-text-1:var(--brand-neutral-50);
    --map-text-2:var(--brand-neutral-300);
    --map-text-3:var(--brand-neutral-400);
    --map-neutral:var(--brand-neutral-700);
    --map-halo:var(--brand-neutral-950);
    --map-fam-top:var(--brand-primary-600);
    --map-fam-hub:var(--hue-blue-500);
    --map-fam-region:var(--hue-violet-400);
    --map-fam-neutral:var(--brand-neutral-300);
    --map-fam-home:var(--brand-neutral-50);
    --map-fam-broken:var(--hue-red-300);
    --map-band-low:var(--brand-primary-800);
    --map-band-fair:var(--brand-primary-600);
    --map-band-strong:var(--brand-primary-200);
    --map-amber:var(--hue-amber-300);
    --map-red:var(--hue-red-300);
    --map-pink:var(--hue-magenta-300);
    --map-accent:var(--brand-accent-300);
    --map-amber-ink:var(--hue-amber-300);
    --map-accent-ink:var(--brand-accent-300);
    --map-hatch:var(--brand-neutral-500);
    --map-sel:var(--brand-neutral-0);
    --map-gap:var(--brand-neutral-200);
    --map-pill:var(--brand-neutral-50);
    --map-pill-ink:var(--brand-neutral-950);
    --lens-ok:var(--brand-primary-600);
    --lens-hidden:var(--hue-amber-300);
    --lens-canon:var(--hue-violet-400);
    --lens-redirect:var(--hue-blue-300);
    --lens-error:var(--hue-red-700);
    --lens-blocked:var(--brand-neutral-600);
    --lens-better:var(--brand-primary-500);
    --lens-worse:var(--hue-red-700);
    --lens-found:var(--hue-blue-300);
    --lens-lost:var(--brand-neutral-400);
    --lens-same:var(--brand-neutral-600);
    --mark-hole:var(--brand-neutral-900);
    --credit-word:var(--credit-word-dark);
    --credit-mark:var(--credit-mark-dark);
  }
}
:root[data-theme=dark]{
  color-scheme:dark;
  --surface-app:var(--brand-neutral-975);
  --surface-canvas:var(--brand-neutral-950);
  --surface-panel:var(--brand-neutral-925);
  --surface-sunken:var(--brand-neutral-900);
  --surface-raised:var(--brand-neutral-850);
  --surface-chip:var(--brand-neutral-900);
  --surface-kbd:var(--brand-neutral-850);
  --surface-inverse:var(--brand-neutral-100);
  --text-1:var(--brand-neutral-50);
  --text-2:var(--brand-neutral-300);
  --text-3:var(--brand-neutral-400);
  --text-4:var(--brand-neutral-650);
  --text-inverse:var(--brand-neutral-950);
  --border:var(--brand-neutral-850);
  --border-strong:var(--brand-neutral-750);
  --border-field:var(--brand-neutral-500);
  --primary:var(--brand-primary-300);
  --primary-hover:var(--brand-primary-200);
  --on-primary:var(--brand-neutral-1000);
  --primary-fg:var(--brand-primary-200);
  --primary-ui:var(--brand-primary-300);
  --primary-disabled:var(--brand-primary-950);
  --link:var(--brand-primary-200);
  --focus:var(--brand-primary-200);
  --accent:var(--brand-accent-300);
  --accent-fg:var(--brand-accent-300);
  --on-accent:var(--brand-neutral-1000);
  --success:var(--brand-primary-300);
  --success-fg:var(--brand-primary-300);
  --warning:var(--hue-amber-300);
  --warning-fg:var(--hue-amber-300);
  --danger:var(--hue-red-300);
  --info:var(--hue-blue-300);
  --shared:var(--hue-magenta-300);
  --series-1:var(--brand-primary-600);
  --series-2:var(--hue-blue-500);
  --series-3:var(--hue-violet-400);
  --series-neutral:var(--brand-neutral-300);
  --shadow-color:var(--brand-shadow-dark);
  --map-canvas:var(--brand-neutral-950);
  --map-terr:var(--brand-neutral-900);
  --map-terr-line:var(--brand-neutral-800);
  --map-band:var(--brand-neutral-600);
  --map-text-1:var(--brand-neutral-50);
  --map-text-2:var(--brand-neutral-300);
  --map-text-3:var(--brand-neutral-400);
  --map-neutral:var(--brand-neutral-700);
  --map-halo:var(--brand-neutral-950);
  --map-fam-top:var(--brand-primary-600);
  --map-fam-hub:var(--hue-blue-500);
  --map-fam-region:var(--hue-violet-400);
  --map-fam-neutral:var(--brand-neutral-300);
  --map-fam-home:var(--brand-neutral-50);
  --map-fam-broken:var(--hue-red-300);
  --map-band-low:var(--brand-primary-800);
  --map-band-fair:var(--brand-primary-600);
  --map-band-strong:var(--brand-primary-200);
  --map-amber:var(--hue-amber-300);
  --map-red:var(--hue-red-300);
  --map-pink:var(--hue-magenta-300);
  --map-accent:var(--brand-accent-300);
  --map-amber-ink:var(--hue-amber-300);
  --map-accent-ink:var(--brand-accent-300);
  --map-hatch:var(--brand-neutral-500);
  --map-sel:var(--brand-neutral-0);
  --map-gap:var(--brand-neutral-200);
  --map-pill:var(--brand-neutral-50);
  --map-pill-ink:var(--brand-neutral-950);
  --lens-ok:var(--brand-primary-600);
  --lens-hidden:var(--hue-amber-300);
  --lens-canon:var(--hue-violet-400);
  --lens-redirect:var(--hue-blue-300);
  --lens-error:var(--hue-red-700);
  --lens-blocked:var(--brand-neutral-600);
  --lens-better:var(--brand-primary-500);
  --lens-worse:var(--hue-red-700);
  --lens-found:var(--hue-blue-300);
  --lens-lost:var(--brand-neutral-400);
  --lens-same:var(--brand-neutral-600);
  --mark-hole:var(--brand-neutral-900);
  --credit-word:var(--credit-word-dark);
  --credit-mark:var(--credit-mark-dark);
}
