Compaytence · Design Intern · 13. August 2026

Compaytence
Design-Leitfaden

Jeder Token, jede Komponente und jede Regel im v2-System, in Arbeitsgröße dargestellt. Klicken Sie auf ein Farbfeld, um dessen Hex-Wert zu kopieren.

Version
v2 · Leitfaden 1.0
Übernommen
3. August 2026
Gemessene Werte
13. August 2026
Implementierung
assets/system.css
Diese Seite ist aus dem gebaut, was sie dokumentiert

Das hier inline eingebundene Stylesheet ist system.css wortgetreu und wurde beim Build kopiert. Jede Farbfeldfüllung, jedes Kontrastverhältnis und jeder OKLCH-Wert wird von build.py aus einem Hex-Wert berechnet, sodass eine Beschriftung nicht von der Farbe darüber abweichen kann. Wenn sich das System ändert, führen Sie den Build erneut aus, statt diese Datei zu bearbeiten.

Herkunft
01

Warum das System existiert

Nicht, um gut auszusehen. Sondern damit es nicht installiert worden sein kann.

Ein Audit im August 2026 ergab, dass 13 von 13 Akzent- und Textwerten im vorherigen System wortwörtliche Tailwind-Standardwerte waren und dass unsere eigene Produktwebsite mit shadcn initialisiert worden war ("style": "new-york"). Ein Wettbewerber aus einer nicht verwandten Branche teilte 9 unserer 12 charakteristischen Gestaltungsmittel bei nahezu identischen Werten, weil beide Websites aus derselben Registry zusammengestellt wurden.

Jeder Wert muss auf eine Quelle zurückzuführen sein. Wenn die einzige Antwort auf „Warum diese Zahl?“ „Sie sah richtig aus“ lautet, ist es Drift.

Dieser Test ersetzte den älteren, „Könnte das installiert worden sein?“, weil Negativlisten in einem Zyklus von ungefähr zwölf Monaten veralten. Das Erkennungszeichen von 2024 waren ein violetter Verlauf und Inter. Das Erkennungszeichen von 2026 sind warmes Creme und eine Serifenschrift für Displays – der Fluchtweg vom Erkennungszeichen von 2024, der weit genug verbreitet übernommen wurde, um zum neuen zu werden. Herleitung veraltet nicht.

Im v2-Neubau entfernte übernommene Standardwerte
Tailwind-Palettenwerte13
Vercel-Hausschriften2
Gesamt 15

Quelle: design-system.md §0, Audit August 2026.

Die Folgerung, und sie ist verbindlich

Schreiben Sie niemals ein Verbot ohne einen positiven Ersatz. Sagt man einem Modell „Kein Creme verwenden“, erzeugt es keine Vielfalt, sondern wechselt zu einer anderen festen Palette. Negation verlagert einen Attraktor, statt ihn aufzulösen. Jede Regel in diesem Leitfaden nennt stattdessen den verwendeten Token, die Zahl oder die Schrift.

Der Akzent
02

Eine blaue Leiter, ein Farbton

Das PAY-Blau der Wortmarke ist der Ausgangspunkt. Jedes andere Blau ist dieselbe Farbe, heller oder dunkler gemacht.

Stufe 50 ist das Blau der Wortmarke selbst, gemessen bei OKLCH-Farbton 245.56. Über alle elf Stufen hinweg bleibt der Farbton innerhalb von 1.6 Grad konstant. Chroma erzählt eine andere Geschichte: Sie erreicht am Ausgangspunkt ihren Höchstwert und fällt zu beiden Enden hin ab, weil sRGB am hellen Ende keine Sättigung halten kann. Die Leiter ist eine Helligkeitsleiter mit festgelegtem Farbton; das ist die relevante Eigenschaft.

Kontrast wird in jedem Theme gegen --paper gemessen. Grün erfüllt 4.5:1, Grau erfüllt 3:1, Rot erfüllt keines von beidem. Berechnet am 13. August 2026.

Die Regel, die wichtiger ist als jede andere

#33A9FF misst auf dem hellen Grund 2.42:1. Auf einer hellen Fläche ist es nur eine Füllung. Niemals Text, niemals eine Haarlinie, die Sie lesen müssen. Auf dem dunklen Grund erreicht derselbe Hex-Wert 7.51:1 und kann als Text gesetzt werden. Diese Asymmetrie ist der ganze Grund, warum es eine Leiter statt eines einzelnen Hex-Werts gibt.

Dieser Text ist #33A9FF auf Papier. Bei 2.42:1 scheitert er an jeder existierenden Barrierefreiheitsuntergrenze.

Tun Sie das niemals

Derselbe Hex-Wert als Füllung hinter Weiß und als Ausgangspunkt der ganzen Leiter.

Das ist seine Aufgabe

