/* Theme: jahnhoelle · Seite: mannschaft – erzeugt von theme.php */

/* ----- jahnhoelle/schriften.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – schriften: keine eigenen Schriftdateien.
   jahnhoelle.de verwendet die Systemschrift des Geräts (Segoe UI, San Francisco, Roboto …); die Schriftfamilien stehen
   in variablen.css (--head, --body). Diese Datei muss vorhanden sein – ohne sie nähme theme.php die schriften.css
   aus hbiz und lüde Libre Franklin. */


/* ----- jahnhoelle/variablen.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – variablen: alle Farben, Schriften und Maße der Seiten.
   Farben angelehnt an https://jahnhoelle.de/ (WordPress-Entwurf, GeneratePress), dort ausgelesen am 10.11.2026:
   Kopf Dunkelblau #090087, Menüleiste #0092db, Links #1e73be, Text #222222, Nebentext #575760,
   Linien #b2b2be, helle Flächen #f7f8f9, Gelb #ffe100. Schrift dort: Systemschrift des Geräts.
   Alle Variablen hier müssen in jedem Theme vorhanden sein (gleiche Namen wie in themes/hbiz/variablen.css). */
:root{
  color-scheme:light;

  /* Hauptfarbe Dunkelblau (Kopf und Schaltflächen von jahnhoelle.de) und ihre Abwandlungen.
     Die Namen stammen aus dem Theme hbiz: --blue ist hier die dunkle Hauptfarbe, --blue-dark die hellere Linkfarbe. */
  --blue:#090087;                    /* Überschriften, Rahmen oben, Schaltflächen */
  --blue-dark:#1e73be;               /* Links und kleine Schrift (Linkfarbe von jahnhoelle.de) */
  --blue-hover:#1c12ad;              /* Schaltfläche beim Überfahren (Berichte hochladen) */
  --on-blue:#ffffff;                 /* Schrift auf Dunkelblau */
  --tint:rgba(0,146,219,.10);        /* hellblau getönte Zeilen (z. B. „Ab heute"), aus dem Menü-Blau #0092db */
  --shadow-blue:rgba(9,0,135,.45);   /* Schatten der Kacheln auf der Startseite */

  /* Grundfarben */
  --bg:#fff;                         /* Seiten- und Kastenhintergrund */
  --on-dark:#fff;                    /* Schrift auf dunklen oder farbigen Flächen */
  --ink:#222222; --muted:#575760; --line:#e6e6e6; --line-strong:#b2b2be; --soft:#f7f8f9;
  --unterstrich:rgba(87,87,96,.45);      /* Unterstreichung der Login-Links */

  /* Ergebnisse und Meldungen */
  --win:#1f8a4c;                     /* Sieg: grün */
  --draw:#4d4d4d;                    /* Unentschieden: dunkelgrau */
  --loss:#c62828;                    /* Niederlage, live: rot */
  --open:#e3e6e9; --open-ink:#5c5c5c;   /* noch nicht gespielt: hellgrau */
  --yellow:#ffe100;                  /* gelbe Karte (Gelb von jahnhoelle.de) */
  --ok:#1f8a4c; --err:#c62828; --warn:#8a6100;
  --err-soft:#fdecea;                /* Löschen-Schaltfläche beim Überfahren */

  /* Schatten */
  --shadow-toast:rgba(0,0,0,.5);     /* Hinweis „kopiert" */
  --shadow-tip:rgba(0,0,0,.35);      /* Werte-Fenster in der Statistik-Grafik */
  --shadow-pop:rgba(0,0,0,.14);      /* Login-Fenster */

  /* Schriften: wie jahnhoelle.de die Systemschrift des Geräts – es wird keine Schriftdatei geladen */
  --head:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --body:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --schrift-basis:15px;              /* Grundschriftgröße aller Seiten */

  /* Statistik (admin/statistik.html): eine Farbe pro Mannschaft, fest zugeordnet (geprüfte Kategorie-Palette, wie hbiz) */
  --c-herren1:#2a78d6; --c-herren2:#eb6834; --c-herren3:#1baf7a; --c-damen1:#eda100; --c-damen2:#e87ba4;
  --c-a-jugend:#008300; --c-b-jugend:#6250d6; --c-c-jugend:#e34948; --c-d-jugend:#2a78d6; --c-e-jugend:#eb6834;
  --c-ersatz:#888;                   /* Mannschaft ohne eigene Farbe */
  /* mD und mE haben die Farben von H1 und H2, deshalb gestrichelt: Strich Lücke (leer = durchgezogen);
     „-klein" gilt für die kurzen Linien in Legende und Werte-Fenster */
  --strich-d-jugend:6 5; --strich-d-jugend-klein:5 4;
  --strich-e-jugend:6 5; --strich-e-jugend-klein:5 4;
  --grid:#ececea;                    /* Hilfslinien der Grafik */
  --null:#cfcfcf;                    /* Nullwerte in der Tabelle */
  --diagramm-hoehe:320;              /* Höhe der Grafik in px … */
  --diagramm-hoehe-schmal:240;       /* … auf schmalen Bildschirmen … */
  --diagramm-umbruch:520;            /* … unter dieser Breite in px */
}


