/* Generated by tools/build-web-design.mjs from the pinned Claude artifact. Do not edit. */
/* Dr. MCB · Full Voltage palette. Values are the canonical kit's (mcb-ui/brand-assets → Digital/tokens.css).
 * Contrast figures live on each token's usage note in tokens.json (re-measured 2026-09-19) — read them, never estimate.
 * Each colour has one job: Night is the stage · Purple says whose world · Azure says what to notice or do · Acid says what is live now. */
:root{

  /* Glow fields — one radial per Night section, never behind running text, never clinical.
     Each is a bright core over a wide halo, so the field reads as light rather than as a flat tint. */
  --glow-hero:radial-gradient(ellipse 34% 38% at 72% 40%,rgba(103,56,156,.95),transparent 70%),radial-gradient(ellipse 72% 78% at 72% 40%,rgba(103,56,156,.5),transparent 72%); /* @kind color */
  --glow-corner:radial-gradient(ellipse 30% 42% at 90% 10%,rgba(103,56,156,.92),transparent 70%),radial-gradient(ellipse 66% 86% at 90% 10%,rgba(103,56,156,.5),transparent 72%); /* @kind color */
  --glow-foot:radial-gradient(ellipse 38% 30% at 50% 100%,rgba(103,56,156,.9),transparent 70%),radial-gradient(ellipse 78% 62% at 50% 100%,rgba(103,56,156,.5),transparent 72%); /* @kind color */
  --glow-azure:radial-gradient(ellipse 34% 30% at 76% 62%,rgba(91,140,255,.7),transparent 70%),radial-gradient(ellipse 78% 64% at 76% 62%,rgba(46,107,230,.42),transparent 72%); /* @kind color */
  --glow-azure-hero:radial-gradient(ellipse 34% 38% at 72% 40%,rgba(91,140,255,.62),transparent 70%),radial-gradient(ellipse 74% 80% at 72% 40%,rgba(36,91,196,.5),transparent 72%); /* @kind color */
  --glow-duo:radial-gradient(ellipse 30% 34% at 80% 24%,rgba(91,140,255,.55),transparent 70%),radial-gradient(ellipse 60% 70% at 40% 70%,rgba(103,56,156,.55),transparent 72%); /* @kind color */
  /* Acid glow — an accent field. Small, low, never behind text; it counts as the view's one Acid accent. */
  --glow-acid:radial-gradient(ellipse 22% 26% at 84% 26%,rgba(228,255,63,.3),transparent 66%),radial-gradient(ellipse 60% 66% at 84% 26%,rgba(228,255,63,.08),transparent 70%); /* @kind color */
  --photo-protect:linear-gradient(180deg,rgba(13,10,20,.1) 0%,rgba(13,10,20,.35) 45%,rgba(13,10,20,.92) 100%); /* @kind color */

  /* Banned, permanently: teal, amber, parchment, burgundy, wine, oxblood. Dark red is reserved for genuine safety alerts. */
}

/* Density is a standard: more real content per screen, never smaller type or tighter leading. Square geometry, no radii, no shadows. */
:root{
  --page-pad:clamp(20px,4vw,56px);
  --section-y:clamp(56px,7vw,96px);        /* @kind spacing */
  --section-y-tight:clamp(32px,4vw,56px);  /* @kind spacing */
  --gap:clamp(20px,3vw,40px);
  --gap-large:clamp(32px,4vw,56px);
  --content-max:1280px;
  --tap-min:44px;

  --radius:0;

  /* Rules and edges */
  --hairline-light:1px solid var(--rule-light);
  --hairline-lavender:1px solid var(--rule-light);
  --hairline-dark:1px solid var(--rule-dark);
  --hairline-dark-strong:1px solid var(--rule-dark);
  --link-rule-dark:2px solid var(--azure-light);
  --link-rule-light:2px solid var(--azure);
  --link-rule-purple:2px solid var(--purple);   /* links on Lavender Ground, where Azure is 4.4:1 */
  --card-rule:2px solid var(--purple);      /* top rule on clinical cards */
  --ghost-rule:2px solid var(--keyline-ghost);
  --keyline:3px solid var(--azure);         /* above an evidence heading */
  --signal-bar:4px solid var(--acid);       /* progress bar, one per view */
  --evidence-edge:13px solid var(--azure);  /* left edge of an evidence block */

  /* Motion — one move per shot */
  --ease:cubic-bezier(.2,.7,.3,1); /* @kind other */
  --duration:600ms;                /* @kind other */  /* entrance */
  --duration-fast:180ms;           /* @kind other */  /* state */
  --rise:18px;
}

/* Archivo carries the voice. Space Mono carries the proof (numerals, credentials, dates, sources) and is never a paragraph. */
:root{
  --font-display:"Archivo",Arial,sans-serif;
  --font-mono:"Space Mono","Courier New",monospace; /* one weight only — 700 */
  --font-wordmark:"Commuter Sans","Archivo",Arial,sans-serif; /* the wordmark face — 800 only */
  --font-accent:"Commuter Sans","Archivo",Arial,sans-serif;   /* occasional accent — 800 only */
  --weight-accent:800;

  /* Weights — one display weight */
  --weight-body:400;
  --weight-display:700;          /* display, headlines, subheads, labels, links, buttons */
  --weight-highlight:800;        /* highlight blocks and clinical web headings only */

  /* Display scale — sentence case, tight tracking, sub-1 leading */
  --display-1:clamp(56px,7.8vw,112px); /* @kind font */  /* hero, signature */
  --display-2:clamp(40px,5vw,64px);    /* @kind font */  /* section headline */
  --display-3:clamp(28px,3.4vw,44px);  /* @kind font */  /* card / feature headline */
  --display-4:clamp(24px,2.5vw,32px);  /* @kind font */  /* article headline */
  --display-tracking:-.055em;
  --display-leading:.88;
  --headline-tracking:-.035em;
  --headline-leading:1.02;

  /* Body */
  --body:17px;
  --body-large:20px;
  --body-small:15px;
  --body-leading:1.5; /* @kind other */
  --measure:68ch;

  /* Label · Archivo 700 15px sentence case */
  --label:15px;

  /* Text link · Archivo 700 16px with a 2px rule */
  --link:16px;

  /* Mono · 15px plain for list numerals; 11–13px uppercase tracked for sources, credentials, chrome */
  --mono:15px;
  --mono-small:11px;
  --mono-tracking-caps:.13em;
}
