Editorial · v0.2 Design System — Gerhard Fasch

Design System — erste Version

Eine redaktionelle Sprache für Profil & Folge­arbeiten.

Ruhige Editorial-Ästhetik, Mono-Mikrotypo, ein einziger Akzentton. Was hier dokumentiert ist, leitet sich aus dem Profil ab — nicht umgekehrt. Token, Typo-Klassen und Layout-Bausteine sind so geschnitten, dass sie auf weitere Seiten und Komponenten erweitert werden können, ohne dass das Bild kippt.

01.1Color

Eine warme Dunkelheit, ein einziger Akzent

Hintergrund-Schwarz mit warmem Unterton. Drei Tinten-Stufen für Inhalt, ein Amber-Akzent in zwei Sättigungen, zwei Linien-Werte. Mehr nicht.

--bg #0C0A09 Seitenhintergrund
--bg-soft #16120F Stage / Card-Flächen
--line #221E1B Standard-Trennlinien
--line-hi #322C28 Linien-Hervorhebung
--ink #F2EDE5 Primär-Text, Headlines
--ink-soft #B5ACA0 Fließtext, Beschreibungen
--ink-mute #6E665B Mono-Labels, Meta-Info
--amber #D97706 Akzent · Quotes · CTAs
--amber-hi #F59E0B Hover-Stufe für CTAs
--amber-low rgba(217,119,6,.12) Highlight-Hinterlegung

01.2Schriftfamilien

Zwei Stimmen, klar getrennte Rollen

IBM Plex Sans für Inhalt, IBM Plex Mono für alles, was Meta-Information ist (Labels, Datum, Sektionsnummern, Code).

TokenStackRolle
--sansIBM Plex Sans, -apple-system, "Segoe UI", Roboto, sans-serifHeadlines, Fließtext, Quotes
--monoIBM Plex Mono, ui-monospace, Menlo, monospaceLabels, Kicker, Meta, Code

01.3Layout

Spalten und Polster

Eine Shell mit max. 1240px. Sektionen verwenden ein Zwei-Spalten-Raster (Marginalie 220px / Inhalt 1fr) und kollabieren bei ≤ 900px auf eine Spalte.

TokenWertRolle
--pad-xclamp(28px, 5vw, 80px)horizontale Shell-Padding
Shell max-width1240pxLesebreite
Section-Grid220px / 1fr · gap 56pxMarginalie / Inhalt
Section-Padding80px 0vertikaler Sektionsabstand
Breakpoint S≤ 900pxSection-Grid kollabiert · Sticky aus
Breakpoint XS≤ 720pxStations-Grid kollabiert

01.4Linien

Drei Linien-Werte

Trennlinien tragen die Editorial-Grammatik. Kein Schatten, keine Boxen — nur Linien.

--rule1px solid var(--line)
--amber-rule1px solid rgba(217,119,6,.55)
--amber1px solid #D97706

02.1Skala

Hierarchie

Sieben Stufen, kuratiert. Headlines ohne Versalien, Mono ausschließlich für Meta-Information.

H1 Displayclamp(40, 5.4vw, 68)
weight 600 · −0.025em

30 Jahre Code.
Heute mit KI-Orchester.

H2 Section26px
weight 600 · −0.018em

Warum das zusammen funktioniert

H3 Item22px
weight 600 · −0.015em

Was passiert, wenn alles zusammenkommt

Standfirst17px
ink-soft · 1.65

Oracle, PL/SQL, APEX – und das Wissen, wann man der KI widerspricht. Mein Beruf seit den frühen 90ern, meine Leidenschaft länger.

Body16px
ink-soft · 1.7

Datenbanken hat man verstanden, wenn man weiß, warum ein Index hilft, warum nicht, und wie man das beweist. Dieses Wissen baut sich nicht in Wochen auf.

Kicker (Mono)12px
amber · 0.18em tracking

Profil — Oracle, APEX, Agentic Coding

Meta (Mono)12px
ink-mute · 0.14em tracking

Vol. 30 · Graz, AT

02.2Akzent-Klassen

Fünf Klassen, ein System

Jede Auszeichnung hat genau eine Klasse. Keine Mischung mehr aus „fett+unterstrichen" und „fett+linker Rand".

.t-quote

Wer hoch hinaus will, muss lange am Fundament verweilen.

Pull-Quote mit amber Linksrand und automatischen deutschen Anführungszeichen. Größtes Akzent-Element, sparsam einsetzen — eines pro Sektion.

.t-quote .t-quote--small

Datenbankwissen, Prozessverständnis und Pragmatismus – zusammengenommen entsteht etwas, das man so nicht sieht, wenn man nur eines davon hat.

Kompaktere Variante für Pull-Quotes innerhalb längerer Texte (z. B. in Stationen). Gleicher Rahmen, halber visueller Druck.

.t-quote .t-quote--bare

Gelassenheit ist das beste Debugging-Tool.

