G-01 bis G-10

Gestaltung

Ein Blatt mit allem, was das Design-System in dieser Anwendung hergibt. Jeder Wert wird zur Laufzeit gemessen, kein Zustand nachgemalt, keine Bewegung im Leerlauf. Thema und Richtung gelten sofort und für die ganze Anwendung.

Thema
Richtung
G-01Gestaltungsgalerie

Wahl

Drei Themen und vier Richtungen, in der Leiste darüber. Die Wahl wird sofort an html gestempelt und danach in einen Keks geschrieben — sie bleibt über den nächsten Aufbau hinaus bestehen und gilt auf jeder Route.

  • Thema: automatisch folgt der Systemeinstellung, hell und dunkel überstimmen sie.
  • Richtung: keine ist die nackte Gestalt des Systems. Blaupause zeichnet den Riss, Editorial setzt den Katalog, Werkzeug verdichtet zur Anwendung.
  • Eine Richtung erreicht ausschließlich die Landeseite und dieses Blatt. Der Editor und die Konto-Seiten tragen keine der beiden Klassen und bleiben unberührt — sichtbar an der Kopfzeile oben, die beim Umschalten stehen bleibt.
  • Keine Richtung erfindet einen Wert: jede hängt vorhandene Tokens an andere Eigenschaften.
  • Beide Kekse laufen ein Jahr, sind nicht HttpOnly und stehen auf SameSite Lax.
G-02Gestaltungsgalerie

Farben

Jede Farbrolle über der Fläche, auf der sie wirklich vorkommt. Der Wert daneben wird im laufenden Thema gemessen, nicht abgeschrieben.

Flächen

Warmes technisches Papier bei Tag, Zeichenraum bei Nacht. Jede Stufe über der darunter.

Seite--surface-0
Blatt--surface-1
Vertieft--surface-2
Vertieft, überfahren--surface-3
Tinten

Drei Stufen auf dem Blatt. Die gedämpfte Tinte trägt auf der vertieften Hover-Fläche keinen Text — normative Auflage des Kontrastnachweises.

Tinte primär--ink-1
Tinte sekundär--ink-2
Tinte gedämpft--ink-3
Linien

Haarlinie trennt, betonte Linie begrenzt. Die Rasterlinie malt das Papier-Raster.

Haarlinie--line-1
Linie betont--line-2
Rasterlinie--grid-line
Akzent

Ein Akzent, und er ist Signal. Die Akzenttinte liegt auf dem Akzent, nicht auf dem Blatt — das ist der einzige Ort, an dem sie vorkommt.

Akzent--accent
Akzent kräftig--accent-strong
Akzenttinte--accent-ink
Akzentwäsche--accent-wash
Fadenkreuzfeld--hero-raster
Schleier--schleier
Status

Drei Zustände, je Fläche, Wäsche und Tinte. Die Farbe trägt die Aussage nie allein.

Gut--ok
Gut, Wäsche--ok-wash
Gut, Tinte--ok-ink
Prüfen--warn
Prüfen, Wäsche--warn-wash
Prüfen, Tinte--warn-ink
Gestört--bad
Gestört, Wäsche--bad-wash
Gestört, Tinte--bad-ink
Stufen

Fünf Stufen für Einordnungen. Jede Tinte ist gegen ihre eigene Fläche gerechnet.

Stufe 1--tier-1
Stufe 1, Tinte--tier-1-ink
Stufe 2--tier-2
Stufe 2, Tinte--tier-2-ink
Stufe 3--tier-3
Stufe 3, Tinte--tier-3-ink
Stufe 4--tier-4
Stufe 4, Tinte--tier-4-ink
Stufe 5--tier-5
Stufe 5, Tinte--tier-5-ink
Serien

Drei Diagrammserien und ihre Spur. Weiß erreicht auf keiner der drei Flächen 4,5:1 — deshalb dunkle Serientinten statt der Akzenttinte.

Serie 1--series-1
Serie 1, Tinte--series-1-ink
Serie 2--series-2
Serie 2, Tinte--series-2-ink
Serie 3--series-3
Serie 3, Tinte--series-3-ink
Serienspur--series-track
Ordinalrampe

Anteilsdiagramme: der größte Wert bekommt den dunkelsten Schritt.