Daher wählt niemand je eine Stufe von Hand aus. Sechs Rollen-Token lösen sich je Theme zur richtigen Sprosse auf, und das Markup nennt immer nur die Rolle.

TokenAufgabeHellVerhältnis DunkelVerhältnis
--mark Links, Betonung Stufe 70 #0077bd 4.57 Stufe 30 #81c5ff 10.34
--mark-deep stärkere Betonung Stufe 80 #005990 7.07 Stufe 20 #b0daff 13.02
--mark-solid FÜLLUNG auf hell, Text auf dunkel Stufe 50 #33a9ff 2.42 Stufe 50 #33a9ff 7.51
--mark-tint getönte Flächen Stufe 05 #edf6ff 1.04 Stufe 95 #002e4d 1.36
--fig Display-Zahlen, nur >=24px Stufe 60 #0089d9 3.59 Stufe 40 #5fb7ff 8.83
--fig-inline Zahlen im Fließtext Stufe 70 #0077bd 4.57 Stufe 30 #81c5ff 10.34
Die Zahlenfalle und die Regel, die sie entschärft

--fig erreicht auf dem hellen Grund 3.59:1 und ist daher nur über ungefähr 24px zulässig. Es zur Standardfarbe einer universellen Klasse für Zahlen zu machen, bedeutet, dass jede Indexziffer und jede Inline-Statistik stillschweigend AA verfehlt – genau das ist einmal passiert. Ein zweistufiges System für Zahlen muss standardmäßig die sichere Stufe verwenden und die Display-Stufe optional machen.

Führen Sie niemals einen zweiten Akzentfarbton ein. Messing wurde für Zahlen ausprobiert und abgelehnt, überlebte dann aber unbemerkt in einer atmosphärischen Lasur mit Chroma 0.086 für zwei Entwürfe. Wenn eine Farbe bei ungefähr mehr als 0.02 Chroma liegt und nicht dieses Blau ist, ist sie ein Fehler. Es gibt zwei Ausnahmen, und beide müssen auditierbar gemacht werden, statt implizit zu bleiben: Marken von Drittanbietern behalten die Farbe ihres Eigentümers und werden so gekennzeichnet, dass das Audit das Attribut, niemals den Hex-Wert, auf die Positivliste setzt; und eine Produktreplik, die einem Nutzer zeigt, was er bei der Anmeldung tatsächlich sieht, behält die eigenen Token des Produkts, die in beide Richtungen zugesichert werden.

Der Grund
03

Warmes Papier, kühler Akzent

Beide Themes sind warm. Der Akzent ist das einzig Kühle auf der Seite.

Das Blau liegt beim Farbton 245.56, sein exaktes Komplement ist also 65.56. Die Neutralfarben werden von dieser Zahl abgeleitet. Damit bestimmt eine Messung beide Hälften des Systems, und die Antwort auf „Warum dieser Farbton?“ ist Arithmetik statt Geschmack. Chroma und Helligkeit bestimmen die Rolle jeder Neutralfarbe.

TokenHellDunkel
--paperder Grund
--paper-2Flächentönung, trägt keinen Text
--washBändertönung, trägt keinen Text
--graphitegedämpfter Text
--ink-softFließtext
--inkÜberschriften
Schreiben Sie „Farbton entspricht 65.6“ nicht als Prüfung

Gemessen erstrecken sich die zwölf Neutralfarben über 62.35 bis 75.41 Grad. Das ist keine Drift in den Farben. Bei Chroma 0.005 bis 0.013 kann 8-Bit-sRGB keinen Farbton adressieren: Eine Stufe auf einem einzelnen Kanal verschiebt den gemessenen Farbton um 3.5 bis 15.8 Grad. Jeder Wert liegt also bereits innerhalb eines Quantisierungsschritts vom Ziel, und eine erneute Kodierung bei exakt 65.56 liefert denselben oder einen benachbarten Hex-Wert. Die überprüfbare Form der Regel lautet Chroma bei oder unter 0.013, Farbton zwischen 55 und 90. Beides gilt für alle zwölf, und beides ist widerlegbar.

Führen Sie jeden Rahmen über rgba(var(--rule-c), a). Der Token ist keine Farbe, sondern ein RGB-Tripel für die Komposition: 31,27,22 auf hell, 233,230,225 auf dunkel, bei Alpha 0.09 bis 0.45. Codieren Sie niemals ein Grau fest ein und verwenden Sie niemals einen neutral-schwarzen Schatten. Die helle Schattentönung ist ein warmes 44,32,21.

Zwei Flächen, die keinen Text tragen

--paper-2 und --wash sind ausschließlich Flächentönungen. --graphite, --mark, --risk und --good fallen auf dem ersten auf ungefähr 4.3:1 und auf dem zweiten auf 3.9:1, was unter der Untergrenze liegt. Wenn Sie ein Band in einem der beiden gestalten, wechselt dessen Text zu --ink-soft oder dunkler.

