{
  "$description": "heyrav design tokens - W3C DTCG format. The single source of truth: build.mjs generates css/tokens.css and every swatch/table in the docs from this file. $extensions.heyrav.dark holds the dark-theme value; status is shipped (live on heyrav.in), tools (live in the tools UI) or spec (defined, not yet used).",
  "color": {
    "text": {
      "ink":      { "$type": "color", "$value": "#161616", "$description": "Primary text, headings, filled controls.", "$extensions": { "heyrav": { "dark": "#ededed", "status": "shipped" } } },
      "ink-2":    { "$type": "color", "$value": "#4a4a4a", "$description": "Emphasis, hover text, Redaction accents.", "$extensions": { "heyrav": { "dark": "#b3b3b3", "status": "shipped" } } },
      "ink-body": { "$type": "color", "$value": "#5c5c5c", "$description": "Long-form body copy on case pages.", "$extensions": { "heyrav": { "dark": "#9b9b9b", "status": "shipped" } } },
      "ink-3":    { "$type": "color", "$value": "#6e6e6e", "$description": "Mono labels, chrome, icons at rest.", "$extensions": { "heyrav": { "dark": "#868686", "status": "shipped" } } },
      "mut":      { "$type": "color", "$value": "#767676", "$description": "Secondary prose. The lightest grey allowed for text (AA floor).", "$extensions": { "heyrav": { "dark": "#7e7e7e", "status": "shipped" } } }
    },
    "fill": {
      "ink-hover": { "$type": "color", "$value": "#212121", "$description": "Hover fill for anything filled with --ink. One measured grade, L* 7.2 to 12.7: hover strengthens, never goes pale.", "$extensions": { "heyrav": { "dark": "#ffffff", "status": "shipped" } } }
    },
    "surface": {
      "paper":     { "$type": "color", "$value": "#ffffff", "$description": "The page. Cards and floating UI sit on it at the same value.", "$extensions": { "heyrav": { "dark": "#121212", "status": "shipped" } } },
      "surface":   { "$type": "color", "$value": "#fafafa", "$description": "Figure background, docs shell.", "$extensions": { "heyrav": { "dark": "#181818", "status": "shipped" } } },
      "surface-2": { "$type": "color", "$value": "#f4f4f4", "$description": "Wireframe bars, segmented inset, tool stage.", "$extensions": { "heyrav": { "dark": "#1f1f1f", "status": "shipped" } } },
      "surface-3": { "$type": "color", "$value": "#efefef", "$description": "Progress rails, skeletons.", "$extensions": { "heyrav": { "dark": "#262626", "status": "shipped" } } }
    },
    "line": {
      "line":   { "$type": "color", "$value": "#ececec", "$description": "Every hairline: dividers, card borders, nav rule.", "$extensions": { "heyrav": { "dark": "#262626", "status": "shipped" } } },
      "line-2": { "$type": "color", "$value": "#e7e7e7", "$description": "Borders on interactive or image shells (ghost button, fx-wrap).", "$extensions": { "heyrav": { "dark": "#2e2e2e", "status": "shipped" } } },
      "tint":   { "$type": "color", "$value": "#939393", "$description": "Never used solid. The grey that translucent marks are struck from with color-mix: dot grid 16%, link underline 55%.", "$extensions": { "heyrav": { "dark": "#5e5e5e", "status": "shipped" } } }
    },
    "inverse": {
      "ink-inv": { "$type": "color", "$value": "#1b1b1b", "$description": "The one inverted surface: figure.dark, for specimens that are themselves dark.", "$extensions": { "heyrav": { "dark": "#0a0a0a", "status": "shipped" } } },
      "mut-inv": { "$type": "color", "$value": "#8e8e8e", "$description": "Caption text on --ink-inv (5.4:1).", "$extensions": { "heyrav": { "dark": "#8e8e8e", "status": "shipped" } } }
    },
    "status": {
      "ok":        { "$type": "color", "$value": "#1d7d3e", "$description": "Success text and icons. oklch(.52 .13 150).", "$extensions": { "heyrav": { "dark": "#76cf8a", "status": "spec" } } },
      "ok-bg":     { "$type": "color", "$value": "#eef8ef", "$description": "Success tint behind --ok text.", "$extensions": { "heyrav": { "dark": "#15291a", "status": "spec" } } },
      "warn":      { "$type": "color", "$value": "#8d5d1c", "$description": "Warning text and icons. oklch(.52 .10 70).", "$extensions": { "heyrav": { "dark": "#eca851", "status": "spec" } } },
      "warn-bg":   { "$type": "color", "$value": "#fdf3e6", "$description": "Warning tint behind --warn text.", "$extensions": { "heyrav": { "dark": "#30200d", "status": "spec" } } },
      "danger":    { "$type": "color", "$value": "#c9302d", "$description": "Errors and destructive actions. oklch(.55 .19 27).", "$extensions": { "heyrav": { "dark": "#f58c81", "status": "spec" } } },
      "danger-bg": { "$type": "color", "$value": "#fff0ee", "$description": "Error tint behind --danger text.", "$extensions": { "heyrav": { "dark": "#391a17", "status": "spec" } } }
    },
    "accent": {
      "sel": { "$type": "color", "$value": "#bbfff0", "$description": "Text selection. Sampled from the rendered aurora (mean #b0fded), pushed to the lightest in-gamut point on hue 180.", "$extensions": { "heyrav": { "dark": "#0c473e", "status": "shipped" } } },
      "g-a": { "$type": "color", "$value": "oklch(0.62 0.171 150)", "$description": "Glitch green - the aurora's CA hue at max sRGB chroma.", "$extensions": { "heyrav": { "dark": "oklch(0.62 0.171 150)", "status": "shipped" } } },
      "g-b": { "$type": "color", "$value": "oklch(0.62 0.301 318)", "$description": "Glitch magenta - the aurora's CC hue.", "$extensions": { "heyrav": { "dark": "oklch(0.62 0.301 318)", "status": "shipped" } } },
      "g-c": { "$type": "color", "$value": "oklch(0.62 0.106 205)", "$description": "Glitch cyan - the aurora's CB hue.", "$extensions": { "heyrav": { "dark": "oklch(0.62 0.106 205)", "status": "shipped" } } }
    }
  },
  "radius": {
    "r-xs":     { "$type": "dimension", "$value": "4px",  "$description": "Tool UI only: swatch chips, tiny insets.", "$extensions": { "heyrav": { "status": "tools" } } },
    "r-sm":     { "$type": "dimension", "$value": "8px",  "$description": "Inner elements: inputs, leaves, images inside a card, focus rings.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "r-md":     { "$type": "dimension", "$value": "14px", "$description": "Cards, popovers, case-nav tiles, ad images.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "r-lg":     { "$type": "dimension", "$value": "20px", "$description": "Outer shells: figures, fx-wrap, video, dialogs.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "r-device": { "$type": "dimension", "$value": "34px", "$description": "Phone frames. Screen radius derives from it (minus border).", "$extensions": { "heyrav": { "status": "shipped" } } },
    "r-pill":   { "$type": "dimension", "$value": "99px", "$description": "Buttons, chips, badges, the video control bar.", "$extensions": { "heyrav": { "status": "shipped" } } }
  },
  "shadow": {
    "shadow-pop": { "$type": "shadow", "$value": "0 18px 40px -22px rgba(22,22,22,.28)", "$description": "The only elevation. Reserved for things that float above text: popovers, menus, dialogs, the tool dock.", "$extensions": { "heyrav": { "dark": "0 18px 40px -18px rgba(0,0,0,.7)", "status": "shipped" } } }
  },
  "font": {
    "family": {
      "sans":  { "$type": "fontFamily", "$value": "\"Onest\",-apple-system,\"Segoe UI\",Helvetica,Arial,sans-serif", "$description": "Display and body alike. Variable 400..600 from Google Fonts.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "serif": { "$type": "fontFamily", "$value": "\"Redaction 35\",Georgia,serif", "$description": "Italic 400 only, for <em> accents in headings. Never a whole block.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "mono":  { "$type": "fontFamily", "$value": "ui-monospace,\"SF Mono\",Menlo,monospace", "$description": "Uppercase labels, numbers in tools, code.", "$extensions": { "heyrav": { "status": "shipped" } } }
    },
    "size": {
      "t-label":   { "$type": "dimension", "$value": "12px", "$description": "Mono labels. Chrome, not copy.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-ui":      { "$type": "dimension", "$value": "14px", "$description": "Dense UI: tool rails, menus, docs sidebar.", "$extensions": { "heyrav": { "status": "tools" } } },
      "t-body":    { "$type": "dimension", "$value": "18px", "$description": "The floor for anything meant to be read.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-sub":     { "$type": "dimension", "$value": "24px", "$description": "Lede, card titles, h2 at 640.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-sub-md":  { "$type": "dimension", "$value": "32px", "$description": "Case h3 at 900, beat titles.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-sub-lg":  { "$type": "dimension", "$value": "40px", "$description": "Case h3, metrics, pull quotes, h2 at 900.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-head":    { "$type": "dimension", "$value": "56px", "$description": "Section h2.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "t-head-lg": { "$type": "dimension", "$value": "64px", "$description": "Page h1.", "$extensions": { "heyrav": { "status": "shipped" } } }
    },
    "weight": {
      "w-body":   { "$type": "fontWeight", "$value": 400, "$description": "Body and Redaction accents.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "w-head":   { "$type": "fontWeight", "$value": 450, "$description": "Every heading and heading-ish <b>. A real instance of Onest's variable axis.", "$extensions": { "heyrav": { "status": "shipped" } } },
      "w-strong": { "$type": "fontWeight", "$value": 600, "$description": "Inline <strong> and the wordmark only.", "$extensions": { "heyrav": { "status": "shipped" } } }
    }
  },
  "space": {
    "s-1":  { "$type": "dimension", "$value": "4px",  "$description": "Hairline nudges, icon optical offsets." },
    "s-2":  { "$type": "dimension", "$value": "8px",  "$description": "Icon-to-label (mono), tight stacks." },
    "s-3":  { "$type": "dimension", "$value": "12px", "$description": "Icon-to-label (body), chip gaps, nav padding." },
    "s-4":  { "$type": "dimension", "$value": "16px", "$description": "Popover padding, list gaps." },
    "s-5":  { "$type": "dimension", "$value": "20px", "$description": "Card padding, tile gutter." },
    "s-6":  { "$type": "dimension", "$value": "24px", "$description": "Card grid gaps, heading to content." },
    "s-7":  { "$type": "dimension", "$value": "28px", "$description": "Stacked column gap, nav link gap." },
    "s-8":  { "$type": "dimension", "$value": "32px", "$description": "Button horizontal padding (large)." },
    "s-10": { "$type": "dimension", "$value": "40px", "$description": "Figure padding." },
    "s-11": { "$type": "dimension", "$value": "44px", "$description": "Page gutter, minimum touch target." },
    "s-14": { "$type": "dimension", "$value": "56px", "$description": "Two-column gap on case pages." },
    "s-16": { "$type": "dimension", "$value": "64px", "$description": "Case row gap; --case-pad at 900." },
    "s-21": { "$type": "dimension", "$value": "84px", "$description": "--case-pad: the one beat between sections." }
  },
  "layout": {
    "wrap":      { "$type": "dimension", "$value": "1180px", "$description": "Home page container.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "wrap-read": { "$type": "dimension", "$value": "1080px", "$description": "Case-study container - a reading measure.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "gutter":    { "$type": "dimension", "$value": "44px", "$description": "Page side padding; 22px at 640.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "case-pad":  { "$type": "dimension", "$value": "84px", "$description": "Vertical rhythm; 64px at 900.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "nav-h":     { "$type": "dimension", "$value": "68px", "$description": "The fixed bar: 44px target + 12px padding top and bottom.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "target":    { "$type": "dimension", "$value": "44px", "$description": "Minimum touch target, everywhere.", "$extensions": { "heyrav": { "status": "shipped" } } }
  },
  "motion": {
    "ease-out":  { "$type": "cubicBezier", "$value": "cubic-bezier(.22,1,.36,1)", "$description": "Settle. Reveals, nav tuck, icon nudge - the house curve.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "ease-io":   { "$type": "cubicBezier", "$value": "cubic-bezier(.22,.61,.36,1)", "$description": "Morphs that start and stop on screen: the loader drum.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "ease-snap": { "$type": "cubicBezier", "$value": "cubic-bezier(.32,.72,0,1)", "$description": "Physical UI: switches, drawers, chevrons.", "$extensions": { "heyrav": { "status": "tools" } } },
    "d-fast":    { "$type": "duration", "$value": "200ms", "$description": "Opacity and colour on links.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "d-base":    { "$type": "duration", "$value": "250ms", "$description": "Fills and borders on buttons.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "d-move":    { "$type": "duration", "$value": "320ms", "$description": "Things that travel: nav tuck, toggles, toasts.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "d-slow":    { "$type": "duration", "$value": "450ms", "$description": "Icon nudge, image filters, crossfades.", "$extensions": { "heyrav": { "status": "shipped" } } },
    "d-reveal":  { "$type": "duration", "$value": "950ms", "$description": "Scroll reveal. Only ever on entry.", "$extensions": { "heyrav": { "status": "shipped" } } }
  },
  "z": {
    "z-hero":     { "$type": "number", "$value": 10, "$description": "Fixed hero copy." },
    "z-sticky":   { "$type": "number", "$value": 15, "$description": "Floating CTA." },
    "z-pop":      { "$type": "number", "$value": 20, "$description": "Popovers, glossary boxes, menus." },
    "z-content":  { "$type": "number", "$value": 25, "$description": "#content sliding over the hero." },
    "z-nav":      { "$type": "number", "$value": 30, "$description": "Fixed nav bar." },
    "z-progress": { "$type": "number", "$value": 40, "$description": "Scroll comet." },
    "z-overlay":  { "$type": "number", "$value": 50, "$description": "Dialogs, drawers, lightbox." },
    "z-veil":     { "$type": "number", "$value": 60, "$description": "Loading veil." },
    "z-toast":    { "$type": "number", "$value": 70, "$description": "Toasts sit over everything." }
  }
}