Ordinal 1--ord-1
Ordinal 1, Tinte--ord-1-ink
Ordinal 2--ord-2
Ordinal 2, Tinte--ord-2-ink
Ordinal 3--ord-3
Ordinal 3, Tinte--ord-3-ink
Ordinal 4--ord-4
Ordinal 4, Tinte--ord-4-ink
Ordinal 5--ord-5
Ordinal 5, Tinte--ord-5-ink
G-03Gestaltungsgalerie

Typografie

Neun Stufen, jede mit Größe, Zeile, Laufweite und einem Satz, den man lesen kann.

Was Forma kann, kann Nigma.
Display · .headline-display
GrößeZeileLaufweiteFamilie
Das Dokument gehört dem Gerät.
Überschrift groß · .headline-lg
GrößeZeileLaufweiteFamilie
Der Renderer ist austauschbar, das Format nicht.
Überschrift mittel · .headline-md
GrößeZeileLaufweiteFamilie
Kontur und Füllung
Titel klein · .title-sm
GrößeZeileLaufweiteFamilie
Rahmen, Pfade, Symbole und Prototypen im Browser, gesichert auf diesem Gerät.
Fließtext · .body-md
GrößeZeileFamilie
Beschriftung, Meta, Tabellenzeile.
Fließtext klein · .body-sm
GrößeZeileFamilie
Ebenen
Microlabel · .microlabel
GrößeZeileLaufweiteFamilie
1.284 px
Zahl · .zahl
GrößeZeileFamilie
1.284
Zahl groß · .zahl-hero
GrößeZeileFamilie
Die Regel
  • Zwei Familien: Archivo trägt die Stimme, IBM Plex Mono die Daten.
  • Nie mehr als zwei Gewichte je Fläche.
  • Versalien ausschließlich im Microlabel, ein bis drei Wörter.
  • Jede Zahl in Mono mit tabellarischen Ziffern.
  • Die gedämpfte Tinte trägt auf der vertieften Hover-Fläche keinen Text.
G-04Gestaltungsgalerie

Zahlen

Die eine Formatierungsstelle der Anwendung, an echten Aufrufen gezeigt: de-DE, Mono, tabellarische Ziffern.

1.284
Ganze Zahlzahl(1284)
2,8
Eine Nachkommastellezahl1(2.75)
41,7 %
Anteilprozent(0.417)
1.284 px
Maßmasz(1284)
2,8 px
Maß, eine Stellemasz(2.75, 'px', 1)
1.284 kB
Größemasz(1284, 'kB')
660 ms
Dauermasz(660, 'ms')
11.09.2026 14:35
Zeitpunktdatum(zeitpunkt)
11.09.2026
DatumdatumOhneZeit(zeitpunkt)
14:35
Uhrzeituhr(zeitpunkt)
Die Regel
  • de-DE: Tausenderpunkt, Dezimalkomma, Datum in Punktschreibweise.
  • Geschütztes Leerzeichen zwischen Zahl und Einheit, auch vor dem Prozentzeichen.
  • Europe/Berlin steht auf jedem Datumsaufruf, weil die Laufzeitzone auf Vercel UTC ist.
  • Mono mit tabellarischen Ziffern: gleiche Stelle, gleiche Spalte.
  • Kein Bauteil formatiert selbst — Werte kommen vorformatiert an.
G-05Gestaltungsgalerie

Raster und Abstände

Die Abstandsleiter als gemessene Balken, dazu Satzbreite, Grundlinie, Rasterschritt und Eckmarke.

Abstandsleiter

Vier-Pixel-Basis. Die Spur trägt als Breite das Token selbst — der Balken ist das Maß, nicht sein Bild.

Basis
Sehr klein
Klein
Mittel
Grundlinie
Groß
Sehr groß
Maße und Formen
Satzbreite
Rand mobil
Rand ab 640
Haarlinie
Radius
Eckmarke
Rasterschritt
Innenraum Blatt
Innenraum Kachel
Innenraum Zelle
Zustandskante
Fuge
Zellbalken
Kopfhöhe
Papier-Raster

Schrittweite , Linienfarbe .

Eckmarke am Blatt
BlattHaarlinie · ein Schatten

