/* ============================================================================
   tokens.css

   Lifted out of public/index.html on 2026-08-16. A move, not a redesign. Every
   declaration below is byte for byte what was in the page, in the order it was
   in, so the winning value stays the winning value. Nothing was reordered,
   merged, renamed, reformatted or minified.

   Only rules that are nothing but custom property definitions live here. Two
   properties stay behind in site.css because they are declared inside rules
   that also carry ordinary declarations and are scoped to a selector rather
   than to the document: --find-gut on #t-findings .lead and --mlp-gut on
   .story. Hoisting either one would change which elements it applies to.

   Loaded before site.css. index.html links the two in that order.
============================================================================ */

/* from public/index.html:25 to 80, the document root block */
:root{
  --paper:#EDE7DA;
  --panel:#F4EFE3;
  --dark:#1E1B17;
  --ink:#1A1A18;
  --body:#33302A;
  --grey:#6B6559;
  --line:rgba(26,26,24,.18);
  --line2:rgba(26,26,24,.42);
  --rust:#B0552F;
  --slate:#5B6B7C;
  --guide:#4E8A9B;
  /* Two names the canon already used that the stylesheet had only ever written
     as literals: the brighter panel behind a drawing well, and the amber a
     warning verdict takes. Naming them changes nothing that was rendering. */
  --bright:#F7F3EA;
  --warn:#8A5A00;
  /* --teal and --moss were never defined here, and eleven rules across Figures,
     Queue and Components had been written against them. An undefined custom
     property makes the declaration invalid at computed value time, so colour
     fell back to whatever it inherited and border-color fell back to
     currentColor: every one of those rules had been rendering ink or grey where
     it was written to render teal. --guide already held the same teal value and
     is left alone so nothing that reads it moves. */
  --teal:#4E8A9B;
  --moss:#6E7A55;
  /* The way back. A plain blue, not one of the blues already carrying a meaning:
     --teal is a link and a selected sub navigation item, --slate is a chart
     series, --guide is a drawing guide. Both live here so the button changes in
     one edit. */
  --blue:#2C5C8F;
  --blue-over:#21456B;
  /* The SIM 09 reference carried two values this stylesheet had no token for:
     the warm and cool loop colours. Both were already in the file as literals
     inside the CSIM and CC objects the hand written SVG reads, so naming them
     changes nothing that was rendering and stops the reference bringing a
     second copy of the palette with it. Every other value in the reference
     root block already had a token here and was mapped onto it. */
  --warm:#8A2F2F;
  --cool:#3A6B8A;
  /* WHERE THE WORK IS: FOUR RAMPS AND ONE SOLID.  2026-08-26.

     --heat-little, --heat-some and --heat-most STOOD HERE AND ARE GONE. They
     were three densities of the body ink, keyed to a cell that carried no
     length and only a tint, so a reader could tell "more" from "less" and could
     not tell 146 from 74. The block is four columns of BARS now and a bar
     carries its own quantity in its length, so the three tints had nothing
     left to say. Grepped before deletion: they were read in drawHeat and in
     its legend and nowhere else on the site.

     SAMPLED OFF THE FIRST THIRTY SECONDS CHART, the hero these sit under, so
     the block and the picture above it are one palette rather than two. Each
     pair runs DEEP AT THE ORIGIN TO PALE AT THE TIP, which puts the weight
     where the bar starts and lets a long bar fade rather than shout.

     Three hues, and each carries a meaning the site already gives it:
       figures     the neutral. It is a count of what exists, not a verdict.
       unresolved  the warm end, the same family as --warm and --rust, which is
                   what this site spends on a thing that is open.
       sourced     the cool end, beside --cool and --blue, which is what it
                   spends on a thing that is settled.
       locked      ONE SOLID AND NO RAMP, near black. Locked is not a degree of
                   anything: a figure is locked or it is not, and a gradient
                   would imply a scale that does not exist. */
  --fig-deep:#9A9A91;   --fig-pale:#D3D3CB;
  --unres-deep:#8F4241; --unres-pale:#D9C0B6;
  --src-deep:#5A7490;   --src-pale:#CFD7DB;
  --lock-ink:#2E2E2A;
  --f:"Archivo","Helvetica Neue",Helvetica,Arial,sans-serif;
  --m:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --hdr:54px;
}

/* from public/index.html:188. It sat between rules rather than at the top of
   the sheet. It is the only declaration of --foot anywhere in public/, so
   nothing competes with it and moving it up the cascade changes no value. The
   page overwrites it at runtime through document.documentElement.style
   .setProperty at public/index.html:7134, which is an inline style and still
   wins over both files. */
:root{--foot:0px}