/* ----- jahnhoelle/mannschaft.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – mannschaft: die 10 Mannschaftsseiten */
/* Gestaltung angelehnt an jahnhoelle.de: weiß, Dunkelblau #090087, Systemschrift (Aufbau wie Theme hbiz) */
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:var(--schrift-basis);line-height:1.6}
a{color:var(--blue-dark);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:28px 16px 48px;container-type:inline-size}

/* Kopf wie auf der Mannschaftsseite: „Herren I 26/27" + Liga */
.top{margin:0 0 28px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0 20px;align-items:center}
.top .back{grid-column:1/-1;justify-self:start}
.top-logo{display:block;width:150px;height:auto}
.back{display:inline-block;margin:0 0 12px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.club{font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
h1{font-family:var(--head);font-weight:600;font-size:clamp(34px,7vw,55px);line-height:1.05;color:var(--blue);margin:4px 0 2px}
.league{font-family:var(--head);font-weight:600;font-size:clamp(18px,3.4vw,26px);line-height:1.2;color:var(--blue)}

section{margin:0 0 34px;scroll-margin-top:12px}
h2{font-family:var(--head);font-weight:600;font-size:26px;line-height:1.15;color:var(--blue);text-transform:uppercase;
   margin:0 0 12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
h2 small{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.12em;color:var(--muted)}

/* Bilanz: oben vier Kernzahlen in einer Leiste, darunter zwei ruhige Detailfelder */
.summary{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);
         background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--blue)}
.fig{padding:14px 18px 13px;border-left:1px solid var(--line)}
.fig:first-child{border-left:0}
.fig .lbl{display:block;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark)}
.fig .val{display:block;font-family:var(--head);font-weight:700;font-size:34px;line-height:1.15;margin-top:2px;font-variant-numeric:tabular-nums}
.fig .sub{display:block;font-size:12px;color:var(--muted)}

.details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}
.panel{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--blue)}
.panel h3{margin:0;padding:10px 14px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;line-height:1.6;
          color:var(--muted);border-bottom:1px solid var(--line-strong)}
.split th,.split td{text-align:center}
.split th:first-child,.split td:first-child{text-align:left}
.split .ha{margin-right:8px}
.split .ha.blank{visibility:hidden}
.split .s-pts{font-family:var(--head);font-weight:700;font-size:16px}
.split tr.total td{border-top:1px solid var(--line-strong);font-weight:700}
.panel{display:flex;flex-direction:column}
.panel > table{flex:1}
.kv{flex:1;display:grid;grid-template-columns:max-content max-content minmax(0,1fr);margin:0}
.kv > *{margin:0;padding:9px 10px;border-top:1px solid var(--line);display:flex;align-items:center}
.kv > :nth-child(-n+3){border-top:0}
.kv dt{padding-left:14px;font-size:13px;color:var(--muted)}
.kv .v{font-family:var(--head);font-weight:700;font-size:18px;white-space:nowrap;font-variant-numeric:tabular-nums}
.kv .v a{color:inherit}
.kv .m{padding-right:14px;font-size:13px;color:var(--muted)}

/* Verlauf: ein Symbol pro Spiel */
.form{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:6px;
      grid-template-columns:repeat(auto-fill,minmax(38px,1fr))}
.form li{display:grid;place-items:center}
.dot{display:grid;place-items:center;width:100%;max-width:46px;aspect-ratio:1;border-radius:50%;
     font-size:10.5px;font-weight:700;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums;
     color:var(--on-dark);text-decoration:none;transition:transform .15s ease}
