/* ═══════════════════════════════════════════════════════════════════════════
   DFL · Kenney-Reste  ·  v1   (D104 + D82, freigegeben 2026-10-10; lädt nach theme_dfl_kenney.css)
   ─────────────────────────────────────────────────────────────────────────
   Was nach dem Kenney-Stil (D54) noch nach Altoberfläche aussah, gemessen in 40 Ansichten:
   Emojis → Zeichen/Marken (js/dfl_kenney_patch.js), dünne Balken → Kenney-Balken (12 px, 2-px-Rand, flache Füllung),
   1-px-Ränder → 2–3 px mit Token, keine Verläufe/Weichzeichner/Glas, Knöpfe in Rubik als Druckknöpfe,
   dunkle Kacheln im Tag-Stil → Token-Flächen, keine Akzentleisten links, Kenney-Häkchen,
   Auswahlknopf + Auswahlblatt (D82, js/dfl_auswahl.js). Nur Tokens – Tag und Nacht.
   Zeitung „Der Anstoß“: seit D141 eigenes Modul im Kenney-Look (css/dfl_zeitung.css).
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Tokens für Marken (Fläche hell/dunkel, Schrift ≥ 4,5 : 1) ─────────────────── */
html.freundlich.kenney.tag {
  --k-gut-bg: #e3f1d8; --k-mittel-bg: #f8ecc4; --k-schlecht-bg: #f9dcd5; --k-info-bg: #dcebf7; --k-neutral-bg: #efe2c8;
  --k-info-fg: #1f5f8f; --k-gold-tief: #b7950b; --k-gold-text: #2a1f05;
  --k-karte-gelb: #f1c40f; --k-karte-gelb-rand: #a8890a; --k-karte-rot: #d0402f; --k-karte-rot-rand: #8e2a1f;
  --k-sieg: #3f7a2c; --k-remis: #7d6608; --k-niederlage: #a93226;
}
html.freundlich.kenney.dark {
  --k-gut-bg: #183326; --k-mittel-bg: #3a3218; --k-schlecht-bg: #3d1f22; --k-info-bg: #1b3047; --k-neutral-bg: #2b3043;
  --k-info-fg: #8cc8f2; --k-gold-tief: #b7950b; --k-gold-text: #2a1f05;
  --k-karte-gelb: #f1c40f; --k-karte-gelb-rand: #a8890a; --k-karte-rot: #e74c3c; --k-karte-rot-rand: #9d2a1e;
  --k-sieg: #1e7a43; --k-remis: #7d6608; --k-niederlage: #a93226;
}

