/* 🪤 04.09.2026 Stempel-Heilung nach einem abgebrochenen Deploy -- die Begruendung steht in css/components/fenster.css. */
/* Review-Reiter „Regionen" (WikiSync natuerliche Landschaften). Schlanke Optik,
   lehnt sich an die uebrigen Review-Panel-/WikiSync-Stile an. */

/* Sub-tab look is unified in review-panel.css (.region-sync__viewtab); only the
   row's outer spacing is context-specific here (nested in the accordion). */
.region-sync__viewtabs {
	margin: 0 0 8px;
}

.region-sync__item {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.region-sync__name {
	font-weight: 600;
	color: var(--color-text-strong);
}

.region-sync__meta {
	font-size: 12px;
	color: var(--color-text-muted);
}

.region-sync__map {
	color: var(--color-map-presence-text);
}

.region-sync__links {
	font-size: 12px;
}

.region-sync__link {
	color: var(--color-accent-brown);
	text-decoration: none;
}

.region-sync__link:hover {
	text-decoration: underline;
}

/* Text-Button in der Weg-Meta-Zeile ("Namen vereinheitlichen") -- teilt sich die Link-Optik
   mit .region-sync__link (Farbe/Hover), strippt nur die Button-Chrome. Kein eigener Farbwert. */
.path-sync__normalize {
	appearance: none;
	-webkit-appearance: none;
	background: none;
	border: 0;
	padding: 0;
	font: inherit;
	cursor: pointer;
}

.region-sync__badge {
	font-size: 12px;
	opacity: 0.8;
}

/* Landschafts-Picker im Label-Editor (Wiki-Region an Label heften).
   ⚠️ KEIN `.avm-rahmen` (css/components/rahmenkasten.css), und das ist gemessen: sein Kopf
   traegt bis zu drei Textknoepfe („Aendern", „Sync", „Entfernen"). Der Rahmenkasten legt seine
   Aufschrift AUF die Linie -- Knoepfe saessen dort auf dem Rahmen. Das hier ist ein Kasten mit
   KOPFLEISTE. Angeglichen sind nur die zwei Werte, die auf keiner Skala des Hauses standen. */
.label-wiki-reference {
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background: var(--color-panel);
	padding: 8px 10px;
}

.label-wiki-reference__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
	flex-wrap: wrap;
}

.label-wiki-reference__title {
	font-weight: var(--font-weight-bold);
	color: var(--color-button-soft-text);
}

.label-wiki-reference__buttons {
	display: flex;
	gap: 4px;
	flex-wrap: wrap;
}

.label-wiki-reference__dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 2px 10px;
	margin: 4px 0;
	font-size: 12px;
}

.label-wiki-reference__dl dt {
	color: var(--color-text-muted);
}

.label-wiki-reference__dl dd {
	margin: 0;
	color: var(--color-text-strong);
}

/* 🔴 HIER STANDEN VIER REGELN DES HANDGESCHRIEBENEN WIKI-KASTENS: `__empty` (oben, vor `__dl`),
   `__image`, das Paar `__imagenote`/`__desc` und die Uebersteuerung
   `#landschaft-dialog .label-wiki-reference__desc` (max-height 116px, eigener Scrollkasten).
   Alle vier gehoerten den sechs Fassungen, die am 16.08.2026 dem geteilten Bauteil gewichen sind
   (js/ui/wiki-assign.js). Der Kasten zeichnet heute Kopf, Feldliste (`__dl`), Link, Haken und
   Hinweis (`__hint`) -- ein Wiki-Bild, seine Bildunterschrift, einen Beschreibungsabsatz und einen
   eigenen Leer-Hinweis gibt es darin nicht mehr.
   💣 Die Uebersteuerung MUSSTE mitgehen, nicht nur die Grundregel: sie haengt an derselben Klasse
   `__desc`, und eine ID-Regel auf eine Klasse ohne Erzeuger ist ebenso wirkungslos -- eine
   stehengebliebene Uebersteuerung liest sich spaeter aber wie ein Beleg, dass es die Klasse noch
   gibt. Vor dem Entfernen gemessen: null Erzeuger im ganzen Baum (js/, api/, html/, index.html,
   edit/, tools/), auch keine zusammengesetzte Klasse (`"…__" + suffix`). */
.label-wiki-reference__link {
	font-size: 12px;
	color: var(--color-accent-brown);
}

.label-wiki-picker-list {
	/* 💣 Die Zahl stand hier UND abgeschrieben in .dt-picker-list (editor-page.css). Sie ist
	   seit 16.08.2026 EIN Token -- ein Kommentar "dieselbe Hoehe" gilt nur, bis jemand eine
	   der beiden aendert. */
	max-height: var(--avm-picker-list-max-h);
	overflow-y: auto;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
	gap: 3px;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-panel);
	padding: 4px;
}

.label-wiki-picker-list__item {
	display: flex;
	flex-direction: column;
	gap: 1px;
	text-align: left;
	padding: 6px 8px;
	border: 1px solid transparent;
	border-radius: 5px;
	background: var(--color-panel);
	cursor: pointer;
}

.label-wiki-picker-list__item:hover,
/* 🔴 Die Tastatur waehlt (↑ ↓), die Maus faehrt darueber -- beides muss dasselbe sagen. Bis zum
   16.08.2026 stand hier NUR `:hover`, und damit war die Tastaturauswahl des Bauteils in dieser
   Huelle unsichtbar: der Pfeil bewegte einen Zeiger, den niemand sehen konnte, und Enter wies
   einen Treffer zu, den der Editor nicht gewaehlt zu haben glaubte. Die Tastatur ist der halbe
   Zweck der Zuweisung (Entwurf §5). Gegenstueck: .dt-picker-list__item.is-active. */
.label-wiki-picker-list__item.is-active {
	border-color: var(--color-border-strong);
	background: var(--color-button-soft-hover);
}

.label-wiki-picker-list__name {
	font-weight: 600;
	color: var(--color-text-strong);
}

.label-wiki-picker-list__meta {
	font-size: 12px;
	color: var(--color-text-muted);
}

.label-wiki-picker-list__empty {
	font-size: 12px;
	color: var(--color-placeholder);
	padding: 6px;
}

/* ---- Wiki-Zuweisung (js/ui/wiki-assign.js, Huelle "label-wiki") ------------------------------
 * Ein Bauteil, ZWEI Huellen (Entwurf §4a, docs/superpowers/specs/2026-08-15-wiki-zuweisung-
 * vereinheitlichung-design.md): .label-wiki-* hier fuer die Kartendialoge, .dt-* in
 * css/components/editor-page.css fuer die Editor-iframes. Massgabe fuer jede Regel unten ist die
 * GLEICHNAMIGE .dt-*-Regel dort -- dieselbe Rolle, dieselben Toene, nur der Name folgt der Huelle.
 *
 * 💣 Diese Namen erzeugt das Bauteil seit dem 16.08.2026, hatten hier aber KEINE Regel: der
 *    Hinweis, das Haekchen des dritten Zustands, die Warnzeile im Treffer und die ganze
 *    Sync-Vorschau waeren unformatiert erschienen. Eine dritte Datei loest das nicht -- sie waere
 *    die dritte Huelle, und zwei sind die Obergrenze.
 *
 * ⚠️ Jede Regel unten ist auf einen Namen eingeengt, den NUR das Bauteil schreibt. Eine erweiterte
 *    Selektorliste haette hier fremde Kartendialoge getroffen (dieselbe Fehlerklasse wie in
 *    legal-dialog.css am 12.08.2026, AGENTS.md §9).
 */