.dot:hover,.dot:focus-visible{transform:scale(1.1);text-decoration:none}
.dot:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.dot.S{background:var(--win)} .dot.U{background:var(--draw)} .dot.N{background:var(--loss)}
.dot.open{background:var(--open);color:var(--open-ink)}
.dot.is-next{box-shadow:0 0 0 2px var(--bg),0 0 0 4px var(--blue)}
.legend{display:flex;flex-wrap:wrap;gap:4px 16px;margin-top:10px;font-size:12px;color:var(--muted)}
.legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}
.legend .S{background:var(--win)} .legend .U{background:var(--draw)} .legend .N{background:var(--loss)} .legend .open{background:var(--open)}
.legend .nx{background:var(--bg);box-shadow:0 0 0 2px var(--blue)}

/* Nächstes Spiel */
.next{display:grid;grid-template-columns:auto 1fr auto;gap:10px 18px;align-items:center;padding:14px 16px;
      background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--blue)}
.next .when{text-align:center;line-height:1;border-right:1px solid var(--line);padding-right:16px}
.next .d{display:block;font-family:var(--head);font-weight:700;font-size:38px;font-variant-numeric:tabular-nums}
.next .m{display:block;margin-top:4px;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.next .tier{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark)}
.next .match{font-family:var(--head);font-weight:700;font-size:20px;line-height:1.2;margin:3px 0 4px}
.next .where{font-size:13px;color:var(--muted)}
.next .next-more{margin-top:4px;font-size:13px}
.next-st{margin-top:8px}
.next .until{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;
             background:var(--blue);color:var(--on-blue);padding:5px 10px;border-radius:2px}

/* Tabellen-Grundform */
.box{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--blue);overflow-x:auto}
table{width:100%;border-collapse:collapse;margin:0;font-variant-numeric:tabular-nums}
th{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:left;
   padding:10px 8px;border-bottom:1px solid var(--line-strong);white-space:nowrap}
td{padding:10px 8px;border-top:1px solid var(--line);vertical-align:middle}
tbody tr:first-child td{border-top:0}
th:first-child,td:first-child{padding-left:14px}
th:last-child,td:last-child{padding-right:14px}

/* Spiele */
.games tr{scroll-margin-top:16px}
.games tr:target{outline:2px solid var(--blue);outline-offset:-2px}
.c-nr{color:var(--muted)}
.c-date,.c-time{white-space:nowrap}
.c-date .wd{font-weight:600;color:var(--muted);margin-right:4px}
.c-out{text-align:center}
.team{display:block}
.team.me{font-weight:700}
.res{font-family:var(--head);font-weight:700;font-size:18px;line-height:1.2;white-space:nowrap}
.res .ht{display:block;font-family:var(--body);font-weight:400;font-size:12px;color:var(--muted)}
.hall{font-size:13px;line-height:1.35}
.hall a{color:inherit}
.hall small{display:block;color:var(--muted);font-size:12px}
.ha{display:inline-grid;place-items:center;min-width:24px;height:22px;padding:0 5px;border-radius:2px;font-size:12px;font-weight:800;
    border:1.5px solid var(--blue-dark);color:var(--blue-dark)}
.ha.H{background:var(--blue);border-color:var(--blue);color:var(--on-blue)}
.badge{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:2px;font-weight:800;font-size:14px;color:var(--on-dark)}
.badge.S{background:var(--win)} .badge.U{background:var(--draw)} .badge.N{background:var(--loss)}
tr.is-next{background:var(--tint)}
.tag{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:2px;font-size:10px;font-weight:800;letter-spacing:.1em;
     text-transform:uppercase;vertical-align:middle;background:var(--blue);color:var(--on-blue)}
.tag.late{background:var(--open);color:var(--ink)}
.tag.live{background:var(--loss);color:var(--on-dark)}
.note{display:block;font-size:12px;color:var(--loss)}

/* Tabelle */
.standings th,.standings td{text-align:center}
.standings th:nth-child(2),.standings .t-team{text-align:left}
.standings .t-team{width:100%;line-height:1.3;overflow-wrap:anywhere}
.standings .t-pl{font-weight:800}
.standings .t-pl.same{color:var(--muted);font-weight:400}
.standings .t-num{color:var(--muted)}
.standings .t-goals{white-space:nowrap}
.standings .t-pts{font-family:var(--head);font-weight:700;font-size:17px;white-space:nowrap}
.standings tr.me{background:var(--tint)}
.standings tr.out td,.standings tr.out .t-pts{color:var(--muted);font-weight:400}
.standings .t-out{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.standings tr.me .t-team{font-weight:700}
.standings tr.me .t-pl{color:var(--blue-dark)}
.standings .diff-s{display:none}
.tnote{margin:8px 0 0;font-size:12px;color:var(--muted)}

/* Meldungen, Fußzeile */
.msg{margin:0 0 24px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-left:4px solid var(--blue);font-size:14px}
.msg.err{border-left-color:var(--loss)}
.msg p{margin:0 0 8px}
.msg p:last-child{margin:0}
.foot{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px}
.foot .imp{margin-left:auto}
.toast{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);
       background:var(--ink);color:var(--on-dark);font-size:13px;padding:9px 14px;border-radius:3px;box-shadow:0 6px 20px -8px var(--shadow-toast)}