Zwei Winkel, oben links und unten rechts, Länge . Sie sind der einzige Zierat des Systems und tragen keine Bedeutung.

Die Regel
  • Ein Container, und das ist .inhaltsbreite — keine eigene Maximalbreite irgendwo sonst.
  • Spalten weichen, nichts rollt waagerecht.
  • Radius null im ganzen Bedienteil. Radien im Dokument sind Nutzdaten.
  • Haarlinie statt Schatten. Der eine Schatten liegt am Blatt.
G-06Gestaltungsgalerie

Bausteine

Jeder Baustein aus components/amber, mit Namen, Herkunft und echten Zuständen. Hover und Fokus gehören dem Zeiger und der Tastatur — die Galerie malt sie nicht nach.

Buttoncomponents/amber/Button.tsx

Vier Arten, ein Primärknopf je Blickbereich. Hover färbt in zwei Takten, Fokus antwortet in einem — beides erscheint beim Überfahren und beim Antabben, nicht als gemalte Fläche. Gesperrt heißt gesperrt, nicht grau.

Inputcomponents/amber/Input.tsx

Fünf Zustände: Ruhe, Pflicht, fehlerhaft, gesperrt und Fokus. Der Fokus setzt den Rahmen auf Amber und behält zusätzlich den globalen Ring — nachzusehen mit der Tabulatortaste.

Chipcomponents/amber/Chip.tsx

Filterchip. Der Aktivzustand steht in aria-pressed und wird von dort gemalt — ein Wahrheitsträger, nicht zwei. Chips ersetzen keine Reiter.

StatusBadgecomponents/amber/StatusBadge.tsx

Die Farbe trägt die Aussage nie allein — das Wort steht immer dabei. Eine Plakette ohne Text ist ein farbiger Fleck.

GesichertUngesichertKonflikt
Badgestyles/amber/tokens/primitives.css

Die Plakettenklassen selbst. Für die drei Zustände gibt es mit StatusBadge ein Bauteil, für die fünf Stufen der Einordnung keines — sie kommen in dieser Anwendung nicht vor und werden nicht auf Vorrat gebaut. Hier stehen sie als rohe Klassen, damit die Auskunft vollständig ist.

Stufe 1Stufe 2Stufe 3Stufe 4Stufe 5
Microlabelcomponents/amber/Microlabel.tsx

Versal, gesperrt, Mono, gedämpfte Tinte. Ein bis drei Wörter, nie Fließtext, nie größer als die eine Stufe.

EbenenPrototypExport
Blattcomponents/amber/Blatt.tsx

Karte mit Haarlinie, zwei Eckmarken und dem einzigen Schatten des Systems. Setzt position: relative — kein absolut gesetztes Menü darin.

Roam

136 Ebenen, zwei Bildschirme

Beispiel

Der Kopf ist Titel, Unterzeile und rechte Spalte. Fehlt alles drei, entfällt der Kopf.

ThemeToggle · WidthTogglecomponents/amber/ThemeToggle.tsx · WidthToggle.tsx

Beide sind echt und wirken sofort auf diese Seite: der Themenumschalter läuft den Ring automatisch · hell · dunkel und schreibt den Keks, der Breitschalter nimmt jedem .inhaltsbreite-Behälter seine Maximalbreite. Die Leiste oben zeigt die Wirkung mit.

Schicht · CommandPalettecomponents/amber/Schicht.tsx · CommandPalette.tsx

Beide liegen als natives dialog in der obersten Schicht: Fokusfalle, Escape und die Rückgabe des Fokus an den Auslöser kommen vom Element selbst. Der Schließknopf trägt ein Wort, kein Kreuzzeichen.

HeaderBarcomponents/amber/HeaderBar.tsx

Die Kopfzeile des Design-Systems. In dieser Anwendung ist sie ungenutzt, und ihre Klassen .kopfzeile, .kopfzeile-innen, .kopfzeile-punkt und .kopfzeile-werkzeuge sind in styles/anwendung.css nicht definiert — der Editor führt seine eigene Titelleiste, die Konto-Seiten .seitenkopf. Sie steht hier unverkleidet, damit der Befund sichtbar ist und nicht im Verzeichnis schlummert.

