/* KI-Designer V5 — nutzt ausschließlich die Tokens aus tokens.css */

.ki5-badge {
  display: inline-block; padding: .05rem .45rem; border-radius: var(--r-pill);
  background: var(--gold-20); color: var(--gold-dark); font-size: .75em;
}

.ki5-stepper {
  display: flex; flex-wrap: wrap; gap: .4rem; list-style: none; padding: 0;
  margin: 1rem 0 1.2rem; counter-reset: ki5;
}
.ki5-stepper li {
  counter-increment: ki5; padding: .45rem .9rem; border-radius: var(--r-pill);
  border: 1px solid var(--line-mid); color: var(--ink-soft); font-size: .9rem;
}
.ki5-stepper li::before { content: counter(ki5) " · "; opacity: .6; }
.ki5-stepper li.fertig { border-color: var(--gold-soft); color: var(--gold-dark); }
.ki5-stepper li.aktiv {
  background: var(--ink); color: var(--paper); border-color: var(--ink);
}

.ki5-kosten, .ki5-status { max-width: 760px; margin-bottom: 1.2rem; }
.ki5-kosten ul { margin: .4rem 0 .8rem; padding-left: 1.1rem; }
.ki5-status-kopf { display: flex; justify-content: space-between; gap: 1rem;
  flex-wrap: wrap; margin-bottom: .6rem; }
.ki5-status ol { font-size: .85rem; color: var(--ink-soft); max-height: 14rem;
  overflow: auto; }

.ki5-refs { list-style: none; padding: 0; display: grid; gap: .4rem; }
.ki5-refs li { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }

.ki5-lauf { text-align: left; display: grid; gap: .3rem; cursor: pointer;
  border: 1px solid var(--line); }
.ki5-lauf:hover { border-color: var(--gold); }

.ki5-grid {
  display: grid; gap: 1rem;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
}
.ki5-variante { display: grid; gap: .5rem; align-content: start; }
.ki5-variante.gewaehlt { border: 2px solid var(--gold); }
/* fertiges Design: neue Richtung erst mit der bestätigten Produktion */
.ki5-variante.vorgemerkt { border: 2px dashed var(--gold); }
#ki5-kosten-posten details summary { cursor: pointer; }
#ki5-kosten-posten details ul { margin: .3rem 0 .3rem 1rem; }
.ki5-variante img, .ki5-platzhalter {
  width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--r-m);
  background: var(--surface-warm); cursor: zoom-in;
}
.ki5-platzhalter { display: grid; place-items: center; color: var(--ink-soft);
  font-size: .9rem; cursor: default; padding: 1rem; text-align: center; }
.ki5-variante h3 { margin: .2rem 0 0; }
.ki5-motive { font-size: .9rem; margin: 0; }
.ki5-swatches { display: flex; gap: .3rem; }
.ki5-swatch { width: 1.4rem; height: 1.4rem; border-radius: 50%;
  border: 1px solid var(--line-mid); }
.ki5-anpassen { display: grid; gap: .5rem; border-top: 1px solid var(--line);
  padding-top: .6rem; }

.ki5-tabs { display: flex; gap: .3rem; border-bottom: 1px solid var(--line);
  margin: .5rem 0 1rem; flex-wrap: wrap; }
.ki5-tabs [role=tab] {
  background: none; border: 0; padding: .6rem 1rem; cursor: pointer;
  border-bottom: 2px solid transparent; color: var(--ink-soft); font: inherit;
}
.ki5-tabs [role=tab][aria-selected=true] { color: var(--ink);
  border-bottom-color: var(--gold); }

.ki5-vorschau {
  display: grid; gap: 1rem; margin: 1rem 0;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 380px), 1fr));
}
.ki5-fig { margin: 0; display: grid; gap: .35rem; }
.ki5-fig img, .ki5-fig video { width: 100%; border-radius: var(--r-m);
  box-shadow: var(--shadow-card); background: var(--surface-warm); }
.ki5-fig img { cursor: zoom-in; }
/* Magic Mirror hochkant: nicht doppelt so hoch wie die Querformat-Kacheln */
.ki5-fig img[alt^="Magic Mirror"] { max-height: 560px; width: auto; max-width: 100%; justify-self: center; }
.ki5-fig figcaption { font-size: .85rem; color: var(--ink-soft); }

.ki5-kit .ki5-asset { display: grid; gap: .4rem; margin: 0; }
.ki5-asset img {
  width: 100%; aspect-ratio: 1; object-fit: contain; border-radius: var(--r-m);
  cursor: zoom-in;
  /* Schachbrett zeigt Transparenz und Kanten */
  background: repeating-conic-gradient(#e9e4da 0 25%, #f7f4ee 0 50%) 50% / 24px 24px;
}

.ki5-ebenen { display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  align-items: start; margin: .8rem 0; }
@media (max-width: 980px) { .ki5-ebenen { grid-template-columns: 1fr; } }
.ki5-buehne canvas { width: 100%; height: auto; border-radius: var(--r-m);
  box-shadow: var(--shadow-card); touch-action: none; cursor: grab;
  background: var(--surface-warm); }
.ki5-buehne canvas:active { cursor: grabbing; }
#ki5-ebenen-liste { display: grid; gap: .6rem; max-height: 70vh; overflow: auto; }
.ki5-ebene { border: 1px solid var(--line); border-radius: var(--r-m);
  padding: .5rem .7rem; display: grid; gap: .3rem; font-size: .88rem; }
.ki5-ebene.aktiv { border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-20); }
.ki5-ebene legend { display: flex; gap: .5rem; align-items: baseline; }
.linklike { background: none; border: 0; padding: 0; color: var(--ink);
  font: inherit; font-weight: 600; text-decoration: underline; cursor: pointer; }