.btn{font:inherit;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1;display:inline-block;
     background:var(--bg);color:var(--ink);border:1px solid var(--line-strong);border-radius:2px;padding:7px 10px;cursor:pointer}
.btn:hover{border-color:var(--blue-dark);color:var(--blue-dark);text-decoration:none}
.btn[disabled]{opacity:.5;cursor:progress}
/* Spielerstatistik: aufklappbar, Daten aus daten/spieler-<key>.js */
.fold > summary{list-style:none;cursor:pointer;-webkit-user-select:none;user-select:none}
.fold > summary::-webkit-details-marker{display:none}
.fold > summary h2{margin:0}
.fold > summary h2::before{content:"";align-self:center;width:9px;height:9px;margin:0 4px 3px 2px;
  border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg);transition:transform .15s ease}
.fold[open] > summary h2::before{transform:rotate(45deg);margin-bottom:6px}
.fold > summary .hint{font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-dark)}
.fold > summary:hover .hint{text-decoration:underline}
.fold > summary:focus-visible{outline:2px solid var(--blue-dark);outline-offset:4px}
.fold[open] > summary{margin-bottom:12px}
.players th,.players td{text-align:center}
.players th.p-name,.players td.p-name{text-align:left;width:100%}
.players th button{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:5px}
.players th button:focus-visible{outline:2px solid var(--blue-dark);outline-offset:3px}
.players th button::after{content:"";width:0;height:0;border:4px solid transparent;opacity:0}
.players th[aria-sort="descending"] button::after{border-top-color:currentColor;margin-top:4px;opacity:1}
.players th[aria-sort="ascending"] button::after{border-bottom-color:currentColor;margin-bottom:4px;opacity:1}
.players th[aria-sort] {color:var(--blue-dark)}
.players .p-7m,.players .p-q{white-space:nowrap}
.players .p-q{color:var(--muted)}
.players th button{vertical-align:middle;line-height:1.2}
.players .short{display:none}
.players .p-pl{font-weight:600}
.players .p-goals{font-family:var(--head);font-weight:700;font-size:18px;line-height:1.2;white-space:nowrap}
.players .zero{color:var(--line-strong)}
.players tbody tr:nth-child(-n+3) .p-goals{color:var(--blue-dark)}
.players tfoot td{border-top:1px solid var(--line-strong);font-weight:700}
.players tfoot .p-goals{color:var(--ink)}
.kcard{display:inline-block;width:9px;height:12px;border-radius:1.5px;vertical-align:-1px;flex:none}
.kcard.y{background:var(--yellow)} .kcard.r{background:var(--loss)}
@media (prefers-reduced-motion:reduce){.fold > summary h2::before{transition:none}}
@container (max-width:599px){
  .players th,.players td{padding-left:4px;padding-right:4px}
  .players th{letter-spacing:.02em;font-size:10.5px}
  .players th,.players td{padding-left:3px;padding-right:3px}
  .players th button{gap:3px}
  .players th:not([aria-sort]) button::after{display:none}
  .players th .kcard{display:none}
  .players .p-goals{font-size:16px}
  .players td{font-size:14px}
  .players th:first-child,.players td:first-child{padding-left:12px}
  .players th:last-child,.players td:last-child{padding-right:12px}
  .players .long{display:none}
  .players .short{display:inline}
  .players .p-pl{font-size:14px}
}
@container (max-width:379px){
  .players .p-sp{display:none}
  .fold > summary .hint{display:none}
}
@container (max-width:339px){
  .players .p-q{display:none}
}

/* Spielverlauf: Mini-Grafik in „Gespielt", Klick klappt die große Grafik auf */
.played .c-vl{width:1%;padding-top:6px;padding-bottom:6px}
.played:not(.has-vl) .c-vl{display:none}
.spark{all:unset;box-sizing:border-box;cursor:pointer;display:block;width:124px;height:34px;padding:2px 3px;
       border:1px solid transparent;border-radius:2px}