Semantik, zwei davon

Es gibt bewusst keine bernsteinfarbene Warnung. Bernstein liegt nahe beim Farbton 70 und kollidiert mit dem warmen Grund; genau diesen Fehler machte der ausgemusterte Messing-Akzent. Alles, was eine Warnung gewesen wäre, ist entweder ein Risiko oder eine schlichte Akzentnotiz.

Drei dieser vier liegen nur um 0.04 oder weniger über der 4.5:1-Grenze. Sie haben keinen Spielraum mehr. Nicht anpassen.

Schriftbilder
04

Drei Schriften, feste Rollen

Die Rollen sind keine Präferenz. Wenn eine Schrift die Aufgabe einer anderen übernimmt, ist das ein Fehler.

Instrument Serif

Display, Abschnittstitel, Eyebrows, Folio und alle Zahlen. Nie Fließtext, nie ein UI-Label.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789 und ihre Kursive

Archivo

Fließtext, UI, Kartentitel, Tabellenköpfe, Buttons. Nie Display, nie Zahlen.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

Spline Sans Mono

Nur technische Zeichenfolgen: Code, IDs, Chargennummern, Farbfeld-Labels. Niemals ein Label, ein Eyebrow oder ein Kolumnentitel.

ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz 0123456789

Geist und Geist Mono sind ausgemustert: Sie sind Vercels eigene Hausschriften, und die Uniform der Plattform zu tragen, war die Hälfte des Problems. Inter, Roboto, Arial, Poppins, Montserrat, Space Grotesk und jeder Systemschrift-Display-Stack sind aus demselben Grund in größerem Maßstab ebenfalls ausgeschlossen. Danach greift ein Generator, wenn niemand eine Entscheidung getroffen hat.

Instrument Serif steht auf derselben Liste, und wir verwenden sie trotzdem

Sie ist eine der vier am häufigsten als „KI-Schrift“ markierten Schriften, und warmes Creme plus Serif-Display ist der dokumentierte Hausstil der Frontier-Modelle von 2026. Die Verteidigung ist nicht die Schrift, sondern die Aufgabe, die wir ihr geben: Zahlen. Eine tabellarische Serifenzahlen-Spalte in Blau ist ein Gestaltungsmittel mit einer Population von eins. Ein kursives Serif-Wort, das zur Zierde in eine Überschrift gesetzt wird, ist der Attraktor. Der Schwerpunkt der Serifenschrift bleibt bei Zahlen.

Die Skala: 1.25 von einer 17px-Basis

Neun Stufen, und sie bilden den gesamten Wortschatz. Schrift wird vergleichend beurteilt, daher funktioniert hier ein langsames Verhältnis. Raum wird isoliert beurteilt und erhält ein schnelleres.

--t-xs 0.68rem 10.88px Labels, Tabellenköpfe, Einheiten
Compaytence 2,847
--t-sm 0.85rem 13.60px Karten-Fließtext, Tabellenzellen, Punkte
Compaytence 2,847
--t-base 1.0625rem 17.00px Fließtext, die 17px-Basis
Compaytence 2,847
--t-md 1.328rem 21.25px Lede, Vorspann
Compaytence 2,847
--t-lg 1.66rem 26.56px Herausgehobenes Zitat
Compaytence 2,847
--t-xl 2.075rem 33.20px Abschnittsziffer, Zeilen- + Gesamtsummen
Compaytence 2,847
--t-2xl 2.594rem 41.50px Abschnittstitel
Compaytence 2,847
--t-3xl 3.243rem 51.89px Statistikzahl
Compaytence 2,847
--t-4xl 4.05rem 64.80px Dokumenttitel
Compaytence 2,847

Serifenkursive: ein System oder nichts

Eine übergroße Serifenschrift mit einem kursiv gesetzten Wort ist der universelle Hero von KI-Startups, und dies ist die eine Stelle, an der diese Display-Schrift von einem Markenzeichen zur Zierde werden könnte. Was sie verräterisch macht, ist, dass sie meist ein Standard ist, einmalig zur Zierde eingesetzt, ohne Grund dahinter.

Verboten

Ein kursives Serif-Wort, das in eine Überschrift gesetzt wird, weil es dort gut aussah. Einmalig, nicht erklärbar, dekorativ.

Kein System
Erlaubt

Ein Akzentmittel, das auf eine benannte Quelle zurückführbar ist, systematisch über eine Fläche angewendet wird und im Inhaltsmodell als Daten geführt wird, statt pro Instanz manuell markiert zu werden.

Ein System

