/* ── Wiki (docs/00) ─────────────────────────────────────────────────────────
   Hülle in WikiHuelle.razor: Seitenleiste links, Inhalt, Inhaltsverzeichnis rechts.
   Farben und Schriften aus lage.css (.lage-seite, --l-*), damit hell und dunkel
   von selbst mitgehen. */

.wiki {
  display: grid; grid-template-columns: 248px minmax(0, 1fr); gap: 40px; align-items: start;
  max-width: 1320px; margin: 0 auto; padding: 32px 40px 24px;
}
.wiki.mit-rechts { grid-template-columns: 248px minmax(0, 1fr) 220px; }
.wiki-haupt { min-width: 0; display: flex; flex-direction: column; gap: 32px; }
.wiki-fuss { max-width: 1320px; margin: 24px auto 0; padding: 18px 40px 40px; }

/* Seitenleiste */
.wiki-leiste {
  position: sticky; top: 96px; max-height: calc(100dvh - 116px); overflow-y: auto;
  padding-right: 6px; scrollbar-width: thin;
}
.wiki-leiste-knopf { display: none; }
.wiki-nav { display: flex; flex-direction: column; gap: 1px; }
.wiki-nav a {
  display: flex; align-items: center; min-height: 34px; padding: 6px 12px; border-radius: 8px;
  color: var(--l-muted); text-decoration: none; font-size: 14.5px; line-height: 1.3;
  border-left: 3px solid transparent;
}
.wiki-nav a:hover { color: var(--l-ink); background: var(--l-chip); }
.wiki-nav a.aktiv { color: var(--l-ink); font-weight: 600; background: var(--l-amber-soft); border-left-color: var(--l-amber); }
.wiki-nav a.tief { padding-left: 24px; }
.wiki-nav .wiki-nav-start { font-weight: 600; color: var(--l-ink); }
.wiki-nav-gruppe {
  margin: 18px 0 6px; padding: 0 12px;
  font-family: var(--l-mono-font); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--l-amber-text);
}
.wiki-nav-kategorie { padding: 8px 12px 2px; font-size: 14.5px; color: var(--l-ink); font-weight: 500; }

/* Brotkrumen */
.wiki-krumen { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; font-size: 13.5px; color: var(--l-muted); margin-bottom: -16px; }
.wiki-krumen a { color: var(--l-muted); text-decoration: none; }
.wiki-krumen a:hover { color: var(--l-ink); text-decoration: underline; }
.wiki-krumen [aria-current] { color: var(--l-ink); }
.wiki-krumen-trenner { opacity: .5; }

/* Titel einer Seite */
.wiki-titel { display: flex; flex-direction: column; gap: 10px; }
.wiki-titel h1 { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.08; }
.wiki-titel .lage-text { max-width: 680px; }
.wiki-titel-meta { font-size: 14px; color: var(--l-muted); }

.wiki-abschnitt { display: flex; flex-direction: column; gap: 16px; }
.wiki-abschnitt > h2 { font-size: 24px; }

/* Startseite */
.wiki-held {
  display: flex; flex-direction: column; gap: 12px; padding: 36px 36px 32px; border-radius: 20px;
  background: var(--l-hero); border: 1px solid var(--l-line);
}
.wiki-held h1 { font-size: clamp(38px, 4vw, 56px); line-height: 1; }
.wiki-held .lage-text { max-width: 620px; }
.wiki-held .wiki-suche { margin-top: 10px; }

.wiki-suche { flex: 0 0 auto; width: 100%; max-width: 640px; }
.wiki-held .wiki-suche .lage-feld { height: 54px; font-size: 17px; padding-left: 46px; border-radius: 12px; }
.wiki-held .wiki-suche .lage-feld:focus { padding-left: 45px; }
.wiki-held .wiki-suche .lage-symbol { left: 16px; }

