/* Wiki-Editor im Interviewer-Bereich (docs/wiki.md „Editor“): Modus-Umschalter, je Rubrik ein Feld
   mit Leiste, WYSIWYG-Fläche (Tiptap/ProseMirror) über der Markdown-Textarea, Dialoge. Die Fläche
   trägt zusätzlich .wiki-body, damit der Text dort aussieht wie in der Leseansicht. */

/* Seitentyp-Auswahl mit dem Wechsel-Knopf daneben. */
.wiki-page-type {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-items: center;
}

.wiki-page-type select {
  flex: 1 1 12rem;
}

/* --- Rubrik-Felder --------------------------------------------------------------------- */

.wiki-editor-sections .wiki-editor__head {
  margin-bottom: var(--space-4);
}

.wiki-editor-sections .wiki-editor__head h2 {
  margin: 0;
}

.wiki-editor-field {
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-5);
}

.wiki-editor-field__label {
  font-weight: 650;
}

/* Hinweis auf ein h2 in einer Rubrik mit eigener Überschrift; erscheint verzögert über dem Feld. */
.wiki-editor__warning {
  margin: 0;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--warn);
  border-radius: var(--radius-s);
  color: var(--warn);
  font-size: 0.9rem;
}

/* Rubriken mit Überschrift sind kürzer als der eine Text eines Standard-Artikels. */
.wiki-editor-field[data-levels="3,4"] .wiki-editor__content {
  min-height: 14rem;
}

/* Alter Text nach dem Seitentyp-Wechsel: vorformatiert zum Abschreiben. */
.wiki-old-sections__heading {
  margin: var(--space-4) 0 var(--space-2);
  font-size: 1rem;
}

.wiki-old-sections__text {
  max-height: 24rem;
  margin: 0;
  padding: var(--space-3) var(--space-4);
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-m);
  background: var(--surface);
  font-size: 0.85rem;
  line-height: 1.5;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.wiki-editor__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2) var(--space-3);
}

.wiki-editor__modes {
  display: inline-flex;
  border: 1px solid var(--line);
  border-radius: var(--radius-s);
  overflow: hidden;
}

.wiki-editor__mode {
  padding: var(--space-1) var(--space-3);
  border: 0;
  color: var(--ink-muted);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 650;
  background: var(--surface);
  cursor: pointer;
}

.wiki-editor__mode + .wiki-editor__mode {
  border-left: 1px solid var(--line);
}

.wiki-editor__mode[aria-pressed="true"] {
  color: var(--accent-ink);
  background: var(--accent);
}

.wiki-editor {
  display: grid;
  min-width: 0;
}

/* Die Klassenregeln (display: flex/inline-flex) schlagen sonst das [hidden] des Browsers. */
.wiki-editor__head [hidden],
.wiki-editor [hidden] {
  display: none !important;
}

/* --- Leiste ----------------------------------------------------------------------------- */

.wiki-editor__bar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  padding: var(--space-2);
  border: 1px solid var(--line);
  border-bottom: 0;
  border-radius: var(--radius-s) var(--radius-s) 0 0;
  background: var(--surface-raised);
}

.wiki-editor__group {
  display: inline-flex;
  gap: 2px;
  padding-right: var(--space-2);
  border-right: 1px solid var(--line);
}

.wiki-editor__group:last-child {
  padding-right: 0;
  border-right: 0;
}

.wiki-editor__button,
.dashboard-container .wiki-editor__select {
  min-width: 2rem;
  min-height: 2rem;
  padding: 0 var(--space-2);
  border: 1px solid transparent;
  border-radius: var(--radius-s);
  color: var(--ink);
  font: inherit;
  font-size: 0.9rem;
  line-height: 1;
  background: transparent;
  cursor: pointer;
}

.dashboard-container .wiki-editor__select {
  min-height: 2rem;
  padding-right: var(--space-2);
  border-color: var(--line);
  font-size: 0.85rem;
  background: var(--surface);
}

.wiki-editor__button:hover {
  border-color: var(--line);
  background: var(--surface);
}

.wiki-editor__button[aria-pressed="true"] {
  border-color: var(--accent);
  color: var(--accent-ink);
  background: var(--accent);
}

