/* TC Höhnhart · Vereinsturniere 10/10 (05.11.2026)
   Sammelkarten je Bewerb, Bühne in der Detailansicht, Tabelle/Raster/Spiele neu, Demo-Band.
   Überschreibt ältere Regeln über `body …` (höhere Spezifität), daher reicht der Platz im <head>. */

:root {
  --tz-gruen: #6fd49a; --tz-gruen-bg: rgba(77,187,120,.14); --tz-gruen-rand: rgba(77,187,120,.42);
  --tz-amber: #fcd34d; --tz-amber-bg: rgba(251,191,36,.13); --tz-amber-rand: rgba(251,191,36,.42);
  --tz-gold: #ecd0a6; --tz-gold-bg: rgba(212,165,116,.17); --tz-gold-rand: rgba(212,165,116,.5);
  --tz-silber: #d5dde8; --tz-silber-bg: rgba(148,163,184,.15); --tz-silber-rand: rgba(148,163,184,.38);
  --tz-rot: #fca5a5; --tz-rot-bg: rgba(248,113,113,.13); --tz-rot-rand: rgba(248,113,113,.42);
  --tz-leise: #a3afc2;           /* kleiner Text auf Kartengrund (#131820): 7,9:1 */
  --tz-flaeche: #151b25; --tz-flaeche-2: #1a212d; --tz-linie: #2a3343; --tz-linie-2: #3a4557;
}
.ti { width: 18px; height: 18px; flex: none; display: inline-block; vertical-align: -3px; }
.ti.gross { width: 64px; height: 64px; stroke-width: 1.35; }

