/**
 * Do not edit directly, this file was auto-generated.
 */

:root {
  --color-primitive-deep-ink: #0f1a2a; /** Primary text. Inverse / hero / bookend backgrounds. */
  --color-primitive-warm-stone: #f2efeb; /** Primary canvas / default light background. */
  --color-primitive-terracotta: #c2704e; /** Signature accent. NEVER more than 15% of composition. */
  --color-primitive-slate-teal: #5a7f7e; /** Analytical contrast — charts, secondary data. */
  --color-primitive-warm-grey: #8a8a87; /** Secondary text, labels, metadata. */
  --color-primitive-white: #ffffff; /** Raised surfaces above warm-stone canvas. */
  --color-primitive-status-sage: #6b9b7d; /** On Track (○). Distinct from pillar.nutrition sage — do NOT deduplicate. */
  --color-primitive-status-amber: #d4a24e; /** Monitor (◐). Distinct from pillar.energy warm-amber — do NOT deduplicate. */
  --color-primitive-status-quiet-red: #c45c4a; /** Act (●). */
  --color-primitive-pillar-performance: #a85e3b; /** Deep Copper. */
  --color-primitive-pillar-sleep: #5b6f82; /** Slate Blue. */
  --color-primitive-pillar-energy: #c49a5c; /** Warm Amber. Distinct from status.amber — do NOT deduplicate. */
  --color-primitive-pillar-nutrition: #6b8a6e; /** Sage (pillar). Distinct from status.sage — do NOT deduplicate. */
  --color-semantic-surface-overlay: rgba(15, 26, 42, 0.8); /** Modal/sheet scrim — deep-ink @ 80%. */
  --color-semantic-border-subtle: rgba(15, 26, 42, 0.1); /** Deep-ink @ 10% — hairline dividers. */
  --color-semantic-border-default: rgba(15, 26, 42, 0.2); /** Deep-ink @ 20% — input borders, card edges. */
  --color-semantic-chart-track-empty: rgba(15, 26, 42, 0.06); /** Deep-ink @ 6% — empty chart track per brand v8.12. */
  --font-family-display: Fraunces, Georgia, serif; /** Headlines. opsz 144. Fraunces italic reserved for emphasis (terracotta color). */
  --font-family-body: Satoshi, Calibri, sans-serif; /** Body text. */
  --font-family-mono: 'JetBrains Mono', Consolas, monospace; /** Data values, numerics. */
  --font-weight-light: 300; /** Fraunces display weight. */
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700; /** Hero numbers (biomarker values, streak counts, deltas, prices), primary CTAs, critical alerts. NOT body, labels, or section headers. See ADR-0003 Typography Usage. */
  --font-size-label: 9px; /** Brand-mandated. Pair with letterSpacing.label + uppercase + font.weight.medium. */
  --font-size-xs: 0.75rem; /** 12px — captions, helper text. */
  --font-size-sm: 0.8125rem; /** 13px. */
  --font-size-base: 0.9375rem; /** 15px — body default. */
  --font-size-md: 1.0625rem; /** 17px — emphasized body. */
  --font-size-lg: 1.3125rem; /** 21px — h4. */
  --font-size-xl: 1.625rem; /** 26px — h3. */
  --font-size-2xl: 2.0625rem; /** 33px — h2. */
  --font-size-3xl: 2.5625rem; /** 41px — h1. */
  --font-size-4xl: 3.1875rem; /** 51px — display / hero. */
  --font-line-height-tight: 1.1; /** Display headlines. */
  --font-line-height-snug: 1.25;
  --font-line-height-normal: 1.45; /** Body default. */
  --font-line-height-relaxed: 1.6;
  --font-letter-spacing-tight: -0.01em;
  --font-letter-spacing-normal: 0;
  --font-letter-spacing-wide: 0.04em;
  --font-letter-spacing-label: 0.2em; /** Brand-mandated for label/eyebrow text. */
  --spacing-0: 0;
  --spacing-1: 0.25rem; /** 4px. */
  --spacing-2: 0.5rem; /** 8px. */
  --spacing-3: 0.75rem; /** 12px. */
  --spacing-4: 1rem; /** 16px — base. */
  --spacing-6: 1.5rem; /** 24px. */
  --spacing-8: 2rem; /** 32px. */
  --spacing-12: 3rem; /** 48px. */
  --spacing-16: 4rem; /** 64px. */
  --radius-input-icon: 6px;
  --radius-protocol-icon: 8px;
  --radius-source-icon: 10px;
  --radius-card: 12px; /** Cards (mobile). */
  --radius-cta: 12px; /** CTAs (mobile). */
  --radius-sheet: 16px; /** Nudge overlays, bottom sheets. */
  --radius-pill: 20px; /** Pills, data chips. */
  --radius-circle: 9999px; /** Adherence rings, avatars. */
  --radius-desktop-default: 2px; /** Universal desktop radius — web/investor surfaces. */
  --stroke-icon: 1.5px;
  --stroke-chart-line: 1.5px;
  --stroke-chart-line-emphasis: 2px;
  --stroke-ring: 3px; /** Adherence indicator default. */
  --stroke-ring-emphasis: 4px;
  --stroke-border-default: 1px;
  --stroke-border-frame: 1.5px; /** Phone-frame mockups in presentations — use this border, NOT box-shadow. */
  --opacity-chart-track-empty: 0.06; /** Empty chart track per brand v8.12. */
  --opacity-scrim: 0.8;
  --opacity-disabled: 0.4;
  --shadow-none: 0 0 0 0 #00000000;
  --shadow-xs: 0 1px 2px 0 #0F1A2A0A; /** Card lift — deep-ink @ 4%. */
  --shadow-sm: 0 4px 12px 0 #0F1A2A0F; /** Sheets, nudges — deep-ink @ 6%. */
  --shadow-md: 0 12px 24px 0 #0F1A2A14; /** Modals — deep-ink @ 8%. */
  --z-base: 1;
  --z-raised: 10; /** Cards, panels above canvas. */
  --z-sticky: 100; /** Sticky headers, bottom nav. */
  --z-overlay: 1000; /** Scrims, dropdowns. */
  --z-modal: 2000;
  --z-toast: 3000;
  --z-tooltip: 4000;
  --duration-fast: 120ms;
  --duration-base: 200ms;
  --duration-slow: 400ms;
  --duration-spinner: 900ms; /** Continuous loop. */
  --easing-standard: cubic-bezier(0.4, 0, 0.2, 1); /** Default — premium feel. */
  --easing-entrance: cubic-bezier(0.0, 0.0, 0.2, 1);
  --easing-exit: cubic-bezier(0.4, 0.0, 1.0, 1);
  --color-primitive-status-neutral: var(--color-primitive-warm-grey); /** Neutral (—). Aliased to warm-grey. */
  --color-primitive-pillar-metabolic: var(--color-primitive-terracotta); /** Pillar identity = terracotta. */
  --color-semantic-text-on-canvas: var(--color-primitive-deep-ink); /** Primary text on warm-stone canvas. */
  --color-semantic-text-on-inverse: var(--color-primitive-warm-stone); /** Primary text on deep-ink inverse surface. */
  --color-semantic-text-secondary: var(--color-primitive-warm-grey); /** Secondary text, metadata. Assumed on canvas. */
  --color-semantic-text-tertiary: var(--color-primitive-slate-teal); /** Charts, data labels. */
  --color-semantic-text-accent: var(--color-primitive-terracotta); /** Brand emphasis — Fraunces italic, link hover. */
  --color-semantic-text-label: var(--color-primitive-warm-grey); /** Eyebrows, nav categories. 9px / 0.2em / uppercase. */
  --color-semantic-surface-canvas: var(--color-primitive-warm-stone); /** Default page background. */
  --color-semantic-surface-raised: var(--color-primitive-white); /** Cards, panels above canvas. */
  --color-semantic-surface-inverse: var(--color-primitive-deep-ink); /** Bookend / hero / share-card / investor-slide moments only. */
  --color-semantic-border-strong: var(--color-primitive-deep-ink);
  --color-semantic-border-focus: var(--color-primitive-terracotta); /** Focus ring — pair with stroke.ring (3px). */
  --color-semantic-action-primary: var(--color-primitive-terracotta); /** CTAs, active states. Watch the 15% composition rule. */
  --color-semantic-action-primary-on: var(--color-primitive-warm-stone); /** Text/icon ON primary background. */
  --color-semantic-action-secondary: var(--color-primitive-deep-ink);
  --color-semantic-action-secondary-on: var(--color-primitive-warm-stone);
  --color-semantic-status-on-track: var(--color-primitive-status-sage);
  --color-semantic-status-monitor: var(--color-primitive-status-amber);
  --color-semantic-status-act: var(--color-primitive-status-quiet-red);
  --color-semantic-pillar-performance: var(--color-primitive-pillar-performance);
  --color-semantic-pillar-sleep: var(--color-primitive-pillar-sleep);
  --color-semantic-pillar-energy: var(--color-primitive-pillar-energy);
  --color-semantic-pillar-nutrition: var(--color-primitive-pillar-nutrition);
  --color-semantic-chart-line: var(--color-primitive-slate-teal);
  --color-semantic-chart-line-emphasis: var(--color-primitive-deep-ink);
  --color-semantic-status-neutral: var(--color-primitive-status-neutral);
  --color-semantic-pillar-metabolic: var(--color-primitive-pillar-metabolic);
  --shadow-focus-ring: 0 0 0 3px var(--color-semantic-border-focus); /** Terracotta 3px outset ring — pair with stroke.ring. */
}
