{
  "$description": "Green phosphor on black.",
  "$extensions": {
    "network.openvibe": {
      "name": "Matrix",
      "slug": "matrix",
      "mode": "dark",
      "generator": "openvibe.design"
    }
  },
  "color": {
    "bg": {
      "base": {
        "$type": "color",
        "$value": "#000000",
        "$description": "The page behind everything",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-primary"
          }
        }
      },
      "surface": {
        "$type": "color",
        "$value": "#050a05",
        "$description": "Bands and side panels",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-secondary"
          }
        }
      },
      "subtle": {
        "$type": "color",
        "$value": "#0a140a",
        "$description": "Wells, tracks and quiet fills",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-tertiary"
          }
        }
      },
      "raised": {
        "$type": "color",
        "$value": "#071007",
        "$description": "Cards, rows and sheets",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-card"
          }
        }
      },
      "hover": {
        "$type": "color",
        "$value": "#0e1e0e",
        "$description": "A control under the pointer or finger",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-hover"
          }
        }
      },
      "input": {
        "$type": "color",
        "$value": "#030803",
        "$description": "Text fields",
        "$extensions": {
          "network.openvibe": {
            "css": "--bg-input"
          }
        }
      }
    },
    "text": {
      "primary": {
        "$type": "color",
        "$value": "#00ff41",
        "$description": "Body text and titles",
        "$extensions": {
          "network.openvibe": {
            "css": "--text-primary"
          }
        }
      },
      "secondary": {
        "$type": "color",
        "$value": "#00b030",
        "$description": "Supporting text",
        "$extensions": {
          "network.openvibe": {
            "css": "--text-secondary"
          }
        }
      },
      "muted": {
        "$type": "color",
        "$value": "#149836",
        "$description": "Hints and meta lines",
        "$extensions": {
          "network.openvibe": {
            "css": "--text-muted"
          }
        }
      }
    },
    "accent": {
      "base": {
        "$type": "color",
        "$value": "#00ff41",
        "$description": "Links, icons, focus rings",
        "$extensions": {
          "network.openvibe": {
            "css": "--accent"
          }
        }
      },
      "light": {
        "$type": "color",
        "$value": "#66ff8a",
        "$description": "The accent a step lighter",
        "$extensions": {
          "network.openvibe": {
            "css": "--accent-light"
          }
        }
      },
      "dark": {
        "$type": "color",
        "$value": "#00aa2a",
        "$description": "The accent a step darker",
        "$extensions": {
          "network.openvibe": {
            "css": "--accent-dark"
          }
        }
      },
      "strong": {
        "$type": "color",
        "$value": "#00ff41",
        "$description": "Filled buttons",
        "$extensions": {
          "network.openvibe": {
            "css": "--accent-strong"
          }
        }
      },
      "on": {
        "$type": "color",
        "$value": "#0b0d10",
        "$description": "Text on the accent",
        "$extensions": {
          "network.openvibe": {
            "css": "--on-accent"
          }
        }
      },
      "onStrong": {
        "$type": "color",
        "$value": "#0b0d10",
        "$description": "Text on a filled button",
        "$extensions": {
          "network.openvibe": {
            "css": "--on-accent-strong"
          }
        }
      },
      "glow": {
        "$type": "color",
        "$value": "rgba(0,255,65,0.35)",
        "$description": "Glows and halos",
        "$extensions": {
          "network.openvibe": {
            "css": "--accent-glow"
          }
        }
      }
    },
    "line": {
      "base": {
        "$type": "color",
        "$value": "#0a2a0a",
        "$description": "Dividers and outlines",
        "$extensions": {
          "network.openvibe": {
            "css": "--border"
          }
        }
      },
      "strong": {
        "$type": "color",
        "$value": "#144014",
        "$description": "Outlines that must show",
        "$extensions": {
          "network.openvibe": {
            "css": "--border-light"
          }
        }
      }
    },
    "status": {
      "ok": {
        "base": {
          "$type": "color",
          "$value": "#22c55e",
          "$description": "Success fills",
          "$extensions": {
            "network.openvibe": {
              "css": "--success"
            }
          }
        },
        "text": {
          "$type": "color",
          "$value": "#22c55e",
          "$description": "Success text on any surface",
          "$extensions": {
            "network.openvibe": {
              "css": "--success-text"
            }
          }
        }
      },
      "warn": {
        "base": {
          "$type": "color",
          "$value": "#f59e0b",
          "$description": "Warning fills",
          "$extensions": {
            "network.openvibe": {
              "css": "--warning"
            }
          }
        },
        "text": {
          "$type": "color",
          "$value": "#f59e0b",
          "$description": "Warning text on any surface",
          "$extensions": {
            "network.openvibe": {
              "css": "--warning-text"
            }
          }
        }
      },
      "bad": {
        "base": {
          "$type": "color",
          "$value": "#ef4444",
          "$description": "Danger fills",
          "$extensions": {
            "network.openvibe": {
              "css": "--danger"
            }
          }
        },
        "text": {
          "$type": "color",
          "$value": "#ef4444",
          "$description": "Danger text on any surface",
          "$extensions": {
            "network.openvibe": {
              "css": "--danger-text"
            }
          }
        }
      },
      "info": {
        "base": {
          "$type": "color",
          "$value": "#38bdf8",
          "$description": "Information fills",
          "$extensions": {
            "network.openvibe": {
              "css": "--info"
            }
          }
        },
        "text": {
          "$type": "color",
          "$value": "#38bdf8",
          "$description": "Information text on any surface",
          "$extensions": {
            "network.openvibe": {
              "css": "--info-text"
            }
          }
        }
      },
      "live": {
        "base": {
          "$type": "color",
          "$value": "#ef4444",
          "$description": "LIVE badges",
          "$extensions": {
            "network.openvibe": {
              "css": "--live-red"
            }
          }
        },
        "text": {
          "$type": "color",
          "$value": "#ef4444",
          "$description": "LIVE text on any surface",
          "$extensions": {
            "network.openvibe": {
              "css": "--live-red-text"
            }
          }
        }
      }
    }
  },
  "motion": {
    "duration": {
      "1": {
        "$type": "duration",
        "$value": "120ms",
        "$description": "A quick answer",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-dur-1"
          }
        }
      },
      "2": {
        "$type": "duration",
        "$value": "200ms",
        "$description": "A change of state",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-dur-2"
          }
        }
      },
      "3": {
        "$type": "duration",
        "$value": "320ms",
        "$description": "A lift or a glow",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-dur-3"
          }
        }
      },
      "4": {
        "$type": "duration",
        "$value": "520ms",
        "$description": "The slow way back",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-dur-4"
          }
        }
      }
    },
    "easing": {
      "out": {
        "$type": "cubicBezier",
        "$value": [
          0.2,
          0.8,
          0.2,
          1
        ],
        "$description": "Leaves fast, settles slow",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-ease-out"
          }
        }
      },
      "spring": {
        "$type": "cubicBezier",
        "$value": [
          0.34,
          1.56,
          0.64,
          1
        ],
        "$description": "Overshoots, then comes back",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-ease-spring"
          }
        }
      },
      "in-out": {
        "$type": "cubicBezier",
        "$value": [
          0.65,
          0,
          0.35,
          1
        ],
        "$description": "Even on both sides",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-ease-in-out"
          }
        }
      }
    }
  },
  "shape": {
    "radius": {
      "1": {
        "$type": "dimension",
        "$value": "4px",
        "$description": "Small things: chips, inputs, rows",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-radius-1",
            "shape": "square"
          }
        }
      },
      "2": {
        "$type": "dimension",
        "$value": "6px",
        "$description": "Cards, sections, panels",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-radius-2",
            "shape": "square"
          }
        }
      },
      "3": {
        "$type": "dimension",
        "$value": "10px",
        "$description": "Sheets, dialogs, big surfaces",
        "$extensions": {
          "network.openvibe": {
            "css": "--ov-radius-3",
            "shape": "square"
          }
        }
      }
    }
  },
  "brand": {
    "o": {
      "$type": "color",
      "$value": "#4f7cff",
      "$description": "The mark's O",
      "$extensions": {
        "network.openvibe": {
          "css": "--ov-brand-o"
        }
      }
    },
    "v": {
      "$type": "color",
      "$value": "#8b5cf6",
      "$description": "The mark's V",
      "$extensions": {
        "network.openvibe": {
          "css": "--ov-brand-v"
        }
      }
    }
  }
}