Klassen fehlen
Nigma
G-07Gestaltungsgalerie

Muster

Klassen, die kein Bauteil sind, sondern eine Figur: Fuge, Gefäß, Zustandsrahmen, Kante, Spur, Balken, Well, Tabelle, Eckmarke.

.meshstyles/amber/tokens/muster.css

Der Behälter trägt die Linienfarbe, die Zellen decken sie ab, was übrig bleibt ist die Fuge. Eine Haarlinie ohne letztes Kind und ohne doppelte Ränder beim Umbruch.

Zelle1
Zelle2
Fuge
.verbundstyles/amber/tokens/muster.css

Ein Gefäß aus mehreren Bedienteilen. Es färbt seinen Rahmen über :focus-within, der Amberring bleibt am wirklich fokussierten Feld.

.zustand-rahmenstyles/amber/tokens/muster.css

Rahmen in Ruhe transparent, beim Überfahren betonte Linie, im aktiven Zustand Amber. Der Zustand steht in aria-pressed oder aria-current, nicht in einer zweiten Klasse.

.kante-unten · .kante-linksstyles/amber/tokens/muster.css

Die Kante ist in Ruhe schon da, nur transparent — der Zustandswechsel bewegt deshalb nichts. Breite ist die Zustandskante, zwei Haarlinien.

EbenenBausteineSeite 1
.wellstyles/amber/tokens/primitives.css

Die vertiefte Fläche: Tabellenkopf, Code, Hinweisblock. Haarlinie, kein Schatten.

Der Renderer ist austauschbar, das Format nicht.

.balken-spur · .zell-spurstyles/amber/tokens/primitives.css · muster.css

Zwei Balken für zwei Orte: der breite steht im Blatt, der drei Pixel hohe in einer Tabellenzelle. Beide wachsen höchstens einmal und nie im Leerlauf.

.tabellestyles/amber/tokens/primitives.css

Kopf auf der vertieften Fläche, Zahlen rechtsbündig und in Mono, Zeilenwechsel nur als Farbe. Sie rollt nie waagerecht — Spalten weichen.

DokumentZustandEbenenAnteil
RoamGesichert13672,0 %
Entwurf NordUngesichert4121,9 %
Archiv 2025Konflikt126,1 %
Eckmarkenstyles/amber/tokens/primitives.css

Zwei Winkel am Blatt, oben links und unten rechts. Sie sind Schnittmarken einer Zeichnung und tragen keine Bedeutung — deshalb sind sie der einzige Zierat, den das System kennt.

Länge
.aufklappernicht übernommen

Der Aufklapper des Design-Systems ist in dieser Anwendung nicht vorhanden: styles/anwendung.css führt ihn im Kopf der Datei namentlich unter dem, was zu einer Seitenanwendung mit Marketingrouten gehört und hier nicht auf Vorrat gebaut wird. Der Editor klappt mit eigenen Mitteln auf, die Konto-Seiten klappen nichts auf. Der Platz steht hier, damit das Fehlen eine Auskunft ist und kein Versehen.

Nicht übernommen
Hülfsklassen ohne Bild
  • .kein-druck — verschwindet im Druck. Jede Bedienfläche trägt sie.
  • .nur-druck — erscheint erst im Druck.
  • .ab-md — Nebenspalte, die erst ab 768 Pixel erscheint und im Druck zurückkommt.
  • .zellentext — Textzelle, die kürzt statt zu schieben; der volle Wert steht im title.
  • .inhaltsbreite — der eine Container des Systems.
G-08Gestaltungsgalerie

Bewegung

Sechs Zeitstufen aus einem Takt, vier Kurven aus einer Quelle, fünf erlaubte Muster und die Nie-Liste. Jede Probe läuft auf Knopfdruck und genau einmal.

Bewegung
Aus nullt die Tokens selbst, nicht einzelne Klassen. Dieselbe Wirkung hat die Systemeinstellung für reduzierte Bewegung.
Sechs Zeitstufen

Ein Takt von 60 Millisekunden, Vielfache 1 · 2 · 3 · 5 · 7 · 11. Jede Stufe ist mindestens das 1,4-Fache der vorigen — engere Zeiten unterscheidet niemand.

