/* Frage-Assistent (Session-Assistent und „Session planen“): Auswahlkarten, Formular, Fragenliste */
.qc {
  display: grid;
  gap: 1rem;
  min-width: 0;
}

.qc h2 {
  margin: 0;
  font-size: 1.35rem;
  outline: none;
}

.qc-lead,
.qc-hint {
  margin: 0;
  color: var(--muted, #5b6676);
  font-size: 0.92rem;
  line-height: 1.45;
}

.qc-hint {
  font-size: 0.82rem;
}

.qc-added {
  min-height: 1.4rem;
  margin: 0;
  font-weight: 700;
  color: #1a7f4b;
}

.qc-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.75rem;
}

.qc-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  min-width: 0;
  padding: 0.9rem;
  text-align: left;
  font: inherit;
  color: inherit;
  border: 2px solid var(--line, #e2e5ea);
  border-radius: 1rem;
  background: var(--bg-elev, #fff);
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.qc-card:hover,
.qc-card:focus-visible {
  border-color: var(--primary-color, #007cc1);
  box-shadow: 0 6px 20px color-mix(in srgb, var(--ink, #1a1d23) 8%, transparent);
}

.qc-card:focus-visible {
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

/* Familienkarten sind Radiokarten (Auto-Weiter, singleChoice.js): das Radio bleibt fokussierbar, ist aber unsichtbar */
.qc-card {
  position: relative;
}

.qc-card__radio {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.qc-card:has(.qc-card__radio:focus-visible) {
  border-color: var(--primary-color, #007cc1);
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

.qc-card:has(.qc-card__radio:checked) {
  border-color: var(--primary-color, #007cc1);
  background: color-mix(in srgb, var(--primary-color, #007cc1) 7%, var(--bg-elev, #fff));
}

/* Vorschlag aus dem Fragetext: gestrichelter Rahmen und Markierung „Vorschlag“ */
.qc-card.is-suggested {
  border-style: dashed;
  border-color: var(--primary-color, #007cc1);
}

/* Auto-Weiter: gewählte Karte bis zum Sprung (~250 ms) deutlich markiert */
.qc-card.is-advancing {
  border-style: solid;
  border-color: var(--primary-color, #007cc1);
  background: color-mix(in srgb, var(--primary-color, #007cc1) 14%, var(--bg-elev, #fff));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #007cc1) 30%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  .qc-card {
    transition: none;
  }
}

.qc-card__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0.5rem;
}

.qc-card__badge {
  padding: 0.05rem 0.5rem;
  font-size: 0.72rem;
  font-weight: 700;
  border-radius: 999px;
  color: var(--btn-primary-ink, #fff);
  background: var(--btn-primary-bg, #007cc1);
}

.qc-card__badge[hidden] {
  display: none;
}

.qc-card__icon {
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
}

.qc-card__body {
  display: grid;
  gap: 0.2rem;
  min-width: 0;
  overflow-wrap: anywhere;
  /* keine automatische Silbentrennung („Ter-min“), wie bei den Karten des Session-Assistenten */
  hyphens: manual;
  -webkit-hyphens: manual;
}

.qc-card__title {
  font-size: 0.95rem;
}

.qc-card__desc {
  font-size: 0.8rem;
  line-height: 1.4;
  color: var(--muted, #5b6676);
}

.qc-card__example {
  font-size: 0.78rem;
  font-style: italic;
}

.qc-field {
  display: grid;
  gap: 0.35rem;
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.qc-field > span,
.qc-field > legend {
  font-weight: 700;
  font-size: 0.9rem;
  padding: 0;
}

.qc-field--inline {
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
  gap: 0.75rem;
}

.qc-input {
  width: 100%;
  box-sizing: border-box;
  padding: 0.6rem 0.75rem;
  font: inherit;
  color: var(--ink, #1a1d23);
  border: 1px solid var(--line, #c9d0d9);
  border-radius: 0.6rem;
  background: var(--bg-elev, #fff);
}

/* Beispiele stehen grau im Feld und verschwinden beim ersten Tippen */
.qc-input::placeholder {
  color: var(--muted, #7a8494);
  opacity: 1;
}

.qc-input[aria-invalid="true"] {
  border-color: #b3261e;
}

.qc-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
  gap: 0.75rem;
}

.qc-options {
  display: grid;
  gap: 0.5rem;
  margin: 0 0 0.5rem;
  padding: 0;
  list-style: none;
}

.qc-options li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.qc-options .qc-input {
  flex: 1 1 auto;
  min-width: 0;
}

.qc-correct {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-size: 0.8rem;
  white-space: nowrap;
}

.qc-slot {
  flex-wrap: wrap;
}

.qc-slot .qc-input {
  flex: 1 1 11rem;
}

.qc-radios {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
}

.qc-radios legend {
  flex: 0 0 100%;
}

.qc-radio {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
}

.qc-round {
  display: grid;
  gap: 0.6rem;
  padding: 0.85rem;
  margin: 0 0 0.75rem;
  border: 1px solid var(--line, #d7dde5);
  border-radius: 0.8rem;
}

.qc-round h4 {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
}

/* Chips: Art der Frage und „Antworten als“ (Radiogruppen, Wechsel sofort) */
.qc-switch {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.qc-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.75rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.qc-chips legend {
  float: left;
  margin: 0 0.25rem 0 0;
  padding: 0;
  font-weight: 700;
  font-size: 0.85rem;
}

.qc-chips__list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  min-width: 0;
}

.qc-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 2.25rem;
  padding: 0.3rem 0.85rem;
  font-size: 0.88rem;
  border: 1px solid var(--line, #c9d0d9);
  border-radius: 999px;
  background: var(--bg-elev, #fff);
  cursor: pointer;
  overflow-wrap: anywhere;
}

.qc-chip input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.qc-chip:hover {
  border-color: var(--primary-color, #007cc1);
}

.qc-chip:has(input:focus-visible) {
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

.qc-chip:has(input:checked) {
  font-weight: 700;
  color: var(--btn-primary-ink, #fff);
  border-color: var(--btn-primary-bg, #007cc1);
  background: var(--btn-primary-bg, #007cc1);
}

/* Vorgemerkter Wechsel mit Verlust: erst „Trotzdem wechseln“ */
.qc-chip.is-pending:has(input:checked) {
  color: var(--ink, #1a1d23);
  background: color-mix(in srgb, var(--primary-color, #007cc1) 14%, var(--bg-elev, #fff));
  border-style: dashed;
}

/* Bisherige Art, solange ein Wechsel auf Bestätigung wartet */
.qc-chip.is-current {
  border-width: 2px;
  border-color: var(--primary-color, #007cc1);
}

.qc-suggest:empty {
  display: none;
}

.qc-lost {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0;
  padding: 0.6rem 0.75rem;
  font-size: 0.88rem;
  border-left: 3px solid #b3261e;
  border-radius: 0.4rem;
  background: color-mix(in srgb, #b3261e 7%, var(--bg-elev, #fff));
}

.qc-lost__actions,
.qc-offer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.qc-offer p {
  margin: 0;
  font-size: 0.88rem;
}

.qc-check {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.88rem;
  cursor: pointer;
}

/* „Mehr“: optionale Felder, standardmäßig zu */
.qc-more {
  border-top: 1px solid var(--line, #e2e5ea);
  padding-top: 0.6rem;
}

.qc-more > summary {
  font-weight: 700;
  cursor: pointer;
  width: fit-content;
}

.qc-more > summary:focus-visible {
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

.qc-more__body {
  display: grid;
  gap: 0.9rem;
  padding-top: 0.75rem;
}

.qc-error {
  margin: 0;
  color: #b3261e;
  font-size: 0.85rem;
  font-weight: 600;
}

.qc-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.6rem;
}

.qc-list {
  display: grid;
  gap: 0.5rem;
}

.qc-list h3 {
  margin: 0;
  font-size: 1rem;
}

.qc-list ol {
  display: grid;
  gap: 0.4rem;
  margin: 0;
  padding-left: 1.4rem;
}

.qc-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.15rem 0.75rem;
  align-items: center;
  padding: 0.35rem 0;
}

.qc-list__type {
  grid-column: 1 / -1;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--muted, #5b6676);
}

.qc-list__text {
  overflow-wrap: anywhere;
}

.qc-list__actions {
  display: inline-flex;
  gap: 0.35rem;
}

@media (max-width: 30rem) {
  .qc-list li {
    grid-template-columns: 1fr;
  }
}

/* Rundgang durch alle Fragearten */
.type-tour {
  width: min(32rem, calc(100vw - 2rem));
  padding: 0;
  border: 1px solid var(--border, #d7dde5);
  border-radius: 1rem;
}
.type-tour__card {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.25rem 1.5rem 1.5rem;
}
.type-tour__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.type-tour__progress {
  margin: 0;
}
.type-tour__icon svg {
  width: 4rem;
  height: 4rem;
}
.type-tour__card h2 {
  margin: 0;
  overflow-wrap: anywhere;
}
.type-tour__desc,
.type-tour__example {
  margin: 0;
  overflow-wrap: anywhere;
}
.type-tour__variants-title {
  margin: 0 0 0.35rem;
}
.type-tour__variants {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.type-tour__variants li {
  padding: 0.2rem 0.7rem;
  border: 1px solid var(--border, #d7dde5);
  border-radius: 999px;
  overflow-wrap: anywhere;
}
.type-tour__nav {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  margin-top: 0.5rem;
}

/* Foto je Antwort (Entwürfe) */
.qc-options li:has(.qc-photo) {
  flex-wrap: wrap;
}
.qc-photo {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.qc-photo__thumb {
  width: 4.5rem;
  height: 3.2rem;
  object-fit: cover;
  border-radius: 0.4rem;
  border: 1px solid var(--line, #d7dde5);
}
.qc-photo__btn {
  cursor: pointer;
}

/* ---------- Vorlagen-Galerie „Oder mit Vorlage starten“ (templateGallery.js) ---------- */
.tg {
  display: grid;
  gap: 1.25rem;
  min-width: 0;
}

.tg-hint {
  margin: 0;
  color: var(--muted, #5b6676);
  font-size: 0.85rem;
}

.tg-rubric {
  display: grid;
  gap: 0.6rem;
  min-width: 0;
}

.tg-rubric__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
}

.tg-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr));
  gap: 0.75rem;
}

.tg-card {
  display: grid;
  align-content: start;
  gap: 0.35rem;
  min-width: 0;
  padding: 1rem;
  border-radius: 1rem;
  border: 2px solid var(--line, #e2e5ea);
  background: var(--bg-elev, #fff);
  text-align: left;
}

label.tg-card {
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

label.tg-card:hover {
  border-color: var(--primary-color, #007cc1);
}

label.tg-card:focus-within {
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

.tg-card.is-selected {
  border-color: var(--primary-color, #007cc1);
  background: color-mix(in srgb, var(--primary-color, #007cc1) 7%, var(--bg-elev, #fff));
}

/* Auto-Weiter: gewählte Karte bis zum Sprung (~250 ms) deutlich markiert (singleChoice.js, is-advancing) */
.tg-card.is-advancing {
  border-color: var(--primary-color, #007cc1);
  background: color-mix(in srgb, var(--primary-color, #007cc1) 14%, var(--bg-elev, #fff));
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--primary-color, #007cc1) 30%, transparent);
}

.tg-card__title {
  font-weight: 700;
  overflow-wrap: anywhere;
}

.tg-card__desc,
.tg-card__more {
  color: var(--muted, #5b6676);
  font-size: 0.85rem;
  line-height: 1.4;
}

.tg-card__preview {
  display: grid;
  gap: 0.15rem;
  margin: 0.25rem 0 0;
  padding-left: 1.2rem;
  font-size: 0.85rem;
  line-height: 1.35;
}

.tg-card__preview li {
  overflow-wrap: anywhere;
}

/* Spiele: Einstellungen direkt auf der Karte, dann „anlegen“ (mehrere Eingaben: kein Auto-Weiter) */
.tg-game {
  gap: 0.75rem;
}

.tg-game__group {
  display: grid;
  gap: 0.35rem;
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.tg-game__group legend,
.tg-game .mpq-field__label {
  margin: 0 0 0.25rem;
  padding: 0;
  font-size: 0.9rem;
  font-weight: 600;
}

.tg-choice {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.35;
  cursor: pointer;
}

.tg-choice input {
  margin-top: 0.15rem;
  flex-shrink: 0;
}

.tg-game .mpq-stepper {
  grid-template-columns: 2.75rem 1fr 2.75rem;
}

.tg-game .mpq-stepper__btn {
  height: 2.75rem;
  font-size: 1.35rem;
}

.tg-game .mpq-stepper__value {
  font-size: 1.5rem;
}

.tg-game .mpq-mix__opt {
  padding: 0.5rem 0.75rem;
  font-size: 0.88rem;
}

.tg-game .mpq-mix__opt strong {
  font-size: 0.95rem;
}

.tg-game__error {
  margin: 0;
}

.tg-game [data-tg-create] {
  justify-self: start;
}

.tg-game__group[hidden] {
  display: none;
}

/* Karte „Pubquiz-Abend“: kurze Liste und Link in den Baukasten (Spec 2026-10-23-pubquiz-baukasten, G2). */
.tg-game__facts {
  margin: 0;
  padding-left: 1.1rem;
  display: grid;
  gap: 0.2rem;
}
.tg-game__hint {
  margin: 0;
  font-size: 0.875rem;
  color: var(--muted, #555);
}
.tg-game__go {
  justify-self: start;
  text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
  label.tg-card {
    transition: none;
  }
}

/* ---------- Handy (Etappe 5, K9): Karten 64 px in einer Spalte, Chips in einer wischbaren Reihe ---------- */
@media (max-width: 480px) {
  /* Familienkarten: Symbol, Name, eine Zeile Beschreibung; das Beispiel entfällt */
  .qc-cards {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .qc-card {
    box-sizing: border-box;
    height: 64px;
    align-items: center;
    gap: 0.6rem;
    padding: 0.3rem 0.75rem;
    overflow: hidden;
  }

  .qc-card__icon {
    flex: 0 0 2rem;
    width: 2rem;
    height: 2rem;
  }

  .qc-card__icon svg {
    width: 100%;
    height: 100%;
  }

  .qc-card__body {
    flex: 1 1 auto;
    gap: 0.05rem;
  }

  .qc-card__head {
    flex-wrap: nowrap;
    gap: 0.35rem;
  }

  .qc-card__title {
    min-width: 0;
    font-size: 0.92rem;
    line-height: 1.15;
  }

  .qc-card__badge {
    flex: 0 0 auto;
  }

  .qc-card__desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.3;
  }

  .qc-card__example {
    display: none;
  }

  /* Vorlagenkarten (Galerie): Name und eine Zeile Beschreibung; Fragenvorschau entfällt. Spielekarten bleiben. */
  .tg-cards {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  label.tg-card {
    box-sizing: border-box;
    height: 64px;
    align-content: center;
    gap: 0.1rem;
    padding: 0.3rem 0.75rem;
    overflow: hidden;
  }

  label.tg-card .tg-card__title {
    font-size: 0.92rem;
    line-height: 1.15;
  }

  label.tg-card .tg-card__desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    overflow: hidden;
    font-size: 0.78rem;
    line-height: 1.3;
  }

  label.tg-card .tg-card__preview,
  label.tg-card .tg-card__more {
    display: none;
  }

  /* Chips: „Art der Frage“ und „Antworten als“ je in einer Reihe zum Wischen, ohne Umbruch */
  /* Block statt Flex: Im Flex-Fieldset gibt Chrome der Reihe die volle Inhaltsbreite, statt sie zu begrenzen */
  .qc-chips {
    display: block;
  }

  .qc-chips legend {
    float: none;
    margin: 0 0 0.25rem;
  }

  .qc-chips__list {
    max-width: 100%;
  }

  .qc-chips__list {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 0.5rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    /* Platz für Fokusrahmen und aktuellen Rahmen, sonst schneidet das Überlauf-Feld sie ab */
    padding: 3px;
    margin: -3px;
  }

  .qc-chips__list::-webkit-scrollbar {
    display: none;
  }

  .qc-chip {
    flex: 0 0 auto;
    scroll-snap-align: start;
    white-space: nowrap;
    overflow-wrap: normal;
  }
}

/* Seitenleiste „Frage bearbeiten“ (admin/slides/slidePanelBody.js): drei Bereiche und die Vorschau */
.spb {
  display: grid;
  gap: 0.75rem;
  min-width: 0;
}

.spb-section,
.spb-preview {
  border: 1px solid var(--line, #e2e5ea);
  border-radius: 12px;
  background: var(--surface, #fff);
  min-width: 0;
}

.spb-section[hidden] {
  display: none;
}

.spb-section > summary,
.spb-preview > summary {
  cursor: pointer;
  font-weight: 700;
  padding: 0.7rem 0.9rem;
  border-radius: 12px;
}

.spb-section > summary:focus-visible,
.spb-preview > summary:focus-visible {
  outline: 2px solid var(--focus, #0052cc);
  outline-offset: 2px;
}

.spb-section__body,
.spb-preview__host {
  display: grid;
  gap: 0.9rem;
  padding: 0.25rem 0.9rem 0.9rem;
  min-width: 0;
}

.spb-note {
  margin: 0;
  font-size: 0.88rem;
  color: var(--muted, #5b6472);
}

.spb .qc--edit {
  display: grid;
  gap: 0.9rem;
}

.spb .qc-input,
.spb select,
.spb textarea {
  max-width: 100%;
  box-sizing: border-box;
}

.spb-colors {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.spb-colors__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
  min-width: 0;
}

.spb-colors__label {
  overflow-wrap: anywhere;
}

.spb-preview__host {
  overflow-x: auto;
}

.spb-section__title {
  margin: 0;
  padding: 0.7rem 0.9rem 0;
  font-size: 1rem;
}

.spb-picker-rows {
  display: grid;
  gap: 0.4rem;
}

.spb-picker-head,
.spb-picker-row {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.spb-picker-head--cats,
.spb-picker-row--cats {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) minmax(0, 1fr);
}

.spb-picker-head {
  font-size: 0.8rem;
  color: var(--muted, #5b6472);
}

.spb-picker-row__label {
  overflow-wrap: anywhere;
}

.spb-picker-row input,
.spb-picker-row select {
  min-width: 0;
  max-width: 100%;
}

/* ==========================================================================================================
   Etappe 9 · Frage bearbeiten und Assistent (Release 9a, Aufgabe 4)
   Neuer Look für die Seitenleiste „Frage bearbeiten“ (admin/slides/slidePanel*.js), den Fragen-Assistenten
   (questionComposer.js) und „Neue Session“ (sessionCreateWizard.js, templateGallery.js).
   Keine Logikänderung: alle alten Klassen und IDs bleiben, die Tests hängen daran. Alle Regeln stehen unter
   `.pulse-admin-shell` (Spezifität gegen components-*.css: `.btn.ghost`, `input { width:100%; border }`, `.qc-*`).
   Karten (Familien, Vorlagen) bleiben Karten: Fläche --ui-surface, Radius 16, kein weicher Schatten.
   Handy-Regeln aus Etappe 5 (64-px-Karten, wischbare Chips) bleiben: hier werden nur Farben und Rahmen gesetzt,
   keine Höhen, Abstände oder Überläufe dieser Elemente.
   ========================================================================================================== */

/* ---- Knöpfe: `.btn.ui-btn` (die alten Klassen bleiben dran, der Baustein gewinnt hier) ---- */
.pulse-admin-shell .btn.ui-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--ui-space-2);
  box-sizing: border-box;
  min-width: var(--ui-control-s);
  min-height: var(--ui-control);
  padding: 0 18px;
  border: 0;
  border-radius: var(--ui-radius-m);
  font: 600 15px/1.2 var(--ui-font);
  text-decoration: none;
  cursor: pointer;
  transform: none;
}
/* display:inline-flex oben darf weder [hidden] noch „nur am Handy / nur am Desktop“ der Leiste aushebeln */
.pulse-admin-shell .btn.ui-btn[hidden] {
  display: none;
}
.pulse-admin-shell .btn.ui-btn.slide-panel__back {
  display: none;
}
@media (max-width: 1099.98px) {
  .pulse-admin-shell .btn.ui-btn.slide-panel__back {
    display: inline-flex;
  }
  .pulse-admin-shell .btn.ui-btn.slide-panel__close {
    display: none;
  }
}
.pulse-admin-shell .btn.ui-btn--s {
  min-height: var(--ui-control-s);
  padding: 0 12px;
  font-size: 14px;
}
.pulse-admin-shell .btn.ui-btn--primary {
  background: var(--btn-primary-bg, var(--ui-tint));
  color: var(--btn-primary-ink, var(--ui-on-tint));
}
.pulse-admin-shell .btn.ui-btn--primary:hover:not(:disabled) {
  background: color-mix(in srgb, var(--btn-primary-bg, var(--ui-tint)) 88%, #000000);
}
.pulse-admin-shell .btn.ui-btn--quiet {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .btn.ui-btn--quiet:hover:not(:disabled) {
  background: color-mix(in srgb, var(--ui-tint-soft) 78%, var(--ui-tint) 22%);
}
.pulse-admin-shell .btn.ui-btn--danger {
  background: transparent;
  color: var(--ui-red-ink);
}
.pulse-admin-shell .btn.ui-btn--danger:hover:not(:disabled) {
  background: var(--ui-red-soft);
}
.pulse-admin-shell .btn.ui-btn:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .btn.ui-btn:disabled {
  opacity: 0.5;
}
@media (max-width: 640px) {
  /* Am Handy bleiben auch kleine Knöpfe 44 px hoch (Tippfläche) */
  .pulse-admin-shell .btn.ui-btn--s {
    min-height: var(--ui-control);
    min-width: var(--ui-control);
  }
}

/* ---- Seitenleiste „Frage bearbeiten“: Rahmen, Kopf, Fuß ---- */
.pulse-admin-shell .slide-panel {
  background: var(--ui-ground);
  border-left: 1px solid var(--ui-separator);
}
.pulse-admin-shell .slide-panel__head {
  gap: var(--ui-space-2);
  padding: var(--ui-space-3) var(--ui-space-4);
  background: var(--ui-bar);
  -webkit-backdrop-filter: var(--ui-blur);
  backdrop-filter: var(--ui-blur);
  border-bottom: 1px solid var(--ui-separator);
}
.pulse-admin-shell .slide-panel__title {
  font: 700 20px/1.25 var(--ui-font);
  letter-spacing: var(--ui-tracking-title);
  color: var(--ui-label);
}
.pulse-admin-shell .slide-panel__body {
  padding: var(--ui-space-4);
}
.pulse-admin-shell .slide-panel__foot {
  padding-top: var(--ui-space-3);
  background: var(--ui-bar);
  -webkit-backdrop-filter: var(--ui-blur);
  backdrop-filter: var(--ui-blur);
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .slide-panel__error {
  font: var(--ui-footnote);
  color: var(--ui-red-ink);
}
/* Statuszeile (Sofort speichern): die Klassen wechseln mit dem Zustand (autoField.js setzt className neu), darum über die Rolle */
.pulse-admin-shell .slide-panel__bar > [role="status"] {
  flex: 1 1 auto;
  min-width: 0;
  gap: var(--ui-space-2);
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .slide-panel__bar > [role="status"].auto-status--saved {
  color: var(--ui-green-ink);
}
.pulse-admin-shell .slide-panel__bar > [role="status"].auto-status--failed,
.pulse-admin-shell .slide-panel__bar > [role="status"].ui-status--failed {
  color: var(--ui-red-ink);
  font-weight: 600;
}
.pulse-admin-shell .slide-panel__bar .auto-status__retry,
.pulse-admin-shell .slide-panel__bar .auto-status__action {
  flex-shrink: 0;
}
/* „Weitere Optionen“-Menü im Kopf (⋯): eine kleine Fläche wie ein Popover */
.pulse-admin-shell .slide-panel .slide-row-more__panel {
  border: 0;
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-pop);
}
.pulse-admin-shell .slide-panel .slide-row-more__panel .btn.ui-btn {
  justify-content: flex-start;
  width: 100%;
}
.pulse-admin-shell .slide-panel .slide-row-more__danger {
  margin-top: 0;
  border-top: 0;
}
@media (max-width: 1099.98px) {
  /* Vollbild am Handy: großer Titel (Regel 7) */
  .pulse-admin-shell .slide-panel__title {
    font: var(--ui-title-1);
    letter-spacing: var(--ui-tracking-title);
  }
}

/* ---- Bereiche der Leiste als gruppierte Listen ---- */
.pulse-admin-shell .spb {
  gap: var(--ui-space-5);
}
.pulse-admin-shell .spb-section,
.pulse-admin-shell .spb-preview {
  border: 0;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
}
.pulse-admin-shell .spb .ui-group {
  overflow: visible; /* Fokusringe und Farbfenster nicht abschneiden */
}
/* „Frage und Antworten“: Titel über der Gruppe (Gruppentitel), die Gruppe ist der Körper */
.pulse-admin-shell .spb-section--main {
  background: transparent;
}
.pulse-admin-shell .spb-section__title {
  margin: 0 0 var(--ui-space-2) var(--ui-space-4);
  padding: 0;
  font: var(--ui-caption);
  letter-spacing: 0.02em;
  color: var(--ui-label-2);
}
.pulse-admin-shell .spb-section--main > .spb-section__body {
  gap: 0;
  padding: 0;
}
.pulse-admin-shell .spb-section--main > .spb-section__body > .spb-note {
  padding: var(--ui-space-3) var(--ui-space-4);
}
/* „Mehr“, „Für diese Frage abweichend“, „Vorschau“: Zeile mit Chevron, darunter der Inhalt */
.pulse-admin-shell .spb-section > summary,
.pulse-admin-shell .spb-preview > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--ui-space-3);
  min-height: 52px;
  padding: var(--ui-space-2) var(--ui-space-4);
  border-radius: var(--ui-radius-l);
  list-style: none;
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell .spb-section > summary::-webkit-details-marker,
.pulse-admin-shell .spb-preview > summary::-webkit-details-marker {
  display: none;
}
.pulse-admin-shell .spb-section > summary::after,
.pulse-admin-shell .spb-preview > summary::after {
  content: "";
  flex: none;
  width: 8px;
  height: 8px;
  margin-right: 4px;
  border-right: 2px solid var(--ui-label-3);
  border-bottom: 2px solid var(--ui-label-3);
  transform: rotate(-45deg);
  transition: transform var(--ui-ease);
}
.pulse-admin-shell .spb-section[open] > summary::after,
.pulse-admin-shell .spb-preview[open] > summary::after {
  transform: rotate(45deg);
}
.pulse-admin-shell .spb-section[open] > summary,
.pulse-admin-shell .spb-preview[open] > summary {
  border-bottom: 1px solid var(--ui-separator);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.pulse-admin-shell .spb-section > summary:focus-visible,
.pulse-admin-shell .spb-preview > summary:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .spb details > .spb-section__body,
.pulse-admin-shell .spb-preview__host {
  gap: var(--ui-space-4);
  padding: var(--ui-space-3) var(--ui-space-4) var(--ui-space-4);
}
.pulse-admin-shell .spb-note {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
/* Felder in den Abschnitten: Beschriftung klein darüber, Feld mit Rand (stehen nicht in einer Zeile) */
.pulse-admin-shell .spb details .field > span,
.pulse-admin-shell .spb details .field-label,
.pulse-admin-shell .spb details legend {
  font: 600 13px/1.3 var(--ui-font);
  color: var(--ui-label-2);
}
.pulse-admin-shell .spb details :is(input:not([type="checkbox"], [type="radio"], [type="range"], [type="color"], [type="file"], [type="hidden"], [type="button"], [type="submit"]), select, textarea) {
  box-sizing: border-box;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--ui-label-3);
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  color: var(--ui-label);
  font: var(--ui-callout);
}
.pulse-admin-shell .spb details :is(input, select, textarea):focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .spb details .field-hint {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .spb details .muted {
  color: var(--ui-label-2);
}
.pulse-admin-shell .spb details fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

/* Häkchen in den Abschnitten: Schalter in einer Zeile, Text links, Schalter rechts */
.pulse-admin-shell .spb .check.ui-cell {
  flex-direction: row-reverse;
  justify-content: space-between;
  gap: var(--ui-space-4);
  min-height: 52px;
  margin: 0 calc(-1 * var(--ui-space-4));
  padding: var(--ui-space-2) var(--ui-space-4);
  border-top: 0;
  font: var(--ui-body);
  color: var(--ui-label);
  cursor: pointer;
}
.pulse-admin-shell .spb .check.ui-cell > input.ui-switch {
  margin: 0;
}
.pulse-admin-shell .spb .check.ui-cell + .check.ui-cell {
  margin-left: calc(-1 * var(--ui-space-4));
  padding-left: var(--ui-space-4);
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .spb .check.ui-cell small {
  display: block;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
/* Zwei Möglichkeiten mit Erklärung (Ergebnisse live oder nach der Auflösung): Auswahlzeilen mit Häkchen statt Radio-Punkt */
.pulse-admin-shell .spb .result-visibility-choice {
  max-inline-size: none;
  min-height: 52px;
  margin: 0;
  padding: var(--ui-space-3) var(--ui-space-4);
  margin-inline: calc(-1 * var(--ui-space-4));
  inline-size: auto;
  border-top: 1px solid var(--ui-separator);
  font: var(--ui-body);
  color: var(--ui-label);
}
.pulse-admin-shell .spb .result-visibility-choice input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  order: 2;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.pulse-admin-shell .spb .result-visibility-choice {
  grid-template-columns: minmax(0, 1fr) auto;
}
.pulse-admin-shell .spb .result-visibility-choice .result-visibility-control__copy {
  order: 1;
}
.pulse-admin-shell .spb .result-visibility-choice input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border-right: 3px solid var(--ui-tint-ink);
  border-bottom: 3px solid var(--ui-tint-ink);
  transform: rotate(40deg);
}
.pulse-admin-shell .spb .result-visibility-choice input[type="radio"]:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .spb .result-visibility-choice small {
  color: var(--ui-label-2);
  font: var(--ui-footnote);
}
.pulse-admin-shell .spb-colors__row {
  min-height: 44px;
}

/* ---- Assistent: gemeinsame Bausteine (Seitenleiste und „Neue Session“) ---- */
.pulse-admin-shell .qc h2 {
  font: var(--ui-title-2);
  letter-spacing: var(--ui-tracking-title);
  color: var(--ui-label);
}
.pulse-admin-shell .qc-lead,
.pulse-admin-shell .qc-hint {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qc-lead {
  font: var(--ui-subhead);
}
.pulse-admin-shell .qc-added {
  font: var(--ui-subhead);
  color: var(--ui-green-ink);
}
.pulse-admin-shell .qc-error {
  font: 600 13px/1.35 var(--ui-font);
  color: var(--ui-red-ink);
}
.pulse-admin-shell .qc-input[aria-invalid="true"] {
  border-color: var(--ui-red-ink);
}
.pulse-admin-shell .qc-field > span,
.pulse-admin-shell .qc-field > legend {
  font: 600 13px/1.3 var(--ui-font);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qc-input {
  box-sizing: border-box;
  min-height: 44px;
  padding: 8px 12px;
  border: 1px solid var(--ui-label-3);
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  color: var(--ui-label);
  font: var(--ui-body);
}
.pulse-admin-shell .qc-input::placeholder {
  color: var(--ui-label-3);
}
.pulse-admin-shell .qc-input:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
  box-shadow: none;
}
/* „Art der Frage“ und „Antworten als“: Chips (mehr als drei Möglichkeiten, am Handy wischbar) */
.pulse-admin-shell .qc-chips legend {
  font: 600 13px/1.3 var(--ui-font);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qc-chip {
  border: 1px solid transparent;
  background: var(--ui-fill);
  color: var(--ui-label);
  /* Schriftgröße und -stärke wie bisher: die Chip-Breite bestimmt, ob der gewählte Chip in der wischbaren Reihe sichtbar bleibt (Etappe 5) */
  font-family: var(--ui-font);
}
.pulse-admin-shell .qc-chip:hover {
  border-color: var(--ui-label-3);
}
.pulse-admin-shell .qc-chip:has(input:focus-visible) {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .qc-chip:has(input:checked) {
  border-color: var(--btn-primary-bg, var(--ui-tint));
  background: var(--btn-primary-bg, var(--ui-tint));
  color: var(--btn-primary-ink, var(--ui-on-tint));
  font-weight: 700;
}
.pulse-admin-shell .qc-chip.is-pending:has(input:checked) {
  background: var(--ui-tint-soft);
  color: var(--ui-label);
  border-style: dashed;
  border-color: var(--ui-tint-ink);
}
.pulse-admin-shell .qc-chip.is-current {
  border-width: 2px;
  border-color: var(--ui-tint-ink);
}
/* Verlust-Satz („Die Antworten gehen verloren …“): warnende Fläche mit Wahl */
.pulse-admin-shell .qc-lost {
  border-left: 0;
  border-radius: var(--ui-radius-m);
  background: var(--ui-amber-soft);
  color: var(--ui-label);
  font: var(--ui-subhead);
}
.pulse-admin-shell .qc-offer p {
  font: var(--ui-subhead);
}
.pulse-admin-shell .qc-more {
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .qc-more > summary {
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell .qc-more > summary:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
}
.pulse-admin-shell .qc-round {
  border: 0;
  border-radius: var(--ui-radius-m);
  background: var(--ui-ground);
}
.pulse-admin-shell .qc-photo__thumb {
  border: 1px solid var(--ui-separator);
}
/* Schalter im Assistenten („Richtig“, „macht ein Quiz daraus“) */
.pulse-admin-shell .qc-correct,
.pulse-admin-shell .qc-check {
  gap: var(--ui-space-2);
  font: var(--ui-footnote);
  color: var(--ui-label);
}
.pulse-admin-shell .qc-check {
  font: var(--ui-subhead);
}
.pulse-admin-shell .qc-correct > input.ui-switch,
.pulse-admin-shell .qc-check > input.ui-switch {
  margin: 0;
}

/* ---- Seitenleiste: Assistent als Liste (Zeilen mit Trennlinie in der Gruppe) ---- */
.pulse-admin-shell .spb .qc--edit {
  gap: 0;
}
.pulse-admin-shell .spb .qc--edit > * {
  margin: 0;
  padding: var(--ui-space-3) var(--ui-space-4);
}
/* Trennlinie als innerer Schatten: die Legende eines Fieldsets würde eine Rahmenlinie unterbrechen */
.pulse-admin-shell .spb .qc--edit > * + * {
  box-shadow: inset 0 1px 0 var(--ui-separator);
}
.pulse-admin-shell .spb .qc--edit > .qc-error {
  padding-block: var(--ui-space-2);
  box-shadow: none;
}
.pulse-admin-shell .spb .qc--edit > .qc-error:empty,
.pulse-admin-shell .spb .qc--edit > .qc-hint:empty {
  display: none;
}
/* Felder in der Zeile: ohne eigenen Rahmen, die Zeile trägt das Feld */
.pulse-admin-shell .spb .qc--edit .qc-input {
  min-height: 0;
  padding: 2px 0;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: transparent;
}
.pulse-admin-shell .spb .qc--edit textarea.qc-input {
  resize: vertical;
  line-height: 1.35;
}
.pulse-admin-shell .spb .qc--edit .qc-input[aria-invalid="true"] {
  box-shadow: 0 2px 0 0 var(--ui-red-ink);
}
.pulse-admin-shell .spb .qc--edit .qc-switch {
  gap: var(--ui-space-3);
}
/* Antwortliste: jede Antwort eine Zeile mit Schalter „Richtig“, Text und Entfernen */
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field {
  padding: 0;
}
/* Die Legende sitzt auf der Oberkante des Fieldsets: Abstand nach oben über ihren eigenen Innenabstand, sonst läuft die Trennlinie durch den Text */
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field > legend {
  padding-top: var(--ui-space-3);
}
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field > legend,
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field > .qc-hint,
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field > .qc-error {
  padding-inline: var(--ui-space-4);
  float: none;
}
.pulse-admin-shell .spb .qc--edit .qc-options {
  gap: 0;
  margin: var(--ui-space-2) 0 0;
}
.pulse-admin-shell .spb .qc--edit .qc-options li {
  min-height: 52px;
  padding: var(--ui-space-1) var(--ui-space-4);
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .spb .qc--edit > fieldset.qc-field > .btn {
  margin: var(--ui-space-2) var(--ui-space-4) var(--ui-space-3);
}
.pulse-admin-shell .spb .qc--edit > label.qc-check {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  min-height: 52px;
  align-items: center;
}

/* ---- Assistent als Seite („Neue Session“): Fläche, Karten, Vorlagen ---- */
.pulse-admin-shell .session-wizard.new-session {
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  gap: var(--ui-space-6);
}
.pulse-admin-shell .new-session__name {
  gap: 2px;
  padding: var(--ui-space-3) var(--ui-space-4);
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
}
.pulse-admin-shell .new-session__name-label {
  font: 600 13px/1.3 var(--ui-font);
  color: var(--ui-label-2);
}
.pulse-admin-shell .new-session__name-input {
  margin-left: 0;
  padding: 2px 0;
  border: 0;
  border-radius: var(--ui-radius-s);
  background: transparent;
  color: var(--ui-label);
  font: var(--ui-title-2);
  letter-spacing: var(--ui-tracking-title);
}
.pulse-admin-shell .new-session__name-input:hover {
  border-color: transparent;
}
.pulse-admin-shell .new-session__name-input:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
  background: transparent;
}
/* Die Frage eintippen: eine Zeile mit Beschriftung darüber */
.pulse-admin-shell .qc--pick .qc-ask {
  gap: 2px;
  padding: var(--ui-space-3) var(--ui-space-4);
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
}
.pulse-admin-shell .qc--pick .qc-ask .qc-input {
  min-height: 0;
  padding: 2px 0;
  border: 0;
  background: transparent;
}
/* Fragenliste im Assistenten: gruppierte Liste */
.pulse-admin-shell .qc-list ol {
  padding: 0;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
  overflow: hidden;
}
.pulse-admin-shell .qc-list li {
  padding: var(--ui-space-2) var(--ui-space-4);
}
.pulse-admin-shell .qc-list li + li {
  border-top: 1px solid var(--ui-separator);
}
.pulse-admin-shell .qc-list h3 {
  font: var(--ui-caption);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qc-list__type {
  font: var(--ui-caption);
  color: var(--ui-label-2);
}
/* Familienkarten und Vorlagenkarten: Fläche, Radius 16, flach; Rahmen erst bei Auswahl und Fokus */
.pulse-admin-shell .qc-card,
.pulse-admin-shell .tg-card {
  border-color: transparent;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
  color: var(--ui-label);
}
.pulse-admin-shell .qc-card:hover,
.pulse-admin-shell .qc-card:focus-visible,
.pulse-admin-shell label.tg-card:hover {
  border-color: var(--ui-tint-ink);
  box-shadow: var(--ui-shadow-card);
}
.pulse-admin-shell .qc-card:has(.qc-card__radio:focus-visible),
.pulse-admin-shell label.tg-card:focus-within {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .qc-card:has(.qc-card__radio:checked),
.pulse-admin-shell .tg-card.is-selected {
  border-color: var(--ui-tint-ink);
  background: var(--ui-tint-soft);
}
.pulse-admin-shell .qc-card.is-suggested {
  border-color: var(--ui-tint-ink);
}
.pulse-admin-shell .qc-card.is-advancing,
.pulse-admin-shell .tg-card.is-advancing {
  border-color: var(--ui-tint-ink);
  background: var(--ui-tint-soft);
  box-shadow: none;
}
.pulse-admin-shell .qc-card__badge {
  background: var(--ui-tint-soft);
  color: var(--ui-tint-ink);
}
.pulse-admin-shell .qc-card__title,
.pulse-admin-shell .tg-card__title {
  font: var(--ui-headline);
  color: var(--ui-label);
}
.pulse-admin-shell .qc-card__desc,
.pulse-admin-shell .tg-card__desc,
.pulse-admin-shell .tg-card__more {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .qc-card__example,
.pulse-admin-shell .tg-card__preview {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .tg-rubric__title {
  font: var(--ui-caption);
  letter-spacing: 0.02em;
  color: var(--ui-label-2);
}
.pulse-admin-shell .tg-hint {
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
.pulse-admin-shell .new-session__templates {
  border-top: 0;
  padding-top: var(--ui-space-2);
}
.pulse-admin-shell .new-session__templates-title {
  font: var(--ui-title-2);
  letter-spacing: var(--ui-tracking-title);
  color: var(--ui-label);
}
/* Spiele-Karten: Auswahl in der Karte */
.pulse-admin-shell .tg-game__group legend,
.pulse-admin-shell .tg-game .mpq-field__label {
  font: 600 13px/1.3 var(--ui-font);
  color: var(--ui-label-2);
}
.pulse-admin-shell .tg-choice {
  font: var(--ui-subhead);
  color: var(--ui-label);
}
.pulse-admin-shell .tg-game .mpq-mix__opt {
  border: 1px solid var(--ui-label-3);
  border-radius: var(--ui-radius-m);
  background: var(--ui-surface);
  color: var(--ui-label);
}
.pulse-admin-shell .tg-game .mpq-mix__opt span {
  color: var(--ui-label-2);
}
.pulse-admin-shell .tg-game .mpq-mix__opt[aria-checked="true"] {
  border-color: var(--ui-tint-ink);
  box-shadow: inset 0 0 0 1px var(--ui-tint-ink);
  background: var(--ui-tint-soft);
}
.pulse-admin-shell .tg-game .mpq-stepper__btn {
  border: 1px solid var(--ui-label-3);
  color: var(--ui-label);
}
.pulse-admin-shell .tg-game .mpq-stepper__btn:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
/* Fertig-Seite: flache Fläche statt Karte mit Schatten und Verlauf */
.pulse-admin-shell .session-wizard.pulse-empty-state {
  border: 0;
  border-radius: var(--ui-radius-l);
  background: var(--ui-surface);
  box-shadow: var(--ui-shadow-card);
}

/* Zeilen der Aktionen: Knöpfe in natürlicher Breite, keine Trennlinie über der Leiste */
.pulse-admin-shell .qc-actions > .btn.ui-btn,
.pulse-admin-shell .qc-pool > .btn.ui-btn {
  flex: 0 0 auto;
  width: auto;
}
.pulse-admin-shell .session-wizard__footer {
  padding-top: 0;
  border-top: 0;
}
.pulse-admin-shell .spb .slide-edit-ix > p.muted,
.pulse-admin-shell .spb .slide-editor-flow-hint {
  margin: 0;
  font: var(--ui-footnote);
  color: var(--ui-label-2);
}
/* Vorschau: Teilnehmer/innen oder Leinwand als Segment */
.pulse-admin-shell .slide-preview-panel__tabs {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: var(--ui-radius-s);
  background: var(--ui-fill);
}
.pulse-admin-shell .slide-preview-tab {
  min-height: 30px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ui-label);
  font: var(--ui-subhead);
}
.pulse-admin-shell .slide-preview-tab.is-active {
  background: var(--ui-surface);
  color: var(--ui-label);
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}
[data-theme="dark"] .pulse-admin-shell .slide-preview-tab.is-active {
  background: var(--ui-surface-2);
}
.pulse-admin-shell .slide-preview-tab:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}
.pulse-admin-shell .slide-preview-frame {
  border: 1px dashed var(--ui-separator-strong);
  border-radius: var(--ui-radius-m);
  background: var(--ui-ground);
}

/* Zwei Möglichkeiten mit Erklärung im Assistenten (Median oder Durchschnitt, Antwort-Art): Auswahlzeilen mit Häkchen statt Radio-Punkt */
.pulse-admin-shell .qc-radios {
  gap: 0;
}
.pulse-admin-shell .qc-radios > legend {
  margin-bottom: var(--ui-space-1);
}
.pulse-admin-shell .qc-radio {
  flex: 1 1 100%;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  gap: var(--ui-space-4);
  min-height: 48px;
  padding: var(--ui-space-2) 0;
  border-top: 1px solid var(--ui-separator);
  font: var(--ui-subhead);
  color: var(--ui-label);
  cursor: pointer;
}
.pulse-admin-shell .qc-radio input[type="radio"] {
  -webkit-appearance: none;
  appearance: none;
  position: relative;
  flex: none;
  width: 22px;
  height: 22px;
  min-width: 22px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  box-shadow: none;
}
.pulse-admin-shell .qc-radio input[type="radio"]:checked::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 2px;
  width: 6px;
  height: 12px;
  border-right: 3px solid var(--ui-tint-ink);
  border-bottom: 3px solid var(--ui-tint-ink);
  transform: rotate(40deg);
}
.pulse-admin-shell .qc-radio input[type="radio"]:focus-visible {
  outline: 3px solid var(--focus, #0052cc);
  outline-offset: 2px;
}


/* Fragetyp „Wo liegt?“: Ort per Zufall oder gezielt (Suchfeld mit Vorschlägen), Stufen, Quizmodus. */
.qc-geo-search { position: relative; }
.qc-geo-list {
  display: grid;
  gap: 2px;
  max-height: 260px;
  margin: 0;
  padding: 4px;
  overflow: auto;
  list-style: none;
  border: 1px solid var(--ui-separator-strong, #c7c7cc);
  border-radius: 10px;
  background: var(--ui-surface, #fff);
  box-shadow: 0 6px 18px rgb(0 0 0 / 0.12);
}
.qc-geo-list[hidden] { display: none; }
.qc-geo-opt {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  padding: 6px 8px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.qc-geo-opt svg { flex: none; width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.qc-geo-opt:hover,
.qc-geo-opt:focus-visible { background: color-mix(in srgb, currentColor 8%, transparent); }
.qc-geo-opt:focus-visible { outline: 3px solid var(--focus, #0052cc); outline-offset: -3px; }
.qc-geo-opt__text { display: grid; min-width: 0; }
.qc-geo-opt__name { font-weight: 600; }
.qc-geo-opt__sub { font-size: 0.85em; opacity: 0.75; }
.qc-geo-chosen {
  margin: 0.25rem 0 0;
  padding: 0.45rem 0.7rem;
  border-radius: 10px;
  border: 1px solid var(--ui-tint, #1a73e8);
  background: color-mix(in srgb, var(--ui-tint, #1a73e8) 10%, transparent);
}
.qc-geo-levels__opts { display: grid; gap: 0.25rem; }
.qc-geo-level { display: flex; align-items: center; gap: 0.5rem; min-height: 36px; }
.qc-geo-levels:disabled { opacity: 0.6; }