/* 🔴 IM WEG-DIALOG IST DER KOPF DES BAUTEILS DIE ABSCHNITTSUEBERSCHRIFT, und er muss aussehen
   wie die seiner Nachbarn. Der Block „Wiki-Weg" trug bis zum 16.08.2026 ZWEI Ueberschriften: eine
   `.label-edit-section-title` davor und den Kopf des Kastens darunter („Fluss / Straße aus dem
   Wiki"). Die aeussere ist mit dem Umbau entfallen, weil das Bauteil seinen Titel selbst setzt --
   damit rutschte „Wiki-Weg" aber aus der Rangfolge: seine Geschwister „Andere Quelle" und
   „Strömung" stehen als goldene Versalien da, `.label-wiki-reference__title` dagegen in Gewicht 600
   und Textfarbe. Im DUNKELMODUS liest sich das wie Fliesstext (gemessen: #eae1cf gegen #c9a97e).
   ⭐ DIE SECHS TYPOGRAFISCHEN WERTE STEHEN DESHALB NICHT HIER, sondern EINMAL unten in der
   gemeinsamen Regel mit `.label-edit-section-title`. Hier bleibt nur, was NUR dieser Kopf braucht:
   das Zuruecknehmen von `font-weight: 600` aus `.label-wiki-reference__title`. */
#path-edit-dialog .label-wiki-reference__title,
#landschaft-dialog .label-wiki-reference__title {
	font-weight: var(--font-weight-regular);
}

/* Das Suchfeld fuellt seine Rasterzelle -- in der `dl`-Huelle ist die zweite Spalte
   `minmax(0,1fr)`, ein Feld ohne Breite stuende darin inhaltsbreit.
   ⭐ Eingeengt auf `__dl input[type=search]`: die uebrigen Felder dieser Dialoge (Andere Quelle,
   Linktext) stehen in .location-report-form__field, nicht in einer Definitionsliste. */
.label-wiki-reference__dl input[type=search] {
	width: 100%;
}

/* Der Zaehlsatz unter der Trefferliste, der Satz zum dritten Zustand, die Fusszeile der Vorschau.
   Gegenstueck: .dt-hint. */
.label-wiki-reference__hint {
	padding-top: var(--space-2);
	font-size: var(--font-size-caption);
	color: var(--color-text-muted);
}

/* Die SCHREIBZEILE (js/ui/wiki-assign.js, Rolle `schreibZeile`) -- sie steht DAUERHAFT unten im
   Kasten und sagt, wann eine Zuweisung wirkt. Gegenstueck: .dt-schreibzeile
   (css/components/editor-page.css), Wort fuer Wort dieselben Token. */
.label-wiki-reference__schreibzeile {
	padding-top: var(--space-2);
	font-size: var(--font-size-caption);
	color: var(--color-text-muted);
}

/* „Noch nicht gespeichert". Warnton aus den Token, Rahmen nur links (AGENTS.md §12: gruppiert wird
   durch Trenner, nicht durch Kaesten). Gegenstueck: .dt-schreibzeile.is-ungespeichert. */
.label-wiki-reference__schreibzeile.is-ungespeichert {
	margin-top: var(--space-2);
	padding: var(--space-2) var(--space-4);
	border-left: 3px solid var(--color-warning-soft-border);
	border-radius: var(--radius-sm);
	background: var(--color-warning-soft);
	color: var(--color-warning-soft-text);
}

/* 🔴 HIER STANDEN `.label-wiki-reference__check` UND `… input` -- die Huelle des dritten
   Zustands („Kein Wiki-Artikel vorhanden") im Kartendialog. Gefallen am 09.09.2026 mit dem
   Merker `properties.wiki_no_article` (Owner-Entscheid); das Bauteil zeichnet kein Haekchen
   mehr, die Regeln hatten kein Ziel mehr. Gegenstueck war `.avm-wiki-assign .dt-check input`
   in css/components/editor-page.css, im selben Zug gefallen.
   ⚠️ `.dt-check` SELBST bleibt: es traegt auch „Auto-Name" und „Name auf der Karte anzeigen".
   Die dort benannte Luecke (das ALLGEMEINE `.dt-check input` ist browserblau) besteht
   unveraendert weiter -- sie war nie an den Merker gebunden. */

/* 🔴 Ein Treffer sagt IM Treffer, wenn er schon woanders haengt -- vor dem Klick, nicht danach
   (Entwurf §5). Gegenstueck: .dt-picker-list__warn. */
.label-wiki-picker-list__warn {
	font-size: var(--font-size-caption);
	color: var(--color-warning);
}

/* ---- Sync-Vorschau ---------------------------------------------------------------------------
   Dieselbe Formensprache wie die Uebernahme-Vorschau der Massenlaeufe (Entwurf §6): eine Zeile je
   UNTERSCHIED, Haken links, alter Wert durchgestrichen, neuer daneben. Gegenstueck:
   .dt-sync-rows und Geschwister.
   💣 Die Haekchenspalte ist `max-content`, keine abgeschriebene Pixelzahl -- ein Kontrollkaestchen
   ist so breit, wie die Schriftgroesse des Themas es macht. */
.label-wiki-sync-rows {
	margin-top: var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	overflow: hidden;
}

.label-wiki-sync-row {
	display: grid;
	grid-template-columns: max-content var(--avm-field-label-w) minmax(0, 1fr);
	gap: var(--space-4);
	align-items: start;
	padding: var(--space-4) var(--space-8);
	font-size: var(--font-size-body);
	cursor: pointer;
}

.label-wiki-sync-row + .label-wiki-sync-row {
	border-top: 1px solid var(--color-border);
}

.label-wiki-sync-row:hover {
	background: var(--color-hover-wash);
}

.label-wiki-sync-row input {
	margin-top: var(--space-2);
	accent-color: var(--color-accent);
}

.label-wiki-sync-row__k {
	font-weight: var(--font-weight-bold);
	color: var(--color-text-muted);
}

.label-wiki-sync-row__alt {
	color: var(--color-text-muted);
	text-decoration: line-through;
}

.label-wiki-sync-row__pfeil {
	color: var(--color-text-muted);
}

.label-wiki-sync-row__neu {
	color: var(--color-text-strong);
}

/* 🔴 Der Grund steht IN der Zeile, nicht in einer Fussnote: eine ungehakte Zeile ohne Begruendung
   liest sich wie ein Fehler. */
.label-wiki-sync-row__grund {
	display: block;
	font-size: var(--font-size-caption);
	color: var(--color-warning);
}

/* Klickbares Label mit zugeordneter Wiki-Landschaft + Infobox-Popup (Ansichtsmodus). */
.map-label--has-wiki {
	cursor: pointer;
}

.label-wiki-infobox {
	max-width: 300px;
}

.label-wiki-infobox__img {
	max-width: 100%;
	max-height: 150px;
	border-radius: 4px;
	display: block;
	margin-bottom: 6px;
}

.label-wiki-infobox__title {
	font-weight: 700;
	font-size: 15px;
	color: var(--color-text);
	margin-bottom: 4px;
}

.label-wiki-infobox__dl {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 2px 10px;
	margin: 4px 0;
	font-size: 13px;
}

.label-wiki-infobox__dl dt {
	color: var(--color-text-muted);
}

.label-wiki-infobox__dl dd {
	margin: 0;
	color: var(--color-text);
}

.label-wiki-infobox__desc {
	font-size: 13px;
	color: var(--color-text-strong);
	margin: 6px 0 4px;
	line-height: 1.35;
}

.label-wiki-infobox__link {
	font-size: 13px;
	color: var(--color-accent-brown);
}

