/* GENERATED by scripts/site/vendor_tokens.py from docs-builder brands/nandico/design/tokens.json — do not edit */
/*
 * Nandico design tokens — the brand-invariant layer: palette, type and
 * the measure laws. NOTHING here targets a render medium: the deck themes, the
 * prose theme and any future target (a website) import this one file.
 *
 * Canvas-bound values (type scale, --frame, the night bloom) belong to the theme
 * that owns that canvas, not here. Non-CSS consumers read tokens.json instead.
 *
 * Type: Geist (Vercel, SIL OFL) at four weights and Geist Mono at two, from Google Fonts. Allowed by the operator on 2026-09-16 (the reference case uses it; a typeface is not the case). Google serves Geist as a variable font: whether the weights are pickable in Google Workspace is an open item (2026-09-16).
 */
@import url('https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600;700&family=Geist+Mono:wght@400;500&display=swap');

:root {
  /* palette — primary (the dark bench: charcoal, light type, one saturated ground, one amber accent) */
  --v-carvao: #141315;  /* the ground of the whole deck — near-black charcoal, cool; luz 16.4:1, ambar 10.1:1, neutro 8.5:1 */
  --v-luz:    #F4F1EC;  /* titles, the name, strong text — warm off-white; 16.4:1 on carvao, 4.6:1 on coral (body copy passes at 500), 16.4:1 as the claro ground under carvao type */
  --v-coral:  #C53B24;  /* the saturated ground and the fill — chapter slides, accent cards. Chosen on the round-1 board as #D8432B and DARKENED on 2026-09-16 to the lightest tone of the same hue that passes body text under luz (3.9:1 → 4.6:1; Adjetiva's oliva precedent). Carvao on coral 3.6:1 = display only; ambar on coral 2.9:1 = FORBIDDEN as text */
  --v-ambar:  #FFB000;  /* the accent — emphasis TEXT on carvao (10.1:1), the measure bar's segment, the square mark, milestones; as a fill it takes carvao type (10.1:1), never luz (1.6:1); never text on coral (2.9:1) */

  /* palette — secondary */
  --v-neutro:  #B4AFA8;  /* support text and captions (8.5:1 on carvao); the outline half of the dot and square pairs; the ruler and hatch ink; as a fill it takes carvao type (8.5:1) */
  --v-grafite: #8C8781;  /* labels, eyebrows, folio, table headers (5.2:1 on carvao, 4.8:1 on carvao-claro) */

  /* palette — derived (ambient tones, not brand colors) */
  --v-carvao-claro:  #1C1B1E;  /* cards, stat tiles, quiet fills, code blocks — one step up from the ground; luz 15.2:1, luz-suave 11.6:1, ambar 9.4:1 */
  --v-luz-suave:     #D8D4CE;  /* body text on carvao (12.6:1) and on carvao-claro (11.6:1) — luz stepped down so paragraphs sit under the titles */
  --v-zebra:         #19181B;  /* table zebra stripe on carvao */
  --v-hair:          #2E2D31;  /* hairlines on carvao — table rules, card edges, ruled columns, the logo wall's gutters (law 2) */
  --v-moldura:       #5A5753;  /* the photo frame: a 1px hairline visibly lighter than hair (neutro at ~40% over carvao) — photo law, round 1 */
  --v-numeral:       #242324;  /* the escala numeral on carvao: luz at 7%, PRE-BLENDED to an opaque tone — translucent text (opacity or an alpha color) rasterizes as a grey box in the PDF (found 2026-09-16) */
  --v-numeral-coral: #CB513C;  /* the chapter numeral on the coral ground: luz at 12%, pre-blended (same reason) */
  --v-numeral-claro: #E4E2DD;  /* the numeral on the claro ground: carvao at 7%, pre-blended (same reason) */

  /* type */
  --f-display: 'Geist', 'Helvetica Neue', Arial, sans-serif;  /* titles and the name at 600, tight tracking (-0.025em); the giant numeral of the escala gene at 700; emphasis in display type is COLOR (ambar), never a stroke */
  --f-body:    'Geist', 'Helvetica Neue', Arial, sans-serif;  /* body copy 400 on carvao, 500 on a saturated ground (weight law); claims 600 */
  --f-mono:    'Geist Mono', Menlo, monospace;                /* eyebrows, labels, folio, ordinals, numbers in tables — always caps with tracking (the regua voice) */

  /* the measure system — type is the mark, the hairline draws, one bar measures */
  --hair:   1px;     /* law 2: every drawn line is a 1px hairline — rules, frames, grid, ruler ticks; there is no second line weight */
  --medida: 4px;     /* law 3: the ONE thick line is the measure bar's amber segment, and it always carries a measure (progress, share, a roadmap span); never decoration */
  --radius: 0;       /* law 4: nothing is rounded; the only curves are the dot pair and the letters */
  --track:  0.12em;  /* law 5: mono caps (eyebrows, labels, folio) always run at this tracking — the regua voice */
  --grade:  96px;    /* law 6: the hairline grid module — the regua gene's ground tile and the mosaico's rhythm */
}