.spark:hover{border-color:var(--line-strong)}
.spark[aria-expanded="true"]{border-color:var(--blue);background:var(--tint)}
.spark:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.spark svg{display:block;width:100%;height:100%;overflow:hidden}
.vl-up{fill:var(--win)} .vl-down{fill:var(--loss)}
.vl-zero{stroke:var(--line-strong);stroke-width:1}
.vl-half{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.vl-grid{stroke:var(--line);stroke-width:1}
.vl-bars rect:hover{opacity:.7}
tr.vl-row td{background:var(--soft);padding:14px 14px 16px;border-top:0}
tr.vl-row:target{outline:none}
.vl-plot{display:grid;grid-template-columns:24px minmax(0,1fr);gap:0 8px}
.vl-y{position:relative;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.vl-y span{position:absolute;right:0;transform:translateY(-50%);line-height:1}
.vl-area{position:relative;height:200px;background:var(--bg);border:1px solid var(--line)}
.vl-area svg{position:absolute;inset:0;width:100%;height:100%}
.vl-team{margin-left:33px;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}
.vl-team.me{margin-bottom:8px;color:var(--win)} .vl-team.opp{margin-top:2px;color:var(--loss)}
.vl-x{position:relative;height:20px;margin-left:33px;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}
.vl-x span{position:absolute;top:4px;transform:translateX(-50%);white-space:nowrap;line-height:1}
.vl-x span:first-child{transform:none} .vl-x span:last-child{transform:translateX(-100%)}
.vl-x .hz{font-weight:800;color:var(--ink)}
.vl-facts{list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px 24px;font-size:13px;color:var(--muted)}
.vl-facts b{font-family:var(--head);font-weight:700;font-size:16px;color:var(--ink);margin:0 2px;font-variant-numeric:tabular-nums}
.vl-facts b.up{color:var(--win)} .vl-facts b.down{color:var(--loss)}
@container (max-width:859px){
  .played .c-vl{grid-area:vl;width:auto;padding:0}
  .spark{width:100%;height:30px;margin-top:6px}
  .played tbody tr.vl-row{display:block;padding:0}
  .played tr.vl-row td{display:block;padding:12px 12px 14px}
}
@container (max-width:599px){
  .vl-area{height:160px}
  .vl-x .minor{display:none}
  .vl-facts{gap:4px 18px}
}
/* Torschützen pro Spiel (aufklappbar unter dem Spiel) */
.ts-btn{all:unset;cursor:pointer;color:var(--blue-dark);white-space:nowrap}
.ts-btn:hover{text-decoration:underline}
.ts-btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.ts-btn::after{content:" ▾";font-size:10px}
.ts-btn[aria-expanded="true"]::after{content:" ▴"}
tr.ts-row td{background:var(--soft);padding:12px 14px 14px;border-top:0}
/* Eigener Spielbericht: aufklappbar unter dem Spiel, Daten aus daten/berichte-<kürzel>.json */
.br-btn{all:unset;cursor:pointer;color:var(--blue-dark);white-space:nowrap}
.br-btn:hover{text-decoration:underline}
.br-btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.br-btn::after{content:" ▾";font-size:10px}
.br-btn[aria-expanded="true"]::after{content:" ▴"}
tr.br-row td{background:var(--soft);padding:16px 18px 20px;border-top:0}
.nr-copy{all:unset;cursor:copy;font:inherit;color:inherit}
.nr-copy:hover{color:var(--blue-dark);text-decoration:underline dotted;text-underline-offset:3px}
.nr-copy:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.bericht{max-width:72ch;white-space:normal}
.bericht + .bericht{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}
.bericht h3{margin:0;font-family:var(--head);font-weight:700;font-size:20px;line-height:1.25;color:var(--ink)}
.bericht .br-datum{margin:4px 0 12px;font-size:12px;color:var(--muted)}
.br-text p{margin:0 0 .8em;font-size:15px;line-height:1.65;color:var(--ink)}
.br-text p:last-child{margin-bottom:0}
.ts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:760px}
.ts-team{background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--line-strong)}
.ts-team.me{border-top-color:var(--blue)}
.ts-team h4{margin:0;padding:8px 12px;display:flex;justify-content:space-between;gap:10px;align-items:baseline;
            font-size:13px;font-weight:700;border-bottom:1px solid var(--line-strong)}
