/* Wander Window — the design tokens, in one place (REQUESTS.md N141).
 *
 * "for a lot of these features, are you using global variables? or building by
 *  hand every page, because most of them are very similar"
 *
 * Twenty-six pages hand-declared this palette. Changing one brand colour was a
 * twenty-six-file edit, and the drift had already started: --card was written
 * both `#fff` and `#ffffff`, --copper both `#78ccce` and `#78CCCE`, --line both
 * `rgba(41,54,74,0.12)` and `rgba(41,54,74,.12)`.
 *
 * WHAT IS IN HERE, AND THE BAR IT HAD TO CLEAR. Every value below was extracted
 * from all 26 pages and compared before it was moved. A token is here only if
 * the pages agreed outright, or agreed apart from notation (`#fff` vs `#ffffff`,
 * `.12` vs `0.12`), or agreed 15-to-2 where the two are the FIELD GUIDES running
 * a deliberately different palette — and those keep their own override.
 *
 * A GENUINE SPLIT IS NOT SHARED. `--radius` is 14px on three pages and 16px on
 * four; there is no majority to take, and putting either here would silently
 * hand a future page a default nobody chose. It stays on the pages. Same for
 * `--gap`, `--section-gap`, `--ink-soft` and `--muted`.
 *
 * HOW A PAGE DISAGREES, when it needs to: this file is linked BEFORE the page's
 * own <style>, so a `:root` in that block still wins. The field guides do
 * exactly that — they carry a deliberately different --gold, --gold-soft,
 * --line and --shadow, and they keep them.
 *
 * WHAT IS DELIBERATELY NOT HERE:
 *
 *   · `body { … }`. Thirteen distinct forms across the site — different fonts,
 *     some with min-height, some flex-centred. There is no shared body rule to
 *     extract, and inventing one would restyle pages nobody asked me to touch.
 *   · Any layout, component or page rule. This file is tokens and the four
 *     resets that were byte-identical everywhere. It is not a framework.
 *   · assets/curation.js's palette. That one is injected by JavaScript for the
 *     two advisor curation pages, which carry no <style> at all by design. It
 *     already has exactly one copy, which is the property this file is for.
 */