/* 🔴 HIER STANDEN `.label-wiki-picker` UND SEINE HOEHEN-UEBERSTEUERUNG. Der eigene Inline-Picker
   des Label-Editors ist am 16.08.2026 dem geteilten Bauteil gewichen; beide Klassen hatten danach
   NULL Verwender im ganzen Baum (`.label-wiki-picker-LIST` gibt es weiter -- die gehoert der Huelle).
   ⚠️ UND DAS HAT EINE SICHTBARE FOLGE, die hier benannt sein soll: `max-height: 200px` war eine
   Uebersteuerung. Ohne sie gilt `--avm-picker-list-max-h` (340px) wie im Ort- und im Wege-Dialog --
   die Trefferliste des Label-Dialogs ist also 140 px hoeher als frueher. Bewusst mitgenommen: drei
   Kartendialoge mit derselben Handlung sollen dieselbe Liste zeigen, und genau dafuer gibt es das
   Bauteil. Wer den Deckel zurueckwill, setzt ihn am Token, nicht an einer vierten Regel. */

/* Klickbare (Zoom) bzw. ziehbare (Drag'n'drop) Regionen-Listeneintraege. */
.region-sync__item--clickable {
	cursor: pointer;
}

.region-sync__item--draggable {
	cursor: grab;
}

.region-sync__item--draggable:active {
	cursor: grabbing;
}

/* #6 — „Label bearbeiten" optisch an den Territoriumseditor angeglichen:
   Faculty Glyphic, Abschnitts-Titel, parchment-Inputs/Slider. */
/* 🔴 UMBENANNT AM 25.08.2026: das Fenster heisst seit der Vereinigung `#landschaft-dialog`
   (Flaeche und Beschriftung in einem, drei Reiter). Die Regeln hier sind die EIGENEN Masse
   dieses Fensters -- engere Felder als die geteilten aus location-report-dialog.css.
   🪤 Sie standen nach dem Umzug einen Moment lang auf `#label-edit-dialog` und passten damit
   auf NICHTS: die Felder sprangen von 29 auf 35 px, der Radius von 6 auf 8. Ein Selektor, der
   ins Leere zeigt, ist still -- kein Fehler, keine Warnung, nur ein anderes Aussehen. */
#landschaft-dialog {
	font-family: "Faculty Glyphic", Arial, sans-serif;
	/* Mehr Hoehe als der geteilte Dialog-Default (max-height: min(86vh, 760px)): der 760px-Deckel zwingt
	   den inhaltsreichen Label-Editor (mit Wiki-Landschaft) auf grossen Screens in den Gesamt-Scroll.
	   Mit 94vh passt er i. d. R. ohne Scrollen; nur sehr kleine Viewports scrollen noch. */
	max-height: 94vh;
}

/* 🔴 DIE SECHS WERTE EINER ABSCHNITTSUEBERSCHRIFT STEHEN GENAU HIER, EINMAL.
   Der zweite Selektor ist der Kopf der Wiki-Zuweisung im Weg-Dialog: seit Aufgabe 4 IST er die
   Ueberschrift seines Abschnitts (die aeussere `.label-edit-section-title` ist entfallen, weil das
   Bauteil seinen Titel selbst setzt), also muss er aussehen wie seine Nachbarn „Andere Quelle" und
   „Strömung". Bis zum 16.08.2026 stand er als Abschrift daneben -- genau die Stelle, an der zwei
   Regeln auseinanderlaufen.
   ⚠️ Der Zusatz ist auf `#path-edit-dialog` eingeengt (1,1,0): dieselbe Klasse traegt in anderen
   Fenstern (Landschaften-Eigenschaften, Siedlungs-Dialog) den Kopf eines Kastens NEBEN eigenen
   Ueberschriften -- dort waeren Versalien in Gold falsch.
   💣 Der KASTEN-Teil (margin/padding/border-top) bleibt unten allein bei
   `.label-edit-section-title`: er gehoert einer alleinstehenden Ueberschrift. Der Titel im Bauteil
   ist ein Flex-Kind neben den Knoepfen und bekaeme sonst eine Linie mitten in den Kasten. */
.label-edit-section-title,
#path-edit-dialog .label-wiki-reference__title,
#landschaft-dialog .label-wiki-reference__title {
	font-family: var(--font-ui);
	font-size: var(--font-size-small);
	text-transform: uppercase;
	letter-spacing: var(--letter-spacing-caps);
	color: var(--color-accent-brown);
}

.label-edit-section-title {
	margin: 10px 0 2px;
	padding-top: 8px;
	border-top: 1px solid var(--color-border);
}

.label-edit-section-title:first-of-type {
	margin-top: 0;
	padding-top: 0;
	border-top: 0;
}

#landschaft-dialog .location-report-form__field > span {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-button-soft-text);
}

#landschaft-dialog .location-report-form__field > span small {
	font-weight: 400;
	color: var(--color-placeholder);
}

/* ── Der zusammengeklappte Wiki-Steckbrief (Owner 25.08.2026) ─────────────────────────────────
   Offen bleiben Artikel und Art; der Rest steht in einem nativen <details>. Welche Zeilen offen
   bleiben, sagt das Feldregister (`steckbriefOffen`, js/ui/wiki-assign-registry.js) -- hier steht
   nur, wie der Kasten aussieht.
   ⚠️ Kein eigenes Dreieck-Bild: `list-style: none` nimmt das des Browsers weg, und das ▸ kommt
   als Text davor -- dieselbe Bauform wie bei `.fs-more__toggle` in der Quellenliste. */
.label-wiki-reference__klapp {
	margin: 2px 0 0;
}

.label-wiki-reference__klapptitel {
	cursor: pointer;
	font-size: 12px;
	color: var(--color-link);
	list-style: none;
	padding: 3px 0;
}

.label-wiki-reference__klapptitel::-webkit-details-marker {
	display: none;
}

.label-wiki-reference__klapptitel::before {
	content: "B8 ";
	color: var(--color-text-muted);
}

.label-wiki-reference__klapp[open] > .label-wiki-reference__klapptitel::before {
	content: "BE ";
}

#landschaft-dialog input[type="text"],
#landschaft-dialog input[type="number"],
#landschaft-dialog input[type="search"],
#landschaft-dialog select {
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-panel);
	padding: 6px 8px;
	font-family: inherit;
	color: var(--color-text);
}

#landschaft-dialog input[type="text"]:focus,
#landschaft-dialog input[type="number"]:focus,
#landschaft-dialog input[type="search"]:focus,
#landschaft-dialog select:focus {
	outline: none;
	border-color: var(--color-accent-brown);
	box-shadow: 0 0 0 2px var(--color-accent-brown-focus);
}

#landschaft-dialog input[type="range"] {
	accent-color: var(--color-accent-brown);
}

#landschaft-dialog .location-report-form__button--primary {
	font-family: "Faculty Glyphic", Arial, sans-serif;
}

/* View-Mode-Popup der Label-Infobox: Pergament-Rahmen wie die Herrschaftsgebiete-Infobox. */
.label-wiki-infobox-popup .leaflet-popup-content-wrapper {
	background: var(--color-panel-translucent);
	border: 1px solid var(--color-border-strong);
	border-radius: 8px;
	box-shadow: var(--shadow-panel);
	color: var(--color-text-strong);
}

.label-wiki-infobox-popup .leaflet-popup-content {
	margin: 0;
}

.label-wiki-infobox-popup .leaflet-popup-tip {
	background: var(--color-panel-translucent);
	border: 1px solid var(--color-border-strong);
}

