{
  "$description": "Brand: Spotify (spotify@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette spotify@1.0.0",
      "spotify-green": {
        "$value": "#1ED760",
        "$type": "color",
        "$description": "Current primary brand green — used on the wordmark, the play affordance, and primary CTAs."
      },
      "spotify-green-legacy": {
        "$value": "#1DB954",
        "$type": "color",
        "$description": "The legacy Spotify Green established with the brand. Still appears across press assets and older surfaces."
      },
      "spotify-green-pressed": {
        "$value": "#169C46",
        "$type": "color",
        "$description": "Darker green for pressed/active states on the primary action."
      },
      "spotify-black": {
        "$value": "#000000",
        "$type": "color",
        "$description": "Canonical canvas — the Spotify consumer surface is solid black."
      },
      "spotify-dark": {
        "$value": "#121212",
        "$type": "color",
        "$description": "Elevated surface of the Spotify consumer app — the player chrome and main panel sit on this near-black."
      },
      "spotify-elevated": {
        "$value": "#181818",
        "$type": "color",
        "$description": "Cards, hovered rows, and elevated tiles use this slightly lifted near-black."
      },
      "spotify-gray": {
        "$value": "#535353",
        "$type": "color",
        "$description": "Secondary text and divider color on the dark canvas."
      },
      "spotify-gray-light": {
        "$value": "#B3B3B3",
        "$type": "color",
        "$description": "Tertiary text, captions, metadata in the player UI."
      },
      "spotify-white": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Primary text on the dark canvas; reversed wordmark fill on light marketing."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Spotify Circular",
          "Helvetica Neue",
          "Helvetica",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Spotify Circular (spotify-circular@1.0.0)"
      },
      "weight": {
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Spotify Circular",
          "Helvetica Neue",
          "Helvetica",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Spotify Circular (spotify-circular@1.0.0)"
      },
      "weight": {
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "JetBrainsMono Nerd Font",
          "JetBrains Mono",
          "Fira Code",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "logo.wordmark.fill",
        "severity": "error",
        "rationale": "The Spotify wordmark renders only in Spotify Green, white, or black per the public brand assets. The legacy green is preserved for historical surfaces; the pressed green is an interactive-state value, not a wordmark fill.\n",
        "allowed": [
          "spotify-green",
          "spotify-white",
          "spotify-black"
        ],
        "forbidden": [
          "spotify-green-legacy",
          "spotify-green-pressed",
          "spotify-gray",
          "spotify-gray-light"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "The Spotify wordmark and three-arc mark have strict clearspace and color rules in the Spotify brand system. Never render the green wordmark on a background where it falls below WCAG-AA-large contrast; use the white or black variant on those surfaces.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "on-busy-photo",
          "inverted-without-variant",
          "green-on-low-contrast-background"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "Spotify White on Spotify Black gives ~21:1 — well above WCAG 2.1 Level AA. The rule encodes the floor for any new foreground/background pairing on Spotify surfaces.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "contrastRatio",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "Spotify Green on Spotify Black must remain perceptible at interactive sizes. Falling below 3:1 (AA-large) breaks the affordance of the play-action and primary CTAs the brand depends on.\n",
        "against": "background",
        "minRatio": 3,
        "standard": "WCAG-AA-large"
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "Spotify Green is reserved for the brand mark, the play affordance, and primary action. Using it for body text or for error/failure states conflicts with its established positive-action meaning.\n",
        "forbiddenContexts": [
          "body-text",
          "secondary-link",
          "validation-failure"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "Spotify's editorial headlines use Spotify Circular Bold (700) or Black (900) for hero typography. Lighter cuts read as body or UI weight and compromise the editorial voice.\n",
        "allowed": [
          "700",
          "900"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The dark-first canvas makes contrast verification the default check on any new role pairing.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "The signature green pairs cleanly with black canvas and white text. Combining the current green with the legacy green on the same surface creates a muddy two-green composition that reads as inconsistency.\n",
        "pairsWith": [
          "roles.colors.background",
          "roles.colors.text-primary"
        ],
        "doesNotPairWith": [
          "spotify-green-legacy"
        ]
      },
      {
        "type": "fontPairing",
        "target": "typography.heading",
        "severity": "warning",
        "rationale": "Spotify's hero and section headers run materially larger than the player UI's body text. A 1.5× floor preserves the display-to-prose hierarchy the editorial voice depends on.\n",
        "requires": "body",
        "minSizeRatio": 1.5
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://developer.spotify.com/documentation/design",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "Spotify AB — Spotify, the Spotify wordmark, and the three-arc \"soundwave\" mark are registered trademarks of Spotify AB. Spotify Circular is licensed from Lineto. This atom captures brand-atoms' read of Spotify's publicly available developer design documentation and brand assets; it is not an official Spotify brand-guidelines document.\n",
      "importedDate": "2026-05-17",
      "notes": "Spotify's brand identity is anchored on the green-on-black pairing. The 2015 brand refresh introduced the brighter #1ED760 as the primary green while retaining #1DB954 for legacy surfaces. Both coexist; the brighter green dominates current product.\n"
    },
    "com.brand-atoms.references": {
      "palette": "spotify@1.0.0",
      "fonts": {
        "heading": "spotify-circular@1.0.0",
        "body": "spotify-circular@1.0.0",
        "mono": "jetbrainsmono-nerdfont@1.0.0"
      }
    }
  }
}