:root {
  /* ---- ink and paper ---------------------------------------------------
     Unanimous: --ink and --paper were byte-identical on all 26 pages. */
  --ink: #29364a;
  --paper: #f7f9f9;
  --paper-dim: #e0e6e5;
  --card: #ffffff;

  /* ---- the accents -----------------------------------------------------
     --copper-text is the one that carries text. It exists because white on
     --gold (#2f9c9e) measures 3.0:1 and fails; #297678 measures 5.31:1. Three
     pages carry a note to that effect. Do not "simplify" them into one. */
  --gold: #2f9c9e;
  --gold-soft: #78ccce;
  --copper: #78ccce;
  --copper-text: #297678;
  --brick: #c96286;
  /* --brick-text is to --brick exactly what --copper-text is to --gold, and it
     exists for the same measured reason: white on --brick is 3.77:1 and fails
     4.5:1, while #ad4569 measures 5.48:1. Added 8 August 2026 when --brick
     started carrying white text — the "a person chose this and is waiting on
     you" mark on Decisions and Experiences. Use --brick where the colour is
     only seen (a border, a wash) and --brick-text wherever white sits on it.
     The suite measures this; it caught the 3.77 the first time. */
  --brick-text: #ad4569;
  --muted-ink: #6b7171;

  /* ---- the brand's own four, from the logo ------------------------------
     THE BRAND PALETTE, and it was reachable by ONE PAGE. These were declared
     in index.html's <style> alone, so every advisor page — the whole staff
     half of the product — could not resolve them and was built instead from
     teal derivatives that are not in the brand pack at all. Moved here 10
     August 2026 because that is precisely what this file's own header says it
     is for: "Changing one brand colour was a twenty-six-file edit."

     NOT A GENUINE SPLIT, so the rule at the top of this file permits it: each
     has exactly one value and no page disagrees. index.html still declares
     them identically in its own :root; that block is loaded after this one and
     simply wins with the same value, so nothing there changes. Removing the
     duplicate is a separate edit and is not worth the risk of doing blind.

     SAMPLED FROM THE PIXELS of assets/wanderology-logo-full.png, not read off
     the style guide's swatches — re-verified 10 August 2026 against the file
     itself (3487x647, 217,311 opaque px): teal 101,766 px (46.8%), steel
     47,895 (22.0%), yellow 44,786 (20.6%), blush 22,793 (10.5%). THE GUIDE AND
     THE ARTWORK DISAGREE and the artwork wins: the guide prints maldives as
     #78CDCE, dutch tulip #FAEB68 and amalfi sunset #EDC7D4, all of which are a
     designer's approximation of the logo they describe. The guide also has no
     name at all for the steel, which is 22% of the mark, and lists a sixth
     colour ("san tropez" #CCEAEC) that appears nowhere in the logo or the site.

     --brand-teal IS THE SAME VALUE AS --gold-soft AND --copper, which is three
     names for one colour and now four. It is here anyway, because the brand
     palette is a SET and a designer reaching for the brand teal must find it
     under the brand's own name rather than under an accent alias. For new
     work --brand-teal is the one to use; the other two are legacy and are not
     being renamed, because they are referenced 44 times each.

     TWO OF THESE MAY NEVER CARRY TEXT, measured: yellow is 1.2:1 on white and
     blush 1.4:1, while steel is 4.97:1 and is safe as body text. Behind --ink
     instead, yellow is 9.9:1 and blush 5.4:1 — so
     both are highlight BACKGROUNDS under dark text — which is what the brand
     guide's own layouts do with them. The meaning is already fixed and is not
     up for reinvention: blush marks "a person chose this and is waiting on
     your answer"; teal marks "settled, on your trip". */
  --brand-teal: #78ccce;
  --brand-steel: #46749b;
  --brand-yellow: #f7ed67;
  --brand-blush: #efc7d6;

  /* ---- edges and depth -------------------------------------------------- */
  --line: rgba(41,54,74,0.12);
  --shadow: 0 10px 28px rgba(41,54,74,0.08);
  /* No --radius. It is 14px on three pages and 16px on four — a genuine split
     with no majority, so it stays where it is rather than becoming a default
     nobody picked. */

  /* ---- layout ----------------------------------------------------------
     One container width and one gutter across the tool, so pages do not drift
     apart. The gutter scales with the viewport instead of jumping at a
     breakpoint. */
  --container: 1080px;
  --container-read: 820px;
  --gutter: clamp(16px,5vw,40px);
}

/* ---- THIS FILE IS TOKENS ONLY, AND THAT IS A FINDING RATHER THAN A PREFERENCE.
 *
 * The four resets that were byte-identical on every page — `*{box-sizing:
 * border-box}`, `a{color:inherit;text-decoration:none}`, `.ti{vertical-align:
 * -2px}` and the `h1,h2` serif — WERE moved here, and three probes went red:
 * check-trip-map (the leaflet canvas measured 332px inside a 330px host, and a
 * sentence dropped to 1.72:1), check-destination-typeahead (sideways scroll at
 * 390px) and check-audit-fixes. They pass at HEAD and failed with the move, so
 * it was the move.
 *
 * A DECLARATION IN A LINKED FILE IS NOT IN THE SAME PLACE IN THE CASCADE as the
 * same declaration in the page's own <style>. The page's block comes after every
 * <link>, including leaflet's; this file cannot, because the page must still be
 * able to override a token. Moving the resets therefore reordered them against
 * every other stylesheet, and 2px of box-sizing is what that looks like.
 *
 * So the resets stay on their pages. The tokens — 271 duplicated declarations —
 * are the win, and they are order-insensitive because nothing else defines them.
 * Do not "finish the job" by moving the resets here without re-running those
 * three probes. */
