/* Colour. Ported from the working page. Three colours — black, white, one red — plus
   ONE documented ground-only exception, the maroon ramp. Grey is mixed from black only:
   no warm greys, no cool greys, no tinted off-blacks. */
:root{
  color-scheme:dark; /* committed single-theme brand surface: black ground, white tiles, one red; no light variant to theme */

  --ink:        #0d0d0d;   /* @kind color */
  --ink-soft:   #1a1a1a;   /* @kind color */
  --paper:      #ffffff;   /* @kind color */
  --paper-soft: #f4f4f4;   /* @kind color */
  --red:        #e2231a;   /* @kind color */ /* red on white, and white text on a red fill, 4.68:1 */
  --red-dark:   #e5372f;   /* @kind color */ /* red on a black ground only, 4.55:1. Never on white. */
  --grey-light: #6b6b6b;   /* @kind color */ /* secondary text on light grounds, 5.33:1 on white, 4.85:1 on #f4f4f4 */
  --grey-dark:  #a3a3a3;   /* @kind color */ /* secondary text on black, 7.70:1 */
  --line-dark:  rgba(255,255,255,.16);  /* @kind color */ /* hairline on black, not text */
  --line-light: #e7e7e7;                /* @kind color */ /* hairline on white, not text */

  /* NIGHT MARKET override, THEME-NIGHTMARKET.md. One added hue, ground only, never
     ink: it may be a full-bleed band background and nothing else, at most one band
     on the page, in the slot the single red band used to occupy.
     The client's reference measured hue 342, a magenta leaning crimson. Building on
     that exact value produced a band that read as a copy of their asset, so the whole
     ramp is rotated to hue 352 — 10 degrees off theirs and 10 nearer our own red
     (#e2231a is hue 3). White on the lightest stop measures 10.12:1. Red is 2.16:1 on
     this ground, so every piece of text on maroon is pure white. */
  --maroon-core: #84101f;  /* @kind color */ /* the gradient's lightest stop. A CEILING, never go lighter */
  --maroon-mid:  #640c18;  /* @kind color */ /* the field */
  --maroon-edge: #490911;  /* @kind color */ /* mid stop */
  --maroon-deep: #32060c;  /* @kind color */ /* darkest stop */

  /* Structural rules, heavier than a hairline. Where a section has no image and no icon,
     these are its only division device. Still neutral. */
  --rule-dark:  rgba(255,255,255,.34);  /* @kind color */
  --rule-light: #c9c9c9;                /* @kind color */

  /* Ground-relative aliases so one drawing and one rule colour work on either parity.
     Defaults are the black-ground values, because body is black; .t-w and .t-k
     redefine them per painted ground. */
  --dim:   var(--grey-dark);   /* @kind color */ /* secondary text on the current ground */
  --line:  var(--line-dark);   /* @kind color */ /* hairline on the current ground */
}
/* Type. Three families, one job each; one scale, six steps. */
:root{
  --font-display:Anton, Impact, 'Arial Narrow', sans-serif;        /* @kind font */ /* the shout, hero and bill only */
  --font-connective:Newsreader, Georgia, serif;                    /* @kind font */ /* italic lowercase connectives inside the shout */
  --font-sans:'IBM Plex Sans','Helvetica Neue',Arial,sans-serif;   /* @kind font */ /* the working voice, everything else */

  --fs-12:12px;  /* @kind font */
  --fs-17:17px;  /* @kind font */
  --fs-d2:clamp(28px, 4.6vw, 40px);   /* @kind font */ /* tile heads */
  --fs-d1:clamp(33px, 6vw, 53px);     /* @kind font */ /* the largest non-Anton setting */
  --fs-hero:clamp(3.4rem, 10.5vw, 7.5rem);   /* @kind font */ /* Anton manifesto */
  --fs-and:clamp(1.5rem, 5vw, 3.75rem);      /* @kind font */ /* Newsreader connectives inside it */
  /* The bill extends the display scale by ONE documented step. Read as a 1.33 step
     (perfect fourth) up from --fs-d1 the run is 53 / 70 / 94 / 125; the authored hero
     at 120 sits on the top step, so --fs-bill takes the 94 and lands exactly one step
     under it. The clamp's low end, 30px, is 40 / 1.33. Scale: 12 / 17 / 40 / 53 / 94 / 120. */
  --fs-bill:clamp(1.875rem, 10vw, 5.875rem);  /* @kind font */
  --lh-head:1.109;  /* @kind font */
}
/* Spacing and measure. One 8px unit, literal values only — no calc() or clamp() in any
   inset, so the audit detector can resolve every padding. */
:root{
  --s-8:8px;    /* @kind spacing */
  --s-16:16px;  /* @kind spacing */
  --s-24:24px;  /* @kind spacing */
  --s-32:32px;  /* @kind spacing */
  --s-40:40px;  /* @kind spacing */
  --s-48:48px;  /* @kind spacing */
  --s-64:64px;  /* @kind spacing */
  --s-80:80px;  /* @kind spacing */
  --s-96:96px;  /* @kind spacing */
  --s-128:128px; /* @kind spacing */

  --content-max:1160px; /* @kind spacing */ /* .wrap and .tin content column */
  --measure:62ch;       /* @kind spacing */ /* body measure */
  --radius:0;           /* @kind radius */ /* nothing on this page is rounded except the numbered badge */
  --shadow:none;        /* @kind shadow */ /* the system has no shadow scale */
}
