{
  "$schema": "https://design-tokens.github.io/community-group/format/",
  "name": "OpenStation",
  "description": "Brand tokens for OpenStation, the open-source WordPress plugin that turns wp-admin into a desktop OS.",
  "version": "0.7.1",
  "updated": "2026-08-04",
  "guidelines": "https://nuriapenya.github.io/open-station-brand/",
  "color": {
    "pulse": {
      "$type": "color",
      "$value": "#e94ff3",
      "$description": "Pulse. Neon identity accent, formerly named Pulsar. RGB 233, 79, 243. HSL 296, 87, 63. Darkened from #E94FF3 in August 2026 for contrast: 3.05:1 on pure white (clears the 3:1 minimum for non-text) and 2.98:1 on Starlight, against 2.84:1 and 2.77:1 before. On Void it reads 6.4:1, still AA for text."
    },
    "nebula": {
      "$type": "color",
      "$value": "#ec9bff",
      "$description": "Nebula. Soft identity accent. RGB 236, 155, 255. HSL 289, 100, 80."
    },
    "starlight": {
      "$type": "color",
      "$value": "#fffbff",
      "$description": "Starlight. Light contrast color. RGB 255, 251, 255. HSL 300, 100, 99."
    },
    "sirius": {
      "$type": "color",
      "$value": "#9af2ff",
      "$description": "Sirius. Cyan contrast accent, brightened from the former #C2F1F1. RGB 154, 242, 255. HSL 188, 100, 80."
    },
    "lagoon": {
      "$type": "color",
      "$value": "#9f98ff",
      "$description": "Lagoon. Violet-blue contrast accent. RGB 159, 152, 255. HSL 244, 100, 80."
    },
    "obsidian": {
      "$type": "color",
      "$value": "#1a1721",
      "$description": "Obsidian. Surface dark, replaces the former Astro #19161E. RGB 26, 23, 33. HSL 258, 18, 11."
    },
    "void": {
      "$type": "color",
      "$value": "#0c0b0f",
      "$description": "Void. Darkest brand color, base background. RGB 12, 11, 15. HSL 255, 15, 5."
    },
    "gray": {
      "$description": "Shade palette: a ten-step secondary grays ramp from Void to Starlight. Void, Obsidian and Starlight are shared with the primary palette.",
      "void": {
        "$type": "color",
        "$value": "{color.void}"
      },
      "obsidian": {
        "$type": "color",
        "$value": "{color.obsidian}"
      },
      "astro": {
        "$type": "color",
        "$value": "#33303a",
        "$description": "Astro. RGB 51, 48, 58. HSL 258, 9, 21."
      },
      "silver": {
        "$type": "color",
        "$value": "#4d4a52",
        "$description": "Silver. RGB 77, 74, 82. HSL 262, 5, 31."
      },
      "pewter": {
        "$type": "color",
        "$value": "#66636b",
        "$description": "Pewter. RGB 102, 99, 107. HSL 263, 4, 40."
      },
      "osmium": {
        "$type": "color",
        "$value": "#99969c",
        "$description": "Osmium. RGB 153, 150, 156. HSL 270, 3, 60."
      },
      "ash": {
        "$type": "color",
        "$value": "#b3afb5",
        "$description": "Ash. RGB 179, 175, 181. HSL 280, 4, 70."
      },
      "cloud": {
        "$type": "color",
        "$value": "#ccc8ce",
        "$description": "Cloud. RGB 204, 200, 206. HSL 280, 6, 80."
      },
      "mist": {
        "$type": "color",
        "$value": "#e6e2e6",
        "$description": "Mist. RGB 230, 226, 230. HSL 300, 7, 89."
      },
      "starlight": {
        "$type": "color",
        "$value": "{color.starlight}"
      }
    }
  },
  "mesh": {
    "holomesh": {
      "$type": "asset",
      "$value": "assets/holomesh.svg",
      "$description": "Holomesh. Holographic mesh gradient (lavender, pink, cyan, mint) for hero surfaces, backgrounds and CTAs, defined in Figma as a vector gradient fill: a lavender base linear (#AFA2E8 to #C3B8EF) with eight radial glows. Never used as a background behind the logo: the mark can carry a holo fill, but there is no knocked-out logo on Holomesh."
    },
    "pulsemesh": {
      "$type": "asset",
      "$value": "assets/pulsemesh.svg",
      "$description": "Pulsemesh. Pulsar-style mesh gradient (magenta, pink, cyan, white) for hero surfaces, defined in Figma as a vector gradient fill: a blue-to-violet base linear (#8D9BF3 to #C878F0) with six radial glows. Formerly named Pulsarmesh."
    },
    "auromesh": {
      "$type": "asset",
      "$value": "assets/auromesh.svg",
      "$description": "Auromesh. Aurora-style mesh gradient (lavender, mint, cyan): a linear sweep from #D1C6F8 through #CEFADA to #B8FFFF."
    },
    "starmesh": {
      "$type": "asset",
      "$value": "assets/starmesh.svg",
      "$description": "Starmesh. Stellar mesh gradient (white, silver): a radial glow from Starlight (#FFFBFF) into Cloud (#CCC8CE), centered near the top edge."
    },
    "voidmesh": {
      "$type": "asset",
      "$value": "assets/voidmesh.svg",
      "$description": "Voidmesh. Void mesh gradient (black, obsidian): a linear gradient from #010101 through #111114 to #1E1D23. The default dark background behind content. Formerly named Space."
    },
    "miomesh": {
      "$type": "asset",
      "$value": "assets/miomesh.svg",
      "$description": "Miomesh. Mio's own gradient: a linear sweep from Pulse (#E94FF3) through #AA67FF and #A580FF into #4B3EFF. Belongs to the mascot; used for Mio's glow and accents."
    },
    "galaxy": {
      "$type": "asset",
      "$value": "assets/galaxy.svg",
      "$description": "Galaxy. Hero background: Void base with soft Nebula glows and a Starlight starfield (bright, dim and large star layers)."
    }
  },
  "typography": {
    "sans": {
      "$type": "fontFamily",
      "$value": [
        "Geist",
        "system-ui",
        "sans-serif"
      ],
      "$description": "Everything human: headlines, UI copy, body text.",
      "file": "fonts/Geist-Variable.woff2",
      "license": "SIL OFL 1.1 (fonts/OFL.txt)"
    },
    "mono": {
      "$type": "fontFamily",
      "$value": [
        "Geist Mono",
        "ui-monospace",
        "monospace"
      ],
      "$description": "The instrument voice: labels, metadata, statuses, code. Small, uppercase, letterspaced.",
      "file": "fonts/GeistMono-Variable.woff2",
      "license": "SIL OFL 1.1 (fonts/OFL.txt)"
    },
    "scale": {
      "$description": "Typographic scale from the named text styles in the Figma Typography section (node 2261:126). Line height is 1.3 on Display, the headings and Caption, and 1.5 on the three body sizes. Geist Mono has no H4 or H5.",
      "sans": {
        "display": "72px, Medium 500, 1.3",
        "h1": "48px, SemiBold 600, 1.3",
        "h2": "36px, SemiBold 600, 1.3",
        "h3": "30px, SemiBold 600, 1.3",
        "h4": "24px, Medium 500, 1.3",
        "h5": "20px, Medium 500, 1.3",
        "bodyLarge": "18px, Regular 400, 1.5",
        "body": "16px, Regular 400, 1.5",
        "bodySmall": "14px, Regular 400, 1.5",
        "caption": "13px, Regular 400, 1.3"
      },
      "mono": {
        "display": "72px, Light 300, 1.3",
        "h1": "48px, Bold 700, 1.3",
        "h2": "36px, Regular 400, 1.3",
        "h3": "30px, Regular 400, 1.3",
        "bodyLarge": "18px, Regular 400, 1.5",
        "body": "16px, Regular 400, 1.5",
        "bodySmall": "14px, Regular 400, 1.5",
        "caption": "13px, Regular 400, 1.3"
      }
    }
  },
  "radius": {
    "poster": {
      "$type": "dimension",
      "$value": "13px"
    },
    "card": {
      "$type": "dimension",
      "$value": "10px"
    },
    "inner": {
      "$type": "dimension",
      "$value": "8px"
    },
    "appIcon": {
      "$type": "dimension",
      "$value": "25/120 of icon size (rounded square), or a full circle"
    }
  },
  "logo": {
    "logomark": "assets/logomark.svg",
    "logomarkHolo": "assets/logomark-holo.svg",
    "logoword": "assets/logoword.svg",
    "logowordHolo": "assets/logoword-holo.svg",
    "appIcon": "assets/logomark-app.svg",
    "appIconHolo": "assets/logomark-app-holo.svg",
    "appIconCircle": "assets/logomark-app-circle.svg",
    "appIconCircleHolo": "assets/logomark-app-circle-holo.svg",
    "rules": [
      "The name is OpenStation, one word, capital O and capital S.",
      "The logoword is the name set in Geist SemiBold (600), sentence case, no added tracking.",
      "Lockup proportions (updated August 2026, the wordmark grew about 24% against the mark): the wordmark's cap-to-descender height is 65% of the logomark's height, the gap between them is half that (32.5% of the mark), and the wordmark block sits 20% of the mark height below the top edge and 15% above the bottom, so it reads optically centred despite the descender. In live text that is Geist SemiBold at 0.742 times the mark height. The shipped asset is drawn at an 80px mark: 59.4px type, a 26px gap, 458px wide overall (5.725 times the mark height).",
      "The wordmark is used in all references to the product as space allows; monochrome usage is preferred, with the brand colors as accents.",
      "When referring to OpenStation as a product (social media, the plugins page, app listings), always add the chip: the mark sits on its Void app tile, never bare.",
      "The standalone mark has two flat fills: Starlight, or the Holomesh holographic gradient (a vector gradient stack baked into the holo SVGs). No shadows or effects outside the app icons.",
      "Holoversion: the holographic version fills the mark with Holomesh and leaves the wordmark in Starlight. Holomesh is for backgrounds, CTAs and surfaces elsewhere, never a background behind the logo: the knocked-out (negative) logo on Holomesh is not part of the system.",
      "App icon: Void (#0C0B0F) tile, rounded square (radius 25/120 of the icon size) or circle, with a soft white inner shadow; the mark fills the central 3/5 of the tile (1/5 margin on each side). Inside the icon the mark gets the dimensional treatment: the Pearl radial fill (Starlight to Cloud) or Holomesh, a Mist edge stroke, a soft halo ring, stacked drop shadows and an inner highlight, all baked into the SVGs. Always on Void; there is no inverted or holo-background app icon.",
      "Clear space: around the lockup, 32.5% of the mark height at the left and right (the same measure as the gap between mark and wordmark) and 25% above and below. Around the standalone icon, 25% of its height on all four sides. Measured from the construction guides in Figma. That makes the construction box 6.375 by 1.5 mark heights around the lockup, and 1.5 mark heights square around the icon."
    ]
  },
  "mascot": {
    "name": "Mio",
    "description": "A small ghost blob that lives aboard the station: it glows in Pulse, drifts between windows, and shows up where the interface has something to say.",
    "gradient": "Miomesh (assets/miomesh.svg): Pulse #E94FF3 through #AA67FF and #A580FF into #4B3EFF.",
    "explorations": "assets/mio/",
    "status": "Final form, expressions, poses and usage rules to be defined."
  },
  "license": {
    "summary": "OpenStation is an open-source WordPress plugin (GPL). Brand assets are meant to be reused; fonts are SIL OFL 1.1.",
    "product": "https://wordpress.org/plugins/desktop-mode/",
    "repository": "https://github.com/WordPress/desktop-mode"
  }
}