.label-wiki-infobox-popup .region-info-box__header {
	padding-right: 16px;
}

/* Infobox im Edit-Mode-Label-Popup etwas abgesetzt unter den Aktionen. */
.location-popup .region-info-box {
	margin-top: 6px;
	padding-top: 8px;
	border-top: 1px solid var(--color-divider);
}

/* ===== Listen-Feinschliff (Regionen/Wege): weiß, scrollbar, Territorium-Listen-Optik ===== */
#region-sync-list,
#path-sync-list {
	background: var(--color-panel);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 0;
}

#region-sync-list .region-sync__viewtabs,
#path-sync-list .region-sync__viewtabs,
#settlement-list .region-sync__viewtabs {
	position: sticky;
	top: 0;
	z-index: 1;
	background: var(--color-panel);
	margin: 0;
	padding: 6px;
	border-bottom: 1px solid var(--color-border);
}

/* 💣 Hier stand eine DRITTE Fassung derselben zwei Werte:
     #region-sync-list .region-sync__item, #path-sync-list .region-sync__item
     { padding: 6px 8px; border-bottom: 1px solid var(--color-panel-muted); }
   Die Zeilen der Regionen- und Wegeliste tragen BEIDE Klassen ("tree-item region-sync__item"),
   und diese Regel hat mit der ID Spezifität (1,1,0) gegen (0,2,0) der geteilten. Sie gewann also
   — zwei der acht Listen hörten in Wahrheit auf diesen Block, nicht auf die gemeinsame Regel.
   Ersatzlos entfernt: sie setzte exakt dieselben Werte und war nur die dritte Stelle, an der man
   sie hätte pflegen müssen. */

.region-sync__handle {
	color: var(--color-placeholder);
	margin-right: 4px;
	cursor: grab;
	user-select: none;
}

/* ===== Formensprache des Blattes (Sitzung 3 nachgezogen, 2026-08-07) ==============================
   Die Falllisten der Orte, Wege und des Konfliktzentrums haben die Optik der Uebernahme-Vorschau in
   Sitzung 3 geerbt; diese Chips und Knoepfe hier NICHT -- sie standen weiter auf handgeschriebenen
   Werten (10px-Pille, 11px-Schrift, --color-border-strong) neben Knoepfen aus --radius-md und den
   Pill-Tokens, in derselben Zeile. AGENTS.md §12: kein hartkodierter Radius, keine Pillen.

   ⚠️ Die Klassen heissen `region-sync__*`, gehoeren aber den Regionen UND den Wegen: der Wege-Reiter
   schreibt `.region-sync__cand` an 15 Stellen (am 07.08. live 6.390 Chips gegen 1.577 Regionenzeilen).
   Sie hier anzugleichen zieht die Wege mit -- in dieselbe Richtung, und das ist der Zweck. Wer nur die
   Regionen aendert, poliert die kleinere Haelfte und baut die Divergenz in die groessere ein. */
.region-sync__cand {
	display: inline-block;
	margin: 1px 3px 1px 0;
	padding: 2px 7px;
	font-size: var(--font-size-small);
	border: 1px solid var(--color-pill-border);
	border-radius: var(--radius-md);
	background: var(--color-pill);
	color: var(--color-pill-text);
	cursor: pointer;
}

.region-sync__cand:hover {
	background: var(--color-button-soft-hover);
	border-color: var(--color-accent-brown);
}

/* Typ-Konflikt: Label-Subtype passt nicht zur Wiki-Art (Bulk überspringt es). */
.region-sync__cand--conflict {
	border-color: var(--color-danger);
	color: var(--color-danger-soft-text);
	background: var(--color-danger-soft);
}
.region-sync__cand--conflict:hover {
	border-color: var(--color-danger-soft-text);
	background: var(--color-danger-soft);
}

/* Verlaufsvergleich der Wege-Fallliste: „+ Ort" hinzugefuegt, „− Ort" entfernt.
   💣 Bis 2026-08-08 trug review-path-sync.js diese beiden Farben als rohen Inline-Style im Markup --
   und ein Inline-Style hat keine data-theme-Variante. Im Dunkelmodus stand das Dunkelgruen/Dunkelrot
   deshalb auf dunklem Grund, und seit der Umstellung auf die Pill-Tokens (101c00bc, 07.08.) ueberschrieb
   es zusaetzlich die frisch geordnete Farbgebung der Pille. AGENTS.md §12: nie eine Farbe hartkodieren.
   ⚠️ Die :hover-Regeln sind nicht Kosmetik, sondern tragend: `.region-sync__cand:hover` ist mit (0,2,0)
   spezifischer als ein Modifier allein (0,1,0) und faerbte den Chip sonst beim Ueberfahren braun um --
   derselbe Grund, aus dem --conflict direkt darueber einen hat.
   Die Kante ist WEICHER als bei --conflict (--color-danger-soft-border statt --color-danger): ein
   Konflikt darf lauter sein als eine gewoehnliche Entfernung. */
.region-sync__cand--add {
	border-color: var(--color-success-soft-border);
	color: var(--color-success-soft-text);
	background: var(--color-success-soft);
}
.region-sync__cand--add:hover {
	border-color: var(--color-success-soft-text);
	background: var(--color-success-soft);
}

.region-sync__cand--remove {
	border-color: var(--color-danger-soft-border);
	color: var(--color-danger-soft-text);
	background: var(--color-danger-soft);
}
.region-sync__cand--remove:hover {
	border-color: var(--color-danger-soft-text);
	background: var(--color-danger-soft);
}

/* 🔴 KNOPF-HIERARCHIE (AGENTS.md §12: EINE Haupthandlung gefuellt, alles Weitere weich).
   „Zuordnen"/„+" war ein GEFUELLTER Akzentknopf -- in einer Liste, die am 07.08. live 4.134 Zeilen
   hat. 462 gefuellte Hauptknoepfe untereinander sind keine Hierarchie mehr, sondern eine Wand; und in
   der Regionenliste daneben standen es zwei je Zeile, 3.154 Stueck. Eine Zeilenhandlung ist nie die
   Haupthandlung der Seite: die steht oben im Menueband und heisst „Syncen". */
.path-sync__assign {
	margin: 1px 3px 1px 0;
	padding: 2px 8px;
	font-size: var(--font-size-small);
	font-weight: 700;
	line-height: inherit;
	border: 1px solid var(--color-button-soft-border);
	border-radius: var(--radius-md);
	background: var(--color-button-soft);
	color: var(--color-button-soft-text);
	cursor: pointer;
	vertical-align: baseline;
}

.path-sync__assign:hover {
	background: var(--color-button-soft-hover);
	border-color: var(--color-accent-brown);
}

/* ===== V6: Landschaftsflächen in der Regionen-Zeile ===== */
/* Eigene Zeile unter der Meta-Zeile, wie .region-sync__map -- die Chips dürfen umbrechen. */
.region-sync__areas {
	color: var(--color-text-muted);
}

.region-sync__areas--none {
	opacity: 0.7;
}

/* Ein Chip je Landschaftsregion. Optik von .region-sync__cand, aber NICHT klickbar: der Chip ist eine
   Angabe, der Knopf daneben ist die Handlung. */
.region-sync__areachip {
	display: inline-block;
	margin: 1px 3px 1px 0;
	padding: 2px 7px;
	font-size: var(--font-size-small);
	border: 1px solid var(--color-pill-border);
	border-radius: var(--radius-md);
	background: var(--color-pill);
	color: var(--color-pill-text);
}