Gleiche Typographie, ohne Linksrand. Für nummerierte Quote-Listen, in denen die Linke schon durch eine Mono-Ziffer besetzt ist.

.t-lead

Eine KI schreibt Code, der oft funktioniert und manchmal lügt.

Hervorgehobener Lead-Absatz für Thesen und Aufmacher. Kein Rahmen, keine Anführungszeichen — bewusst ruhiger als .t-quote.

.t-emph

ESP32-Controller, 3D-Druck, funktionales DIY. Ich entwickle nicht nur Software – ich baue auch das Werkzeug, das sie steuert.

Inline-Hervorhebung: halbfett, helle Tinte, ohne Unterstrich. Ersetzt jede ad-hoc Mischung aus Bold und Underline.

03.1Sektions-Kopf

Nummer · Titel · Hint

Linke Marginal-Spalte: Mono-Sektionsnummer mit amber Trennlinie oben, danach Sans-Sektionstitel und ein zweizeiliger Hint in --ink-mute.

02Stationen

Drei Belegstücke

Jüngste zuerst. Was die These oben in der Praxis bedeutet.

03.2Marginalie

Datenkarte am linken Rand

Mono-Schlüssel/Wert-Paare in zwei Spalten. Amber Trennlinie oben. Für Faktenleisten, Status, Stamminfo.

SubjectG. Fasch
DisziplinOracle / APEX
Praxis seit1994
SitzGraz, AT
Statusverfügbar

03.3Button — primär

Der einzige CTA

Amber-Fläche, dunkler Text, weicher Außen-Schein (kein Rahmen). Hover hebt eine Stufe an und intensiviert den Schein. Maximal einer pro Sektion.

03.4Button — sekundär

Ruhige Aktion

Outline-Variante für Aktionen, die nicht der Haupt-CTA sind: „Mehr lesen“, „Download“, „Details“. Kein Schein, transparenter Hintergrund. Hover färbt Rand und Text amber und legt eine schwache amber-low Hinterlegung an.

03.5Mailto-Link

Kontakt-Anker

Großer Sans-Link mit 2px amber Unterlinie. Direkter, ehrlicher Kontaktpunkt — kein Formular.

04.1section.essay

Das tragende Sektions-Pattern

Zweispaltiges Grid: links Sektions-Kopf (sticky), rechts Inhalt. Diese Seite, das Profil und alle weiteren Folgeseiten verwenden dasselbe Skelett. Bei ≤ 900px kollabiert das Grid auf eine Spalte und Sticky wird deaktiviert.

/* Skelett */
<section class="essay">
  <aside class="col-side">
    <div class="section-no"><span class="num">02</span>Stationen</div>
    <h2 class="section-h">Drei Belegstücke</h2>
    <p class="hint">Jüngste zuerst.</p>
  </aside>
  <div> /* Inhalt */ </div>
</section>

04.2.list-rhythm

Listen mit Top-Border

Stationen, Skill-Bänder, Quotes und Thesen folgen alle demselben Rhythmus: Items werden durch border-top: 1px solid var(--line) getrennt; das erste Item bekommt border-top: none; padding-top: 0, das letzte padding-bottom: 0. Keine sichtbaren Boxen, keine Schatten, keine Hintergründe.

  • Erstes ItemKein Top-Border, kein Padding oben — sitzt bündig auf der Stage-Kante.
  • ZwischenitemMit Top-Border in --line. Padding 28px oben & unten.
  • Noch ein ItemGleicher Rhythmus, gleiche Linie.
  • Letztes ItemKein Padding unten, der untere Abschluss kommt von der Sektion.
/* Verwendung */
<ul class="list-rhythm">
  <li>…</li>
  <li>…</li>
</ul>

04.3Theme-Entscheidung

Dark-only — bewusst

Das System hat keinen Light-Modus. Die Editorial-Ästhetik lebt vom warmen Schwarz mit amber Akzent — Marginalien-Ruhe, atmosphärischer Schein, Lichtsaum an den Shell-Kanten. Eine Light-Variante würde das visuelle Versprechen ändern: andere Farb-Token, andere Schein-Werte, andere Linienkontraste. Falls dafür Bedarf entsteht, wird das ein eigenes System mit eigener Identität — nicht ein Schalter in diesem hier.

04.4Offen für v0.3

Was als Nächstes hineingehört

v0.2 hat Sekundär-Button und Listen-Pattern ergänzt. Folgende Bausteine bleiben sinnvolle Erweiterungen, sobald weitere Seiten hinzukommen:

  • Tabellen-Pattern (jenseits der Token-Tabelle hier)
  • Bildbehandlung (Crops, Captions, Bildlegenden im Mono-Stil)
  • Form-Elemente (falls jemals benötigt)
  • Code-Blöcke für Beispiele (eigene Klasse statt .ds-code)
  • Definitionsartige Listen (über das Impressum hinaus)