In Dokumenten gibt es kein solches System, daher sind vier zugelassene Kursivrollen der gesamte Wortschatz, und es gibt keine fünfte: .doc-title em (eine ganze Titelzeile, niemals ein herausgelöstes Wort), .tag, .note-l und .quote. Hervorhebung innerhalb einer Dokumentüberschrift entsteht durch Größe, Gewicht, Farbe oder Position. Verlaufsfüllung auf Text ist überall verboten, auch bei einem zugelassenen Akzentwort: Die Kursive markiert es bereits, und der Verlauf fügt nur ein verräterisches Merkmal hinzu.

Der Eyebrow und was an die Stelle des Mono-Labels getreten ist

Der Eyebrow ist Instrument Serif kursiv, in Satzschreibung, Graphit, mit einem 26px-Haarlinienpräfix. Er trägt die Art des Abschnitts; die Ziffer trägt seine Position. Wenn ein Eyebrow den Titel nur wiederholen würde, bleibt er weg. Der alte Mono-Eyebrow in Versalien mit Laufweite ist tot und darf in keiner Form zurückkehren.

Ein ausgemustertes Mono-Mikro-Label wird genau zu einer von zwei Sachen
Reserveplan

.label — Archivo, --t-xs, Gewicht 600, Laufweite .09em, Versalien, Graphit. Dies ist die table th-Gestaltung, zur Klasse erhoben, und sie ist das einzige noch zugelassene Mittel mit Versalien und Laufweite. Für eine Spaltenüberschrift verwenden.

Noch im Underwriting

.tag — Serifenkursive, Satzschreibung, Graphit, wenn der Text eine Formulierung statt eines Feldnamens ist. Greifen Sie zuerst zu diesem.

Das Markenzeichen
05

Zahlen sind die Marke

Ein Gestaltungsmittel mit einer Population von eins. Es lässt sich nicht als Muster erkennen, weil es sonst niemand macht.

Jede Zahl wird in der Display-Serifenschrift, in Blau, mit font-variant-numeric: tabular-nums lining-nums gesetzt und überall dort rechtsbündig ausgerichtet, wo sie in einer Spalte steht. Im Fließtext läuft .fig-inline etwas größer als das umgebende Archivo, damit es auffällt, ohne fett zu werden.

Derselbe Satz, auf beide Arten

Ohne die Gestaltung: Wir haben 20 Millionen Dollar über 450 Sperren für 2,500 Unternehmen zurückgewonnen und arbeiten mit 30 Zahlungsabwicklern.

Mit ihr: Wir haben $20M über 450 Sperren für 2,500 Unternehmen zurückgewonnen und arbeiten mit 30 Zahlungsabwicklern.

Tabellarische Zahlen machen eine Spalte lesbar: Jede Ziffer nimmt dieselbe Breite ein, sodass die Zahlen unabhängig von ihrem Wert vertikal ausgerichtet sind. Die Rechtsbündigkeit erledigt den Rest.

20Mio. USD
Zurückgewonnene Reserven Kumuliert, alle Kunden. Quelle: copy/products/, Aug 2026.
450Sperren
Aufgehobene Sperren Kumuliert. Quelle: copy/products/, Aug 2026.
30PSPs
Zahlungsabwickler Aktive Routing-Beziehungen. Quelle: copy/products/, Aug 2026.
Eine Zahl ohne Quelle ist ein Fehler

Gleiche Klasse wie ein fehlendes Logo. Eine Zahl in einer Statistik-Karte ist eine Behauptung und trägt daher einen echten Wert, einen Nenner, sofern vorhanden, ein Datum und ihre Herkunft. Runde Zahlen ohne Quelle — „10,000+ Händler“, „99.9% Verfügbarkeit“, „3x schneller“ — sind das meistzitierte verräterische Inhaltsmerkmal überhaupt. Platzhalterzahlen dürfen in einem Gerüst existieren. Sie dürfen niemals veröffentlicht werden.

Rhythmus
06

Alles leitet sich von 30px ab

Der Fließtext ist 17px auf einer 30px-Grundlinie, also ist eine Zeile eine Einheit.

Jeder Abstandswert ist ein Bruchteil oder ein Vielfaches dieser Zeile, und jeder ist ein ganzer Pixelwert. Ein geometrisches Verhältnis wurde erwogen und verworfen: 1.25 benötigt vierzehn Stufen, um 4 bis 100px abzudecken, und setzt 24 neben 30, was wie ein Versehen wirkt, und 1.5 liefert ab der dritten Stufe Bruchwerte.

Die blauen Linien hinter diesem Absatz werden alle 30 Pixel gezeichnet. Der Text sitzt auf ihnen, weil --lh-body 1.765 ist und 17 × 1.765 gleich 30.005 ist. Eine Zeile Fließtext ist genau eine Einheit der Abstandsskala; deshalb kann die Skala als Bruchteile einer Zeile statt als willkürliche Menge von Zahlen, die jemandem gefielen, angegeben werden.

