/*
  HealThyRam Design Tokens v2.1.0 (2026-10-21) — GENERATED from design-system/tokens/tokens.json (v2.1.0) by design-system/tools/build-tokens.mjs — do not edit by hand.
  SINGLE SOURCE OF TRUTH: design-system/tokens/tokens.json. Identical copy in every plugin that ships it
  (healthyram-wellness, qori-assessment, healthyram-thyrocare, htr-search, htr-blog).
  v2.0 is additive: every 1.4.2 value is unchanged. New work: --radius-control (4px, no pills), --type-* (px; the
  theme root is 10px so rem tokens render small), --control-height, --focus-ring-*, --chart-*.
*/

:root {
	/* ── Colors (tokens/colors.css) ── */
	/* Core palette */
	--ht-green: #5FA30F;
	--ht-green-dark: #4E7A2E;
	--ht-green-bright: #99CA3C;
	--ht-green-soft: #F0F5EA;
	--ht-orange: #F8991D;
	--ht-orange-soft: #FEF3E2;
	--ht-ink: #1A1A2E;
	--ht-muted: #666766;
	--ht-line: #E6EDE0;
	--ht-bg: #FDFAF5;
	--ht-white: #FFFFFF;
	/* Semantic */
	--ht-error: #D32F2F;
	--ht-error-dark: #B71C1C;
	--ht-error-border: #C62828;
	/* Semantic aliases */
	--surface-page: var(--ht-bg);
	--surface-card: var(--ht-white);
	--surface-tint-green: var(--ht-green-soft);
	--surface-tint-orange: var(--ht-orange-soft);
	--text-body: var(--ht-ink);
	--text-muted: var(--ht-muted);
	--text-on-brand: var(--ht-white);
	--border-default: var(--ht-line);
	--accent-primary: var(--ht-green);
	--accent-primary-hover: var(--ht-green-dark);
	--accent-secondary: var(--ht-orange);
	/* HNBC sub-brand — community/membership content ONLY, never core clinical/QORI */
	--hnbc-green: #98C038;
	--hnbc-gold: #F8A810;
	--hnbc-orange: #F87820;
	--hnbc-red: #E02838;
	--hnbc-purple: #904098;
	--hnbc-blue: #3090C8;

	/* ── Typography (tokens/typography.css) ── */
	/* Families */
	--ht-font-body: 'Roboto', -apple-system, 'Segoe UI', sans-serif;
	--ht-font-head: 'Roboto Slab', Georgia, serif;
	--font-body: var(--ht-font-body);
	--font-display: var(--ht-font-head);
	/* Type scale (rem — legacy; root-dependent, see header) */
	--text-h1-size: 1.625rem;
	--text-h2-size: 1.1875rem;
	--text-h3-size: 1.05rem;
	--text-body-size: 1rem;
	--text-small-size: 0.875rem;
	--text-micro-size: 0.75rem;
	--text-heading-tracking: -0.2px;
	--text-heading-leading: 1.3;
	/* Type scale (px — v2.0, root-independent; use these) — v2.0.0 */
	--type-h1: 26px;
	--type-h2: 19px;
	--type-h3: 17px;
	--type-body: 16px;
	--type-small: 14px;
	--type-micro: 12px;
	--type-tooltip: 13px;
	/* Article (B7, founder decision 21 Oct 2026) — v2.1.0 */
	--type-article: 17px;
	--type-article-h1: 32px;
	--type-article-h1-phone: 26px;
	--type-article-h2: 24px;
	--leading-article: 1.7;

	/* ── Spacing (tokens/spacing.css) ── */
	/* Scale */
	--space-1: 4px;
	--space-2: 8px;
	--space-3: 12px;
	--space-4: 16px;
	--space-5: 20px;
	--space-6: 24px;
	--space-8: 32px;
	--space-12: 48px;
	/* Controls (v2.0) — v2.0.0 */
	--control-height: 48px;
	--target-min: 44px;
	--container-max: 1200px;
	/* Reading width — v2.1.0 */
	--measure-article: 720px;

	/* ── Radius, shadow, motion (tokens/effects.css) ── */
	/* Radius (1.4 — kept) */
	--radius-default: 8px;
	--radius-sm: 5px;
	/* Radius (v2.0) — v2.0.0 */
	--radius-control: 4px;
	--radius-card: 8px;
	--radius-track: 3px;
	/* Shadow — ink/green-tinted, never neutral black */
	--shadow-card: 0 1px 4px rgba(26, 26, 46, .08);
	--shadow-card-hover: 0 3px 10px rgba(26, 26, 46, .10);
	--shadow-btn: 0 2px 8px rgba(101, 154, 65, .28);
	--shadow-btn-hover: 0 4px 12px rgba(101, 154, 65, .34);
	--shadow-active: 0 2px 6px rgba(101, 154, 65, .3);
	/* Focus (v2.0) — v2.0.0 */
	--focus-ring-width: 2px;
	--focus-ring-color: var(--ht-green-dark);
	--focus-ring-offset: 2px;
	/* Motion — subtle only; disable under prefers-reduced-motion */
	--ease-default: cubic-bezier(.22, .61, .36, 1);
	--duration-fast: .16s;
	--duration-medium: .18s;
	--duration-entrance: .42s;

	/* ── Data visualisation (tokens/dataviz.css) ── */
	/* QORI Resilience Index — the 7 domains */
	--dataviz-domain-emotional-vitality: #D9432E;
	--dataviz-domain-inner-calm: #8E5FBF;
	--dataviz-domain-physical-energy: var(--ht-orange);
	--dataviz-domain-sleep-quality: #2E86AB;
	--dataviz-domain-purpose: var(--ht-green);
	--dataviz-domain-mindful-awareness: #5B2C83;
	--dataviz-domain-relational-harmony: #E8A838;
	/* Resilience bands */
	--dataviz-band-critical: var(--ht-error-border);
	--dataviz-band-low: var(--ht-error-border);
	--dataviz-band-moderate: var(--ht-orange);
	--dataviz-band-good: var(--ht-green);
	--dataviz-band-high: #2E86AB;
	/* Neutral status chips */
	--status-neutral-bg: #ECEFF1;
	--status-neutral-text: #546E7A;
	/* Chart kit for health markers (v2.0, A10) — v2.0.0 */
	--chart-on-target: #4E7A2E;
	--chart-outside-target: #F8991D;
	--chart-outside-lab: #D32F2F;
	--chart-not-tested: #9AA5B1;
	--chart-qori: #2E86AB;
	--chart-line: #5B6475;
	--chart-grid: var(--ht-line);
	--chart-target-band: var(--ht-green-soft);
}