/* Textknopf in der Meta-Zeile, Muster .path-sync__assign -- dieselbe Geste, dieselbe Optik.
   💣 HIER sass die Angleichung am dringendsten: „Flaeche zuweisen" und „Label zuweisen" stehen in
   JEDER Regionenzeile, also live 2x1.577 = 3.154 gefuellte Akzentknoepfe in einer 246px schmalen
   Spalte -- waehrend die Ortsliste daneben, dieselbe Komponente, ueber 3.414 Zeilen gar keinen Knopf
   traegt. Begruendung und Messung: .path-sync__assign weiter oben. */
.region-sync__assign {
	margin: 1px 3px 1px 0;
	padding: 2px 8px;
	font-size: var(--font-size-small);
	font-weight: 700;
	line-height: inherit;
	border: 1px solid var(--color-button-soft-border);
	border-radius: var(--radius-md);
	background: var(--color-button-soft);
	color: var(--color-button-soft-text);
	cursor: pointer;
	vertical-align: baseline;
}

.region-sync__assign:hover {
	background: var(--color-button-soft-hover);
	border-color: var(--color-accent-brown);
}

/* Infobox-Popup-Innenabstand (region-info-box selbst hat jetzt padding:0). */
.label-wiki-infobox-popup .leaflet-popup-content {
	margin: 8px 10px;
}

/* ===== Label-bearbeiten: 2-Spalten-Grid + Zoom (Zahl + Slider) ===== */
#landschaft-dialog {
	width: min(560px, calc(100vw - 24px));
}

.label-edit-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px 14px;
}

.label-edit-grid .location-report-form__field {
	margin: 0;
	min-width: 0; /* Grid-Zellen dürfen schrumpfen, sonst läuft das Grid auf schmalen Breiten über. */
}

/* 🪤 HIER STANDEN ZWEI REZEPTUREN FUER DIESELBE ZEILE: `.label-edit-zoomrow` und
   `.label-edit-sliderrow` waren Zeichen fuer Zeichen gleich -- gleiche Anzeige, gleicher
   Abstand, 56 px Zahlenfeld, derselbe Regler. Nur die Namen waren verschieden, und dadurch
   liefen die zwei Haelften des Dialogs beim naechsten Griff auseinander (dieselbe Lehre wie
   bei den Listenzeilen, AGENTS.md §11: es gibt ZWEI, und das ist die Obergrenze -- hier
   reicht EINE). Zusammengelegt am 24.08.2026; die Zoomzeilen tragen seither `sliderrow`.
   ⚠️ Die Ausnahme `--wide` BLEIBT und ist begruendet: eine Hoehe in Schritt ist fuenfstellig
   und wurde in 56 px zu „500" abgeschnitten. */

.label-edit-grid .location-report-form__field--checkbox {
	flex-direction: row;
	align-items: center;
	gap: 6px;
}

/* Zahl+Slider-Reihe (Groesse/Rotation/Prioritaet) wie die Zoom-Reihe. */
.label-edit-sliderrow {
	display: flex;
	align-items: center;
	gap: 8px;
}

.label-edit-sliderrow input[type="number"] {
	width: 56px;
	flex: 0 0 auto;
}

/* 💣 56 px reichen für die Nachbarn in dieser Reihe -- Größe (12–50), Drehung (0–360), Priorität (1–5)
   sind höchstens dreistellig. Eine Höhe in Schritt ist FÜNFstellig, und „5000" wurde darin zu „500"
   abgeschnitten (vom Owner gemeldet 2026-07-28). Die Zeile bekommt deshalb ihr eigenes Maß, statt das
   der ganzen Reihe zu verstellen: die anderen drei sollen schmal bleiben. */
.label-edit-sliderrow--wide input[type="number"] {
	width: 5.5em;
}

.label-edit-sliderrow input[type="range"] {
	flex: 1 1 auto;
	min-width: 0;
	accent-color: var(--color-accent-brown);
	/* 💣 Chrome gibt einem `input[type=range]` von sich aus `margin: 2px`. In einer Flex-Zeile
	   addiert sich das AUSSEN auf die Breite -- jede Reglerzeile des Dialogs lief dadurch um genau
	   2 px ueber ihren Kasten hinaus (gemessen 24.08.2026: 174 gegen 172). Zwei Pixel sieht man
	   nicht, aber sie erzeugen die waagerechte Rollbarkeit, die man dann anderswo sucht. */
	margin-inline: 0;
}

/* Abschnitts-Panels im Label-Editor (weisse Karten wie im Territorien-Editor). */
.label-edit-section {
	background: var(--color-panel);
	border: 1px solid var(--color-border);
	border-radius: 8px;
	padding: 8px 10px 10px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.label-edit-section .label-edit-section-title {
	margin: 0 0 2px;
	padding: 0;
	border-top: 0;
}

/* Eingaben mit weissem Untergrund. */
#landschaft-dialog input[type="text"],
#landschaft-dialog input[type="number"],
#landschaft-dialog input[type="search"],
#landschaft-dialog select {
	background: var(--color-panel);
}

/* Schlanke Infobox NUR fuer .location-popup-Region-Boxen (z.B. Weg ohne Wiki).
   Die Label-Infobox (.label-wiki-infobox-popup) wird WEITER UNTEN behandelt und
   darf NICHT hier auf max-width 360 geklemmt werden -> sonst wirkt sie im
   Frontend "komisch schmal" statt wie im Edit-Mode (Siedlungs-Popup, ~400px). */
.location-popup .region-info-box {
	width: min(360px, calc(100vw - 52px));
	max-width: min(360px, calc(100vw - 52px));
	padding: 0;
	gap: 4px;
}

/* „Weg bearbeiten" optisch wie „Label bearbeiten" (Faculty Glyphic, weisse Inputs, Panels). */
#path-edit-dialog {
	font-family: "Faculty Glyphic", Arial, sans-serif;
	width: min(560px, calc(100vw - 24px));
}

#path-edit-dialog .location-report-form__field > span {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-button-soft-text);
}

#path-edit-dialog input[type="text"],
#path-edit-dialog input[type="search"],
#path-edit-dialog select {
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-panel);
	padding: 6px 8px;
	font-family: inherit;
	color: var(--color-text);
}

#path-edit-dialog input[type="text"]:focus,
#path-edit-dialog input[type="search"]:focus,
#path-edit-dialog select:focus {
	outline: none;
	border-color: var(--color-accent-brown);
	box-shadow: 0 0 0 2px var(--color-accent-brown-focus);
}

#path-edit-dialog .location-report-form__button--primary {
	font-family: "Faculty Glyphic", Arial, sans-serif;
}

/* 🔴 HIER STANDEN DIE DREI REGELN DES KNOPFES „Name & Größe aus Wiki"
   (.location-edit-wiki-sync-row samt #location-edit-wiki-sync). ⚠️ Sein Markup war schon VOR
   diesem Umbau verschwunden -- gemessen, nicht vermutet: `git grep location-edit-wiki-sync
   b7dd7e6b` findet die Kennung ausschliesslich in DIESER Datei, in keinem js/, html/ oder
   index.html. Sein Nachfolger, der „↻"-Knopf (.location-edit-wiki-mini), ist am 16.08.2026 der
   Sync-Vorschau gewichen (Vermerk weiter unten). Die Zeile der Vorgaenger stehenzulassen, weil sie
   „nicht zu diesem Zweig gehoert", waere genau die halbe Aufraeumung, die diesem Projekt schon
   einmal fuenf Regeln zwei Wochen lang untergeschoben hat (AGENTS.md §10). */