--s1 6 1/5 Grundlinie Abstand innerhalb einer Punkteliste
--s2 12 2/5 Grundlinie Kartentitel zum Fließtext, Tabellenzellen-Innenabstand
--s3 18 3/5 Grundlinie Rasterabstand, Absatzrand
--s4 24 4/5 Grundlinie Karten-Innenabstand, Rand des Abschnittskopfs
--s5 30 1 Grundlinie Notizrand, eine Grundlinie
--s6 45 1 1/2 Grundlinie Seiten-Innenabstand, Rand des Seitenkopfs
--s7 60 2 Grundlinien Rand des herausgehobenen Zitats
--s8 90 3 Grundlinien zwischen Abschnitten
Die Regel, die bestimmt, welche Stufe zu verwenden ist

Abstand zwischen Textblöcken verwendet ganze Grundlinien: 30, 60, 90. Innenabstand innerhalb einer Komponente verwendet die Bruchteile: 6 bis 24. Nähe trägt Bedeutung, daher müssen sich Abstände unterscheiden, wo sich die Gruppierung unterscheidet. Überall derselbe Abstandswert ist ein Fehler bei der Gruppierung.

Material
07

Geometrie, Glas, Körnung, Halos

Eine zweistufige Formskala, eine Haarlinienstärke und genau zwei atmosphärische Elemente.

Ecken: zwei Stufen, niemals eine dritte

Ein Steuerelement, das eine Stufe enger als sein Container sitzt, wirkt bewusst gestaltet statt voreingestellt. Ein Radius für alles ist das Erkennungszeichen des Soft-Blob-Looks, und die Lösung kostet nichts.

14px
--r-lg
Karten, Tabellen, Notizen, Panels
8px
--r-ctl
Buttons, Eingabefelder, Umschalter
4px
--r-xs
nur Inline-Code

Immer alle vier Ecken. Elliptische, abgeschrägte, Squircle-, skalierte und asymmetrisch codierte Ecken wurden jeweils gebaut und verworfen und bleiben verworfen. --r-sm ist ausgemustert. Niemals zu einem rohen px-Wert greifen: Die zwei Tokens sind der gesamte Wortschatz.

Eine Haarlinienstärke

--hair ist überall 1px und wird mit rgba(var(--rule-c), .09 bis .45) eingefärbt. Es gibt keine zweite Rahmenstärke im System.

Glas

Eine transparente Karte auf dem warmen Grund, mit backdrop-filter: blur(16px) saturate(1.25). Beibehalten statt verworfen, denn Körnung darüber und Halos dahinter machen sie zu einem Materialstapel und nicht zu einer für Glanz angewendeten Unschärfe.

Körnung, über allem

Auch über den Karten, bei z-index 9. Darunter würde jede Karte sie auslöschen und die beiden würden sichtbar gegeneinander arbeiten. Obenauf verhält sie sich wie Filmkorn und vereint die Fläche. Eine gekörnte Oberfläche pro flacher Seite und niemals eine gekörnte Box, die in einer anderen verschachtelt ist.

Genau zwei Halos

Das ist das gesamte atmosphärische Budget. Kein dritter Halo, kein Aurora-Feld, kein Mesh-Verlauf und keine Glühkugel irgendeiner Kantengestaltung. „Unscharf“ wäscht keinen davon rein.

Körnung auf einer mehrbandigen Seite

Körnung muss auf der Ebene liegen, die den Farbton zeichnet, niemals auf der Abschnittsbox. In einem Brücken- oder Bleed-System setzt sich die Farbe eines Bands über seinen eigenen Abschnitt hinaus fort; ist die Körnung auf den Abschnitt begrenzt, endet sie, während die Farbe weiterläuft, und zieht an jeder Grenze eine harte Linie: auf Papier mit Δ10/255 und auf dunklem Grund mit Δ22/255 gemessen. Die Seite wirkt dann wie ein Stapel Platten statt wie eine Oberfläche.

Container
08

Die Karte und wann keine verwendet werden sollte

Die Karte ist der Haus-Container. Sie ist nicht der Hausstandard.

Eine Karte sagt: „Vergleiche mich mit meinen Geschwistern.“

Verwenden Sie eine Karte, wenn die Elemente tatsächlich gleichrangig sind und der Leser sie gegeneinander abwägt: drei Pläne, drei Ansätze, drei Ergebnisse. Alles, was der Leser einfach der Reihe nach liest, steht ohne Container auf dem Grund: als Titel, Zeile und mit einer Haarlinie zwischen den Zeilen. Eine Seite, auf der jeder Block ein Kartenraster ist, wirkt wie Rauschen, ganz gleich, wie gut die Karten sind. In einem Serviceabschnitt mit vier Routen senkte dies die Zahl der Kartenflächen von etwa 24 auf 9.

