/* Trotzdem – Kurs-Stylesheet (keine sichtbaren Texte) */
.tz-body { --tz-navy:#1B2A4A; --tz-orange:#E8792B; --tz-gruen:#4CA64C; --tz-rot:#C0392B; --tz-grau:#4A5670; --tz-hell:#F3F5F9; --tz-linie:#D5DBE5;
  margin:0; font-family:Arial, Helvetica, sans-serif; color:var(--tz-navy); background:#fff; line-height:1.55; }
#tz-main { max-width:980px; margin:0 auto; padding:0 18px 40px; box-sizing:border-box; }
#tz-main *, #tz-main *::before, #tz-main *::after { box-sizing:border-box; }
.tz-rueckfall { background:var(--tz-navy); padding:10px 18px; }
.tz-rueckfall a { color:#fff; text-decoration:none; font-weight:bold; }
#tz-main h2 { font-size:1.55rem; line-height:1.25; margin:0 0 .5rem; }
#tz-main h3 { font-size:1.2rem; line-height:1.3; margin:0 0 .5rem; }
#tz-main a { color:#1F5FA8; }
#tz-main button { font-family:inherit; }
#tz-main :focus-visible { outline:3px solid var(--tz-orange); outline-offset:2px; }

/* Hero */
.tz-hero { display:grid; grid-template-columns:1.15fr 1fr; gap:28px; align-items:center; padding:26px 0 22px; }
.tz-hero-bild img { width:100%; height:auto; display:block; border-radius:6px; }
.tz-sticker { display:inline-block; margin:0 0 10px; padding:5px 12px; background:var(--tz-orange); color:#fff; font-weight:bold; border-radius:3px; transform:rotate(-2deg); }
.tz-hero h1 { margin:0; font-size:clamp(3rem, 8vw, 5.4rem); line-height:.95; letter-spacing:-.02em; font-weight:900; }
.tz-hero h1 .tz-dem { display:inline-block; transform:translateY(.12em); }
.tz-hero h1::after { content:""; display:block; height:8px; width:min(100%, 330px); margin-top:14px; background:var(--tz-orange); border-radius:4px; }
.tz-unter { font-size:1.15rem; font-weight:bold; margin:14px 0 8px; }
.tz-lead { margin:0 0 10px; }
.tz-meta { color:var(--tz-grau); margin:0 0 16px; font-size:.95rem; }
.tz-start, .tz-knopf { display:inline-block; border:0; border-radius:4px; padding:12px 20px; font-size:1rem; font-weight:bold; cursor:pointer; text-decoration:none; }
.tz-start { background:var(--tz-gruen); color:#fff; font-size:1.1rem; padding:14px 26px; }
.tz-start:hover { background:#3E8E3E; }
.tz-knopf { background:var(--tz-navy); color:#fff !important; }
.tz-knopf:hover { background:#2A3D66; }
.tz-knopf.tz-leise { background:#fff; color:var(--tz-navy) !important; border:2px solid var(--tz-linie); }
.tz-knopf.tz-warnen { border-color:var(--tz-rot); color:var(--tz-rot) !important; }
.tz-knopf[disabled] { opacity:.45; cursor:not-allowed; }

/* Weg + Rucksack */
.tz-weg { border-top:2px solid var(--tz-linie); padding:22px 0 10px; display:grid; grid-template-columns:1fr 270px; gap:6px 24px; }
.tz-weg h2, .tz-weg-hinweis { grid-column:1 / -1; }
.tz-weg-hinweis { margin:0 0 6px; color:var(--tz-grau); max-width:70ch; }
.tz-rail svg { width:100%; height:auto; display:block; }
.tz-ring { cursor:pointer; }
.tz-ring[aria-disabled="true"] { cursor:default; }
.tz-ring:focus { outline:none; }
.tz-ring:focus-visible .tz-ring-fokus { stroke:var(--tz-orange); stroke-width:3; }
.tz-puls { animation:tzPuls 1.6s ease-in-out infinite; transform-origin:center; transform-box:fill-box; }
@keyframes tzPuls { 0%,100% { opacity:.25; transform:scale(1); } 50% { opacity:.7; transform:scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .tz-puls { animation:none; opacity:.5; } }
.tz-rucksack-box { background:var(--tz-hell); border-radius:8px; padding:12px 14px; }
.tz-rucksack h3 { font-size:1.05rem !important; margin:0 0 4px !important; }
.tz-rucksack svg { width:100%; max-width:240px; height:auto; display:block; margin:0 auto; }
.tz-rs-zahl { font-size:.95rem; margin:4px 0; }
.tz-rs-balken { height:10px; background:#fff; border-radius:5px; overflow:hidden; border:1px solid var(--tz-linie); }
.tz-rs-balken span { display:block; height:100%; background:var(--tz-gruen); }
.tz-rs-text { font-size:.9rem; margin:6px 0 0; color:var(--tz-grau); }
.tz-rs-legende { display:flex; flex-wrap:wrap; gap:4px 12px; font-size:.85rem; margin-top:6px; padding:0; list-style:none; }
.tz-rs-legende i { display:inline-block; width:11px; height:11px; border-radius:50%; margin-right:4px; vertical-align:-1px; }

/* Station */
.tz-station { border-top:2px solid var(--tz-linie); padding:22px 0; scroll-margin-top:12px; }
.tz-st-kopf { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 14px; margin-bottom:6px; }
.tz-st-phase { color:var(--tz-orange); font-weight:bold; }
.tz-st-nr { color:var(--tz-grau); }
.tz-station h2 { font-size:clamp(1.6rem, 4vw, 2.2rem) !important; margin:0 0 12px !important; }
.tz-schritte { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:6px; margin:0 0 16px; padding:0; list-style:none; }
.tz-schritte button { width:100%; border:0; border-bottom:4px solid var(--tz-linie); background:none; padding:6px 2px; font-size:.92rem; color:var(--tz-grau); cursor:pointer; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; text-align:left; }
.tz-schritte button[disabled] { cursor:default; opacity:.55; }
.tz-schritte button.tz-besucht { border-bottom-color:var(--tz-gruen); color:var(--tz-navy); }
.tz-schritte button[aria-current="step"] { border-bottom-color:var(--tz-orange); color:var(--tz-navy); font-weight:bold; }
.tz-karte { background:#fff; border:2px solid var(--tz-linie); border-radius:8px; padding:20px 22px; }
.tz-karte h3 { font-size:1.3rem !important; }
.tz-karte p { max-width:72ch; }
.tz-banner { margin:-20px -22px 16px; border-radius:6px 6px 0 0; overflow:hidden; background:var(--tz-navy); max-height:340px; }
.tz-banner img { width:100%; height:300px; object-fit:cover; display:block; }
.tz-banner svg { width:100%; height:auto; max-height:340px; display:block; margin:0 auto; max-width:720px; }
.tz-optionen { display:grid; gap:10px; margin:14px 0; padding:0; list-style:none; }
.tz-option { width:100%; text-align:left; background:var(--tz-hell); border:2px solid var(--tz-linie); border-radius:6px; padding:12px 14px; font-size:1rem; color:var(--tz-navy); cursor:pointer; line-height:1.4; }
.tz-option:hover:not([disabled]) { border-color:var(--tz-navy); }
.tz-option[disabled] { cursor:default; }
.tz-option.tz-ok { border-color:var(--tz-gruen); background:#E7F4E7; }
.tz-option.tz-falsch { border-color:var(--tz-rot); background:#FBEAEA; }
.tz-option.tz-gewaehlt { border-color:var(--tz-navy); background:#E8EDF6; font-weight:bold; }
.tz-option.tz-weg { display:none; }
.tz-aufloesung { border-left:5px solid var(--tz-gruen); background:#F2F8F1; padding:12px 14px; border-radius:0 6px 6px 0; margin:12px 0; }
.tz-aufloesung.tz-falsch { border-left-color:var(--tz-orange); background:#FDF3EA; }
.tz-aufloesung p { margin:0 0 6px; }
.tz-quelle { font-size:.88rem; color:var(--tz-grau); }
.tz-rate-bild { background:#1B2A4A; border-radius:6px; overflow:hidden; max-width:300px; margin:10px 0; }
.tz-rate-bild svg { display:block; width:100%; height:auto; }
.tz-bibel { border-left:5px solid var(--tz-orange); padding:10px 14px; margin:16px 0 4px; background:#FFF8F1; border-radius:0 6px 6px 0; }
.tz-bibel blockquote { margin:0 0 4px; font-size:1.08rem; font-style:italic; }
.tz-bibel a { font-size:.9rem; }
.tz-timer { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin:14px 0; }
.tz-timer-zeit { font-size:1.6rem; font-weight:bold; font-variant-numeric:tabular-nums; min-width:3.2em; }
.tz-timer-zeit.tz-ab { color:var(--tz-gruen); }
.tz-notiz label { display:block; font-weight:bold; margin:10px 0 4px; }
.tz-notiz textarea, .tz-feld { width:100%; font:inherit; color:var(--tz-navy); border:2px solid var(--tz-linie); border-radius:6px; padding:10px; min-height:84px; resize:vertical; background:#fff; }
.tz-feld { min-height:auto; }
.tz-klein { font-size:.86rem; color:var(--tz-grau); margin:4px 0 0; }
.tz-folge { margin:12px 0; padding:12px 14px; border-radius:6px; }
.tz-folge strong { display:block; font-size:1.05rem; margin-bottom:3px; }
.tz-folge.tz-stark { background:#E7F4E7; border-left:5px solid var(--tz-gruen); }
.tz-folge.tz-riskant { background:#FDF3EA; border-left:5px solid var(--tz-orange); }
.tz-folge.tz-gefaehrlich { background:#FBEAEA; border-left:5px solid var(--tz-rot); }
.tz-nav { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; margin-top:18px; }
.tz-joker { background:#fff; border:2px dashed var(--tz-orange); color:var(--tz-navy); border-radius:4px; padding:8px 12px; cursor:pointer; font-size:.95rem; }
.tz-joker[disabled] { opacity:.45; cursor:not-allowed; }
.tz-links { padding-left:1.2em; }
.tz-links li { margin:4px 0; }
.tz-hinweis-leise { color:var(--tz-grau); font-size:.92rem; }

/* Werkstatt */
.tz-werk { margin-top:18px; padding:14px; background:var(--tz-hell); border-radius:8px; }
.tz-werk h4 { margin:0 0 8px; font-size:1.05rem; }
.tz-werk-zeile { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.tz-mini { border:2px solid var(--tz-linie); background:#fff; border-radius:4px; padding:7px 10px; font-size:.95rem; cursor:pointer; color:var(--tz-navy); }
.tz-mini:hover:not([disabled]) { border-color:var(--tz-navy); }
.tz-mini.tz-ok { border-color:var(--tz-gruen); background:#E7F4E7; }
.tz-mini.tz-falsch { border-color:var(--tz-rot); background:#FBEAEA; }
.tz-mini[disabled] { cursor:default; }
.tz-item { background:#fff; border-radius:6px; padding:10px 12px; margin:8px 0; border:1px solid var(--tz-linie); }
.tz-item p { margin:0 0 6px; }
.tz-item .tz-erk { font-size:.9rem; color:var(--tz-grau); margin:6px 0 0; }
.tz-umfrage-balken { display:grid; grid-template-columns:1fr auto; gap:4px 10px; align-items:center; font-size:.92rem; }
.tz-umfrage-balken .tz-b { grid-column:1 / -1; height:10px; background:#fff; border-radius:5px; overflow:hidden; border:1px solid var(--tz-linie); }
.tz-umfrage-balken .tz-b span { display:block; height:100%; background:var(--tz-orange); }
.tz-tafel { margin:12px auto; max-width:340px; aspect-ratio:4 / 3; background:radial-gradient(circle at 50% 50%, #E7C77F 0, #B38B3F 50%, #6E5426 100%); border:14px solid #7A5A35; border-radius:8px; display:flex; align-items:center; justify-content:center; text-align:center; padding:10px; transition:transform .5s ease, filter .5s ease; }
.tz-tafel span { font-size:1.6rem; font-weight:bold; color:#3B2E22; word-break:break-word; }
.tz-tafel.tz-getreten { transform:perspective(500px) rotateX(38deg) scale(.92); filter:grayscale(.6) brightness(.8); }
.tz-tafel.tz-getreten span { text-decoration:line-through; }
@media (prefers-reduced-motion: reduce) { .tz-tafel { transition:none; } }

/* Patent */
.tz-manifest-sec { border-top:2px solid var(--tz-linie); padding:22px 0; }
.tz-man-hinweis { color:var(--tz-grau); margin:0 0 12px; }
.tz-patent { border:3px double var(--tz-navy); border-radius:4px; padding:26px 28px; background:#fff; position:relative; max-width:820px; }
.tz-pt-klein { margin:0; color:var(--tz-grau); font-size:.95rem; }
.tz-pt-titel { font-size:2rem; font-weight:900; margin:2px 0 0; line-height:1.1; }
.tz-pt-unter { margin:2px 0 14px; color:var(--tz-orange); font-weight:bold; }
.tz-pt-siegel { position:absolute; right:24px; top:22px; width:92px; height:92px; }
.tz-pt-zeile { display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end; margin-bottom:10px; }
.tz-pt-zeile label, .tz-pt-satz label { font-size:.85rem; color:var(--tz-grau); display:block; }
.tz-pt-zeile input, .tz-pt-satz textarea { width:100%; border:0; border-bottom:2px solid var(--tz-navy); font:inherit; font-size:1.1rem; color:var(--tz-navy); padding:4px 2px; background:transparent; border-radius:0; }
.tz-pt-satz textarea { min-height:52px; resize:vertical; }
.tz-pt-datum { font-size:1rem; padding-bottom:6px; white-space:nowrap; }
.tz-pt-schritte { list-style:none; margin:14px 0; padding:0; counter-reset:tzs; }
.tz-pt-schritte li { counter-increment:tzs; display:grid; grid-template-columns:2rem 11rem 1fr; gap:8px; padding:7px 0; border-bottom:1px solid var(--tz-linie); align-items:baseline; }
.tz-pt-schritte li::before { content:counter(tzs); font-weight:bold; color:#fff; background:var(--tz-navy); border-radius:50%; width:1.6rem; height:1.6rem; display:inline-flex; align-items:center; justify-content:center; font-size:.9rem; }
.tz-pt-schritte b { font-size:.98rem; }
.tz-pt-leer { color:#98A2B5; font-style:italic; }
.tz-pt-fuss { display:grid; grid-template-columns:1fr auto; gap:14px; align-items:center; margin-top:10px; }
.tz-pt-fuss svg { width:100%; max-width:420px; height:auto; display:block; }
.tz-pt-zitat { text-align:right; font-style:italic; }
.tz-pt-zitat small { display:block; font-style:normal; color:var(--tz-grau); }
.tz-pt-werte { font-size:.92rem; margin:6px 0 0; }
.tz-pt-ende { margin-top:12px; font-size:.78rem; color:var(--tz-grau); }
.tz-man-knoepfe { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }

/* Essay, Bibliothek, Hilfe */
.tz-essay { display:grid; grid-template-columns:240px 1fr; gap:20px; align-items:center; border-top:2px solid var(--tz-linie); padding:22px 0; }
.tz-essay img { width:100%; height:auto; border-radius:6px; display:block; }
.tz-biblio { border-top:2px solid var(--tz-linie); padding:22px 0; }
.tz-bib-spalten { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:10px 28px; }
.tz-biblio ul { padding-left:1.1em; margin:0 0 10px; }
.tz-biblio li { margin:4px 0; }
.tz-zusatz { color:var(--tz-grau); font-size:.9rem; }
.tz-hilfe { background:var(--tz-navy); color:#fff; border-radius:8px; padding:20px 22px; margin-top:10px; }
.tz-hilfe h2 { color:#fff; }
.tz-hilfe a { color:#FFD3B0 !important; }
.tz-hilfe ul { padding-left:1.1em; }
.tz-hilfe li { margin:6px 0; }
.tz-hilfe .tz-nummer { font-weight:bold; white-space:normal; }
.tz-hilfe .tz-zusatz { color:#D5DBE5; }
.tz-fuss { max-width:980px; margin:0 auto; padding:20px 18px; }

@media (max-width: 860px) {
  .tz-weg { grid-template-columns:1fr; }
  .tz-rucksack-box { max-width:420px; }
}
@media (max-width: 720px) {
  .tz-hero { grid-template-columns:1fr; gap:16px; padding-top:14px; }
  .tz-essay { grid-template-columns:1fr; }
  .tz-essay img { max-width:320px; }
  .tz-bib-spalten { grid-template-columns:1fr; }
  .tz-karte { padding:16px 14px; }
  .tz-banner { margin:-16px -14px 14px; }
  .tz-banner img { height:200px; }
  .tz-schritte button { font-size:.78rem; }
  .tz-patent { padding:18px 14px; }
  .tz-pt-siegel { width:60px; height:60px; right:10px; top:12px; }
  .tz-pt-titel { font-size:1.55rem; padding-right:60px; }
  .tz-pt-schritte li { grid-template-columns:2rem 1fr; }
  .tz-pt-schritte li span { grid-column:2; }
  .tz-pt-fuss { grid-template-columns:1fr; }
  .tz-pt-zitat { text-align:left; }
}

/* Druck: nur das Patent, genau eine Seite */
@media print {
  @page { size:A4; margin:12mm; }
  html, body { background:#fff !important; margin:0 !important; padding:0 !important; }
  .tz-patent { max-width:none; border-width:3px; padding:18mm 16mm; font-size:12.5pt; page-break-inside:avoid; break-inside:avoid; }
  .tz-pt-zeile input, .tz-pt-satz textarea { border-bottom:1px solid #1B2A4A; resize:none; overflow:hidden; }
  .tz-pt-siegel { width:80px; height:80px; }
  .tz-puls { animation:none !important; }
  * { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}
@media print {
  body *:not(:has(#tz-patent)):not(#tz-patent):not(#tz-patent *) { display:none !important; }
  *:has(#tz-patent) { margin:0 !important; padding:0 !important; border:0 !important; box-shadow:none !important; background:none !important; max-width:none !important; min-height:0 !important; height:auto !important; }
}
@supports not selector(:has(a)) {
  @media print {
    body > *:not(#tz-main) { display:none !important; }
    #tz-main > *:not(#tz-manifest-sec) { display:none !important; }
    #tz-manifest-sec > *:not(#tz-patent) { display:none !important; }
    #tz-main, #tz-manifest-sec { margin:0 !important; padding:0 !important; border:0 !important; }
  }
}
