/* ══════════════════════════════════════════════════════════════════════════
   reset.css — der Grundzustand, auf dem das ganze Design aufbaut.

   WARUM ES DIESE DATEI GIBT (22.09.2026):
   Der Tailwind-Play-CDN lieferte still **Preflight** mit, Tailwinds eigenen
   Reset. Beide Apps wurden also von Anfang an gegen einen zurückgesetzten
   Browser gebaut — nur stand das nirgends. Beim Entfernen des CDN fiel das
   sofort auf: Die Seitenleiste wuchs von 250 auf 283 Pixel, weil ohne
   `box-sizing: border-box` Polsterung und Rahmen zur Breite dazukamen.

   Hier steht deshalb genau der Teil von Preflight, auf den das Design sich
   verlässt — nicht mehr. Wer eine Regel hier löscht, verschiebt Layouts in
   beiden Apps.

   Quelle der Vorlage: Tailwind Preflight (MIT), gekürzt auf das Benötigte.
   ══════════════════════════════════════════════════════════════════════════ */

/* Grundzeilenhöhe. Preflight setzt sie auf 1.5; ohne das fällt alles auf die
   Browser-Voreinstellung (etwa 1.2) zurück, und jeder Textblock wird ein paar
   Pixel flacher. Beim Entfernen des CDN war genau das messbar. */
html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
}
body { line-height: inherit; }

/* Maße rechnen sich inklusive Polsterung und Rahmen. Die wichtigste Regel hier:
   Ohne sie stimmt keine einzige Breitenangabe im Design. */
*,
::before,
::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
}

/* Browser-Standardabstände weg. Das Design setzt Abstände überall selbst;
   die Voreinstellungen würden doppelt wirken. */
body, h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd, pre {
  margin: 0;
}

/* Überschriften erben Größe und Gewicht — gesetzt wird beides in den
   Komponenten, nicht vom Browser. */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

/* Listen ohne Punkte und ohne Einzug; wo es welche braucht, steht es in der
   Komponente (etwa .beta-list). */
ol, ul, menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Formularelemente erben Schrift und Farbe. Ohne das fielen Knöpfe und
   Eingabefelder auf die Systemschrift zurück. */
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
button, select { text-transform: none; }
button, input:where([type='button'], [type='reset'], [type='submit']) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
textarea { resize: vertical; }

/* Platzhaltertext einheitlich gedämpft. */
input::placeholder, textarea::placeholder { opacity: 1; color: var(--text-faint, #94a3b8); }

/* Anklickbares zeigt den Zeiger, Deaktiviertes nicht. */
button, [role="button"] { cursor: pointer; }
:disabled { cursor: default; }

/* Bilder und Grafiken verhalten sich wie Blöcke und laufen nicht über. */
img, svg, video, canvas, audio, iframe, embed, object { display: block; vertical-align: middle; }
img, video { max-width: 100%; height: auto; }

/* Links erben Farbe und Unterstreichung — beides regelt das Design. */
a { color: inherit; text-decoration: inherit; }

/* Tabellen ohne doppelte Rahmen. */
table { border-collapse: collapse; border-color: inherit; text-indent: 0; }
