/* ORAD design tokens (single source of truth).
   Consumed by the differential tool (web/, via the /theme mount) and the Astro
   reference site (public_site/). One light theme: a cool white page, white
   cards, navy ink and a blue accent. The palette, type and radius scale follow
   the same values as the sister clinical products so the family reads as one,
   but ORAD carries only its own name.

   There is no dark mode and no [data-theme] switch (removed 2026-09, plan
   docs/plans/2026-09-14-001-feat-orad-frontend-launch-polish-plan.md).
   Variable NAMES are kept stable so both stylesheets re-theme by value
   substitution rather than markup churn: --ox is still the single brand accent
   (now blue; the name is historical) and the provenance hues stay distinct via
   --blue/--amber/--green/--teal/--grey/--danger.

   Contrast is enforced by public_site/src/lib/theme-contrast.test.mjs: every
   text token and every --cat-* reaches 4.5:1 on --bg and --paper, keeps clear of
   the accent hue, and the category palette stays pairwise distinguishable. */

:root {
  /* Neutrals */
  --bg:     #F5F9FF;   /* page ground */
  --paper:  #FFFFFF;   /* card */
  --plate:  #0C2745;   /* image well behind radiographs: film is still read on a dark plate */
  --ink:    #0C2745;   /* headings, primary text */
  --text:   #1F3550;   /* body copy */
  --muted:  #54697F;   /* secondary text (darkened one step from the family value for AA) */
  --faint:  #5E7389;   /* labels / tertiary; body text at many sites, so it holds 4.5:1 too */
  --rule:   #D2DDEA;   /* hairline */

  /* Brand accent */
  --ox:      #2563EB;
  --ox-soft: #E8EFFD;  /* tint fill behind accent text and section bands */
  --on-ox:   #FFFFFF;  /* text on a solid accent */

  /* Provenance / confidence, kept distinct from each other and from the accent */
  --blue:  #5B44C4;  --blue-soft:  #ECE8F8;   /* AI high confidence (indigo, off the accent hue) */
  --amber: #8A5F0E;  --amber-soft: #F7EDD6;   /* AI moderate confidence */
  --green: #2F6B4F;  --green-soft: #E2EFE6;   /* clinician-confirmed / you */
  --teal:  #0F6E70;  --teal-soft:  #DCEFEF;   /* clinical finding */
  --grey:  #5F6B72;  --grey-soft:  #EAEEF2;   /* AI unsure / neutral */
  --danger:#B03A28;  --danger-soft:#F8E3DF;   /* AI low confidence / scrutinise */

  /* Type: one display face, one text face. --font-mono is kept as a name for the
     small uppercase labels; it now points at the text face and relies on the
     html-level tabular-nums rule for aligned digits. */
  --font-display: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;

  /* Layout (dynamic; JS may override --sidebar-w inline) */
  --sidebar-w: 360px;

  /* Radius scale: 20 / 12 / 8 with a 6 for chips */
  --r-xs: 6px; --r-sm: 8px; --r-md: 12px; --r-lg: 20px; --r-pill: 999px;

  /* Elevation: soft navy shadows, three steps from resting card to floating modal */
  --shadow-1: 0 8px 30px rgba(12,39,69,.08);
  --shadow-2: 0 12px 30px rgba(12,39,69,.12);
  --shadow-3: 0 30px 80px -40px rgba(12,39,69,.28);

  /* Motion */
  --dur-fast: .15s; --dur: .25s; --ease: cubic-bezier(.2, .7, .2, 1);

  /* Category palette, used by the lesion Map (tool lens and public /map). Semantic
     by hue family: benign->greens/teals, malignant->reds/roses, cysts->cyan-blue,
     fibro-osseous->bronze, giant-cell->burnt orange, inflammatory->olive,
     developmental/metabolic/systemic->violets, salivary->magenta, calcifications/
     TMJ->slate, normal/trauma->grey. Every value is text-safe on the light ground
     and sits at least 20 degrees of hue (or 15 points of lightness for the slates)
     away from the blue accent. Keyed by the categories.json slugs so a node's
     data-cat maps straight to fill:var(--cat-<slug>). */
  --cat-benign-odontogenic-tumors:                       #167F79;
  --cat-benign-non-odontogenic-tumors:                   #25784F;
  --cat-odontogenic-cysts:                               #1E6E8F;
  --cat-non-odontogenic-cysts-pseudocysts:               #0E7A89;
  --cat-malignant-odontogenic-tumors:                    #C8432F;
  --cat-malignant-tumors-non-odontogenic:                #8F2622;
  --cat-hematologic-lymphoproliferative-malignancies:    #B0305E;
  --cat-fibro-osseous-cemento-osseous-lesions:           #8B5E2C;
  --cat-giant-cell-lesions:                              #A85818;
  --cat-inflammatory-infectious-lesions:                 #6B6E28;
  --cat-metabolic-endocrine-bone-disease:                #6E4FB0;
  --cat-genetic-developmental-bone-dysplasias-syndromes: #4842A6;
  --cat-systemic-hematologic-non-malignant-conditions:   #8A4FA0;
  --cat-salivary-gland-lesions:                          #B9408F;
  --cat-soft-tissue-vascular-calcifications-foreign-bodies: #445B6D;
  --cat-tmj-joint-disorders:                             #3A6E78;
  --cat-trauma-surgical-iatrogenic:                      #67574A;
  --cat-normal-anatomy-developmental-dental-anomalies:   #565C63;
  --cat-fallback:                                        #55606A;

  color-scheme: light;
}