/* ───────── Hero ───────── */
body .hero.tz-hero { max-width: 1240px; margin: 0 auto; padding: 46px 24px 6px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 10px 28px; align-items: start; text-align: left; }
.tz-hero .pill { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 16px; font-size: 12px; letter-spacing: .04em; }
.tz-hero .pill::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); flex: none; }
.tz-hero .pill[data-st="laeuft"]::before { background: var(--court-bright); box-shadow: 0 0 0 3px rgba(77,187,120,.18); }
.tz-hero .pill[data-st="leer"]::before { background: var(--tz-leise); }
body .tz-hero h1 { text-align: left !important; font-size: clamp(36px, 5vw, 60px) !important; line-height: 1.04 !important; margin: 0 0 14px !important; }
body .tz-hero h1 span { color: var(--gold); }
body .tz-hero p { text-align: left !important; margin: 0 !important; max-width: 620px; color: var(--tz-leise); font-size: 15.5px; line-height: 1.6; }
.tz-hero-rechts { align-self: start; padding-top: 2px; }
.tz-kennzahlen { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-top: 26px; }
.tz-kennzahlen:empty { display: none; }
.tz-kz { position: relative; display: flex; align-items: center; gap: 14px; padding: 16px 18px; border-radius: 16px; background: linear-gradient(160deg, var(--tz-flaeche-2), var(--tz-flaeche)); border: 1px solid var(--tz-linie); overflow: hidden; }
.tz-kz-ico { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: rgba(212,165,116,.12); color: var(--gold-bright); flex: none; }
.tz-kz-ico .ti { width: 21px; height: 21px; }
.tz-kz.gruen .tz-kz-ico { background: var(--tz-gruen-bg); color: var(--tz-gruen); }
.tz-kz b { display: block; font-family: 'Syne', sans-serif; font-size: 26px; line-height: 1; font-weight: 800; color: #fff; letter-spacing: -.01em; }
.tz-kz span { display: block; margin-top: 5px; font-size: 12.5px; color: var(--tz-leise); line-height: 1.3; }

/* Demo-Schalter (nur Vorstand) */
.tz-demo-schalter { display: inline-flex; align-items: center; gap: 10px; padding: 9px 12px 9px 16px; border-radius: 12px; border: 1px solid var(--tz-linie-2); background: var(--card); color: var(--tz-leise); font: 700 12px/1 Inter, sans-serif; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.tz-demo-schalter:hover { color: #fff; border-color: var(--gold); }
.tz-demo-schalter.an { color: var(--gold-bright); border-color: var(--tz-gold-rand); background: rgba(212,165,116,.1); }
.tz-demo-schalter.laedt { opacity: .7; cursor: progress; }
.tz-switch { width: 34px; height: 20px; border-radius: 999px; background: #2b3444; position: relative; transition: background .2s; }
.tz-switch span { position: absolute; top: 3px; left: 3px; width: 14px; height: 14px; border-radius: 50%; background: #c5cfdc; transition: transform .2s, background .2s; }
.tz-demo-schalter.an .tz-switch { background: var(--gold); }
.tz-demo-schalter.an .tz-switch span { transform: translateX(14px); background: #1a1410; }

/* Demo-Band */
.tz-demo-band { display: flex; justify-content: space-between; align-items: center; gap: 14px 20px; flex-wrap: wrap; margin: 0 0 20px; padding: 14px 18px; border-radius: 16px; border: 1px dashed var(--tz-gold-rand); background: linear-gradient(90deg, rgba(212,165,116,.1), rgba(212,165,116,.03)); }
.tz-demo-text { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; min-width: 0; flex: 1 1 420px; }
.tz-demo-text p { margin: 0; color: #c6cfdb; font-size: 13.5px; line-height: 1.5; flex: 1 1 300px; }
.tz-demo-steuer { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.tz-chip { display: inline-flex; align-items: center; gap: 7px; padding: 5px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; white-space: nowrap; border: 1px solid transparent; }
.tz-chip::before { content: ''; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.tz-chip-gold { color: var(--tz-gold); background: var(--tz-gold-bg); border-color: var(--tz-gold-rand); }
.tz-seg { display: inline-flex; padding: 3px; border-radius: 11px; background: var(--bg-alt); border: 1px solid var(--tz-linie-2); }
.tz-seg button { display: inline-flex; align-items: center; gap: 7px; padding: 7px 13px; border: 0; border-radius: 8px; background: transparent; color: var(--tz-leise); font: 600 13px/1 Inter, sans-serif; cursor: pointer; }
.tz-seg button .ti { width: 15px; height: 15px; }
.tz-seg button.an { background: var(--card-hover); color: #fff; box-shadow: inset 0 0 0 1px var(--tz-linie-2); }
.tz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 15px; border-radius: 10px; border: 1px solid var(--tz-linie-2); background: var(--card); color: #e8edf4; font: 600 13px/1.1 Inter, sans-serif; cursor: pointer; text-decoration: none; }
.tz-btn:hover { border-color: var(--gold); color: #fff; }
.tz-btn .ti { width: 16px; height: 16px; }
.tz-btn-leise { background: transparent; }
.tz-btn-gold { background: linear-gradient(135deg, var(--gold), var(--gold-bright)); color: #1a1410; border: 0; font-weight: 700; }
.tz-btn-gold:hover { color: #1a1410; filter: brightness(1.04); }

/* Hinweis unten (Demo-Rückmeldung) */
.tz-hinweis { position: fixed; left: 50%; bottom: 24px; transform: translate(-50%, 20px); z-index: 10050; display: flex; align-items: center; gap: 10px; max-width: min(560px, calc(100vw - 32px)); padding: 12px 18px; border-radius: 14px; background: #1d2431; border: 1px solid var(--tz-gold-rand); color: #f1f4f8; font-size: 13.5px; font-weight: 600; box-shadow: 0 18px 50px rgba(0,0,0,.55); opacity: 0; pointer-events: none; transition: opacity .2s, transform .2s; }
.tz-hinweis .ti { color: var(--gold-bright); }
.tz-hinweis.an { opacity: 1; transform: translate(-50%, 0); }
body.app-mode .tz-hinweis, body.is-app .tz-hinweis { bottom: 88px; }

/* ───────── Abschnitt Bewerbe ───────── */
body #bewerbeSection { background: transparent !important; padding-top: 26px !important; margin-top: 0 !important; }
body #bewerbeSection > div { max-width: 1240px !important; }
.tz-abschnitt-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px 20px; flex-wrap: wrap; margin-bottom: 18px; }
.tz-abschnitt-kopf h2 { display: flex; align-items: center; gap: 12px; font-size: 26px !important; margin: 0; }
.tz-abschnitt-kopf h2 .tz-h-ico { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(212,165,116,.13); color: var(--gold-bright); }
.tz-abschnitt-kopf h2 .tz-h-ico .ti { width: 20px; height: 20px; }
.tz-abschnitt-kopf p { margin: 6px 0 0; color: var(--tz-leise); font-size: 14px; max-width: 720px; }
body .kurs-adminbar { border: 1px solid var(--tz-gold-rand); border-style: dashed; background: rgba(212,165,116,.05); border-radius: 14px; padding: 12px 14px 12px 18px; gap: 10px; flex-wrap: wrap; }
body .kurs-adminbar b { color: var(--gold-bright); }
body .kurs-adminbar small { color: #b5c0cf; font-size: 13px; }
body .kurs-adminbar .btn { display: inline-flex; align-items: center; gap: 8px; }
body .kurs-adminbar .btn .ti { width: 16px; height: 16px; }

/* Raster der Karten */
body .bewerb-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)) !important; gap: 20px !important; }

/* ───────── Sammelkarte ───────── */
body .bw-card.tz-karte { display: flex; flex-direction: column; border-radius: 20px; background: linear-gradient(180deg, #161c27, #121721); border: 1px solid var(--tz-linie); overflow: hidden; cursor: pointer; transition: transform .18s, border-color .18s, box-shadow .18s; box-shadow: 0 10px 30px rgba(0,0,0,.28); opacity: 1; }
body .bw-card.tz-karte:hover { transform: translateY(-3px); border-color: rgba(212,165,116,.65); box-shadow: 0 18px 40px rgba(0,0,0,.45); }
body .bw-card.tz-karte.aktiv { border-color: var(--gold); box-shadow: 0 0 0 2px rgba(212,165,116,.35), 0 18px 40px rgba(0,0,0,.45); }
body .bw-card.tz-karte.ph-entwurf { border-style: dashed; }
body .bw-card.tz-karte.ph-beendet .tz-k-buehne, body .bw-card.tz-karte.ph-abgesagt .tz-k-buehne { filter: saturate(.55) brightness(.85); }
body .bw-card.tz-karte:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }

.tz-k-buehne { position: relative; height: 148px; padding: 14px 16px; display: flex; flex-direction: column; justify-content: space-between; color: #fff; overflow: hidden; isolation: isolate;
  --k1: #13315c; --k2: #2a5ea3; background: linear-gradient(135deg, var(--k1), var(--k2)); }
.tz-k-buehne::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .16;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 160' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.6'%3E%3Crect x='30' y='18' width='340' height='124'/%3E%3Cpath d='M30 36h340M30 124h340M115 36v88M285 36v88M115 80h170M200 18v124'/%3E%3C/g%3E%3C/svg%3E") center/cover no-repeat; }
.tz-k-buehne::after { content: ''; position: absolute; inset: 0; z-index: -1; background: radial-gradient(120% 90% at 85% 100%, rgba(255,255,255,.14), transparent 55%), linear-gradient(180deg, transparent 40%, rgba(8,11,18,.42)); }
.sp-herren { --k1: #10284d; --k2: #2a5ea3; } .sp-damen { --k1: #4a1430; --k2: #a23b6c; } .sp-mixed { --k1: #2e1856; --k2: #6c42a8; }
.sp-jugend { --k1: #5a2a11; --k2: #b8652f; } .sp-familie { --k1: #4d2f16; --k2: #a8703c; } .sp-senioren { --k1: #3a2d0e; --k2: #8f7232; }
.sp-offen { --k1: #0f3425; --k2: #2a7a52; } .sp-pyr { --k1: #3d2f12; --k2: #b08a4f; }
.tz-k-oben { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.tz-k-motiv { position: absolute; right: 14px; bottom: 10px; color: rgba(255,255,255,.92); filter: drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
.tz-k-sparte { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; color: #fff; text-shadow: 0 1px 8px rgba(0,0,0,.45); }
.tz-k-sparte .ti { width: 16px; height: 16px; }
.tz-k-admin { display: flex; gap: 6px; }
.tz-k-admin button { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 10px; border: 1px solid rgba(255,255,255,.28); background: rgba(8,11,18,.62); color: #fff; cursor: pointer; }
.tz-k-admin button:hover { border-color: var(--gold-bright); color: var(--gold-bright); }
.tz-k-admin .ti { width: 16px; height: 16px; }

/* Phasen-Chip (auf Bühne und in Listen) */
.tz-phase { display: inline-flex; align-items: center; gap: 7px; padding: 6px 11px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: .01em; white-space: nowrap; border: 1px solid; background: rgba(8,11,18,.66); }
.tz-phase::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.tz-phase.ph-anmeldung { color: var(--tz-gruen); border-color: var(--tz-gruen-rand); }
.tz-phase.ph-nennschluss { color: var(--tz-amber); border-color: var(--tz-amber-rand); }
.tz-phase.ph-laeuft { color: var(--tz-gold); border-color: var(--tz-gold-rand); }
.tz-phase.ph-laeuft::before { box-shadow: 0 0 0 3px rgba(212,165,116,.22); }
.tz-phase.ph-beendet { color: var(--tz-silber); border-color: var(--tz-silber-rand); }
.tz-phase.ph-abgesagt { color: var(--tz-rot); border-color: var(--tz-rot-rand); }
.tz-phase.ph-entwurf { color: #c3ccd8; border-color: #4a5568; border-style: dashed; }
.tz-phase.ph-pyr { color: var(--tz-gold); border-color: var(--tz-gold-rand); }

.tz-k-body { display: flex; flex-direction: column; gap: 12px; padding: 16px 18px 18px; flex: 1; }
.tz-k-body h3 { font-family: 'Syne', sans-serif; font-size: 19px; line-height: 1.22; margin: 0; color: #fff; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.tz-k-modus { margin-top: -6px; color: var(--tz-leise); font-size: 13px; }
.tz-k-werte { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--tz-linie); border-radius: 14px; background: rgba(255,255,255,.02); }
.tz-k-werte > div { padding: 10px 10px 9px; min-width: 0; }
.tz-k-werte > div + div { border-left: 1px solid var(--tz-linie); }
.tz-k-werte b { display: block; font-family: 'Syne', sans-serif; font-size: 21px; line-height: 1.05; color: #fff; white-space: nowrap; }
.tz-k-werte b small { font-size: 13px; color: var(--tz-leise); font-weight: 700; }
.tz-k-werte span { display: block; margin-top: 4px; font-size: 11.5px; line-height: 1.25; color: var(--tz-leise); }
.tz-balken { height: 6px; border-radius: 999px; background: #222a37; overflow: hidden; margin-top: -2px; }
.tz-balken i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--gold), var(--gold-bright)); }
.ph-anmeldung .tz-balken i { background: linear-gradient(90deg, #3a8f5c, #6fd49a); }
.tz-k-zeile { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13px; color: #c9d2de; }
.tz-k-zeile .ti { color: var(--gold-bright); width: 16px; height: 16px; }
.tz-warn { display: inline-flex; padding: 2px 8px; border-radius: 999px; background: var(--tz-amber-bg); color: var(--tz-amber); font-size: 11.5px; font-weight: 700; }
body .tz-karte .bw-foot { margin-top: auto; padding-top: 4px; display: flex; flex-direction: column; gap: 8px; }
body .tz-karte .bw-cta, body .tz-karte .bw-draw { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; min-height: 44px; padding: 10px 14px; border-radius: 12px; font: 700 14px/1.1 Inter, sans-serif; text-decoration: none; box-sizing: border-box; animation: none !important; }
body .tz-karte .bw-cta.primary, body .tz-karte .bw-draw.go { background: linear-gradient(135deg, var(--gold), var(--gold-bright)); color: #1a1410; border: 0; order: 1; }
body .tz-karte .bw-cta:not(.primary) { background: transparent; color: #e6ebf2; border: 1px solid var(--tz-linie-2); }
body .tz-karte .bw-cta.ok { color: var(--tz-gruen); border-color: var(--tz-gruen-rand); background: var(--tz-gruen-bg); }
body .tz-karte .bw-draw.wait { background: transparent; color: #c3ccd8; border: 1px dashed var(--tz-linie-2); font-weight: 600; font-size: 13px; }
body .tz-karte .bw-cta .ti, body .tz-karte .bw-draw .ti { width: 17px; height: 17px; }
body .tz-karte .bw-regs { margin: 0; padding: 10px 12px; gap: 4px; border: 1px solid var(--tz-linie); border-radius: 12px; background: rgba(255,255,255,.02); font-size: 12.5px; }
body .tz-karte .bw-regs .r { align-items: center; }
body .tz-karte .bw-regs .r > span { display: inline-flex; align-items: center; gap: 8px; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .tz-karte .bw-regs .r small, body .tz-karte .bw-regs .more, body .tz-karte .bw-regs .leer { color: var(--tz-leise); }
.tz-punkt { width: 7px; height: 7px; border-radius: 50%; background: var(--tz-gruen); flex: none; display: inline-block; }
.tz-punkt.offen { background: transparent; box-shadow: inset 0 0 0 1.5px var(--tz-amber); }

/* Pyramide als Sammelkarte */
.tz-pyr-spitze { display: flex; flex-direction: column; gap: 6px; }
.tz-pyr-z { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 11px; background: rgba(255,255,255,.03); border: 1px solid var(--tz-linie); font-size: 13.5px; font-weight: 600; color: #eef2f7; }
.tz-pyr-z.eins { border-color: var(--tz-gold-rand); background: rgba(212,165,116,.08); }
.tz-pyr-nr { width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font-family: 'Syne', sans-serif; font-size: 12px; font-weight: 800; background: #222a37; color: #dbe2ec; flex: none; }
.tz-pyr-z.eins .tz-pyr-nr { background: linear-gradient(135deg, var(--gold), var(--gold-bright)); color: #1a1410; }
.tz-pyr-nr .ti { width: 14px; height: 14px; }
.tz-pyr-z small { margin-left: auto; color: var(--tz-leise); font-size: 11.5px; font-weight: 600; }
.tz-pyr-text { font-size: 13.5px; color: #c9d2de; line-height: 1.5; }
.tz-pyr-text b { color: #fff; }
.tz-pyr-text .gelb { color: var(--tz-amber); }
body .tz-karte .cta-actions { display: flex; flex-direction: column; gap: 8px; margin: 0; }
body .tz-karte .cta-actions .btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; border-radius: 12px; font-weight: 700; font-size: 14px; }
body .tz-karte .cta-actions .btn.primary { order: 1; }

/* Leerzustand */
body .bw-leer.tz-leer { grid-column: span 2; display: grid; grid-template-columns: auto 1fr; gap: 6px 20px; align-items: center; padding: 26px 26px; border-radius: 20px; border: 1px dashed var(--tz-linie-2); background: linear-gradient(135deg, rgba(212,165,116,.06), transparent 60%); color: var(--tz-leise); }
.tz-leer-ico { grid-row: span 3; width: 64px; height: 64px; border-radius: 18px; display: grid; place-items: center; background: rgba(212,165,116,.13); color: var(--gold-bright); }
.tz-leer-ico .ti { width: 30px; height: 30px; }
body .bw-leer.tz-leer strong { color: #fff; font-family: 'Syne', sans-serif; font-size: 19px; }
body .bw-leer.tz-leer span { font-size: 14px; line-height: 1.55; max-width: 640px; }
body .bewerb-grid:not(:has(.ph-pyr)) .bw-leer.tz-leer { grid-column: 1 / -1; }
.tz-leer-akt { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 8px; }

/* ───────── Detailansicht ───────── */
body #turnierDetailContainer { margin-top: 34px !important; }
.tz-detail-buehne { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 28px; align-items: center; padding: 26px 28px; margin: 0 0 18px; border-radius: 22px; border: 1px solid var(--tz-linie); overflow: hidden; isolation: isolate;
  background: #141a24; background: linear-gradient(110deg, color-mix(in srgb, var(--k1) 70%, #0f141c) 0%, #141a24 58%); }
.tz-detail-buehne::before { content: ''; position: absolute; inset: 0; z-index: -1; opacity: .08; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 160' preserveAspectRatio='none'%3E%3Cg fill='none' stroke='%23fff' stroke-width='1.2'%3E%3Crect x='30' y='18' width='340' height='124'/%3E%3Cpath d='M30 36h340M30 124h340M115 36v88M285 36v88M115 80h170M200 18v124'/%3E%3C/g%3E%3C/svg%3E") right center/60% 100% no-repeat; }
.tz-db-links { min-width: 0; }
.tz-db-oben { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
body .tz-db-oben .bp-back { display: inline-flex; align-items: center; gap: 6px; color: #c3ccd8; font-size: 13px; font-weight: 600; padding: 6px 10px 6px 6px; border-radius: 9px; }
body .tz-db-oben .bp-back:hover { color: var(--gold-bright); background: rgba(255,255,255,.04); }
.tz-db-oben .bp-back .ti { width: 16px; height: 16px; }
.tz-detail-buehne h2 { font-family: 'Syne', sans-serif; font-size: clamp(24px, 3.4vw, 38px); line-height: 1.1; margin: 0 0 12px; color: #fff; overflow-wrap: break-word; -webkit-hyphens: auto; hyphens: auto; }
.tz-db-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tz-db-chips span { display: inline-flex; align-items: center; gap: 7px; padding: 7px 12px; border-radius: 10px; background: rgba(255,255,255,.04); border: 1px solid var(--tz-linie); font-size: 13px; color: #dfe5ee; }
.tz-db-chips .ti { width: 16px; height: 16px; color: var(--gold-bright); }
.tz-db-aktionen { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.tz-db-rechts { min-width: 170px; display: flex; justify-content: center; }
.tz-ring { position: relative; width: 150px; height: 150px; }
.tz-ring svg { width: 150px; height: 150px; transform: rotate(-90deg); }
.tz-ring-txt { position: absolute; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; }
.tz-ring-txt b { font-family: 'Syne', sans-serif; font-size: 34px; line-height: 1; color: #fff; }
.tz-ring-txt b small { font-size: 16px; color: var(--tz-leise); }
.tz-ring-txt span { margin-top: 6px; font-size: 12px; color: var(--tz-leise); max-width: 110px; line-height: 1.3; }
.tz-countdown { text-align: center; padding: 18px 22px; border-radius: 18px; background: rgba(8,11,18,.45); border: 1px solid var(--tz-gruen-rand); min-width: 170px; }
.tz-countdown.amber { border-color: var(--tz-amber-rand); }
.tz-countdown b { display: block; font-family: 'Syne', sans-serif; font-size: 46px; line-height: 1; color: #fff; }
.tz-countdown span { display: block; margin-top: 8px; font-size: 12.5px; color: #c9d2de; line-height: 1.35; }
.tz-countdown b.klein { font-size: 30px; margin-top: 2px; }
.tz-countdown .ti { display: block; margin: 0 auto 4px; width: 34px; height: 34px; color: var(--tz-amber); margin-bottom: 4px; }
.tz-sieger { position: relative; text-align: center; padding: 20px 22px 18px; border-radius: 18px; background: linear-gradient(160deg, rgba(212,165,116,.28), rgba(212,165,116,.07)); border: 1px solid var(--tz-gold-rand); min-width: 210px; }
.tz-sieger .ti { width: 38px; height: 38px; color: var(--gold-bright); }
.tz-sieger small { display: block; font-size: 11.5px; letter-spacing: .1em; text-transform: uppercase; font-weight: 800; color: var(--tz-gold); margin-top: 6px; }
.tz-sieger h3 { font-family: 'Syne', sans-serif; font-size: 21px; color: #fff; margin: 6px 0 2px; }
.tz-sieger p { margin: 0; font-size: 12.5px; color: #c9d2de; }
.tz-sieger.breit { margin: 0 0 18px; display: flex; align-items: center; gap: 18px; text-align: left; padding: 18px 22px; }
.tz-sieger.breit h3 { margin: 2px 0; }
.tz-sieger.breit small { margin-top: 0; }

/* Anmeldebereich in der Detailansicht */
body .bp-info { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
body .bp-info > div { background: var(--tz-flaeche); border-color: var(--tz-linie); border-radius: 14px; padding: 12px 14px; }
body .bp-info .k { color: #a3afc2; font-size: 11px; }
body .bp-info .v { font-size: 14.5px; color: #fff; }
body .bp-descr { color: #c9d2de; font-size: 14.5px; }
body .cta-box { border-radius: 18px; background: var(--tz-flaeche); border-color: var(--tz-linie-2); padding: 20px 22px; }
body .cta-box.ok { border-color: var(--tz-gruen-rand); background: linear-gradient(135deg, rgba(77,187,120,.12), rgba(77,187,120,.03)); }
body .cta-head { display: flex; align-items: center; gap: 10px; font-size: 19px; color: #fff; }
body .cta-head .ti { color: var(--tz-gruen); width: 22px; height: 22px; }
body .cta-text { color: #c3ccd8; }
body .cta-zahl { display: flex; align-items: center; gap: 8px; color: #e6ebf2; }
body .cta-zahl .ti { color: var(--gold-bright); width: 17px; height: 17px; }
body .cta-actions .btn { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; }
body .cta-actions .btn .ti { width: 17px; height: 17px; }
body .vs-tools { border: 1px dashed var(--tz-gold-rand); border-radius: 14px; background: rgba(212,165,116,.05); padding: 10px 14px; }
body .vs-tools .btn { display: inline-flex; align-items: center; gap: 7px; }
body .vs-tools .btn .ti { width: 15px; height: 15px; }
body .zahl-wahl { display: flex; gap: 8px; flex-wrap: wrap; }
body .zahl-wahl .btn { display: inline-flex; align-items: center; gap: 7px; }
body .teil { background: var(--tz-flaeche); border-color: var(--tz-linie); border-radius: 12px; padding: 10px 14px; }
body .teil .nr { color: #a3afc2; }
body .teil .itn { color: var(--gold-bright); }
body .teil .st { color: #a3afc2; }
body .teil.confirmed .st { color: var(--tz-gruen); }
body .teil .nm .kontakt { color: #a3afc2; }
body .teil-leer { color: #c3ccd8; }

/* Reiter Gruppen / A / B */
body .ab-tabs { display: flex; gap: 3px; padding: 4px; margin: 0 0 18px; border-radius: 13px; background: var(--bg-alt); border: 1px solid var(--tz-linie); width: max-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
body .ab-tabs::-webkit-scrollbar { display: none; }
body .ab-tab { flex: none; padding: 9px 16px; border-radius: 10px; border: 0; background: transparent; color: #b5c0cf; font: 600 14px/1 Inter, sans-serif; letter-spacing: 0; text-transform: none; cursor: pointer; white-space: nowrap; }
body .ab-tab:hover { color: #fff; }
body .ab-tab.active { background: var(--card-hover); color: #fff; box-shadow: inset 0 0 0 1px var(--tz-linie-2); }
body .ab-tab .ab-meta { display: inline-block; margin-left: 8px; padding: 2px 7px; border-radius: 999px; background: rgba(255,255,255,.07); font-size: 11.5px; font-weight: 700; opacity: 1; color: #d6dde8; }
body .ab-tab.active .ab-meta { background: var(--tz-gold-bg); color: var(--tz-gold); }

/* Tabelle */
.tz-gruppen { display: grid; grid-template-columns: repeat(auto-fit, minmax(360px, 1fr)); gap: 18px; margin: 0 0 26px; }
@container tzTab (max-width: 430px) { .tz-tab .tz-nur-breit { display: none; } .tz-tab td, .tz-tab th { padding-left: 5px; padding-right: 5px; } }
.tz-tabkarte { container: tzTab / inline-size; border-radius: 18px; border: 1px solid var(--tz-linie); background: var(--tz-flaeche); overflow: hidden; }
.tz-tabkarte header { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding: 14px 18px; border-bottom: 1px solid var(--tz-linie); background: linear-gradient(90deg, rgba(212,165,116,.08), transparent); }
.tz-tabkarte header h3 { margin: 0; font-family: 'Syne', sans-serif; font-size: 17px; color: #fff; display: flex; align-items: center; gap: 9px; }
.tz-tabkarte header h3 .ti { color: var(--gold-bright); }
.tz-tabkarte header small { color: #b5c0cf; font-size: 12.5px; }
.tz-tab { width: 100%; border-collapse: collapse; font-size: 14px; }
.tz-tab th { padding: 10px 8px; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; font-weight: 700; color: #a3afc2; text-align: center; border-bottom: 1px solid var(--tz-linie); }
.tz-tab th:nth-child(2), .tz-tab td:nth-child(2) { text-align: left; }
.tz-tab td { padding: 10px 8px; text-align: center; color: #d6dde8; border-bottom: 1px solid rgba(42,51,67,.6); font-variant-numeric: tabular-nums; }
.tz-tab tr:last-child td { border-bottom: 0; }
.tz-tab td:first-child, .tz-tab th:first-child { padding-left: 16px; width: 44px; }
.tz-tab td:last-child, .tz-tab th:last-child { padding-right: 16px; }
.tz-tab .tz-siege { font-weight: 800; color: #fff; }
.tz-tab .tz-name { display: flex; flex-direction: column; min-width: 0; }
.tz-tab .tz-name b { font-weight: 700; color: #fff; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tz-tab .tz-name small { color: #a3afc2; font-size: 11.5px; }
.tz-rang { width: 28px; height: 28px; border-radius: 50%; display: inline-grid; place-items: center; font-family: Inter, sans-serif; font-weight: 800; font-size: 13px; background: #222a37; color: #dbe2ec; }
.tz-tab tr.weiter .tz-rang { background: var(--tz-gruen-bg); color: var(--tz-gruen); box-shadow: inset 0 0 0 1px var(--tz-gruen-rand); }
.tz-tab tr.weiter td { background: rgba(77,187,120,.04); }
.tz-tab tr.r1 .tz-rang { background: linear-gradient(135deg, #e2b878, #f3d9ad); color: #2a1d0b; box-shadow: none; }
.tz-tab tr.r2 .tz-rang { background: linear-gradient(135deg, #b9c2ce, #e3e8ee); color: #1b2230; box-shadow: none; }
.tz-tab tr.r3 .tz-rang { background: linear-gradient(135deg, #b87a45, #dba574); color: #24160a; box-shadow: none; }
.tz-tab tr.ich td { background: rgba(212,165,116,.07); }
.tz-tab tr.ich .tz-name b::after { content: 'Du'; margin-left: 8px; padding: 1px 7px; border-radius: 999px; background: var(--tz-gold-bg); color: var(--tz-gold); font-size: 11px; font-weight: 700; }
.tz-tabkarte footer { padding: 10px 16px; font-size: 12px; color: #a3afc2; border-top: 1px solid var(--tz-linie); background: rgba(0,0,0,.15); line-height: 1.5; }
.tz-tabkarte footer i { display: inline-block; width: 9px; height: 9px; border-radius: 3px; background: var(--tz-gruen); margin-right: 6px; vertical-align: 0; }

/* Spiele */
.tz-spiele-kopf { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 6px 0 14px; }
.tz-spiele-kopf h3 { margin: 0; font-family: 'Syne', sans-serif; font-size: 20px; color: #fff; display: flex; align-items: center; gap: 10px; }
.tz-spiele-kopf h3 .ti { color: var(--gold-bright); }
.tz-filter { display: inline-flex; padding: 3px; border-radius: 11px; background: var(--bg-alt); border: 1px solid var(--tz-linie); }
.tz-filter button { padding: 7px 12px; border: 0; border-radius: 8px; background: transparent; color: #b5c0cf; font: 600 13px/1 Inter, sans-serif; cursor: pointer; }
.tz-filter button.an { background: var(--card-hover); color: #fff; box-shadow: inset 0 0 0 1px var(--tz-linie-2); }
.tz-filter button b { margin-left: 6px; font-weight: 700; color: #a3afc2; }
.tz-runde { margin: 0 0 18px; }
.tz-runde > h4 { margin: 0 0 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--tz-gold); font-weight: 800; display: flex; align-items: center; gap: 10px; }
.tz-runde > h4::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--tz-linie-2), transparent); }
.tz-spielraster { display: grid; grid-template-columns: repeat(auto-fill, minmax(400px, 1fr)); gap: 12px; }
.tz-spiel { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; gap: 10px 14px; padding: 14px 16px; border-radius: 16px; background: var(--tz-flaeche); border: 1px solid var(--tz-linie); }
.tz-spiel.fertig { background: linear-gradient(180deg, #151b25, #131821); }
.tz-spiel.meins { border-color: var(--tz-gold-rand); box-shadow: inset 3px 0 0 var(--gold); }
.tz-sp-paar { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.tz-sp-z { display: flex; align-items: center; gap: 10px; min-width: 0; font-size: 15px; color: #eef2f7; font-weight: 600; }
.tz-sp-z .nm { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tz-sp-z .nm small { margin-left: 6px; color: #a3afc2; font-weight: 600; font-size: 11.5px; }
.tz-sp-z.sieg { color: #fff; font-weight: 800; }
.tz-sp-z.sieg .nm::before { content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--tz-gruen); margin-right: 8px; vertical-align: 2px; }
.tz-sp-z.nied { color: #aeb9c8; font-weight: 500; }
.tz-saetze { display: flex; gap: 4px; flex: none; }
.tz-saetze i { width: 26px; height: 26px; border-radius: 7px; display: grid; place-items: center; font-style: normal; font-family: Inter, sans-serif; font-variant-numeric: tabular-nums; font-size: 13px; font-weight: 800; background: #1f2633; color: #c3ccd8; border: 1px solid var(--tz-linie); }
.tz-saetze i.g { background: rgba(77,187,120,.16); color: #8fe3b3; border-color: var(--tz-gruen-rand); }
.tz-sp-akt { grid-row: 1 / span 2; grid-column: 2; display: flex; flex-direction: column; gap: 6px; justify-content: center; }
.tz-sp-info { grid-column: 1; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.tz-stat { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12px; font-weight: 700; border: 1px solid; }
.tz-stat .ti { width: 14px; height: 14px; }
.tz-stat.offen { color: var(--tz-gold); border-color: var(--tz-gold-rand); background: rgba(212,165,116,.08); }
.tz-stat.termin { color: #93d5f5; border-color: rgba(56,189,248,.42); background: rgba(56,189,248,.09); }
.tz-stat.fertig { color: var(--tz-gruen); border-color: var(--tz-gruen-rand); background: var(--tz-gruen-bg); }
.tz-stat.leise { color: #b5c0cf; border-color: var(--tz-linie-2); background: transparent; font-weight: 600; }
.tz-sbtn { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-height: 38px; padding: 8px 13px; border-radius: 10px; border: 1px solid var(--tz-linie-2); background: transparent; color: #e6ebf2; font: 700 13px/1 Inter, sans-serif; cursor: pointer; white-space: nowrap; }
.tz-sbtn:hover { border-color: var(--gold); color: #fff; }
.tz-sbtn .ti { width: 15px; height: 15px; }
.tz-sbtn.gold { background: linear-gradient(135deg, var(--gold), var(--gold-bright)); color: #1a1410; border: 0; }
.tz-leer-filter { padding: 22px; text-align: center; color: #b5c0cf; border: 1px dashed var(--tz-linie-2); border-radius: 14px; }

/* Raster / Bracket */
body .bracket-fresh .round-head { color: var(--tz-gold); font-size: 12px; letter-spacing: .08em; }
body .bracket-fresh .round-head .deadline { color: #b5c0cf; }
body .bracket-fresh .m { background: #181f2b; border: 1px solid #3a4557; border-radius: 14px; box-shadow: 0 8px 22px rgba(0,0,0,.35); overflow: hidden; }
body .bracket-fresh .m:hover:not(.locked) { border-color: var(--gold); }
body .bracket-fresh .m.meins { border-color: var(--tz-gold-rand); box-shadow: inset 3px 0 0 var(--gold), 0 8px 22px rgba(0,0,0,.35); }
body .bracket-fresh .m .pl { padding: 10px 12px; font-size: 14px; color: #fff; }
body .bracket-fresh .m .pl + .pl { border-top: 1px solid #2f3949; }
body .bracket-fresh .m .pl.win { background: rgba(77,187,120,.12); }
body .bracket-fresh .m .pl.lose { color: #aeb9c8; }
body .bracket-fresh .m .pl.tbd { color: #b5c0cf; }
body .bracket-fresh .m .pl .nm small { color: #b5c0cf; }
body .bracket-fresh .m .pl .scs { font-family: Inter, sans-serif; font-variant-numeric: tabular-nums; }
body .bracket-fresh .m .pl .sc { width: 24px; height: 24px; border-radius: 6px; background: #1f2633; border-color: #34405a; color: #d6dde8; }
body .bracket-fresh .m .pl.win .sc.won { background: rgba(77,187,120,.18); border-color: var(--tz-gruen-rand); color: #8fe3b3; }
body .bracket-fresh .m .foot { background: #141a24; color: #c3ccd8; border-top: 1px solid #2f3949; font-size: 12px; }
body .bracket-fresh .m .foot .done-tag { color: var(--tz-gruen); display: inline-flex; align-items: center; gap: 6px; }
body .bracket-fresh .m .foot .ti { width: 14px; height: 14px; }
body .bracket-fresh .m .tz-termin-zeile { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 12px; background: rgba(56,189,248,.07); border-top: 1px solid #2f3949; font-size: 12px; color: #a5dcf7; }
body .bracket-fresh .m .tz-termin-zeile span { display: inline-flex; align-items: center; gap: 6px; }
body .action-btn { display: inline-flex; align-items: center; gap: 6px; border-radius: 9px; }
body .action-btn .ti { width: 14px; height: 14px; }
body .rd-tab { font-weight: 700; }

/* KO-Hinweis / Vorstandswerkzeuge in der Gruppenphase */
body .tz-ko-box { margin: 0 0 18px; }

/* Siegerhistorie */
body #hofSection { max-width: 1240px; margin: 46px auto 0; padding: 0 24px 50px; }
.tz-hof-kopf { display: flex; align-items: center; gap: 12px; margin-bottom: 6px; flex-wrap: wrap; }
.tz-hof-kopf h2 { margin: 0; font-size: 24px; display: flex; align-items: center; gap: 12px; }
.tz-hof-kopf h2 .tz-h-ico { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(212,165,116,.13); color: var(--gold-bright); }
.tz-hof-kopf .linie { flex: 1; height: 1px; background: linear-gradient(90deg, var(--tz-gold-rand), transparent); min-width: 40px; }
body #hofIntro { color: #b5c0cf !important; }
body .hof-grid { grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important; }
body .sl-name { overflow-wrap: anywhere; hyphens: auto; }
body .sl-card { border-radius: 18px; border-color: var(--tz-gold-rand); background: linear-gradient(160deg, rgba(212,165,116,.1), rgba(212,165,116,.02)); }
body .sl-icon { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(212,165,116,.14); color: var(--gold-bright); font-size: 0; }
body .sl-icon .ti { width: 20px; height: 20px; }
body .sl-meta { color: #b5c0cf; font-size: 12px; }
body .sl-win small { color: #b5c0cf; }
body .sl-akt button { display: grid; place-items: center; color: #dbe2ec; }
body .sl-akt button .ti { width: 14px; height: 14px; }
body .sl-row.demo .sl-year::after { content: 'Demo'; display: block; font-family: Inter, sans-serif; font-size: 10px; font-weight: 700; color: var(--tz-gold); letter-spacing: .04em; }

/* Fenster */
body .kx-modal h3 { display: flex; align-items: center; gap: 10px; }
body .kx-modal h3 .ti { color: var(--gold-bright); width: 22px; height: 22px; }
body .kx-foot .btn { display: inline-flex; align-items: center; gap: 8px; }
body .kx-foot .btn .ti { width: 16px; height: 16px; }
body .kxf h3 span:first-child { display: inline-grid; place-items: center; color: var(--gold-bright); }
body .kxf h3 span:first-child .ti { width: 22px; height: 22px; }
.tz-vorlagen { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.tz-vorlage { display: flex; gap: 12px; align-items: flex-start; text-align: left; padding: 12px 14px; border-radius: 13px; border: 1px solid #34405a; background: #151b26; color: #eef2f7; cursor: pointer; font-family: inherit; }
.tz-vorlage:hover { border-color: var(--gold); }
.tz-vorlage.an { border-color: var(--gold); background: rgba(212,165,116,.1); box-shadow: inset 0 0 0 1px var(--gold); }
.tz-vorlage-ico { width: 38px; height: 38px; border-radius: 11px; display: grid; place-items: center; background: rgba(212,165,116,.13); color: var(--gold-bright); flex: none; }
.tz-vorlage-text b { display: block; font-size: 14px; margin-bottom: 3px; }
.tz-vorlage-text small { display: block; font-size: 12.5px; color: #b5c0cf; line-height: 1.4; }
.tz-vorlage-leer .tz-vorlage-ico { background: rgba(255,255,255,.05); color: #c3ccd8; }
body .kx-modal input.tz-pflicht { border-color: var(--gold) !important; box-shadow: 0 0 0 3px rgba(212,165,116,.18); }
body .re-modal .tz-modal-pill { display: inline-flex; align-items: center; gap: 7px; }
body .re-modal .tz-modal-pill .ti { width: 15px; height: 15px; }
.tz-demo-mail { display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px; border-radius: 11px; background: rgba(212,165,116,.08); border: 1px dashed var(--tz-gold-rand); font-size: 13px; color: #e6ebf2; margin-top: 10px; }
.tz-demo-mail .ti { color: var(--gold-bright); }

/* Auslosungs-Show */
body .ds-btn { display: inline-flex; align-items: center; gap: 8px; }
body .ds-btn .ti, body .ds-header .title .ti, body .ds-bracket-head .ti { width: 18px; height: 18px; }
body .ds-header .title { display: inline-flex; align-items: center; gap: 10px; }

/* ───────── Handy ───────── */
@media (max-width: 900px) {
  .tz-kennzahlen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tz-kennzahlen .tz-kz:only-child, .tz-kennzahlen .tz-kz:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .tz-detail-buehne { grid-template-columns: minmax(0, 1fr); padding: 22px 18px; }
  .tz-db-rechts { justify-content: flex-start; }
  body .bp-info { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  body .hero.tz-hero { grid-template-columns: 1fr; padding: 28px 16px 4px; gap: 14px; }
  body .tz-hero h1 { font-size: 38px !important; }
  body .tz-hero p { font-size: 14.5px; }
  .tz-hero-rechts { grid-row: 1; justify-self: end; margin-bottom: -6px; }
  .tz-kennzahlen { gap: 10px; margin-top: 18px; }
  .tz-kz { padding: 13px 14px; gap: 11px; border-radius: 14px; }
  .tz-kz-ico { width: 36px; height: 36px; border-radius: 10px; }
  .tz-kz b { font-size: 22px; }
  .tz-kz span { font-size: 12px; }
  body #bewerbeSection > div { padding: 0 16px !important; }
  .tz-abschnitt-kopf h2 { font-size: 22px !important; }
  body .bewerb-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .tz-k-buehne { height: 128px; }
  .tz-k-body h3 { font-size: 17.5px; }
  .ti.gross { width: 54px; height: 54px; }
  .tz-demo-band { padding: 14px; }
  .tz-demo-steuer { width: 100%; }
  .tz-demo-steuer .tz-seg { flex: 1 1 100%; }
  .tz-demo-steuer .tz-seg button { flex: 1; justify-content: center; }
  .tz-demo-steuer .tz-btn { flex: 1; }
  body .kurs-adminbar > div:first-child { flex: 1 1 100% !important; }
  body .bw-leer.tz-leer { grid-column: 1 / -1; grid-template-columns: 1fr; padding: 22px 18px; }
  .tz-leer-ico { grid-row: auto; width: 52px; height: 52px; }
  body .kurs-adminbar .btn { flex: 1; justify-content: center; }
  .tz-detail-buehne { border-radius: 18px; }
  .tz-db-aktionen { display: grid; grid-template-columns: 1fr 1fr; }
  .tz-db-aktionen .action-btn { justify-content: center; min-height: 40px; }
  .tz-db-aktionen .action-btn.primary, .tz-db-aktionen .action-btn:only-child { grid-column: 1 / -1; }
  .tz-spiel.fertig .tz-sp-akt { justify-content: flex-end; }
  .tz-spiel.fertig .tz-sp-akt .tz-sbtn { flex: 0 0 auto; min-height: 36px; }
  .tz-ring, .tz-ring svg { width: 118px; height: 118px; }
  .tz-ring-txt b { font-size: 28px; }
  .tz-db-rechts { min-width: 0; }
  .tz-gruppen { grid-template-columns: 1fr; }
  .tz-tab { font-size: 13.5px; }
  .tz-tab .tz-nur-breit { display: none; }
  .tz-tab td, .tz-tab th { padding: 9px 5px; }
  .tz-tab td:first-child, .tz-tab th:first-child { padding-left: 12px; width: 38px; }
  .tz-spielraster { grid-template-columns: 1fr; }
  .tz-spiel { grid-template-columns: 1fr; padding: 13px 14px; }
  .tz-sp-akt { grid-row: auto; grid-column: 1; flex-direction: row; order: 2; }
  .tz-sp-akt .tz-sbtn { flex: 1; min-height: 42px; }
  .tz-spiele-kopf { align-items: stretch; }
  .tz-filter { width: 100%; }
  .tz-filter button { flex: 1; }
  .tz-vorlagen { grid-template-columns: 1fr; }
  body #hofSection { padding: 0 16px 40px; }
  body .hof-grid { grid-template-columns: 1fr !important; }
  body .bp-info { grid-template-columns: 1fr 1fr; }
  .tz-sieger.breit { flex-direction: column; text-align: center; }
  .tz-hinweis { bottom: 16px; }
}
@media print {
  .tz-hero, .tz-demo-band, #tzHinweis, .tz-kennzahlen, .bewerb-grid { display: none !important; }
}

body .kx-modal input[type=radio], body .kx-modal input[type=checkbox], body .re-modal input[type=checkbox] { accent-color: var(--gold); }
body .teil-wrap h3 { font-family: Inter, sans-serif !important; font-weight: 800; }
body .re-pill { font-family: Inter, sans-serif !important; font-variant-numeric: tabular-nums; font-weight: 800; }
body .re-modal .wb .nm { overflow-wrap: break-word; }
@media (max-width: 640px) {
  body .re-pills { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  body .re-pill { width: auto !important; min-width: 0 !important; height: 40px; padding: 0 !important; }
}
@media (max-width: 640px) { .tz-db-aktionen .action-btn { white-space: normal; text-align: center; line-height: 1.2; padding: 7px 8px; } }
/* Demo-Rolle im Konto-Menü der Kopfzeile */
body .auth-btn.tz-demo-konto { border-color: var(--tz-gold-rand) !important; background: rgba(212,165,116,.1) !important; }
body .auth-btn.tz-demo-konto .ti { width: 16px; height: 16px; color: var(--gold-bright); }
.tz-demo-pill { background: var(--tz-gold-bg); color: var(--tz-gold); border: 1px solid var(--tz-gold-rand); white-space: nowrap; }
body .auth-menu .auth-menu-item .ti { width: 16px; height: 16px; }
