/* ─────────────────────────────────────────────────────────────────────────────
   neeos tokens v3 — the new identity (4 Oct 2026).
   The single source of truth for every web surface. The site follows the
   system's light and dark — that is brand behavior, not a feature.

   What changed from v2.x, and why:
   · PALETTE B ("Clear daylight", 3 Oct 2026) replaces the earth tones. Values
     are the app's (ios/Sources/Design/PaletteSpec.swift); test/palette-b.test.ts
     holds the [data-accent] mirror below byte-for-byte.
   · THE GROUND IS THE APP ICON'S: #F2F4F7, a touch off white ("too stark" at
     pure white, Jake). Greys are neutral, Apple's own family, not sand.
   · THE SPECTRUM MEANS NEEOS. Sky → Violet → Coral → Marigold → Fern is the
     mark's sweep, and it appears where Neeos itself appears: the mark, the
     wordmark (header = option 2, the word in the colours), and Neeos at work.
     It never becomes a layout colour. The accent (Moss) stays the interaction
     colour, as it is in the app.
   ───────────────────────────────────────────────────────────────────────────── */
:root {
  /* grounds & surfaces (light) */
  --ground:#F2F4F7;
  --card:#FFFFFF;
  --card-2:#F7F8FA;
  --line:rgba(28,28,30,.10);
  --line-2:rgba(28,28,30,.18);

  /* text — neutral, Apple's family */
  --text:#1C1C1E;
  --body-text:#3A3A3C;
  --secondary:#5E5E63;
  --faint:#86868B;

  /* palette B pair + interaction. On light grounds, text-weight uses of Sky and
     Moss take a deepened value so they read; dots and fills take the raw one. */
  --sky:#1E86C0;
  --moss:#00804A;
  --sky-soft:#3FB1EA;
  --moss-soft:#029957;
  /* Interaction accent: Deep Sea (Jake, 4 Oct 2026 — "i dont like green as the
     accent color anymore"; chosen over Ink, Violet, Sky and Slate on the live
     preview). White ink, as InkContrast measures for it (#FFFFFF on #015F98).
     Text links derive a legible value. */
  --accent:#015F98;
  --accent-ink:#FFFFFF;
  --accent-text:color-mix(in srgb, var(--accent) 70%, #131720);

  /* palette B accents — tags, charts, details; never a layout */
  --teal:#05A7A7; --sage:#81C042; --slate:#497AB1;
  --clay:#F16D4D; --amber:#F9B227; --ocean:#015F98; --violet:#8F5FC0;

  /* THE SPECTRUM — the mark's sweep. `--spectrum` is for colour (rules, dots,
     marks); `--spectrum-text` is the same loop deepened 18% so it reads as
     letters on a light ground (the app's thinking line uses 32% for small
     text; the wordmark is large and bold, so it needs less). */
  --spectrum:linear-gradient(90deg, #3FB1EA, #8F5FC0, #F16D4D, #F9B227, #81C042);
  --spectrum-loop:linear-gradient(90deg, #3FB1EA, #8F5FC0, #F16D4D, #F9B227, #81C042, #3FB1EA);
  --spectrum-text:linear-gradient(90deg, #3491C0, #754E9D, #C6593F, #CC9220, #6A9D36);
  --spectrum-text-loop:linear-gradient(90deg, #2B789F, #614183, #A44A34, #A9791B, #58832D, #2B789F);

  /* type — the platform's own faces, everywhere.
     Rounded is reserved: the wordmark and numerals only. Headlines are plain
     SF, tight-tracked — rounded everywhere reads cheap (Jake, 2026-08-09). */
  --display: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --rounded: ui-rounded, "SF Pro Rounded", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --body: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, sans-serif;
  --mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;

  /* radii — four stops, no improvising */
  --r-chip:10px; --r-card-s:16px; --r-card:20px; --r-hero:26px; --r-button:999px;
}

@media (prefers-color-scheme: dark) {
  :root {
    /* the app icon's dark ground family */
    --ground:#0B0C0E;
    --card:#16181C;
    --card-2:#1C1F24;
    --line:rgba(255,255,255,.09);
    --line-2:rgba(255,255,255,.17);

    --text:#F2F2F7;
    --body-text:#D1D1D6;
    --secondary:#AEAEB2;
    --faint:#8E8E93;

    --sky:#3FB1EA;
    --moss:#29B472;
    --sky-soft:#3FB1EA;
    --moss-soft:#029957;
    --accent:#015F98;
    /* Deep Sea is dark: on a dark ground its text form lifts toward chalk so links read. */
    --accent-text:color-mix(in srgb, #3FB1EA 55%, #F2F2F7);

    /* on dark the raw colours read; no deepening */
    --spectrum-text:var(--spectrum);
    --spectrum-text-loop:var(--spectrum-loop);
  }
}

/* The in-app accent picker, mirrored: palette B (Jake, 3 Oct 2026). Keys are the app's
   STORED ids (AccentChoice.rawValue) — the on-screen names moved (teal = Lagoon, sage = Fern,
   ocean = Deep Sea, amber = Marigold, clay = Coral, rust = Brick, plum = Violet), the ids did not.
   Values are byte-identical to ios/Sources/Design/PaletteSpec.swift and --accent-ink is the ink
   InkContrast measures (white if >= 4.5:1, else #141414); test/palette-b.test.ts holds both.
   Unused by the live site, which wears the brand Moss above (v2.4). */
:root[data-accent="moss"]  { --accent:#029957; --accent-ink:#141414; }
:root[data-accent="sky"]   { --accent:#3FB1EA; --accent-ink:#141414; }
:root[data-accent="teal"]  { --accent:#05A7A7; --accent-ink:#141414; }
:root[data-accent="sage"]  { --accent:#81C042; --accent-ink:#141414; }
:root[data-accent="slate"] { --accent:#497AB1; --accent-ink:#FFFFFF; }
:root[data-accent="ocean"] { --accent:#015F98; --accent-ink:#FFFFFF; }
:root[data-accent="amber"] { --accent:#F9B227; --accent-ink:#141414; }
:root[data-accent="clay"]  { --accent:#F16D4D; --accent-ink:#141414; }
:root[data-accent="rust"]  { --accent:#D03830; --accent-ink:#FFFFFF; }
:root[data-accent="plum"]  { --accent:#8F5FC0; --accent-ink:#FFFFFF; }
