.tex-kq {
    --kq-gelb: #ffad00;
    --kq-gelb-hell: rgba(255, 173, 0, .14);
    --kq-rahmen: rgba(127, 127, 127, .35);
    --kq-feld: #a4a4a4;
    --kq-flaeche: rgba(127, 127, 127, .08);
    --kq-gruen: #2e8540;
    --kq-rot: #c62828;
    margin: 0 0 2.5rem;
}
.tex-kq *,
.tex-kq *::before,
.tex-kq *::after { box-sizing: border-box; }
.tex-kq [hidden] { display: none !important; }
.tex-kq-intro { font-size: 1rem; max-width: 52rem; margin: 0 0 1.25rem; }
.tex-kq-layout { display: grid; gap: 1.5rem; }
.tex-kq-eingaben { min-width: 0; }
.tex-kq-feld { border: 0; padding: 0; margin: 0 0 1.5rem; min-width: 0; }
.tex-kq-feld-klein { margin-bottom: 1rem; }
.tex-kq-legende { display: flex; align-items: center; gap: .5rem; font-size: 1.125rem; font-weight: 700; margin: 0 0 .5rem; padding: 0; width: auto; }
.tex-kq-feld-klein .tex-kq-legende { font-size: .875rem; }
.tex-kq-nr { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; width: 1.75rem; height: 1.75rem; background: var(--kq-gelb); color: #000; font-weight: 700; font-size: .875rem; }
.tex-kq-hilfe { font-size: .8125rem; opacity: .75; margin: .25rem 0 .5rem; }
.tex-kq-vorlagen { display: flex; flex-wrap: wrap; gap: .375rem; margin: 0 0 .75rem; }
.tex-kq .tex-kq-chip { display: inline-flex; align-items: center; min-height: 2.75rem; padding: .25rem .75rem; border: 1px solid var(--kq-feld); background: transparent; color: inherit; white-space: nowrap; text-decoration: none; text-transform: none; font-weight: 600; font-size: .875rem; letter-spacing: 0; }
.tex-kq .tex-kq-chip:hover,
.tex-kq .tex-kq-chip:focus { border-color: var(--kq-gelb); color: inherit; text-decoration: none; }
.tex-kq .tex-kq-chip.active { background: var(--kq-gelb); border-color: var(--kq-gelb); color: #000; }
.tex-kq-last { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.tex-kq .tex-kq-zahl { display: inline-block; width: 7rem; font-size: 1rem; min-height: 2.75rem; }
.tex-kq .tex-kq-zahl-gross { width: 9rem; height: auto; font-size: 1.5rem; font-weight: 700; padding: .25rem .5rem; }
.tex-kq-umschalter { display: inline-flex; flex-wrap: wrap; margin: .25rem 0; }
.tex-kq-umschalter label { margin: 0; cursor: pointer; }
.tex-kq-umschalter input,
.tex-kq-karte input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.tex-kq-umschalter span { display: flex; flex-direction: column; justify-content: center; min-height: 2.75rem; padding: .375rem .875rem; border: 1px solid var(--kq-feld); margin: 0 -1px -1px 0; font-size: .9375rem; line-height: 1.3; }
.tex-kq-umschalter input:checked + span { background: var(--kq-gelb); border-color: var(--kq-gelb); color: #000; font-weight: 700; position: relative; }
.tex-kq-umschalter input:focus-visible + span,
.tex-kq-karte input:focus-visible + .tex-kq-karte-innen { outline: 2px solid currentColor; outline-offset: 2px; }
.tex-kq-umschalter-breit { display: grid; grid-template-columns: 1fr; grid-auto-rows: 1fr; width: 100%; margin-top: .5rem; }
.tex-kq-umschalter-breit label { display: flex; }
.tex-kq-umschalter-breit span { flex: 1 1 auto; }
.tex-kq-umschalter-breit span b { display: block; }
.tex-kq-umschalter-breit span small { display: block; font-weight: 400; opacity: .8; }
.tex-kq-karten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.tex-kq-karte { position: relative; margin: 0; cursor: pointer; }
.tex-kq-karte-innen { display: flex; flex-direction: column; gap: .25rem; height: 100%; min-height: 2.75rem; padding: .5rem .625rem; border: 1px solid var(--kq-rahmen); }
.tex-kq-karte-innen b { font-size: .875rem; line-height: 1.25; }
.tex-kq-karte-innen small { font-size: .75rem; opacity: .75; line-height: 1.3; }
.tex-kq-karte input:checked + .tex-kq-karte-innen { border-color: var(--kq-gelb); box-shadow: inset 0 0 0 2px var(--kq-gelb); background: var(--kq-gelb-hell); }
.tex-kq-sym { display: block; width: 4.5rem; height: auto; fill: none; stroke: currentColor; stroke-width: 1.3; margin-bottom: .125rem; }
.tex-kq-sym circle { fill: rgba(255, 173, 0, .3); }
.tex-kq-karte input:checked + .tex-kq-karte-innen .tex-kq-sym circle { fill: var(--kq-gelb); }
.tex-kq-sym .tex-kq-sym-flaeche { stroke-width: 3; }
.tex-kq-sym .tex-kq-sym-rohr { fill: none; }
.tex-kq-sym .tex-kq-sym-mass { stroke-dasharray: 2 2; }
.tex-kq-sym .tex-kq-sym-d { fill: currentColor; stroke: none; font-size: 8px; text-anchor: middle; }
.tex-kq-anzahl { margin-top: .75rem; }
.tex-kq-anzahl label { display: block; font-weight: 700; font-size: .875rem; margin-bottom: .25rem; }
.tex-kq-stepper { display: inline-flex; align-items: stretch; }
.tex-kq-stepper .tex-kq-zahl { width: 4.5rem; text-align: center; }
.tex-kq-step { width: 2.75rem; min-height: 2.75rem; border: 1px solid var(--kq-feld); background: transparent; color: inherit; font-size: 1.25rem; line-height: 1; cursor: pointer; }
.tex-kq-step:hover { background: var(--kq-gelb-hell); }
.tex-kq-eigene { margin: 0 0 1rem; font-size: .875rem; }
.tex-kq-eigene summary { cursor: pointer; font-weight: 700; }
.tex-kq-eigene-felder { display: grid; gap: .5rem; margin-top: .5rem; }
.tex-kq-eigene-felder label { display: grid; gap: .25rem; margin: 0; }
.tex-kq.kq-js .tex-kq-ohnejs { display: none; }
.tex-kq-ergebnis { border: 2px solid var(--kq-gelb); padding: 1rem 1.25rem; align-self: start; }
.tex-kq.ist-unvollstaendig .tex-kq-antwort,
.tex-kq.ist-unvollstaendig .tex-kq-warum,
.tex-kq.ist-unvollstaendig .tex-kq-schritte { opacity: .35; }
.tex-kq-hinweis-leer { font-weight: 700; margin: 0 0 .5rem; }
.tex-kq-ergebnis-titel { font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin: 0 0 .5rem; }
.tex-kq-antwort { display: grid; gap: .75rem; }
.tex-kq-antwort-was { display: block; font-size: .75rem; font-weight: 700; text-transform: uppercase; opacity: .7; }
.tex-kq-antwort-wert { display: block; font-size: 1.125rem; line-height: 1.15; }
.tex-kq-antwort-wert b { font-size: 2.25rem; font-weight: 800; }
.tex-kq-antwort-wert small { font-size: .875rem; }
.tex-kq-antwort-zusatz { display: block; font-size: .75rem; opacity: .75; margin-top: .125rem; }
.tex-kq-schutz { opacity: 1; font-weight: 700; }
.tex-kq-schutz-teil { border-left: 4px solid var(--kq-gelb); padding-left: .375rem; }
.tex-kq-warum { font-weight: 700; margin: 1rem 0 .5rem; }
.tex-kq-nurabfall { background: var(--kq-gelb-hell); border-left: 4px solid var(--kq-gelb); padding: .5rem .75rem; font-size: .875rem; margin: 0 0 .75rem; }
.tex-kq-warnung { font-size: .875rem; margin: 0 0 .75rem; }
.tex-kq-produkt { font-size: .875rem; margin: 0 0 .75rem; }
.tex-kq .tex-kq-produkt a { display: block; padding: .5rem 0; min-height: 2.75rem; font-weight: 700; color: inherit; text-decoration: underline; text-decoration-color: var(--kq-gelb); text-decoration-thickness: 2px; }
.tex-kq .tex-kq-alternativen li a { color: inherit; text-decoration: underline; text-decoration-color: var(--kq-gelb); text-decoration-thickness: 2px; }
.tex-kq-typ { display: block; font-size: 1rem; font-weight: 700; }
.tex-kq .tex-kq-produkt a:hover,
.tex-kq .tex-kq-alternativen li a:hover { color: inherit; text-decoration-thickness: 4px; }
.tex-kq-teilen { margin: .5rem 0 0; font-size: .8125rem; }
.tex-kq-teilen .btn { min-height: 2.75rem; display: inline-flex; align-items: center; }
.tex-kq .tex-kq-zurueck { display: inline-flex; align-items: center; min-height: 2.75rem; margin-right: .75rem; color: inherit; text-decoration: underline; }
.tex-kq-umschalter-breit label,
.tex-kq-umschalter-breit span { width: 100%; }
.tex-kq-leiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1030; background: var(--kq-gelb); box-shadow: 0 -2px 8px rgba(0, 0, 0, .25); }
.tex-kq-leiste b,
.tex-kq-leiste .tex-kq-ganz { white-space: nowrap; }
.tex-kq-leiste a { display: block; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom, 0px)) 4.5rem; color: #000; text-align: center; font-size: 1.0625rem; text-decoration: none; }
.tex-kq-schritte { margin: 2rem 0 1.5rem; }
.tex-kq-leiter { display: flex; list-style: none; margin: 0 0 1rem; padding: 1.5rem 0 .25rem; overflow-x: auto; gap: 2px; }
.tex-kq-leiter li { position: relative; flex: 1 0 2.75rem; min-width: 0; text-align: center; font-size: .75rem; padding: .375rem .125rem; border: 1px solid var(--kq-rahmen); opacity: .55; white-space: nowrap; }
.tex-kq-leiter li.ist-weg { opacity: 1; background: var(--kq-gelb-hell); }
.tex-kq-leiter li.ist-ziel { opacity: 1; background: var(--kq-gelb); border-color: var(--kq-gelb); color: #000; font-weight: 800; }
.tex-kq-leiter li[data-mark]::before { content: attr(data-mark); position: absolute; top: -1.375rem; left: 50%; transform: translateX(-50%); font-size: .6875rem; font-weight: 700; opacity: 1; }
.tex-kq-karten-schritte { display: grid; gap: .75rem; grid-template-columns: 1fr; }
.tex-kq .tex-kq-schritt { padding: .875rem 1rem; border-color: var(--kq-rahmen); background: transparent; }
.tex-kq .tex-kq-schritt.ist-massgeblich { border-color: var(--kq-gelb); box-shadow: inset 0 4px 0 var(--kq-gelb); }
.tex-kq-schritt h3 { display: flex; align-items: flex-start; gap: .5rem; font-size: 1rem; font-weight: 700; margin: 0 0 .5rem; }
.tex-kq-schritt h3 small { display: block; font-size: .75rem; font-weight: 400; opacity: .7; }
.tex-kq-schritt p { font-size: .875rem; margin: 0 0 .5rem; }
.tex-kq-schritt .tex-kq-schritt-wert { font-size: 1rem; margin-bottom: .5rem; }
.tex-kq-schritt-wert b { font-size: 1.5rem; }
.tex-kq-marke { font-size: .6875rem; vertical-align: middle; margin-left: .25rem; }
.tex-kq-marke-ok { border: 1px solid var(--kq-gruen); color: inherit; }
.tex-kq-meter { height: .5rem; background: var(--kq-flaeche); border: 1px solid var(--kq-rahmen); }
.tex-kq-meter span { display: block; height: 100%; background: var(--kq-gruen); transition: width .2s ease; }
.tex-kq-meter.ist-ueber span { background: var(--kq-rot); }
.tex-kq .tex-kq-meter-text { font-size: .75rem; opacity: .8; margin: .25rem 0 .5rem; }
.tex-kq-dc { font-size: .75rem; border-left: 3px solid var(--kq-feld); padding-left: .5rem; opacity: .85; }
.tex-kq-alternativen { margin: 0 0 1.5rem; }
.tex-kq-alternativen h2,
.tex-kq-beispiele h2,
.tex-kq-faq h2,
.tex-kq-fuss h2 { font-size: 1.25rem; margin: 0 0 .75rem; }
.tex-kq-alternativen ul { list-style: none; padding: 0; margin: 0 0 .75rem; }
.tex-kq-alternativen li { position: relative; padding: .375rem 0 .375rem 1.25rem; border-bottom: 1px solid var(--kq-rahmen); font-size: .9375rem; }
.tex-kq-alternativen li::before { content: "→"; position: absolute; left: 0; font-weight: 700; }
.tex-kq-alternativen li a { font-size: .8125rem; margin-left: .25rem; }
.tex-kq-hinweis { font-size: .875rem; background: var(--kq-flaeche); padding: .5rem .75rem; margin: 0; }
.tex-kq-profi { margin: 0 0 2rem; border: 1px solid var(--kq-rahmen); }
.tex-kq-profi > summary { cursor: pointer; padding: .75rem 1rem; font-weight: 700; list-style: none; }
.tex-kq-profi > summary::-webkit-details-marker { display: none; }
.tex-kq-profi > summary::before { content: "+"; display: inline-block; width: 1.25rem; font-weight: 800; }
.tex-kq-profi[open] > summary::before { content: "−"; }
.tex-kq-profi[open] > summary { border-bottom: 1px solid var(--kq-rahmen); }
.tex-kq-profi-innen { padding: 1rem; }
.tex-kq-profi-innen h3 { font-size: 1rem; font-weight: 700; margin: 1.25rem 0 .5rem; }
.tex-kq-profi-innen h3:first-child { margin-top: 0; }
.tex-kq-rechenweg { list-style: none; padding: 0; margin: 0; font-size: .875rem; }
.tex-kq-rechenweg li { padding: .25rem 0; border-bottom: 1px dotted var(--kq-rahmen); }
.tex-kq-rechenweg li > b:first-child { display: inline-block; min-width: 1.5rem; }
.tex-kq-rechenweg code { color: inherit; font-size: .8125rem; white-space: normal; }
.tex-kq-physik { padding-left: 1.25rem; font-size: .875rem; }
.tex-kq-tabelle-rahmen { overflow-x: auto; margin: 0 0 1rem; }
.tex-kq .tex-kq-tabelle { font-size: .8125rem; margin: 0; color: inherit; }
.tex-kq-tabelle th,
.tex-kq-tabelle td { white-space: nowrap; vertical-align: middle; }
.tex-kq-tabelle thead th { font-weight: 700; }
.tex-kq-tabelle thead .tex-kq-sym { width: 2.75rem; }
.tex-kq-tabelle thead th span { display: block; font-size: .6875rem; font-weight: 400; white-space: normal; min-width: 6rem; }
.tex-kq-tabelle .ist-aktiv { background: var(--kq-gelb-hell); }
.tex-kq-tabelle .ist-treffer,
.tex-kq-tabelle tr.ist-treffer > * { background: var(--kq-gelb); color: #000; font-weight: 700; }
.tex-kq-lernen p { font-size: .875rem; margin: 0 0 .625rem; }
.tex-kq-beispiele { margin: 0 0 2rem; }
.tex-kq-beispiele th a { font-weight: 700; }
.tex-kq-faq { margin: 0 0 2rem; }
.tex-kq-faq details { border-bottom: 1px solid var(--kq-rahmen); }
.tex-kq-faq summary { cursor: pointer; font-weight: 700; padding: .625rem 0; }
.tex-kq-faq details p { margin: 0 0 .75rem; font-size: .9375rem; }
.tex-kq-fuss { font-size: .875rem; }
.tex-kq-links { padding-left: 1.25rem; }
@media (min-width: 576px) {
    .tex-kq-antwort { grid-template-columns: 1fr 1fr; }
    .tex-kq-umschalter-breit { grid-template-columns: 1fr 1fr; }
    .tex-kq-karten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tex-kq-eigene-felder { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (min-width: 768px) {
    .tex-kq-karten-schritte { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
    .tex-kq-layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); align-items: start; }
    .tex-kq-ergebnis { position: sticky; top: 8rem; max-height: calc(100vh - 9rem); overflow-y: auto; }
    .tex-kq-karten { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .tex-kq-leiste { display: none !important; }
}
@media (min-width: 1200px) {
    .tex-kq-karten-schritte { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .tex-kq-vorlagen { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; scroll-snap-type: x proximity; }
    .tex-kq .tex-kq-chip { scroll-snap-align: start; }
    .tex-kq-leiter { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); row-gap: 1.625rem; overflow: visible; }
}
@media (max-width: 575.98px) {
    .tex-kq-legende { font-size: 1.0625rem; }
    .tex-kq-antwort-wert b { font-size: 2rem; }
    .tex-kq-ergebnis { padding: .875rem 1rem; }
    .tex-kq-umschalter:not(.tex-kq-umschalter-breit) { display: flex; }
    .tex-kq-umschalter:not(.tex-kq-umschalter-breit) label { flex: 1 1 auto; }
    .tex-kq-umschalter span { text-align: center; }
    .tex-kq-umschalter-breit span { text-align: left; }
    .tex-kq.kq-js { padding-bottom: 3.5rem; }
}
@media print {
    .tex-kq-leiste,
    .tex-kq-vorlagen,
    .tex-kq-ohnejs,
    .tex-kq-teilen,
    .tex-kq-step { display: none !important; }
    .tex-kq-ergebnis { position: static; }
}
.tex-kq-system { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .75rem; margin: 0 0 .75rem; }
.tex-kq-system-titel { font-size: .875rem; font-weight: 700; }
.tex-kq-zusammenfassung { font-size: .875rem; margin: 0 0 .5rem; }
