{
  "$schema": "prodyn-design-tokens",
  "name": "ProDyn / Threadline Design Tokens",
  "version": "1.2.0",
  "locked": "2026-09-05",
  "source": "tokens.css (canonical)",
  "defaults": {
    "page_atmosphere": "M8 · Login Particle Veil",
    "implementation_css": "/dsm/assets/m8-login-particle-veil.css",
    "implementation_js": "/dsm/assets/m8-login-particle-veil.js",
    "decorative_page_grids": "retired",
    "functional_grids": "allowed inside charts, maps, scopes, media frames, and telemetry surfaces",
    "footer_motion": "M1 · Footer Smoke Stream",
    "footer_implementation_css": "/dsm/assets/m1-footer-smoke-stream.css",
    "footer_implementation_component": "/dsm/components/footer-smoke-stream.html"
  },
  "rules": [
    "No raw values outside canonical token sources: base tokens.css or an explicitly adopted palette extension. Reference tokens only.",
    "Colors are roles. New color = new DSM-reviewed role.",
    "Copper and state colors: ~5% visual presence maximum.",
    "Motion: registry primitives M1-M18 only; each has a visible specimen and composed reduced-motion state.",
    "Charts: inline SVG/canvas only, no chart libraries.",
    "Redaction is server-side; blur marks placeholders only.",
    "Breakpoints in media queries: 640/768/1024/1200 only.",
    "Corners square by default; --r-soft 2px rare; --r-dot circles only."
  ],
  "groups": {
    "COLOR · fields": {
      "--pd-field": "#050A0F",
      "--pd-void": "#02070B",
      "--pd-section": "#0A1219",
      "--pd-surface": "rgba(237,232,228,.025)",
      "--pd-line": "rgba(237,232,228,.08)"
    },
    "COLOR · ink": {
      "--pd-ivory": "#EDE8E4",
      "--pd-ivory-muted": "rgba(237,232,228,.58)",
      "--pd-ivory-dim": "rgba(237,232,228,.36)"
    },
    "COLOR · signal": {
      "--pd-signal": "#30B0D0",
      "--pd-cyan-deep": "#20708A",
      "--pd-spark": "#22D3EE",
      "--pd-plasma-core": "#EAFBFF"
    },
    "COLOR · warm tertiary": {
      "--pd-copper": "#C85A2E",
      "--pd-copper-deep": "#8F3F20",
      "--pd-copper-soft": "rgba(200,90,46,.16)"
    },
    "COLOR · state": {
      "--pd-ok": "#43D48A",
      "--pd-warn": "#E4A43A",
      "--pd-alert": "#E14B5A",
      "--pd-trace": "#87ECFF"
    },
    "TYPE · families": {
      "--pd-font-display": "'Oxanium ProDyn', Oxanium, system-ui, sans-serif",
      "--pd-font-hud": "'Departure Mono ProDyn', 'JetBrains Mono', ui-monospace, monospace",
      "--pd-font-body": "'PP Neue Machina ProDyn', 'Oxanium ProDyn', system-ui, sans-serif"
    },
    "TYPE · scale": {
      "--fs-micro": "11px",
      "--fs-meta": "12px",
      "--fs-body-sm": "14px",
      "--fs-body": "16px",
      "--fs-lead": "18px",
      "--fs-h3": "23px",
      "--fs-h2": "28px",
      "--fs-h1": "clamp(32px, 4vw, 56px)",
      "--fs-display": "clamp(34px, 5vw, 74px)",
      "--fs-hero": "clamp(54px, 8vw, 112px)"
    },
    "TYPE · line heights": {
      "--lh-tight": "1.05",
      "--lh-heading": "1.2",
      "--lh-body": "1.6",
      "--lh-relaxed": "1.7"
    },
    "TYPE · letter spacing": {
      "--ls-hud": ".12em",
      "--ls-hud-wide": ".18em",
      "--ls-label": ".08em",
      "--ls-display": "-.02em",
      "--ls-display-tight": "-.065em"
    },
    "SPACE · 4px-grid scale": {
      "--sp-1": "4px",
      "--sp-2": "8px",
      "--sp-3": "12px",
      "--sp-4": "16px",
      "--sp-5": "20px",
      "--sp-6": "24px",
      "--sp-7": "32px",
      "--sp-8": "40px",
      "--sp-9": "56px",
      "--sp-section-sm": "40px",
      "--sp-section": "64px",
      "--sp-section-lg": "96px"
    },
    "SHAPE · the brand is rectilinear": {
      "--r-0": "0",
      "--r-soft": "2px",
      "--r-dot": "50%",
      "--bw-hairline": "1px",
      "--bw-signal": "2px"
    },
    "LIGHT · glow specs": {
      "--glow-signal-sm": "0 0 6px rgba(48,176,208,.60)",
      "--glow-signal": "0 0 12px 2px rgba(48,176,208,.45)",
      "--glow-signal-lg": "0 0 24px 6px rgba(48,176,208,.30)",
      "--glow-spark": "0 0 8px 2px rgba(34,211,238,.50)",
      "--glow-core": "0 0 16px 6px rgba(234,251,255,.55)",
      "--glow-copper": "0 0 10px 2px rgba(200,90,46,.35)",
      "--blur-atmo": "60px",
      "--blur-fuse": "1.5px"
    },
    "ALPHA · opacity steps": {
      "--alpha-ghost": ".03",
      "--alpha-line": ".08",
      "--alpha-rest": ".12",
      "--alpha-dim": ".36",
      "--alpha-muted": ".58"
    },
    "MOTION · durations": {
      "--t-fast": ".3s",
      "--t-med": ".45s",
      "--t-slow": ".9s",
      "--t-breathe": "2.4s",
      "--t-ambient": "9s",
      "--t-ambient-slow": "24s"
    },
    "MOTION · easings": {
      "--ease-brand": "ease-in-out",
      "--ease-enter": "cubic-bezier(.22,1,.36,1)",
      "--ease-hover": "ease"
    },
    "LAYOUT · breakpoints": {
      "--bp-sm": "640px",
      "--bp-md": "768px",
      "--bp-lg": "1024px",
      "--bp-xl": "1200px"
    },
    "LAYOUT · z-index registry": {
      "--z-atmo": "1",
      "--z-content": "10",
      "--z-nav": "100",
      "--z-overlay": "1000"
    },
    "DATA DISPLAY · chart tokens": {
      "--chart-trace-w": "3px",
      "--chart-trace-glow": "drop-shadow(0 0 8px rgba(48,176,208,.25))",
      "--chart-grid": "rgba(237,232,228,.08)",
      "--chart-area-a": ".28",
      "--chart-bar-h": "2px",
      "--chart-node-r": "3px"
    },
    "TELEMETRY · live surfaces": {
      "--blur-redact": "5px",
      "--crt-line-gap": "3px",
      "--crt-line-a": ".14",
      "--crt-flicker": "7s",
      "--feed-row-in": ".3s"
    }
  },
  "components": {
    "document_header": {
      "label": "ProDyn.ai",
      "font_family": "Oxanium",
      "font_weight": 600,
      "wordmark_color": "#227FAE",
      "display_height_px": 64,
      "font_size_px": 54,
      "flame_height_px": 52,
      "gap_px": 10,
      "vertical_alignment": "center",
      "hyperlink": false,
      "png": "/dsm/assets/prodyn-ai-document-header.png",
      "svg": "/dsm/assets/prodyn-ai-document-header.svg",
      "specimen": "/dsm/components/document-header.html"
    }
  },
  "palette_extensions": {
    "mk-ii": {
      "status": "approved-color-foundation",
      "opt_in": true,
      "selector": "[data-pd-palette=\"mk-ii\"]",
      "css": "/dsm/mk-ii/tokens.css",
      "mirror": "/dsm/mk-ii/tokens.json",
      "guide": "/dsm/mk-ii/README.md",
      "specimen": "/dsm/mk-ii/index.html",
      "policy": "Load after base tokens; apply only to explicitly marked pages/subtrees. Stable numeric groups and motion contracts remain unchanged."
    }
  },
  "motion_extension": {
    "version": "1.0.0",
    "guide": "/dsm/motion/guide.md",
    "specimens": "/dsm/motion/index.html",
    "registry": "/dsm/motion/registry.json",
    "capabilities": "/dsm/motion/capability-catalog.json",
    "policy": "M15-M18 are additive interaction contracts; existing M1-M14 and numeric token values are retained. Engines are optional implementation mechanisms, not new primitive approvals."
  }
}
