Hell und dunkel aus denselben Tokens
Surfaces, Text, Buttons und Links lesen CSS-Variablen. Der Theme-Schalter kippt ein Attribut am Root. Komponentenfarben sind weg.
Die Site-Palette ist Schwarz, Weiß, Button-Tan #A5916E und Link-Blau #59B8F2. Diese Werte leben in Tokens, nicht in Komponentendateien. Das dunkle Theme überschreibt dieselben Namen. Ein Button mit fest verdrahtetem Ton driftete vom Rest der UI und verschwand im Dark Mode. Nach dem Aufräumen ist das eine Token-Änderung.
Open Sans ist die Schrift. Interaktive Elemente bewegen sich weiter bei Hover, Focus und Druck. Die Motion ist kurz und liegt auf --motion-fast. Reduced Motion behält den Farbwechsel und streicht das Transform.
Was der Schalter tut
Der Toggle schreibt data-theme auf das Root. Jede Fläche, jede Linie, jeder Text folgt. Eine Komponente, die noch eine Media Query braucht, ist ein Fehler in der Token-Map. Das ist der Check, wenn ein neuer Screen in einem Theme falsch aussieht.
Etwa zwanzig fest verdrahtete Werte sind raus. Zwei Buttons unterschieden sich um einen Ton. Ein Rahmen nutzte eine Farbe, die im Dark Mode nicht existierte. Beides waren Token-Bugs, keine Layout-Bugs.
Was draußen bleibt
Keine Verläufe am Chrome. Kein Glow. Keine Extra-Fonts. News-Cover sind Fotos und gehen in der Kachel auf Graustufen. Diagramme in Artikeln invertieren im Dark Mode, weil sie schwarze Striche auf transparentem Grund sind.
Neue UI liest die Tokens. Eine Farbe, die nicht in der Map steht, geht nicht raus.
