/* ── Turnierbaum, „Your match“, Partie-Dialoge, Embed (Block W1 · Agent B) ─────────────────────────────────────────
   Figma YRUirscc0yHUgTS69n5bDU: W2 135:2082 (Spalten 340 = Partie 260 + 80, Partie 260×72, dein Weg violett 2 px, sonst
   Weiss 14 % 1 px), Bausteine Turnier/Partie 165:3519 + Tabellenzeile 165:3592, W15–W21, M2/M4/M5, W26 Embed 177:6551.
   Nur Tokens aus style.css; Praefix tw-b-. Brueche wie tw.css: ≤ 1080 einspaltig, ≤ 900 Leiste gestapelt, ≤ 600 = 430. */

/* ── Your match (W19 · 135:2212): violett 1,5, r14, p18/22; Amber = Streit/Nichtantritt; ruhig = spaeter/fertig ── */
.tw-b-dp { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; grid-template-areas: "l paar chip akt";
    align-items: center; gap: 20px; padding: 18px 22px; border-radius: 14px; border: 1.5px solid var(--violett);
    background: var(--w04); min-width: 0; box-sizing: border-box; }
.tw-b-dp.amber { border-color: var(--gold2); }
.tw-b-dp.ruhig { border: 1px solid var(--border2); background: var(--flaeche); padding: 18.5px 22.5px; }
.tw-b-dp-l { grid-area: l; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.tw-b-dp-l b { font: 600 15px/19px var(--font-brand); color: var(--w100); white-space: nowrap; }
.tw-b-dp-paar { grid-area: paar; display: flex; align-items: center; justify-content: center; gap: 14px; min-width: 0; }
.tw-b-dp-paar .s { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 0 1 auto; }
.tw-b-dp-paar .s.b { flex-direction: row-reverse; }
.tw-b-dp-paar .n { font: 600 16px/20px var(--font-brand); color: var(--w100); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.tw-b-dp-paar .du .n { color: var(--violett-text); }
.tw-b-dp-paar .n.offen { color: var(--w45); font-weight: 500; }
.tw-b-dp-paar .st { display: none; }
.tw-b-dp-paar .mitte { font: 700 22px/28px var(--font-brand); color: var(--w100); white-space: nowrap; flex: 0 0 auto; }
.tw-b-dp-paar .vs { font: 600 14px/18px var(--font-brand); color: var(--w45); }
.tw-b-dp-chip { grid-area: chip; display: flex; }
.tw-b-dp-akt { grid-area: akt; display: flex; align-items: center; justify-content: flex-end; gap: 18px; min-width: 0; }
.tw-b-dp-text { font: 400 14px/18px var(--font-brand); color: var(--w70); }
.tw-b-dp-akt .tw-link { font-size: 13px; color: var(--w100); white-space: nowrap; }
.tw-b-dp-akt .tw-link:hover { color: var(--violett-text); }
.tw-b-leer-logo { background: transparent !important; border: 1px dashed var(--w25) !important; }

/* gestapelt (≤ 900 und `kompakt`, M2 146:3541): Label + Chip oben (Chip bricht um, wenn es eng wird), beide Teams als
   Zeilen mit Stand, Aktion volle Breite */
.tw-b-dp.kompakt { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 12px; padding: 16px; }
.tw-b-dp.kompakt .tw-b-dp-l { flex: 1 1 0; min-width: min(100%, 150px); flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0; }
.tw-b-dp.kompakt .tw-b-dp-l b { font: 600 11px/14px var(--font-brand); letter-spacing: .66px; text-transform: uppercase; color: var(--w45); white-space: normal; }
.tw-b-dp.kompakt .tw-b-dp-l b::before { content: " · "; white-space: pre; }
.tw-b-dp.kompakt .tw-b-dp-chip { flex: 0 1 auto; min-width: 0; }
.tw-b-dp.kompakt .tw-b-dp-chip .tw-chip { white-space: normal; }
.tw-b-dp.kompakt .tw-b-dp-paar { flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 10px; }
.tw-b-dp.kompakt .tw-b-dp-paar .s, .tw-b-dp.kompakt .tw-b-dp-paar .s.b { flex-direction: row; gap: 12px; }
.tw-b-dp.kompakt .tw-b-dp-paar .mitte { display: none; }
.tw-b-dp.kompakt .tw-b-dp-paar .st { display: block; margin-left: auto; font: 700 18px/22px var(--font-brand); color: var(--w100); }
.tw-b-dp.kompakt .tw-b-dp-akt { flex: 1 1 100%; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; }
.tw-b-dp.kompakt .tw-b-dp-akt .tw-btn { flex: 1 1 100%; }
.tw-b-dp.kompakt .tw-b-dp-text { flex: 1 1 auto; }
@media (max-width: 900px) {
    .tw-b-dp { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 12px; padding: 16px; }
    .tw-b-dp-l { flex: 1 1 0; min-width: min(100%, 150px); flex-direction: row; flex-wrap: wrap; align-items: baseline; gap: 0; }
    .tw-b-dp-l b { font: 600 11px/14px var(--font-brand); letter-spacing: .66px; text-transform: uppercase; color: var(--w45); white-space: normal; }
    .tw-b-dp-l b::before { content: " · "; white-space: pre; }
    .tw-b-dp-chip { flex: 0 1 auto; min-width: 0; }
    .tw-b-dp-chip .tw-chip { white-space: normal; }
    .tw-b-dp-paar { flex: 1 1 100%; flex-direction: column; align-items: stretch; gap: 10px; }
    .tw-b-dp-paar .s, .tw-b-dp-paar .s.b { flex-direction: row; gap: 12px; }
    .tw-b-dp-paar .mitte { display: none; }
    .tw-b-dp-paar .st { display: block; margin-left: auto; font: 700 18px/22px var(--font-brand); color: var(--w100); }
    .tw-b-dp-akt { flex: 1 1 100%; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; }
    .tw-b-dp-akt .tw-btn { flex: 1 1 100%; }
    .tw-b-dp-text { flex: 1 1 auto; }
}

/* ── Bracket-Tab ── */
.tw-b { display: flex; flex-direction: column; gap: 32px; min-width: 0; }
.tw-b-kopfz { display: flex; align-items: center; gap: 12px 18px; flex-wrap: wrap; }
.tw-b-kopfz .tw-seg button .tw-punkt { width: 6px; height: 6px; }
.tw-b-abschnitt { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tw-b-gk { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.tw-b-sieger { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: 12px; color: var(--gold2);
    border: 1px solid rgba(232, 180, 80, .45); background: rgba(232, 180, 80, .08); flex-wrap: wrap; }
.tw-b-sieger b { font: 600 16px/20px var(--font-brand); color: var(--w100); }
.tw-b-sieger .tw-cap { color: var(--gold2); }

/* Baum: Spalten 260 + 80 Luecke; alle Spalten einer Reihe gleich hoch, Partien per space-around → Mitte zwischen zwei Vorgaengern */
.tw-b-baum { position: relative; overflow-x: auto; overflow-y: hidden; padding: 14px 2px 10px; margin: -14px -2px 0; scrollbar-width: thin; }
.tw-b-reihe { display: flex; align-items: stretch; width: max-content; position: relative; z-index: 1; }
.tw-b-spalte { width: 260px; flex: 0 0 260px; display: flex; flex-direction: column; gap: 18px; }
.tw-b-spalte + .tw-b-spalte { margin-left: 80px; }
.tw-b-spalte.champ { width: 240px; flex-basis: 240px; }     /* 3 × 340 + 240 passt neben die Scrollleiste (1440) */
.tw-b-sk { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b-sp { flex: 1 1 auto; display: flex; flex-direction: column; justify-content: space-around; gap: 28px; }
.tw-b-linien { position: absolute; left: 0; top: 0; pointer-events: none; z-index: 0; overflow: visible; }
.tw-b-linien path { fill: none; }
.tw-b-linien .grau path { stroke: var(--w14); stroke-width: 1; }
.tw-b-linien .weg path { stroke: var(--violett); stroke-width: 2; }

/* Doppel-K.-o. (W15): oberes + unteres Tableau links, Grand final (+ Reset) rechts mittig */
.tw-b-baum.dop { display: flex; align-items: stretch; }
.tw-b-dop-l { display: flex; flex-direction: column; gap: 36px; flex: 0 0 auto; position: relative; z-index: 1; }
.tw-b-tab-ab { display: flex; flex-direction: column; gap: 14px; }
.tw-b-dop-r { display: flex; flex-direction: column; justify-content: center; gap: 28px; margin-left: 80px; flex: 0 0 260px; position: relative; z-index: 1; }
.tw-b-dop-r .tw-b-spalte { flex: 0 0 auto; }
.tw-b-dop-r .tw-b-spalte + .tw-b-spalte { margin-left: 0; }
.tw-b-reset { margin: -14px 0 0; }
/* W15: vier Spalten unten + Grand final muessen in 1280 passen → Spalten 228, Luecke 30 (Figma 230/32) */
.tw-b-baum.dop .tw-b-spalte { width: 228px; flex-basis: 228px; }
.tw-b-baum.dop .tw-b-spalte + .tw-b-spalte { margin-left: 30px; }
.tw-b-baum.dop .tw-b-dop-r { margin-left: 30px; flex-basis: 228px; }

/* Partie (Turnier/Partie 165:3519): 260×72, r10, zwei Seiten à 35; Chip ueber der rechten oberen Ecke */
.tw-b-p { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: 100%; height: 72px;
    padding: 0; margin: 0; border-radius: 10px; border: 1px solid var(--border); background: var(--flaeche); color: inherit;
    font: inherit; text-align: left; box-sizing: border-box; flex: 0 0 auto; }
button.tw-b-p { cursor: pointer; }
button.tw-b-p:hover { border-color: var(--w25); }
.tw-b-p.live { border-color: rgba(140, 198, 63, .55); }
.tw-b-p.weg { border: 1.5px solid var(--violett); background: linear-gradient(rgba(124, 92, 255, .08), rgba(124, 92, 255, .08)), var(--flaeche); }
.tw-b-p.offen { border: 1px dashed var(--w14); background: var(--grund); }
.tw-b-p.streit { border: 1.5px solid var(--gold2); }
button.tw-b-p:focus-visible, .tw-b-pm:focus-visible, .tw-b-st-k:focus-visible, .tw-b-pille:focus-visible, .tw-b-ergz:focus-visible,
.tw-b-mteam:focus-visible, .tw-b-step button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.tw-b-ps { display: flex; align-items: center; gap: 10px; height: 35px; padding: 0 12px; min-width: 0; }
.tw-b-ps .n { flex: 1 1 auto; min-width: 0; font: 600 13px/16px var(--font-brand); color: var(--w100); overflow: hidden;
    text-overflow: ellipsis; white-space: nowrap; }
.tw-b-ps .st { font: 600 13px/16px var(--font-brand); color: var(--w100); }
.tw-b-ps.raus .n, .tw-b-ps.raus .st { font-weight: 500; color: var(--w45); }
.tw-b-ps.du .n { color: var(--violett-text); }
.tw-b-ps.leer .n { font-weight: 500; color: var(--w25); }
.tw-b-pc { position: absolute; top: -11px; right: 10px; z-index: 2; border-radius: 999px; background: var(--grund); display: flex; }
.tw-b-pc .tw-chip { padding: 3px 8px; font-size: 11px; line-height: 14px; }
.tw-b-dq { font: 700 10px/1 var(--font-brand); font-style: normal; color: var(--red); border: 1px solid rgba(255, 123, 123, .45);
    border-radius: 4px; padding: 2px 4px; }

/* Champion (W2): gestrichelt bis entschieden, dann Gold */
.tw-b-champ { position: relative; z-index: 1; height: 72px; box-sizing: border-box; border-radius: 10px; border: 1px dashed var(--w14);
    background: var(--grund); display: flex; align-items: center; gap: 10px; padding: 0 16px; color: var(--w45); font: 500 13px/16px var(--font-brand); }
.tw-b-champ.da { border: 1px solid rgba(232, 180, 80, .45); background: rgba(232, 180, 80, .08); color: var(--gold2); }
.tw-b-champ.da b { color: var(--w100); font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* Legende */
.tw-b-legende { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 22px; font: 400 13px/16px var(--font-brand); color: var(--w70); }
.tw-b-legende span { display: inline-flex; align-items: center; gap: 8px; }
.tw-b-legende i { width: 6px; height: 6px; border-radius: 50%; background: var(--w45); }
.tw-b-legende .weg i { background: var(--violett-text); }
.tw-b-legende .live i { background: var(--gruen); }
.tw-b-legende .offen i { background: var(--w25); }
.tw-b-legende .hinweis { color: var(--w45); }

/* Tabelle (Turnier/Tabellenzeile 165:3592) */
.tw-b-tab { width: 100%; border-collapse: collapse; table-layout: fixed; font: 500 13px/16px var(--font-brand); }
.tw-b-tab col.r { width: 40px; } .tw-b-tab col.sp { width: 44px; } .tw-b-tab col.wl { width: 56px; } .tw-b-tab col.diff { width: 52px; }
.tw-b-tab col.pkt { width: 52px; } .tw-b-tab col.bh { width: 52px; } .tw-b-tab col.m { width: 96px; }
.tw-b-tab th { font: 600 11px/14px var(--font-brand); letter-spacing: .66px; text-transform: uppercase; color: var(--w45);
    text-align: right; padding: 0 0 10px; border-bottom: 1px solid var(--border); white-space: nowrap; }
.tw-b-tab th.r, .tw-b-tab td.r { text-align: left; padding-left: 12px; }
.tw-b-tab th.team, .tw-b-tab td.team { text-align: left; }
.tw-b-tab th:last-child, .tw-b-tab td:last-child { padding-right: 12px; }
.tw-b-tab td { height: 40px; padding: 0; text-align: right; color: var(--w70); border-bottom: 1px solid var(--border); }
.tw-b-tab td.r { font-weight: 600; color: var(--w45); }
.tw-b-tab td.pkt { color: var(--w100); font-weight: 600; }
.tw-b-tab td.team .in { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tw-b-tab td.team .name { font-weight: 600; color: var(--w100); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.tw-b-tab tr.du td { background: rgba(124, 92, 255, .06); }
.tw-b-tab tr.du td.r, .tw-b-tab tr.du .name { color: var(--violett-text); }
.tw-b-tab tr.weiter td.r { color: var(--gruen); }
.tw-b-tab tr.raus td, .tw-b-tab tr.raus td.r { color: var(--w25); }
.tw-b-tab tr.raus .name { color: var(--w45); }
.tw-b-tab td.m { font-size: 12px; }
.tw-b-tab td.m.weiter { color: var(--gruen); }
.tw-b-tab td.m.raus { color: var(--w25); }
.tw-b-tab.klein col.r { width: 30px; } .tw-b-tab.klein th.r, .tw-b-tab.klein td.r { padding-left: 8px; }
.tw-b-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* 430: Liste statt Tabelle (M4) */
.tw-b-tabm { display: flex; flex-direction: column; }
.tw-b-tabm-k, .tw-b-tabm-z { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 0 8px; }
.tw-b-tabm-k { padding-bottom: 8px; border-bottom: 1px solid var(--border); }
.tw-b-tabm-k .tw-cap { text-align: right; }
.tw-b-tabm-z { height: 43px; border-bottom: 1px solid var(--border); }
.tw-b-tabm-z .r { font: 600 13px/16px var(--font-brand); color: var(--w45); }
.tw-b-tabm-z .team { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tw-b-tabm-z .name { font: 600 14px/18px var(--font-brand); color: var(--w100); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-b-tabm-z .w { font: 500 13px/16px var(--font-brand); color: var(--w70); white-space: nowrap; }
.tw-b-tabm-z .w b { display: inline-block; min-width: 18px; text-align: right; margin-left: 8px; font-weight: 700; font-size: 15px; color: var(--w100); }
.tw-b-tabm-z.du { background: rgba(124, 92, 255, .06); }
.tw-b-tabm-z.du .r, .tw-b-tabm-z.du .name { color: var(--violett-text); }
.tw-b-tabm-z.weiter .r { color: var(--gruen); }
.tw-b-tabm-z.raus .r, .tw-b-tabm-z.raus .w, .tw-b-tabm-z.raus .w b { color: var(--w25); }
.tw-b-tabm-z.raus .name { color: var(--w45); }

/* Gruppen (W16) */
.tw-b-gruppen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px 24px; }
.tw-b-gr { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.tw-b-runde { display: flex; flex-direction: column; gap: 10px; }
.tw-b-raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 20px; padding-top: 12px; }
.tw-b-raster.drei { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.tw-b-folge { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding: 16px 18px; border: 1px dashed var(--w14); border-radius: 12px; }

/* Swiss (W17): Runden 256 breit nebeneinander | Tabelle 430 */
.tw-b-sw { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 32px; align-items: start; }
.tw-b-swrunden { display: flex; gap: 25px; overflow-x: auto; padding: 2px 2px 10px; margin: -2px; min-width: 0; scrollbar-width: thin; position: relative; }
.tw-b-swr { flex: 1 0 236px; max-width: 256px; display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tw-b-pool { display: flex; flex-direction: column; gap: 10px; }
.tw-b-pool-k { display: flex; align-items: baseline; gap: 8px; }
.tw-b-pool-k b { font: 600 13px/16px var(--font-brand); color: var(--w100); }
.tw-b-pool-p { display: flex; flex-direction: column; gap: 22px; padding-top: 12px; }
.tw-b-swbox { border: 1px solid var(--border); border-radius: 10px; padding: 12px; display: flex; flex-direction: column; gap: 10px; }
.tw-b-swbox .k { display: flex; align-items: center; gap: 8px; font: 600 12px/15px var(--font-brand); color: var(--gruen); }
.tw-b-swbox.raus .k { color: var(--w45); }
.tw-b-swbox .z { display: flex; align-items: center; gap: 10px; font: 600 13px/16px var(--font-brand); color: var(--w100); min-width: 0; }
.tw-b-swbox .z .name { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-b-swbox.raus .z { color: var(--w45); font-weight: 500; }
.tw-b-swbox .z .tw-zahl { font-weight: 500; color: var(--w45); }
.tw-b-swt { display: flex; flex-direction: column; gap: 14px; min-width: 0; }

/* Liga (W18): Tabelle + Spieltage | Haarlinie | Termin absprechen */
.tw-b-rumpf { margin-top: 0; }
.tw-b-stliste { display: flex; flex-direction: column; gap: 12px; }
.tw-b-st { border: 1px solid var(--border); border-radius: 12px; background: var(--flaeche); min-width: 0; }
.tw-b-st.jetzt.offen { border-color: var(--border2); }
.tw-b-st-k { width: 100%; display: flex; align-items: center; gap: 12px; padding: 13px 16px; background: none; border: 0;
    color: inherit; cursor: pointer; text-align: left; font: inherit; border-radius: 12px; }
.tw-b-st-k b { font: 600 14px/18px var(--font-brand); color: var(--w100); white-space: nowrap; }
.tw-b-st-k .tw-klein { flex: 1 1 auto; min-width: 0; }
.tw-b-st-z { font: 500 13px/16px var(--font-brand); color: var(--w70); white-space: nowrap; }
.tw-b-st-k:hover .tw-b-st-z { color: var(--w100); }
.tw-b-st-in { padding: 0 16px 16px; display: flex; flex-direction: column; gap: 10px; }
.tw-b-ergl { display: flex; flex-direction: column; gap: 10px; }
.tw-b-ergz { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border: 0; border-bottom: 1px solid var(--w06);
    background: none; color: var(--w70); font: 400 13px/18px var(--font-brand); text-align: left; cursor: pointer; }
.tw-b-ergz:hover { color: var(--w100); }

/* Termin absprechen (W18 rechts · Dialog) */
.tw-b-tm { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.tw-b-tmpaar { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font: 600 15px/19px var(--font-brand); color: var(--w100); }
.tw-b-tmpaar .du { color: var(--violett-text); }
.tw-b-tmbox { border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; }
.tw-b-tmbox b { font: 500 13px/17px var(--font-brand); color: var(--w100); }
.tw-b-tmbox span { font: 400 12px/16px var(--font-brand); color: var(--w45); }
.tw-b-tmbox.amber { border-color: rgba(232, 180, 80, .45); }
.tw-b-tmab { display: flex; flex-direction: column; gap: 8px; }
.tw-b-tmv { display: flex; align-items: center; gap: 10px; min-height: 40px; flex-wrap: wrap; }
.tw-b-tmv > div { flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
.tw-b-tmv b { font: 600 14px/18px var(--font-brand); color: var(--w100); }
.tw-b-tmneu { display: flex; flex-wrap: wrap; gap: 8px; }
.tw-b-tmneu .tw-chip { border: 0; cursor: pointer; }
.tw-b-tmwahl { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.tw-b-tmwahl .tw-auswahl.breit { flex: 1 1 150px; }
.tw-b-tmwahl .tw-auswahl { flex: 0 1 96px; }
.tw-b-tmwahl .tw-btn:not(.prim) { padding: 0 12px; }

/* 430: Runden-Pillen + Partie-Karten (M2) */
.tw-b.mobil { gap: 24px; }
.tw-b-mob { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.tw-b-pillen { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; padding: 2px; margin: -2px; }
.tw-b-pillen::-webkit-scrollbar { display: none; }
.tw-b-pille { height: 38px; padding: 0 14px; border-radius: 10px; border: 1px solid var(--border2); background: var(--flaeche);
    color: var(--w70); font: 500 13px/1 var(--font-brand); white-space: nowrap; cursor: pointer; flex: 0 0 auto; }
.tw-b-pille.an { border: 1.5px solid var(--violett); background: rgba(124, 92, 255, .12); color: var(--violett-text); font-weight: 600; }
.tw-b-mliste { display: flex; flex-direction: column; gap: 10px; }
.tw-b-pm { display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--border);
    background: var(--flaeche); color: inherit; font: inherit; text-align: left; cursor: pointer; box-sizing: border-box; }
.tw-b-pm.live { border-color: rgba(140, 198, 63, .55); }
.tw-b-pm.weg { border: 1.5px solid var(--violett); background: linear-gradient(rgba(124, 92, 255, .08), rgba(124, 92, 255, .08)), var(--flaeche); }
.tw-b-pm.offen { border-style: dashed; border-color: var(--w14); background: transparent; }
.tw-b-pm.streit { border: 1.5px solid var(--gold2); }
.tw-b-pm .k { display: flex; align-items: center; gap: 10px; justify-content: space-between; font: 500 12px/16px var(--font-brand); color: var(--w45); }
.tw-b-pm .k > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.tw-b-pmz { display: flex; align-items: center; gap: 12px; min-height: 34px; min-width: 0; }
.tw-b-pmz .n { flex: 1 1 auto; min-width: 0; font: 600 15px/19px var(--font-brand); color: var(--w100); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-b-pmz .st { font: 700 16px/20px var(--font-brand); color: var(--w100); }
.tw-b-pmz.raus .n, .tw-b-pmz.raus .st { color: var(--w45); font-weight: 500; }
.tw-b-pmz.du .n { color: var(--violett-text); }
.tw-b-pmz.leer .n { color: var(--w25); font-weight: 500; }
.tw-b-next { border: 1px dashed var(--w14); border-radius: 12px; padding: 12px 14px; font: 400 13px/18px var(--font-brand); color: var(--w45); }

/* ── Dialoge (W20/W21/M5) ── */
.tw-b-dlg-ab { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.tw-b-mteams { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.tw-b-mteam { display: flex; align-items: center; gap: 14px; min-height: 66px; padding: 12px 16px; border-radius: 12px;
    border: 1px solid var(--border2); background: var(--w03); color: var(--w100); font: 600 15px/19px var(--font-brand);
    text-align: left; cursor: pointer; box-sizing: border-box; min-width: 0; }
.tw-b-mteam b { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; font-weight: 600; }
.tw-b-mteam:hover { border-color: var(--w25); }
.tw-b-mteam.an { border: 1.5px solid var(--violett); background: rgba(124, 92, 255, .1); }
.tw-b-mteam svg { color: var(--violett-text); flex: 0 0 18px; }
.tw-b-mstand { display: flex; align-items: center; gap: 12px 16px; flex-wrap: wrap; }
.tw-b-mname { font: 600 14px/18px var(--font-brand); color: var(--w100); min-width: 0; overflow-wrap: anywhere; flex: 1 1 0; }
.tw-b-mname:last-child { text-align: left; }
.tw-b-mname:first-child { text-align: right; }
.tw-b-mstrich { font: 600 16px/1 var(--font-brand); color: var(--w45); }
.tw-b-step { display: inline-flex; align-items: center; height: 52px; border: 1px solid var(--border2); border-radius: 10px; flex: 0 0 auto; }
.tw-b-step button { width: 40px; height: 100%; background: none; border: 0; color: var(--w70); font: 500 18px/1 var(--font-brand); cursor: pointer; border-radius: 9px; }
.tw-b-step button:hover:not([disabled]) { color: var(--w100); background: var(--w06); }
.tw-b-step button[disabled] { color: var(--w25); cursor: not-allowed; }
.tw-b-step b { min-width: 34px; text-align: center; font: 700 22px/1 var(--font-brand); color: var(--w100); }
.tw-b-info { border: 1px solid var(--border); border-radius: 10px; padding: 12px 14px; display: flex; flex-direction: column; gap: 4px; background: var(--w03); }
.tw-b-info b { font: 500 13px/18px var(--font-brand); color: var(--w100); }
.tw-b-info span { font: 400 12px/17px var(--font-brand); color: var(--w55); }
.tw-b-ergbox { display: flex; align-items: center; gap: 12px 14px; flex-wrap: wrap; border: 1px solid var(--border2); border-radius: 12px; padding: 14px 16px; }
.tw-b-ergbox.amber { border: 1.5px solid var(--gold2); }
.tw-b-ergbox .s { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tw-b-ergbox .s b { font: 600 15px/19px var(--font-brand); color: var(--w100); overflow-wrap: anywhere; }
.tw-b-ergbox .s.b { flex-direction: row-reverse; }
.tw-b-ergbox b.du { color: var(--violett-text); }
.tw-b-ergbox .stand { font: 700 22px/28px var(--font-brand); color: var(--w100); white-space: nowrap; }
.tw-b-ergbox .tw-chip { margin-left: auto; }
.tw-b-zaehl { display: flex; justify-content: space-between; gap: 12px; }
.tw-b-lobby { display: flex; flex-direction: column; gap: 8px; }
.tw-b-lz { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--w06); flex-wrap: wrap; }
.tw-b-lz .tw-mini { flex: 0 0 96px; }
.tw-b-lz code { flex: 1 1 140px; min-width: 0; font: 600 15px/20px ui-monospace, SFMono-Regular, Menlo, monospace; color: var(--w100); overflow-wrap: anywhere; }
.tw-b-lz .tw-link { flex: 1 1 auto; }
.tw-b-noshow { display: flex; align-items: center; gap: 12px; padding-top: 8px; flex-wrap: wrap; }
.tw-b-noshow > div { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; }
.tw-b-noshow b { font: 600 14px/18px var(--font-brand); color: var(--w100); }
.tw-b-det { display: flex; flex-direction: column; }
.tw-b-dets { display: flex; align-items: center; gap: 12px; min-height: 52px; border-bottom: 1px solid var(--w06); }
.tw-b-dets .n { flex: 1 1 auto; min-width: 0; font: 500 15px/19px var(--font-brand); color: var(--w70); overflow-wrap: anywhere; }
.tw-b-dets.sieger .n { color: var(--w100); font-weight: 600; }
.tw-b-dets.du .n { color: var(--violett-text); }
.tw-b-dets .n.offen { color: var(--w45); }
.tw-b-dets b { font: 700 18px/22px var(--font-brand); color: var(--w100); }
.tw-b-tm.dlg { gap: 16px; }

/* ── Brueche ── */
@media (max-width: 1280px) {
    .tw-b-sw { grid-template-columns: minmax(0, 1fr) 380px; }
}
@media (max-width: 1080px) {
    .tw-b-gruppen { grid-template-columns: minmax(0, 1fr); }
    .tw-b-sw { grid-template-columns: minmax(0, 1fr); }
    .tw-b-raster.drei { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .tw-b { gap: 24px; }
    .tw-b-mteams { grid-template-columns: minmax(0, 1fr); }
    .tw-b-mstand { justify-content: center; }
    .tw-b-mname { display: none; }
    .tw-b-raster, .tw-b-raster.drei { grid-template-columns: minmax(0, 1fr); }
    .tw-b-st-k { flex-wrap: wrap; row-gap: 4px; }
    .tw-b-st-k .tw-klein { order: 3; flex-basis: 100%; }
    .tw-b-st-z { margin-left: auto; }
    .tw-b-ergbox .tw-chip { margin-left: 0; }
}

/* ── Embed (W26): ohne Navbar; transparent = Partien auf 78 % dunkler Flaeche, ohne Fuss ── */
body.tw-b-embed { margin: 0; padding: 16px; min-height: 0; overflow-y: auto; background: var(--grund); }
html.tw-b-transparent, html.tw-b-transparent body.tw-b-embed { background: transparent; }
.tw-b-em { display: flex; flex-direction: column; gap: 22px; border: 1px solid var(--border); border-radius: 16px; background: var(--flaeche);
    padding: 20px; box-sizing: border-box; min-width: 0; }
html.tw-b-transparent .tw-b-em { border: 0; background: transparent; padding: 0; }
html.tw-b-transparent .tw-b-p, html.tw-b-transparent .tw-b-champ, html.tw-b-transparent .tw-b-emz,
html.tw-b-transparent .tw-b-emab .tw-b-tab, html.tw-b-transparent .tw-b-emr { background: rgba(12, 13, 17, .78); }
html.tw-b-transparent .tw-b-pc { background: rgba(12, 13, 17, .92); }
html.tw-b-transparent .tw-b-emab .tw-b-tab { border-radius: 10px; }
.tw-b-em { overflow: hidden; }
/* Embed-Kopf (SF3): Splash im Widget (Alpha-Maske wie die Buehne), darueber der Hero in klein (TW.sf.hero · Klasse em) */
.tw-b-emkopf { position: relative; display: flex; flex-direction: column; min-width: 0; margin: -20px -20px 0; padding: 20px 20px 0; }
html.tw-b-transparent .tw-b-emkopf { margin: 0; padding: 0; }
.tw-b-emkopf.mit-bild { padding-top: 72px; }
.tw-b-embuehne { position: absolute; left: 0; right: 0; top: 0; height: 100%; z-index: 0; pointer-events: none;
    background: var(--erhoeht) center 18% / cover no-repeat;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, #000 45%, rgba(0,0,0,.3) 80%, transparent 100%);
            mask-image: linear-gradient(180deg, #000 0%, #000 45%, rgba(0,0,0,.3) 80%, transparent 100%); }
.tw-b-embuehne::before { content: ""; position: absolute; inset: 0;
    background: linear-gradient(90deg, rgba(12,13,17,.9) 0%, rgba(12,13,17,.55) 50%, rgba(12,13,17,.2) 100%), linear-gradient(180deg, rgba(12,13,17,.1) 0%, rgba(12,13,17,.8) 100%); }
.tw-b-emkopf > .tw-sf-hero { position: relative; z-index: 1; }
.tw-sf-hero.em .tw-sf-kick { margin-bottom: 8px; }
.tw-sf-hero.em .tw-sf-titel { font-size: 26px; line-height: 32px; font-weight: 700; text-shadow: none; }
.tw-sf-hero.em .tw-sf-unter { margin-top: 4px; font-size: 13px; line-height: 18px; }
.tw-sf-hero.em .tw-sf-fuss { margin-top: 16px; }
.tw-b-emkopf .tw-b-emabsage { color: var(--gold2); overflow-wrap: anywhere; }  /* TZ NAHT-5 */
.tw-b-emab { display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.tw-b-emz { display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 10px 12px;
    border-radius: 10px; background: var(--w03); min-width: 0; }
.tw-b-emz .k { font: 500 12px/16px var(--font-brand); color: var(--w45); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-b-emz .paar { display: flex; align-items: center; gap: 10px; min-width: 0; flex-wrap: wrap; }
.tw-b-emz .s { display: inline-flex; align-items: center; gap: 8px; min-width: 0; }
.tw-b-emz .n { font: 600 13px/16px var(--font-brand); color: var(--w100); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tw-b-emz .s.leer .n { color: var(--w45); font-weight: 500; }
.tw-b-emz .vs { font: 500 11px/14px var(--font-brand); color: var(--w45); }
.tw-b-emr { display: flex; justify-content: space-between; gap: 12px; padding: 10px 12px; border-bottom: 1px solid var(--w06);
    font: 500 13px/17px var(--font-brand); color: var(--w100); }
.tw-b-emgr { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 22px; }
.tw-b-em .tw-b-baum { margin: 0; padding: 12px 0 6px; }
.tw-b-em .tw-b-spalte { width: 200px; flex-basis: 200px; }
.tw-b-em .tw-b-spalte + .tw-b-spalte { margin-left: 40px; }
.tw-b-em .tw-b-dop-r { margin-left: 40px; flex-basis: 200px; }
.tw-b-emfuss { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 16px; border-top: 1px solid var(--w08); flex-wrap: wrap; }
.tw-b-emfuss .tw-link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }
.tw-b-emmarke { font: 600 12px/15px var(--font-brand); letter-spacing: .4px; color: var(--w45); }
@media (max-width: 520px) {
    body.tw-b-embed { padding: 8px; }
    .tw-b-em { padding: 14px; }
    .tw-b-emkopf { margin: -14px -14px 0; padding: 14px 14px 0; }
    .tw-b-emkopf.mit-bild { padding-top: 56px; }
    .tw-sf-hero.em .tw-sf-titel { font-size: 22px; line-height: 28px; }
    .tw-b-emz { grid-template-columns: minmax(0, 1fr) auto; }
    .tw-b-emz .k { grid-column: 1 / -1; }
}

/* Geruest vor dem Start (19.10.2026, Figma 393:23071): Plan ohne Teams — gestrichelt wie .tw-b-p.offen */
.tw-b-plan { border: 1px dashed var(--w14); border-radius: 10px; padding: 14px; font: 400 13px/18px var(--font-brand); color: var(--w45); }
.tw-b-sw.plan { grid-template-columns: minmax(0, 1fr); }
.tw-b-swbox.plan { border-style: dashed; border-color: var(--w14); gap: 4px; }
.tw-b-vs { display: flex; align-items: center; gap: 24px; padding: 18px 24px; border: 1px solid var(--w08); border-radius: 12px; background: var(--w03); }
.tw-b-vs .l { display: flex; flex-direction: column; gap: 4px; flex: none; }
.tw-b-vs .l b { font: 600 15px/20px var(--font-brand); color: var(--w100); }
.tw-b-vs p { flex: 1 1 auto; margin: 0; color: var(--w70); }
.tw-b-vs .r { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; flex: none; }
.tw-b-vs .r .tw-zahl { font: 600 15px/20px var(--font-brand); color: var(--w100); }
@media (max-width: 600px) {
    .tw-b-vs { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px 16px; }
    .tw-b-vs .r { flex-direction: row; align-items: baseline; gap: 6px; }
}

/* ── Swiss/Gruppen/Liga = Aushang + Bordkarten + Route (BAUPLAN-TICKET TK5, Figma S-F 525:45590 F-1…F-10 + Spec 531:46584) ──
   Drei Materialien: Papier nur fuer Tabellen (Creme wie „The fine print“, Tinte, gedruckte Raenge), Partien als Bordkarten (dunkel,
   Kerben AUSGESTANZT per Maske, Abschnitt in Zustandsfarbe), Route dunkel (Toepfe in Klappblaettern, Linien). Keine Pillen, keine
   Kaesten mit runden Ecken. Barlow Condensed nur fuer Klappblaetter, Raenge, Leiste, Spaltenkoepfe (BRAND-Ausnahme wie die Abflugtafel).
   Breiten: ≥ 1113 Aushang 520 | rechts 620 · 761–1112 420 | 556 · ≤ 760 eine Spalte (Karte → Leiste → Runde → Route → Aushang). */
.tw-b5 { --b5-tafel: 'Barlow Condensed', var(--font-brand); --b5-papier: #efe9dc; --b5-tinte: #1d1c22; --b5-gold: #9a6a12;
    --b5-gruen: #b6e07a; --b5-gruen-p: #2f7d3a; --b5-rot: #c2453d; --b5-amber: #e8b450; --b5-violett: #8b6cff; --b5-karte: #17181d;
    --c1: 300px; --c2: 96px; --c3: 84px; --c4: 101px; --kr: 7px;
    display: flex; flex-direction: column; gap: 28px; min-width: 0; }
.tw-b5 .tw-logo.s16 { --gr: 16px; border-radius: 4px; }
.tw-b5-kicker { font: 700 12px/15px var(--font-brand); letter-spacing: .16em; text-transform: uppercase; color: var(--violett-text); }
.tw-b5-kicker.gruen { color: var(--b5-gruen); }
.tw-b5-kopf { display: flex; flex-direction: column; gap: 8px; }
.tw-b5-kopf h2 { margin: 0; font: 800 40px/46px var(--font-brand); letter-spacing: -.02em; color: var(--w100); }
.tw-b5-kopf p { margin: 0; font: 400 15px/21px var(--font-brand); color: var(--w55); }
/* Phasen-Reiter: Unterstrich, laufend Punkt, fertig Haken, kommende Phase mit Zeit */
.tw-b5-reiter { display: flex; gap: 28px; border-bottom: 1px solid var(--w08); overflow-x: auto; scrollbar-width: none; }
.tw-b5-reiter button { display: inline-flex; align-items: baseline; gap: 7px; padding: 0 2px 12px; border: 0; background: none; cursor: pointer;
    font: 600 15px/19px var(--font-brand); color: var(--w55); white-space: nowrap; box-shadow: inset 0 -2px 0 transparent; }
.tw-b5-reiter button[aria-pressed="true"] { color: var(--w100); box-shadow: inset 0 -2px 0 var(--violett); }
.tw-b5-reiter button small { font: 400 12px/15px var(--font-brand); color: var(--w45); }
.tw-b5-reiter .p, .tw-b5-leiste .p { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--b5-gruen); align-self: center; }
.tw-b5-reiter svg { align-self: center; color: var(--w55); }
.tw-b5-rumpf { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 620px); grid-template-areas: "links rechts";
    justify-content: space-between; gap: 40px; align-items: start; }
.tw-b5-links { grid-area: links; min-width: 0; padding-top: 14px; }
.tw-b5-rechts { grid-area: rechts; display: flex; flex-direction: column; gap: 18px; min-width: 0; }

/* Aushang (Papier) */
.tw-b5-aushang { position: relative; padding: 26px 26px 18px; background: var(--b5-papier); color: var(--b5-tinte); transform: rotate(-1deg);
    box-shadow: 0 22px 40px rgba(0, 0, 0, .5), 0 2px 0 rgba(0, 0, 0, .25); }
.tw-b5-aushang .kick { display: block; font: 600 12px/14px var(--b5-tafel); letter-spacing: .16em; text-transform: uppercase; color: rgba(29, 28, 34, .6); }
.tw-b5-aushang h3 { margin: 6px 0 16px; font: 800 26px/30px var(--font-brand); letter-spacing: -.01em; color: var(--b5-tinte); }
.tw-b5-aushang .az { position: relative; display: grid; grid-template-columns: 42px minmax(0, 1fr) repeat(var(--sp, 2), 52px); align-items: center;
    min-height: 35px; border-bottom: 1px dashed rgba(29, 28, 34, .16); }
.tw-b5-aushang .az.kopf { min-height: 24px; border-bottom: 0; font: 600 11px/14px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase;
    color: rgba(29, 28, 34, .55); }
.tw-b5-aushang .az.kopf .r, .tw-b5-aushang .az.kopf .w { font: inherit; color: inherit; }
.tw-b5-aushang .r { font: 600 21px/1 var(--b5-tafel); color: var(--b5-tinte); }
.tw-b5-aushang .az.gold .r { color: var(--b5-gold); }
.tw-b5-aushang .t { display: flex; align-items: center; gap: 9px; min-width: 0; font: 600 15px/19px var(--font-brand); }
.tw-b5-aushang .t .n, .tw-b5-aushang mark { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tw-b5-aushang .pk { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: rgba(29, 28, 34, .35); }
.tw-b5-aushang mark { background: linear-gradient(100deg, rgba(124, 92, 255, 0) 0, rgba(124, 92, 255, .32) 4%, rgba(124, 92, 255, .32) 96%, rgba(124, 92, 255, 0) 100%);
    color: var(--b5-tinte); padding: 1px 6px; margin-left: -6px; }
.tw-b5-aushang em.du { display: inline-flex; align-items: center; gap: 4px; flex: 0 0 auto; font: 600 14px/1 var(--b5-tafel); font-style: normal;
    letter-spacing: .04em; color: #5b3fe0; }
.tw-b5-pl { width: 14px; height: 9px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tw-b5-aushang .w { text-align: right; font: 600 19px/1 var(--b5-tafel); color: var(--b5-tinte); }
.tw-b5-aushang .w.w-bh, .tw-b5-aushang .w.w-sp { font-weight: 400; color: rgba(29, 28, 34, .5); }
.tw-b5-aushang .az.raus .r, .tw-b5-aushang .az.raus .t, .tw-b5-aushang .az.raus .w { color: rgba(29, 28, 34, .42); }
.tw-b5-aushang .az.dq .t .n { text-decoration: line-through; }
.tw-b5-aushang .az.leer .leer { display: block; width: 62%; height: 1px; margin-top: 10px; background: rgba(29, 28, 34, .3); }
.tw-b5-aushang .az.leer .r { color: rgba(29, 28, 34, .38); }
.tw-b5-schnitt { display: flex; align-items: center; gap: 8px; margin: 9px 0; color: var(--b5-gruen-p); font: 600 12px/14px var(--b5-tafel);
    letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.tw-b5-schnitt::before, .tw-b5-schnitt::after { content: ""; border-top: 1.5px dashed currentColor; }
.tw-b5-schnitt::before { flex: 0 0 22px; }
.tw-b5-schnitt::after { flex: 1 1 auto; }
.tw-b5-schnitt span { overflow: hidden; text-overflow: ellipsis; }
.tw-b5-aushang .fuss { margin: 14px 0 0; font: 400 12px/16px var(--font-brand); color: rgba(29, 28, 34, .6); }
.tw-b5-stempel { position: absolute; left: 63%; top: 50%; z-index: 1; transform: translate(-50%, -50%) rotate(-7deg); padding: 2px 10px;
    border: 2px solid currentColor; font: 600 15px/1.15 var(--b5-tafel); letter-spacing: .22em; text-transform: uppercase; white-space: nowrap;
    pointer-events: none; opacity: .86; mix-blend-mode: multiply; }
.tw-b5-stempel.s-gruen { color: var(--b5-gruen-p); }
.tw-b5-stempel.s-rot { color: var(--b5-rot); }
.tw-b5-stempel.gross { left: 58%; top: 50%; padding: 4px 16px; border-width: 3px; font-size: 30px; transform: translate(-50%, -50%) rotate(-8deg); }
/* Gruppen: vier kleine Aushaenge, jeder etwas anders angepinnt */
.tw-b5-links.gruppen { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 18px; align-content: start; }
.tw-b5-aushang.klein { padding: 16px 16px 14px; transform: rotate(-1.5deg); }
.tw-b5-links.gruppen .tw-b5-aushang:nth-child(2) { transform: rotate(1.2deg); }
.tw-b5-links.gruppen .tw-b5-aushang:nth-child(3) { transform: rotate(.8deg); }
.tw-b5-links.gruppen .tw-b5-aushang:nth-child(4) { transform: rotate(-1deg); }
.tw-b5-aushang.klein h3 { margin: 2px 0 8px; font-size: 18px; line-height: 22px; }
.tw-b5-aushang.klein .kick { font-size: 11px; }
.tw-b5-aushang.klein .az { grid-template-columns: 28px minmax(0, 1fr) repeat(var(--sp, 2), 40px); min-height: 27px; }
.tw-b5-aushang.klein .r { font-size: 16px; }
.tw-b5-aushang.klein .t { font-size: 12px; gap: 6px; }
.tw-b5-aushang.klein .w { font-size: 15px; }
.tw-b5-aushang.klein em.du { display: none; }      /* Gruppen: nur der Textmarker (F-8), sonst fehlt der Name */
.tw-b5-aushang.klein mark { margin-left: -4px; padding: 1px 4px; }
.tw-b5-aushang.klein .tw-b5-schnitt { margin: 5px 0; font-size: 10px; }
.tw-b5-aushang.klein .tw-b5-stempel { font-size: 10px; padding: 1px 5px; left: 70%; letter-spacing: .16em; }
.tw-b5-fuss { grid-column: 1 / -1; margin: 6px 0 0; font: 400 12px/16px var(--font-brand); color: var(--w45); }

/* Grosse Bordkarte (deine Partie · dein Team · Vorschau): Kerben ausgestanzt, Abschnitt mit EINER Aktion */
.tw-b5-ueber { font: 700 12px/15px var(--font-brand); letter-spacing: .14em; text-transform: uppercase; color: var(--violett-text); }
/* Huelle: schraeg angepinnt (breit), traegt den EINEN Knopf — breit unten im Abschnitt, ≤ 760 voll unter der Karte */
.tw-b5-gkw { position: relative; margin: -4px 4px 6px; transform: rotate(-1.2deg); }
.tw-b5-gkw.vs { transform: none; }
.tw-b5-gk { --kr: 11px; display: grid; grid-template-columns: minmax(0, 1fr) 140px; min-height: 132px;
    filter: drop-shadow(0 14px 22px rgba(0, 0, 0, .5)); }
.tw-b5-gkw.mit-knopf .tw-b5-gk .a { padding-bottom: 62px; }
.tw-b5-gk-knopf { position: absolute; right: 0; bottom: 18px; width: 140px; display: flex; justify-content: center; z-index: 1; }
.tw-b5-gk .h, .tw-b5-gk .a, .tw-b5-k .h, .tw-b5-k .a { box-sizing: border-box; min-width: 0;
    -webkit-mask-composite: source-in; mask-composite: intersect; }
.tw-b5-gk .h, .tw-b5-k .h {
    -webkit-mask: radial-gradient(circle var(--kr) at 100% 0, #0000 97%, #000), radial-gradient(circle var(--kr) at 100% 100%, #0000 97%, #000);
    mask: radial-gradient(circle var(--kr) at 100% 0, #0000 97%, #000), radial-gradient(circle var(--kr) at 100% 100%, #0000 97%, #000);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
.tw-b5-gk .a, .tw-b5-k .a {
    -webkit-mask: radial-gradient(circle var(--kr) at 0 0, #0000 97%, #000), radial-gradient(circle var(--kr) at 0 100%, #0000 97%, #000);
    mask: radial-gradient(circle var(--kr) at 0 0, #0000 97%, #000), radial-gradient(circle var(--kr) at 0 100%, #0000 97%, #000);
    -webkit-mask-composite: source-in; mask-composite: intersect; }
.tw-b5-gk .h { display: flex; flex-direction: column; justify-content: center; gap: 8px; padding: 18px 22px; background: #191832;
    border: 1px solid rgba(124, 92, 255, .5); border-right: 0; }
.tw-b5-gk .kick { font: 700 10px/12px var(--font-brand); letter-spacing: .16em; text-transform: uppercase; color: var(--violett-text); }
.tw-b5-gk .z, .tw-b5-gk .ti { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tw-b5-gk .z b { font: 800 18px/22px var(--font-brand); text-transform: uppercase; color: var(--w100); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b5-gk .z.du b { color: var(--violett-text); }
.tw-b5-gk .z .lg, .tw-b5-k .z .lg { flex: 0 0 auto; width: 16px; height: 16px; border: 1px dashed rgba(255, 255, 255, .3); border-radius: 3px; box-sizing: border-box; }
.tw-b5-gk .z .lg { width: 24px; height: 24px; }
.tw-b5-gk .ti { font: 800 20px/24px var(--font-brand); color: var(--w100); }
.tw-b5-gk .un, .tw-b5-gk .zus { font: 400 12px/16px var(--font-brand); color: var(--w55); }
.tw-b5-gk .a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; padding: 14px 10px;
    text-align: center; background: linear-gradient(180deg, #7c5cff, #4b2fd6); color: #fff; }
.tw-b5-gk .a::before, .tw-b5-k .a::before { content: ""; position: absolute; left: 0; top: var(--kr); bottom: var(--kr);
    border-left: 1.5px dashed rgba(255, 255, 255, .35); }
.tw-b5-gk .a .l { font: 700 9px/11px var(--font-brand); letter-spacing: .16em; text-transform: uppercase; opacity: .8; }
.tw-b5-gk .a .g { font: 600 40px/1 var(--b5-tafel); letter-spacing: .02em; text-transform: uppercase; }
.tw-b5-gk .a .u { font: 500 11px/14px var(--font-brand); opacity: .85; }
.tw-b5-gk-knopf .tw-btn { height: 36px; padding: 0 14px; border-radius: 8px; font: 600 13px/1 var(--font-brand);
    background: #0b0b0e; border: 1px solid #0b0b0e; color: #fff; }
.tw-b5-gk-knopf .tw-btn:hover { background: #000; border-color: #000; }
.tw-b5-gk.a-amber .h { background: #1d1a14; border-color: rgba(201, 149, 46, .55); }
.tw-b5-gk.a-amber .kick { color: var(--b5-amber); }
.tw-b5-gk.a-amber .a { background: linear-gradient(180deg, #c9952e, #7d5a14); }
.tw-b5-gk.a-gruen .h { background: #172012; border-color: rgba(106, 154, 42, .55); }
.tw-b5-gk.a-gruen .kick { color: var(--b5-gruen); }
.tw-b5-gk.a-gruen .z.du b { color: var(--w100); }
.tw-b5-gk.a-gruen .a { background: linear-gradient(180deg, #6a9a2a, #3a5a14); }
.tw-b5-gk.a-grau .h { background: var(--b5-karte); border-color: var(--w08); }
.tw-b5-gk.a-grau .kick { color: var(--w45); }
.tw-b5-gk.a-grau .z.du b { color: var(--w70); }
.tw-b5-gk.a-grau .a { background: #2a2b31; color: var(--w70); }
.tw-b5-gk.a-plan .h { background: rgba(255, 255, 255, .02); border: 1px dashed rgba(255, 255, 255, .22); border-right: 0; }
.tw-b5-gk.a-plan .kick { color: var(--w45); }
.tw-b5-gk.a-plan .a { background: rgba(255, 255, 255, .02); border: 1px dashed rgba(255, 255, 255, .22); border-left: 0; color: var(--w100); }
.tw-b5-gk.vs { filter: none; }
.tw-b5-gk .cd, .tw-b5-k .g.kl, .tw-b5 .kl { display: inline-flex; align-items: center; gap: 2px; perspective: 200px; }
.tw-b5 .kl i { position: relative; display: inline-flex; align-items: center; justify-content: center; width: 12px; height: 18px; box-sizing: border-box;
    border-radius: 2px; background: linear-gradient(180deg, #24252b, #0f1013); font: 600 14px/1 var(--b5-tafel); font-style: normal; color: var(--w100); }
.tw-b5 .kl i::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: rgba(0, 0, 0, .75); }
.tw-b5 .kl em { font: 600 13px/1 var(--b5-tafel); font-style: normal; color: var(--w55); margin: 0 1px; }
.tw-b5 .kl em.lz { width: 4px; }
.tw-b5 .kl i.neu { animation: bk-klapp 420ms cubic-bezier(.3, .7, .4, 1) both; animation-delay: calc(var(--n, 0) * 60ms); }
.tw-b5-gk .cd i { width: 16px; height: 24px; font-size: 19px; }
/* Countdown/Abflug im 68-px-Abschnitt der kompakten Karte: kleinere Blaetter, sonst laeuft „54:59“ aus dem Abschnitt */
.tw-b5-k .a .kl { gap: 1px; }
.tw-b5-k .a .kl i { width: 10px; height: 16px; font-size: 12.5px; }
.tw-b5-k .a .kl em { margin: 0; font-size: 11px; }
.tw-b5-akt { margin: -6px 0 0; font: 400 13px/18px var(--font-brand); color: var(--w55); }
.tw-b5-neben { display: flex; gap: 16px; flex-wrap: wrap; margin-top: -8px; }
.tw-b5-hinweis { margin: -4px 0 0; padding-left: 12px; border-left: 3px solid var(--b5-amber); font: 400 13px/18px var(--font-brand); color: var(--w70); }

/* Leiste: Runden/Spieltage + Umschalter */
.tw-b5-leiste { display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--w08); min-width: 0; }
.tw-b5-leiste .r { display: flex; align-items: center; gap: 20px; flex: 1 1 auto; min-width: 0; overflow-x: auto; scrollbar-width: none; }
.tw-b5-leiste .r::-webkit-scrollbar { display: none; }
.tw-b5-leiste .vor { font: 600 14px/18px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--w45); padding-bottom: 10px; }
.tw-b5-leiste .r button { display: inline-flex; align-items: center; gap: 5px; padding: 0 1px 10px; border: 0; background: none; cursor: pointer; white-space: nowrap;
    font: 600 15px/18px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--w55); box-shadow: inset 0 -2px 0 transparent; }
.tw-b5-leiste .r button.aus { color: var(--w25); }
.tw-b5-leiste .r button[aria-pressed="true"] { color: var(--w100); box-shadow: inset 0 -2px 0 var(--violett); }
.tw-b5-leiste .r button svg { color: var(--w45); }
.tw-b5-leiste .um { flex: 0 0 auto; padding: 0 0 10px; border: 0; background: none; cursor: pointer; white-space: nowrap;
    font: 600 14px/18px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--violett-text); }
.tw-b5-leiste button:focus-visible, .tw-b5-reiter button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Kompakte Bordkarte (Partie) */
.tw-b5-k { --kr: 7px; display: grid; grid-template-columns: minmax(0, 1fr) 68px; min-height: 60px; width: 100%; padding: 0; border: 0; background: none;
    color: inherit; text-align: left; cursor: pointer; font: inherit; filter: drop-shadow(0 6px 10px rgba(0, 0, 0, .35)); }
.tw-b5-k .h { display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 10px 12px; background: var(--b5-karte);
    border: 1px solid var(--w08); border-right: 0; }
.tw-b5-k.du .h { border-color: rgba(124, 92, 255, .55); }
.tw-b5-k .z { display: flex; align-items: center; gap: 8px; min-width: 0; }
.tw-b5-k .z b { flex: 1 1 auto; min-width: 0; font: 800 12px/15px var(--font-brand); text-transform: uppercase; letter-spacing: .02em; color: var(--w100);
    white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b5-k .z.du b { color: var(--violett-text); }
.tw-b5-k .z.verl b, .tw-b5-k .z.verl em { color: var(--w45); }
.tw-b5-k .z.leer b { color: var(--w45); font-weight: 600; }
.tw-b5-k .z em { font: 600 15px/1 var(--b5-tafel); font-style: normal; color: var(--w100); }
.tw-b5-k .a { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; padding: 6px 4px;
    text-align: center; background: #22242b; color: var(--b5-gruen); }
.tw-b5-k .a .l { font: 700 7.5px/9px var(--font-brand); letter-spacing: .16em; text-transform: uppercase; color: rgba(255, 255, 255, .62); white-space: nowrap; }
.tw-b5-k .a .g { font: 600 19px/1 var(--b5-tafel); letter-spacing: .02em; text-transform: uppercase; white-space: nowrap; }
.tw-b5-k .a .u { font: 500 8.5px/10px var(--font-brand); color: rgba(255, 255, 255, .62); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.tw-b5-k.a-live .a { background: linear-gradient(180deg, #54b8a8, #2b7a6e); color: #fff; }
.tw-b5-k.a-live .a .l, .tw-b5-k.a-live .a .u { color: rgba(255, 255, 255, .8); }
.tw-b5-k.a-amber .a { background: #2a2416; color: var(--b5-amber); }
.tw-b5-k.a-fertig .a { background: #1a1b20; color: var(--w100); }
.tw-b5-k.a-plan .a { color: var(--w70); }
.tw-b5-k.plan { cursor: default; filter: none; }
.tw-b5-k.plan .h { background: rgba(255, 255, 255, .015); border: 1px dashed rgba(255, 255, 255, .2); border-right: 0; }
.tw-b5-k.plan .a { background: rgba(255, 255, 255, .015); border: 1px dashed rgba(255, 255, 255, .2); border-left: 0; }
.tw-b5-k.an .kp { font: 700 8.5px/10px var(--font-brand); letter-spacing: .14em; text-transform: uppercase; color: var(--w45); }
button.tw-b5-k:hover .h { background: #1d1f26; }
button.tw-b5-k:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.tw-b5-verweis { display: flex; align-items: center; min-height: 30px; padding: 0 12px; border: 1px dashed rgba(139, 108, 255, .6);
    font: 600 13px/16px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--violett-text); }
.tw-b5-verweis span { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b5-leiste .kurz, .tw-b5-leiste .kurz2 { display: none; }
.tw-b5-verweis.amber { border-color: rgba(232, 180, 80, .6); color: var(--b5-amber); }

/* Toepfe + Runden */
.tw-b5 .tk { display: flex; align-items: center; gap: 8px; min-width: 0; }
.tw-b5 .tk .wl i { width: 14px; height: 20px; font-size: 16px; }
.tw-b5 .tk .info, .tw-b5 .tk .rn { font: 400 11px/14px var(--font-brand); color: var(--w45); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b5 .tk .rn { font: 600 11px/14px var(--b5-tafel); letter-spacing: .08em; color: var(--w55); }
.tw-b5 .tk .du { font: 600 12px/14px var(--b5-tafel); letter-spacing: .06em; color: var(--violett-text); }
.tw-b5 .tk.gr b { font: 600 14px/18px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase; color: var(--w55); }
.tw-b5-runde { display: flex; flex-direction: column; gap: 14px; }
.tw-b5-runde .rk, .tw-b5 .sk { display: flex; flex-direction: column; gap: 2px; }
.tw-b5-runde .rk { flex-direction: row; flex-wrap: wrap; gap: 0 10px; }
.tw-b5-runde .rk b, .tw-b5 .sk b { font: 600 15px/18px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--w100); }
.tw-b5-runde .rk span, .tw-b5 .sk span { font: 600 13px/16px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--w45); }
.tw-b5-runde .rk span::before { content: "· "; }
.tw-b5 .t-live, .tw-b5 .t-jetzt { color: var(--b5-gruen) !important; }
.tw-b5-runde .tp { display: flex; flex-direction: column; gap: 10px; }
.tw-b5-runde .raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 13px; }
.tw-b5-frei, .tw-b5-leg { margin: 0; font: 400 12px/16px var(--font-brand); color: var(--w45); }
.tw-b5-naechster { margin: 4px 0 0; font: 600 14px/18px var(--b5-tafel); letter-spacing: .1em; text-transform: uppercase; color: var(--w55); }
.tw-b5-ankunft { display: flex; flex-direction: column; gap: 12px; margin-top: 8px; }
.tw-b5-ankunft .raster { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 13px; }

/* Route (kompakt · ganz · 430 senkrecht) */
.tw-b5-route { position: relative; }
.tw-b5-linien { position: absolute; left: 0; top: 0; pointer-events: none; overflow: visible; z-index: 0; }
.tw-b5-linien path { fill: none; stroke-width: 1.3; stroke-linecap: round; }
.tw-b5-linien .nl path { stroke: rgba(255, 255, 255, .2); }
.tw-b5-linien .sg path { stroke: rgba(182, 224, 122, .5); }
.tw-b5-linien .du path { stroke: var(--b5-violett); stroke-width: 2.5; }
.tw-b5-linien path.o { stroke-dasharray: 4 4; }
.tw-b5-route .sp, .tw-b5-route .zl, .tw-b5-route .tp { position: relative; z-index: 1; }
.tw-b5-route.k { display: flex; gap: 13px; align-items: stretch; }
.tw-b5-route.k .sp { display: flex; flex-direction: column; gap: 14px; flex: 0 0 var(--c2); min-width: 0; }
.tw-b5-route.k .sp.jetzt { flex-basis: var(--c1); }
.tw-b5-route.k .sp.spaeter { flex-basis: var(--c3); }
.tw-b5-route.k .sp.ziel { flex: 1 1 var(--c4); }
.tw-b5-route.k .sp.jetzt .tp { display: flex; flex-direction: column; gap: 8px; margin-bottom: 8px; }
.tw-b5-route.k .karten { display: flex; flex-direction: column; gap: 8px; }
.tw-b5-route .toepfe { display: flex; flex-direction: column; justify-content: space-around; gap: 12px; flex: 1 1 auto; }
.tw-b5-route .tp.mini { align-self: flex-start; padding: 3px 0; }
/* Design-QoL T5: Route-Labels mindestens 12 px (Topf-Info „8 matches“, Runde „R3“) — auch im Live-Fall */
.tw-b5-route .tk .info, .tw-b5-route .tk .rn { font-size: 12px; line-height: 15px; }
.tw-b5-route .sp.spaeter .tp.mini .tk { gap: 5px; }
.tw-b5-route .gates { display: flex; flex-direction: column; justify-content: space-between; gap: 24px; flex: 1 1 auto; }
.tw-b5-route .gt { display: flex; flex-direction: column; gap: 6px; }
.tw-b5-route .gn { font: 600 15px/18px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: var(--b5-gruen); }
.tw-b5-route .g-raus .gn { color: #e0605a; }
.tw-b5-route .gr { display: flex; align-items: center; gap: 6px; min-height: 18px; }
.tw-b5-route .gr .wl { flex: 0 0 26px; font: 600 13px/1 var(--b5-tafel); color: var(--w70); white-space: nowrap; }
.tw-b5-route .gr .pl { display: flex; flex-wrap: wrap; gap: 3px; }
.tw-b5-route .gr .frei { display: block; width: 16px; height: 16px; box-sizing: border-box; border: 1px dashed rgba(255, 255, 255, .3); border-radius: 3px; }
.tw-b5-voll { display: flex; flex-direction: column; gap: 6px; }
.tw-b5-voll h3 { margin: 0 0 14px; font: 800 28px/34px var(--font-brand); color: var(--w100); }
.tw-b5-route.v { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(150px, 1fr); gap: 28px; align-items: stretch; overflow-x: auto;
    padding-bottom: 6px; scrollbar-width: thin; }
.tw-b5-route.v .sp { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tw-b5-route.v .tp { display: flex; flex-direction: column; gap: 6px; }
.tw-b5-route.v .rzn { display: flex; flex-direction: column; gap: 4px; }
.tw-b5-route.v .tk { flex-wrap: wrap; row-gap: 2px; }
.tw-b5-route.v .tk .info { white-space: normal; }
.tw-b5-route .rz { display: flex; align-items: center; gap: 5px; padding: 0; border: 0; background: none; cursor: pointer; color: var(--w70); text-align: left; }
.tw-b5-route .rz b { font: 600 13px/16px var(--b5-tafel); letter-spacing: .06em; color: var(--w100); }
.tw-b5-route .rz b.du { color: var(--violett-text); }
.tw-b5-route .rz b.dq { text-decoration: line-through; color: var(--w45); }
.tw-b5-route .rz em { font: 600 13px/16px var(--b5-tafel); font-style: normal; color: var(--b5-gruen); }
.tw-b5-route .rz.t-amber em { color: var(--b5-amber); }
.tw-b5-route .rz .st { font: 600 11px/14px var(--b5-tafel); letter-spacing: .1em; text-transform: uppercase; color: var(--b5-gruen); margin-left: 4px; }
.tw-b5-route .rz .st.t-amber { color: var(--b5-amber); }
.tw-b5-route .rz .st.t-plan { color: var(--w45); }
.tw-b5-route .rz:hover b { text-decoration: underline; }
.tw-b5-route.m { display: flex; flex-direction: column; gap: 26px; }
.tw-b5-route.m .zl { display: flex; flex-direction: column; gap: 10px; }
.tw-b5-route.m .toepfe { flex-direction: row; justify-content: space-around; align-items: flex-start; }
.tw-b5-route.m .tp.mini { align-self: auto; display: flex; flex-direction: column; align-items: center; }
.tw-b5-route.m .tp.mini .tk { flex-direction: column; gap: 3px; }
.tw-b5-route.m .gates { flex-direction: row; justify-content: space-around; }
.tw-b5-ahead { display: flex; flex-direction: column; gap: 6px; scroll-margin-top: 80px; }
.tw-b5-ahead .sa { margin: 0 0 10px; font: 400 13px/18px var(--font-brand); color: var(--w55); }

/* 761–1112: Aushang 420 | rechts 556, Route 260 · 80 · 72 · 108 */
@media (max-width: 1112px) {
    .tw-b5 { --c1: 260px; --c2: 80px; --c3: 72px; --c4: 108px; }
    .tw-b5-rumpf { grid-template-columns: minmax(0, 420px) minmax(0, 556px); gap: 28px; }
    .tw-b5-aushang { padding: 22px 20px 16px; }
    .tw-b5-aushang .az { grid-template-columns: 36px minmax(0, 1fr) repeat(var(--sp, 2), 44px); }
    .tw-b5-aushang h3 { font-size: 23px; line-height: 27px; }
    .tw-b5-gk { grid-template-columns: minmax(0, 1fr) 124px; }
    .tw-b5-gk-knopf { width: 124px; }
    .tw-b5-gk .a .g { font-size: 34px; }
    .tw-b5-links.gruppen { grid-template-columns: minmax(0, 1fr); }
    .tw-b5-leiste .r .lang { display: none; }
    .tw-b5-leiste .r .kurz { display: inline; }
}
/* ≤ 760 (430): eine Spalte — Karte + Knopf voller Breite → Leiste → Runde → Route voraus → Aushang kompakt */
@media (max-width: 760px) {
    .tw-b5 { gap: 22px; }
    .tw-b5-kopf h2 { font-size: 30px; line-height: 36px; }
    .tw-b5-kopf p { font-size: 14px; line-height: 20px; }
    .tw-b5-rumpf { grid-template-columns: minmax(0, 1fr); grid-template-areas: "rechts" "links"; gap: 30px; }
    .tw-b5-links { padding: 0 2px; }
    .tw-b5-links.gruppen { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .tw-b5-aushang { padding: 18px 16px 14px; transform: rotate(-.6deg); }
    .tw-b5-aushang .az { grid-template-columns: 30px minmax(0, 1fr) repeat(var(--sp, 2), 38px); min-height: 32px; }
    .tw-b5-aushang .r { font-size: 18px; }
    .tw-b5-aushang .t { font-size: 14px; }
    .tw-b5-aushang .w { font-size: 16px; }
    .tw-b5-aushang h3 { font-size: 20px; line-height: 24px; }
    .tw-b5-stempel { font-size: 12px; padding: 1px 7px; }
    .tw-b5-stempel.gross { font-size: 22px; }
    .tw-b5-gkw { transform: none; margin: 0 2px 4px; }
    .tw-b5-gk { grid-template-columns: minmax(0, 1fr) 104px; min-height: 112px; transform: rotate(-1.2deg); }
    .tw-b5-gkw.vs .tw-b5-gk { transform: none; }
    .tw-b5-gkw.mit-knopf .tw-b5-gk .a { padding-bottom: 14px; }
    .tw-b5-gk-knopf { position: static; width: auto; margin-top: 16px; }
    .tw-b5-gk-knopf .tw-btn { width: 100%; height: 44px; background: var(--violett-knopf); border-color: var(--violett-knopf); }
    .tw-b5-gk-knopf .tw-btn:hover { background: var(--violett-knopf-hover); border-color: var(--violett-knopf-hover); }
    .tw-b5-gk .h { padding: 14px 14px; }
    .tw-b5-gk .z b { font-size: 15px; line-height: 19px; }
    .tw-b5-gk .a .g { font-size: 30px; }
    .tw-b5-leiste .um .lang { display: none; }
    .tw-b5-leiste .um .kurz2 { display: inline; }
    .tw-b5-leiste { gap: 10px; }
    .tw-b5-leiste .r { gap: 14px; }
    .tw-b5-runde .raster, .tw-b5-ankunft .raster { grid-template-columns: minmax(0, 1fr); }
    .tw-b5-k { min-height: 62px; grid-template-columns: minmax(0, 1fr) 76px; }
}

/* ── K.-o. = Aushang-Plakat (BAUPLAN-TICKET TK6, Figma Entwurf 2 557:47432 P-1…P-16 + Spec 566:47434) ───────────────────
   Papier = Plakat (Tinte, Stempel, Textmarker, Treppe), Partien = Serien AUF dem Papier, Karte dunkel angeklebt (Klebeband),
   Gast = Zettel „Watching live“. Keine Pillen, keine Kaesten mit runden Ecken. Baum: spiegel ≤ 8 Teams (VF links/rechts,
   Finale Mitte unten), einseitig ab 16, doppel = oberer + unterer Baum, Grand Final + Reset rechts. Spalten = Flex mit
   space-around (eine Runde mittig zwischen ihren Zubringern), Linien = SVG aus `kanten`. ≤ 760 = Liste je Runde. */
.tw-b6 { --b6-rot: #b5442f; --b6-teal: #2b7a6e; --b6-sw: 220px; --b6-fw: 300px; --b6-gfw: 264px; --b6-fs: 15px; }
.tw-b6-buehne { position: relative; }
.tw-b6-buehne.mit-karte { padding-top: 76px; }
.tw-b6-oben { position: absolute; top: 0; right: 4px; z-index: 3; width: min(600px, 54%); }
.tw-b6-karte .tw-b5-ueber { display: none; }
.tw-b6-karte .tw-b5-gkw { margin: 0; transform: rotate(1.4deg); }
.tw-b6-karte .tw-b5-gkw::before, .tw-b6-karte .tw-b5-gkw::after, .tw-b6-zettel::before, .tw-b6-zettel::after {
    content: ""; position: absolute; z-index: 3; width: 70px; height: 22px; background: rgba(243, 227, 181, .72); pointer-events: none; }
.tw-b6-karte .tw-b5-gkw::before { right: 100px; top: -10px; transform: rotate(-18deg); }
.tw-b6-karte .tw-b5-gkw::after { right: -18px; top: 32px; transform: rotate(62deg); }
/* Geruest-Karte haengt UEBER dem Papier — deckend, sonst steht weisse Schrift auf Creme (TK5 liegt sie auf dunklem Grund) */
.tw-b6-karte .tw-b5-gk.a-plan .h, .tw-b6-karte .tw-b5-gk.a-plan .a { background: #1b1c21; }
/* Karte: Abschnitt-Farben ueber die TK5-Arten hinaus (live · gold · silber · bronze), Zeilen mit Setzplatz/Bilanz/Stand */
.tw-b5-gk.a-live .a { background: linear-gradient(180deg, #54b8a8, #2b7a6e); }
.tw-b5-gk.a-gold .a { background: linear-gradient(180deg, #f0d27a, #c4962e); color: #1d1c22; }
.tw-b5-gk.a-silber .a { background: linear-gradient(180deg, #d6d9e0, #8f949e); color: #1d1c22; }
.tw-b5-gk.a-bronze .a { background: linear-gradient(180deg, #d79a62, #8a5a2b); }
.tw-b5-gk.a-gold .a::before, .tw-b5-gk.a-silber .a::before { border-left-color: rgba(29, 28, 34, .35); }
.tw-b5-gk.b6 .a .g { font-size: 26px; white-space: nowrap; }
/* Die Karte deckt rechts oben das Plakat ab — Titel + Stempel bleiben links davon */
.tw-b6-buehne.mit-karte .tw-b6-plakat:not(.liste) .ti { max-width: 46%; }
.tw-b5-gk.b6 .z { gap: 10px; }
.tw-b5-gk.b6 .z .i { flex: 0 0 auto; font: 600 14px/1 var(--b5-tafel); font-style: normal; color: var(--w55); }
.tw-b5-gk.b6 .z .st { flex: 0 0 auto; font: 600 17px/1 var(--b5-tafel); font-style: normal; color: var(--w100); }
.tw-b5-gk.b6 .z.raus b { color: var(--w45); }

/* Plakat (Papier) */
.tw-b6-plakat { position: relative; padding: 32px 36px 28px; background: var(--b5-papier); color: var(--b5-tinte); transform: rotate(-.5deg);
    box-shadow: 0 22px 40px rgba(0, 0, 0, .5), 0 2px 0 rgba(0, 0, 0, .25); }
.tw-b6-plakat .kick { display: block; font: 600 14px/17px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase; color: rgba(29, 28, 34, .55); }
.tw-b6-plakat .ti { display: flex; align-items: center; flex-wrap: wrap; gap: 8px 24px; margin: 4px 0 26px; }
.tw-b6-plakat h3 { margin: 0; font: 900 30px/38px var(--font-brand); letter-spacing: -.01em; color: var(--b5-tinte); }
.tw-b6-plakat .fuss { position: relative; z-index: 1; margin: 34px 0 0; font: 400 13px/17px var(--b5-tafel); color: rgba(29, 28, 34, .45); }
.tw-b6-linien { position: absolute; left: 0; top: 0; z-index: 0; pointer-events: none; overflow: visible; }
.tw-b6-linien path { fill: none; stroke-linecap: round; stroke-linejoin: round; }
.tw-b6-linien .fertig path { stroke: rgba(29, 28, 34, .6); stroke-width: 1.6; }
.tw-b6-linien .offen path { stroke: rgba(29, 28, 34, .3); stroke-width: 1.3; stroke-dasharray: 4 4; }
.tw-b6-linien .du path { stroke: rgba(124, 92, 255, .9); stroke-width: 2.5; }
.tw-b6-linien .dukommt path { stroke: rgba(124, 92, 255, .6); stroke-width: 2.5; stroke-dasharray: 4 4; }

/* Serie: Kopf, zwei Zeilen (Setzplatz gold · Teampunkt · Name · Bilanz · Ergebnis), Bo-Kaestchen, EIN Stempel darunter */
.tw-b6-s { position: relative; z-index: 1; display: flex; flex-direction: column; width: 100%; min-width: 0; padding: 0; border: 0;
    background: none; color: inherit; text-align: left; font: inherit; cursor: pointer; }
div.tw-b6-s { cursor: default; }
.tw-b6-s .k { display: flex; gap: 6px; min-height: 14px; overflow: hidden; white-space: nowrap; font: 600 12px/14px var(--b5-tafel);
    letter-spacing: .1em; text-transform: uppercase; color: rgba(29, 28, 34, .55); }
.tw-b6-s .k em { font-style: normal; color: #7c5cff; }
.tw-b6-s .z { display: flex; align-items: center; gap: 6px; height: 28px; min-width: 0; border-bottom: 1px dashed rgba(29, 28, 34, .18); }
.tw-b6-s .sd { flex: 0 0 auto; min-width: 12px; font: 600 18px/1 var(--b5-tafel); color: var(--b5-gold); }
.tw-b6-s .sd:empty { display: none; }
.tw-b6-s .pk, .tw-b6-podest .pk { flex: 0 0 7px; width: 7px; height: 7px; border-radius: 50%; background: rgba(29, 28, 34, .35); }
.tw-b6-s .n, .tw-b6-s mark { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 600 var(--b6-fs)/19px var(--font-brand);
    color: var(--b5-tinte); }
.tw-b6-s mark, .tw-b6-podest mark { padding: 0 4px; margin-left: -4px; background: rgba(184, 168, 255, .6); color: var(--b5-tinte); }
.tw-b6-s .z.leer .n { font: 400 var(--b6-fs)/19px var(--b5-tafel); color: rgba(29, 28, 34, .38); }
.tw-b6-s .bl { flex: 0 0 auto; font: 400 14px/1 var(--b5-tafel); color: rgba(29, 28, 34, .42); }
.tw-b6-s .bl.rot { font-weight: 600; color: var(--b6-rot); }
.tw-b6-s .z { position: relative; }
/* Abstieg (Double, nur du): Marke unter deiner Zeile — der Name behaelt seine Breite */
.tw-b6-s .ab { position: absolute; left: 0; top: calc(100% + 5px); display: inline-flex; align-items: center; gap: 3px; font: 600 11px/1 var(--b5-tafel);
    letter-spacing: .08em; text-transform: uppercase; color: #5b3fe0; white-space: nowrap; }
.tw-b6-pu { width: 8px; height: 10px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.tw-b6-s .e { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 24px; width: 24px; height: 24px; margin-left: auto;
    box-sizing: border-box; font: 600 18px/1 var(--b5-tafel); color: rgba(29, 28, 34, .55); }
.tw-b6-s .e.kreis { border: 1.5px solid rgba(29, 28, 34, .6); border-radius: 50%; color: rgba(29, 28, 34, .85); transform: rotate(-4deg); }
.tw-b6-s .z.raus .n, .tw-b6-s .z.raus mark { color: rgba(29, 28, 34, .45); text-decoration: line-through; }
.tw-b6-s .z.raus .pk { opacity: .4; }
.tw-b6-s.gross .k { min-height: 17px; font-size: 14px; line-height: 17px; }
.tw-b6-s.gross .z { height: 34px; }
.tw-b6-s.gross .n, .tw-b6-s.gross mark, .tw-b6-s.gross .z.leer .n { font-size: 17px; line-height: 22px; }
.tw-b6-s .bo { display: flex; flex-wrap: wrap; gap: 6px 14px; margin-top: 10px; font: 600 12px/14px var(--b5-tafel); letter-spacing: .04em;
    text-transform: uppercase; color: rgba(29, 28, 34, .85); }
.tw-b6-s .bo .g { display: inline-flex; align-items: center; gap: 6px; }
.tw-b6-s .bo .g i { display: inline-flex; align-items: center; justify-content: center; width: 14px; height: 14px; box-sizing: border-box;
    border: 1.2px solid rgba(29, 28, 34, .7); color: var(--b5-tinte); }
.tw-b6-s .bo .g-live { color: var(--b6-teal); }
.tw-b6-s .bo .g-live i { border-color: var(--b6-teal); background: rgba(43, 122, 110, .35); }
.tw-b6-s .bo .g-offen { color: rgba(29, 28, 34, .5); }
.tw-b6-s .bs { margin-top: 4px; font: 400 13px/16px var(--b5-tafel); color: rgba(29, 28, 34, .45); }
button.tw-b6-s:hover .k { color: var(--b5-tinte); }
button.tw-b6-s:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
.tw-b6-st { position: absolute; z-index: 2; padding: 2px 10px; border: 2px solid currentColor; border-radius: 3px; font: 600 13px/1.25 var(--b5-tafel);
    letter-spacing: .18em; text-transform: uppercase; white-space: nowrap; pointer-events: none; opacity: .85; mix-blend-mode: multiply; }
.tw-b6-s > .tw-b6-st { right: 10%; top: calc(100% + 6px); transform: rotate(-7deg); }
.tw-b6-s > .tw-b6-st.r { transform: rotate(6deg); }
.tw-b6-st.s-gruen { color: var(--b5-gruen-p); }
.tw-b6-st.s-rot { color: var(--b6-rot); }
.tw-b6-st.s-teal { color: var(--b6-teal); }
.tw-b6-st.s-tinte { color: var(--b5-tinte); }
.tw-b6-st.s-amber { color: var(--b5-gold); }
.tw-b6-st.kopf { position: static; padding: 4px 12px; font-size: 15px; transform: rotate(4deg); }
.tw-b6-st.champ { left: 50%; bottom: 14px; padding: 3px 12px; font-size: 15px; transform: translateX(-62%) rotate(-8deg); }

/* Baum: Spalten mit space-around — gespiegelt (Finale unten Mitte) · einseitig · doppelt (zwei Baeume + Finale rechts) */
.tw-b6-baum { position: relative; }
.tw-b6-baum .reihe { display: flex; align-items: stretch; gap: 22px; }
.tw-b6-baum .sp { display: flex; flex-direction: column; gap: 14px; flex: 0 1 var(--b6-sw); min-width: 0; }
.tw-b6-baum .sk { min-height: 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 600 13px/16px var(--b5-tafel);
    letter-spacing: .12em; text-transform: uppercase; color: rgba(29, 28, 34, .4); }
.tw-b6-baum .ps { display: flex; flex-direction: column; justify-content: space-around; gap: 22px; flex: 1 1 auto; }
.tw-b6-baum.spiegel .reihe { justify-content: space-between; }
.tw-b6-baum.spiegel .mitte { flex: 1 1 40px; }
.tw-b6-baum.spiegel .fin { position: relative; z-index: 1; width: var(--b6-fw); max-width: 100%; margin: -18px auto 0; }
.tw-b6-baum.einseitig .sp { flex: 1 1 0; }
.tw-b6-baum.doppel { display: grid; grid-template-columns: minmax(0, 1fr) var(--b6-gfw); align-items: center; gap: 0 34px; }
.tw-b6-baum.doppel .baeume { display: flex; flex-direction: column; gap: 22px; min-width: 0; }
.tw-b6-baum.doppel .sp { flex: 1 1 0; }
.tw-b6-baum.doppel .bt, .tw-b6-baum.doppel .trenner { font: 600 15px/18px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase;
    color: rgba(29, 28, 34, .75); }
.tw-b6-baum.doppel .bt { display: block; margin-bottom: 10px; }
.tw-b6-baum.doppel .trenner { display: flex; align-items: center; gap: 12px; margin-top: 8px; }
.tw-b6-baum.doppel .trenner::after { content: ""; flex: 1 1 auto; border-top: 1px dashed rgba(29, 28, 34, .45); }
.tw-b6-baum.doppel .fsp { display: flex; flex-direction: column; gap: 34px; min-width: 0; }
.tw-b6-baum.doppel .fsp .rs { margin: -26px 0 0; font: 400 13px/16px var(--b5-tafel); color: rgba(29, 28, 34, .45); }

/* Podest: Titel mit Schnittlinie, links Platz 3, Mitte Treppe 2–1–3 (Stufe 1 gold, wenn entschieden), rechts Preis */
.tw-b6-podest { position: relative; z-index: 1; margin-top: 52px; }
.tw-b6-podest .pt { display: flex; align-items: center; gap: 10px; font: 600 15px/18px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase;
    color: var(--b5-gruen-p); }
.tw-b6-podest .pt::after, .tw-b6-podest .pt.mitte::before { content: ""; flex: 1 1 auto; border-top: 1px dashed rgba(47, 125, 58, .7); }
.tw-b6-podest .pt span { flex: 0 1 auto; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tw-b6-podest .pr { display: grid; grid-template-columns: minmax(0, 250px) minmax(0, 640px) minmax(0, 230px); justify-content: space-between;
    align-items: end; gap: 24px; margin-top: 30px; }
.tw-b6-podest .p3, .tw-b6-podest .preis { align-self: start; min-width: 0; padding-top: 58px; }
.tw-b6-podest .p3t, .tw-b6-podest .preis .pl { display: block; font: 600 13px/16px var(--b5-tafel); letter-spacing: .14em; text-transform: uppercase;
    color: rgba(29, 28, 34, .5); }
.tw-b6-podest .p3s { display: flex; align-items: center; gap: 6px; margin: 8px 0 0; font: 400 13px/16px var(--b5-tafel); color: rgba(29, 28, 34, .45); }
.tw-b6-pr { flex: 0 0 auto; width: 14px; height: 9px; fill: none; stroke: currentColor; stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.tw-b6-podest .preis b { display: block; margin-top: 6px; font: 900 17px/21px var(--font-brand); color: var(--b5-tinte); }
.tw-b6-podest .preis p { margin: 6px 0 0; font: 500 14px/18px var(--font-brand); color: rgba(29, 28, 34, .65); }
.tw-b6-podest .treppe { position: relative; display: flex; align-items: flex-end; justify-content: center; padding: 0 30px;
    border-bottom: 1.5px solid rgba(29, 28, 34, .7); }
.tw-b6-podest .stufe { display: flex; flex-direction: column; align-items: center; flex: 0 1 170px; min-width: 0; }
.tw-b6-podest .stufe.s1 { flex-basis: 180px; }
.tw-b6-podest .stufe .nm { display: flex; flex-direction: column; align-items: center; gap: 2px; max-width: 100%; min-height: 22px;
    font: 900 17px/22px var(--font-brand); color: var(--b5-tinte); text-align: center; }
.tw-b6-podest .stufe .nm .tn { display: inline-flex; align-items: center; gap: 6px; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tw-b6-podest .stufe.zwei .nm { font-size: 14px; line-height: 18px; }
.tw-b6-podest .stufe .nm .ph { font: 400 17px/22px var(--b5-tafel); color: rgba(29, 28, 34, .38); }
.tw-b6-podest .stufe .un { display: block; width: calc(100% - 24px); margin-top: 6px; padding-top: 4px; border-top: 1px dashed rgba(29, 28, 34, .45);
    overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 400 13px/16px var(--b5-tafel); color: rgba(29, 28, 34, .45); text-align: center; }
.tw-b6-podest .stufe .blk { display: flex; align-items: center; justify-content: center; width: 100%; margin-top: 14px; box-sizing: border-box;
    border: 2px solid rgba(29, 28, 34, .7); border-bottom: 0; }
.tw-b6-podest .stufe .blk b { font: 900 38px/1 var(--font-brand); color: rgba(29, 28, 34, .75); }
.tw-b6-podest .stufe.s1 .blk { height: 130px; background: rgba(243, 227, 181, .95); }
.tw-b6-podest .stufe.s1 .blk b { font-size: 52px; color: var(--b5-tinte); }
.tw-b6-podest .stufe.s2 .blk { height: 90px; }
.tw-b6-podest .stufe.s3 .blk { height: 60px; }
.tw-b6-podest .stufe.gold .blk { background: rgba(233, 196, 106, .85); }

/* Gast-Zettel „Watching live“ (P-7): dunkel, angeklebt */
.tw-b6-zettel { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px 20px; background: #1d1a2e; transform: rotate(1.2deg);
    box-shadow: 0 14px 22px rgba(0, 0, 0, .5); }
.tw-b6-zettel::before { left: -14px; top: -8px; transform: rotate(-24deg); }
.tw-b6-zettel::after { right: -14px; top: -8px; transform: rotate(20deg); }
.tw-b6-zettel .zk { font: 700 10px/12px var(--font-brand); letter-spacing: .16em; text-transform: uppercase; color: var(--violett-text); }
.tw-b6-zettel .zr { display: flex; align-items: center; gap: 10px; min-width: 0; }
.tw-b6-zettel .kz { flex: 0 0 auto; font: 600 16px/1 var(--b5-tafel); color: var(--w70); }
.tw-b6-zettel .pa { display: flex; align-items: center; gap: 8px; flex: 1 1 auto; min-width: 0; }
.tw-b6-zettel .pa b { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font: 900 12px/15px var(--font-brand);
    text-transform: uppercase; color: var(--w100); }
.tw-b6-zettel .pa em { flex: 0 0 auto; font: 600 14px/1 var(--b5-tafel); font-style: normal; color: var(--w45); }
.tw-b6-zettel .zs { flex: 0 0 auto; font: 600 14px/1 var(--b5-tafel); letter-spacing: .06em; text-transform: uppercase; color: var(--w55); }
.tw-b6-zettel .zs.t-live { color: #54b8a8; }
.tw-b6-zettel .zs.t-boarding { color: var(--b5-gruen); }
.tw-b6-zettel .w { flex: 0 0 auto; height: 34px; padding: 0 18px; text-decoration: none; }
.tw-b6-zettel p { margin: 0; font: 500 13px/17px var(--font-brand); color: var(--w55); }

/* „Your route“ (430): Stationen, violett bis Champion */
.tw-b6-route { margin-top: 2px; }
.tw-b6-route .rt { font: 600 12px/14px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: #7c5cff; }
.tw-b6-route ol { display: flex; margin: 12px 0 0; padding: 0; list-style: none; }
.tw-b6-route li { position: relative; display: flex; flex-direction: column; align-items: center; gap: 8px; flex: 1 1 0; min-width: 0;
    font: 600 12px/14px var(--b5-tafel); letter-spacing: .06em; text-transform: uppercase; color: rgba(29, 28, 34, .85); text-align: center; }
.tw-b6-route li i { position: relative; z-index: 1; width: 12px; height: 12px; box-sizing: border-box; border: 2px solid #7c5cff; border-radius: 50%;
    background: var(--b5-papier); }
.tw-b6-route li.a-fertig i { background: #7c5cff; }
.tw-b6-route li.a-live { color: var(--b6-teal); }
.tw-b6-route li.a-live i { border-color: var(--b6-teal); background: var(--b6-teal); }
.tw-b6-route li.a-plan { color: rgba(29, 28, 34, .5); }
.tw-b6-route li:not(:first-child)::before { content: ""; position: absolute; top: 5px; right: 50%; width: 100%; border-top: 2.5px solid #7c5cff; }
.tw-b6-route li.w-kommt::before { border-top-style: dashed; opacity: .6; }
.tw-b6-route li span { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }

/* 761–1112: Plakat = Inhaltsbreite, Spalten 186, Finale 260, Schrift 14, Karte 520 */
@media (max-width: 1112px) {
    .tw-b6 { --b6-sw: 186px; --b6-fw: 260px; --b6-gfw: 230px; --b6-fs: 14px; }
    .tw-b6-oben { width: min(520px, 58%); }
    .tw-b6-buehne.mit-karte .tw-b6-plakat:not(.liste) .ti { max-width: 40%; }
    .tw-b6-plakat h3 { font-size: 26px; line-height: 32px; }
    .tw-b6-plakat { padding: 28px 28px 24px; }
    .tw-b6-baum .reihe { gap: 18px; }
    .tw-b6-podest .pr { grid-template-columns: minmax(0, 190px) minmax(0, 520px) minmax(0, 200px); gap: 16px; }
    .tw-b6-podest .stufe { flex-basis: 140px; }
    .tw-b6-podest .stufe.s1 { flex-basis: 150px; }
    .tw-b6-podest .stufe .nm { font-size: 15px; }
}
/* Plakat als Liste (P-13/P-14/P-16): ≤ 760 oder Behaelter < 880 px (tw-baum.js `b6Schmal`) — darum ohne Media-Query */
.tw-b6-plakat.liste .tw-b6-podest .stufe .nm .tn { white-space: normal; text-align: center; }
.tw-b6-plakat.liste { padding: 22px 20px 20px; transform: rotate(-.6deg); }
.tw-b6-plakat.liste h3 { font-size: 24px; line-height: 30px; }
.tw-b6-plakat.liste .kick { font-size: 12px; line-height: 15px; }
.tw-b6-plakat.liste .ti { margin-bottom: 18px; }
.tw-b6-plakat.liste .lb { display: flex; flex-direction: column; gap: 18px; margin-top: 24px; }
.tw-b6-plakat.liste .lk { font: 600 13px/16px var(--b5-tafel); letter-spacing: .12em; text-transform: uppercase; color: rgba(29, 28, 34, .4); }
.tw-b6-s.li > .tw-b6-st { position: relative; top: auto; right: auto; align-self: flex-end; margin: 10px 8px 0 0; }
.tw-b6-plakat.liste .tw-b6-podest { margin-top: 30px; }
.tw-b6-plakat.liste .tw-b6-podest .pr { grid-template-columns: minmax(0, 1fr); margin-top: 22px; }
.tw-b6-plakat.liste .tw-b6-podest .p3:empty { display: none; }
.tw-b6-plakat.liste .tw-b6-podest .preis { padding-top: 6px; }
.tw-b6-plakat.liste .tw-b6-podest .treppe { padding: 0 6px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe { flex-basis: 104px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe.s1 { flex-basis: 108px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe .nm { font-size: 13px; line-height: 17px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe .un { width: calc(100% - 8px); font-size: 11px; line-height: 14px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe .blk { margin-top: 10px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe.s1 .blk { height: 84px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe.s2 .blk { height: 58px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe.s3 .blk { height: 40px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe .blk b { font-size: 28px; }
.tw-b6-plakat.liste .tw-b6-podest .stufe.s1 .blk b { font-size: 38px; }
.tw-b6-plakat.liste .tw-b6-st.champ { bottom: 8px; font-size: 12px; }
/* ≤ 760 (430): Karte + Knopf → Runden-Leiste → Plakat als Liste (Route, Runde, „Then“, Platz 3, Podest kompakt, Preis) */
@media (max-width: 760px) {
    .tw-b6 { --b6-fs: 14px; }
    .tw-b6-karte .tw-b5-gkw::before { right: 80px; }
    .tw-b6-karte .tw-b5-gkw::after { display: none; }
    .tw-b5-gk.b6 .a .g { font-size: 20px; }
    .tw-b6-zettel { transform: none; }
    .tw-b6-zettel .zr { flex-wrap: wrap; }
    .tw-b6-zettel .pa { flex-basis: calc(100% - 60px); }
}
