/* LateinKit — Wortkarten, Morpheme, Bezugsbögen (Doku im Kopf von lateinkit.js). Farben: --lk-<rolle> aus LateinKit.farben. */
.lk-tafel { position: absolute; inset: 0; --lk-fs: 40px; --lk-tag: 12px; --lk-serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif; }
body.theme-dark .lk-tafel { --lk-ink: #dfe4ee; --lk-stamm: #c9d0de; --lk-karte: #111622; --lk-gedaempft: rgba(255,255,255,.62); }
body.theme-light .lk-tafel { --lk-ink: #1b2233; --lk-stamm: #2a3244; --lk-karte: #ffffff; --lk-gedaempft: rgba(20,26,44,.66); }
.lk-huellen, .lk-boegen { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; overflow: visible; }
.lk-karten { position: absolute; inset: 0; pointer-events: none; }
.lk-mess { position: absolute; left: -9999px; top: 0; visibility: hidden; white-space: nowrap; font-family: var(--lk-serif); font-weight: 600; display: none; }
.lk-mess.lk-mess-tag { font-family: inherit; font-weight: 650; }
.lk-tafel.lk-ohne-zeichen .lk-sz { display: none; }

.lk-karte { --lk-c: var(--lk-rest); --lk-r: 0; --lk-h: 0; position: absolute; left: 0; top: 0; box-sizing: border-box; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: calc(var(--lk-fs) * .12); border-radius: calc(var(--lk-fs) * .26); pointer-events: auto; cursor: pointer; user-select: none; -webkit-user-select: none; touch-action: none; will-change: transform;
  background: color-mix(in srgb, var(--lk-c) calc(var(--lk-r) * 15%), var(--lk-karte)); }
.lk-karte[data-rolle="praedikat"] { --lk-c: var(--lk-praedikat); } .lk-karte[data-rolle="pnomen"] { --lk-c: var(--lk-pnomen); } .lk-karte[data-rolle="subjekt"] { --lk-c: var(--lk-subjekt); }
.lk-karte[data-rolle="objekt"] { --lk-c: var(--lk-objekt); } .lk-karte[data-rolle="adverbiale"] { --lk-c: var(--lk-adverbiale); } .lk-karte[data-rolle="attribut"] { --lk-c: var(--lk-attribut); }
.lk-karte[data-rolle="praedikativum"] { --lk-c: var(--lk-praedikativum); }
.lk-karte:hover { background: color-mix(in srgb, var(--lk-c) calc(var(--lk-r) * 15% + 9%), var(--lk-karte)); }
.lk-wort { font-family: var(--lk-serif); font-size: var(--lk-fs); font-weight: 600; line-height: 1.1; white-space: nowrap; letter-spacing: .005em; color: var(--lk-stamm); }
.lk-st, .lk-kz, .lk-nk { color: color-mix(in srgb, var(--lk-c) calc(var(--lk-r) * 32%), var(--lk-stamm)); }
.lk-kz { opacity: calc(1 - var(--lk-r) * .15); }
.lk-en { position: relative; color: color-mix(in srgb, var(--lk-c) calc(max(var(--lk-r), var(--lk-h)) * 100%), var(--lk-stamm)); }
body.theme-dark .lk-en { text-shadow: 0 0 calc(var(--lk-h) * .55em + var(--lk-r) * .16em) color-mix(in srgb, var(--lk-c) 70%, transparent); }
.lk-en::before { content: ''; position: absolute; left: -.015em; top: .16em; bottom: .1em; width: max(1px, .022em); background: var(--lk-c); opacity: calc(max(var(--lk-r), var(--lk-h)) * .65); }
.lk-sz { color: var(--lk-gedaempft); }
.lk-tag { margin-top: 3px; font-size: var(--lk-tag); font-weight: 650; line-height: 1.3; white-space: nowrap; color: color-mix(in srgb, var(--lk-c) 86%, var(--lk-ink)); opacity: var(--lk-r); }
.lk-best { font-size: calc(var(--lk-tag) * .92); line-height: 1.3; white-space: nowrap; color: var(--lk-gedaempft); opacity: var(--lk-r); font-variant-numeric: tabular-nums; }
.lk-nr { position: absolute; left: calc(var(--lk-fs) * .1); top: calc(var(--lk-fs) * .07); min-width: 1.3em; font-size: max(10px, calc(var(--lk-fs) * .2)); font-weight: 750; line-height: 1.3; text-align: center; color: var(--lk-c); opacity: calc(var(--lk-r) * .9); font-variant-numeric: tabular-nums; }
.lk-karte.lk-sel { background: color-mix(in srgb, var(--lk-c) 30%, var(--lk-karte)); }
.lk-karte.lk-zieht { z-index: 5; cursor: grabbing; background: color-mix(in srgb, var(--lk-c) 34%, var(--lk-karte)); }
.lk-karte.lk-fest { cursor: default; opacity: .72; }
.lk-karte.lk-ton::after { content: ''; position: absolute; left: 18%; right: 18%; bottom: calc(var(--lk-fs) * -.1); height: 3px; border-radius: 2px; background: var(--lk-ink); }
.lk-karte.lk-richtig::after, .lk-karte.lk-falsch::after { content: ''; position: absolute; left: 12%; right: 12%; bottom: calc(var(--lk-fs) * -.1); height: 4px; border-radius: 2px; }
.lk-karte.lk-richtig::after { background: var(--lk-praedikat); }
.lk-karte.lk-falsch::after { background: repeating-linear-gradient(90deg, var(--lk-ink) 0 6px, transparent 6px 11px); }

.lk-b { fill: none; stroke-linecap: round; stroke-width: max(2px, calc(var(--lk-fs) * .05)); }
.lk-b[data-art="kng"] { stroke-width: max(1.6px, calc(var(--lk-fs) * .036)); }
.lk-hl { fill-opacity: .11; }
body.theme-light .lk-hl { fill-opacity: .14; }

/* Film: nur Wörter, Bögen und Flächen; Beschriftung macht die Regie. */
body.buehne-film .lk-tag, body.buehne-film .lk-best, body.buehne-film .lk-nr { display: none; }
body.buehne-film .lk-tafel { --lk-ink: #f4f6fb; --lk-stamm: #eef1f8; --lk-karte: #0d0f14; }
body.buehne-film .lk-b { stroke-width: 5px; } body.buehne-film .lk-b[data-art="kng"] { stroke-width: 4px; }
body.buehne-film .lk-hl { fill-opacity: .2; }