.ts-team.me h4{color:var(--blue-dark)}
.ts-team h4 span{font-family:var(--head);font-size:16px;color:var(--ink);white-space:nowrap}
.ts-team ol{list-style:none;margin:0;padding:0}
.ts-team li{display:flex;justify-content:space-between;gap:10px;padding:5px 12px;border-top:1px solid var(--line);font-size:14px}
.ts-team li:first-child{border-top:0}
.ts-t{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.ts-t small{font-weight:400;color:var(--muted);font-size:12px}
.ts-team .ts-leer{color:var(--muted)}
.ts-ohne{margin:0;padding:5px 12px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
.ts-hint{margin:8px 0 0;font-size:12px;color:var(--muted)}
@container (max-width:859px){
  .played tbody tr.ts-row{display:block;padding:0}
  .played tr.ts-row td{display:block;padding:10px 12px 12px}
  .played tbody tr.br-row{display:block;padding:0}
  .played tr.br-row td{display:block;padding:12px 12px 14px}
}
@container (max-width:519px){
  .ts{grid-template-columns:minmax(0,1fr);gap:8px}
}

/* Spieltag: die übrigen Spiele der Liga in derselben Woche (Montag bis Sonntag) */
.st-btn{all:unset;cursor:pointer;color:var(--blue-dark);white-space:nowrap}
.st-btn:hover{text-decoration:underline}
.st-btn:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.st-btn::after{content:" ▾";font-size:10px}
.st-btn[aria-expanded="true"]::after{content:" ▴"}
.upcoming .c-st{text-align:right;white-space:nowrap;font-size:12px}
tr.st-row td{background:var(--soft);padding:12px 14px 14px;border-top:0}
.st{max-width:760px;background:var(--bg);border:1px solid var(--line);border-top:3px solid var(--blue)}
.st h4{margin:0;padding:8px 12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;align-items:baseline;
       font-size:13px;font-weight:700;border-bottom:1px solid var(--line-strong)}
.st h4 small{font-size:12px;font-weight:400;color:var(--muted)}
.st ol{list-style:none;margin:0;padding:0}
.st li{display:grid;grid-template-columns:8.6em minmax(0,1fr) auto;gap:2px 14px;align-items:baseline;
       padding:6px 12px;border-top:1px solid var(--line);font-size:14px}
.st li:first-child{border-top:0}
.st-when{white-space:nowrap;font-variant-numeric:tabular-nums}
.st-when b{font-weight:600;color:var(--muted);margin-right:4px}
.st-pair{line-height:1.35}
.st-res{font-family:var(--head);font-weight:700;font-size:16px;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.st-note{grid-column:2/-1;font-size:12px;color:var(--loss)}
.st-leer{padding:8px 12px;font-size:13px;color:var(--muted)}
@container (max-width:859px){
  .played tbody tr.st-row{display:block;padding:0}
  .played tr.st-row td{display:block;padding:10px 12px 12px}
}
@container (max-width:699px){
  .upcoming .c-st{grid-area:st;text-align:right}
  .upcoming tbody tr.detail{display:block;padding:0}
  .upcoming tr.detail td{display:block;padding:10px 12px 12px}
}
@container (max-width:519px){
  .st li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"when res" "pair res"}
  .st-when{grid-area:when;font-size:12px}
  .st-pair{grid-area:pair}
  .st-res{grid-area:res;align-self:center}
  .st-note{grid-column:1/-1}
}

/* Tabelle: Form der letzten 5 Spiele */
.standings .t-form{white-space:nowrap;padding-left:10px}
.fdots{display:inline-flex;gap:3px;vertical-align:middle}
.fdot{width:9px;height:9px;border-radius:50%;flex:none}
.fdot.S{background:var(--win)} .fdot.U{background:var(--draw)} .fdot.N{background:var(--loss)}
.fdot.leer{background:transparent;box-shadow:inset 0 0 0 1px var(--line-strong)}
@container (max-width:519px){
  .standings .t-form{padding-left:6px}
  .fdots{gap:2px}
  .fdot{width:7px;height:7px}
}
@container (max-width:359px){
  .standings th{font-size:10px;letter-spacing:0}
  .standings .t-form{padding-left:4px}
  .fdot{width:6px;height:6px}
}

/* Laufendes Spiel */
.next.is-live{border-left-color:var(--loss)}
.live-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
  background:var(--loss);color:var(--on-dark);padding:6px 11px;border-radius:2px;white-space:nowrap}
.live-badge::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--on-dark);animation:livepuls 1.4s ease-in-out infinite}
@keyframes livepuls{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.live-badge::before{animation:none}}

