{
  "$schema": "https://design-tokens.github.io/community-group/format/",
  "$description": "Conduction brand tokens (scope A: color + typography). Theme: conduction-2026. Aligned with NL Design System where tokens exist; own tokens where NLDS has no equivalent. See DESIGN.md for rationale.",

  "color": {
    "primitive": {
      "blue": {
        "cobalt": {
          "$value": "#21468B",
          "$type": "color",
          "$description": "Kobaltblauw — officiële blauwtint van de Nederlandse vlag. Primary brand color voor theme-conduction-2026."
        }
      },
      "orange": {
        "knvb": {
          "$value": "#F36C21",
          "$type": "color",
          "$description": "KNVB-oranje — warme, iets rood-leanende oranjetint. Secundaire steunkleur; herkenbaar Nederlands via associatie met het nationale elftal, zonder de Rijkshuisstijl-overheidslading."
        }
      },
      "red": {
        "vermillion": {
          "$value": "#AE1C28",
          "$type": "color",
          "$description": "Helder vermiljoen — officiële rode vlagtint, gebruikt als accent en voor status/error."
        }
      },
      "neutral": {
        "white": {
          "$value": "#FFFFFF",
          "$type": "color",
          "$description": "Wit — default achtergrond."
        }
      },
      "nextcloud": {
        "blue": {
          "$value": "#0082C9",
          "$type": "color",
          "$description": "Nextcloud Blue — officiële primaire brand-color van Nextcloud (RGB 0,130,201 · HSL 201/100/39 · Pantone 285C). Gebruikt in ConNext-context: (a) op het 'Next'-deel van de ConNext-wordmark, (b) op de top-face van de Nextcloud-kernel-hex in de platform-overview-diagram, (c) bij brand-citation van 'Nextcloud' in copy en idiomatische 'next' waar het over Nextcloud-as-platform gaat."
        },
        "cyan": {
          "$value": "#1CAFFF",
          "$type": "color",
          "$description": "Nextcloud Cyan — lichtere variant uit Nextcloud's officiële brand-gradient (#0082C9 → #1CAFFF, 45°). Gebruikt voor het lichte einde van de Nextcloud-gradient op de kernel-hex."
        }
      }
    }
  },

  "gradient": {
    "nextcloud": {
      "$value": "linear-gradient(45deg, #0082C9, #1CAFFF)",
      "$type": "gradient",
      "$description": "Nextcloud's officiële brand-gradient (45°). Gebruikt voor de top-face van de Nextcloud-kernel-hex in onze platform-overview-diagram. Eerbiedigt Nextcloud's eigen brand-identity binnen onze ConNext-compositie."
    }
  },

  "typography": {
    "primitive": {
      "font-family": {
        "sans": {
          "$value": "Figtree, system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif",
          "$type": "fontFamily",
          "$description": "Figtree — ronde, rustige, humanistische sans-serif. OFL via Google Fonts. Gebruikt voor body en headings."
        },
        "mono": {
          "$value": "'IBM Plex Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace",
          "$type": "fontFamily",
          "$description": "IBM Plex Mono — rustige monospace, warm in vorm. OFL. Gebruikt voor code en kbd."
        }
      },
      "font-weight": {
        "regular":  { "$value": 400, "$type": "fontWeight" },
        "medium":   { "$value": 500, "$type": "fontWeight" },
        "semibold": { "$value": 600, "$type": "fontWeight" },
        "bold":     { "$value": 700, "$type": "fontWeight" }
      },
      "font-size": {
        "xs":   { "$value": "12px", "$type": "dimension" },
        "sm":   { "$value": "14px", "$type": "dimension" },
        "base": { "$value": "16px", "$type": "dimension" },
        "lg":   { "$value": "18px", "$type": "dimension" },
        "xl":   { "$value": "20px", "$type": "dimension" },
        "2xl":  { "$value": "24px", "$type": "dimension" },
        "3xl":  { "$value": "32px", "$type": "dimension" },
        "4xl":  { "$value": "40px", "$type": "dimension" },
        "5xl":  { "$value": "48px", "$type": "dimension" }
      },
      "line-height": {
        "tight":   { "$value": 1.2, "$type": "number", "$description": "Voor display/headings." },
        "normal":  { "$value": 1.5, "$type": "number", "$description": "Voor body-tekst." },
        "relaxed": { "$value": 1.75, "$type": "number", "$description": "Voor long-form content." }
      }
    }
  },

  "theme": {
    "conduction-2026": {
      "$description": "Het Conduction huisstijl-thema uit 2026. Gebaseerd op de officiële Nederlandse vlagkleuren en NL Design System primitives.",

      "color": {
        "brand": {
          "primary":   { "$value": "{color.primitive.blue.cobalt}",     "$type": "color", "$description": "Primaire merkkleur — links, CTA's, focus, branding." },
          "secondary": { "$value": "{color.primitive.orange.knvb}", "$type": "color", "$description": "Secundaire merkkleur — accenten, highlights, badges." },
          "tertiary":  { "$value": "{color.primitive.red.vermillion}",  "$type": "color", "$description": "Tertiaire merkkleur — sparingly, voor attentie-accenten en error-state." },
          "nextcloud": { "$value": "{color.primitive.nextcloud.blue}",  "$type": "color", "$description": "Nextcloud-blauw — voor het 'Next' deel van de ConNext-wordmark, voor brand-citation van 'Nextcloud' in copy, en voor de Nextcloud-kernel op platform-overview-diagrammen. Geen primaire Conduction-merkkleur, maar wel onmisbaar in elke ConNext-context." }
        },
        "background": {
          "default": { "$value": "{color.primitive.neutral.white}",  "$type": "color", "$description": "Default achtergrond van pagina's en kaarten." },
          "inverse": { "$value": "{color.primitive.blue.cobalt}",    "$type": "color", "$description": "Donkere achtergrond (hero, footer) met witte tekst erop." }
        },
        "text": {
          "default": { "$value": "{color.primitive.blue.cobalt}",    "$type": "color", "$description": "Default tekstkleur op witte achtergrond. Contrast ≈ 9.2:1 (AAA)." },
          "inverse": { "$value": "{color.primitive.neutral.white}",  "$type": "color", "$description": "Tekstkleur op kobalt achtergrond." },
          "accent":  { "$value": "{color.primitive.orange.knvb}", "$type": "color", "$description": "Accent-tekst — spaarzaam, voor nadruk." }
        },
        "link": {
          "default": { "$value": "{color.primitive.blue.cobalt}",     "$type": "color" },
          "hover":   { "$value": "{color.primitive.orange.knvb}", "$type": "color" }
        },
        "status": {
          "error": { "$value": "{color.primitive.red.vermillion}", "$type": "color" }
        }
      },

      "typography": {
        "font-family": {
          "body":    { "$value": "{typography.primitive.font-family.sans}", "$type": "fontFamily" },
          "heading": { "$value": "{typography.primitive.font-family.sans}", "$type": "fontFamily" },
          "code":    { "$value": "{typography.primitive.font-family.mono}", "$type": "fontFamily" }
        },
        "body": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.sans}",
            "fontWeight":  "{typography.primitive.font-weight.regular}",
            "fontSize":    "{typography.primitive.font-size.base}",
            "lineHeight":  "{typography.primitive.line-height.normal}"
          },
          "$type": "typography"
        },
        "heading-1": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.sans}",
            "fontWeight":  "{typography.primitive.font-weight.bold}",
            "fontSize":    "{typography.primitive.font-size.5xl}",
            "lineHeight":  "{typography.primitive.line-height.tight}"
          },
          "$type": "typography"
        },
        "heading-2": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.sans}",
            "fontWeight":  "{typography.primitive.font-weight.bold}",
            "fontSize":    "{typography.primitive.font-size.4xl}",
            "lineHeight":  "{typography.primitive.line-height.tight}"
          },
          "$type": "typography"
        },
        "heading-3": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.sans}",
            "fontWeight":  "{typography.primitive.font-weight.semibold}",
            "fontSize":    "{typography.primitive.font-size.3xl}",
            "lineHeight":  "{typography.primitive.line-height.tight}"
          },
          "$type": "typography"
        },
        "heading-4": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.sans}",
            "fontWeight":  "{typography.primitive.font-weight.semibold}",
            "fontSize":    "{typography.primitive.font-size.2xl}",
            "lineHeight":  "{typography.primitive.line-height.tight}"
          },
          "$type": "typography"
        },
        "code": {
          "$value": {
            "fontFamily":  "{typography.primitive.font-family.mono}",
            "fontWeight":  "{typography.primitive.font-weight.regular}",
            "fontSize":    "{typography.primitive.font-size.sm}",
            "lineHeight":  "{typography.primitive.line-height.normal}"
          },
          "$type": "typography"
        }
      }
    }
  }
}