Dasselbe gilt für Belegbilder und herausgehobene Zitate: Ein Screenshot, der bereits seinen eigenen Rahmen und Schatten mitbringt, braucht keine Karte darum, und ein Zitat liest sich als Schrift auf einer Linie besser als eingerahmt. Die vier Blöcke in Abschnitt 07 oben sind genau aus diesem Grund kartenfreie Zeilen.

Die vier Kartentypen

42Proz.
Statistik-Karte Zahlengeführt. Die Zahl ist der Held und steht groß über einer Haarlinie.
Zeilenkarte

Beschriftung links, Zahl rechts. Die Ledger-Zeile, eingerahmt.

64ch
Summenkarte
Trägt die Doppellinie2
Haarlinien, 4px voneinander entfernt4
Gesamt 6
Die Web-Form
Funktionskarte

Ein Tag, ein Titel, eine Textzeile und ein Link, dessen Pfeil sich mit der Karte bewegt.

Zurück nach oben

Fahren Sie mit der Maus über eine der Karten oben. Im Ruhezustand hat sie eine Haarlinie und keinen Schatten. Die Erhöhung kommt nur bei Interaktion, und sie kommt in genau zwei Ebenen.

1 · Anheben und Aufblühen

Die Karte steigt um 3px und erhält aus dem Nichts --shadow-lift. Sie rückt physisch näher.

2 · Spiegelnder Schimmer

Ein weiches Highlight folgt dem Zeiger über die Oberfläche, bei Alpha .035. Teure Materialien fangen Licht ein. Diese Ebene verkauft das Material.

Warum .035 und nicht mehr

Es wurde mit .14 ausgeliefert und wirkte wie ein Scheinwerfer, der dem Cursor folgt, statt wie ein Material, das Licht einfängt. Das Zeichen, dass es richtig ist: Sie bemerken es, wenn sich der Zeiger bewegt, und können es nicht genau benennen, wenn er stoppt. Jede Oberfläche teilt einen Block, daher stimmt diese eine Zahl die ganze Seite ab. Stimmen Sie sie niemals pro Komponente neu ab.

Eine dritte Ebene, eine blaue Linie, die über die obere Kante wischt, wurde gebaut und entfernt. Da der Schimmer bereits den Akzent trägt, war sie ein Signal zu viel und ließ die Karte sich ankündigen statt reagieren. Eine Haarlinie und einen diffusen Schatten im Ruhezustand auszuliefern, wurde aus demselben Grund verworfen: Es werden zwei Erhöhungssysteme gleichzeitig betrieben.

Die Doppellinie

Ein Ledger schließt eine Spalte nie mit einer einzelnen Linie. .total-line zeichnet zwei Haarlinien im Abstand von 4px über einer Summe. Es kostet ein Pseudo-Element, gehört sonst niemandem und bedeutet etwas. Verwenden Sie es nur über einer echten Summe, nie als Dekoration.

Der Rest des Katalogs

MesswertVor v2Nachher
Tailwind-Standardwerte130
Vercel-Schriften20
Akzentfarbtöne21
Radius-Stufen12
Einblenddauern12

Quelle: Changelog von design-system.md, 3. August und 12. August 2026.

Verschachtelte Karten sind ausgeschlossen

Eine Karte in einer Karte ist visuelles Rauschen. Wenn Inhalt innerhalb einer Karte einen Rahmen braucht, braucht er eine Linie oder ein getöntes Band, keine zweite Karte.

Bewegung
09

Zwei Gewichtungen, und nichts darunter

Wenn alles identisch erscheint, ist es Dekoration. Eine Gewichtung nach Bedeutung lässt Bewegung Bedeutung tragen.

KlasseWegDauerVerwenden für
.rise180.7 Abschnittsüberschriften, alles, was einen Block eröffnet
.rise-sub100.5 Karten, Raster, Tabellen innerhalb eines Abschnitts
keine Punkte, Beschriftungen, Inline-Elemente, kleine Steuerelemente

Das führende Element kündigt den Block an; der Nachfolger setzt sich darunter. Fügen Sie keine dritte Dauer hinzu und versehen Sie nichts Kleines mit einer Einblendung. Ein Element, das ohne Grund allein erscheint, ist derselbe Fehler, wie wenn alles identisch erscheint.

Das führende Element erscheint zuerst
und der Nachfolger setzt sich darunter, 10px in einer halben Sekunde.

Die zwei Easing-Kurven

Ein Paar, und nirgends Sprung oder Elastizität. Jede manuell gewählte Easing-Kurve im gemessenen Korpus ist ein Ease-out, und genau das sind beide.

--ease
cubic-bezier(.2,.7,.2,1)

Übergänge für Farbe, Hintergrund und Rahmen.

--ease-out
cubic-bezier(.16,1,.3,1)

Einblendungen, Kartenanhebung, der wandernde Pfeil.