/* ----------------------------------------------------------------------------
   THE FIFTEEN NAMES THE NEW PAGE TEMPLATES USE, DEFINED AND READ BY NOTHING YET

   Added 2026-08-16. Each of the fifteen was grepped against the whole of
   public/ before it was written and every one returned zero references, so
   defining them cannot change what any existing rule computes to. They render
   nothing until the System, Result and Question pages land and read them.

   --paper AND --ink ARE DELIBERATELY NOT IN THIS BLOCK. The templates carry
   #E4DFD0 and #14140F for those two names. The site carries #EDE7DA and
   #1A1A18 in the root block above, and index.html reads var(--paper) 42 times
   and var(--ink) 113 times. Redefining either name here would repaint the
   existing site, which this pass must not do. The site values win and the
   decision on which value survives when the new page types land is deferred
   to the operator.
---------------------------------------------------------------------------- */
:root{
  --paper-deep:#DBD5C4;
  /* ------------------------------------------------------------------------
     RECONCILED 2026-08-24. FIVE OF THESE NAMED A ROLE THE SITE ALREADY HAD A
     TOKEN FOR AND GAVE IT A DIFFERENT VALUE, which is what made the three page
     types read as a second website. Each now points at the site's own token,
     so every rule that already reads the name picks up the site's value and
     NOT ONE RULE HAD TO BE EDITED to change them.

     The names are kept rather than replaced at each call site because every
     reference to all five sits inside the .sysdoc block in site.css or in the
     three page renderers: grepped 2026-08-24, plate 13 of 13, ink-body 8 of 8,
     ink-muted 15 of 15, hair 19 of 19, grid 2 of 2, and ZERO in index.html.
     Nothing the six tabs render can reach them, which is why this is safe.

       --plate      #F0ECE1            was, now the site's --panel  #F4EFE3
       --ink-body   #26251D            was, now the site's --body   #33302A
       --ink-muted  #6C6857            was, now the site's --grey   #6B6559
       --hair       #B9B2A0            was, now the site's --line2
       --grid       rgba(20,20,15,.06) was, now the site's --line
  ------------------------------------------------------------------------ */
  --plate:var(--panel);
  --ink-body:var(--body);
  --ink-muted:var(--grey);
  --hair:var(--line2);
  --grid:var(--line);
  --a1:#2F6F7E;
  --a2:#C4761F;
  --a3:#8A9A3B;
  --a4:#A33E2C;
  --a5:#3A5A8C;
  --a6:#8A5FA6;
  --flat:#CFC8B5;
  /* --display:Archivo and --mono:IBM Plex Mono were DELETED on 2026-08-24.
     Each restated the first family of a stack the site already defines, --f
     and --m, and each was read ZERO times: grepped across public/ and src/
     before deletion and both returned 0. Deleting a token nothing reads
     cannot change a computed value anywhere.

     --t-figure is ALSO read zero times and is NOT deleted. It duplicates no
     existing token, so it is dead weight rather than a second spelling of
     something, and removing it is a decision about the scale rather than a
     reconciliation. It stays, named here so the next session does not have to
     rediscover it. */
}

/* ----------------------------------------------------------------------------
   THE SCALE AND SPACING NAMES THE SYSTEM PAGE READS

   Added 2026-08-17, when the System page was brought up to the approved design
   in Profile Page.html. That template carries its own scale block and the site
   had no equivalent, so the fourteen names below are lifted from it at the
   values it states. Each was grepped across public/ and src/ before it was
   written and every one returned zero references, so defining them cannot
   change what any existing rule computes to.

   THREE NAMES IN THE TEMPLATE ARE DELIBERATELY NOT CARRIED ACROSS.

   --body is a FONT STACK in the template and a COLOUR, #33302A, in this site's
   root block above. Carrying the template's meaning would have repainted every
   rule in site.css that reads var(--body) as a colour. The page type uses --f
   and --m, the stacks this site already defines, and never --body for a font.

   --paper and --ink stay as the site states them, for the reason given in the
   block above. The page sits a shade off the mockup and that is the decision
   in force.

   --page is not carried either: the width of the page is the site shell's to
   decide, and #sim-view already sits inside it.
---------------------------------------------------------------------------- */
:root{
  --t-title:clamp(30px,3.9vw,50px);
  --t-h2:clamp(19px,2.1vw,26px);
  --t-h3:13px;
  --t-figure:clamp(22px,2.4vw,30px);
  --t-small:11px;
  --t-label:9px;
  --measure:620px;
  --gut:26px;
  --sp-section:50px;
  --sp-block:20px;
  --rule:1.5px;
  --rule-hvy:3px;
  --bar-h:30px;
  --dot:8px;
}