/* Siedlungs-Infobox im Ort-Popup breiter: füllt das (verbreiterte) Popup statt schmal an den
   Inhalt geschmiegt zu sein. Überschreibt die schlanke .location-popup .region-info-box-Regel. */
.location-popup .region-info-box--settlement {
	width: auto;
	max-width: none;
	gap: 6px;
	margin-top: 4px;
	padding-top: 0;
	border-top: none;
}

/* Aktions-Buttons unter der Siedlungs-Infobox optisch absetzen. */
.location-popup .region-info-box--settlement + .location-popup__actions {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid var(--color-divider);
}

/* ===== „Ort bearbeiten" optisch wie „Label bearbeiten" (Faculty Glyphic, Panels, weiße Inputs) ===== */
#location-edit-dialog {
	font-family: "Faculty Glyphic", Arial, sans-serif;
	width: min(560px, calc(100vw - 24px));
}
#location-edit-dialog .location-report-form__field > span {
	font-size: 12px;
	font-weight: 600;
	color: var(--color-button-soft-text);
}
#location-edit-dialog input[type="text"],
#location-edit-dialog input[type="search"],
#location-edit-dialog select {
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-panel);
	padding: 6px 8px;
	font-family: inherit;
	color: var(--color-text);
}
#location-edit-dialog input[type="text"]:focus,
#location-edit-dialog input[type="search"]:focus,
#location-edit-dialog select:focus {
	outline: none;
	border-color: var(--color-accent-brown);
	box-shadow: 0 0 0 2px var(--color-accent-brown-focus);
}
#location-edit-dialog .location-report-form__button--primary {
	font-family: "Faculty Glyphic", Arial, sans-serif;
}

/* Feld + Mini-Sync-Button („↻ aus Wiki") in einer Reihe, je neben Ortsname/Ortsgröße. */
.location-edit-fieldrow {
	display: flex;
	align-items: center;
	gap: 6px;
}
.location-edit-fieldrow > input,
.location-edit-fieldrow > select {
	flex: 1 1 auto;
	min-width: 0;
}
/* 🔴 HIER STANDEN DIE DREI REGELN DES „↻"-KNOPFES (.location-edit-wiki-mini). Die zwei kleinen
   Wiederhol-Knoepfe neben Textfeld und Kategorie des Label-Dialogs sind am 16.08.2026 der
   Sync-Vorschau gewichen -- sie taten dasselbe, ohne vorher zu zeigen, was sie aendern. Danach null
   Verwender im ganzen Baum (gemessen ueber css/, js/, html/, index.html, edit/). */
/* ===== WikiSync „Siedlungen": Status-Tabs + vollständige Karten-Orts-Liste ===== */
.wiki-sync-substatus {
	display: flex;
	gap: 6px;
	margin: 6px 10px 4px;
	flex-wrap: wrap;
}

/* Case-Liste auf aktiven Status filtern (Sektionen sind bereits getaggt) + kompakter. */
.wiki-sync-case-section__title { display: none; }
#wiki-sync-case-list.review-panel__list--cases {
	flex: 0 1 auto;
	min-height: 320px;
	overflow-y: auto;
}
#wiki-sync-case-list[data-active-status="open"] .wiki-sync-case-section:not(.wiki-sync-case-section--open),
#wiki-sync-case-list[data-active-status="deferred"] .wiki-sync-case-section:not(.wiki-sync-case-section--deferred),
#wiki-sync-case-list[data-active-status="archived"] .wiki-sync-case-section:not(.wiki-sync-case-section--archived) {
	display: none;
}

.wiki-sync-locations-section {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 0;
	/* Kein Trenner mehr ueber dem Suchfeld. Die 2px-Linie gehoerte zu einem Sektionskopf
	   (.wiki-sync-locations-section__head/__title), den es nicht mehr gibt -- sie trennte
	   zuletzt die Statistikzeile vom Suchfeld, also innerhalb EINER Gruppe. Kein anderes
	   Subjekt hat sie, weshalb Siedlungen als einziges anders aussah. */
}
.wiki-sync-locations-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px;
	padding: 2px 10px;
}
.wiki-sync-locations-section__title {
	font-weight: 700;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--color-accent-brown);
}
.wiki-sync-locations-section__summary {
	font-size: 11px;
	color: var(--color-placeholder);
}
.wiki-sync-locations-filterbar {
	display: flex;
	align-items: center;
	gap: 8px;
}
/* Toggle-Tabs sitzen jetzt unter dem Suchfeld (nicht mehr in der scrollbaren Liste). */
.settlement-list__tabs {
	margin: 0;
	padding: 4px 10px 6px;
}
/* „Kontinente nachtragen"-Button im Sektionskopf (nur sichtbar, solange Seiten unbestimmt). */
.settlement-backfill-btn {
	font-size: 11px;
	padding: 2px 8px;
	white-space: nowrap;
}

/* Wappen-Sektion im „Siedlung bearbeiten"-Dialog. */
.settlement-coat {
	display: flex;
	gap: 12px;
	align-items: flex-start;
}
.settlement-coat__preview {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--color-border);
	border-radius: 6px;
	background: var(--color-panel);
	overflow: hidden;
	cursor: pointer;
}
.settlement-coat__preview:hover {
	border-color: var(--color-accent-brown);
}
.settlement-coat__preview:empty::after {
	content: "+";
	font-size: 22px;
	color: var(--color-placeholder);
}
.settlement-coat__preview img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.settlement-coat__preview--dim img {
	filter: grayscale(1);
	opacity: 0.5;
}
.settlement-coat__body {
	flex: 1 1 auto;
	min-width: 0;
}
.settlement-coat__status {
	margin: 0 0 6px;
	font-size: 12px;
	color: var(--color-text-muted);
}
.settlement-coat__actions {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
}
#settlement-list {
	background: var(--color-panel);
	border: 1px solid var(--color-border);
	border-radius: 6px;
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	padding: 0;
}
/* DIE Zeilenform der WikiSync-Listen im Panel — für alle fünf Karten-Subjekte, Territorien
   eingeschlossen. Raster mit Ziehgriff in Spalte 1 (über beide Zeilen), Name+Kreis in Zeile 1,
   Meta+Wiki-Link in Zeile 2.
   💣 Bis 14.08.2026 stand dieselbe Rezeptur ein ZWEITES Mal in
   css/pages/political-territory-wiki-tree.css:122 — der Kommentar hier sagte selbst, er übernehme
   sie "1:1" — und ein DRITTES Mal weiter oben als ID-Regel für Regionen und Wege, die sie sogar
   überstimmte. Drei Stellen, dreimal zu pflegen; daraus wuchs die Divergenz, die der Owner am
   14.08.2026 gemeldet hat.
   ⚠️ Beide Selektoren gehören an DIESE eine Regel: "#wiki-sync-territory-tree .tree-item" hat
   Spezifität (1,1,0) und schlüge eine getrennte Regel mit (0,2,0) immer, egal in welcher
   Reihenfolge die Dateien geladen werden. Umsortieren wirkt also nicht.
   Gewacht von js/review/__tests__/wikisync-list-form.test.js. */
