{
  "brand": "TraderWaves",
  "edition": "03",
  "version": "3.0",
  "updated": "2026-09-25",
  "status": "Draft for owner review. Marketing tokens for the website; the app keeps its own theme system.",
  "source": "https://traderwaves.com/brand",
  "palette": {
    "core": {
      "waveBlue": { "hex": "#1783FF", "role": "Signature: focus frame, the Contour, key icons, large display moments" },
      "midnight": { "hex": "#050711", "role": "Dark canvas, matching the app" },
      "deepNavy": { "hex": "#0B163F", "role": "Headlines on light; the dark register for TraderWaves for Business" },
      "ice": { "hex": "#F2F6FF", "role": "Cool surfaces on light pages" },
      "white": { "hex": "#FFFFFF", "role": "Light canvas" }
    },
    "interactive": {
      "signalBlue": { "hex": "#1B92FF", "role": "Accent on dark: links, icons, gains, focus ring" },
      "actionBlue": { "hex": "#1570E0", "role": "Primary button fill in both themes, white label (4.74:1)" },
      "linkBlue": { "hex": "#1366C4", "role": "Accent on light: links, icons, gains, focus ring; primary hover" }
    },
    "logoGradient": { "from": "#85D9FF", "to": "#0373FF", "use": "Inside the wave artwork and as the Contour stroke only" },
    "retired": { "coral": { "hex": "#F04444", "note": "No longer a decorative accent. Losses use the loss token." } }
  },
  "meaning": {
    "gain": { "light": "#1366C4", "dark": "#1B92FF", "note": "Gains are blue, as in the app" },
    "loss": { "light": "#B91C1C", "dark": "#F87171" },
    "warning": { "light": "#B45309", "dark": "#FFCC00" },
    "candleUp": { "light": "#26A69A", "dark": "#26A69A", "note": "Charts only; not a UI or brand colour" },
    "rule": "Pair colour with a sign or label so meaning never depends on colour alone"
  },
  "themes": {
    "selector": "[data-theme=\"light\"] | [data-theme=\"dark\"] on <html>",
    "light": {
      "--tw-canvas": "#FFFFFF",
      "--tw-canvas-alt": "#F7F9FF",
      "--tw-surface": "#F2F6FF",
      "--tw-surface-raised": "#FFFFFF",
      "--tw-border": "#DCE3EF",
      "--tw-border-strong": "#C3CEE0",
      "--tw-text-strong": "#0B163F",
      "--tw-text": "#0B1220",
      "--tw-text-secondary": "#3D4A63",
      "--tw-text-muted": "#5B6882",
      "--tw-accent": "#1366C4",
      "--tw-action": "#1570E0",
      "--tw-action-hover": "#1366C4",
      "--tw-signature": "#1783FF",
      "--tw-on-signature": "#0B163F",
      "--tw-loss": "#B91C1C",
      "--tw-warning": "#B45309",
      "--tw-shadow": "0 1px 2px rgb(11 22 63 / 4%), 0 12px 32px rgb(11 22 63 / 6%)",
      "--tw-card-bg": "linear-gradient(145deg, rgb(19 102 196 / 4.5%), transparent 42%), #FFFFFF"
    },
    "dark": {
      "--tw-canvas": "#050711",
      "--tw-canvas-alt": "#080B17",
      "--tw-surface": "#0B1020",
      "--tw-surface-raised": "#111827",
      "--tw-border": "#1D2331",
      "--tw-border-strong": "#293249",
      "--tw-text-strong": "#F2F5FC",
      "--tw-text": "#D7DCEC",
      "--tw-text-secondary": "#A7BEE6",
      "--tw-text-muted": "#8492C4",
      "--tw-accent": "#1B92FF",
      "--tw-action": "#1570E0",
      "--tw-action-hover": "#1366C4",
      "--tw-signature": "#1B92FF",
      "--tw-on-signature": "#050711",
      "--tw-loss": "#F87171",
      "--tw-warning": "#FFCC00",
      "--tw-shadow": "none",
      "--tw-card-bg": "radial-gradient(circle at 12% 0%, rgb(27 146 255 / 9%), transparent 46%), linear-gradient(180deg, rgb(17 24 39 / 94%), rgb(13 20 36 / 96%))"
    },
    "defaults": {
      "traderPages": "dark",
      "businessPages": "light",
      "brandGuidelines": "dark",
      "app": "user setting",
      "persistence": "Remember the visitor's choice (localStorage) and apply it before first paint"
    }
  },
  "typography": {
    "family": "Onest",
    "weights": [400, 500, 600, 700],
    "numbers": "font-variant-numeric: tabular-nums",
    "scale": [
      { "style": "display", "desktopPx": 72, "mobilePx": 44, "weight": 600, "lineHeight": 1.02, "tracking": "-0.045em", "note": "700 allowed for a hero of five words or fewer" },
      { "style": "h1", "desktopPx": 52, "mobilePx": 36, "weight": 600, "lineHeight": 1.06, "tracking": "-0.04em" },
      { "style": "h2", "desktopPx": 36, "mobilePx": 28, "weight": 600, "lineHeight": 1.12, "tracking": "-0.03em" },
      { "style": "h3", "desktopPx": 24, "mobilePx": 21, "weight": 600, "lineHeight": 1.25, "tracking": "-0.02em" },
      { "style": "lead", "desktopPx": 20, "mobilePx": 18, "weight": 400, "lineHeight": 1.55, "tracking": "-0.01em" },
      { "style": "body", "desktopPx": 16, "mobilePx": 16, "weight": 400, "lineHeight": 1.65, "tracking": "0" },
      { "style": "small", "desktopPx": 14, "mobilePx": 14, "weight": 400, "lineHeight": 1.55, "tracking": "0" },
      { "style": "label", "desktopPx": 12, "mobilePx": 12, "weight": 600, "lineHeight": 1.3, "tracking": "0.08em", "transform": "uppercase" },
      { "style": "data", "weight": 500, "lineHeight": 1.1, "tracking": "-0.02em", "numbers": "tabular-nums" }
    ]
  },
  "layout": {
    "columns": 12,
    "contentWidthPx": 1200,
    "wideWidthPx": 1320,
    "gutterPx": { "desktop": 24, "mobile": 16 },
    "sectionSpacingPx": { "desktop": 128, "mobile": 80 },
    "spacingScalePx": [4, 8, 12, 16, 24, 32, 48, 64, 96, 128]
  },
  "radiusPx": { "chip": 6, "control": 10, "card": 16, "stage": 24, "pill": "Theme and audience switches only" },
  "components": {
    "buttonPrimary": { "fill": "--tw-action", "hover": "--tw-action-hover", "label": "#FFFFFF, weight 600", "heightPx": [40, 48, 56], "radiusPx": 10 },
    "buttonSecondary": { "fill": "--tw-surface-raised", "border": "1px --tw-border-strong", "label": "--tw-text-strong" },
    "focusRing": "2px solid --tw-accent, 2px offset"
  },
  "signatures": {
    "focusFrame": { "stroke": "2px --tw-signature (1.5px mobile)", "radiusPx": 24, "limit": "One per viewport, around the focal real product capture" },
    "contour": { "form": "Line art of the wave's four curves with echoes at 78/56/34% height", "stroke": "1-1.5px logo gradient", "limit": "Once per page" },
    "appTile": { "icon": "Line icon, 1.75px stroke, accent colour, in a rounded square", "iconLibrary": { "website": "lucide-react", "app": "@tabler/icons-react" }, "limit": "Only for real apps" },
    "chips": { "kinds": ["Free", "Pro", "New", "Live", "Coming soon"], "limit": "Only when true" }
  },
  "motion": {
    "durationsMs": { "instant": 120, "quick": 200, "considered": 320, "reveal": [600, 900] },
    "easing": { "enter": "cubic-bezier(0.2, 0.8, 0.2, 1)", "standard": "cubic-bezier(0.4, 0, 0.2, 1)" },
    "reducedMotion": "Replace movement with a quick fade or none"
  },
  "contrast": [
    { "pair": "#0B163F on #FFFFFF", "ratio": 17.49 },
    { "pair": "#3D4A63 on #FFFFFF", "ratio": 8.91 },
    { "pair": "#5B6882 on #F2F6FF", "ratio": 5.18 },
    { "pair": "#1366C4 on #FFFFFF", "ratio": 5.64 },
    { "pair": "#FFFFFF on #1570E0", "ratio": 4.74 },
    { "pair": "#FFFFFF on #1783FF", "ratio": 3.67, "note": "Large text only" },
    { "pair": "#D7DCEC on #050711", "ratio": 14.68 },
    { "pair": "#A7BEE6 on #050711", "ratio": 10.67 },
    { "pair": "#8492C4 on #111827", "ratio": 5.82 },
    { "pair": "#1B92FF on #050711", "ratio": 6.32 },
    { "pair": "#F87171 on #050711", "ratio": 7.27 },
    { "pair": "#FFFFFF on #1B92FF", "ratio": 3.18, "note": "Large text only" }
  ],
  "appReference": {
    "note": "Observed defaults from frontend/src/theme/tokens/defaults.ts. The app keeps its own tokens; marketing borrows its dark canvas, primaries and card treatment.",
    "dark": { "primary": "#1B92FF", "canvas": "#050711", "text": "#D7DCEC", "secondaryText": "#A7BEE6", "mutedText": "#8492C4", "border": "#1D2331" },
    "light": { "primary": "#1366C4", "canvas": "#EEF3FB", "text": "#0B1220", "secondaryText": "#3D4A63", "mutedText": "#697586", "border": "#DCDFE3" }
  }
}