.wiki-editor__button--glyph { font-size: 1.15rem; }
.wiki-editor__button--bold { font-weight: 800; }
.wiki-editor__button--italic { font-style: italic; }
.wiki-editor__button--strike { text-decoration: line-through; }
.wiki-editor__button--code { font-family: var(--font-mono); font-size: 0.8rem; }
.wiki-editor__button--text { font-size: 0.85rem; font-weight: 650; }

.wiki-editor__group--table .wiki-editor__button {
  font-weight: 500;
}

/* --- Fläche und Textarea ---------------------------------------------------------------- */

.wiki-editor__surface {
  border: 1px solid var(--line);
  border-radius: 0 0 var(--radius-s) var(--radius-s);
  background: var(--surface);
}

.wiki-editor__surface:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
}

.wiki-editor .wiki-editor__content {
  min-height: 28rem;
  max-width: none;
  padding: var(--space-4) var(--space-5);
  outline: none;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

/* Im Editor sitzt in Listenpunkten und Zellen immer ein <p> (bei Aufgaben in einem <div>);
   die Lese-Abstände wären dort zu groß. */
.wiki-editor__content :is(li, td, th) > p,
.wiki-editor__content li > div > p {
  margin: 0 0 var(--space-2);
}

.wiki-editor__content :is(li, td, th) > p:last-child,
.wiki-editor__content li > div > p:last-child {
  margin-bottom: 0;
}

.wiki-editor__content table {
  display: table;
  width: auto;
  min-width: 50%;
}

.wiki-editor__content :is(td, th) {
  position: relative;
  min-width: 4rem;
  vertical-align: top;
}

.wiki-editor__content .selectedCell::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: var(--accent-soft);
  opacity: 0.6;
}

.wiki-editor__content ul[data-type="taskList"] {
  padding-left: 0;
  list-style: none;
}

.wiki-editor__content ul[data-type="taskList"] > li {
  display: flex;
  gap: var(--space-2);
  align-items: flex-start;
}

.wiki-editor__content ul[data-type="taskList"] > li > label {
  display: flex;
  flex: none;
  align-items: center;
  height: 1.6em;
}

.dashboard-container .wiki-editor__content ul[data-type="taskList"] input[type="checkbox"] {
  width: 1rem;
  height: 1rem;
  min-height: 0;
  margin: 0;
  accent-color: var(--accent);
}

.wiki-editor__content ul[data-type="taskList"] > li > div {
  flex: 1;
  min-width: 0;
}

.wiki-editor__content .ProseMirror-selectednode {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.wiki-editor__content .ProseMirror-gapcursor::after {
  border-top-color: var(--ink);
}

/* Verweis auf einen Artikel oder eine Überschrift: als Chip, nicht bearbeitbar, aber wählbar. */
.wiki-editor-link {
  display: inline-block;
  padding: 0 0.4em;
  border: 1px solid var(--accent);
  border-radius: var(--radius-s);
  color: var(--accent-strong);
  background: var(--accent-soft);
  line-height: 1.5;
  cursor: default;
}

.wiki-editor-link--missing {
  border-color: var(--warn);
  border-style: dashed;
  color: var(--warn);
  background: transparent;
}

.dashboard-container .wiki-editor__source {
  border-radius: var(--radius-s);
  font-family: var(--font-mono);
  font-size: 0.9rem;
  line-height: 1.5;
  resize: vertical;
}

/* --- Dialoge --------------------------------------------------------------------------- */

.wiki-editor__dialog {
  width: min(32rem, calc(100vw - 2 * var(--space-4)));
  padding: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius-l);
  color: var(--ink);
  background: var(--surface);
  box-shadow: var(--shadow-2, 0 12px 32px rgba(0, 0, 0, 0.18));
}

.wiki-editor__dialog::backdrop {
  background: rgba(0, 0, 0, 0.35);
}

.wiki-editor__dialog-form {
  display: grid;
  gap: var(--space-4);
  padding: var(--space-5);
}

.wiki-editor__dialog-form h2 {
  margin: 0;
  font-size: 1.08rem;
  font-weight: 680;
}

.wiki-editor__dialog-form .form-actions {
  margin: 0;
}