.wikisync-itemlist .tree-item,
#wiki-sync-territory-tree .tree-item {
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-items: center;
	column-gap: var(--space-6);
	/* 💣 War 7px. Der Kommentar hier begründete sie mit "einheitlich wie Siedlungen" — jemand hatte
	   sie bewusst von 2 auf 7 gehoben, um zu vereinheitlichen. Owner 14.08.2026: "ja die 7px
	   umdrehen". Jetzt haben ALLE Listen 2px, die Einheitlichkeit bleibt also gewahrt, nur enger.
	   ⚠️ Von hier kommt die Höhe, NICHT aus kleinerer Schrift: die Meta-Zeile wächst gleichzeitig
	   von 10,4px auf 11px. Gemessen 48,7px → 42,0px je Zeile. */
	row-gap: 2px;
	width: 100%;
	box-sizing: border-box;
	/* 🔴 Dasselbe Polster wie .avm-row (css/components/editor-row.css). Hier stand `5px 8px` --
	   zwei Zahlen, die es auf der Abstandsskala GAR NICHT gibt (2/4/6/8/10/12/16/20/24 → 4/6/8/…),
	   und 1-2px neben der Schwesterliste. Owner 04.09.2026: „die margins/paddings von listen. jedes
	   sieht anders aus … aber der style sollte einheitlich sein." */
	padding: var(--avm-row-pad);
	/* Die Trennlinie war --color-panel-muted, eine FLÄCHENfarbe (#f1ece1 hell) und als Linie kaum
	   sichtbar. --color-divider ist laut tokens.css "section separator — same everywhere".
	   ⚠️ Als border-width-0-Kurzform geschrieben, weil Literatur, Karten und Vorkommen ihre Zeilen
	   als <button> rendern (Tastaturbedienung, die nicht verlorengehen darf) — der bringt einen
	   eigenen Rahmen mit, den ein blosses border-bottom stehen liesse. */
	border: 0 solid var(--color-divider);
	border-bottom-width: 1px;
	/* 🔴 ENTWEDER KARTE ODER TRENNLINIE, nie beides (Owner 04.09.2026: „entweder karte oder
	   trennlinie"). Diese Liste ist eine TRENNLINIEN-Liste -- also ausdruecklich kein Radius.
	   💣 Die 0 ist tragend und sieht nur ueberfluessig aus: die blanke `.tree-item`-Regel in
	      css/pages/political-territory-wiki-tree.css (Spezifitaet 0,1,0) wird von index.html
	      GLOBAL geladen und setzt `border-radius: 6px`. Ohne diese Zeile leckt der Radius hier
	      herein, und die Zeile traegt abgerundete Ecken IN einer geraden Trennlinienliste --
	      genau das Bild, das der Owner beanstandet hat.
	   ⚠️ Im Quelltext ist die Mischung UNSICHTBAR: Linie und Radius stehen in verschiedenen
	      Dateien. Nur der gemessene Zustand im Browser zeigt sie. */
	border-radius: 0;
	/* Ebenfalls für die <button>-Zeilen: sonst erben sie Systemschrift, Grauton und Zentrierung. */
	background: transparent;
	font: inherit;
	text-align: left;
	cursor: pointer;
	color: var(--color-text-strong);
}
/* --color-hover-wash, nicht --color-panel-soft: tokens.css beschreibt es wörtlich als
   "row / option hover". --color-panel-soft ist eine Flächenfarbe für Gruppierungen. */
.wikisync-itemlist .tree-item:hover,
#wiki-sync-territory-tree .tree-item:hover {
	background: var(--color-hover-wash);
}
.wikisync-itemlist .drag-handle,
#wiki-sync-territory-tree .drag-handle {
	grid-column: 1;
	grid-row: 1 / span 2;
	align-self: center;
	font-size: 12px;
	color: var(--color-text-muted);
	letter-spacing: -1px;
	cursor: grab;
}
.wikisync-itemlist .tree-item-name,
#wiki-sync-territory-tree .tree-item-name {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
	/* Erbte vorher body{font-size:10pt} = 13,33px — kein Sprosse der Skala in tokens.css. */
	font-size: var(--font-size-body);
	/* ⚠️ Das Gewicht kam bisher aus der Basisregel .tree-item in political-territory-wiki-tree.css,
	   also aus einer Regel, die dem Territorien-EDITOR gehört. Eine Panel-Zeile darf nicht davon
	   abhängen, was eine fremde Oberfläche vererbt. */
	font-weight: var(--font-weight-bold);
	line-height: 1.22;
}
/* Der Statuskreis steht seit 2026-08-18 in css/components/map-status-circle.css. Grund: die
   Editorfenster tragen ihre eigene Zeile (`.avm-row`) und laden diese Datei NICHT — solange die
   Regel hier stand, konnte eine Editorliste gar keinen Kreis haben. Die Kraftlinienliste im
   Editor hat seither einen (Owner 18.08.2026). Es ist weiterhin GENAU EINE Rezeptur; sie nennt
   jetzt drei Wirte. Eine Abschrift hier wäre die Divergenz, gegen die die Vereinheitlichung vom
   14.08.2026 gebaut wurde. Gewacht von js/review/__tests__/wikisync-list-form.test.js. */

.wikisync-itemlist .tree-item-meta,
#wiki-sync-territory-tree .tree-item-meta {
	grid-column: 2;
	grid-row: 2;
	/* War 0.78em = 10,4px, UNTER der 11px-Untergrenze aus docs/design-language.md. Sie wächst hier. */
	font-size: var(--font-size-caption);
	/* War 600. tokens.css: "two weights only — no 500 / 600 / 800". Die gelöschte
	   Territorien-Fassung benutzte bereits var(--font-weight-bold) — die beiden Kopien waren sich
	   an dieser Stelle nicht einmal einig. */
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: var(--color-text-muted);
	white-space: normal;
}
.wikisync-itemlist .tree-item-meta a,
#wiki-sync-territory-tree .tree-item-meta a {
	color: var(--link-color);
	text-decoration: none;
}
.wikisync-itemlist .tree-item-meta a:hover,
.wikisync-itemlist .tree-item-meta a:focus-visible {
	color: var(--link-color-hover);
}
/* Kandidaten-Chips dürfen in der Meta-Zeile umbrechen. */
.wikisync-itemlist .tree-item-meta .region-sync__map,
.wikisync-itemlist .tree-item-meta .region-sync__areas {
	display: block;
	margin-top: 2px;
}
/* Listen OHNE Ziehgriff (Literatur, Karten, Vorkommen) geben die 16px-Spalte frei — in einem
   400px breiten Panel ist sie dort verschenkte Breite.
   🔴 INNERHALB einer Liste bleibt sie dagegen immer reserviert, auch wenn nur manche Zeilen
   ziehbar sind: sonst rücken die nicht ziehbaren gegen die ziehbaren ein. Genau das hat der Owner
   am 14.08.2026 an Adamantenland in der Regionenliste gesehen ("kein einrücken von
   Adamentenland"). Die Regel gilt also der LISTE, nicht der Zeile. */
.wikisync-itemlist--nodrag .tree-item {
	grid-template-columns: minmax(0, 1fr);
}
.wikisync-itemlist--nodrag .tree-item-name,
.wikisync-itemlist--nodrag .tree-item-meta {
	grid-column: 1;
}

/* Hinweis im Orts-Popup, wenn keine Wiki-Siedlung verbunden ist. */
.location-popup__nowiki {
	margin-top: 6px;
	padding-top: 6px;
	border-top: 1px solid var(--color-divider);
	font-size: 12px;
	font-style: italic;
	color: var(--color-placeholder);
}

/* ===== Siedlungs-Popup (className settlement-popup): gleichmäßige Abstände, breiter,
   Trenner in voller Breite über UND unter der Daten-Tabelle ===== */