Der Karten-Hover ist ein Erkennungsmerkmal, kein Standard

Die Norm im gemessenen Korpus für einen Hover ist eine Farbänderung: Hintergrund 33.8%, Farbe 24.4%, Rahmen 12.3%, Transform nur 6.6%. Unsere zweischichtige Anhebung ist auf einer Karte richtig und auf einem Link oder einer Tabellenzeile falsch; diese brauchen Farbe bei etwa 200ms. Der Median der Übergänge pro Website beträgt 250ms, daher sind --dur-lead bei 0.7s und --dur-sub bei 0.5s Werte des obersten Dezils: richtig für Einblendungen, falsch in der Nähe eines Hovers.

Quelle: motion-canon.md, ausgeliefertes CSS von 1,199 Websites, 13. August 2026.

Zugänglichkeit
10

Beide Themes, gemessen

4.5:1 für Text, 3:1 für Display-Zahlen über etwa 24px. Jeder Wert unten wurde aus dem ausgelieferten Hex-Wert berechnet, nicht aus einer Notiz kopiert.

TokenAufgabeHellDunkelUntergrenze
--ink Überschriften 16.31 17.74 4.5
--ink-soft Fließtext 7.93 15.38 4.5
--graphite gedämpfter Text, Eyebrow 4.66 6.12 4.5
--mark Links, Betonung 4.57 10.34 4.5
--fig-inline Zahlen im Text 4.57 10.34 4.5
--fig Display-Zahlen >=24px 3.59 8.83 3.0
--mark-solid nur Füllung FÜLLUNG auf hell; Text auf dunkel 2.42 7.51 4.5
--risk Fehlerzustände 4.54 4.53 4.5
--good Bestätigungen 4.54 5.16 4.5

Verhältnisse gegenüber --paper in jedem Theme. Relative WCAG-2.1-Luminanz, berechnet am 13. August 2026. Die ausgelieferten Untergrenzen des Systems sind 3.59:1 auf hell und 4.53:1 auf dunkel.

Messen Sie den Fokus nicht am Markt

78.6% der gemessenen Websites schreiben mindestens einmal outline:none, und 26.5% tun dies, ohne jemals :focus-visible zu definieren. 12.7% haben überhaupt kein Fokus-Styling. Reduzierte Bewegung ist schlechter: Nur 39.8% der Websites enthalten die Query, und nach Plattform fällt dies auf 14.4% bei Webflow und 2.3% bei Framer, zwei Websites von 87. Jede Compaytence-Oberfläche, die auf Framer oder Webflow gebaut ist, braucht diese Query von Hand.

Quelle: motion-canon.md, 13. August 2026.

Die Verifikationsfalle, die ein ganzes Audit ungültig macht

In einem ausgeblendeten Vorschau-Tab liefert getComputedStyle veraltete Werte für alles mitten in einer Transition, und ein erzwungener Reflow hilft nicht. Injizieren Sie vor der Kontrastmessung *,*::before,*::after{transition:none!important}. Andernfalls meldet ein Theme-Wechsel die Farben des vorherigen Themes, und jede Messung ist falsch.

Belege
11

Warum dies nach uns aussieht

Am 13. August 2026 wurden 1,290 ausgelieferte Designsysteme maschinell anhand angewendeten CSS gemessen. Die Zahlen unten sind das Ergebnis.

2.6Proz.
Warmes Papier mit einem ausschließlich kühlen Akzent Unter den Korpus-Websites auf einer warmen Fläche mit irgendeinem chromatischen Akzent kombinieren 77.3% ihn mit einem warmen Akzent. Unserer ist die andere Art: ein Seltenheitsabstand von 37× und die am besten begründbare Eigenschaft dieses Grunds.
0.9Proz.
Websites mit dem vollständigen generierten Fingerabdruck Generische Sans, alles auf 8 bis 16px abgerundet, Schatten und Verläufe: 12 von 1,290, jede davon ein Entwickler-Tool oder SaaS-Produkt. Die Genre-Uniform ist nicht die Norm. Sie ist das am stärksten vertretene Muster in den Trainingsdaten.
59.5Proz.
Definieren null Box-Schatten 78% schreiben ausdrücklich eine flache oder nur Haarlinien-Regel vor. Stripe, Mercury, Anthropic, Notion, Intercom, Wealthsimple und Retool liefern alle null aus. Unsere Karte mit Haarlinie im Ruhezustand ist die Mehrheitsposition, kein Kompromiss.
47.4Proz.
Verwenden genau zwei Radius-Stufen Nur 14.6% runden jede Oberfläche in das 8- bis 16px-Band. 0px ist mit 21.2% der häufigste einzelne Kartenradius, vor 8 und 16.

Quelle: styles.refero.design, 1,290 anhand angewendeten CSS gemessene Systeme; anti-patterns.md §9 und website-builder/references/design-canon.md, 13. August 2026.