Sofort1 Takt · Fokus, Schalter
Schnell2 Takte · Farbe
Normal3 Takte · Maß und Ort
Schicht5 Takte · Überlagerung
Auftritt7 Takte · Seitenauftritt
Szene11 Takte · Szenenwechsel
Vier Kurven

Eine Quellkurve, zwei Ableitungen, eine Feder. Alle vier laufen hier auf der Auftrittsdauer, damit nur die Kurve den Unterschied macht.

SystemQuellkurve
AuftrittAnlauf gelöscht
AbgangAuslauf gelöscht
Federnur aus der Hand
Muster 1 — Auftritt und Staffel

Einmal je Seite, gestaffelt um einen Takt je Kind, gedeckelt bei fünf. Der Zähler steht als eigene Eigenschaft am Kind, die Kappung im Stilblatt — nicht an der Aufrufstelle.

  • Hilfslinien
  • Umriss
  • Bemaßung
  • Eckmarken
  • Flächen
  • Schriftfeld
VersatzDeckel
Muster 2 — Balkenwachstum

Einmal, aus der linken Kante, über die Auftrittsdauer. Danach steht der Balken.

Muster 3 — Zustandswechsel

Farbe in zwei Takten beim Überfahren, Fokus in einem beim Antabben, Maß in drei beim Umschalten. Kein Zustand wandert: der Zustandsweg ist null.

Muster 4 — Schicht

Herein über die Schichtdauer mit der Auftrittskurve, hinaus über die schnelle Dauer mit der Abgangskurve. Was verschwindet, hält niemanden auf. Die Probe steht in G-06, bei den beiden Bausteinen, die sich öffnen lassen.

Muster 5 — Feder, nur aus der Hand

Die einzige Kurve mit Überschwingen, und sie gilt ausschließlich für Bewegung, die aus einem Griff oder einem Schalter kommt. Höchstens zwei Prozent Überschwingen — bei einer Grundlinie Weg liegt das unter einer Haarlinie.

Die Nie-Liste
  • Dauerbewegung ohne Anlass: Karussell, Ticker, pulsierender Punkt, Ladeanimation mit Charakter.
  • Blinkender Schreibcursor und jedes Schimmern — beide laufen weiter, wenn niemand hinsieht.
  • Bewegung als Verzierung einer Zahl.
  • Parallaxe, scrollgetriebene Verwandlung, Sprung in die Sicht.
  • Hover, der skaliert oder verschiebt.
  • Ein zweiter Auftritt auf derselben Seite.
  • Federkurven außerhalb der Hand, Überschwingen, Rotation als Übergang.
G-09Gestaltungsgalerie

Zeichnung

Der Werkriss in klein, dreimal nebeneinander: serverseitiges SVG, WebGL2 und Canvas 2D aus derselben Geometriequelle.

Zustand
SVG · Server
1.440 px900 px24 px1.440 px900 px0 Seite1 Rahmen2 Pfad3 Text4 Auswahl
Immer vorhanden: ohne JavaScript, bei reduzierter Bewegung und im Druck. Farben als var() in den Stildeklarationen.
WebGL2 · Regelfall
Nicht verfügbar: die Sonde bekommt keinen webgl2-Kontext, der Rahmen daneben zeigt deshalb den Rückfall.
Canvas 2D · Rückfall
Der Rückfall. Er steht auch dann, wenn der WebGL-Kontext später verloren geht und sich nicht wiederherstellen lässt.
Die Kette
  • Eine Geometriequelle, drei Medien: lib/landung/riss-modell.ts.
  • Der Server zeichnet das vollständige Bild als Inline-SVG.
  • Der Klient sondiert auf einem Wegwerf-Element und erzeugt die Leinwand erst danach.
  • Sobald der Maler gezeichnet hat, wird das SVG verborgen. Im Druck kehrt sich das um.
  • WebGPU scheidet aus: Kontextsperre ohne Rückfall.
G-10Gestaltungsgalerie

Schriftfeld

Das Blatt schließt wie eine Zeichnung: sechs Felder mit Benennung und Wert.

ZeichnungGestaltung
BlattG-01
MaßstabM 1:1
ThemaAutomatisch
RichtungKeine
Stand11.09.2026