/* Kreuztabelle */
.kreuz-box{overflow-x:auto;-webkit-overflow-scrolling:touch}
.kreuz{width:auto;min-width:100%;font-size:12px}
.kreuz th,.kreuz td{padding:7px 6px;text-align:center;white-space:nowrap;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.kreuz thead th{border-top:0;letter-spacing:.04em;vertical-align:bottom}
.kreuz th:first-child,.kreuz td:first-child{border-left:0}
.kreuz .k-team{width:1%;position:sticky;left:0;z-index:1;background:var(--bg);text-align:left;font-size:13px;font-weight:600;color:var(--ink);
  letter-spacing:0;text-transform:none;padding-left:12px;max-width:290px;overflow:hidden;text-overflow:ellipsis}
.kreuz thead th.k-col{vertical-align:bottom;padding:10px 4px 8px;min-width:46px;color:var(--ink);letter-spacing:0;text-transform:none;font-size:12px;font-weight:600}
.kreuz thead th.k-col span{display:inline-block;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;max-height:170px;overflow:hidden;text-overflow:ellipsis}
.kreuz thead th.k-ecke{vertical-align:bottom;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.kreuz thead th.me-col{background:var(--tint);font-weight:800}
.kreuz .k-x{background:var(--soft)}
.kreuz .k-erg{font-family:var(--head);font-weight:700;font-size:13px;color:var(--ink)}
.kreuz .k-dat{color:var(--muted)}
.kreuz .k-wert{color:var(--loss)}
.kreuz tr.me .k-team,.kreuz tr.me td{background:var(--tint)}
.kreuz td.me-col{background:var(--tint)}
.kreuz tr.me td.k-x{background:var(--soft)}
.kreuz tr.me .k-team{font-weight:800}
@container (max-width:599px){
  .kreuz .k-team{max-width:130px;font-size:12px;padding-left:10px}
  .kreuz th,.kreuz td{padding:6px 5px}
}

@media (prefers-reduced-motion:reduce){.dot{transition:none}.dot:hover,.dot:focus-visible{transform:none}}

/* Verlauf: auf breitem Platz alle Spiele in einer Reihe, mittel in Hin- und Rückrunde */
@container (min-width:900px){
  .form{grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:5px}
}
@container (min-width:520px) and (max-width:899px){
  .form{grid-template-columns:repeat(var(--half),minmax(0,1fr));gap:8px 6px}
  .dot{max-width:42px}
}

/* Schmal: Spiele als kompakte Zeilen */
@container (max-width:859px){
  .played thead{display:none}
  .played,.played tbody{display:block}
  .played tbody tr{display:grid;grid-template-columns:auto auto auto 1fr auto;
    grid-template-areas:"date time ha . out" "home home home home res" "guest guest guest guest res" "hall hall hall hall hall" "vl vl vl vl vl";
    gap:1px 8px;padding:10px 12px;border-top:1px solid var(--line);align-items:center}
  .played tbody tr:first-child{border-top:0}
  .played td{display:block;padding:0;border:0}
  .played td:first-child,.played td:last-child{padding:0}
  .played .c-res{grid-area:res;text-align:right}
  .played .c-out{grid-area:out;text-align:right}
  .played .res{font-size:20px}
  .played .badge{width:24px;height:24px;font-size:13px}
}
@container (max-width:699px){
  .upcoming thead{display:none}
  .upcoming,.upcoming tbody{display:block}
  .upcoming tbody tr{display:grid;grid-template-columns:auto auto auto 1fr;
    grid-template-areas:"date time ha st" "home home home home" "guest guest guest guest" "hall hall hall hall";
    gap:1px 8px;padding:10px 12px;border-top:1px solid var(--line);align-items:center}
  .upcoming tbody tr:first-child{border-top:0}
  .upcoming td{display:block;padding:0;border:0}
  .upcoming td:first-child,.upcoming td:last-child{padding:0}
}
@container (max-width:859px){
  .played .c-nr{display:none}
  .played .c-date,.played .c-time{font-size:13px}
  .played .c-date{grid-area:date} .played .c-time{grid-area:time} .played .c-ha{grid-area:ha}
  .played .c-home{grid-area:home} .played .c-guest{grid-area:guest} .played .c-hall{grid-area:hall;margin-top:3px}
  .played .hall small{display:inline} .played .hall small::before{content:" · "}
}
@container (max-width:699px){
  .upcoming .c-nr{display:none}
  .upcoming .c-date,.upcoming .c-time{font-size:13px}
  .upcoming .c-date{grid-area:date} .upcoming .c-time{grid-area:time} .upcoming .c-ha{grid-area:ha}
  .upcoming .c-home{grid-area:home} .upcoming .c-guest{grid-area:guest} .upcoming .c-hall{grid-area:hall;margin-top:3px}
  .upcoming .hall small{display:inline} .upcoming .hall small::before{content:" · "}
}
@container (max-width:599px){
  h2{font-size:22px}
  .top{gap:0 12px}
  .top-logo{width:92px}
  .next{grid-template-columns:auto 1fr;padding:12px 12px 12px 14px}
  .next .until{grid-column:1/-1;justify-self:start}
  .next .d{font-size:30px}
  .next .match{font-size:17px}
}
@container (max-width:699px){
  .details{grid-template-columns:minmax(0,1fr)}
}
@container (max-width:559px){
  .summary{grid-auto-flow:row;grid-template-columns:1fr 1fr}
  .fig:nth-child(odd){border-left:0}
  .fig:nth-child(n+3){border-top:1px solid var(--line)}
  .fig .val{font-size:28px}
}
@container (max-width:519px){
  .split th,.split td{padding-left:6px;padding-right:6px}
  .split th:first-child,.split td:first-child{padding-left:12px}
  .split th:last-child,.split td:last-child{padding-right:12px}
  .kv{grid-template-columns:max-content minmax(0,1fr)}
  .kv dt{grid-row:span 2;align-items:flex-start}
  .kv .v{padding-bottom:0}
  .kv .m{grid-column:2;border-top:0;padding-top:2px}
  .standings .opt{display:none}
  .standings th,.standings td{padding:8px 4px}
  .standings th{letter-spacing:.06em}
  .standings th:first-child,.standings td:first-child{padding-left:10px}
  .standings th:last-child,.standings td:last-child{padding-right:10px}
  .standings .t-team{font-size:14px}
  .standings .t-goals{font-size:13px}
}
@container (max-width:359px){
  .fig{padding:12px 12px 11px}
  .fig .val{font-size:24px}
  .standings .t-goals{display:none}
  .standings .diff-s{display:table-cell}
}
/* Hinweis ohne JavaScript (bisher style="padding:16px") */
.nojs{padding:16px}

/* „Bericht schreiben/bearbeiten“ beim gespielten Spiel (nur mit Berichtsrecht sichtbar) */
.res .ht.schreiben a{color:var(--blue-dark);white-space:nowrap}


/* ----- jahnhoelle/anmeldung.css ----- */
/* Version: 2026.1 */
/* Theme jahnhoelle – anmeldung: Login/Logout unter dem Logo (anmeldung.js), auf allen Seiten */
.anm{position:relative;display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.anm-zeile{min-height:15px;font-family:var(--body);font-size:11px;line-height:1.35;color:var(--muted);white-space:nowrap;text-align:right}
.anm-zeile a,.anm-link{all:unset;cursor:pointer;color:var(--muted);text-decoration:underline;text-decoration-color:var(--unterstrich);text-underline-offset:2px}
.anm-zeile a:hover,.anm-link:hover{color:var(--blue-dark);text-decoration-color:currentColor}
.anm-zeile a:focus-visible,.anm-link:focus-visible{outline:2px solid var(--blue-dark);outline-offset:2px}
.anm-pop{position:absolute;top:100%;right:0;margin-top:6px;z-index:60;width:236px;box-sizing:border-box;background:var(--bg);
  border:1px solid var(--line);border-top:3px solid var(--blue);box-shadow:0 10px 28px var(--shadow-pop);padding:12px 12px 14px;text-align:left}
.anm-pop[hidden]{display:none}
.anm-pop label{display:block;font-family:var(--body);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);margin:0 0 4px}
.anm-pop input{display:block;width:100%;box-sizing:border-box;font:inherit;font-size:14px;color:var(--ink);background:var(--bg);
  border:1.5px solid var(--line-strong);border-radius:2px;padding:6px 8px;margin:0 0 10px}
.anm-pop input:focus{outline:2px solid var(--blue-dark);outline-offset:1px;border-color:var(--blue-dark)}
.anm-pop .anm-los{font:inherit;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;
  background:var(--blue);color:var(--on-blue);border:0;border-radius:2px;padding:8px 14px;width:100%}
.anm-pop .anm-los:disabled{opacity:.6;cursor:default}
.anm-fehler{color:var(--err);font-size:12px;line-height:1.35;margin:0 0 8px}
.anm-fehler:empty{display:none}

