/* LOKAL-KOMMENTAR 202
 * STYLESHEET-LEITFADEN FÜR EIGENE ANPASSUNGEN.
 * Die Datei ist historisch gewachsen: spätere Regeln verfeinern frühere. Bei gleicher
 * Spezifität gewinnt die spätere Deklaration; IDs, spezifischere Selektoren und
 * !important können dies überstimmen. Doppelte Selektoren daher nicht blind löschen.
 * Vorgehen: betroffene Klasse im HTML/JS suchen, alle Vorkommen hier ansehen und
 * zuerst die späteste zuständige Regel prüfen. Für größere Aufräumarbeiten vorher
 * Desktop, schmale Fenster, Hover, Redaktion und Druck kontrollieren.
 * @media reagiert auf Fenster/Systemeinstellungen; @container auf die Breite eines
 * Komponentencontainers (wichtig für die kleinen Hover-Textkarten).
 * Farben und Hauptmaße stehen in :root, endgültige Such-/Footer-/Symbolregeln unten.
 * Alle nachfolgenden LOKAL-KOMMENTARE erläutern vorhandenes Verhalten; sie ändern
 * keine Werte, Selektoren oder Reihenfolgen.
 */
/* LOKAL-KOMMENTAR 203
 * SCHRIFTEN
 * Die mitgelieferten Schriftdateien werden lokal geladen. EB Garamond ist die Leseschrift;
 * Regensburg Grunged prägt Logo/Navigation. font-display:swap lässt Inhalt auch während des
 * Ladens lesbar bleiben.
 */
@font-face {
  font-family: 'EB Garamond';
  src: url('fonts/eb-garamond/EBGaramond.ttf') format('truetype');
  font-weight: 400 800;
  font-display: swap;
}
@font-face {
  font-family: 'Regensburg Grunged';
  src: url('fonts/regensburg/RegensburgGrunged.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
/* LOKAL-KOMMENTAR 204
 * GLOBALE GESTALTUNGSWERTE
 * --primary/--secondary sind die roten Markenfarben; --background/--surface die dunklen Flächen.
 * --text/--muted bestimmen die Lesbarkeit, --highlight Links. --gutter wächst mit dem Fenster,
 * bleibt aber zwischen Mindest-/Maximalwerten. Hier beginnen, wenn die ganze Website angepasst
 * werden soll.
 */
:root {
  color-scheme: dark;
  --primary: #a78033;
  --secondary: #8f6c2b;
  --background: #071e23;
  --text: #eee6d3;
  --highlight: #d5b976;
  --muted: #b6c4bd;
  --border: #395252;
  --surface: #0d2b31;
  --gutter: clamp(24px, 5vw, 96px);
  --page-width: 1200px;
  --reading-width: 66ch;
  --header-height: 88px;
}
/* LOKAL-KOMMENTAR 205
 * GRUNDLAYOUT
 * border-box rechnet Rahmen und Innenabstand in Größen ein. body legt Grundschrift und
 * Zeilenhöhe fest; Änderungen wirken breit. isolation erzeugt einen eigenen Stapelkontext für
 * den dekorativen Hintergrund.
 */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + 24px); }
