---
version: alpha
name: Velvetyne
description: Dark design system extracted from velvetyne.fr (DOM-true values, Emblematic extractor 0.2.0, 2026-11-12).
colors:
  background: "#000000"
  on-surface: "#D3D3D3"
  color-3: "#8A2BE2"
  color-4: "#0000EE"
typography:
  display-lg:
    fontFamily: Interlope
    fontSize: 233.33px
    fontWeight: 700
  headline-md:
    fontFamily: Karrik
    fontSize: 60px
    fontWeight: 700
rounded: {}
spacing:
  container: 630px
omitted:
  - section: rounded
    reason: no rounded corners on painted elements
---

# Velvetyne

> Extracted from [https://velvetyne.fr/greve/](https://velvetyne.fr/greve/) on 2026-11-12 by Emblematic. Every value below was read from the rendered DOM (computed styles, `document.fonts`, and the fonts Chrome actually used to paint text), not estimated from pixels. When the YAML front matter and this prose disagree, the YAML wins. Copy values from this file exactly; don't transcribe them from memory. Don't copy logos, imagery, illustrations or marketing copy.

## Overview

Velvetyne uses a dark canvas (#000000) with a palette. Type is set in **Interlope** (display + body), with ?px body text. Layout: 630px container, none-detected navigation, 1 sections. Built with an undetected stack.

## Colors

Area-weighted from painted backgrounds, text and borders on the 1440px light capture. Roles are inferred from usage (largest background, most text, interactive fills). Every hex is an exact computed value; a role marked *unverified* is a best guess that has not passed review, so its canonical token (e.g. `primary`) is left out of the front matter.

| Token | Hex | OKLCH | Role | Share of paint | CSS variable |
|---|---|---|---|---|---|
| `background` | `#000000` | 0 0 0 | bg | 49.2% | — |
| `on-surface` | `#D3D3D3` | 0.867 0 0 | text | 41.5% | — |
| `color-3` | `#8A2BE2` | 0.534 0.25 301.4 | other | 8.7% | — |
| `color-4` | `#0000EE` | 0.429 0.297 264.1 | other | 0.60% | — |

Sparse chromatic highlights (not accents): `#0000EE`.

Contrast: text on background 14.03:1.

The site does not change under `prefers-color-scheme: dark`.

## Typography

| Family | Role | Weights | Share of text | Source |
|---|---|---|---|---|
| **Interlope** | display, body | 700 | 63.4% | webfont |
| **Karrik** | other | 700 | 35.3% | webfont |
| **Velvelyne** (CSS: `velvelyne`) | other | 400 | 1.3% | webfont |

Scale (px): 19.5, 60, 233.5.  Body ?px at line-height normal; display 233.33px with tracking 0em. Headings are sentence case. On a 390px viewport the body is ?px and display 87.5px.

## Layout

Spacing has no reliable single base unit; the most used steps are px. Content sits in a 630px container. Text density 0.931 (text area / page area).

Section order (desktop). Kinds below the review threshold are shown as *section*:

1. **hero** — “More resources for the public education system! Stop police brutality! Velvetyne” (855px, bg #000000)

## Shapes

Dominant corner radius 0px; radii in use: none. Borders: none.

## Do's and Don'ts

- Do set body copy in Interlope at ?px.
- Don't introduce font weights beyond 400, 700.
- Don't add drop shadows; depth comes from tone and borders.
- Do keep corners at 0px for most controls.
- Don't copy this site's logos, illustrations, photography or copy; use the system, not the brand assets.

## Provenance

Spec v2, extractor 0.2.0. Render quality: **ok**. Vision pass: not run. Fields below confidence 0.7 are hedged or left out above: `color.accent_strategy`, `components`, `imagery.dominant_colors`, `layout.columns`, `layout.hero`, `layout.section_count`, `space.base`, `space.section_padding_px`, `type.ratio`. Full per-field provenance is in `spec.json`.