/* ── Zeichen im Text (kz) und Marken (km) ─────────────────────────────────────── */
.kz { display: inline-grid; place-items: center; width: 1.2em; height: 1.2em; vertical-align: -0.24em; line-height: 1; flex: none; }
.kz .gi { width: 1.05em; height: 1.05em; vertical-align: 0; }
.kz .ti { font-size: 1.05em; line-height: 1; }
.kz-anzahl { font-size: .82em; font-weight: 800; margin-left: 1px; font-variant-numeric: tabular-nums; }
.kz-gut { color: var(--k-gut-fg, #2f6b1f); } .kz-mittel { color: var(--k-mittel-fg, #7a5800); } .kz-schlecht { color: var(--k-schlecht-fg, #a52a1e); }
.kz-info { color: var(--k-info-fg, #1f5f8f); } .kz-neutral { color: var(--text2); } .kz-gold { color: var(--k-mittel-fg, #7a5800); }
.km { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 11px; flex: none; border: 2px solid; line-height: 1; vertical-align: middle; }
.km .gi { width: 19px; height: 19px; vertical-align: 0; }
.km .ti { font-size: 19px; line-height: 1; }
.km-gut { background: var(--k-gut-bg); color: var(--k-gut-fg); border-color: color-mix(in oklab, var(--k-gut-fg) 35%, transparent); }
.km-mittel { background: var(--k-mittel-bg); color: var(--k-mittel-fg); border-color: color-mix(in oklab, var(--k-mittel-fg) 35%, transparent); }
.km-schlecht { background: var(--k-schlecht-bg); color: var(--k-schlecht-fg); border-color: color-mix(in oklab, var(--k-schlecht-fg) 35%, transparent); }
.km-info { background: var(--k-info-bg); color: var(--k-info-fg); border-color: color-mix(in oklab, var(--k-info-fg) 35%, transparent); }
.km-neutral { background: var(--k-neutral-bg); color: var(--text2); border-color: var(--k-linie, var(--border)); }
.km-gold { background: var(--k-gold, #f1c40f); color: var(--k-gold-text); border-color: var(--k-gold-tief); }
/* Karten: gezeichnete Kärtchen statt 🟨/🟥 */
.k-karte { display: inline-block; width: .62em; height: .86em; border-radius: 2px; border: 2px solid; transform: rotate(8deg); vertical-align: -0.12em; box-sizing: border-box; }
.k-karte + .k-karte { margin-left: -.18em; transform: rotate(16deg); }
.k-karte.gelb { background: var(--k-karte-gelb, #f1c40f); border-color: var(--k-karte-gelb-rand, #a8890a); }
.k-karte.rot { background: var(--k-karte-rot, #d0402f); border-color: var(--k-karte-rot-rand, #8e2a1f); }

/* ── Postfach: ganze Kenney-Karte, Farbe nur in der Marke (keine Akzentleiste) ─────── */
html.kenney .pf-item, html.kenney .pf-item.pf-offer, html.kenney .pf-item.pf-warn, html.kenney .pf-item.pf-news {
  background: var(--bg2); border: 2px solid var(--k-linie); border-left-width: 2px; border-left-color: var(--k-linie); border-radius: 14px; box-shadow: none; }
html.kenney .pf-item.pf-warn { border-color: color-mix(in oklab, var(--k-schlecht-fg) 35%, var(--k-linie)); }
html.kenney .pf-item.pf-offer { border-color: color-mix(in oklab, var(--k-mittel-fg) 35%, var(--k-linie)); }
html.kenney .pf-ico { border: 2px solid color-mix(in oklab, currentColor 30%, transparent); background: color-mix(in oklab, currentColor 12%, var(--bg2)); }
html.kenney .pf-item.pf-news .pf-ico { color: var(--k-info-fg); }
html.kenney .pf-item.pf-warn .pf-ico { color: var(--k-schlecht-fg); }
html.kenney .pf-item.pf-offer .pf-ico { color: var(--k-mittel-fg); }
html.kenney .pf-ico > .km-fuellt { width: calc(100% + 4px); height: calc(100% + 4px); margin: -2px; border-radius: inherit; }
html.kenney .pf-chip { border: 2px solid var(--k-linie); font-family: inherit; font-weight: 800; }
html.kenney .pf-chip.active { background: var(--k-blau-knopf); border-color: var(--k-blau-schatten); color: #fff; }
html.kenney .pf-btn { border: 2px solid var(--k-rand); border-radius: 10px; box-shadow: 0 3px 0 var(--k-rand); font-family: inherit; font-weight: 800; background: var(--bg3); color: var(--text); }
html.kenney .pf-btn.ok { background: var(--k-blau-knopf); border-color: var(--k-blau-schatten); box-shadow: 0 3px 0 var(--k-blau-schatten); color: #fff; }
html.kenney .pf-btn.no { background: var(--bg2); color: var(--k-schlecht-fg); border-color: var(--k-schlecht-fg); box-shadow: 0 3px 0 color-mix(in oklab, var(--k-schlecht-fg) 60%, #000); }
html.kenney .pf-btn:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--k-rand); }

/* ── Toasts: Kenney-Schild mit Marke, kein Weichzeichner, keine Leiste ───────────── */
html.kenney .toast, html.kenney .toast.toast-success, html.kenney .toast.toast-error, html.kenney .toast.toast-warn,
html.kenney .toast.toast-info, html.kenney .toast.toast-money {
  background: var(--bg2); color: var(--text); border: 3px solid var(--k-rand); border-left-width: 3px; border-left-color: var(--k-rand);
  border-radius: 14px; box-shadow: 0 4px 0 var(--k-rand); -webkit-backdrop-filter: none; backdrop-filter: none; padding: 8px 12px 8px 8px; }
html.kenney .toast .km-toast { width: 30px; height: 30px; border-radius: 10px; }
html.kenney .toast .km-toast .gi { width: 17px; height: 17px; }
html.kenney .toast .km-toast .ti { font-size: 17px; }
html.kenney .toast-txt { font-weight: 600; }

/* ── Ticker im Spieltag: Zeichen auf Token-Fläche statt dunkler Kacheln ──────────── */
html.kenney .ev-icon { border-radius: 10px; border: 2px solid var(--k-linie); background: var(--bg3); color: var(--text2); }
html.kenney .ev-icon .gi { width: 16px; height: 16px; }
html.kenney .ev-icon.i-goal { background: var(--k-gut-bg); border-color: color-mix(in oklab, var(--k-gut-fg) 35%, transparent); color: var(--k-gut-fg); }
html.kenney .ev-icon.i-yellow, html.kenney .ev-icon.i-chance { background: var(--k-mittel-bg); border-color: color-mix(in oklab, var(--k-mittel-fg) 35%, transparent); color: var(--k-mittel-fg); }
html.kenney .ev-icon.i-red { background: var(--k-schlecht-bg); border-color: color-mix(in oklab, var(--k-schlecht-fg) 35%, transparent); color: var(--k-schlecht-fg); }
html.kenney .ev-icon.i-save, html.kenney .ev-icon.i-sub, html.kenney .ev-icon.i-info { background: var(--k-info-bg); border-color: color-mix(in oklab, var(--k-info-fg) 30%, transparent); color: var(--k-info-fg); }
html.kenney .ev-icon .k-karte { font-size: 15px; }

/* ── Anlagen, Sponsoren, Fans: Marke statt Emoji-Kachel, Stufen als Segmente ─────── */
html.kenney .fc-icon, html.kenney .fc-icon.youth, html.kenney .fc-icon.training, html.kenney .fc-icon.stadium, html.kenney .fc-icon.scouting,
html.kenney .fc-icon.coach, html.kenney .sp-icon {
  background: var(--k-info-bg); color: var(--k-info-fg); border: 2px solid color-mix(in oklab, var(--k-info-fg) 30%, transparent); border-radius: 12px; font-size: 22px; }
html.kenney .fc-icon .kz, html.kenney .sp-icon .kz { color: inherit; width: 1em; height: 1em; }
html.kenney .level-pips { gap: 3px; }
html.kenney .pip { height: 12px; border-radius: 4px; border: 2px solid var(--k-rand); background: var(--bg4); box-sizing: border-box; }
html.kenney .pip.on { background: var(--app-gut); }
html.kenney .fc-img-wrap { border: 3px solid var(--k-rand); border-radius: 12px; }
html.kenney .fc-tier-tag { -webkit-backdrop-filter: none; backdrop-filter: none; background: var(--bg2); color: var(--text); border: 2px solid var(--k-rand); }
html.kenney .fc-roi { border: 2px solid var(--k-linie); border-radius: 10px; background: var(--bg3); }
html.kenney .sp-offer, html.kenney .exp-offer { background: var(--bg2); border: 2px solid var(--k-linie); border-radius: 14px; }
html.kenney .exp-offer:hover { border-color: var(--k-rand); }
html.kenney .exp-bar { height: 12px; border: 2px solid var(--k-rand); background: var(--bg4); box-sizing: border-box; }
html.kenney .exp-bar-fill { border-radius: 0; }

/* ── Kenney-Balken: Spur mit 2-px-Rand, flache Füllung ───────────────────────── */
html.kenney .k-bahn { height: 12px; border: 2px solid var(--k-rand); border-radius: 6px; background: var(--bg4); overflow: hidden; box-sizing: border-box; }
html.kenney .k-bahn > .k-fuell { height: 100%; border-radius: 0; }
html.kenney .pm-sb-track { height: 12px; border: 2px solid var(--k-rand); border-radius: 6px; background: var(--bg4); box-sizing: border-box; }
html.kenney .pm-sb-fill { background: var(--accent); border-radius: 0; }
html.kenney .sqo-fit { height: 12px; width: 32px; border: 2px solid var(--k-rand); border-radius: 5px; box-sizing: border-box; background: var(--bg4); }
html.kenney .tk-fit { height: 12px; border: 2px solid var(--k-rand); border-radius: 5px; box-sizing: border-box; background: var(--bg4); box-shadow: none; }
html.kenney .tk-fit i { border-radius: 0; }
html.kenney .stil-pass { height: 12px; border: 2px solid var(--k-rand); border-radius: 6px; box-sizing: border-box; background: var(--bg4); }
html.kenney .app-balken { height: 12px; border: 2px solid var(--k-rand); border-radius: 6px; box-sizing: border-box; }
html.kenney .app-balken i { border-radius: 0; }

/* ── Flächen mit 1-px-Rand → Kenney-Rand ───────────────────────────────────────── */
html.kenney .season-banner { background: var(--bg2); border: 3px solid var(--k-rand); border-radius: 14px; box-shadow: 0 4px 0 var(--k-rand); }
html.kenney .dfl-po-spiel { background: var(--bg2); border: 2px solid var(--k-linie); border-radius: 10px; }
html.kenney .sb-tabhead { background: var(--bg2); border: 3px solid var(--k-rand); border-radius: 14px; box-shadow: none; }
html.kenney .sb-tabhead .sb-bar { background: var(--accent); }
html.kenney .topbar { background: var(--bg2); border-bottom: 3px solid var(--k-rand); }
html.kenney .depth-row.is-starter { background: var(--k-gut-bg); border-color: color-mix(in oklab, var(--k-gut-fg) 35%, transparent); }
html.kenney .dfl-div-tabelle, html.kenney .dfl-wahl-konf { border: 3px solid var(--k-rand); box-shadow: 0 4px 0 var(--k-rand); }

/* ── Knöpfe: Schrift erben, Druckknöpfe ────────────────────────────────────────── */
html.kenney button, html.kenney input, html.kenney select, html.kenney textarea { font-family: inherit; }
html.kenney .season-banner button, html.kenney .ko-btn, html.kenney .contract-year-btn, html.kenney #training-content button[style],
html.kenney .ts-wahl > button {
  border: 3px solid var(--k-rand) !important; border-radius: 12px !important; box-shadow: 0 4px 0 var(--k-rand); font-weight: 800; }
html.kenney .season-banner button, html.kenney .ko-btn { background: var(--k-blau-knopf); color: #fff; border-color: var(--k-blau-schatten) !important; box-shadow: 0 4px 0 var(--k-blau-schatten); }
html.kenney .season-banner button.secondary { background: var(--bg3); color: var(--text); border-color: var(--k-rand) !important; box-shadow: 0 4px 0 var(--k-rand); }
html.kenney .ko-btn:disabled { background: var(--bg4); color: var(--text3); border-color: var(--k-linie) !important; box-shadow: 0 4px 0 var(--k-linie); }
html.kenney .season-banner button:active, html.kenney .ko-btn:active:not(:disabled), html.kenney .contract-year-btn:active,
html.kenney #training-content button[style]:active, html.kenney .ts-wahl > button:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--k-rand); }
html.kenney .ts-wahl > button[aria-pressed="true"], html.kenney .ts-wahl > button.an { border-color: var(--k-blau-schatten) !important; box-shadow: 0 4px 0 var(--k-blau-schatten); }
html.kenney .contract-year-btn { background: var(--bg2); color: var(--text); }
html.kenney body.dfl-shell #pm-continue-btn, html.kenney #pm-continue-btn { border: 3px solid var(--k-gruen-tief); box-shadow: 0 4px 0 var(--k-gruen-tief);
  background: var(--k-gruen); color: var(--k-gruen-text); border-radius: 14px; font-weight: 800; }
html.kenney .fc-upgrade { background: var(--bg3); }

/* ── Spielbericht: flacher Kopf in Ergebnisfarbe, Noten mit Token-Flächen ────────── */
html.kenney.tag #pm-header.win, html.kenney.dark #pm-header.win { background: var(--k-sieg); }
html.kenney.tag #pm-header.draw, html.kenney.dark #pm-header.draw { background: var(--k-remis); }
html.kenney.tag #pm-header.loss, html.kenney.dark #pm-header.loss { background: var(--k-niederlage); }
html.kenney #pm-dialog { box-shadow: 0 6px 0 var(--k-rand); }
html.kenney .pm-mvp { background: var(--k-mittel-bg); border-color: var(--k-gold-tief); }
html.kenney .pm-mvp .pm-rating-pos { font-size: 16px; background: var(--k-gold, #f1c40f); color: var(--k-gold-text); border-radius: 8px; }
html.kenney .pm-mvp .pm-rating-pos .kz { color: inherit; }
html.kenney .pm-rating-name .kz { margin-left: 2px; }
/* Karten im Bericht als gezeichnete Kärtchen statt gefülltem Quadrat */
html.kenney .pm-card-chip i.ti-square-filled { font-size: 0; display: inline-block; width: 10px; height: 14px; border-radius: 2px; border: 2px solid;
  box-sizing: border-box; transform: rotate(8deg); vertical-align: -2px; }
html.kenney .pm-card-chip.yellow i.ti-square-filled { background: var(--k-karte-gelb); border-color: var(--k-karte-gelb-rand); }
html.kenney .pm-card-chip.red i.ti-square-filled { background: var(--k-karte-rot); border-color: var(--k-karte-rot-rand); }
html.kenney .score-box { white-space: nowrap; }
html.kenney .pm-card-chip.yellow { color: var(--k-mittel-fg); border-color: color-mix(in oklab, var(--k-mittel-fg) 40%, transparent); }
html.kenney .pm-card-chip.red { color: var(--k-schlecht-fg); border-color: color-mix(in oklab, var(--k-schlecht-fg) 40%, transparent); }

/* ── Kurz erklärt (Intro): Kenney-Tafel, Bild als runde Marke ────────────────────── */
html.kenney .intro-box { background: var(--bg2); border: 3px solid var(--k-rand); box-shadow: 0 6px 0 var(--k-rand); border-radius: 20px; }
html.kenney .intro-box::before { display: none; }
html.kenney .intro-bild { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 12px; border-radius: 50%; font-size: 38px;
  background: var(--k-gold, #f1c40f); color: var(--k-gold-text); border: 3px solid var(--k-gold-tief); box-shadow: 0 4px 0 var(--k-gold-tief); }
html.kenney .intro-bild .kz { color: inherit; width: 1em; height: 1em; }
html.kenney .intro-rolle { color: var(--k-mittel-fg); }
html.kenney .intro-weiter { border: 3px solid var(--k-gruen-tief); background: var(--k-gruen); color: var(--k-gruen-text); border-radius: 12px; box-shadow: 0 4px 0 var(--k-gruen-tief); font-weight: 800; }
html.kenney .intro-zurueck { border: 3px solid var(--k-rand); background: var(--bg3); color: var(--text); border-radius: 12px; box-shadow: 0 4px 0 var(--k-rand); font-weight: 800; }
html.kenney .intro-weiter:active, html.kenney .intro-zurueck:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--k-rand); }
html.kenney .intro-punkt { border: 2px solid var(--k-rand); width: 10px; height: 10px; box-sizing: border-box; }
html.kenney .intro-punkt.an { background: var(--k-gruen); border-color: var(--k-gruen-tief); width: 22px; }
html.kenney .intro-fuss { border-top: 2px solid var(--k-linie); }

/* ── Teammoral (Office): Marke, Zahl, Skala ────────────────────────────────────── */
html.kenney .team-morale-card.k-moral { margin: 10px 0; padding: 12px 14px; background: var(--bg2); border: 3px solid var(--k-rand); border-radius: var(--rund, 16px);
  box-shadow: 0 5px 0 var(--k-rand); display: flex; flex-direction: column; gap: 6px; }
.k-moral-kopf { display: flex; align-items: center; gap: 10px; }
.k-moral-kopf > div { display: flex; flex-direction: column; line-height: 1.15; }
.k-moral-kopf small { font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; color: var(--text3); }
.k-moral-kopf b { font-size: 20px; font-weight: 800; }
.k-moral-kopf b span { font-size: 14px; }
.k-moral-effekt { margin-left: auto; font-size: 12px; color: var(--text2); text-align: right; }
.k-moral-effekt b { display: block; font-size: 15px; color: var(--text); }
.k-skala { position: relative; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; height: 14px; margin-top: 10px; }
.k-skala i { display: block; border: 2px solid var(--k-rand); background: var(--bg4); }
.k-skala i:first-child { border-radius: 7px 0 0 7px; } .k-skala i:nth-child(5) { border-radius: 0 7px 7px 0; }
.k-skala i.an.s1 { background: var(--app-schlecht); } .k-skala i.an.s2, .k-skala i.an.s3 { background: var(--app-mittel); }
.k-skala i.an.s4, .k-skala i.an.s5 { background: var(--app-gut); }
.k-skala-zeiger { position: absolute; top: -9px; width: 0; height: 0; transform: translateX(-50%);
  border-left: 7px solid transparent; border-right: 7px solid transparent; border-top: 8px solid var(--text); }
.k-skala-text { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 2px; font-size: 10px; color: var(--text3); text-align: center; }

/* ── Kenney-Häkchen (Trade-Zentrale) ───────────────────────────────────────────── */
html.kenney input[type="checkbox"] { -webkit-appearance: none; appearance: none; width: 26px; height: 26px; margin: 0; flex: none; border-radius: 8px;
  border: 3px solid var(--k-rand); background: var(--bg2); box-shadow: 0 2px 0 var(--k-rand); display: inline-grid; place-items: center; cursor: pointer;
  vertical-align: middle; box-sizing: border-box; }
html.kenney input[type="checkbox"]::after { content: ''; width: 11px; height: 6px; border: solid #fff; border-width: 0 0 3px 3px;
  transform: rotate(-45deg) translate(1px, -1px); opacity: 0; }
/* Nacht: der Holzrand ist dort fast schwarz – das Häkchenfeld braucht einen hellen Rand */
html.kenney.dark input[type="checkbox"] { border-color: var(--text3); background: var(--bg3); box-shadow: 0 2px 0 var(--k-rand-tief); }
html.kenney input[type="checkbox"]:checked { background: var(--k-gruen-tief); border-color: var(--k-gruen-tief); }
html.kenney input[type="checkbox"]:checked::after { opacity: 1; }
html.kenney input[type="checkbox"]:disabled { opacity: .45; cursor: not-allowed; }
html.kenney input[type="checkbox"]:focus-visible { outline: 3px solid var(--k-blau); outline-offset: 2px; }
html.kenney .dfl-tr-zeile { grid-template-columns: 26px minmax(0, 1fr) auto 42px; border: 2px solid var(--k-linie); border-radius: 12px; background: var(--bg2); margin-bottom: 6px; }
html.kenney .dfl-tr-zeile.an { border-color: var(--k-gruen-tief); background: var(--k-gut-bg); }

/* ── Nachzügler aus der Messung (Bot bis Spieltag 4, 37 Ansichten) ─────────────── */
html.kenney .tg-zeile { border: 2px solid var(--k-linie); border-radius: 14px; }
html.kenney .stat-card { border: 3px solid var(--k-rand); box-shadow: 0 4px 0 var(--k-rand); border-radius: 16px; }
html.kenney .dfl-tr-spalte { border: 2px solid var(--k-linie); border-radius: 14px; }
html.kenney .exp-section { border: 3px solid var(--k-rand); border-radius: 16px; box-shadow: 0 4px 0 var(--k-rand); }
html.kenney .exp-dialog { border: 3px solid var(--k-rand); border-radius: 18px; box-shadow: 0 6px 0 var(--k-rand); }
html.kenney .fixture-row { border: 2px solid var(--k-linie); border-radius: 10px; }
html.kenney .fixture-row.next { border-color: var(--k-mittel-fg); }
html.kenney .exp-faction-bar { height: 12px; border: 2px solid var(--k-rand); border-radius: 6px; box-sizing: border-box; }
html.kenney .exp-faction-bar > * { border-radius: 0; }
html.kenney .cal-tag.cal-match { background: var(--k-gut-bg); color: var(--k-gut-fg); }
html.kenney .cal-tag.cal-window { background: var(--k-mittel-bg); color: var(--k-mittel-fg); }
html.kenney .dfl-draft-btn { border: 3px solid var(--k-blau-schatten); border-radius: 12px; box-shadow: 0 3px 0 var(--k-blau-schatten);
  background: var(--k-blau-knopf); color: #fff; font-weight: 800; }
html.kenney .dfl-draft-btn.leise { background: var(--bg3); color: var(--text); border-color: var(--k-rand); box-shadow: 0 3px 0 var(--k-rand); }
html.kenney .dfl-draft-btn:active:not([disabled]) { transform: translateY(2px); box-shadow: 0 1px 0 var(--k-rand); }
html.kenney .task-chip { border: 2px solid var(--k-rand); box-shadow: 0 3px 0 var(--k-rand); font-weight: 800; }
html.kenney .task-chip.warn { border-color: var(--k-mittel-fg); color: var(--k-mittel-fg); background: var(--k-mittel-bg); box-shadow: 0 3px 0 var(--k-mittel-fg); }
html.kenney .wb-zeile { border: 3px solid var(--k-blau-schatten); box-shadow: 0 4px 0 var(--k-blau-schatten); background: var(--k-info-bg); }
html.kenney .wb-zeile.an { border-color: var(--k-gruen-tief); box-shadow: 0 4px 0 var(--k-gruen-tief); background: var(--k-gut-bg); }
html.kenney .intro-skip { border: 2px solid var(--k-linie); border-radius: 10px; padding: 4px 10px; background: var(--bg2); box-shadow: 0 2px 0 var(--k-linie);
  color: var(--text2); font-weight: 700; }
/* Messung ganze Saison: letzte Flächen mit 1-px-Rand (Klassen und Inline-Stil der Altoberfläche) */
html.kenney .mgmt-details, html.kenney .cup-status, html.kenney .finance-dash, html.kenney .news-section.postfach-section { border-width: 2px; border-color: var(--k-linie); border-radius: 14px; }
html.kenney .dfl-tr-block { border: 2px dashed var(--k-linie); border-radius: 14px; }
html.kenney .dfl-tr-urteil { border: 3px solid var(--k-rand); border-radius: 16px; }
html.kenney .dfl-tr-urteil.gut { border-color: var(--k-gut-fg); } html.kenney .dfl-tr-urteil.knapp { border-color: var(--k-mittel-fg); }
html.kenney .dfl-tr-urteil.schlecht { border-color: var(--k-schlecht-fg); }
html.kenney #view-club [style*="border:1px solid"], html.kenney #training-content > div[style*="border:1px solid"],
html.kenney #onboarding-overlay div[style*="border:1px solid"] { border-width: 2px !important; }
html.kenney .nego-btn.ghost { border: 3px solid var(--k-rand); border-radius: 12px; box-shadow: 0 3px 0 var(--k-rand); background: var(--bg3); color: var(--text); font-weight: 800; }
/* Spielstände und Zurückstufen: Knöpfe mit festem Inline-Stil */
html.kenney #onboarding-overlay button[style], html.kenney .fc-upgrade[style] { border: 3px solid var(--k-rand) !important; border-radius: 12px !important;
  box-shadow: 0 4px 0 var(--k-rand); font-weight: 800; }
html.kenney .fc-upgrade[style] { background: var(--bg3) !important; color: var(--text) !important; }
html.kenney #onboarding-overlay button[style]:active, html.kenney .fc-upgrade[style]:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--k-rand); }

@media (prefers-reduced-motion: reduce) {
  html.kenney .season-banner button, html.kenney .ko-btn, html.kenney .intro-weiter { transition: none; }
}

/* ── D82: Auswahlknopf, Segment, Auswahlblatt (js/dfl_auswahl.js) ──────────────── */
/* Das <select> bleibt als Quelle der Wahrheit im DOM, unsichtbar */
select.dfl-ausw-quelle { position: absolute !important; width: 1px !important; height: 1px !important; min-width: 0 !important; opacity: 0 !important;
  pointer-events: none !important; overflow: hidden !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.auswahl-knopf { display: inline-flex; align-items: center; gap: 8px; min-width: 0; max-width: 100%; min-height: 44px; text-align: left;
  background: var(--bg2); color: var(--text); border: 3px solid var(--k-rand, var(--border)); border-radius: 12px;
  box-shadow: 0 4px 0 var(--k-rand, var(--border)); padding: 4px 10px; cursor: pointer; font: 800 14px/1.15 var(--font-text, inherit); }
.auswahl-knopf:active { transform: translateY(3px); box-shadow: 0 1px 0 var(--k-rand, var(--border)); }
.auswahl-knopf:disabled { opacity: .5; cursor: not-allowed; }
.auswahl-knopf:focus-visible { outline: 3px solid var(--k-blau); outline-offset: 2px; }
.auswahl-knopf .ak-text { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.auswahl-knopf small { font-size: 10px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text3); }
.auswahl-knopf b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.auswahl-knopf em { font-style: normal; font-weight: 600; font-size: 11.5px; color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.auswahl-knopf .pfeil { margin-left: auto; color: var(--text3); font-size: 18px; flex: none; }
.auswahl-knopf .wahl-feld { width: 24px; height: 32px; flex: none; }
html .auswahl-knopf .wahl-wappen.lg-crest { width: 28px !important; height: 30px !important; flex: none; }
.auswahl-knopf .wahl-gesicht { width: 28px; height: 32px; }
.dfl-tr-partner .auswahl-knopf, .auswahl-knopf.auswahl-verein { width: 100%; }
.tg-zeile .auswahl-knopf { min-height: 38px; font-size: 13px; padding: 3px 8px; max-width: 100%; }
.auswahl-segment { display: flex; flex-wrap: wrap; gap: 3px; padding: 3px; background: var(--bg2); border: 3px solid var(--k-rand, var(--border)); border-radius: 12px; min-width: 0; }
.auswahl-segment button { flex: 1 1 auto; min-width: 0; min-height: 34px; border: 0; background: none; border-radius: 8px; padding: 5px 6px;
  font: 800 11.5px/1.1 var(--font-text, inherit); color: var(--text2); cursor: pointer; }
.auswahl-segment button[aria-checked="true"] { background: var(--k-blau-knopf); color: #fff; box-shadow: 0 2px 0 var(--k-blau-schatten); }
.auswahl-segment button:focus-visible { outline: 3px solid var(--k-blau); outline-offset: 1px; }

.dfl-ausw[hidden] { display: none !important; }
.dfl-ausw { position: fixed; inset: 0; z-index: 11500; font-family: var(--font-text, inherit); }
.dfl-ausw-hg { position: absolute; inset: 0; background: rgb(10 12 16 / .45); opacity: 0; transition: opacity .2s; }
.dfl-ausw.auf .dfl-ausw-hg { opacity: 1; }
.dfl-ausw-blatt { position: absolute; left: 0; right: 0; bottom: 0; max-height: 82dvh; display: flex; flex-direction: column; background: var(--bg2); color: var(--text);
  border-top: 3px solid var(--k-rand, var(--border)); border-radius: 24px 24px 0 0; transform: translateY(105%); transition: transform .24s cubic-bezier(.2, .8, .2, 1);
  padding-bottom: env(safe-area-inset-bottom, 0px); box-sizing: border-box; }
.dfl-ausw.auf .dfl-ausw-blatt { transform: none; }
.dfl-ausw.am-knopf .dfl-ausw-hg { background: transparent; }
.dfl-ausw.am-knopf .dfl-ausw-blatt { right: auto; bottom: auto; border: 3px solid var(--k-rand, var(--border)); border-radius: 16px;
  box-shadow: 0 6px 0 var(--k-rand, var(--border)); transform: none; transition: none; padding-bottom: 0; }
.dfl-ausw .app-griff { width: 46px; height: 5px; border-radius: 3px; background: var(--k-linie, var(--border)); margin: 8px auto 4px; flex: none; }
.dfl-ausw.am-knopf .app-griff { display: none; }
.dfl-ausw-kopf { display: flex; align-items: center; gap: 10px; padding: 6px 14px 8px; flex: none; }
.dfl-ausw-kopf h4 { margin: 0; font-size: 16px; font-weight: 800; flex: 1; min-width: 0; color: var(--text); }
.dfl-ausw-kopf h4 small { display: block; font-size: 11.5px; font-weight: 600; color: var(--text3); }
.dfl-ausw-zu { width: 40px; height: 40px; border-radius: 20px; border: 3px solid var(--k-rand, var(--border)); background: var(--bg2); color: var(--text);
  box-shadow: 0 3px 0 var(--k-rand, var(--border)); cursor: pointer; display: grid; place-items: center; flex: none; font-size: 18px; }
.dfl-ausw-suche { margin: 0 14px 8px; display: flex; align-items: center; gap: 8px; padding: 0 10px; height: 42px; border: 3px solid var(--k-linie, var(--border));
  border-radius: 12px; background: var(--bg3); flex: none; color: var(--text3); }
.dfl-ausw-suche[hidden] { display: none; }
.dfl-ausw-suche input { flex: 1; min-width: 0; border: 0; background: none; font: 600 15px var(--font-text, inherit); color: var(--text); outline: none; }
.dfl-ausw-suche:focus-within { border-color: var(--k-blau); }
.dfl-ausw-filter { display: flex; gap: 6px; padding: 0 14px 8px; overflow-x: auto; flex: none; scrollbar-width: none; }
.dfl-ausw-filter[hidden] { display: none; }
.dfl-ausw-chip { flex: none; font: 800 12.5px/1 var(--font-text, inherit); color: var(--text2); background: var(--bg2); border: 2px solid var(--k-linie, var(--border));
  border-radius: 999px; padding: 7px 12px; cursor: pointer; }
.dfl-ausw-chip[aria-pressed="true"] { background: var(--k-blau-knopf); border-color: var(--k-blau-schatten); color: #fff; }
.dfl-ausw-liste { overflow-y: auto; padding: 2px 10px 14px; display: flex; flex-direction: column; gap: 6px; overscroll-behavior: contain; min-height: 80px; }
.dfl-ausw-liste.raster { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 132px), 1fr)); grid-auto-rows: max-content; align-content: start; }
.dfl-ausw-opt { display: flex; flex: none; align-items: center; gap: 10px; width: 100%; text-align: left; padding: 8px 10px; border-radius: 14px; border: 3px solid var(--k-linie, var(--border));
  background: var(--bg2); color: var(--text); cursor: pointer; font: inherit; min-height: 48px; box-sizing: border-box; }
.dfl-ausw-opt:hover, .dfl-ausw-opt:focus-visible { border-color: var(--k-rand, var(--border)); outline: none; }
.dfl-ausw-opt[aria-selected="true"] { border-color: var(--k-blau); background: color-mix(in oklab, var(--k-blau) 12%, var(--bg2)); }
.dfl-ausw-opt:disabled { opacity: .5; cursor: not-allowed; }
.dfl-ausw-text { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; flex: 1; }
.dfl-ausw-text b { font-size: 14.5px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dfl-ausw-text small { font-size: 12px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dfl-ausw-haken { margin-left: auto; color: var(--k-blau-tief, var(--k-blau)); visibility: hidden; flex: none; font-size: 20px; }
html.kenney.dark .dfl-ausw-haken { color: var(--k-blau); }
.dfl-ausw-opt[aria-selected="true"] .dfl-ausw-haken { visibility: visible; }
html .dfl-ausw-opt .wahl-wappen.lg-crest { width: 30px !important; height: 32px !important; flex: none; }
.dfl-ausw-opt .wahl-gesicht { width: 34px; height: 40px; flex: none; }
.dfl-ausw-opt .wahl-leer { width: 34px; height: 40px; display: grid; place-items: center; color: var(--text3); font-size: 20px; flex: none; }
.dfl-ausw-liste.raster .dfl-ausw-opt { flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 10px 8px; position: relative; }
.dfl-ausw-liste.raster .dfl-ausw-text { align-items: center; flex: none; }
.dfl-ausw-liste.raster .dfl-ausw-haken { position: absolute; right: 8px; top: 8px; }
.dfl-ausw-opt .wahl-feld { width: 54px; height: 72px; flex: none; }
.dfl-ausw-nichts { padding: 18px; text-align: center; color: var(--text3); }
@media (prefers-reduced-motion: reduce) { .dfl-ausw-blatt, .dfl-ausw-hg { transition: none; } }
