Color Scheme
Color palette used by the design system. Every slot and role is a hex color ('#RGB', '#RRGGBB' or '#RRGGBBAA'); a color-scheme name or a 'var:<id>' reference is not valid here, because those resolve through the scheme. The slot fields (accent1-accent6, dark1, dark2, light1, light2, hyperlink, followedHyperlink) mirror color-scheme.schema.json (https://openpresentation.org/schema/opf-color-scheme/v1) so library records and inline OPF overrides are interchangeable on those fields. Two parallel models are supported and may be mixed: - OOXML slots - the 12-slot PowerPoint theme model that round-trips directly to OOXML. Use these for full control over the palette as PowerPoint sees it. - Abstract roles (primary, secondary, accent, background, surface, text, textSecondary) - OPF-specific semantic aliases the engine maps onto the OOXML slots. Convenient for inline overrides without thinking in slot numbers; not part of the catalog record schema. In design.colorScheme, 'id' resolves a colorSchemes record as the base; slot and role overrides on the same object take precedence over the resolved scheme. The string form of design.colorScheme is equivalent to setting only 'id'.
Metadata
Field index
| Field | Type | Req. | Description |
|---|---|---|---|
| id | ref:CatalogReference | — | Colour-scheme reference (a bare id or 'name:id') resolved as the base; slot and role overrides on the surrounding ColorScheme object take precedence over the resolved scheme. |
| accent1 | ref:HexColor | — | Accent 1 color (hex). Mirrors the OOXML accent1 slot. |
| accent2 | ref:HexColor | — | Accent 2 color (hex). Mirrors the OOXML accent2 slot. |
| accent3 | ref:HexColor | — | Accent 3 color (hex). Mirrors the OOXML accent3 slot. |
| accent4 | ref:HexColor | — | Accent 4 color (hex). Mirrors the OOXML accent4 slot. |
| accent5 | ref:HexColor | — | Accent 5 color (hex). Mirrors the OOXML accent5 slot. |
| accent6 | ref:HexColor | — | Accent 6 color (hex). Mirrors the OOXML accent6 slot. |
| dark1 | ref:HexColor | — | Dark 1 color (hex). Typically the deepest neutral; OOXML dark1. |
| dark2 | ref:HexColor | — | Dark 2 color (hex). Secondary dark; OOXML dark2. |
| light1 | ref:HexColor | — | Light 1 color (hex). Typically the slide canvas; OOXML lt1. |
| light2 | ref:HexColor | — | Light 2 color (hex). Secondary light surface; OOXML lt2. |
| hyperlink | ref:HexColor | — | Hyperlink color (hex). OOXML hlink. Link runs with no color of their own are drawn underlined in it, in the preview and in PowerPoint, unless it has under 4.5:1 contrast against the slide background, then in the slide text color. |
| followedHyperlink | ref:HexColor | — | Followed-hyperlink color (hex). OOXML folHlink. |
| primary | ref:HexColor | — | Abstract role: primary brand color (hex). The engine maps this onto an OOXML accent slot when serializing. |
| secondary | ref:HexColor | — | Abstract role: secondary brand color (hex). |
| accent | ref:HexColor | — | Abstract role: accent color used for highlights and emphasis (hex). |
| background | ref:HexColor | — | Abstract role: default slide background color (hex), used when the design names no single-color background (and for gradient and picture backgrounds). Overrides light1 as that default. |
| surface | ref:HexColor | — | Abstract role: color for elevated surfaces such as cards and panels (hex). Overrides the default of light2 (dark2 on a dark slide). |
| text | ref:HexColor | — | Abstract role: primary body text color (hex). Overrides dark1 on a light slide only; a dark slide always uses light1. |
| textSecondary | ref:HexColor | — | Abstract role: secondary or muted text color used for captions and supporting copy (hex). Overrides the default of dark2 (light2 on a dark slide). |
id
typeref:CatalogReferencerequirednodefault—
Colour-scheme reference (a bare id or 'name:id') resolved as the base; slot and role overrides on the surrounding ColorScheme object take precedence over the resolved scheme.
{
"id": "cool-horizon"
}accent1
typeref:HexColorrequirednodefault—
Accent 1 color (hex). Mirrors the OOXML accent1 slot.
{
"accent1": "#2874A6"
}accent2
typeref:HexColorrequirednodefault—
Accent 2 color (hex). Mirrors the OOXML accent2 slot.
{
"accent2": "#1B4F72"
}accent3
typeref:HexColorrequirednodefault—
Accent 3 color (hex). Mirrors the OOXML accent3 slot.
{
"accent3": "#5499C7"
}accent4
typeref:HexColorrequirednodefault—
Accent 4 color (hex). Mirrors the OOXML accent4 slot.
{
"accent4": "#7BDBB2"
}accent5
typeref:HexColorrequirednodefault—
Accent 5 color (hex). Mirrors the OOXML accent5 slot.
{
"accent5": "#3AC67A"
}accent6
typeref:HexColorrequirednodefault—
Accent 6 color (hex). Mirrors the OOXML accent6 slot.
{
"accent6": "#24A89E"
}dark1
typeref:HexColorrequirednodefault—
Dark 1 color (hex). Typically the deepest neutral; OOXML dark1.
{
"dark1": "#000000"
}dark2
typeref:HexColorrequirednodefault—
Dark 2 color (hex). Secondary dark; OOXML dark2.
{
"dark2": "#011842"
}light1
typeref:HexColorrequirednodefault—
Light 1 color (hex). Typically the slide canvas; OOXML lt1.
{
"light1": "#FFFFFF"
}light2
typeref:HexColorrequirednodefault—
Light 2 color (hex). Secondary light surface; OOXML lt2.
{
"light2": "#F0F0F0"
}hyperlink
typeref:HexColorrequirednodefault—
Hyperlink color (hex). OOXML hlink. Link runs with no color of their own are drawn underlined in it, in the preview and in PowerPoint, unless it has under 4.5:1 contrast against the slide background, then in the slide text color.
{
"hyperlink": "#0563C1"
}followedHyperlink
typeref:HexColorrequirednodefault—
Followed-hyperlink color (hex). OOXML folHlink.
{
"followedHyperlink": "#954F72"
}primary
typeref:HexColorrequirednodefault—
Abstract role: primary brand color (hex). The engine maps this onto an OOXML accent slot when serializing.
{
"primary": "#1E40AF"
}secondary
typeref:HexColorrequirednodefault—
Abstract role: secondary brand color (hex).
{
"secondary": "#3B82F6"
}accent
typeref:HexColorrequirednodefault—
Abstract role: accent color used for highlights and emphasis (hex).
{
"accent": "#F59E0B"
}background
typeref:HexColorrequirednodefault—
Abstract role: default slide background color (hex), used when the design names no single-color background (and for gradient and picture backgrounds). Overrides light1 as that default.
{
"background": "#FFFFFF"
}surface
typeref:HexColorrequirednodefault—
Abstract role: color for elevated surfaces such as cards and panels (hex). Overrides the default of light2 (dark2 on a dark slide).
{
"surface": "#F8FAFC"
}text
typeref:HexColorrequirednodefault—
Abstract role: primary body text color (hex). Overrides dark1 on a light slide only; a dark slide always uses light1.
{
"text": "#0F172A"
}textSecondary
typeref:HexColorrequirednodefault—
Abstract role: secondary or muted text color used for captions and supporting copy (hex). Overrides the default of dark2 (light2 on a dark slide).
{
"textSecondary": "#475569"
}Complete definition constraints
{
"type": "object",
"description": "Color palette used by the design system. Every slot and role is a hex color ('#RGB', '#RRGGBB' or '#RRGGBBAA'); a color-scheme name or a 'var:<id>' reference is not valid here, because those resolve through the scheme. The slot fields (accent1-accent6, dark1, dark2, light1, light2, hyperlink, followedHyperlink) mirror color-scheme.schema.json (https://openpresentation.org/schema/opf-color-scheme/v1) so library records and inline OPF overrides are interchangeable on those fields.\n\nTwo parallel models are supported and may be mixed:\n- OOXML slots - the 12-slot PowerPoint theme model that round-trips directly to OOXML. Use these for full control over the palette as PowerPoint sees it.\n- Abstract roles (primary, secondary, accent, background, surface, text, textSecondary) - OPF-specific semantic aliases the engine maps onto the OOXML slots. Convenient for inline overrides without thinking in slot numbers; not part of the catalog record schema.\n\nIn design.colorScheme, 'id' resolves a colorSchemes record as the base; slot and role overrides on the same object take precedence over the resolved scheme. The string form of design.colorScheme is equivalent to setting only 'id'.",
"properties": {
"id": {
"$ref": "#/$defs/CatalogReference",
"description": "Colour-scheme reference (a bare id or 'name:id') resolved as the base; slot and role overrides on the surrounding ColorScheme object take precedence over the resolved scheme.",
"examples": [
"cool-horizon",
"boost",
"burnt-orange",
"ocean-depth",
"corporate-blue"
]
},
"accent1": {
"$ref": "#/$defs/HexColor",
"description": "Accent 1 color (hex). Mirrors the OOXML accent1 slot.",
"examples": [
"#2874A6",
"#FD3223",
"#F77F00"
]
},
"accent2": {
"$ref": "#/$defs/HexColor",
"description": "Accent 2 color (hex). Mirrors the OOXML accent2 slot.",
"examples": [
"#1B4F72",
"#0308DB",
"#D62828"
]
},
"accent3": {
"$ref": "#/$defs/HexColor",
"description": "Accent 3 color (hex). Mirrors the OOXML accent3 slot.",
"examples": [
"#5499C7",
"#4F4955",
"#003049"
]
},
"accent4": {
"$ref": "#/$defs/HexColor",
"description": "Accent 4 color (hex). Mirrors the OOXML accent4 slot.",
"examples": [
"#7BDBB2",
"#A1DB30",
"#FCBF49"
]
},
"accent5": {
"$ref": "#/$defs/HexColor",
"description": "Accent 5 color (hex). Mirrors the OOXML accent5 slot.",
"examples": [
"#3AC67A",
"#0682FE",
"#EAE2B7"
]
},
"accent6": {
"$ref": "#/$defs/HexColor",
"description": "Accent 6 color (hex). Mirrors the OOXML accent6 slot.",
"examples": [
"#24A89E",
"#FC03BE",
"#BFBFBF"
]
},
"dark1": {
"$ref": "#/$defs/HexColor",
"description": "Dark 1 color (hex). Typically the deepest neutral; OOXML dark1.",
"examples": [
"#000000"
]
},
"dark2": {
"$ref": "#/$defs/HexColor",
"description": "Dark 2 color (hex). Secondary dark; OOXML dark2.",
"examples": [
"#011842",
"#2C2C2C"
]
},
"light1": {
"$ref": "#/$defs/HexColor",
"description": "Light 1 color (hex). Typically the slide canvas; OOXML lt1.",
"examples": [
"#FFFFFF"
]
},
"light2": {
"$ref": "#/$defs/HexColor",
"description": "Light 2 color (hex). Secondary light surface; OOXML lt2.",
"examples": [
"#F0F0F0",
"#F3F7FF"
]
},
"hyperlink": {
"$ref": "#/$defs/HexColor",
"description": "Hyperlink color (hex). OOXML hlink. Link runs with no color of their own are drawn underlined in it, in the preview and in PowerPoint, unless it has under 4.5:1 contrast against the slide background, then in the slide text color.",
"examples": [
"#0563C1",
"#0066CC"
]
},
"followedHyperlink": {
"$ref": "#/$defs/HexColor",
"description": "Followed-hyperlink color (hex). OOXML folHlink.",
"examples": [
"#954F72",
"#551A8B"
]
},
"primary": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: primary brand color (hex). The engine maps this onto an OOXML accent slot when serializing.",
"examples": [
"#1E40AF",
"#0F172A"
]
},
"secondary": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: secondary brand color (hex).",
"examples": [
"#3B82F6",
"#64748B"
]
},
"accent": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: accent color used for highlights and emphasis (hex).",
"examples": [
"#F59E0B",
"#22D3EE"
]
},
"background": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: default slide background color (hex), used when the design names no single-color background (and for gradient and picture backgrounds). Overrides light1 as that default.",
"examples": [
"#FFFFFF",
"#0B1220"
]
},
"surface": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: color for elevated surfaces such as cards and panels (hex). Overrides the default of light2 (dark2 on a dark slide).",
"examples": [
"#F8FAFC",
"#1E293B"
]
},
"text": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: primary body text color (hex). Overrides dark1 on a light slide only; a dark slide always uses light1.",
"examples": [
"#0F172A",
"#F8FAFC"
]
},
"textSecondary": {
"$ref": "#/$defs/HexColor",
"description": "Abstract role: secondary or muted text color used for captions and supporting copy (hex). Overrides the default of dark2 (light2 on a dark slide).",
"examples": [
"#475569",
"#94A3B8"
]
}
}
}