/* Lehrzeug Lückentext – werkzeugeigenes Design. Gemeinsames Design: /kern/kern.css */
.lt-rand { display: grid; gap: 12px; }
.lt-mainbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; }
.lt-main .sheet-wrap { max-height: calc(100vh - 200px); }
.lt-sheet { background: #fff; color: #071B4A; width: 100%; max-width: 760px; margin: 0 auto; border-radius: 4px; box-shadow: 0 10px 30px -18px rgba(7, 27, 74, .5); }

/* Das Blatt (Bildschirm und Druck) */
.lt-page { padding: 34px 40px 26px; font-family: var(--font); font-size: 11pt; line-height: 1.75; color: #071B4A; }
.lt-fs125 { font-size: 12.5pt; } .lt-fs14 { font-size: 14pt; }
.lt-head { display: flex; flex-wrap: wrap; gap: 10px 22px; font-size: 9.5pt; color: #3D4B66; margin-bottom: 14px; }
.lt-head span { display: flex; align-items: flex-end; gap: 6px; flex: 1; min-width: 120px; }
.lt-head i { flex: 1; border-bottom: 1px solid #5B6372; height: 1.1em; }
.lt-head i.s { max-width: 110px; }
.lt-page h1 { font-size: 1.55em; margin: 0 0 2px; letter-spacing: -.01em; line-height: 1.25; }
.lt-page h1 small { font-size: .55em; font-weight: 500; color: #0A7F68; vertical-align: middle; margin-left: 6px; padding: 2px 8px; border: 1px solid #0A7F68; border-radius: 99px; }
.lt-task { margin: 0 0 12px; color: #3D4B66; font-style: italic; }
.lt-bank { border: 1.5px solid #071B4A; border-radius: 10px; padding: 8px 14px 6px; margin: 0 0 14px; }
.lt-bank-t { margin: 0 0 2px; font-weight: 700; font-size: .85em; text-transform: uppercase; letter-spacing: .06em; color: #0A7F68; }
.lt-bank p:last-child { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 16px; }
.lt-text { text-align: left; hyphens: auto; }
.lt-empty { color: #8E9AB0; font-style: italic; }
.lt-gap { display: inline-flex; align-items: flex-end; gap: 1px; vertical-align: baseline; }
.lt-line { display: inline-block; border-bottom: 1.3px solid #071B4A; height: 1em; }
.lt-l3 { width: 2.4em; } .lt-l4 { width: 3em; } .lt-l5 { width: 3.6em; } .lt-l6 { width: 4.2em; } .lt-l7 { width: 4.8em; } .lt-l8 { width: 5.4em; }
.lt-l9 { width: 6em; } .lt-l10 { width: 6.6em; } .lt-l11 { width: 7.2em; } .lt-l12 { width: 7.8em; } .lt-l13 { width: 8.4em; } .lt-l14 { width: 9em; }
.lt-g-str { letter-spacing: .05em; font-family: var(--mono); }
.lt-sol { font-weight: 700; color: #0A7F68; text-decoration: underline; text-underline-offset: 3px; }
.lt-foot { margin: 18px 0 0; font-size: 7.5pt; color: #8E9AB0; text-align: right; }
.lt-w { cursor: pointer; border-radius: 4px; padding: 0 1px; transition: background-color .12s; }
.lt-w:hover { background: #E6EFFE; }
.lt-w.is-gap { background: #E1F7F1; }
.lt-w:focus-visible { outline: 2px solid var(--focus); }

/* Wortsuchrätsel */
.ws-grid { display: grid; margin: 6px auto 16px; border: 2px solid #071B4A; border-radius: 8px; overflow: hidden; width: 100%; max-width: 560px; aspect-ratio: 1; font-family: var(--mono); font-weight: 700; }
.ws-grid span { display: grid; place-items: center; border-right: 1px solid #DDE4EC; border-bottom: 1px solid #DDE4EC; aspect-ratio: 1; }
.ws-n10 { font-size: 15pt; } .ws-n12 { font-size: 13.5pt; } .ws-n15 { font-size: 12pt; } .ws-n18 { font-size: 10.5pt; } .ws-n20 { font-size: 9.5pt; } .ws-n25 { font-size: 7.5pt; }
.ws-grid span.is-sol { background: #F5A623; color: #071B4A; }
.ws-list { border: 1.5px solid #071B4A; border-radius: 10px; padding: 8px 14px 6px; }
.ws-list p:last-child { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }

/* Kreuzworträtsel */
.kw-grid { display: grid; margin: 8px auto 14px; width: 100%; gap: 0; }
.kw-grid span { aspect-ratio: 1; position: relative; }
.kw-c { border: 1.2px solid #071B4A; margin: -0.6px; background: #fff; display: grid; place-items: center; }
.kw-c i { position: absolute; left: 2px; top: 0; font-style: normal; font-size: .52em; line-height: 1.1; color: #071B4A; font-weight: 700; }
.kw-c b { font-family: var(--mono); font-size: .95em; }
.kw-c b.kw-sol { color: #0A7F68; }
.kw-clues { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 22px; font-size: .92em; line-height: 1.45; }
.kw-list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 3px; }
.kw-list li { display: flex; gap: 8px; break-inside: avoid; }
.kw-list li b { min-width: 1.4em; text-align: right; }
.kw-list small { color: #5B6372; }
.kw-list em { color: #0A7F68; font-style: normal; font-weight: 700; margin-left: 4px; }

/* Wortschlange */
.sn-body { margin: 10px 0 16px; display: grid; gap: 0; }
.sn-row { display: flex; gap: 0; padding: 0 18px; position: relative; }
.sn-row.is-rev { flex-direction: row-reverse; }
.sn-c { flex: 1; aspect-ratio: 1; max-width: 42px; display: grid; place-items: center; font-family: var(--mono); font-weight: 700; font-size: 1.05em; background: #E1F7F1; border-top: 2px solid #0A7F68; border-bottom: 2px solid #0A7F68; }
.sn-row:not(.is-first) { margin-top: -2px; }
.sn-row::after { content: ""; position: absolute; top: 0; bottom: -2px; width: 22px; border: 2px solid #0A7F68; background: #E1F7F1; }
.sn-row:not(.is-rev)::after { right: 0; border-left: 0; border-radius: 0 22px 22px 0; }
.sn-row.is-rev::after { left: 0; border-right: 0; border-radius: 22px 0 0 22px; }
.sn-row.is-last::after { display: none; }
.sn-c.is-head { background: #0A7F68; color: #fff; border-radius: 14px 0 0 14px; }
.sn-row.is-first .sn-c.is-head { border-radius: 16px 4px 4px 16px; }
.sn-c.is-fill { color: #8E9AB0; }
.sn-c.is-word { color: #071B4A; }
.sn-c.is-head.is-word { color: #fff; }
.sn-c.is-cut { box-shadow: inset -3px 0 0 #F2604F; }
.sn-row.is-rev .sn-c.is-cut { box-shadow: inset 3px 0 0 #F2604F; }
.sn-lines { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 24px; margin-top: 6px; }
.sn-lines span { border-bottom: 1px solid #5B6372; min-height: 1.9em; display: flex; align-items: flex-end; gap: 6px; }

/* Buchstabensalat */
.bs-list { margin: 8px 0 0; padding-left: 1.5em; display: grid; gap: 12px; }
.bs-list li { display: grid; grid-template-columns: minmax(0, auto) minmax(0, 1fr); gap: 4px 18px; align-items: end; break-inside: avoid; }
.bs-mix { display: flex; gap: 3px; flex-wrap: wrap; }
.bs-mix i { font-style: normal; font-family: var(--mono); font-weight: 700; width: 1.6em; height: 1.6em; display: grid; place-items: center; border: 1.2px solid #071B4A; border-radius: 5px; background: #F7F9FC; }
.bs-mix i.is-fix { background: #E1F7F1; border-color: #0A7F68; }
.bs-line { border-bottom: 1px solid #5B6372; min-height: 1.7em; min-width: 40%; }
.bs-clue { grid-column: 1 / -1; color: #5B6372; font-size: .85em; line-height: 1.3; }

/* Satzsalat */
.ss-list { margin: 8px 0 0; padding-left: 1.5em; display: grid; gap: 14px; }
.ss-list li { break-inside: avoid; }
.ss-words { display: flex; flex-wrap: wrap; gap: 6px; }
.ss-words span { padding: 2px 10px; border: 1.2px solid #071B4A; border-radius: 6px; background: #F7F9FC; }
.ss-list.is-cut .ss-words span { border-style: dashed; border-radius: 0; background: #fff; }
.ss-line { display: block; border-bottom: 1px solid #5B6372; height: 2em; }
.ss-sol { margin: 6px 0 0; }

/* Druck: ein Blatt je Seite */
.lt-print { width: 210mm; min-height: 296mm; background: #fff; break-after: page; page-break-after: always; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.lt-print:last-child { break-after: auto; page-break-after: auto; }
.lt-print .lt-page { padding: 16mm 18mm 12mm; }
.lt-print .ws-grid { max-width: 165mm; }
@media (max-width: 600px) { .lt-page { padding: 20px 18px; } }
