/* Navigate Boats — design tokens, 2.0 "7a Sun & sails".
   GENERATED-EQUIVALENT: this file is owned by the Common repo and is replaced
   wholesale by tools/sync-core.sh. Never edit it here; a value that needs to
   change is a Common change (SCOPE_2.0.md §9).

   The kit as delivered, with the six corrections approved on 16 Sep 2026
   (SCOPE_2.0.md D14 + R0). Each one is marked below with its measured ratio. */
:root{
  /* palette */
  --nb-sand:#fbf3e3; --nb-sea:#0f9bc4; --nb-sun:#ffcf3f; --nb-ink:#1d2a33; --nb-jib:#4fc3f7;
  /* channels, for the places that need the same colour at an alpha */
  --nb-sand-rgb:251,243,227; --nb-ink-rgb:29,42,51; --nb-sea-rgb:15,155,196;
  --nb-sea-ink-rgb:12,119,151;
  --nb-sea-tint:#e5f6fb; --nb-sun-tint:#fff0b8;
  --nb-caution:#ffb56b; --nb-caution-ink:#7a3b00; --nb-stay-in:#2b3a4a;
  /* correction 2 · the kit's derived seaInk #0b7a9b measures 4.46:1 on sand and
     4.43:1 on sea-tint, under the 4.5 floor. Two steps darker clears all three:
     sand 4.64 · white 5.12 · sea-tint 4.61. */
  --nb-sea-ink:#0c7797;
  /* correction 6 · sea is 3.23:1 against white, so a white button label on it
     fails. Fills that carry text use seaInk (white on it is 5.12:1); sea stays
     for route lines, rain bars, chart marks and other non-text fills. */
  --nb-sea-press:#0a6b87;

  /* verdict grounds — level sets the ground of the block above the wave */
  --nb-v0:#fbf3e3; --nb-v1:#fff0b8; --nb-v2:#ffb56b; --nb-v3:#2b3a4a;
  --nb-v0-ink:#1d2a33; --nb-v1-ink:#1d2a33; --nb-v2-ink:#1d2a33; --nb-v3-ink:#ffffff;
  /* condition tints — levels 0-1 only (correction 5) */
  --nb-c-overcast:#eef1f3; --nb-c-rain:#e9f4f8; --nb-c-fog:#dfe3e6;
  --nb-c-snow:#f2f5f8; --nb-c-night:#1d2a33;
  /* 48 h / 7-day cells and map markers */
  --nb-s-easy:#bfe9f5; --nb-s-breezy:#ffe9a3; --nb-s-windy:#ffd166;
  --nb-s-caution:#ffb56b; --nb-s-stay:#8fa3b3;

  /* type — Bricolage Grotesque. No bundled fallback face on the web: a second
     self-hosted family buys no resilience (if vendor/ is reachable, Bricolage
     loads; if it is not, neither would) and the emoji in the language field have
     no glyph in either face, so the browser walked the whole stack and pulled
     Archivo's 551 KB down on every first load. iOS keeps Archivo bundled. */
  --nb-font:"Bricolage Grotesque",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  /* correction 3 · the kit's .nb-label at .6rem is 9.6 px, under the caption floor */
  --nb-label-size:11px;

  /* radii — the rounded system's scale, plus the kit's board container */
  --nb-r-field:10px; --nb-r-group:14px; --nb-r-card:16px;
  --nb-r-floating:18px; --nb-r-board:22px; --nb-r-sheet:26px; --nb-r-pill:999px;

  /* ---- names the page already uses, now pointing at the kit ---- */
  --ground:var(--nb-sand); --card:#ffffff; --surface:var(--nb-sea-tint); --ink:var(--nb-ink);
  --accent:var(--nb-sea-ink); --accent-pressed:var(--nb-sea-press);
  --accent-soft:rgba(15,155,196,.12);
  --jib:var(--nb-jib); --navy:#0b1622; --separator:rgba(29,42,51,.10);
  /* correction 3 · the 62 % floor never passed AA at body size — 4.18:1 on sand,
     4.30:1 on white. 66 % clears every ground the page uses it on:
     sand 4.70 · white 4.89 · sea-tint 4.67. On the caution ground it goes to 73 %. */
  --label2:rgba(29,42,51,.76); --label3:rgba(29,42,51,.66);
  --label-on-caution:rgba(29,42,51,.73);
  --r-field:var(--nb-r-field); --r-group:var(--nb-r-group); --r-card:var(--nb-r-card);
  --r-float:var(--nb-r-floating); --r-board:var(--nb-r-board);
  --r-sheet:var(--nb-r-sheet); --r-pill:var(--nb-r-pill);
  --shadow-card:0 2px 10px rgba(29,42,51,.07); --shadow-float:0 4px 14px rgba(29,42,51,.12);
  --shadow-sheet:0 -6px 26px rgba(29,42,51,.14);
  --font:var(--nb-font);
  --ground-rgb:var(--nb-sand-rgb); --ink-rgb:var(--nb-ink-rgb); --accent-rgb:var(--nb-sea-ink-rgb);
}