.ki5-note { font-size: 1.05rem; }
.ki5-note strong { font-size: 1.4rem; color: var(--gold-dark); margin-right: .4rem; }
#ki5-uebernahme { margin-top: 1.4rem; max-width: 760px; }

/* Logos */
.ki5-logos { margin: .4rem 0 1.4rem; }
.ki5-logo img { background: repeating-conic-gradient(#e9e4da 0 25%, #f7f4ee 0 50%) 50% / 24px 24px; }
.ki5-logo-upload { display: grid; gap: .3rem; margin-top: .8rem; max-width: 520px; }
/* helle Logo-Version auf dunklem Karo, damit weiße Schrift sichtbar ist */
.ki5-logo img.ki5-logo-hell { background: repeating-conic-gradient(#1f2733 0 25%, #2b3441 0 50%) 50% / 24px 24px;
  max-height: 90px; object-fit: contain; }
.ki5-logo-negativ { display: grid; gap: .3rem; margin: .5rem 0; }
.ki5-asset.verworfen { opacity: .55; }
/* Bild der Produktion nicht erzeugt: Platzhalter statt kaputtem Bild */
.ki5-fehlt { aspect-ratio: 1; display: grid; place-items: center; padding: 1rem;
  border-radius: var(--r-m); border: 1px dashed var(--line-strong);
  background: var(--surface-warm); color: var(--ink-soft); font-size: .9rem; text-align: center; }
.ki5-asset.verworfen:has(.ki5-fehlt) { opacity: 1; }
.ki5-asset .vorlage-actions { flex-wrap: wrap; }

/* Logo-Siegel: gemalter Rahmen + Original-Logo */
.ki5-siegel { margin-bottom: 1rem; border-left: 4px solid var(--gold);
  display: grid; grid-template-columns: minmax(0, 170px) 1fr; gap: 1rem;
  align-items: center; }
.ki5-siegel > :only-child { grid-column: 1 / -1; }
.ki5-siegel img { width: 100%; aspect-ratio: 1; object-fit: contain;
  border-radius: var(--r-m); cursor: zoom-in;
  background: repeating-conic-gradient(#e9e4da 0 25%, #f7f4ee 0 50%) 50% / 24px 24px; }
.ki5-siegel.ok { border-left-color: var(--ok); }
.ki5-siegel.eng { border-left-color: var(--error); background: var(--error-soft); }
.ki5-siegel.aus { border-left-color: var(--line-strong); }
@media (max-width: 560px) { .ki5-siegel { grid-template-columns: 1fr; } }

/* Masken-Dialog */
.ki5-maske { width: min(96vw, 980px); border: 0; border-radius: var(--r-l);
  padding: 1.1rem 1.2rem; box-shadow: var(--shadow-pop); }
.ki5-maske::backdrop { background: rgba(17, 17, 17, .55); }
.ki5-maske-kopf { display: flex; justify-content: space-between; align-items: center;
  gap: 1rem; margin-bottom: .3rem; }
/* Bühne schrumpft auf die Bildgröße: Anweisung und Knöpfe bleiben sichtbar */
.ki5-maske-buehne { position: relative; width: fit-content; max-width: 100%;
  margin: .6rem auto;
  background: repeating-conic-gradient(#e9e4da 0 25%, #f7f4ee 0 50%) 50% / 24px 24px;
  border-radius: var(--r-m); overflow: hidden; }
.ki5-maske-buehne canvas { display: block; width: auto; height: auto;
  max-width: 100%; max-height: min(60vh, 720px); }
#ki5-maske-malen { position: absolute; inset: 0; width: 100%; height: 100%;
  max-height: none; cursor: crosshair; touch-action: none; }
.ki5-maske-werkzeug { align-items: center; gap: 1rem; flex-wrap: wrap; }
.ki5-maske textarea { width: 100%; }
/* Hinweise aus der Nachbearbeitung (Fenster verschoben, Zone unruhig) */
.ki5-hinweise { border-left: 3px solid var(--accent, #b0843c); padding: .4rem .8rem; margin: .6rem 0 1rem; }
.ki5-hinweise ul { margin: .3rem 0 0; padding-left: 1.1rem; display: grid; gap: .35rem; }
.ki5-hinweise li .btn { margin-left: .5rem; }
.ki5-welcome-leer { display: grid; gap: .6rem; align-content: center; justify-items: start; padding: 1rem; }

/* Paket 4: Eventtexte & Schriften */
.ki5-texte { display: grid; gap: 1rem; margin-top: 1rem; }
.ki5-event .row, .ki5-schriften .row, .ki5-effekt .row { flex-wrap: wrap; }
.ki5-effekt { margin: 0.5rem 0; }
.ki5-countdown-inhalt { display: flex; gap: 1rem; align-items: flex-start; flex-wrap: wrap; }
.ki5-countdown-inhalt img { width: 220px; max-width: 100%; border-radius: 10px; cursor: zoom-in; }
.ki5-video .ki5-countdown-inhalt img { width: 330px; }
.ki5-countdown-inhalt > div { flex: 1 1 260px; }
.ki5-countdown .demo-toggle { align-items: flex-start; margin: 0.35rem 0; }
.ki5-effekt summary { cursor: pointer; font-weight: 600; }
.ki5-effekt input[type=color] { width: 2.4rem; height: 1.7rem; padding: 2px; border-radius: 6px;
  vertical-align: middle; cursor: pointer; }
.ki5-event input { min-width: 12rem; }
.ki5-begruendung { font-style: italic; }
#ki5-event-richtungen:empty { display: none; }
#ki5-event-richtungen { margin-bottom: 1rem; }