body { margin: 0; min-height: 100vh; position: relative; isolation: isolate; background: var(--background); color: var(--text); font: 20px/1.65 'EB Garamond', Garamond, serif; }
/* Solid rule-reading background; decorative particles are the only moving layer. */
body{background:#071e23}
body::before{content:none}
a { color: var(--highlight); text-decoration: none; }
a:hover { text-decoration: underline; text-underline-offset: .2em; }
button, input, select, textarea { font: inherit; }
button, a, input, select, summary { touch-action: manipulation; }
button, summary { cursor: pointer; }
button:disabled { opacity: .45; cursor: not-allowed; }
:where(button, a, input, select, textarea, summary):focus-visible { outline: 2px solid var(--highlight); outline-offset: 4px; }
[hidden] { display: none !important; }
input::placeholder, textarea::placeholder { color: var(--muted); opacity: 1; }
h1, h2, h3 { color: var(--text); line-height: 1.2; font-weight: 500; text-wrap: pretty; }
h1 { font-size: clamp(34px, 3.1vw, 44px); letter-spacing: -.5px; margin: 0 0 28px; }
h2 { font-size: 29px; margin: 36px 0 16px; }
h3 { font-size: 23px; margin: 24px 0 12px; }
p { margin: 0 0 22px; }
.muted, .intro { color: var(--muted); }
.intro { max-width: var(--reading-width); }
.eyebrow, .aside-label { font-size: 16px; line-height: 1.5; color: var(--muted); letter-spacing: .02em; text-transform: none; }
.eyebrow { margin-bottom: 12px; }

/* LOKAL-KOMMENTAR 207
 * GEMEINSAME SEITENRÄNDER
 * Die folgenden Layoutregeln richten Kopf, Inhalt und Footer an derselben Außenkante aus.
 * Spezifische Ansichten und spätere Regeln erweitern oder begrenzen diese Basis gezielt.
 */
/* A common outer margin keeps every page aligned and comfortably away from the edge. */
header { min-height: var(--header-height); padding: 16px max(var(--gutter), calc((100% - var(--page-width))/2)); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(110deg, #8f6c2b 0%, #12343b 48%, #081d23 100%); position: sticky; top: 0; z-index: 20; }
.brand, #tabs a { font-family: 'Regensburg Grunged', 'EB Garamond', serif; font-weight: 400; font-synthesis: none; text-transform: uppercase; letter-spacing: .035em; }
.brand { font-size: 42px; line-height: 1.2; color: var(--text); }
.brand:hover { text-decoration: none; }
header nav { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 26px; }
header nav a { font-size: 26px; line-height: 1.3; color: var(--muted); white-space: nowrap; }
header nav a.active { color: var(--highlight); }
header nav a:hover { color: var(--text); text-decoration: none; }
.languages { display: flex; gap: 10px; }
.languages a { font-size: 17px; padding: 5px 2px; color: var(--muted); }
.languages a.active { color: var(--highlight); font-weight: 600; }
.languages a:hover { color: var(--text); text-decoration: none; }
.workspace { width: min(var(--page-width), calc(100% - 2*var(--gutter))); margin-inline: auto; display: grid; grid-template-columns: 240px minmax(0,1fr); gap: 56px; min-height: calc(100vh - 280px); }
#content { min-width: 0; padding: 40px 0 72px; outline: none; }
#sidebar { padding: 40px 0 32px; position: sticky; top: var(--header-height); height: calc(100vh - var(--header-height)); overflow: auto; scrollbar-width: thin; }
#sidebar .aside-label { margin: 28px 0 16px; }
.searchbox input { width: 100%; padding: 10px 12px; font-size: 17px; border: 1px solid var(--border); border-radius: 5px; background: var(--surface); color: var(--text); }
.search-hint { display: none; }
.chapters { display: flex; flex-direction: column; gap: 6px; }
.chapters a { display: flex; gap: 12px; color: var(--muted); font-size: 18px; line-height: 1.4; padding: 7px 0; }
.chapters a span { min-width: 22px; color: var(--muted); font-size: 16px; padding-top: 2px; }
.chapters a.active, .chapters a.active span, .chapters a:hover, .chapter-sections a.selected { color: var(--highlight); text-decoration: none; }
.chapter-sections { margin: 0 0 16px 12px; }
.chapter-sections a { padding: 6px 0 6px calc(var(--depth)*8px); font-size: 16px; gap: 8px; }
.chapter-sections a span { min-width: 29px; font-size: 15px; }
.menu-button { display: none; }
.rule { padding: 0; margin: 0 0 48px; scroll-margin-top: calc(var(--header-height) + 24px); }
.rule-copy, .rule-head, .glossary-item, .backlinks, .result p { max-width: var(--reading-width); }
.rule-copy { white-space: pre-line; overflow-wrap: normal; }
.rule-head { display: flex; align-items: baseline; gap: 14px; }
.rule-head h2 { font-size: 28px; line-height: 1.3; margin: 0 0 18px; }
.rule-number { font-size: 17px; white-space: nowrap; }
.rule-actions { display: flex; gap: 20px; margin-top: 18px; font-size: 16px; }
.rule-actions button { background: none; border: 0; padding: 0; font-size: inherit; }
.rule-actions button, .rule-actions a { color: var(--muted); }
.rule-actions button:hover, .rule-actions a:hover { color: var(--highlight); }
.page-links { display: flex; justify-content: space-between; gap: 24px; margin-top: 48px; font-size: 18px; }
.glossary-item { margin: 36px 0 48px; scroll-margin-top: calc(var(--header-height) + 24px); }
.glossary-item h2 { margin: 0 0 18px; }.glossary-item h2 a { color: var(--text); }
.alphabet { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.alphabet a { padding: 2px 5px; }
.definition-rule { margin-top: 24px; font-size: 17px; }
.backlinks a { display: block; padding: 8px 0; font-size: 18px; }
.result { display: block; margin: 32px 0; color: inherit; }
.result small { font-size: 16px; color: var(--muted); }
.result h3 { margin: 6px 0 10px; }.result p { font-size: 19px; color: var(--muted); }
.result:hover { text-decoration: none; }.result:hover h3 { color: var(--highlight); }
.table-wrap { overflow: auto; margin: 24px 0; white-space: normal; }
table { border-collapse: collapse; width: 100%; font-size: 18px; line-height: 1.5; }
th, td { text-align: left; padding: 12px 16px; vertical-align: top; }
th { font-weight: 600; background: var(--surface); }tbody tr:nth-child(even) { background: var(--surface); }
.source-box { font-size: 16px; color: var(--muted); margin-top: 48px; max-width: var(--reading-width); }
.source-box a { display: inline-block; margin: 8px 20px 8px 0; }
.source-box p { margin: 16px 0; }.source-box summary { width: fit-content; }
#archive-footer { width: min(var(--page-width), calc(100% - 2*var(--gutter))); margin: 16px auto 0; padding: 24px 0 40px; display: flex; justify-content: space-between; gap: 32px; color: var(--muted); font-size: 16px; line-height: 1.55; }
#archive-footer>div { max-width: 66ch; }
#archive-footer span, #archive-footer a { display: block; }
.pill { display: inline-block; border: 1px solid var(--border); background: var(--surface); color: var(--text); border-radius: 5px; padding: 9px 14px; font-size: 18px; line-height: 1.5; }
button.pill:hover, a.pill:hover { background: #123239; text-decoration: none; }
.pill.active, .catalog-search button, .advanced-actions button[type=submit], .account-form button, #proxy-pdf, [data-action=new], [data-action=cloud] { background: var(--primary); border-color: var(--primary); }
.pill.active:hover, .catalog-search button:hover, .advanced-actions button[type=submit]:hover, .account-form button:hover, #proxy-pdf:hover, [data-action=new]:hover, [data-action=cloud]:hover { background: var(--secondary); }
.text-button { border: 0; color: var(--highlight); background: none; padding: 0; font: inherit; }
.text-button:hover { text-decoration: underline; text-underline-offset: .2em; }
.count { font-size: 17px; color: var(--muted); margin: 0; }
.empty { padding: 24px 0; color: var(--muted); }
.more { display: block; margin: 40px auto; }

/* LOKAL-KOMMENTAR 208
 * KARTENKATALOG UND FILTER
 * Raster, Kartenbilder und erweiterte Suche. Die endgültige Suchfeldgestaltung wird weiter unten
 * vereinheitlicht; hier vor allem strukturelle Raster-/Formularregeln suchen.
 */
/* Image archive and optional search fields */
.archive-mode #sidebar, .deck-mode #sidebar, body[data-view=proxy] #sidebar { display: none; }
.archive-mode .workspace, .deck-mode .workspace, body[data-view=proxy] .workspace { display: block; }
body[data-view=proxy] #content { max-width: 840px; margin-inline: auto; }
body[data-view=account] #content, body[data-view=shared] #content { max-width: 740px; margin-inline: auto; }
.catalog-heading h1 { margin-bottom: 28px; }
.catalog-search { display: flex; gap: 12px; }.catalog-search input { flex: 1; min-width: 0; padding: 12px 16px; font-size: 21px; }
.advanced-filters { padding: 0; margin: 16px 0 32px; }
.advanced-filters summary { color: var(--muted); font-size: 18px; width: fit-content; }
.advanced-filters summary:hover { color: var(--highlight); }
#active-filters { color: var(--muted); }
#advanced-form { padding: 16px 0 8px; }
.advanced-row { display: grid; grid-template-columns: 180px minmax(0,1fr); gap: 32px; padding: 24px 0; }
.advanced-row h2 { margin: 0; font-size: 26px; }
.advanced-fields { max-width: 820px; display: grid; gap: 20px; }
.advanced-fields>label { display: block; font-size: 18px; }
.advanced-fields input:not([type=checkbox]), .advanced-fields select { display: block; width: 100%; min-width: 0; margin-top: 7px; }
.filter-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.filter-help { grid-column: 1/-1; font-size: 17px; color: var(--muted); margin: 0; line-height: 1.55; }
.filter-choices { display: flex; flex-wrap: wrap; gap: 10px 24px; padding: 0; margin: 0; border: 0; grid-column: 1/-1; }
.filter-choices legend { font-size: 18px; margin-bottom: 10px; }
.filter-choices label { display: flex; align-items: center; gap: 8px; font-size: 18px; }
.filter-choices input { accent-color: var(--primary); width: 18px; height: 18px; margin: 0; }
.stat-filter { display: flex; gap: 10px; padding: 0; margin: 0; border: 0; min-width: 0; }
.stat-filter legend { font-size: 18px; }.stat-filter select { width: 85px; flex-shrink: 0; }.stat-filter input { min-width: 0; }
.advanced-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; padding-top: 28px; }
.catalog-results-heading { display: flex; justify-content: space-between; gap: 16px; margin: 32px 0 24px; align-items: baseline; }
.catalog-results-heading button { font-size: 17px; }
.card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; }
.archive-mode .card-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.card { display: block; position: relative; padding: 0; min-width: 0; border: 0; background: none; border-radius: 9px; line-height: 0; color: var(--text); }
.card > img { display: block; width: 100%; height: auto; aspect-ratio: 3200/4469; object-fit: contain; border-radius: 9px; }
.card:hover, .card:focus-visible { text-decoration: none; z-index: 2; }
.card-hint { display: none; position: absolute; inset: auto 8px 8px; padding: 16px; border-radius: 6px; background: #081d23f5; color: var(--text); font-size: 17px; line-height: 1.45; max-height: calc(100% - 16px); overflow: auto; }
.card-hint-floating { display:block; position:fixed; inset:auto; z-index:1000; box-sizing:border-box; box-shadow:0 10px 32px #0009; border:1px solid #8f6c2b; max-height:calc(100dvh - 24px); overflow:auto; }
.card-hint strong, .card-hint span, .card-hint small { display: block; margin-bottom: 8px; }
.card-hint strong { font-size: 21px; }.card-hint small { font-size: 16px; color: var(--muted); margin-bottom: 0; }
.hint-rules { white-space: pre-line; }

/* LOKAL-KOMMENTAR 209
 * KARTENDETAILSEITE
 * Bild und Text liegen auf einer offenen Fläche. Längere Hinweise/Errata können eine eigene
 * volle Zeile erhalten. Die neuesten Positionierungsregeln für das Schließen-X stehen später bei
 * Token pages.
 */
/* Card details use the same open canvas; long notes get a readable full-width row. */
.card-page-mode #content { padding-top: 24px; }
.card-page-toolbar { display: flex; align-items: center; justify-content: space-between; margin-bottom: 28px; font-size: 17px; }
.close { display: grid; place-items: center; width: 44px; height: 44px; border: 0; border-radius: 5px; background: none; color: var(--muted); font-size: 30px; line-height: 1; }
.close:hover { color: var(--highlight); background: var(--surface); }
.card-page { display: grid; grid-template-columns: minmax(230px,.95fr) minmax(280px,1.25fr) minmax(205px,.8fr); gap: 36px; align-items: start; }
.card-page-art, .card-page-text, .card-printings { min-width: 0; }
.card-page.has-notes .card-page-art { grid-row: 1 / span 2; }
.card-page-art .selected-card-image { width: 100%; height: auto; display: block; border-radius: 12px; object-fit: contain; }
.card-page-tools { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 8px 20px; margin-top: 20px; font-size: 17px; }
.card-title-line { display: flex; justify-content: space-between; align-items: baseline; gap: 18px; }
.card-title-line h1 { font-size: clamp(28px,2.5vw,36px); line-height: 1.2; margin: 0; overflow-wrap: normal; }
.asp-cost { font-size: 25px; color: var(--highlight); white-space: nowrap; }
.card-type-line { font-size: 19px; color: var(--muted); margin: 12px 0 24px; }
.card-page .card-rules { font-size: 20px; line-height: 1.6; white-space: pre-line; overflow-wrap: normal; }
.card-extra { margin-top: 28px; }.card-extra h2 { font-size: 23px; margin: 0 0 12px; }
.card-flavor { font-size: 19px; font-style: italic; line-height: 1.6; margin: 24px 0; }
.card-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px 16px; margin: 28px 0 0; }
.card-stats dt { font-size: 16px; line-height: 1.4; color: var(--muted); }.card-stats dd { margin: 6px 0 0; font-size: 25px; line-height: 1; }
.card-facts { margin: 28px 0 0; font-size: 18px; }
.card-facts>div { display: grid; grid-template-columns: 90px minmax(0,1fr); gap: 12px; padding-block: 4px; }
.card-facts dt { color: var(--muted); }.card-facts dd { margin: 0; }
.card-artist { font-size: 17px; color: var(--muted); margin: 24px 0 0; }
.printing-current { line-height: 1.5; }.printing-current strong { display: block; font-size: 23px; font-weight: 500; }
.printing-current span { display: block; font-size: 17px; color: var(--muted); margin-top: 6px; }
.printing-list { margin: 32px 0 0; }.printing-list h2 { margin: 0 0 12px; font-size: 21px; }
.printing-link { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; line-height: 1.4; font-size: 18px; color: var(--muted); }
.printing-link small { display: block; font-size: 16px; }
.printing-link.selected { color: var(--highlight); }.printing-link:hover { color: var(--text); text-decoration: none; }
.card-errata { grid-column: 2/-1; font-size: 19px; line-height: 1.65; max-width: var(--reading-width); overflow-wrap: normal; }
.card-errata h2 { font-size: 27px; margin: 4px 0 18px; }
.transcription-status { font-size: 16px; color: var(--muted); margin: 28px 0 0; line-height: 1.55; }

/* LOKAL-KOMMENTAR 210
 * LESBARE INFORMATIONSGRUPPEN
 * Feine Trennlinien strukturieren Kartendaten. Keine zusätzlichen Rahmen pro Feld ergänzen, wenn
 * eine offenere Darstellung gewünscht ist; Abstände und Divider lassen sich getrennt ändern.
 */
/* Fine dividers make the card's information groups easier to scan. */
.card-page { --card-divider: #355052; }
.card-page-text > .card-rules { border-top: 1px solid var(--primary); padding-top: 20px; margin-top: 20px; }
.card-type-line { margin-bottom: 0; }
.card-extra, .card-flavor, .card-stats, .card-facts:not(:empty) { border-top: 1px solid var(--card-divider); padding-top: 18px; }
.card-facts:empty { display: none; }
.card-facts > div { padding-block: 8px; }
.card-facts > div + div { border-top: 1px solid #2c4649; }
.card-printings { border-left: 1px solid var(--card-divider); padding-left: 24px; }
.printing-current { border-bottom: 1px solid var(--primary); padding-bottom: 18px; }
.printing-link + .printing-link { border-top: 1px solid var(--card-divider); }
.printing-link.selected { border-left: 2px solid var(--primary); padding-left: 10px; }
.card-errata { border-top: 1px solid var(--card-divider); padding-top: 22px; }
@media(max-width:1150px) {
  .card-printings { border-left: 0; padding-left: 0; border-top: 1px solid var(--card-divider); padding-top: 24px; }
}

/* LOKAL-KOMMENTAR 211
 * WERKZEUGE UND EINGABEN
 * Rahmen kennzeichnen vor allem bedienbare Felder und Buttons. Dekorative Inhaltsblöcke sollen
 * nicht denselben Eindruck wie Formulare erhalten.
 */
/* Tools: keep borders on editable controls, not on every section. */
#proxy-list { display: block; width: 100%; resize: vertical; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 5px; padding: 16px; font: inherit; margin: 10px 0 20px; }
.proxy-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; margin: 24px 0; }
.proxy-actions span { font-size: 17px; color: var(--muted); }.proxy-actions input { max-width: 95px; }
.proxy-row { display: grid; grid-template-columns: 40px minmax(0,1fr) minmax(0,1fr); gap: 16px; align-items: center; margin: 14px 0; }
.proxy-row label { min-width: 0; }.proxy-row input, .proxy-row select, .proxy-actions input { width: 100%; min-width: 0; padding: 10px; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 5px; font-size: 18px; }
.proxy-error { color: var(--highlight); font-size: 17px; }.proxy-row [aria-invalid=true] { border-color: var(--highlight); }
.proxy-frame { width: 100%; height: 760px; border: 0; background: #ddd; }
.deck-heading, .deck-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.deck-heading h1 { margin-bottom: 12px; }.deck-heading .eyebrow { display: none; }
.deck-toolbar { justify-content: flex-start; margin: 28px 0 36px; }
.deck-workspace { display: grid; grid-template-columns: 210px minmax(260px,1fr) 260px; gap: 36px; }
.deck-details, .deck-search { align-self: start; min-width: 0; }
.deck-workspace label { display: block; font-size: 18px; margin-bottom: 20px; }
.deck-workspace input, .deck-workspace textarea, .deck-workspace select, .account-form input { width: 100%; min-width: 0; background: var(--surface); color: var(--text); border: 1px solid var(--border); border-radius: 5px; padding: 10px; font: inherit; font-size: 18px; }
.deck-workspace label input, .deck-workspace label textarea, .deck-workspace label select { margin-top: 8px; }
.deck-workspace h2 { margin-top: 0; font-size: 27px; }.deck-details h3 { margin-top: 32px; }
.deck-details dl { font-size: 18px; }.deck-details dl div { display: flex; justify-content: space-between; gap: 16px; padding-block: 3px; }.deck-details dd { margin: 0; }
.deck-details .muted, .deck-details details, .deck-import p { font-size: 17px; }
.deck-curve>div { display: flex; gap: 10px; align-items: center; font-size: 17px; }.deck-curve meter { width: 80px; accent-color: var(--primary); }
.deck-section { margin: 28px 0 40px; }.deck-section h3 { margin: 0 0 20px; }.deck-section h3 span { float: right; color: var(--muted); }
.deck-entry { padding: 0; margin: 0 0 24px; }.deck-entry-main { display: flex; align-items: center; gap: 12px; }
.deck-entry-main input { width: 62px; flex-shrink: 0; }
.deck-card-name { flex: 1; position: relative; color: var(--text); font-size: 19px; line-height: 1.45; }
.deck-hover { display: none; position: absolute; width: 240px; max-width: 65vw; left: 0; top: 28px; z-index: 25; border-radius: 10px; }
.deck-card-name:hover .deck-hover, .deck-card-name:focus-visible .deck-hover { display: block; }
.deck-entry-options { display: flex; gap: 10px; margin-top: 12px; }.deck-entry-options select { font-size: 16px; min-width: 0; }
.deck-visual { display: grid; grid-template-columns: repeat(auto-fill,minmax(180px,1fr)); gap: 20px; }
.deck-card-image { width: 100%; margin-top: 12px; border-radius: 9px; }
.deck-result { display: flex; gap: 16px; padding: 0; margin: 24px 0; }.deck-result img { width: 65px; border-radius: 5px; }
.deck-result small { display: block; font-size: 16px; margin: 6px 0 12px; color: var(--muted); }.deck-result strong { font-size: 18px; font-weight: 500; line-height: 1.35; }.deck-result button { font-size: 17px; padding: 5px 12px; }
.deck-search #deck-results { max-height: 70vh; overflow: auto; padding-right: 6px; scrollbar-width: thin; }
.deck-search #deck-search { margin-bottom: 20px; }.deck-search .muted { font-size: 17px; }
.deck-list article { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 20px 0; }
.deck-list strong { font-size: 23px; font-weight: 500; }.deck-list small { display: block; font-size: 17px; color: var(--muted); margin-top: 6px; }
.deck-toolbar input[type=file] { max-width: 200px; font-size: 16px; }.deck-import textarea { width: 100%; margin: 12px 0; }
.account-form { max-width: 480px; margin: 32px 0; }.account-form label { display: block; margin-bottom: 24px; }.account-form input { margin-top: 8px; }
.online-deck { margin: 40px 0; }.online-deck h3 { margin: 0 0 10px; }.online-deck button { margin: 0 12px 12px 0; }
body[data-view=shared] #content>p { white-space: pre-line; }
#account-status, #shared-status, #deck-message { overflow-wrap: anywhere; }
#account-status:empty, #shared-status:empty, #deck-message:empty, #proxy-status:empty { display: none; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.skip { position: fixed; top: -100px; }.skip:focus { top: 8px; left: 8px; background: var(--surface); padding: 10px; z-index: 100; }
#toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); max-width: calc(100% - 40px); background: var(--primary); padding: 10px 22px; border-radius: 5px; display: none; z-index: 100; font-size: 18px; }
mark { background: var(--secondary); color: var(--text); }

@media(max-width:1150px) {
  :root { --header-height: 122px; }
  header { flex-wrap: wrap; gap: 10px 24px; padding-block: 16px; }header nav { order: 3; width: 100%; justify-content: flex-start; gap: 10px 24px; }.languages { margin-left: auto; }
  .workspace { grid-template-columns: 215px minmax(0,1fr); gap: 36px; }
  .card-page { grid-template-columns: minmax(230px,.85fr) minmax(0,1.15fr); gap: 32px; }
  .card-page.has-notes .card-page-art { grid-row: 1 / span 2; }
  .card-printings { grid-column: 2; }.card-errata { grid-column: 1/-1; margin-top: 12px; }
  .deck-workspace { grid-template-columns: 220px minmax(0,1fr); }.deck-search { grid-column: 1/-1; margin-top: 16px; }
  #deck-results { display: grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap: 0 32px; }
}
@media(max-width:760px) {
  :root { --header-height: 148px; --gutter: 24px; }
  body { font-size: 19px; }header { position: static; min-height: 0; padding-block: 20px; }header nav { gap: 10px clamp(8px, 3vw, 20px); }header nav a { font-size: clamp(18px, 5.65vw, 22px); }.brand { font-size: 40px; }
  .workspace { display: block; }#sidebar { position: static; height: auto; padding: 20px 0 8px; }#sidebar .aside-label { display: none; }
  #content { padding: 28px 0 56px; }.menu-button { display: block; margin-top: 18px; padding: 0; background: none; border: 0; color: var(--highlight); font-size: 18px; }
  .chapters { display: none; max-height: 380px; overflow: auto; margin-top: 20px; }.chapters.open { display: flex; }
  .rule-head h2 { font-size: 26px; }.rule-actions { flex-wrap: wrap; }.rule { margin-bottom: 40px; }
  .advanced-row { grid-template-columns: 1fr; gap: 20px; padding-block: 24px; }.advanced-fields { gap: 18px; }
  .archive-mode .card-grid, .card-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
  .card-page { grid-template-columns: minmax(180px,.8fr) minmax(0,1.2fr); gap: 28px; }.card-title-line { gap: 12px; }.card-title-line h1 { font-size: 29px; }
  .card-page .card-rules { font-size: 19px; }.card-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .card-page-tools { font-size: 16px; }.card-page-toolbar { margin-bottom: 24px; }
  .deck-workspace { display: flex; flex-direction: column; gap: 36px; }.deck-workspace>section, .deck-details { width: 100%; }
  .deck-details { order: 1; }.deck-cards { order: 2; }.deck-search { order: 0; margin: 0; }.deck-search #deck-results { max-height: 320px; }
  .deck-hover { display: none !important; }.deck-toolbar { gap: 12px; }.deck-entry-options { flex-wrap: wrap; }
  .proxy-frame { height: 600px; }#archive-footer { display: block; margin-top: 0; padding-bottom: 32px; }#archive-footer>div+div { margin-top: 20px; }
}
@media(max-width:530px) {
  .archive-mode .card-grid, .card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px 16px; }
  .filter-columns { grid-template-columns: 1fr; }.catalog-search { gap: 8px; }.catalog-search input { padding: 10px 12px; font-size: 19px; }.catalog-search button { padding-inline: 12px; }
  .catalog-results-heading { align-items: flex-start; }.card-hint { padding: 12px; font-size: 16px; }.card-hint strong { font-size: 19px; }
  .card-page { display: flex; flex-direction: column; gap: 32px; }.card-page-art { width: 100%; max-width: 310px; align-self: center; }
  .card-page-text, .card-printings, .card-errata { width: 100%; }.card-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }.card-errata { margin-top: 0; }
  .proxy-row { grid-template-columns: 30px minmax(0,1fr); gap: 10px; }.proxy-row select, .proxy-row .proxy-error { grid-column: 2; }
  .deck-list article { align-items: flex-start; flex-wrap: wrap; gap: 12px; }.pill { font-size: 17px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; }* { transition: none !important; } }
@media print {
  body { background: white; color: black; }header, #sidebar, #archive-footer, .rule-actions, .page-links, .card-page-toolbar { display: none; }
  .workspace { display: block; width: 100%; }#content { padding: 0; }a { color: inherit; }.rule { break-inside: avoid; }
}

/* LOKAL-KOMMENTAR 212
 * STARTSEITENZUSTÄNDE
 * Die große Suche ist der Einstieg. .has-query bzw. kompakter Zustand verändern ihre Platzierung
 * nach einer Eingabe. app.js schaltet diese Zustände; CSS bestimmt Bewegung und Größen.
 */
/* Search is the entry point: reserve header space, reveal navigation second. */
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html[data-entry="home"] body > header { animation: home-navigation 240ms ease-out 360ms both; }
html[data-entry="home"] body > header:focus-within { opacity:1 !important; transform:none !important; }
@keyframes home-navigation { from { opacity:0; transform:translateY(-5px); } to { opacity:1; transform:none; } }
body[data-view="home"] #sidebar { display:none; }
body[data-view="home"] .workspace { display:block; max-width:920px; min-height:calc(100svh - var(--header-height)); }
body[data-view="home"] #content { padding:0 0 64px; }
.home-search { padding-top:clamp(100px, calc(42svh - var(--header-height)), 330px); }
#home-search-form { display:flex; align-items:center; width:min(100%,780px); margin:auto; background:var(--surface); border:1px solid #71806a; border-radius:8px; }
#home-search-form:focus-within { border-color:var(--highlight); outline:1px solid var(--highlight); }
#home-query { min-width:0; flex:1; width:100%; padding:22px 28px; font-size:clamp(25px,3vw,36px); line-height:1.3; background:transparent; color:var(--text); border:0; outline:none; }
#home-search-form button { background:transparent; color:var(--highlight); border:0; padding:22px; display:flex; }
.home-status { margin:28px 0 0; color:var(--muted); font-size:18px; }
.home-status:empty { margin:0; }
#home-results > section { margin:30px 0 46px; }
#home-results .card-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.home-more { display:inline-block; margin-top:20px; }
/* LOKAL-KOMMENTAR 213
 * TEXTAUSRICHTUNG
 * Fließtext kann im Blocksatz stehen. Navigation, Formularlabels, Zahlen und Kartenüberschriften
 * behalten bewusst natürliche Abstände; sonst entstehen große Lücken in kurzen Zeilen.
 */
/* Blocksatz for running text; labels, values and navigation retain natural spacing. */
p, .rule-copy, .card-rules, .hint-rules, .glossary-item > div, .card-notes { text-align:justify; hyphens:none; }
@media(max-width:530px) {
  #home-query { padding:18px 16px; }
  #home-search-form button { padding:18px 14px; }
  #home-results .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(prefers-reduced-motion:reduce) { html[data-entry="home"] body > header { animation:none; } }

html[data-entry="page"] .initial-search { display:none; }
html[data-entry="home"] body:not([data-view]) #sidebar { display:none; }
html[data-entry="home"] body:not([data-view]) .workspace { display:block; }
html[data-entry="home"] body:not([data-view]) #content { padding-top:0; }

/* LOKAL-KOMMENTAR 214
 * GEMEINSAMES SUCHDESIGN
 * Transparente Fläche, Rahmen und vorangestelltes Symbol geben allen Suchfeldern dieselbe
 * Grundsprache. Die abschließenden Suchregeln nahe Dateiende haben Vorrang vor früheren
 * Varianten.
 */
/* Shared search language: icon first, no filled background on the landing page. */
.search-field { display:block; position:relative; min-width:0; flex:1; }
.search-field::before { content:""; position:absolute; top:50%; left:15px; width:18px; height:18px; transform:translateY(-50%); background:var(--highlight); pointer-events:none; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 21l-5-5M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E") center/contain no-repeat; }
.search-field input { padding-left:44px !important; margin:0 !important; width:100%; }
#home-search-form { background:transparent; }
#home-search-form button { order:-1; padding-right:0; }
#home-query { padding-left:18px; }
body[data-view=home] .workspace { max-width:var(--page-width); }
.search-results-columns { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:48px; align-items:start; }
.search-results-columns:not(:has(.search-card-results)) { display:block; }
.search-results-columns .card-grid, #home-results .card-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.search-text-results { min-width:0; }
.search-text-results section { margin-bottom:36px; }
.rule-copy { white-space:normal; }
.rule-copy li, .rule-copy li p { text-align:left; }
.rule-copy ul, .rule-copy ol { padding-left:1.6em; margin:16px 0; }
.rule-copy li { margin:8px 0; padding-left:.25em; }
.rule-copy li > ul, .rule-copy li > ol { margin:10px 0; }
p, .rule-copy, .card-rules, .card-errata, .hint-rules { hyphens:none; overflow-wrap:normal; word-break:normal; }
@media(max-width:760px){.search-results-columns { grid-template-columns:1fr; gap:24px; }.search-results-columns .card-grid,#home-results .card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }}
/* LOKAL-KOMMENTAR 215
 * DECKANSICHT UND BEARBEITUNG
 * Die Modi benutzen dieselben Kartendaten, unterscheiden sich aber im Layout. Klassen am body
 * bzw. Container grenzen ihre Regeln von Regel-/Katalogansichten ab.
 */
/* Deck presentation and editing are separate, with the same card identities. */
.deck-edit-workspace { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:56px; align-items:start; }
.deck-edit-workspace label, .deck-description-dialog label, .deck-view-controls label { display:block; font-size:17px; }
.deck-edit-workspace input, .deck-edit-workspace select, .deck-edit-workspace textarea, .deck-description-dialog input, .deck-description-dialog textarea, .deck-description-dialog select, .deck-view-controls select { width:100%; min-width:0; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:5px; padding:10px; font:inherit; }
.deck-search-filters { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:20px 0; }
.deck-edit-workspace .deck-search > label { margin:24px 0; }
.deck-edit-workspace h2 { margin-top:0; }
.deck-edit-workspace .deck-search #deck-results { max-height:none; overflow:visible; padding:0; }
.deck-search-result { display:flex; gap:12px; align-items:center; padding:10px 0; }
.preview-name { border:0; background:none; text-align:left; padding:0; font:inherit; }
.deck-search-result .deck-hover { width:240px; }
.deck-card-name.show-preview .deck-hover, .deck-card-name:focus .deck-hover { display:block; }
.quantity-control { display:flex; align-items:center; flex:none; }
.quantity-control button { border:0; background:transparent; color:var(--highlight); padding:6px; font-size:22px; }
.quantity-control input { width:48px; padding:5px; text-align:center; appearance:textfield; font-weight:600; }
.quantity-control input::-webkit-inner-spin-button { appearance:none; }
.deck-rarity { display:block; font-size:16px; color:var(--muted); margin-top:6px; }
.over-limit .deck-rarity, .deck-live-check li { color:var(--highlight); }
.deck-printing { font-size:16px; margin-top:8px; color:var(--muted); }
.deck-live-check { font-size:17px; margin-bottom:30px; }
.deck-live-check ul { padding-left:20px; }
.deck-actions { position:relative; }.deck-actions > div { display:flex; flex-wrap:wrap; gap:12px; padding-top:16px; }
.deck-view-controls { display:flex; flex-wrap:wrap; gap:20px; margin:24px 0 40px; }.deck-view-controls label { min-width:150px; }
.deck-cover { display:flex; gap:32px; align-items:center; margin:24px 0 36px; }.deck-cover > img { width:150px; border-radius:8px; }.deck-cover p { max-width:50ch; }
.presented-zone { margin-bottom:44px; }.presented-zone h2 small { color:var(--muted); font-size:19px; }
.presentation-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 48px; }
.presentation-groups h3 { margin-top:0; font-size:21px; color:var(--muted); }
.presentation-card { color:var(--text); }.presentation-text .presentation-card { display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:baseline; margin-bottom:10px; font-size:19px; }
.presentation-card small { color:var(--muted); font-size:15px; }.presentation-quantity { font-weight:600; }
.presentation-images { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:22px; }.presentation-images .presentation-card { display:block; position:relative; font-size:17px; line-height:1.4; }.presentation-images img { display:block; width:100%; border-radius:8px; margin-bottom:10px; }.presentation-images small { display:block; }.presentation-images .presentation-quantity { margin-right:8px; }
.presentation-groups.image-groups { display:block; }.image-groups > section { margin-bottom:32px; }
.statistics-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px 40px; }.statistics-grid h3 { margin-top:0; }.statistics-grid dl div { display:flex; justify-content:space-between; gap:18px; }.statistics-grid dd { margin:0; }
.deck-statistics, .deck-check, .deck-description { margin:48px 0; }.deck-check, .deck-description { max-width:var(--reading-width); }
.deck-description ul, .deck-description li, .deck-description-dialog li { text-align:left; }
.deck-description-dialog { max-width:760px; width:calc(100% - 48px); max-height:85svh; padding:32px; background:var(--background); color:var(--text); border:1px solid var(--border); border-radius:8px; }
.deck-description-dialog::backdrop { background:#000b; }.deck-description-dialog h2 { margin-top:0; }.deck-description-dialog label { margin:18px 0; }.deck-description-dialog textarea { resize:vertical; }.deck-description-dialog .muted { font-size:17px; }
.deck-list-cover { width:65px; border-radius:5px; }.deck-list article>div { flex:1; }.deck-list p { font-size:17px; margin:6px 0 0; }
body[data-view=shared] .workspace { max-width:var(--page-width); }
@media(max-width:1050px){.presentation-text .presentation-card { grid-template-columns:32px minmax(0,1fr); }.presentation-text .presentation-card small { grid-column:2; }.deck-edit-workspace { gap:32px; }}
@media(max-width:760px){.deck-edit-workspace { grid-template-columns:1fr; }.presentation-groups { grid-template-columns:1fr; }.statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.deck-edit-workspace .deck-search #deck-results { max-height:460px; overflow:auto; }.deck-hover { position:fixed; left:50%; top:24%; transform:translateX(-50%); pointer-events:none; }.deck-list article { flex-wrap:wrap; gap:14px; }.deck-description-dialog { padding:20px; }}
@media(max-width:450px){.statistics-grid { grid-template-columns:1fr; }.deck-cover { align-items:start; gap:20px; }.deck-cover > img { width:100px; }.deck-cover h2 { font-size:25px; }}

body[data-view=shared] #content { max-width:none; }

.deck-cover > img { width:110px; }
.deck-cover { margin:18px 0 28px; }
.deck-view-controls { margin:20px 0 28px; }

/* LOKAL-KOMMENTAR 216
 * KOMPAKTE DECKBEDIENUNG
 * Älterer Grundaufbau für Inhaltsfläche und Werkzeuge. Neuere
 * .deck-heading-refined/.deck-refined-Regeln später in der Datei verfeinern diesen Aufbau; bei
 * Überschreibungen dort mitprüfen.
 */
/* Compact deck management: content left, tools right. */
.deck-heading { align-items:start; margin-bottom:24px; gap:24px; }
.deck-heading h1 { flex:1; min-width:0; margin:0; }
.deck-heading-actions { display:flex; justify-content:flex-end; gap:10px; margin-left:auto; }
.deck-heading-actions > .pill, .new-deck-menu > summary { width:190px; min-height:44px; display:flex; justify-content:center; align-items:center; box-sizing:border-box; padding:8px 12px; font-size:17px; }
.new-deck-menu { position:relative; }
.new-deck-menu summary { cursor:pointer; gap:10px; list-style:none; }
.new-deck-menu summary::-webkit-details-marker { display:none; }
.new-deck-menu > div { position:absolute; top:calc(100% + 8px); right:0; z-index:30; width:220px; display:grid; gap:8px; padding:12px; background:#0d2b31; border:1px solid #eee6d330; border-radius:10px; box-shadow:0 12px 30px #0008; }
.import-file { position:relative; overflow:hidden; text-align:center; cursor:pointer; }
.import-file input { position:absolute; inset:0; opacity:0; width:100%; cursor:pointer; }
.import-file:focus-within { outline:2px solid var(--highlight); outline-offset:3px; }
.deck-shell { display:grid; grid-template-columns:minmax(0,1fr) 190px; gap:32px; align-items:start; }
.deck-shell > :first-child { min-width:0; }
.deck-control-rail { display:block; min-width:0; position:sticky; top:24px; }
.deck-control-rail .deck-toolbar, .deck-control-rail .deck-view-controls, .deck-control-rail .deck-actions > div { display:flex; flex-direction:column; align-items:stretch; gap:10px; margin:0; }
.deck-control-rail .deck-view-controls { margin-top:24px; gap:16px; }
.deck-control-rail .pill { width:100%; box-sizing:border-box; text-align:center; padding:8px 10px; font-size:17px; }
.deck-control-rail .deck-actions { font-size:17px; }
.deck-control-rail .deck-actions summary { padding:10px 0; cursor:pointer; }
.deck-view-controls select { padding:7px 9px; margin-top:5px; }
.deck-view-controls .cost-toggle { display:flex; align-items:start; gap:8px; min-width:0; line-height:1.3; text-align:left; }
.cost-toggle input { width:17px; height:17px; flex:none; margin:3px 0 0; accent-color:var(--primary); }
.cost-help { font-size:15px; color:var(--muted); margin:0; text-align:left; }
.deck-glass { border:1px solid #eee6d324; background:linear-gradient(135deg,#eee6d307,#8f6c2b09); border-radius:12px; box-shadow:0 6px 18px #0004,inset 0 1px 0 #ffffff05; }
.deck-glass:hover { border-color:#d5b97670; box-shadow:0 8px 24px #0006; }
.deck-list { display:grid; gap:12px; }
.deck-list article { display:flex; flex-wrap:nowrap; gap:20px; padding:12px 16px; min-height:72px; }
.deck-list-leaders { display:flex; gap:6px; flex:none; }
.deck-list-leaders img, .leader-placeholder { width:43px; height:60px; object-fit:contain; border-radius:4px; }
.leader-placeholder { display:grid; place-items:center; border:1px solid #eee6d318; color:var(--muted); }
.deck-list article .deck-list-info { flex:1; min-width:0; }
.deck-list-info strong, .deck-list-info p { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.deck-list-info small { margin-top:2px; }
.deck-list-info p { margin:2px 0 0; }
.deck-list article .deck-list-links { display:flex; flex:none; gap:8px; }
.deck-list-links .pill { font-size:17px; }
.deck-reveal { animation:deck-reveal 360ms ease-out both; animation-delay:calc(var(--reveal-index,0) * 45ms); }
@keyframes deck-reveal { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
.deck-edit-workspace { gap:28px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.deck-edit-workspace .deck-search { grid-column:auto; order:initial; margin:0; }
.deck-edit-workspace .deck-cards { order:initial; min-width:0; }
.deck-edit-workspace .deck-search-filters { gap:8px 10px; margin:12px 0; }
.deck-search-filters label { font-size:15px; }
.deck-search-filters select, .deck-search-filters input { padding:6px 8px; height:34px; font-size:16px; }
.deck-edit-workspace .deck-search > label { margin:16px 0; font-size:15px; }
.deck-edit-workspace #deck-zone { font-size:16px; padding:6px; }
.deck-edit-workspace #deck-results { display:block; }
.deck-search-result { gap:8px; padding:8px 0; }
.deck-entry { margin-bottom:8px; }
.deck-entry-main { gap:6px; }
.deck-entry-main > .pill { padding:3px 8px; min-width:28px; flex:none; }
.deck-entry-main .deck-card-name { font-size:18px; }
.deck-entry-main .quantity-control input { width:36px; }
.deck-entry.over-limit .quantity-control { outline:1px solid var(--highlight); border-radius:6px; }
.deck-live-check { margin-bottom:20px; font-size:15px; }
.deck-section { margin:24px 0; }.deck-section h3 { margin-bottom:12px; }
.leader-zones { display:flex; align-items:start; gap:24px; flex-wrap:wrap; }
.leader-zones > .presented-zone { flex:0 1 180px; min-width:140px; }
.leader-zones.leader-text > .presented-zone { flex:1 1 280px; }
.presented-zone h2 { margin-top:0; }
.presentation-groups.image-groups { display:flex; flex-wrap:wrap; align-items:start; gap:24px 18px; }
.image-groups > section { flex:0 1 calc(var(--group-size,1) * 166px - 18px); max-width:100%; min-width:min(148px,100%); margin:0; }
.presentation-images { display:grid; grid-template-columns:repeat(auto-fit,minmax(135px,1fr)); gap:18px; }
.presentation-images .presentation-card { padding:6px 6px 10px; min-width:0; font-size:16px; }
.presentation-images .presentation-card > img { margin-bottom:8px; }
.presentation-images .presentation-name { overflow-wrap:anywhere; }
.presentation-images small { margin-top:4px; }
.presentation-cost { display:block; color:var(--highlight); font-size:16px; margin-top:3px; }
.cost-forbidden { font-size:14px; }
.presentation-text .presentation-card { padding:10px; grid-template-columns:30px minmax(0,1fr); align-items:center; gap:4px 8px; }
.presentation-text .presentation-card small, .presentation-text .presentation-cost { grid-column:2; margin:0; }
.presentation-text .presentation-card:hover, .presentation-text .presentation-card:focus { z-index:30; position:relative; }
.deck-kpis { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:24px 0 32px; }
.deck-kpis > div { display:flex; flex-direction:column; text-align:left; }
.deck-kpis strong { font-size:34px; line-height:1.2; color:var(--highlight); font-weight:500; }
.deck-kpis span { font-size:16px; }
.cost-chart { margin-bottom:36px; }.cost-chart p, .deck-statistics > .muted { font-size:16px; }
.asp-histogram { display:flex; align-items:stretch; gap:12px; min-height:160px; padding-top:12px; }
.asp-histogram > div { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; width:52px; height:160px; gap:6px; font-size:17px; }
.asp-bar { display:block; min-height:3px; height:var(--bar-height); width:100%; background:linear-gradient(0deg,#8f6c2b,#d5b976); border-radius:5px 5px 0 0; }
.statistics-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.stat-distribution > div { display:grid; grid-template-columns:minmax(0,1fr) auto auto; column-gap:12px; margin-bottom:12px; font-size:17px; }
.stat-distribution small { color:var(--muted); width:38px; text-align:right; }
.stat-distribution meter { grid-column:1/-1; width:100%; height:8px; accent-color:var(--highlight); }
@media(max-width:1100px){
 .deck-shell:has(.deck-edit-workspace) { grid-template-columns:minmax(0,1fr); }
 .deck-shell:has(.deck-edit-workspace) .deck-control-rail { position:static; grid-row:1; }
 .deck-shell:has(.deck-edit-workspace) .deck-toolbar { flex-direction:row; flex-wrap:wrap; justify-content:flex-end; }
 .deck-shell:has(.deck-edit-workspace) .deck-toolbar > .pill { width:auto; }
}
@media(max-width:760px){
 .deck-heading { gap:16px; }.deck-heading-actions { flex-wrap:wrap; gap:8px; width:100%; }
 .deck-heading-actions > .pill, .new-deck-menu > summary { width:170px; }
 .deck-shell { grid-template-columns:1fr; gap:28px; }
 .deck-control-rail { position:static; grid-row:1; }
 .deck-control-rail .deck-toolbar { display:grid; grid-template-columns:1fr 1fr; }
 .deck-control-rail .deck-view-controls { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
 .deck-control-rail .deck-view-controls label { min-width:0; }
 .deck-edit-workspace { grid-template-columns:1fr; gap:32px; }
 .deck-list article { gap:12px; padding:10px; }.deck-list-leaders { gap:4px; }
 .deck-list article .deck-list-links { flex-direction:column; gap:4px; }
 .deck-list-links .pill { padding:4px 8px; font-size:15px; }
 .deck-list strong { font-size:20px; }.deck-list small { font-size:15px; }
 .deck-list-leaders img,.leader-placeholder { width:32px; height:46px; }
 .leader-zones { gap:16px; }.leader-zones > .presented-zone { flex:1 1 130px; max-width:180px; min-width:0; }
 .presentation-images { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:12px; }
 .deck-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .deck-card-name.show-preview .deck-hover { display:block!important; }
}
@media(max-width:450px){.statistics-grid { grid-template-columns:1fr; }.deck-list-info p { display:none; }.deck-heading-actions > .pill,.new-deck-menu > summary { width:158px; font-size:15px; }}
@media(prefers-reduced-motion:reduce){.deck-reveal { animation:none; }}
.image-groups > section { flex:var(--group-size,1) 1 148px; max-width:min(100%,calc(var(--group-size,1) * 166px - 18px)); }
.deck-list { grid-template-columns:minmax(0,1fr); }
.deck-list article { min-width:0; }
.deck-control-rail { top:110px; }
@media(max-width:760px){.deck-heading-actions > .pill,.new-deck-menu > summary { height:52px; line-height:1.2; }}

/* LOKAL-KOMMENTAR 217
 * DECK-KACHELN UND RUHIGE FORMULARE
 * Wiederverwendbare Flächen, Abstände und Bedienelemente. Die Leseansicht und der Editor sollen
 * zur selben Website gehören, auch wenn ihre Inhalte unterschiedlich angeordnet sind.
 */
/* Quiet editing and consistent presentation tiles. */
.deck-cards > .deck-section:first-child { margin-top:0; }
.deck-filter-menu { margin-top:12px; }
.deck-filter-menu > summary { font-size:17px; cursor:pointer; }
.deck-control-rail .deck-actions { display:flex; flex-direction:column; gap:10px; }
.deck-control-rail .deck-actions .deck-export { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px; padding:0; }
.deck-export select { width:100%; min-width:0; background:var(--surface); color:var(--text); border:1px solid var(--border); border-radius:5px; padding:6px; font:inherit; font-size:15px; }
.deck-control-rail .deck-export .pill { width:auto; padding-inline:8px; font-size:15px; }
.deck-control-rail { max-height:calc(100svh - 130px); overflow-y:auto; scrollbar-width:thin; padding:2px; }
.presentation-images { grid-template-columns:repeat(auto-fill,148px); }
.presentation-images .presentation-card { width:148px; height:310px; box-sizing:border-box; display:grid; grid-template-columns:22px minmax(0,1fr); grid-template-rows:188px 48px 20px 18px; gap:4px 2px; padding:6px; font-size:13px; line-height:16px; align-content:start; }
.presentation-images .presentation-card > img { grid-column:1/-1; width:100%; height:188px; object-fit:contain; margin:0; }
.presentation-images .presentation-name { overflow:hidden; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow-wrap:normal; }
.presentation-images .presentation-quantity { margin:0; }
.presentation-images .presentation-card small { grid-column:1/-1; margin:0; font-size:12px; white-space:nowrap; }
.presentation-images .presentation-cost { grid-column:1/-1; margin:0; font-size:13px; line-height:18px; }
.presentation-text .presentation-card { display:flex; gap:8px; padding:0; margin:0; border:0; border-radius:0; background:none; box-shadow:none; font-size:16px; line-height:1.6; white-space:nowrap; width:max-content; min-width:100%; }
.presentation-text .presentation-quantity { width:26px; flex:none; text-align:right; }
.presentation-text .presentation-name { flex:none; white-space:nowrap; }
.presentation-text { overflow-x:auto; padding-bottom:4px; }
.deck-text-view .presented-zone { margin-bottom:20px; }
.deck-text-view .presented-zone h2 { font-size:23px; margin-bottom:8px; }
.deck-text-view .presentation-groups { gap:16px 28px; }
.deck-text-view .presentation-groups > section { min-width:0; }
.deck-text-view .presentation-groups h3 { font-size:17px; margin:0 0 4px; }
.deck-text-view .leader-zones > .presented-zone { max-width:none; }
@media(max-width:760px){
 .deck-control-rail { max-height:none; overflow:visible; }
 .deck-control-rail .deck-actions { grid-column:1/-1; display:grid; grid-template-columns:1fr 1fr; }
 .presentation-images { grid-template-columns:repeat(auto-fill,148px); }
 .image-groups > section { min-width:148px; }
 .leader-zones > .presented-zone { flex-basis:148px; }
}
.deck-text-view #presented-cards { columns:2; column-gap:28px; }
.deck-text-view #presented-cards > .deck-top-zones, .deck-text-view .deck-top-zones > .leader-zones { display:contents; }
.deck-text-view .presented-zone { break-inside:avoid; }
.deck-text-view .presentation-groups { display:block; columns:1; }
.deck-text-view .presentation-groups > section { break-inside:avoid; margin-bottom:12px; }
.deck-text-view .leader-zones .presentation-groups { columns:1; }
.deck-text-view .leader-zones .presentation-groups h3 { display:none; }
@media(max-width:760px){.deck-text-view #presented-cards { columns:1; }}

/* LOKAL-KOMMENTAR 218
 * DARSTELLUNGSOPTIONEN IM DOKUMENTFLUSS
 * Die Optionen und Aktionen können durch JavaScript umgehängt werden. Positionierung nicht
 * ausschließlich über ihre ursprüngliche HTML-Reihenfolge erklären; aktuelle Elterncontainer
 * beachten.
 */
/* Presentation controls precede actions; the rail follows normal page scrolling. */
.deck-control-rail { position:static; top:auto; max-height:none; overflow:visible; }
.deck-control-rail .deck-view-controls { margin:0 0 24px; }
.presentation-images .presentation-card { height:254px; grid-template-rows:188px 48px; }
.presentation-text .deck-hover { display:none!important; }
.deck-floating-preview { position:fixed; z-index:1000; object-fit:contain; pointer-events:none; border-radius:10px; box-shadow:0 12px 35px #000a; }
.deck-floating-preview[hidden] { display:none; }

/* LOKAL-KOMMENTAR 219
 * KONTEXTABHÄNGIGE BEDIENUNG
 * Häufig gebrauchte Informationen bleiben sichtbar; seltene Aktionen erscheinen in aufklappbaren
 * Menüs. Bei neuen Controls diese vorhandenen Klassen wiederverwenden.
 */
/* Compact workspaces: persistent information, contextual secondary actions. */
.home-search { transition:padding-top 480ms cubic-bezier(.22,1,.36,1); overflow-anchor:none; }
#home-search-form { transition:width 480ms cubic-bezier(.22,1,.36,1); }
#home-query { transition:font-size 480ms cubic-bezier(.22,1,.36,1),padding 480ms cubic-bezier(.22,1,.36,1); }
#home-search-form button { transition:padding 480ms cubic-bezier(.22,1,.36,1); }
.home-search.has-query { padding-top:24px; }
.home-search.has-query #home-search-form { width:100%; }
.home-search.has-query #home-query { font-size:25px; padding-block:12px; }
.home-search.has-query #home-search-form button { padding-block:12px; }
body[data-view=home]:has(.has-query) .home-status { margin-top:16px; }
body[data-view=home]:has(.has-query) #home-results h2 { margin:22px 0 14px; }
.search-text-results .result { margin:18px 0; }
.search-text-results .result p { font-size:18px; line-height:1.5; }

.action-menu { position:relative; display:inline-block; flex:none; font-size:17px; }
.action-menu > summary { list-style:none; cursor:pointer; color:var(--muted); }
.action-menu > summary::-webkit-details-marker { display:none; }
.action-menu > summary:hover { color:var(--highlight); }
.action-menu[open] { z-index:30; }
.menu-items { position:absolute; right:0; top:calc(100% + 6px); width:250px; max-width:calc(100vw - 48px); display:grid; padding:6px; background:#0d2b31; border:1px solid #405a59; border-radius:7px; box-shadow:0 12px 28px #0007; }
.menu-items > :is(button,a,label), .menu-items .pill { display:block; width:100%; min-height:40px; padding:8px 12px; border:0; background:transparent; color:var(--text); text-align:left; font-size:17px; line-height:1.4; border-radius:4px; text-decoration:none; }
.menu-items > :is(button,a,label):hover, .menu-items .pill:hover { background:#ffffff0a; color:var(--highlight); text-decoration:none; }
.menu-items > [data-action=trash] { color:var(--highlight); border-top:1px solid #ffffff12; margin-top:4px; }
.card-page-tools .menu-items { left:0; right:auto; }
.card-page-tools { gap:10px 24px; margin-top:14px; }
.card-page { gap:28px; }
.card-type-line { margin-top:8px; }
.card-stats, .card-facts, .card-extra, .card-flavor { margin-top:20px; }
.card-facts > div { padding-block:5px; }
.printing-current { padding-bottom:12px; }
.printing-list { margin-top:22px; }
.printing-list h2 { margin-bottom:8px; }
.printing-link { padding-block:6px; font-size:17px; }
.transcription-status, .card-artist { margin-top:18px; }

.rule { margin-bottom:36px; }
.rule-head { align-items:baseline; margin-bottom:14px; }
.rule-head h2 { flex:1; min-width:0; margin:0; }
.rule-menu { margin-left:auto; align-self:flex-start; }
.rule-menu > summary { display:grid; place-items:center; width:36px; height:36px; font-size:24px; line-height:1; }
.rule-copy p { margin-bottom:18px; }

.catalog-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; margin:18px 0; }
.catalog-toolbar .count { flex:1; min-width:150px; }
.catalog-sort { display:flex; align-items:center; gap:10px; font-size:17px; }
.catalog-sort select { padding:5px 9px; font-size:17px; }
.filter-toggle { font-size:17px; padding:5px 12px; }
.filter-toggle[aria-expanded=true] { border-color:var(--highlight); color:var(--highlight); }
#active-filters { color:inherit; }
#advanced-search { margin:0 0 24px; }
#advanced-form { padding:0; }
.filter-group { border-top:1px solid #ffffff18; padding:12px 0; }
.filter-group > summary { font-size:20px; color:var(--text); padding:2px 0; }
.filter-group .advanced-row { grid-template-columns:150px minmax(0,1fr); gap:24px; padding:16px 0; }
.filter-group .advanced-row h2 { font-size:21px; }
.filter-group .advanced-fields { gap:14px; }
.filter-group .advanced-row:first-of-type .advanced-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.filter-group .advanced-fields > label, .filter-group legend, .filter-group .filter-choices label { font-size:17px; }
.filter-group .filter-help { font-size:16px; }
.filter-group .pill { padding:6px 10px; font-size:17px; }
.advanced-actions { padding-top:12px; gap:20px; }
.filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 18px; }
.filter-chip { display:inline-flex; align-items:center; gap:10px; max-width:100%; padding:4px 10px; border:1px solid #405a59; border-radius:4px; background:transparent; color:var(--text); font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.filter-chip span { color:var(--highlight); font-size:20px; line-height:1; }
.filter-chip:hover { border-color:var(--highlight); }

.deck-shell, .deck-shell:has(.deck-edit-workspace) { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:32px; }
.deck-shell > :is(.deck-edit-workspace,#deck-presentation) { width:100%; min-width:0; }
.deck-heading { margin-bottom:20px; }
.deck-heading-actions:empty { display:none; }
.deck-heading-actions { width:auto; align-items:center; }
.deck-heading-actions > .pill { width:auto; min-width:130px; height:44px; min-height:44px; font-size:17px; }
.deck-heading-actions > [data-action=new] { background:var(--primary); border-color:var(--primary); }
.overview-more > summary { display:grid; place-items:center; width:44px; height:44px; padding:0; font-size:24px; }
.deck-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; margin:0; }
.deck-toolbar > .pill, .deck-more > summary { width:auto; font-size:17px; padding:7px 12px; }
.deck-toolbar > [data-action=mode] { background:var(--primary); border-color:var(--primary); }
.deck-back { margin-right:auto; font-size:17px; }
.deck-online-actions { display:flex; align-items:center; gap:16px; }
.deck-online-actions .pill { background:transparent; border:0; padding:6px 0; color:var(--muted); font-size:17px; }
.deck-online-actions .pill:hover { color:var(--highlight); background:transparent; }
.deck-export { display:grid; grid-template-columns:1fr auto; gap:6px; padding:10px 12px; border-block:1px solid #ffffff12; margin-block:4px; }
.deck-export > label { grid-column:1/-1; font-size:15px; color:var(--muted); }
.deck-export select { min-width:0; padding:5px 8px; font-size:16px; }
.menu-items .deck-export .pill { width:auto; padding:5px 8px; font-size:16px; }
.deck-view-controls { display:flex; align-items:end; flex-wrap:wrap; gap:14px 24px; margin:0; padding:0 0 16px; border-bottom:1px solid #ffffff14; }
.deck-view-controls > label { min-width:130px; font-size:16px; }
.deck-view-controls select { font-size:17px; padding:5px 9px; }
.deck-view-controls .cost-toggle { min-width:0; max-width:230px; padding-bottom:5px; }
.deck-view-controls .cost-help { flex-basis:100%; font-size:15px; margin:0; line-height:1.4; }
.deck-shell .deck-control-rail { grid-row:auto; position:static; padding:0; }
.deck-shell .deck-control-rail .deck-toolbar { display:flex; flex-direction:column; align-items:stretch; gap:10px; }
.deck-shell .deck-control-rail .deck-toolbar > .pill, .deck-control-rail .deck-more > summary { width:100%; }
.deck-control-rail .deck-back { margin:0 0 4px; }
.deck-control-rail .deck-online-actions { flex-direction:column; align-items:stretch; gap:4px; }
.deck-control-rail .deck-online-actions .pill { text-align:left; padding:6px 10px; }
.deck-control-rail .deck-more { width:100%; }
.deck-control-rail .deck-more .menu-items { width:260px; }
.deck-control-rail .deck-view-controls { display:flex; flex-direction:column; align-items:stretch; gap:14px; margin:0 0 20px; }
.deck-control-rail .deck-view-controls > label { min-width:0; }
.deck-control-rail .deck-view-controls .cost-toggle { max-width:none; }
.deck-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0 0 24px; padding:12px 0; border-block:1px solid #ffffff14; }
.deck-summary > div { display:flex; flex-direction:column; }
.deck-summary dt { order:2; font-size:15px; color:var(--muted); }
.deck-summary dd { order:1; margin:0; font-size:26px; line-height:1.2; }
.deck-heading .deck-summary { width:min(52%,590px); flex:none; margin:0 0 0 auto; border:0; padding:0; gap:12px; }
.deck-heading:has(.deck-summary) h1 { font-size:34px; }
.deck-heading .deck-summary dt { font-size:14px; }
.deck-top-zones { display:flex; align-items:start; flex-wrap:wrap; gap:24px 36px; }
.deck-top-zones > .leader-zones { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:360px; flex:none; max-width:100%; }
.deck-top-zones > .leader-zones.leader-text { width:min(100%,620px); }
.deck-top-zones .leader-zones > .presented-zone { min-width:0; }
.deck-top-zones > .presented-zone { flex:1; min-width:min(260px,100%); }
.deck-validation { margin:0 0 20px; padding-left:20px; font-size:17px; color:var(--highlight); }
.deck-list article { gap:16px; }
.deck-statistics { margin-top:32px; }

body[data-view=proxy] #content { max-width:none; }
.proxy-workspace { display:grid; grid-template-columns:minmax(300px,.85fr) minmax(0,1.15fr); gap:40px; align-items:start; }
.proxy-input { min-width:0; }
.proxy-input > label { font-size:24px; }
.proxy-intro { font-size:17px; color:var(--muted); margin:8px 0 14px; text-align:left; line-height:1.5; }
.proxy-actions { flex-wrap:wrap; gap:10px 16px; }
.proxy-actions > span { font-size:15px; }
.proxy-input > .advanced-filters { margin:20px 0; }
.proxy-input .advanced-filters p { text-align:left; font-size:17px; }
.proxy-input .proxy-actions label { display:flex; flex:1; flex-direction:column; font-size:17px; }
.proxy-input .proxy-actions label input { width:100%; }
.proxy-output-toolbar { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; min-height:44px; }
.proxy-output-toolbar .text-button { font-size:17px; }
#proxy-status { margin:16px 0; font-size:17px; text-align:left; }
.proxy-output .proxy-frame { height:clamp(440px,65vh,700px); margin-top:0; }
#proxy-rows .proxy-row { gap:8px; grid-template-columns:28px minmax(0,1fr); }
#proxy-rows .proxy-row > select { grid-column:2; }
#proxy-rows input, #proxy-rows select { width:100%; min-width:0; font-size:16px; padding:6px; }
.count, .cost-help, .deck-list-info small, .transcription-status { text-align:left; }

@media(min-width:761px) and (max-width:1100px){
  .deck-shell .deck-edit-workspace { grid-template-columns:minmax(0,1fr); }
}
@media(max-width:760px){
  .home-search.has-query { padding-top:20px; }
  .home-search.has-query #home-query { font-size:24px; }
  .filter-group .advanced-row { grid-template-columns:1fr; gap:12px; }
  .filter-group .advanced-row:first-of-type .advanced-fields { grid-template-columns:1fr; }
  .catalog-toolbar { gap:10px 14px; }
  .catalog-toolbar .count { flex-basis:100%; }
  .catalog-sort { margin-right:auto; }
  .deck-heading-actions { width:auto; margin-left:auto; flex-wrap:nowrap; gap:8px; }
  .deck-heading-actions > .pill { min-width:120px; font-size:17px; }
  .deck-list-info strong { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; white-space:normal; overflow-wrap:anywhere; }
  .menu-items > :is(button,a,label), .menu-items .pill { min-height:44px; }
  .deck-toolbar { display:flex; justify-content:flex-start; gap:10px 16px; }
  .deck-back { flex-basis:100%; }
  .deck-online-actions { gap:14px; flex-wrap:wrap; }
  .deck-toolbar > .pill, .deck-more > summary { font-size:16px; }
  .deck-view-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .deck-view-controls > label { min-width:0; }
  .deck-view-controls .cost-help { grid-column:1/-1; }
  .deck-shell, .deck-shell:has(.deck-edit-workspace) { grid-template-columns:minmax(0,1fr); gap:24px; }
  .deck-shell .deck-control-rail { grid-row:1; }
  .deck-shell .deck-control-rail .deck-toolbar { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:10px 16px; }
  .deck-shell .deck-control-rail .deck-toolbar > .pill, .deck-control-rail .deck-more > summary { width:auto; }
  .deck-control-rail .deck-online-actions { flex-direction:row; flex-wrap:wrap; gap:14px; }
  .deck-control-rail .deck-online-actions .pill { width:auto; padding:6px 0; }
  .deck-control-rail .deck-more { width:auto; }
  .deck-control-rail .deck-view-controls { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .deck-control-rail .deck-view-controls .cost-toggle { align-items:start; }
  .deck-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 20px; }
  .deck-summary dt { font-size:15px; }
  .deck-heading:has(.deck-summary) { flex-wrap:wrap; }
  .deck-heading:has(.deck-summary) h1 { flex-basis:100%; font-size:30px; }
  .deck-heading .deck-summary { width:100%; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
  .deck-heading .deck-summary dt { font-size:13px; }
  .deck-heading .deck-summary dd { font-size:24px; }
  .deck-top-zones > .leader-zones { width:100%; }
  .proxy-workspace { grid-template-columns:minmax(0,1fr); gap:24px; }
  .proxy-output .proxy-frame { height:480px; }
}
@media print { .action-menu, .deck-toolbar, .deck-view-controls, .deck-control-rail, .card-page-tools { display:none!important; }.deck-shell { display:block; } }

/* LOKAL-KOMMENTAR 220
 * SYMBOLE IM FLIESSTEXT
 * .game-symbol definiert die gemeinsame Bildbox. object-fit:contain erhält das Seitenverhältnis.
 * Spezialregeln für Kopf, Werte und Hover begrenzen die Größe; die finale Mittel-Ausrichtung
 * steht bei Shared symbol boxes.
 */
/* Card symbols retain their printed shapes and accessible text equivalents. */
.game-symbol{display:inline-block;width:1.45em;height:1.45em;object-fit:contain;vertical-align:middle;margin:0 .16em;flex-shrink:0}
.cost-symbol{width:1.9em;height:1.9em}
.card-title-line .cost-symbol{width:2.4rem;height:2.4rem}
.card-stats dt .game-symbol{width:1.8rem;height:1.8rem;margin:0 .35em .15em 0}
.stat-filter legend .game-symbol{width:1.25rem;height:1.25rem;margin-left:0}
.card-rules .game-symbol,.hint-rules .game-symbol{vertical-align:-.3em}
.card-facts .game-symbol{margin-left:0}

/* LOKAL-KOMMENTAR 221
 * SYMBOLGRÖSSEN IN HOVER-VORSCHAUEN
 * Allgemeine Regeln für Kartenbilder dürfen kleine Textsymbole nicht zu Kartenformaten
 * aufblasen. Deshalb für Symbolbilder feste Breite/Höhe und keine geerbten Bildradien verwenden.
 */
/* Explicit sizes prevent card-art rules from enlarging inline tooltip icons. */
.card-hint img.game-symbol{display:inline-block;width:24px;height:24px;max-width:24px;max-height:24px;aspect-ratio:1;object-fit:contain;border-radius:0;vertical-align:-5px}
.card-hint img.cost-symbol{width:30px;height:30px;max-width:30px;max-height:30px}

/* LOKAL-KOMMENTAR 222
 * HINWEISE UND ERRATA AUF DER DETAILSEITE
 * Diese Texte bleiben Teil der vollständigen Kartenansicht. Die Hover-Vorschau wird in
 * JavaScript gekürzt; nicht alle .card-errata pauschal ausblenden.
 */
/* Card notes follow the reading layout: semantic paragraphs, no extra frame. */
.card-errata { border-top: 0; padding-top: 0; }
.card-errata > div { max-width: 66ch; }
.card-errata p { margin: 0 0 1em; font-size: 20px; line-height: 1.6; }
.card-errata p:last-child { margin-bottom: 0; }

/* LOKAL-KOMMENTAR 223
 * REDAKTIONSOBERFLÄCHE
 * Eigene Container/IDs grenzen Formularstile von öffentlichen Seiten ab. Die tatsächliche
 * Zugriffsberechtigung liegt im PHP-Server; CSS zeigt nur die erlaubte Oberfläche.
 */
/* Authenticated card editorial workspace. */
.editor-heading,.editor-actions,.editor-toolbar { display:flex;align-items:center;gap:14px;flex-wrap:wrap; }
.editor-heading { justify-content:space-between; }
.editor-toolbar label { flex:1;min-width:180px; }
.editor-toolbar input,.editor-toolbar select { width:100%; }
.editor-workspace { display:grid;grid-template-columns:190px minmax(0,1fr);gap:24px;margin:24px 0; }
#editor-list { width:100%;height:65vh;position:sticky;top:100px;font:inherit; }
#editor-list option { padding:6px; }
.editor-compare { display:grid;grid-template-columns:minmax(160px,30%) minmax(0,1fr);gap:24px; }
.editor-reference { align-self:start;position:sticky;top:100px; }
.editor-reference img { width:100%;max-height:55vh;object-fit:contain; }
.editor-reference>a { display:block;margin-bottom:12px; }
#editor-form fieldset { border:0;padding:0;margin:0;min-width:0; }
#editor-form legend { font-size:23px;margin-bottom:14px; }
#editor-form label,#editor-role-form label { display:block;margin-bottom:14px; }
#editor-form input:not([type=checkbox]),#editor-form select,#editor-form textarea,#editor-role-form input,#editor-role-form select { display:block;width:100%;font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:8px; }
#editor-form textarea { resize:vertical;line-height:1.45; }
#editor-form fieldset:disabled { opacity:.9; }
.editor-numbers { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px; }
.editor-mechanics { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px; }
.editor-actions { margin:24px 0; }
.editor-diff-row { margin:0 0 20px; }
.editor-diff dt { font-weight:600; }.editor-diff dd { margin:6px 0; }
.editor-diff del,.editor-diff ins { display:block;white-space:pre-wrap;text-decoration:none;overflow-wrap:anywhere;max-width:66ch; }
.editor-diff del { border-left:3px solid #b66;padding-left:12px; }.editor-diff ins { border-left:3px solid #8a8;padding-left:12px;margin-top:8px; }
.editor-conflict,#editor-message { color:var(--highlight); }
#editor-history article { margin:24px 0; }#editor-roles { margin-top:32px; }
@media(max-width:800px){.editor-workspace{grid-template-columns:1fr;}#editor-list{position:static;height:150px;}.editor-compare{grid-template-columns:1fr;}.editor-reference{position:static;}.editor-reference img{max-height:40vh;}.editor-numbers{grid-template-columns:repeat(2,minmax(0,1fr));}}
/* LOKAL-KOMMENTAR 224
 * FORMULARTABS
 * Kartentext, Werte/Typ und Druck/Quelle teilen sich die Arbeitsfläche. Bild, Änderungsgrund und
 * Primäraktionen bleiben getrennt davon. hidden-Panels nicht durch pauschales display:block
 * sichtbar machen.
 */
/* Compact field tabs retain the image and primary actions while editing. */
.editor-field-tabs { display:flex;gap:8px;margin-bottom:12px; }
.editor-field-tabs button { flex:1;padding:6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);font:inherit; }
.editor-field-tabs [aria-selected=true] { background:var(--primary);color:#fff; }
.editor-field-panel[hidden] { display:none; }
.editor-panel-info,.editor-panel-meta { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px; }
.editor-panel-meta label:has(textarea),.editor-panel-info .editor-numbers,.editor-panel-info .editor-mechanics { grid-column:1/-1; }
.editor-panel-meta label:has(textarea) { order:2; }
.editor-panel-text label,.editor-panel-meta label:has(textarea) { display:flex;flex-direction:column; }
#editor-form legend { display:none; }
#editor-form label { margin-bottom:8px; }
#editor-form p { font-size:15px;line-height:1.3;margin:8px 0; }
#editor-form [name=sourceNote] { min-height:56px; }
.editor-panel-text textarea { min-height:50px; }
.editor-panel-text [name=rulesText] { min-height:160px; }
.editor-heading h1 { margin:0;font-size:30px; }.editor-heading p{margin:0;}
@media(min-width:1000px){.editor-workspace{grid-template-columns:130px minmax(0,1fr);gap:18px;}.editor-compare{grid-template-columns:200px minmax(0,1fr);gap:18px;}.editor-reference img{max-height:42vh;}.editor-panel-text{display:grid;grid-template-columns:1fr 1fr;gap:8px;}.editor-panel-text label:first-child{grid-column:1/-1;}.editor-panel-text textarea:not([name=rulesText]){height:64px;}.editor-panel-info input,.editor-panel-info select{padding:4px!important;}.editor-field-panel{min-height:280px;}.editor-panel-meta textarea{min-height:150px;}}
.editor-card-heading h2 { margin:0;font-size:26px; }.editor-card-heading p{margin:6px 0 12px;font-size:16px;}
#editor-form label:has([name=textReviewed]),#editor-form label:has([name=infoReviewed]) { display:inline-block;margin:8px 12px 8px 0;font-size:16px; }
@media(min-width:1000px){body[data-view=editor] .workspace{padding-top:20px;}#editor-message:empty{display:none;}.editor-toolbar{margin-top:12px;}.editor-workspace{margin-top:16px;}#editor-list{font-size:16px;}#editor-form .editor-panel-text [name=rulesText]{height:160px;}#editor-form [name=sourceNote]{min-height:0;}.editor-field-tabs button{font-size:18px;}.editor-field-panel{min-height:245px;}}

/* LOKAL-KOMMENTAR 225
 * KARTENKOPF UND FESTE WERTEPLÄTZE
 * Dreispaltiges Raster: Kosten links, Name mittig, Mechaniken rechts. .card-values hat fünf
 * feste Spalten. Dadurch verschieben fehlende Angaben die folgenden Symbole nicht.
 */
/* Card face hierarchy: cost / centered identity / level and mechanics. */
.card-heading{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:12px;align-items:start}
.card-heading-name{text-align:center;min-width:0}
.card-heading-name h1{font-size:clamp(25px,2.2vw,34px);line-height:1.15;margin:0;text-align:center}
.card-heading-name .card-type-line{font-size:17px;line-height:1.35;margin:6px 0 0;text-align:center}
.card-heading-cost .game-symbol{width:42px;height:42px;margin:0}
.card-heading-badges{display:flex;flex-direction:column;align-items:center;gap:6px}
.card-heading-badge{display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1.2}
.card-heading-badge .game-symbol{width:32px;height:32px;margin:0}
.card-values{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:20px 0 0;padding:14px 0;border-top:1px solid var(--card-divider);border-bottom:1px solid var(--card-divider)}
.card-value{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0}
.card-value dt{display:flex;align-items:center}.card-value dt .game-symbol{width:28px;height:28px;margin:0}
.card-value dd{margin:0;font-size:23px;line-height:1;font-variant-numeric:tabular-nums}
.card-page-text > .card-values + .card-rules{border-top:0;padding-top:0;margin-top:18px}
@media(max-width:480px){.card-heading{grid-template-columns:36px minmax(0,1fr) 36px;gap:8px}.card-heading-cost .game-symbol{width:36px;height:36px}.card-value{gap:3px}.card-value dt .game-symbol{width:24px;height:24px}.card-value dd{font-size:20px}}

.generated-reminder{font-style:italic;color:var(--muted);margin-left:.3em}.generated-reminder.reminder-reference{display:block;margin:12px 0 0;font-size:.9em}.card-hint .generated-reminder{font-size:.94em}

/* LOKAL-KOMMENTAR 226
 * GEMEINSAME TEXTKARTE
 * Detailseite und Hover nutzen dieselben Grundbausteine. .card-hint verkleinert gezielt Schrift
 * und Symbolgrößen; allgemeine span-Regeln können Flex-/Grid-Elemente überschreiben und
 * benötigen daher spezifische Gegenspieler.
 */
/* Shared card face: detail and floating search preview. */
.card-value{justify-content:flex-start}
.card-rule-paragraph{margin:0 0 .45em;text-align:inherit}
.card-rule-paragraph:last-child{margin-bottom:0}
.card-rules em,.card-hint .generated-reminder,.generated-reminder.reminder-reference{font-size:calc(1em - .5px)}
.card-hint{--card-divider:#355052}
.card-hint span{display:inline;margin:0}
.card-hint .card-heading-name h2{font-size:23px;line-height:1.15;margin:0;text-align:center}
.card-hint .card-heading-name .card-type-line{font-size:15px;margin-top:6px}
.card-hint .card-heading-cost .game-symbol{width:36px;height:36px;max-width:36px;max-height:36px}
.card-hint .card-heading-badges{display:flex}
.card-hint .card-heading-badge{display:inline-flex}
.card-hint .card-values{margin:14px 0;padding:12px 0}
.card-hint .card-value dd{font-size:19px}
.card-hint .card-rules{font-size:17px;line-height:1.5}
.sovereign-costs{display:flex;align-items:center;gap:8px;border-block:1px solid var(--card-divider);padding:14px 0;margin:20px 0 18px}
.sovereign-cost{flex:1;min-width:0;max-width:54px}
.sovereign-cost svg{display:block;width:100%;height:auto}

.card-page-mode #content{max-width:1120px;margin-inline:auto;padding-inline:clamp(24px,5vw,72px)}
.card-page{grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:40px}
.card-page.has-notes .card-page-art{grid-row:1 / span 2}
.card-page-art .card-printings{border-left:0;padding-left:0;margin-top:26px;grid-column:auto}
.card-page-art .printing-current strong{font-size:20px}
.card-page-art .printing-current span,.card-page-art .printing-link{font-size:16px}
.card-page-art .printing-list{margin-top:20px}
.card-page-art .printing-list h2{font-size:19px}
.card-page .card-rule-paragraph{margin:0 0 .45em}
.card-heading-name h2{margin:0}
@media(max-width:700px){.card-page{display:flex;gap:28px}.card-page-art{max-width:360px}.card-page-mode #content{padding-inline:24px}}

.sovereign-life{display:flex!important;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:42px;height:42px;border:1px solid #c7a35c;border-radius:50%;background:radial-gradient(circle,#a78033,#1c3937);font-size:23px;line-height:1;color:#eee5cb;font-variant-numeric:tabular-nums}
.sovereign-life small{font-size:9px;line-height:1.1;margin:0!important;color:inherit}
.card-hint .sovereign-life{width:36px;height:36px;font-size:20px}

.sovereign-cost-picture,.card-hint img.sovereign-cost-picture{display:block;width:calc((100% - 24px)/4);max-width:100px;height:90px;object-fit:contain;border-radius:0;aspect-ratio:auto}
.card-hint img.sovereign-cost-picture{height:75px}

.sovereign-life{position:relative;border:0;border-radius:0;background:none;width:44px;height:44px;color:#fff;font-size:21px;font-weight:700;text-shadow:0 1px 2px #183637}
.sovereign-life img,.card-hint .sovereign-life img{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain;border-radius:0}
.sovereign-life>span{position:relative;margin:0!important;line-height:1;transform:translateY(-1px)}
.card-hint .sovereign-life{width:38px;height:38px;font-size:19px}
@media(max-width:780px){.card-page{display:flex;flex-direction:column;gap:28px}.card-page-art{width:100%;max-width:360px;align-self:center}.card-page-text{width:100%}.card-page-mode #content{padding-inline:24px}.card-page.has-notes .card-page-art{grid-row:auto}}

/* LOKAL-KOMMENTAR 227
 * HERRSCHER: LP UND FARBKRISTALLE
 * LP-Herz braucht mehr Platz als eine normale ASP-Zahl. Der Kristall-Sprite enthält acht
 * nebeneinanderliegende Farben; background-position wählt den Ausschnitt. Grafikreihenfolge und
 * Farbindex in card-layout.mjs müssen zusammenpassen.
 */
/* Individual color costs and a larger LP heart with room for its number. */
.card-heading:has(.sovereign-life){grid-template-columns:60px minmax(0,1fr) 44px}
.sovereign-life{width:60px;height:60px;font-size:21px}
.card-hint .card-heading:has(.sovereign-life){grid-template-columns:52px minmax(0,1fr) 36px}
.card-hint .sovereign-life{width:52px;height:52px;font-size:19px}

.sovereign-crystal{display:block!important;width:50%;margin-inline:auto;aspect-ratio:1/1.25;background-image:url('assets/symbols/sovereign-crystals.png');background-size:800% auto;background-repeat:no-repeat;position:relative}
.sovereign-crystal.excluded:after{content:'';position:absolute;left:5%;right:5%;top:48%;height:3px;background:#d5b976;transform:rotate(-48deg)}
.sovereign-surcharge{display:block!important;text-align:center;font-size:16px;line-height:1.2;margin:0!important}
.card-ability-references{margin-top:22px;padding-top:14px;border-top:1px solid var(--card-divider,#355052);font-size:calc(1em - .5px);color:var(--muted)}
.card-ability-references h3{font-size:16px;line-height:1.3;margin:0 0 6px;text-align:left}
.card-ability-references .ability-reference-note{font-size:14px;line-height:1.35;margin:0 0 12px;text-align:left}
.card-ability-references p{margin:0 0 10px;text-align:left}
.card-hint{container-type:inline-size;padding:12px}
.card-hint .card-heading{grid-template-columns:28px minmax(0,1fr) 24px;gap:5px}
.card-hint .card-heading-name h2{font-size:17px;overflow-wrap:anywhere}
.card-hint .card-heading-name .card-type-line{font-size:13px}
.card-hint .card-heading-cost .game-symbol{width:28px;height:28px;max-width:28px;max-height:28px}
.card-hint .card-heading-badge .game-symbol{width:23px;height:23px;max-width:23px;max-height:23px}
.card-hint .card-heading:has(.sovereign-life){grid-template-columns:38px minmax(0,1fr) 24px}
.card-hint .sovereign-life{width:38px;height:38px}
.card-hint .card-values{gap:2px}.card-hint .card-value{gap:2px;flex-wrap:wrap}
.card-hint .card-value dt .game-symbol{width:20px;height:20px;max-width:20px;max-height:20px}
.card-hint .card-value dd{font-size:15px}
.card-hint .card-rules{font-size:15px;text-align:left}.card-hint .card-facts{font-size:14px}.card-hint .card-artist{font-size:13px}
.card-hint .sovereign-costs{gap:3px}.card-hint .sovereign-surcharge{font-size:12px}
.card-hint .card-ability-references h3{font-size:14px}
@container (max-width:180px){
 .card-hint .card-heading-name{grid-column:1/-1;grid-row:2}
 .card-hint .card-heading-badges{grid-column:3;grid-row:1}
 .card-hint .card-heading-name h2{font-size:16px;overflow-wrap:normal}
 .card-hint .card-value dt .game-symbol{width:16px;height:16px;max-width:16px;max-height:16px}
 .card-hint .card-value dd{font-size:13px}
 .card-hint .card-facts>div{display:block}
 .card-hint .card-facts dd{margin-top:3px}
 .card-hint .card-artist{overflow-wrap:anywhere}
}
.sovereign-crystal.excluded:after{left:-3%;right:-3%;top:47%;height:7px;background:#e0bf75;border:1px solid #f0ddb0;box-shadow:0 0 0 2px #122a2d,0 1px 4px #000;transform:rotate(-48deg);border-radius:2px}
.card-hint .sovereign-crystal.excluded:after{height:4px;box-shadow:0 0 0 1px #122a2d}

.card-token-references{margin-top:22px;padding-top:14px;border-top:1px solid var(--card-divider,#355052)}
.card-token-references>h3{font-size:16px;margin:0 0 14px}
.referenced-token{display:grid;grid-template-columns:minmax(80px,130px) minmax(0,1fr);gap:16px;margin:0 0 20px}
.referenced-token>a>img,.referenced-token>img{display:block;width:100%;height:auto;border-radius:7px}
.referenced-token .card-heading-name h3{font-size:20px}
.referenced-token .card-rules{font-size:16px}
.card-hint .referenced-token{display:block}.card-hint .referenced-token>img{width:100%;height:auto;max-height:none;margin-bottom:12px}
@media(max-width:480px){.referenced-token{grid-template-columns:1fr}.referenced-token>a{max-width:150px}}

#editor-queue{margin:20px 0;padding:16px;border:1px solid #405a59;border-radius:12px}.editor-bulk-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.editor-queue-scroll{overflow-x:auto}.editor-queue-scroll table{width:100%;border-collapse:collapse;text-align:left}.editor-queue-scroll th,.editor-queue-scroll td{padding:10px;border-bottom:1px solid #2f484a;vertical-align:top}.editor-queue-scroll input[type=checkbox]{width:auto}.editor-queue-scroll td:nth-child(4){min-width:180px}.editor-queue-scroll .text-button{background:none;border:0;color:var(--highlight,#d5b976);text-align:left;cursor:pointer}
/* LOKAL-KOMMENTAR 228
 * KARTENBILDER IM DECK
 * Das Raster zeigt je nach Modus überlappende Stapel oder jedes Exemplar. grid-auto-rows und
 * padding-bottom bilden zusammen die Stapelhöhe; nur einen Wert zu ändern kann die letzte Reihe
 * abschneiden.
 */
/* Deck layouts: four columns, half-height overlapping rows, and a separate full-copy view. */
#header-account{position:relative;white-space:nowrap}#header-account>button{border:0;background:none;color:var(--muted);font:inherit;cursor:pointer}.header-login{position:absolute;right:0;top:calc(100% + 16px);width:min(360px,calc(100vw - 32px));padding:24px;background:#0c262d;border:1px solid #45605a;border-radius:12px;box-shadow:0 12px 36px #0009;z-index:100}.header-login h1{font-size:24px}.header-login p{white-space:normal;text-align:left;font-size:16px}
body[data-view=rules] #sidebar{position:static;height:auto;overflow:visible}body[data-view=rules] .chapters{display:flex;max-height:none;overflow:visible}body[data-view=rules] .menu-button{display:none}
#presented-cards .presentation-groups{display:block;columns:auto}#presented-cards .presented-zone{width:100%;margin-bottom:32px}#presented-cards .presentation-groups>section{width:100%;max-width:none;break-inside:auto}
.deck-image-grid{container-type:inline-size;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px;isolation:isolate}
.deck-image-grid.deck-stacked{grid-auto-rows:calc((100cqw - 36px) / 4 * 88 / 63 / 2);row-gap:0;padding-bottom:calc((100% - 36px) / 4 * 88 / 63 / 2)}
.deck-image-grid .deck-art-card{position:relative;display:block;align-self:start;width:100%;height:auto;aspect-ratio:63/88;border:0;border-radius:0;padding:0;margin:0;background:none;box-shadow:none;overflow:visible}
.deck-image-grid .deck-art-card>.deck-art{display:block;width:100%;height:100%;object-fit:contain;border-radius:0}.deck-art-count{position:absolute;top:5%;right:6%;color:white;font-weight:bold;font-size:clamp(14px,2.4cqw,22px);-webkit-text-stroke:3px black;paint-order:stroke fill;text-shadow:1px 1px 2px #000}
.presentation-text .presentation-card{width:100%;min-width:0}.presentation-text .presentation-name{flex:1}.deck-line-symbols{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;margin-left:auto;flex:none}.deck-line-symbols .game-symbol{width:1em!important;height:1em!important;max-width:none;max-height:none;object-fit:contain;vertical-align:middle}.presentation-text .deck-hover{display:none!important}
.deck-rich-preview{position:fixed;z-index:1500;overflow:auto;background:#092128;border:1px solid #45605a;border-radius:10px;box-shadow:0 12px 38px #000b;padding:12px;box-sizing:border-box}.deck-rich-preview[hidden]{display:none}.deck-rich-preview.with-art{display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:start}.deck-rich-preview .deck-preview-art{width:100%;height:auto}.deck-rich-preview>.card-hint{display:block!important;position:static!important;width:100%!important;max-height:none!important;padding:0;border:0;box-shadow:none;opacity:1;visibility:visible;transform:none;overflow:visible;box-sizing:border-box}
@media(max-width:600px){.deck-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-image-grid.deck-stacked{grid-auto-rows:calc((100cqw - 12px) / 2 * 88 / 63 / 2);padding-bottom:calc((100% - 12px) / 2 * 88 / 63 / 2)}.deck-art-count{font-size:18px}header{flex-wrap:wrap}#header-account{font-size:16px}.deck-rich-preview.with-art{gap:8px}}
#presented-cards .presentation-groups{container-type:inline-size}
#header-account a{color:var(--muted)}
header{justify-content:flex-start}header>.languages{margin-left:auto}#header-account{margin-left:0}
.deck-rich-preview .card-rules img.game-symbol{width:24px!important;height:24px!important;min-width:24px;min-height:24px}
/* LOKAL-KOMMENTAR 229
 * TEXTLISTE: NAME UND INLINE-SYMBOLE
 * Die Symbole skalieren mit der lesbaren Textgröße. Nicht unabhängig vergrößern, sonst wirken
 * gleiche Zeilen unruhig oder bekommen unterschiedliche Höhen.
 */
/* Keep deck list text and its inline symbols at the same readable size. */
.presentation-text .presentation-card{font-size:18px}

/* LOKAL-KOMMENTAR 230
 * AKTUELLER DECKAUFBAU
 * Inhalt erhält die nutzbare Breite, seltene Aktionen bleiben in Menüs. .deck-heading-refined
 * ist die gezielte Weiterentwicklung der älteren Deck-Kopfregeln weiter oben.
 */
/* Local refinement: deck content gets the full width; secondary controls stay closed. */
.deck-shell.deck-refined,.deck-shell.deck-refined:has(.deck-edit-workspace){display:block;margin-top:22px}
.deck-heading-refined{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:8px 0 2px}
.deck-heading-refined h1{margin:0;font-size:34px}
.deck-heading-refined .deck-heading-actions{display:flex;min-width:0}
.deck-toolbar.deck-toolbar-refined{display:flex;flex-direction:row;align-items:center;gap:10px;margin:0}
.deck-toolbar-refined .deck-more{width:auto}
.deck-toolbar-refined .deck-more>summary{display:grid;place-items:center;width:40px;height:40px;padding:0;font-size:25px;background:transparent;border-color:transparent}
.deck-toolbar-refined .deck-more .menu-items{width:260px;max-width:calc(100vw - 48px)}
.deck-toolbar-refined [data-action=undo]{background:transparent;border-color:transparent;color:var(--muted);font-size:16px}
#deck-save-status{display:block;font-size:15px;color:var(--muted);min-height:24px;margin:0 0 20px}
#deck-save-status[data-state=error]{color:var(--highlight)}
#deck-message:empty{display:none}
.deck-heading-refined~.deck-summary{display:flex;flex-wrap:wrap;gap:12px 30px;margin:14px 0 26px;padding:0;border:0}
.deck-heading-refined~.deck-summary>div{display:flex;flex-direction:row;align-items:baseline;gap:8px}
.deck-heading-refined~.deck-summary dt{order:2;font-size:15px}.deck-heading-refined~.deck-summary dd{order:1;font-size:20px}
.deck-display-options{margin:0 0 26px;font-size:16px;color:var(--muted)}
.deck-display-options>summary{width:fit-content;cursor:pointer;padding:5px 0}
.deck-display-options .deck-view-controls{margin:16px 0 0;padding:0;border:0;display:flex;gap:16px 24px;align-items:end}
.deck-display-options .cost-help{max-width:66ch}
.deck-refined .deck-edit-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);gap:48px}
.deck-refined .deck-search{width:100%;min-width:0}
.deck-refined .deck-search h2{font-size:23px;margin:0 0 12px}.deck-refined .deck-search>label{font-size:16px}
.deck-refined .deck-filter-menu{font-size:16px;margin:12px 0 18px}
.deck-refined .deck-section h3{font-size:22px}.deck-refined .deck-entry-main{gap:9px}
@media(max-width:760px){.deck-heading-refined{align-items:start;gap:12px}.deck-heading-refined h1{font-size:29px;flex:1;min-width:0}.deck-heading-refined .deck-heading-actions{flex:none}.deck-toolbar-refined{gap:4px!important}.deck-toolbar-refined>[data-action=undo]{font-size:14px;padding:6px}.deck-toolbar-refined>[data-action=mode]{font-size:16px;padding:7px 11px}.deck-refined .deck-edit-workspace{grid-template-columns:1fr;gap:30px}.deck-display-options .deck-view-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.deck-display-options .deck-view-controls>label{min-width:0}.deck-display-options .cost-help{grid-column:1/-1}}

/* LOKAL-KOMMENTAR 231
 * AKTUELLE REDAKTIONSGESTALTUNG
 * Offene Fläche, gemeinsame Schrift/Farben und schmale Tabs. Auf kleinen Bildschirmen wechseln
 * Vergleich und Felder auf eine Spalte; feste Desktopbreiten nicht ohne Medienregel setzen.
 */
/* Editorial forms share the existing Blutbank type, palette and open layout. */
body[data-view=editor] #content{width:100%;max-width:none}
.editor-heading{margin-bottom:20px}.editor-heading p{font-size:15px;color:var(--muted)}
#editor-picker{margin:0 0 26px}#editor-picker>summary{cursor:pointer;color:var(--highlight);font-size:17px;width:fit-content}
#editor-picker .editor-toolbar{margin:16px 0}#editor-picker #editor-list{position:static;width:100%;height:240px;font-size:18px}
.editor-workspace{display:block;margin:0}.editor-toolbar label{font-size:16px}
.editor-compare{display:grid;grid-template-columns:minmax(220px,320px) minmax(0,640px);gap:42px;margin-top:20px}
.editor-reference{position:sticky;top:110px}.editor-reference img{max-height:65vh;width:100%;border-radius:9px}
.editor-reference>a{font-size:16px}.editor-card-heading h2{font-size:30px}.editor-card-heading p{font-size:15px;color:var(--muted)}
.editor-field-tabs{gap:24px;border-bottom:1px solid #2f484a;margin:0 0 24px}
.editor-field-tabs button{flex:none;border:0;border-bottom:2px solid transparent;border-radius:0;padding:8px 0;background:none;font-size:18px;color:var(--muted)}
.editor-field-tabs button[aria-selected=true]{border-color:var(--highlight);color:var(--text);background:none}
#editor-form .editor-field-panel{min-height:0}
#editor-form .editor-panel-text{display:flex;flex-direction:column;gap:18px}
#editor-form label{font-size:17px;margin:0 0 15px}#editor-form input:not([type=checkbox]),#editor-form textarea,#editor-form select{padding:10px 12px;line-height:1.45;font-size:19px}
#editor-form .editor-panel-text [name=rulesText]{height:230px;min-height:200px}
#editor-form .editor-panel-text [name=name]{font-size:23px}
#editor-form .editor-panel-text textarea:not([name=rulesText]){height:110px}
#editor-form .editor-panel-info .editor-numbers{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
#editor-form .editor-panel-info input,#editor-form .editor-panel-info select{padding:9px!important}
#editor-form .editor-panel-meta{gap:12px 20px}#editor-form .editor-panel-meta textarea{min-height:150px}
#editor-form .editor-reason{margin-top:25px}#editor-form [name=sourceNote]{min-height:82px}
#editor-form label:has([name=reviewed]){display:flex;align-items:baseline;gap:10px;font-size:16px;margin:18px 0 24px}
.editor-extra-text{font-size:17px}.editor-extra-text>summary{cursor:pointer;color:var(--muted);padding-bottom:12px}
.editor-live-preview{margin:20px 0;font-size:16px}.editor-live-preview>summary{cursor:pointer;color:var(--muted)}
#editor-live-face{margin-top:20px;font-size:19px}#editor-live-face .card-heading-name h2{font-size:23px}#editor-live-face .game-symbol{width:24px;height:24px}#editor-live-face .card-heading-cost .game-symbol{width:36px;height:36px}
.editor-actions{gap:12px;margin:22px 0}.editor-actions button{font-size:16px}.editor-actions #editor-discard,.editor-actions #editor-backup{background:none;border-color:transparent;color:var(--muted)}
.editor-review,#editor-history,#editor-roles{font-size:17px;margin:25px 0}.editor-review>summary,#editor-history>summary{cursor:pointer;color:var(--muted)}.editor-review h3{font-size:22px;margin-top:20px}
@media(max-width:800px){.editor-compare{grid-template-columns:1fr;gap:25px}.editor-reference{position:static;display:grid;grid-template-columns:100px 1fr;align-items:start;gap:10px 20px}.editor-reference>a:first-child{grid-row:1/3}.editor-reference img{max-height:145px}.editor-live-preview{margin:0}.editor-live-preview[open]{grid-column:1/-1}.editor-field-tabs{gap:20px}.editor-field-tabs button{font-size:17px}.editor-panel-info,.editor-panel-meta{grid-template-columns:1fr!important}#editor-form .editor-panel-info .editor-numbers{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-heading h1{font-size:27px}}
.deck-empty-hint{max-width:38ch;color:var(--muted);font-size:19px;padding:16px 0}
.deck-search-hint{color:var(--muted);font-size:17px;margin:20px 0}
.deck-refined .deck-filter-menu>label{display:block;margin-top:16px;font-size:16px}.deck-refined .deck-filter-menu>label select{display:block;margin-top:6px}

/* LOKAL-KOMMENTAR 232
 * ENDGÜLTIGE EINHEITLICHE SUCHFELDER
 * Diese späteren Selektoren vereinheitlichen Startseite, Katalog und Werkzeuge. Rahmen, Lupe und
 * transparente Eingabe bilden den gemeinsamen Stil; reduzierte Bewegung schaltet Übergänge ab.
 */
/* Shared search field: the landing page is the visual source for every search. */
.search-field{background:transparent;border:1px solid #71806a;border-radius:8px;overflow:hidden}
.search-field:focus-within{border-color:var(--highlight);outline:1px solid var(--highlight)}
.search-field::before{left:18px;width:23px;height:23px}
.search-field input,.catalog-search .search-field input,.searchbox .search-field input,.deck-refined .search-field input{background:transparent;border:0;border-radius:0;box-shadow:none;padding:12px 18px 12px 55px!important;font:inherit;font-size:25px;line-height:1.3;outline:0!important;width:100%;max-width:100%;min-width:0}
.catalog-search{margin:0 0 22px}.catalog-search .search-field{width:100%}
.searchbox .search-field input{font-size:18px;padding-block:12px!important}.searchbox .search-field::before{width:20px;height:20px}
.editor-toolbar .search-field input{font-size:21px}.filter-choices .color-crystal{margin-right:6px}
.search-field:has(input:disabled){opacity:.6}
@media(prefers-reduced-motion:reduce){.home-search,#home-search-form,#home-query{transition:none!important}}

/* LOKAL-KOMMENTAR 233
 * REGELBEREICH UND SUCHERGEBNISSE
 * Die Regeln nutzen eine breitere Lesefläche. Bei Archivsuche stehen Begriffe/Regeln links und
 * Karten rechts; unter den Breakpoints werden sie in sinnvoller Reihenfolge untereinander
 * dargestellt.
 */
/* Wider rule reading area, with text results left and cards right. */
body[data-view=rules] .workspace{width:min(1440px,calc(100% - 2*var(--gutter)));grid-template-columns:220px minmax(0,1fr);gap:48px}
body[data-view=rules] :is(.rule-copy,.rule-head){max-width:84ch}
body[data-view=search] .search-results-columns{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:32px}
body[data-view=search] .search-text-results{grid-column:1;grid-row:1}
body[data-view=search] .search-card-results{grid-column:2;grid-row:1}
body[data-view=search] .search-card-results .card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:900px){body[data-view=rules] .workspace{grid-template-columns:190px minmax(0,1fr);gap:30px}}
@media(max-width:760px){body[data-view=rules] .workspace{display:block}body[data-view=search] .search-results-columns{display:flex;flex-direction:column;gap:24px}body[data-view=search] .search-text-results{order:0;width:100%}body[data-view=search] .search-card-results{order:1;width:100%}}

/* LOKAL-KOMMENTAR 234
 * BENUTZERVERWALTUNG
 * Admin-Zeilen ordnen E-Mail, Rollenauswahl und Speichern an. Kleine Bildschirme setzen die
 * Adresse in eine eigene Zeile. Sperren und Berechtigungen kommen zusätzlich aus dem Server.
 */
/* Account administration is separate from card editing and private to admins. */
.account-actions{display:flex;gap:14px;flex-wrap:wrap;margin:24px 0}
body[data-view=users] .workspace{display:block}body[data-view=users] #sidebar{display:none}
.account-back{display:inline-block;margin-bottom:24px}.user-admin-list{max-width:900px;margin-top:28px}
.user-admin-row{display:grid;grid-template-columns:minmax(0,1fr) 190px 110px;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid #355052}
.user-admin-row label{overflow-wrap:anywhere}.user-admin-row small{display:block;color:var(--muted);font-size:15px}
.user-admin-row select{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:8px;width:100%}
#user-admin-status{color:var(--highlight)}#user-admin-status:empty{display:none}
@media(max-width:600px){.user-admin-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.user-admin-row label{grid-column:1/-1}}

/* LOKAL-KOMMENTAR 235
 * DECKAKTIONEN RECHTS
 * Der Speicherstatus gehört direkt unter den Modusbutton. .deck-display-options öffnet seine
 * Controls darunter; z-index verhindert Überdeckung durch die Kartenansicht.
 */
/* Deck actions stay right; the save state belongs directly beneath the mode button. */
.deck-heading-refined{align-items:start;margin-bottom:26px}
.deck-heading-refined .deck-heading-actions{display:flex;flex-direction:column;align-items:flex-end;gap:7px;flex:none}
.deck-heading-actions #deck-save-status{margin:0;font-size:14px;min-height:0;line-height:1.4;text-align:right;max-width:230px}
.deck-heading-actions .deck-display-options{margin:7px 0 0;font-size:16px;color:var(--muted);position:relative;text-align:right}
.deck-heading-actions .deck-display-options>summary{margin-left:auto;padding:3px 0}
.deck-heading-actions .deck-display-options[open]{width:230px}
.deck-heading-actions .deck-display-options .deck-view-controls{display:flex;flex-direction:column;align-items:stretch;gap:14px;text-align:left;position:absolute;right:0;top:100%;width:230px;margin-top:12px;padding:16px;background:var(--background);border:1px solid #3d5655;border-radius:5px;z-index:12}
.deck-heading-actions .deck-display-options .cost-help{font-size:14px;line-height:1.4}
.deck-statistics{margin-top:44px}.statistics-grid{margin-top:30px}
@media(max-width:600px){.deck-heading-refined{gap:10px}.deck-heading-refined h1{font-size:27px}.deck-heading-actions #deck-save-status{max-width:165px}.deck-heading-actions .deck-display-options[open]{width:auto}}

/* LOKAL-KOMMENTAR 236
 * TOKEN-RÜCKVERWEISE UND SCHLIESSEN
 * Die Textspalte ist der Bezugspunkt für das absolut positionierte X. Rechts wird entsprechender
 * Innenabstand reserviert. token-creators kann in der Desktopansicht die Textspaltenbreite
 * nutzen.
 */
/* Token pages link back to named creators; tooltip cards end before metadata. */
.card-page-text{position:relative;padding-right:48px}
.card-page-text>.close{position:absolute;right:0;top:0;width:36px;height:36px}
.card-page .token-creators{grid-column:2/-1;width:100%;margin-top:12px;border-top:1px solid var(--card-divider);padding-top:20px}
.token-creators h2{font-size:24px;margin:0 0 14px}.token-creator-links{display:flex;flex-wrap:wrap;gap:10px 22px}
.color-crystal{display:inline-block;width:20px;height:25px;background-image:url('assets/symbols/sovereign-crystals.png');background-size:800% auto;background-repeat:no-repeat;vertical-align:-6px;margin-right:7px;flex:none}
.card-facts .color-crystal{width:18px;height:23px}.stat-distribution .color-crystal{width:16px;height:20px;vertical-align:-4px}
@media(max-width:780px){.card-page-text{padding-right:42px}.card-page .token-creators{margin-top:0}.token-creators{align-self:stretch}}

/* LOKAL-KOMMENTAR 237
 * EINHEITLICHER FOOTER
 * Rechtehinweis und aufklappbare Quellen werden von app.js geliefert. Die Quellenliste wird
 * geöffnet zweispaltig, mobil einspaltig. Die allerletzten Regeln setzen auch den geschlossenen
 * Schalter links unter den Hinweis.
 */
/* One consistent, quiet attribution area replaces page-specific source notices. */
#archive-footer{display:flex;align-items:start;justify-content:space-between;gap:36px;border-top:1px solid #2c4548;margin-top:36px;padding-top:24px;font-size:16px;line-height:1.55}
#archive-footer .footer-rights{max-width:80ch;flex:1}#archive-footer p{margin:0 0 8px;text-align:left;font-size:16px}
#archive-footer .footer-sources{flex:none;max-width:none;font-size:16px}
.footer-sources>summary{cursor:pointer;color:var(--muted);white-space:nowrap}
#archive-footer:has(.footer-sources[open]){flex-wrap:wrap}.footer-sources[open]{width:100%}
.footer-source-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:24px}
#archive-footer .footer-source-grid h2{font-size:20px;margin:0 0 12px}
#archive-footer .footer-source-grid a{display:block;margin:5px 0}
#archive-footer .footer-credits{margin-top:16px}#archive-footer .footer-credits a{display:inline}
@media(max-width:700px){#archive-footer{display:block;margin-top:28px}.footer-sources{margin-top:16px}.footer-source-grid{grid-template-columns:1fr;gap:22px}}
.deck-toolbar.deck-toolbar-refined{align-items:flex-start}
.deck-mode-control{display:flex;flex-direction:column;align-items:flex-start;gap:5px;max-width:190px}
.deck-mode-control>[data-action=mode]{background:var(--primary);border-color:var(--primary);align-self:flex-start}
.deck-heading-actions .deck-mode-control #deck-save-status{text-align:left;font-size:14px;max-width:190px}
.deck-heading-actions .deck-display-options{align-self:flex-end}
.color-crystal-neutral{filter:grayscale(1);opacity:.8}
@media(max-width:600px){.deck-mode-control{max-width:140px}.deck-heading-actions .deck-mode-control #deck-save-status{max-width:140px}.deck-toolbar-refined .deck-mode-control>[data-action=mode]{font-size:16px;padding:7px 11px}}

/* LOKAL-KOMMENTAR 238
 * ENDGÜLTIGE SYMBOLAUSRICHTUNG
 * Feste --badge-size und --stat-size halten Symbolspalten/-reihen auf gemeinsamen Achsen. Im
 * Text vertical-align:middle; schmale Hover-Werte wechseln gemeinsam auf ein vertikales Raster
 * statt einzeln umzubrechen. --Variablen hier bevorzugen statt pro Bild Pixelkorrekturen
 * einzuführen.
 */
/* Shared symbol boxes keep rows, stacks and inline text on consistent axes. */
.card-heading-badges{--badge-size:32px}
.card-heading-badge,.card-hint .card-heading-badge{display:flex;width:var(--badge-size);height:var(--badge-size);flex:none;align-items:center;justify-content:center;margin:0;line-height:1}
.card-heading-badge .game-symbol,.card-hint .card-heading-badge .game-symbol{display:block;width:var(--badge-size);height:var(--badge-size);max-width:none;max-height:none;margin:0;object-fit:contain}
.card-hint .card-heading-badges{--badge-size:23px}
.card-values{--stat-size:28px}
.card-value{display:grid;grid-template-columns:var(--stat-size) minmax(0,1fr);align-items:center;gap:5px;min-height:var(--stat-size)}
.card-value dt{display:flex;align-items:center;justify-content:center;width:var(--stat-size);height:var(--stat-size);margin:0}
.card-value dt .game-symbol{display:block;width:var(--stat-size);height:var(--stat-size);margin:0;object-fit:contain}
.card-value dd{align-self:center;margin:0;line-height:1}
.card-hint .card-values{--stat-size:20px}
.card-hint .card-value{display:grid;grid-template-columns:var(--stat-size) minmax(0,1fr);gap:2px;flex-wrap:nowrap}
.card-hint .card-value dt .game-symbol{width:var(--stat-size);height:var(--stat-size);max-width:none;max-height:none}
.card-rules .game-symbol,.hint-rules .game-symbol,.card-hint .card-rules img.game-symbol,.deck-rich-preview .card-rules img.game-symbol{vertical-align:middle;margin-block:0;object-fit:contain}
.color-crystal,.stat-distribution .color-crystal{vertical-align:middle;margin-block:0}
.sovereign-costs{align-items:start}
.sovereign-cost{display:grid;grid-template-rows:auto auto;justify-items:center;align-items:center;row-gap:3px}
.sovereign-crystal{width:27px;height:34px;margin:0!important;aspect-ratio:auto}
.card-hint .sovereign-crystal{width:20px;height:25px}
.sovereign-surcharge{width:100%;line-height:1.2}
@media(max-width:480px){.card-values{--stat-size:24px}}
@container (max-width:240px){.card-hint .card-value{grid-template-columns:1fr;grid-template-rows:var(--stat-size) 1em;justify-items:center;row-gap:4px}}
@container (max-width:180px){.card-hint .card-values{--stat-size:16px}}

/* LOKAL-KOMMENTAR 239
 * QUELLEN DIREKT UNTER IHREM SCHALTER
 * Diese abschließende Regel überschreibt das frühere Footer-Flexlayout. Der Schalter bleibt
 * links an der Stelle, an der darunter seine Liste aufklappt; nicht wieder mit margin-left:auto
 * nach rechts verschieben.
 */
/* Sources open directly beneath their left-aligned footer disclosure. */
#archive-footer{display:block}
#archive-footer .footer-sources{width:100%;margin-top:14px;text-align:left}
#archive-footer .footer-sources>summary{width:fit-content;margin:0;text-align:left}

/* LOKAL-KOMMENTAR: DECKPRÄSENTATION NACH DEM ZWEISPALTIGEN REFERENZAUFBAU.
 * Nur die Lesefläche wird neu angeordnet; der Deckbau-Editor behält seinen Aufbau.
 * Links Metadaten/Beschreibung, rechts Umschalter und Karten. Die Fläche bleibt im
 * normalen Seitenfluss; keine zusätzliche innere Scrollbar oder klebende Seitenleiste.
 * Selektoren sind auf .deck-presentation-reading begrenzt, um den Katalog zu schonen.
 */
.deck-reading-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;align-items:start}
.deck-profile{min-width:0;padding-top:3px}
.deck-profile>.deck-back{display:inline-block;margin:0 0 24px;font-size:16px;color:var(--muted)}
.deck-profile-kicker{font-size:14px!important;letter-spacing:.09em;text-transform:uppercase;color:var(--highlight);margin:0 0 8px!important;text-align:left!important}
.deck-profile h1{font-size:34px;line-height:1.12;letter-spacing:-.02em;text-align:left;margin:0 0 18px;overflow-wrap:anywhere}
.deck-profile-meta{font-size:15px!important;line-height:1.6;color:var(--muted);margin:0 0 24px!important;text-align:left!important}
.deck-profile-summary{font-size:19px!important;line-height:1.45;margin:0 0 20px!important;text-align:left!important}
.deck-profile-description{font-size:17px;line-height:1.55;margin:0 0 24px}
.deck-profile-description p{font-size:17px;line-height:1.55;text-align:left;margin:0 0 10px}
.deck-profile-description h2,.deck-profile-description h3,.deck-profile-description h4{font-size:20px;text-align:left;line-height:1.3;margin:18px 0 8px;border:0;padding:0}
.deck-profile-description ul{padding-left:20px;margin:10px 0}
.deck-section-nav{display:flex;flex-direction:column;gap:9px;border-top:1px solid #405957;padding-top:20px;font-size:16px}
.deck-section-nav>a{width:fit-content;color:var(--muted)}
.deck-section-nav>a:hover{color:var(--highlight)}
.deck-profile #deck-message{font-size:15px;overflow-wrap:anywhere}
.deck-profile #deck-message:empty{display:none}
.deck-reading-main{min-width:0;container-type:inline-size}
.deck-reading-toolbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:30px;min-height:76px}
.deck-view-switch{display:inline-flex;border:1px solid #6b785e;border-radius:5px;overflow:hidden;flex:none}
.deck-view-switch>button{font:inherit;font-size:17px;line-height:1.3;padding:9px 15px;color:var(--muted);background:transparent;border:0;cursor:pointer;white-space:nowrap}
.deck-view-switch>button+button{border-left:1px solid #6b785e}
.deck-view-switch>button[aria-pressed=true]{background:#685629;color:#eee6d3}
.deck-view-switch>button:hover{color:#fff;background:#3a462f}
.deck-view-switch>button:focus-visible{outline-offset:-4px}
.deck-reading-tools{display:flex;flex-direction:column;align-items:flex-end;gap:9px;min-width:0}
.deck-reading-actions:empty{display:none}
.deck-reading-actions .deck-toolbar{display:flex;gap:7px;margin:0;align-items:flex-start;flex-wrap:nowrap}
.deck-reading-actions .deck-mode-control>[data-action=mode]{font-size:17px;padding:8px 15px}
.deck-reading-actions #deck-save-status{font-size:13px;line-height:1.35;max-width:155px;text-align:left;margin:0;color:var(--muted)}
.deck-reading-actions .deck-more>summary{padding:7px 12px}
.deck-reading-tools .deck-display-options{position:relative;margin:0;font-size:15px;text-align:right}
.deck-reading-tools .deck-display-options>summary{cursor:pointer;color:var(--muted)}
.deck-reading-tools .deck-view-controls{position:absolute;right:0;top:100%;display:flex;flex-direction:column;align-items:stretch;gap:16px;width:260px;max-width:calc(100vw - 48px);margin:12px 0 0;padding:18px;background:#0d2830;border:1px solid #6b785e;border-radius:5px;z-index:15;text-align:left}
.deck-reading-tools .deck-view-controls label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:16px}
.deck-reading-tools .deck-view-controls select{width:100%;background:#092128;color:var(--text);font:inherit;padding:5px;border:1px solid var(--border);border-radius:3px}
.deck-reading-tools .deck-view-controls label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:9px}
.deck-reading-tools .cost-help{font-size:14px;line-height:1.4;margin:0;text-align:left}
.deck-presentation-reading[data-presentation-view=text] .deck-copy-setting{display:none}

/* Bereichsüberschriften zählen Exemplare. In der Listenansicht folgen kompakte
 * Gruppen mit fester Mengen- und Symbolspalte; Namen dürfen regulär umbrechen.
 */
.deck-presentation-reading #presented-cards{display:block;columns:auto;margin:0}
.deck-presentation-reading #presented-cards .presented-zone{display:block;width:100%;margin:0 0 34px;break-inside:auto;scroll-margin-top:120px}
.deck-presentation-reading .presented-zone>h2{display:flex;gap:12px;align-items:baseline;border:0;border-bottom:1px solid #65745e;padding:0 0 10px;margin:0 0 18px;font-size:25px;line-height:1.2;text-align:left;color:var(--text)}
.deck-section-count{font-size:17px;color:var(--muted);font-variant-numeric:tabular-nums}
.deck-presentation-reading #presented-cards .presentation-groups{display:block;columns:auto}
.deck-presentation-reading #presented-cards .presentation-group{width:100%;break-inside:avoid;margin:0 0 22px}
.deck-presentation-reading .presentation-group>h3{display:flex;align-items:baseline;gap:9px;font-size:19px;line-height:1.3;margin:0 0 8px;color:#d9d5bf;text-align:left;border:0;padding:0}
.deck-group-count{font-size:15px;font-variant-numeric:tabular-nums;color:var(--muted)}
.deck-presentation-reading[data-presentation-view=text] #presented-cards .presentation-groups{column-count:2;column-gap:28px}
.deck-presentation-reading .presentation-text{display:block;overflow:visible;padding:0}
.deck-presentation-reading .presentation-text .presentation-card{display:grid;grid-template-columns:22px minmax(0,1fr) 108px;align-items:center;gap:7px;width:100%;min-width:0;max-width:none;min-height:33px;margin:0;padding:5px 0;border:0;border-radius:0;box-shadow:none;background:none;color:var(--text);font-size:17px;line-height:1.25;text-decoration:none;white-space:normal;overflow:visible}
.deck-presentation-reading .presentation-text .presentation-card:hover{color:var(--highlight);background:#a7803313}
.deck-presentation-reading .presentation-quantity{font-size:16px;color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;min-width:0;opacity:1}
.deck-presentation-reading .presentation-text .presentation-name{white-space:normal;overflow-wrap:anywhere;font-size:17px;line-height:1.25;min-width:0;flex:initial}
.deck-presentation-reading .deck-line-symbols{display:grid;grid-template-columns:repeat(4,18px) 24px;gap:3px;width:108px;align-items:center;margin:0;justify-content:end}
.deck-presentation-reading .deck-symbol-slot,.deck-presentation-reading .deck-cost-slot{display:flex;width:18px;height:22px;align-items:center;justify-content:center}
.deck-presentation-reading .deck-cost-slot{width:24px;font-size:11px;white-space:nowrap}
.deck-presentation-reading .deck-line-symbols .game-symbol{display:block;width:18px!important;height:18px!important;margin:0;max-width:none;max-height:none;object-fit:contain}
.deck-presentation-reading .deck-cost-slot .game-symbol{width:22px!important;height:22px!important}
.deck-presentation-reading .deck-image-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px 14px;grid-auto-rows:auto;padding:0;isolation:isolate}
.deck-presentation-reading .deck-image-grid .deck-art-card{width:100%;max-width:none;height:auto;aspect-ratio:63/88;overflow:visible;background:none;border:0;padding:0}
.deck-presentation-reading .deck-art-count{top:auto;bottom:10px;right:9px;min-width:30px;padding:2px 7px;border-radius:3px;background:#081f26e8;font-size:17px;line-height:1.3;-webkit-text-stroke:0;text-shadow:none;text-align:center;font-variant-numeric:tabular-nums}
.deck-presentation-reading .deck-statistics{border-top:1px solid #65745e;padding-top:22px;margin-top:44px;scroll-margin-top:120px}
.deck-presentation-reading .statistics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:28px}
.deck-presentation-reading .statistics-grid h3,.deck-presentation-reading .cost-chart h3{font-size:21px;margin:0 0 16px;text-align:left}
.deck-presentation-reading .stat-distribution>div{grid-template-columns:minmax(0,1fr) auto auto;gap:5px 8px;font-size:16px}
.deck-presentation-reading .stat-distribution meter{grid-column:1/-1;width:100%}
.deck-presentation-reading .deck-validation{font-size:16px;margin:28px 0}
@container(max-width:720px){.deck-presentation-reading[data-presentation-view=text] #presented-cards .presentation-groups{column-count:1}}
@container(max-width:680px){.deck-presentation-reading .deck-image-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container(max-width:480px){.deck-presentation-reading .deck-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.deck-presentation-reading .statistics-grid{grid-template-columns:1fr}}
@media(max-width:900px){
 .deck-reading-layout{grid-template-columns:1fr;gap:28px}
 .deck-profile h1{font-size:34px;margin-bottom:10px}
 .deck-profile-meta{margin-bottom:16px!important}
 .deck-profile>.deck-back{margin-bottom:18px}
 .deck-profile-description{max-width:65ch}
 .deck-section-nav{flex-direction:row;flex-wrap:wrap;gap:10px 22px;padding-top:14px}
 .deck-reading-toolbar{margin-bottom:24px}
}
@media(max-width:520px){
 .deck-reading-toolbar{gap:12px;flex-wrap:wrap}
 .deck-reading-tools{margin-left:auto}
 .deck-view-switch>button{font-size:16px;padding:8px 12px}
 .deck-reading-actions .deck-mode-control>[data-action=mode]{font-size:16px;padding:7px 12px}
 .deck-presentation-reading .presented-zone>h2{font-size:23px}
 .deck-presentation-reading .presentation-text .presentation-card{grid-template-columns:20px minmax(0,1fr) 108px;gap:6px}
}
/* Herrscher und Rune bilden eine kurze gemeinsame Liste über die verfügbare Breite. */
.deck-presentation-reading[data-presentation-view=text] #deck-zone-leaders .presentation-groups{column-count:1}
.deck-presentation-reading .deck-cost-slot{font-size:13px}

/* LOKAL-KOMMENTAR: EINE RUHIGE AKTIONSZEILE RECHTS.
 * Beim eigenen Deck liegen Darstellungsoptionen im vorhandenen ⋯-Menü. Ihre Felder
 * werden darin im normalen Fluss aufgeklappt, nicht als zweites fliegendes Menü.
 */
.deck-reading-toolbar{min-height:66px;margin-bottom:24px}
.deck-reading-tools{flex-direction:row;gap:8px;align-items:flex-start}
.deck-reading-actions .deck-more>summary{width:38px;height:40px;padding:0;border:1px solid #6b785e;border-radius:5px;background:#0f2b31;font-size:23px}
.deck-reading-actions .deck-more>summary:hover{background:#3a462f;color:#fff}
.deck-reading-actions .deck-more .menu-items{max-height:70vh;overflow-y:auto;padding:7px}
.deck-reading-actions .deck-more .deck-display-options{position:static;text-align:left;margin:0 0 6px;padding-bottom:5px;border-bottom:1px solid #405957}
.deck-reading-actions .deck-more .deck-display-options>summary{padding:9px 12px;font-size:17px;line-height:1.4;cursor:pointer;color:var(--text);list-style:revert}
.deck-reading-actions .deck-more .deck-view-controls{position:static;display:flex;flex-direction:column;width:auto;max-width:none;padding:10px 12px 16px;margin:0;border:0;background:none;box-shadow:none;gap:15px}
.deck-reading-actions .deck-mode-control{width:160px;max-width:160px}
@media(max-width:520px){
 .deck-reading-toolbar{flex-wrap:nowrap;gap:8px}
 .deck-view-switch>button{padding:8px 10px;font-size:15px}
 .deck-reading-actions .deck-mode-control{width:90px;max-width:90px}
 .deck-reading-actions .deck-mode-control>[data-action=mode]{font-size:15px;padding:8px 9px;min-width:86px}
 .deck-reading-actions #deck-save-status{font-size:11px;max-width:90px}
 .deck-reading-actions .deck-more>summary{width:32px;height:37px}
}

/* LOKAL-KOMMENTAR: DARSTELLUNG AM ANSICHTSWECHSEL, SPEICHERSTATUS LINKS.
 * Das kleine Regler-Symbol öffnet die vorhandenen Einstellungen. Der gemeinsame
 * Container positioniert das Menü innerhalb der Kartenfläche, auch auf dem Handy.
 */
.deck-view-tools{display:flex;align-items:flex-start;gap:8px;position:relative;min-width:0}
.deck-view-tools .deck-view-settings{position:static;margin:0;flex:none}
.deck-view-settings>summary{display:grid;place-items:center;width:36px;height:40px;padding:0;border:1px solid #6b785e;border-radius:5px;color:var(--muted);cursor:pointer;list-style:none}
.deck-view-settings>summary::-webkit-details-marker{display:none}
.deck-view-settings>summary:hover,.deck-view-settings[open]>summary{color:var(--text);background:#3a462f}
.deck-view-tools .deck-view-controls{position:absolute;left:0;right:auto;top:calc(100% + 8px);display:flex;flex-direction:column;align-items:stretch;gap:16px;width:260px;max-width:calc(100vw - 48px);margin:0;padding:18px;background:#0d2830;border:1px solid #6b785e;border-radius:5px;z-index:15;text-align:left}
.deck-view-tools .deck-view-controls label{display:flex;flex-direction:column;gap:5px;min-width:0;font-size:16px}
.deck-view-tools .deck-view-controls select{width:100%;background:#092128;color:var(--text);font:inherit;padding:5px;border:1px solid var(--border);border-radius:3px}
.deck-view-tools .deck-view-controls label:has(input[type=checkbox]){display:flex;flex-direction:row;align-items:center;gap:9px}
.deck-view-tools .cost-help{font-size:14px;line-height:1.4;margin:0;text-align:left}
.deck-profile-heading #deck-save-status{display:block;margin:-14px 0 24px;font-size:14px;line-height:1.45;color:var(--muted);overflow-wrap:anywhere}
.deck-reading-actions .deck-mode-control-reading{width:auto;max-width:none}
@media(max-width:520px){
 .deck-reading-toolbar{flex-wrap:wrap;gap:12px}
 .deck-view-tools{gap:6px}
 .deck-view-settings>summary{width:32px;height:37px}
 .deck-reading-actions .deck-mode-control-reading{width:auto;max-width:none}
 .deck-profile-heading #deck-save-status{margin:-7px 0 18px}
}
@media(max-width:520px){.deck-view-switch>button{font-size:14px;padding:9px 7px}.deck-reading-toolbar{column-gap:8px}}

/* LOKAL-KOMMENTAR: LESBARE DECKLISTE MIT EINER SPALTE PRO DECKBEREICH.
 * Herrscher/Runen stehen oben gemeinsam. Pool und Spell bilden je eine eigene
 * Spalte; Untergruppen brechen nicht in die Nachbarspalte um. Schmal wird gestapelt.
 * Mengen stehen linksbündig vor dem Namen, Symbolplätze bleiben je Zeile fest.
 */
.deck-presentation-reading[data-presentation-view=text] #presented-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.deck-presentation-reading[data-presentation-view=text] #presented-cards #deck-zone-leaders{grid-column:1/-1}
.deck-presentation-reading[data-presentation-view=text] #presented-cards #deck-zone-pool{grid-column:1}
.deck-presentation-reading[data-presentation-view=text] #presented-cards #deck-zone-spell{grid-column:2;grid-row:2}
.deck-presentation-reading[data-presentation-view=text] #presented-cards #deck-zone-maybe{grid-column:1}
.deck-presentation-reading[data-presentation-view=text] #presented-cards .presentation-groups{columns:auto;column-count:1}
.deck-presentation-reading .presentation-text .presentation-card{grid-template-columns:24px minmax(0,1fr) 136px;gap:8px;min-height:38px;padding:6px 0;font-size:20px;line-height:1.3}
.deck-presentation-reading .presentation-text .presentation-name{font-size:20px;line-height:1.3}
.deck-presentation-reading .presentation-quantity{text-align:left;font-size:19px}
.deck-presentation-reading .deck-line-symbols{grid-template-columns:repeat(4,24px) 28px;width:136px;gap:3px}
.deck-presentation-reading .deck-symbol-slot{width:24px;height:28px}
.deck-presentation-reading .deck-cost-slot{width:28px;height:28px;font-size:14px}
.deck-presentation-reading .deck-line-symbols .game-symbol{width:24px!important;height:24px!important}
.deck-presentation-reading .deck-cost-slot .game-symbol{width:28px!important;height:28px!important}
.deck-presentation-reading .presentation-group>h3{font-size:21px}
.deck-presentation-reading .deck-section-count,.deck-presentation-reading .deck-group-count{text-align:left;margin-left:0}
@container(max-width:720px){
 .deck-presentation-reading[data-presentation-view=text] #presented-cards{display:block}
 .deck-presentation-reading[data-presentation-view=text] #presented-cards .presented-zone{margin-bottom:30px}
}

/* Die äußeren Kanten aller Hauptbedienelemente sind gleich hoch. Der Umschalter
 * besteht aus zwei echten Buttons mit gemeinsamen Rand, nicht aus einer Zusatzbox.
 */
.deck-reading-toolbar{--deck-control-height:42px;align-items:flex-start}
.deck-view-tools,.deck-reading-actions .deck-toolbar{align-items:flex-start}
.deck-view-switch{height:var(--deck-control-height);border:0;overflow:visible}
.deck-view-switch>button{height:var(--deck-control-height);box-sizing:border-box;display:flex;align-items:center;justify-content:center;padding:0 15px;border:1px solid #6b785e;border-radius:5px 0 0 5px;line-height:1}
.deck-view-switch>button+button{margin-left:-1px;border:1px solid #6b785e;border-radius:0 5px 5px 0}
.deck-view-settings>summary,.deck-reading-actions .deck-more>summary{height:var(--deck-control-height);width:var(--deck-control-height);box-sizing:border-box;padding:0;display:grid;place-items:center}
.deck-reading-actions .deck-mode-control>[data-action=mode],.deck-reading-actions>.pill{height:var(--deck-control-height);box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;line-height:1;padding:0 15px;min-width:0}
@media(max-width:520px){
 .deck-view-switch>button{font-size:14px;padding:0 7px}
 .deck-reading-toolbar{column-gap:6px}
 .deck-view-tools{gap:5px}
 .deck-reading-actions .deck-mode-control>[data-action=mode]{font-size:14px;padding:0 10px}
 .deck-view-settings>summary,.deck-reading-actions .deck-more>summary{width:34px}
}
.deck-presentation-reading[data-presentation-view=text] #presented-cards:not(:has(#deck-zone-leaders)) #deck-zone-spell{grid-row:1}
/* Kurzer Anschluss nach Herrscher/Runen: keine addierten Gruppen-/Bereichsmargen. */
.deck-presentation-reading #presented-cards #deck-zone-leaders{margin-bottom:18px}
.deck-presentation-reading #presented-cards .presentation-group:last-child{margin-bottom:0}
.deck-presentation-reading[data-presentation-view=text] #presented-cards{row-gap:18px}
.deck-presentation-reading[data-presentation-view=text] #presented-cards .presented-zone{margin-bottom:0}
/* Noch größere Leseschrift; Symbolplätze und linke Mengenachse bleiben unverändert. */
.deck-presentation-reading .presentation-text .presentation-card,.deck-presentation-reading .presentation-text .presentation-name{font-size:22px;line-height:1.3}
.deck-presentation-reading .presentation-quantity{font-size:21px}
.deck-presentation-reading .presentation-group>h3{font-size:22px}
.deck-presentation-reading[data-presentation-view=text] #presented-cards #deck-zone-leaders{margin-bottom:0}
.deck-presentation-reading .menu-items>button,.deck-presentation-reading .menu-items .deck-export .pill{min-height:42px;height:42px;box-sizing:border-box}
.deck-presentation-reading[data-presentation-view=text] .deck-view-controls .deck-copy-setting{display:none}
/* Kompakte Symbolgruppe: nur vorhandene Symbole, ohne Lücken oder leere Plätze.
 * Die Reihenfolge bleibt Pool, Rise, Level, Binding, Kosten; Kosten stehen rechts.
 */
.deck-presentation-reading .presentation-text .presentation-card{grid-template-columns:24px minmax(0,1fr) auto}
.deck-presentation-reading .deck-line-symbols{display:flex;justify-content:flex-end;align-items:center;width:max-content;gap:0}
.deck-presentation-reading .deck-symbol-slot:empty,.deck-presentation-reading .deck-cost-slot:empty{display:none}
.deck-presentation-reading .deck-symbol-slot,.deck-presentation-reading .deck-cost-slot{margin:0;padding:0}
/* LP werden als Herzsymbol mit Wert angezeigt, genau wie auf den Herrscherkarten. */
.deck-presentation-reading .deck-cost-slot:has(.deck-lp-symbol),.deck-presentation-reading .deck-cost-slot:has(.deck-life-custom){width:34px;height:34px}
.deck-presentation-reading .deck-cost-slot .game-symbol.deck-lp-symbol{width:34px!important;height:34px!important}
.deck-life-custom{position:relative;display:grid;place-items:center;width:34px;height:34px;line-height:1}
.deck-life-custom>img{position:absolute;inset:0;width:34px;height:34px;object-fit:contain}
.deck-life-custom>span{position:relative;font-size:14px;font-weight:bold;color:white;text-shadow:0 1px 2px #183637}

/* Größere Listensymbole bei unverändert 22px Leseschrift. Die Symbolgruppe bleibt
 * lückenlos und mittig zur Zeile; größere Kosten erhalten einen eigenen Platz. */
.deck-presentation-reading .deck-symbol-slot{width:28px;height:32px}
.deck-presentation-reading .deck-cost-slot{width:32px;height:32px}
.deck-presentation-reading .deck-line-symbols .game-symbol{width:28px!important;height:28px!important}
.deck-presentation-reading .deck-cost-slot .game-symbol{width:32px!important;height:32px!important}
.deck-refined .deck-search>label{display:block;margin:12px 0}
.deck-refined .deck-search>label select{display:block;width:100%;margin-top:6px}

/* Etwas ruhigere Listenschrift; die vergrößerten Symbole bleiben unverändert. */
.deck-presentation-reading .presentation-text .presentation-card,.deck-presentation-reading .presentation-text .presentation-name{font-size:20px}
.deck-presentation-reading .presentation-quantity{font-size:19px}

/* Dichtere Listenzeilen, weiterhin mit ausreichend Platz für die großen Symbole. */
.deck-presentation-reading .presentation-text .presentation-card{min-height:34px;padding:3px 0}

/* Noch kompakter: die Symbolhöhe bestimmt die Zeile ohne zusätzlichen Innenabstand. */
.deck-presentation-reading .presentation-text .presentation-card{min-height:32px;padding:0}

/* Auch im Editor stehen die Deckkarten direkt untereinander. Die vorhandene
 * Höhe der Mengen- und Aktionsbuttons bleibt für die Bedienung erhalten. */
.deck-refined .deck-cards .deck-entry{margin-bottom:0;padding:0}

/* Suchtreffer im Deckeditor folgen den kompakten Deckzeilen ohne Zusatzabstand. */
.deck-refined .deck-search-result{padding:0;margin:0}

/* Visibility is a setting on the deck itself; its address never changes. */
.deck-list-links .deck-visibility{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--muted)}
.deck-visibility select{font:inherit;font-size:16px;background:var(--background);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:6px 9px;min-width:120px}
.deck-list-links{align-items:center}
@media(max-width:600px){.deck-list-links{flex-wrap:wrap;justify-content:flex-start;gap:10px}.deck-list-links .deck-visibility{flex:1;min-width:120px}}

/* Whole-rulebook administration and public contents. */
.rule-toc{display:grid;gap:.4rem;margin:2rem 0}.rule-toc a{display:block;padding:.45rem .7rem}.rule-toc .toc-chapter{font-size:1.4rem;border-bottom:1px solid var(--line,#555);margin-top:1rem}.rule-toc .toc-section{padding-left:2rem}.rule-toc span{opacity:.65;margin-right:.7rem}.rule-admin-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0}.rule-admin-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(300px,2fr);gap:2rem}.rule-admin-grid nav{max-height:75vh;overflow:auto}.rule-admin-row{display:flex;gap:.2rem;padding-left:calc(var(--depth)*.6rem);margin:.25rem 0}.rule-admin-row button:first-child{flex:1;text-align:left}.rule-admin-row [aria-current=true]{font-weight:bold;border:1px solid currentColor}.rule-admin-detail input:not([type=checkbox]),[data-rule-admin] #revision-name,[data-rule-admin] #new-revision{width:100%;padding:.6rem}.rule-admin-detail textarea{width:100%;font:inherit;min-height:20rem}.rule-admin-detail .ql-container{font:inherit;min-height:20rem;background:#fff;color:#222}.rule-admin-detail .ql-toolbar{background:#eee}.rule-admin-detail .ql-editor{min-height:20rem}[data-rule-admin] button{cursor:pointer;padding:.4rem .65rem}[data-rule-admin] [role=status]{min-height:1.5em}#rule-admin-link{display:inline-block;margin-bottom:1rem}@media(max-width:850px){.rule-admin-grid{grid-template-columns:1fr}.rule-admin-grid nav{max-height:35vh}}
[data-rule-admin] .rule-admin-row button{font-size:16px;line-height:1.35;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:4px}[data-rule-admin] .rule-admin-row [aria-current=true]{border-color:var(--highlight);color:var(--highlight)}[data-rule-admin] .rule-admin-detail label{display:block;margin-bottom:.7rem}[data-rule-admin] .rule-admin-detail #section-number{max-width:180px}.rule-admin-detail .ql-editor{font-size:18px;line-height:1.5}.rule-admin-detail .ql-container{color-scheme:light}.rule-admin-detail .ql-toolbar button{padding:3px 5px}[data-rule-admin] .rule-admin-actions{margin:.5rem 0 1rem}[data-rule-admin] [role=status]:empty{min-height:0;margin:0}

/* Full Quill formatting, media and expanded editing. */
.rule-font-serif{font-family:Georgia,serif}.rule-font-monospace{font-family:monospace}.rule-font-sans-serif{font-family:Arial,sans-serif}.rule-size-small{font-size:.75em}.rule-size-large{font-size:1.5em}.rule-size-huge{font-size:2.5em}.rule-copy blockquote{border-inline-start:3px solid var(--highlight);margin-inline-start:0;padding-inline-start:1.2rem}.rule-copy pre{white-space:pre-wrap;background:var(--surface);padding:1rem;overflow:auto}.rule-copy .rule-image{max-width:100%;height:auto}.rule-video{width:min(100%,720px);aspect-ratio:16/9;border:0}.rule-formula{display:inline-block;max-width:100%;overflow:auto;vertical-align:middle}.rule-editor-fullscreen{position:fixed;inset:0;z-index:100;background:var(--background);padding:1.5rem;overflow:auto}.rule-admin-detail .ql-toolbar{display:flex;flex-wrap:wrap;gap:5px;position:sticky;top:0;z-index:3;color-scheme:light}.rule-admin-detail .ql-toolbar .ql-formats{margin:0 10px 0 0}.rule-admin-detail .ql-toolbar button{color:#333}.rule-admin-detail .ql-toolbar .ql-undo,.rule-admin-detail .ql-toolbar .ql-redo,.rule-admin-detail .ql-toolbar .ql-expand{font-family:Arial,sans-serif;font-size:21px;line-height:18px}.rule-admin-detail .ql-editor .ql-video{max-width:100%}.rule-admin-detail .ql-container .ql-tooltip{z-index:5}
.rule-admin-detail .ql-editor td{border:1px solid #888;padding:.4rem;min-width:50px}.rule-admin-detail .ql-toolbar>select{color:#222;background:#fff;max-width:210px;font-size:14px}.rule-admin-detail .ql-toolbar .ql-table{font-size:22px}
.rule-admin-detail .ql-editor table tr,.rule-admin-detail .ql-editor table td,.rule-admin-detail .ql-editor table th{background:#fff;color:#222}.rule-admin-detail .ql-editor table{margin:.7rem 0;width:100%;border-collapse:collapse}

/* One contents page for rules, terms and keywords; search above the reading area. */
body:is([data-view=rules],[data-view=glossary],[data-view=search]) .workspace{display:block;max-width:1200px}
body:is([data-view=rules],[data-view=glossary],[data-view=search]) #sidebar{position:static;height:auto;overflow:visible;padding:28px 0 0;margin:0;max-width:84ch}
body:is([data-view=rules],[data-view=glossary],[data-view=search]) #content{display:block;padding-top:28px;columns:auto}
.contents-back{display:block;margin-top:14px;font-size:18px}.rule-chapter{display:block;width:100%;min-width:0;float:none;columns:auto}.rule-chapter>.rule{display:block;float:none;width:100%}
body[data-view=rules] #content>.page-links{display:flex;position:static;clear:both;float:none;width:100%;box-sizing:border-box;flex-wrap:wrap;margin-top:40px}
.toc-glossary{margin-top:1.5rem}.toc-glossary h2{border-bottom:1px solid var(--border);padding-bottom:.6rem}.toc-glossary a.toc-section{padding:.35rem 1rem}
.rule-admin-detail #term-aliases{min-height:5rem}.rule-admin-detail #term-kind{padding:.5rem}.rule-admin-grid nav h2{font-size:21px;margin:1rem 0}.rule-admin-row{--depth:0}

/* Supplied dark-red particle layer, above pigment and below all page content. */
.blood-particles{position:fixed;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
@media print{.blood-particles{display:none!important}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){.blood-particles{display:none!important}}
