/* Lehrzeug Grammatiktest – eigenes Design. Gemeinsames Design: /kern/kern.css */
.gt-quick { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 18px; }
.gt-quick-t { font-weight: 700; font-size: 14px; color: var(--ink-2); margin-right: 2px; }
.gt-chip { padding: 7px 14px; border-radius: 99px; border: 1.5px solid var(--line-2); background: var(--surface); color: var(--ink); font-family: var(--font); font-size: 14px; font-weight: 600; cursor: pointer; transition: border-color .15s, background .15s, transform .15s; }
.gt-chip:hover { border-color: var(--teal); background: var(--teal-soft); color: var(--teal-ink); transform: translateY(-1px); }

.gt-blocks { list-style: none; margin: 6px 0 10px; padding: 0; display: grid; gap: 6px; }
.gt-bl { display: flex; align-items: center; gap: 4px; padding: 4px; border-radius: 12px; border: 1px solid var(--line); background: var(--surface-2); }
.gt-bl.is-cur { border-color: var(--teal); background: var(--teal-soft); box-shadow: inset 0 0 0 1px var(--teal); }
.gt-bl-main { flex: 1; min-width: 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px; align-items: center; padding: 4px 6px; border: 0; background: none; color: inherit; text-align: left; cursor: pointer; border-radius: 9px; }
.gt-bl-n { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 9px; background: var(--navy); color: #fff; font-weight: 700; font-size: 14px; }
.gt-bl.is-cur .gt-bl-n { background: var(--teal); color: var(--on-teal); }
.gt-bl-t { display: grid; line-height: 1.25; }
.gt-bl-t b { font-size: 14.5px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gt-bl-t small { font-size: 12.5px; color: var(--ink-3); }
.gt-bl-b { display: flex; flex: none; }
.gt-bl-b .icon-btn .i { width: 16px; height: 16px; }
.gt-bl-b .icon-btn:disabled { opacity: .3; pointer-events: none; }
.gt-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 10px; align-items: end; }
.gt-mix { width: 100%; justify-content: center; }
#gtHilfeRow[hidden] { display: none; }
#gtHilfeT { color: var(--ink-3); }
.gt-edit { margin-top: 8px; border-top: 1px solid var(--line); padding-top: 8px; }
.gt-edit > summary, .gt-syntax > summary { display: flex; align-items: center; gap: 8px; padding: 6px 2px; font-weight: 600; cursor: pointer; list-style: none; }
.gt-edit > summary::-webkit-details-marker, .gt-syntax > summary::-webkit-details-marker { display: none; }
.gt-edit > summary .i, .gt-syntax > summary .i { width: 18px; height: 18px; color: var(--teal-ink); flex: none; }
.gt-edit > summary::after, .gt-syntax > summary::after { content: ""; margin-left: auto; width: 8px; height: 8px; border-right: 2px solid var(--ink-3); border-bottom: 2px solid var(--ink-3); transform: rotate(45deg); transition: transform .2s; }
.gt-edit[open] > summary::after, .gt-syntax[open] > summary::after { transform: rotate(-135deg); }
.gt-edit-hint { margin: 2px 0 8px; }
.gt-items { list-style: none; margin: 0 0 10px; padding: 2px; display: grid; gap: 8px; max-height: 440px; overflow-y: auto; overscroll-behavior: contain; counter-reset: gti; }
.gt-it { display: grid; grid-template-columns: minmax(0, 1fr); gap: 3px; counter-increment: gti; }
.gt-it textarea { font-size: 14px; line-height: 1.4; resize: vertical; min-height: 0; }
.gt-it-b { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.gt-it-b::before { content: counter(gti) "."; font-size: 12px; font-weight: 700; color: var(--ink-3); }
.gt-tag { margin-left: auto; padding: 1px 8px; border-radius: 99px; background: var(--teal-soft); color: var(--teal-ink); font-size: 12px; font-weight: 600; }
.gt-tag.is-warn { background: var(--yellow-soft); color: var(--yellow-ink); }
.gt-it-b .icon-btn .i { width: 16px; height: 16px; }
.gt-syntax { margin: 6px 0; padding: 4px 12px 8px; border-radius: 12px; background: var(--sunken); }
.gt-syntax dl { margin: 4px 0 6px; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px 10px; font-size: 14px; }
.gt-syntax dt { margin: 0; }
.gt-syntax dd { margin: 0; color: var(--ink-2); }
.gt-syntax code { padding: 1px 6px; border-radius: 6px; background: var(--surface); font-size: 13px; white-space: nowrap; }
.gt-own { margin-top: 6px; }
.gt-tabs { margin-left: auto; }
.gt-tabs span { padding: 5px 11px; }

/* ---------------------------------------------------------------- Blatt (Vorschau und Druck) */
.gt-sheet { padding: 14mm 16mm 16mm; font-family: var(--font); color: #071B4A; background: #fff; font-size: 12pt; line-height: 1.5; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.lt-sheet .gt-sheet { padding: 30px 34px; }
.lt-sheet .gt-sheet + .gt-sheet { border-top: 2px dashed #CCD6E1; }
.gt-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 10pt; margin: 0 0 12pt; padding-bottom: 6pt; border-bottom: 2px solid #071B4A; }
.gt-head h1 { margin: 0; font-size: 18pt; line-height: 1.2; letter-spacing: -.01em; }
.gt-tags { display: flex; gap: 6pt; flex: none; }
.gt-grp { padding: 2pt 9pt; border: 1.5px solid #071B4A; border-radius: 99px; font-weight: 700; font-size: 10.5pt; white-space: nowrap; }
.gt-grp.is-sol { background: #E1F7F1; border-color: #0A7F68; color: #08735E; }
.gt-blk { margin: 0 0 14pt; }
.gt-blk h2 { display: flex; align-items: baseline; gap: 8pt; margin: 0 0 6pt; font-size: 12.5pt; line-height: 1.35; }
.gt-nr { flex: none; display: inline-grid; place-items: center; min-width: 18pt; height: 18pt; border-radius: 5pt; background: #071B4A; color: #fff; font-size: 10.5pt; }
.gt-anw { flex: 1; }
.gt-pts { flex: none; font-weight: 600; font-size: 10.5pt; color: #3D4B66; white-space: nowrap; }
.gt-help { margin: 0 0 8pt; padding: 5pt 9pt; border-radius: 6pt; background: #F1F4F8; font-size: 10pt; line-height: 1.45; color: #3D4B66; }
.gt-ol { margin: 0; padding-left: 20pt; }
.gt-ol > li { margin: 0 0 6pt; padding-left: 3pt; line-height: 2.05; break-inside: avoid; }
.gt-ol > li::marker { font-weight: 700; color: #3D4B66; }
.gt-ol > li.has-m { line-height: 1.45; margin-bottom: 9pt; }
.gt-ol.is-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14mm; }
.gt-m { display: inline-flex; flex-direction: column; align-items: center; margin: 0 1pt 3pt; }
.gt-mt u { text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.gt-ml { display: block; align-self: stretch; min-width: 23mm; height: 15pt; margin-top: 3pt; border-bottom: 1px solid #8FA3C0; font-size: 9pt; line-height: 15pt; text-align: center; white-space: nowrap; }
.gt-ml.is-sol { border-bottom-color: transparent; color: #08735E; font-weight: 700; }
.gt-gap { display: inline-block; min-width: 20mm; margin: 0 2pt; border-bottom: 1px solid #071B4A; line-height: 1.25; text-align: center; vertical-align: baseline; }
.gt-gap.gw1 { min-width: 14mm; } .gt-gap.gw2 { min-width: 20mm; } .gt-gap.gw3 { min-width: 28mm; } .gt-gap.gw4 { min-width: 36mm; } .gt-gap.gw5 { min-width: 46mm; } .gt-gap.gw6 { min-width: 60mm; }
.gt-gap.is-sol { padding: 0 3pt; color: #08735E; font-weight: 700; border-bottom-color: #8FA3C0; }
.gt-opt { margin-left: 2pt; font-size: 10pt; color: #3D4B66; white-space: nowrap; }
.gt-arr { margin: 0 6pt; color: #5B6372; }
.gt-wl { display: block; height: 22pt; border-bottom: 1px solid #8FA3C0; }
.gt-wl.is-sol { height: auto; border: 0; color: #08735E; font-weight: 600; line-height: 1.5; }
.gt-kz.is-test { word-spacing: .3em; }
.gt-kk { color: #E0412F; font-weight: 800; font-size: 1.25em; padding: 0 1px; }
.gt-sol .gt-ol > li { line-height: 1.75; }
.gt-sol .gt-ol > li.has-m { line-height: 1.45; }
.gt-total { margin: 16pt 0 0; text-align: right; font-weight: 700; font-size: 12pt; }

@media (max-width: 600px) {
  .lt-sheet .gt-sheet { padding: 18px 16px; font-size: 11pt; }
  .gt-ol.is-cols { grid-template-columns: minmax(0, 1fr); }
  .gt-head { flex-wrap: wrap; }
  .gt-tabs { margin-left: 0; }
}
@media (max-width: 430px) {
  .gt-two { grid-template-columns: minmax(0, 1fr); }
}