.wiki-einstieg { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 16px; }
.wiki-einstieg-haupt {
  display: flex; flex-direction: column; gap: 10px; padding: 28px; border-radius: 16px;
  background: var(--l-amber-soft); border: 1px solid var(--l-amber); color: var(--l-ink); text-decoration: none;
}
.wiki-einstieg-haupt b { font-family: var(--l-cond); font-size: 30px; line-height: 1.1; }
.wiki-einstieg-haupt > span:not(.lage-oberzeile):not(.lage-knopf) { color: var(--l-ink); opacity: .85; line-height: 1.5; max-width: 520px; }
.wiki-einstieg-knopf { align-self: flex-start; margin-top: auto; }
.wiki-einstieg-haupt:hover .wiki-einstieg-knopf { background: var(--l-btn-hover); }
.wiki-einstieg-danach { display: flex; flex-direction: column; gap: 12px; }
.wiki-danach {
  flex: 1; display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 14px 20px;
  color: inherit; text-decoration: none;
}
.wiki-danach b { font-size: 16.5px; }
.wiki-danach span { font-size: 13.5px; color: var(--l-muted); }

a.lage-karte { transition: border-color .12s, transform .12s; }
a.lage-karte:hover { border-color: var(--l-amber); }

.wiki-werke { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.wiki-werk { display: flex; flex-direction: column; gap: 6px; padding: 20px; color: inherit; text-decoration: none; }
.wiki-werk-bild {
  display: flex; align-items: center; justify-content: center; height: 112px; margin-bottom: 8px;
  border-radius: 12px; background: var(--l-raised); border: 1px solid var(--l-line);
}
.wiki-werk-bild img { width: 88px; height: 88px; object-fit: contain; }
.wiki-werk b { font-family: var(--l-cond); font-size: 21px; }
.wiki-werk span { font-size: 13.5px; color: var(--l-muted); line-height: 1.45; }
.wiki-werke-klein { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.wiki-werk-klein { display: flex; align-items: center; gap: 12px; min-height: 56px; padding: 10px 16px; color: inherit; text-decoration: none; }
.wiki-werk-klein b { font-size: 16px; }
.wiki-werk-symbol {
  display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 10px;
  background: var(--l-amber-soft); color: var(--l-amber-text);
}

.wiki-themen { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.wiki-thema { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px; color: inherit; text-decoration: none; }
.wiki-thema > b { font-family: var(--l-cond); font-size: 20px; line-height: 1.15; }
.wiki-thema-anriss { font-size: 14px; color: var(--l-muted); line-height: 1.5; }
.wiki-thema-zeit { font-size: 12.5px; color: var(--l-muted); font-family: var(--l-mono-font); margin-top: auto; }
.wiki-thema-link {
  display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 40px;
  padding: 8px 10px; margin: 0 -10px; border-radius: 8px; color: var(--l-ink); text-decoration: none; font-size: 15px;
}
.wiki-thema-link:hover { background: var(--l-chip); }
.wiki-thema-link .wiki-thema-zeit { margin-top: 0; flex-shrink: 0; }

.wiki-treffer { display: flex; flex-direction: column; gap: 10px; }
.wiki-treffer-zeile { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px 20px; color: inherit; text-decoration: none; }
.wiki-treffer-zeile b { font-size: 17px; }

/* Artikel */
.wiki-artikel { display: flex; flex-direction: column; gap: 24px; max-width: 780px; }
.wiki-text { color: var(--l-ink); font-size: 16.5px; line-height: 1.72; overflow-wrap: break-word; }
.wiki-text > :first-child { margin-top: 0; }
.wiki-text p { margin: 0 0 16px; }
.wiki-text h2 {
  font-size: 26px; line-height: 1.2; margin: 44px 0 14px; padding-top: 22px; border-top: 1px solid var(--l-line);
  scroll-margin-top: 96px;
}
.wiki-text h3 { font-size: 19px; margin: 30px 0 10px; scroll-margin-top: 96px; }
.wiki-text ul, .wiki-text ol { margin: 0 0 16px; padding-left: 24px; }
.wiki-text li { margin: 0 0 6px; }
.wiki-text li::marker { color: var(--l-amber-text); }
.wiki-text a { color: var(--l-amber-text); text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.wiki-text a:hover { text-decoration-thickness: 2px; }
.wiki-text strong { font-weight: 600; }
.wiki-text code {
  font-family: var(--l-mono-font); font-size: .88em; padding: 2px 6px; border-radius: 6px;
  background: var(--l-chip); border: 1px solid var(--l-line);
}
.wiki-text blockquote {
  margin: 0 0 18px; padding: 14px 18px; border-radius: 12px; border-left: 4px solid var(--l-amber);
  background: var(--l-amber-soft); color: var(--l-ink);
}
.wiki-text blockquote p:last-child { margin-bottom: 0; }
.wiki-text hr { border: 0; border-top: 1px solid var(--l-line); margin: 28px 0; }
.wiki-text table {
  display: block; width: max-content; max-width: 100%; overflow-x: auto; border-collapse: separate; border-spacing: 0;
  margin: 4px 0 22px; font-size: 14.5px; line-height: 1.5;
  border: 1px solid var(--l-line); border-radius: 12px; background: var(--l-surface);
}
.wiki-text th, .wiki-text td { text-align: left; vertical-align: top; padding: 10px 14px; border-bottom: 1px solid var(--l-line); }
.wiki-text th { background: var(--l-raised); font-weight: 600; white-space: nowrap; }
.wiki-text tr:last-child td { border-bottom: 0; }
.wiki-text tbody tr:nth-child(even) td { background: var(--l-raised); }

.wiki-schlagworte { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 18px; border-top: 1px solid var(--l-line); }

.wiki-blaettern { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.wiki-blaettern-link { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; color: inherit; text-decoration: none; min-width: 0; }
.wiki-blaettern-link span { font-size: 13px; color: var(--l-muted); }
.wiki-blaettern-link span::before { content: "← "; }
.wiki-blaettern-link.weiter { text-align: right; }
.wiki-blaettern-link.weiter span::before { content: ""; }
.wiki-blaettern-link.weiter span::after { content: " →"; }
.wiki-blaettern-link b { font-size: 16px; overflow-wrap: anywhere; }

/* Inhaltsverzeichnis */
.wiki-rechts { position: sticky; top: 96px; max-height: calc(100dvh - 116px); overflow-y: auto; scrollbar-width: thin; }
.wiki-toc-kopf {
  margin-bottom: 10px; font-family: var(--l-mono-font); font-size: 11px; letter-spacing: .14em;
  text-transform: uppercase; color: var(--l-amber-text);
}
.wiki-toc-liste { list-style: none; margin: 0; padding: 0 0 0 12px; border-left: 1px solid var(--l-line); display: flex; flex-direction: column; gap: 2px; }
.wiki-toc-liste a { display: block; padding: 4px 0; color: var(--l-muted); text-decoration: none; font-size: 13.5px; line-height: 1.35; }
.wiki-toc-liste a:hover { color: var(--l-ink); }
.wiki-toc-liste li.eben3 a { padding-left: 12px; font-size: 13px; }
.wiki-toc-handy { display: none; }

/* Nachschlagewerke: Suche oben, Filter in eigener Zeile darunter */
.wiki-werkzeug { display: flex; flex-direction: column; align-items: stretch; gap: 12px; }
.wiki-filter { display: flex; flex-wrap: wrap; gap: 8px; }
.wiki-filter .lage-knopf.an { background: var(--l-amber-soft); border-color: var(--l-amber); color: var(--l-ink); }
.wiki-zahl { color: var(--l-muted); font-weight: 500; margin-left: 4px; }
.wiki-anzahl { font-size: 13.5px; color: var(--l-muted); margin-top: -16px; }

.wiki-raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; align-items: stretch; }
.wiki-karte { padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; height: 100%; }
.wiki-karte.flach { border: 1px solid var(--l-line); border-radius: 12px; background: var(--l-raised); padding: 14px 16px; }
.wiki-karte-kopf { display: flex; align-items: center; gap: 16px; min-width: 0; }
.wiki-karte-zeile { flex-direction: row; align-items: center; gap: 12px; }
.wiki-ikon {
  width: 104px; height: 104px; flex-shrink: 0; object-fit: contain; padding: 6px;
  border-radius: 12px; background: var(--l-raised); border: 1px solid var(--l-line);
}
.wiki-karte.flach .wiki-ikon { background: var(--l-surface); }
.wiki-ikon.mittel { width: 72px; height: 72px; padding: 4px; }
/* Zeichenseite: schwarze Linien der taktischen Zeichen brauchen hellen Grund wie auf der Lagekarte, auch im dunklen Design. */
.wiki-ikon.zeichen, .wiki-karte.flach .wiki-ikon.zeichen { background: #f4f3ee; }
.wiki-karte-titel { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.wiki-karte-titel b { font-family: var(--l-cond); font-size: 19px; line-height: 1.2; overflow-wrap: anywhere; }
.wiki-karte-titel span { font-size: 13.5px; color: var(--l-muted); line-height: 1.4; }
.wiki-karte > p { color: var(--l-muted); font-size: 14.5px; line-height: 1.55; }
/* Feste Label-Spalte: überall gleich breit, Werte brechen nicht mehr unschön um. */
.wiki-felder {
  display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 6px 14px; margin: 0;
  font-size: 14px; line-height: 1.45; padding-top: 12px; border-top: 1px solid var(--l-line);
}
.wiki-karte.flach .wiki-felder:first-child { padding-top: 0; border-top: 0; }
.wiki-felder dt { color: var(--l-muted); }
/* Feste Label-Spalte: die Werte stehen in allen Karten an derselben Stelle. Am Handy schmaler. */
@media (max-width: 520px) { .wiki-felder { grid-template-columns: 112px minmax(0, 1fr); } }
.wiki-felder dd { margin: 0; overflow-wrap: anywhere; }
/* Karte füllt die Zeilenhöhe aus (align-items: stretch), Kopf und Werte-Tabelle
   bleiben dabei oben; nur die Chips rutschen an den unteren Rand, damit kurze
   neben langen Karten nicht mehr unterschiedlich hoch mit Lücken wirken. */
.wiki-chips { display: flex; flex-wrap: wrap; gap: 6px; align-content: flex-end; margin-top: auto; }
.wiki-chips .lage-chip { white-space: normal; }

.wiki-gruppe { overflow: hidden; }
.wiki-gruppe summary {
  display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 20px; cursor: pointer;
  font-family: var(--l-cond); font-size: 19px; font-weight: 700; list-style: none;
}
.wiki-gruppe summary::-webkit-details-marker { display: none; }
.wiki-gruppe summary::before { content: "▸"; color: var(--l-amber-text); width: 14px; }
.wiki-gruppe[open] summary::before { content: "▾"; }
.wiki-gruppe summary .wiki-zahl { font-family: var(--l-sans); font-size: 14px; }
.wiki-gruppe[open] summary { border-bottom: 1px solid var(--l-line); }
.wiki-gruppe .wiki-raster { padding: 16px 20px 20px; }

.wiki-farbpunkt { display: inline-block; width: 28px; height: 28px; border-radius: 8px; border: 1px solid var(--l-line2); flex-shrink: 0; }

/* Sichtungskategorien: eigene, themafeste Farben statt der dunklen .chip.skN der
   Leitstelle (app.css), die von einem immer dunklen Hintergrund ausgeht. */
.wiki-sk1 { background: var(--l-danger-soft); color: var(--l-danger); font-weight: 600; }
.wiki-sk2 { background: var(--l-amber-soft); color: var(--l-amber-text); font-weight: 600; }
.wiki-sk3 { background: var(--l-free-soft); color: var(--l-free); font-weight: 600; }

/* Mittlere Breite: Inhaltsverzeichnis wandert über den Text. */
@media (max-width: 1240px) {
  .wiki.mit-rechts { grid-template-columns: 248px minmax(0, 1fr); }
  .wiki-rechts { display: none; }
  .wiki-toc-handy { display: block; }
}
@media (max-width: 1100px) {
  .wiki-werke { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .wiki-einstieg { grid-template-columns: minmax(0, 1fr); }
}

/* Schmal: Leiste klappt unter einen Knopf. */
@media (max-width: 900px) {
  .wiki, .wiki.mit-rechts { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 20px 24px 16px; }
  .wiki-fuss { padding: 18px 24px 32px; }
  .wiki-leiste { position: static; max-height: none; overflow: visible; padding: 0; }
  .wiki-leiste-knopf {
    display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 48px;
    padding: 0 16px; border-radius: 12px; border: 1px solid var(--l-line2); background: var(--l-surface);
    color: var(--l-ink); font-size: 15px; font-weight: 600; cursor: pointer;
  }
  .wiki-winkel { transition: transform .15s; }
  .wiki-winkel.offen { transform: rotate(180deg); }
  .wiki-nav { display: none; margin-top: 8px; padding: 8px; border-radius: 12px; border: 1px solid var(--l-line); background: var(--l-surface); }
  .wiki-leiste.offen .wiki-nav { display: flex; }
  .wiki-nav a { min-height: 44px; }
}

.wiki-toc-handy { border: 1px solid var(--l-line); border-radius: 12px; background: var(--l-surface); }
.wiki-toc-handy summary {
  display: flex; align-items: center; min-height: 48px; padding: 0 16px; cursor: pointer; list-style: none; font-weight: 600;
}
.wiki-toc-handy summary::-webkit-details-marker { display: none; }
.wiki-toc-handy summary::before { content: "▸"; color: var(--l-amber-text); width: 18px; }
.wiki-toc-handy[open] summary::before { content: "▾"; }
.wiki-toc-handy .wiki-toc-liste { margin: 0 16px 14px; }
.wiki-toc-handy .wiki-toc-liste a { padding: 8px 0; font-size: 14.5px; }

@media (max-width: 640px) {
  .wiki, .wiki.mit-rechts { padding: 16px 16px 8px; }
  .wiki-fuss { padding: 18px 16px 28px; flex-wrap: wrap; }
  .wiki-held { padding: 24px 18px 20px; border-radius: 16px; }
  .wiki-held .wiki-suche .lage-feld { font-size: 16px; }
  .wiki-einstieg-haupt { padding: 22px 20px; }
  .wiki-einstieg-haupt b { font-size: 26px; }
  .wiki-werke { gap: 10px; }
  .wiki-werk { padding: 14px; }
  .wiki-werk-bild { height: 84px; }
  .wiki-werk-bild img { width: 64px; height: 64px; }
  .wiki-werk b { font-size: 18px; }
  .wiki-werk > span:not(.wiki-werk-bild) { display: none; }
  .wiki-werke-klein { grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .wiki-themen { grid-template-columns: minmax(0, 1fr); }
  .wiki-raster { grid-template-columns: minmax(0, 1fr); }
  .wiki-karte { padding: 16px; }
  .wiki-ikon { width: 88px; height: 88px; }
  .wiki-ikon.mittel { width: 64px; height: 64px; }
  .wiki-text { font-size: 16px; line-height: 1.68; }
  .wiki-text h2 { font-size: 23px; margin-top: 36px; }
  .wiki-blaettern { grid-template-columns: minmax(0, 1fr); }
  .wiki-blaettern > span:empty { display: none; }
  .wiki-gruppe summary { padding: 12px 16px; }
  .wiki-gruppe .wiki-raster { padding: 12px; }
}

@media (pointer: coarse) {
  .wiki-nav a, .wiki-thema-link, .wiki-toc-liste a { min-height: 44px; display: flex; align-items: center; }
  .wiki-krumen a { display: inline-flex; align-items: center; min-height: 44px; }
  .wiki-krumen { margin-bottom: -24px; }
}

/* Nachschlageseite ohne JavaScript (SeoSeiten.cs): nur die Namen, bis Blazor die
   Tabelle zeigt. */
.wiki-vorab-liste { margin: 0; padding-left: 18px; columns: 3 220px; column-gap: 28px; color: var(--l-muted); font-size: 14.5px; line-height: 1.7; }