.settlement-popup .leaflet-popup-content {
	margin: 0;
}
.settlement-popup .location-popup {
	/* Feste Breite (statt auto), damit die Box nicht zusammenfaellt, wenn im Frontend
	   nur wenige/schmale Aktions-Buttons da sind -> sonst gequetschte Wertespalte. */
	width: min(400px, calc(100vw - 32px));
	max-width: none;
	box-sizing: border-box;
	padding: 12px 14px;
}
/* Daten-Infobox: Trenner spannt randlos über die volle Popup-Breite (negative Margin = Padding). */
.settlement-popup .region-info-box--settlement {
	margin: 11px -14px 0;
	padding: 11px 14px 0;
	border-top: 1px solid var(--color-divider);
	gap: 6px;
}
/* Aktions-Buttons mit gleichem Trenner darunter. */
.settlement-popup .region-info-box--settlement + .location-popup__actions {
	margin: 11px -14px 0;
	padding: 11px 14px 0;
	border-top: 1px solid var(--color-divider);
}

/* Quell-Zeile (Multi-source #1): eigener Abschnitt mit Trenner DARÜBER. Der frühere
   .wiki-source-credit hatte diesen border-top; der neue .feature-sources-Platzhalter hatte gar
   keine CSS -> Trenner fehlte. Basis = dezenter inset-Trenner (gilt in jedem Popup/Tooltip),
   im Siedlungs-/Label-Popup voll-breit wie Daten-Infobox und Aktionen. */
.feature-sources {
	margin-top: 10px;
	padding-top: 8px;
	border-top: 1px solid var(--color-divider);
	font-size: 12px;
	color: var(--color-text-muted);
}
.settlement-popup .feature-sources {
	margin: 11px -14px 0;
	padding: 11px 14px 0;
	border-top: 1px solid var(--color-divider);
}
/* Siedlungs-Infobox im Panel (Owner): KEIN Trenner ueber "Quelle:" -- die Daten darueber (Einwohner,
   Oberhaupt, Handelszone ...) stammen ja aus genau dieser Quelle, ein Strich wuerde sie faelschlich
   abkoppeln. Nur ein kleiner Abstand bleibt. */
.region-info-box--settlement .feature-sources {
	border-top: none;
	margin-top: 4px;
	padding-top: 0;
}
/* No-Wiki-Fall: die Quell-Zeile ist direkter Vorgänger der Aktionen -> deren Trenner kommt sonst
   über die region-info-box-Regel, die hier nicht greift; also hier setzen. */
.settlement-popup .feature-sources + .location-popup__actions {
	margin: 11px -14px 0;
	padding: 11px 14px 0;
	border-top: 1px solid var(--color-divider);
}

/* Mobil: Infobox-Popups (Siedlung UND Landschaft -> beide nutzen settlement-popup) fast die
   volle Bildschirmbreite statt Deckel bei 400px (viel Rand auf schmalen Geraeten -> "schmal").
   Leaflet setzt die Breite inline auf .leaflet-popup-content -> nur mit !important zu schlagen. */
@media (max-width: 760px) {
	/* Exclude the route-waypoint popup: it reuses the settlement-popup class but must keep its
	   compact 310/400px width instead of stretching to full screen width on mobile. */
	.settlement-popup:not(.route-waypoint-popup) .leaflet-popup-content {
		width: calc(100vw - 28px) !important;
		max-width: calc(100vw - 28px) !important;
	}
	.settlement-popup:not(.route-waypoint-popup) .location-popup {
		width: 100%;
		max-width: none;
	}
}

/* ===== Label-/Region-View-Popup: gleiche Behandlung wie Siedlungs-Popup (breiter, gleichmäßiges
   Padding, Trenner unter dem Titel in voller Breite). Scoped -> bricht NICHT die Herrschaftsgebiete. */
.label-wiki-infobox-popup .region-info-box {
	/* Feste Breite wie der Edit-Mode: dort machen die Aktions-Buttons die Box breit
	   (~400px); im Frontend fehlen sie, daher wuerde width:auto auf die Untergrenze
	   zusammenfallen (gequetschte Wertespalte). Fix-Breite haelt beide identisch. */
	width: min(400px, calc(100vw - 32px));
	padding: 12px 14px;
	gap: 8px;
}
.label-wiki-infobox-popup .region-info-box__header {
	margin: 0 -14px;
	padding: 0 14px 10px;
}

/* Bauwerk-Crawl + Bulk-Verbinden-Leiste in der Siedlungsliste. */
.settlement-bulk-bar {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 4px 10px 6px;
	flex-wrap: wrap;
}

/* WikiSync „Hauptstädte": Review-Liste zum manuellen Verlinken fehlender Hauptstadt-Locations.
   Eigene Klassen (NICHT .tree-item) -- das wikisync-itemlist-.tree-item-Grid + der ::after-Statuspunkt
   würden die mehrzeiligen Zeilen sonst überlagern. */
.capital-list__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	align-items: stretch;
	padding: 8px 10px;
	border-bottom: 1px solid var(--color-divider);
}
.capital-list__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 2px 8px;
}
.capital-list__name {
	font-weight: 600;
	font-size: 13px;
}
.capital-list__meta {
	font-size: 12px;
	color: var(--color-text-muted);
}
.capital-list__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	align-items: flex-start;
	margin-top: 2px;
}
.capital-list__suggests {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}
.capital-list__suggest,
.capital-list__search-result {
	border: 1px solid var(--link-color);
	background: var(--color-hover-wash);
	color: var(--link-color);
	border-radius: 4px;
	padding: 2px 8px;
	font-size: 12px;
	line-height: 1.4;
	cursor: pointer;
}
.capital-list__suggest:hover,
.capital-list__search-result:hover {
	background: var(--color-active-wash);
}
.capital-list__ambiguous {
	font-size: 11px;
	font-style: italic;
	color: var(--color-accent-strong);
}
.capital-list__nohint {
	font-size: 12px;
	color: var(--color-text-muted);
}
.capital-list__search {
	position: relative;
	flex: 1 1 160px;
	min-width: 140px;
}
.capital-list__search-input {
	width: 100%;
	box-sizing: border-box;
	padding: 3px 6px;
	font-size: 12px;
}
.capital-list__search-results {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-top: 4px;
}

/* ---- Der aufklappbare Wappen-Editor der Karten-Wappen-Box (01.09.2026) -----------------------
 * 🔴 Er klappt IM Kasten auf, statt ein zweites Fenster über dem Bearbeiten-Fenster zu öffnen --
 * der Ortseditor nimmt dafür ein Modal (#seWappenDialog), aber der steht nicht schon selbst in
 * einem. Zwei gestapelte Modale sind hier die schlechtere Form, nicht die gleichwertige.
 * ⚠️ Die Feldzeilen darin sind .mlf-row aus css/components/media-license-fields.css -- dieselbe
 * Form, die die Lizenzreihe mitbringt. Hier stehen nur Hülle, Trennung und die zwei Fußzeilen.
 */
.settlement-coat__editor {
	margin-top: var(--space-10);
	padding-top: var(--space-10);
	border-top: 1px solid var(--color-divider);
}

.settlement-coat__editor[hidden] {
	display: none;
}

/* Der Hinweis sagt, was der Knopf gerade tut -- „ohne neue Datei bleibt das Bild, wie es ist" ist
   nicht zu erraten, und genau dieses Nichterraten war Fall #112 im Ortseditor. */
.settlement-coat__hint {
	margin: var(--space-6) 0 0;
	font-size: var(--font-size-caption);
	color: var(--color-text-muted);
}

.settlement-coat__error {
	margin: var(--space-6) 0 0;
	font-size: var(--font-size-caption);
	color: var(--color-danger);
}

.settlement-coat__error[hidden] {
	display: none;
}

.settlement-coat__editor-actions {
	display: flex;
	justify-content: flex-end;
	gap: var(--space-6);
	margin-top: var(--space-10);
}