Zwei weitere Erkenntnisse haben das System geschärft, statt es zu bestätigen. Fett ist ein stärkeres Signal als Radius: 46.2% dieser Websites überschreiten nie Gewichtung 600, und 36.6% schreiben eine Anti-Fett-Regel vor. Hierarchie entsteht durch Größe, Raum und Farbe; daher ist eine Überschrift mit Gewichtung 700 ein verlässlicherer Marker für ein unbedachtes System als jede Palettenwahl. Und negatives Tracking ist keine Hygiene: Etwa die Hälfte des Korpus verwendet keines, auch nicht für Display-Schrift. Setzen Sie Tracking nach Größenband und mit einem genannten Grund ein – oder gar nicht.

Die eine Regel, die diese Evidenz ergänzt hat

Lassen Sie keinen warmen Akzent auf das warme Papier. Nicht in einer Illustration, nicht in einer Diagrammreihe, nicht in einer Hover-Tönung, nicht in einer atmosphärischen Fläche. Das ist der eine Schritt, der eine 2.6%-Position in eine 77.3%-Position zusammenfallen lässt, und genau der bereits dokumentierte Fehlermodus: Messing blieb in einer Fläche mit Chroma 0.086 über zwei Entwürfe unbemerkt. --risk ist die genehmigte Ausnahme, ausschließlich auf Fehlerzustände beschränkt.

Zwei ehrliche Vorbehalte, damit dies als Selbst-Audit und nicht als Waffe genutzt wird

Die meisten dieser Merkmale waren von 2022 bis 2024 menschliche Designtrends mit benannten Beispielen, bevor die Generatoren überhaupt brauchbar waren. Was sich geändert hat, ist nicht das Vokabular, sondern dass der Durchschnitt kostenlos produziert werden konnte. Die eigentliche Diagnose lautet „niemand hat entschieden“, nicht „eine Maschine hat es gemacht“: Ein Mensch, der standardmäßiges shadcn ausliefert, erzeugt dasselbe Artefakt. Wenden Sie diese Liste auf unsere eigene Arbeit an.

Verbote
12

Die Streichliste

Dauerhaft ausgeschlossen. Wenn eines davon auftaucht, ist es ein Rückschritt, keine Option.

Das eingestellte v1-System ist archiviert und darf niemals gerendert werden: keine cremefarbene #fafaf7-Fläche, kein Geist, kein #3b82f6, keine Mono-Eyebrows, keine Leuchtkugeln, keine Rasterüberlagerungen, keine dunkle Navigationsleiste.

Ablauf
13

Das Audit vor der Präsentation

Sechs Fragen. Jedes „Nein“ ist ein Mangel, keine Präferenz.

Eins
Logo-Austausch

Ersetzen Sie die Wortmarke durch die eines Wettbewerbers. Muss sich sonst etwas ändern?

Zwei
Herkunft

Wählen Sie zufällig fünf gerenderte Werte aus: eine Farbe, einen Radius, einen Abstand, eine Größe, eine Dauer. Lässt sich jeder auf einen Token oder eine festgelegte Herleitung zurückführen, ohne zu sagen „es sah richtig aus“?

Drei
Rangfolge

Zeigt die Seite, was am wichtigsten ist, oder hat jeder Block das gleiche Gewicht? Identische Wortzahlen bei nebeneinanderliegenden Karten bedeuten, dass der Text gekürzt wurde, um die Kästen zu füllen.

Vier
Beleg

Hat jede Kennzahl und jedes Zitat eine echte Quelle, ein Datum und eine Zuschreibung?

Fünf
Der problematische Pfad

Gibt es die Zustände leer, lädt, Fehler und 404, und sagt jeder etwas Konkretes aus?

Sechs
Das Scrollen

Hält es beim Scrollen bis zum Ende bei 375px und bei 1440px in beiden Themes stand? Eine Seite, die nur anhand ihres ersten Viewports geprüft wird, wird so geprüft, wie ein Generator sie prüfen würde.

Wenn der Build mit einer Referenzseite abgeglichen wird, fügen Sie eine siebte Frage hinzu: Stellen Sie unsere Seite, die Referenz und das nächstliegende generische Template nebeneinander. Unverwechselbarkeit ist nur im Vergleich sichtbar.

Wo die maschinenlesbare Version liegt

Diese Seite ist für Menschen. Die bewertbare Version, in der jede Regel eine ID, einen gemessenen Wert, einen Test und eine Quellenzeile trägt, ist .claude/skills/compaytence/references/design-system-spec.md. Darauf löst der Systemkritiker der Skill design-loop auf, und §15 enthält eine vorgefertigte Checkliste mit zwanzig Zeilen, die bereit ist, in einen Lauf geforkt zu werden.