:root { color-scheme: light dark; }
body {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;
  max-width: 46rem; margin: 0 auto; padding: 2rem 1rem; line-height: 1.5;
}
header { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; flex-wrap: wrap; }
h1 { margin: 0; font-size: 1.6rem; }
#benutzer-info { display: flex; align-items: baseline; gap: 0.75rem; font-size: 0.85rem; }
#logout-form { margin: 0; }
.demo-hinweis {
  font-size: 0.8rem; opacity: 0.75; border-left: 3px solid currentColor;
  padding-left: 0.75rem; margin: 1rem 0 2rem;
}
.kachel-grid { display: flex; gap: 1rem; flex-wrap: wrap; }
.kachel {
  padding: 1.5rem 2rem; border-radius: 12px; border: 1px solid currentColor;
  background: transparent; font: inherit; cursor: pointer;
}
.post {
  border: 1px solid color-mix(in srgb, currentColor 20%, transparent);
  border-radius: 10px; padding: 1rem 1.25rem; margin-bottom: 0.9rem;
}
.post.pinned { border-color: #b8860b; }
.post h3 { margin: 0 0 0.35rem; font-size: 1.1rem; }
.meta { font-size: 0.78rem; opacity: 0.7; }
.badge {
  font-size: 0.7rem; padding: 0.1rem 0.5rem; border-radius: 999px;
  margin-left: 0.4rem; vertical-align: 0.1rem;
}
.badge.new { background: #2e7d32; color: #fff; }
.badge.draft { background: #6b6b6b; color: #fff; }
.badge.withdrawn { background: #a33; color: #fff; }
.badge.pin { background: #b8860b; color: #fff; }
button { cursor: pointer; padding: 0.3rem 0.7rem; border-radius: 6px; margin-right: 0.4rem; }
input, textarea { font: inherit; padding: 0.4rem; width: 100%; box-sizing: border-box; }
textarea { min-height: 6rem; }
fieldset { border-radius: 8px; margin-bottom: 2rem; }
.rechte-wahl { display: flex; gap: 1.25rem; flex-wrap: wrap; }
.rechte-wahl label { display: flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; }
.rechte-wahl input { width: auto; }
#detail { margin-top: 0.75rem; padding-top: 0.75rem; border-top: 1px dashed currentColor; }
#einmalpasswort { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.85rem; }
.fehler { color: #a33; font-weight: 600; }
