/* Tokens for the card board.
   ==========================================================================

   `cards.css` and `card-columns.css` grew out of fizzy's board and still
   speak parts of its token vocabulary, which is not ours — `--color-ink-dark`,
   `--lch-blue-medium`, `--color-card-complete` — and this file is the
   adapter: the ONLY place that vocabulary is allowed to exist.

   It used to carry fizzy's whole palette, scoped to the board, so the board
   sat as a cool white slab inside chalet's warm paper — a deliberate seam,
   marked "revisit when the board is folded into the design law". Folded on
   2026-08-14 (user: make the columns fit the subtle, lean philosophy): the
   adapter no longer ships any colour of its own. Every fizzy name is mapped
   onto chalet's raw tier, so the board draws in warm ink on paper, and dark
   mode needs no block here at all — chalet re-authors `--lch-*` globally and
   everything below re-resolves with it.

   Two blocks:

   1. `:root` — non-colour vocabulary chalet lacks (the two type steps at the
      ends of fizzy's scale, fizzy's focus-ring and button-metric names), plus
      the four hues a column may be painted, which must be global because the
      colour PICKER lives in a dialog — top layer, outside `.card-columns` —
      and a swatch painted from a scoped token would come out blank.

   2. `.card-columns` — fizzy's names, chalet's values. */

:root {

  /* Fizzy's circle-button metric. The board no longer reads it, but todos.css
     does — the ⋯ gutter reserve on a narrow shell resolves it from here, so
     removing this token silently drops that padding. If it moves, todos.css
     must carry its own value. */
  --btn-size: 2.65em;

  /* ——— The colours a column may be painted ———
     Exactly HANSHI's four hues (CardColumn::COLORS), and deliberately the
     MEDIUM step of each rather than the `-tint`, even though the result reads
     pastel: everything the board paints derives from `--card-color` by
     `color-mix` — the card's fill is 4% of it, its border 33% — so feeding a
     tint in would mix a tint of a tint and the column would come out white.

     Composed from the raw tier, so dark mode is already answered. */
  --color-card-red: oklch(var(--lch-red));
  --color-card-amber: oklch(var(--lch-amber));
  --color-card-green: oklch(var(--lch-green));
  --color-card-blue: oklch(var(--lch-blue));

  /* A card with no column of its own takes chalet's blue; a finished or
     set-aside one takes ink, which is what makes the ends read as edges
     rather than as stages.

     On :root and not on `.card-columns` with the rest of fizzy's vocabulary
     (moved 2026-08-29): the card face is drawn off the board now — the
     column's own page stacks it — and there `var(--color-card-default)`
     resolved to nothing, which made `--card-border-color`'s color-mix invalid
     and collapsed every card's border to zero with no error anywhere. A
     default belongs where anything drawing a card can reach it; the board
     still overrides it per column, inline. */
  --card-color: var(--color-card-default);
  --color-card-default: oklch(var(--lch-blue));
  --color-card-complete: oklch(var(--lch-ink-darker));

  /* Fizzy's inset name for the same env() we already wrap as --safe-inset-*.
     Aliased rather than rewritten in the copied CSS, so the copy stays a copy. */
  --custom-safe-inset-bottom: var(--safe-inset-bottom);
}

/* Fizzy's vocabulary, mapped onto chalet's palette. Only the names the board's
   stylesheets actually consume — everything chalet already says under the same
   name (`--color-canvas`, `--color-ink`, `--color-link`, `--color-highlight`,
   `--shadow`, `--border`) is simply no longer shadowed and falls through to
   the design law. */
.card-columns {
  /* Fizzy's ink ladder, spoken in chalet's warm raws. */
  --color-ink-dark: oklch(var(--lch-ink-dark));
  --color-ink-light: oklch(var(--lch-ink-light));
  --color-ink-lighter: oklch(var(--lch-ink-lighter));
  --color-ink-lightest: oklch(var(--lch-ink-lightest));


  /* The one fizzy hue name still spoken directly in the copies (the Maybe
     column's voice). */
  --lch-blue-medium: var(--lch-blue);

}
