/* Minimal element defaults. Kept small on purpose — components style themselves
   from the tokens above. */

*,
*::before,
*::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--bg-app);
  color: var(--text-body);
  font: var(--type-meta);
  -webkit-font-smoothing: antialiased;
  text-wrap: pretty;
}

a { color: var(--accent-text); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--accent); }

button { font: inherit; color: inherit; }

/* Message timestamps. Visible by default — people want to see when something
   was said — and hidden at the low-stimulation level, where every extra line
   is load. */
.anlauf-msg-time { display: block; }
.theme-lowstim .anlauf-msg-time, [data-theme="lowstim"] .anlauf-msg-time { display: none; }

::selection { background: var(--accent-quiet); color: var(--text-body); }

:focus-visible {
  outline: var(--border-emphasis) solid var(--accent);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}
