@layer screens{
/* v3864 · Ergebnisse · Spieleransicht.
   Keine zweite Spielplanquelle: kommende Spiele leben in Termine. Hier stehen nur
   abgeschlossene Resultate und echte Verbands-Spielberichte. Alle sichtbaren Karten
   sind die kanonische .ez-kachel; Außenabstände liegen im zentralen contracts.css. */
.spb-screen{--spb-akzent:var(--hl)}
.spb-teamwechsel{display:inline-flex;align-items:center;gap:var(--sp-2);min-width:0;max-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.spb-teamwechsel>span{flex:0 0 auto;color:var(--hl-text);font-size:11px;transform:translateY(-1px)}/* Wappenpaar: bei Heimspielen SCH zuerst, auswaerts der Gegner zuerst. */
.spb-wappenbox{position:relative;display:flex;align-items:center;justify-content:center;box-sizing:border-box;background:var(--field);border-radius:var(--r-field);overflow:hidden;color:var(--muted);font-weight:800;line-height:1}
.spb-wappenbox img{display:block;width:82%;height:82%;object-fit:contain}

/* 390a: compact season summary and one card per result. Shared material/pills. */
.spb-bilanz{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-4);padding:var(--row-y) var(--row-x)}
.spb-bilanztext{flex:1 1 145px;min-width:0}
.spb-bilanztext>b{display:block;font-size:var(--fs-row);font-weight:700;line-height:1.35}
.spb-bilanztext>span,.spb-bilanznote{display:block;color:var(--muted);font-size:var(--fs-mini);line-height:1.4}
.spb-bilanztext>span{margin-top:var(--sp-1)}
.spb-form{display:flex;gap:var(--sp-2)}
.spb-formwert{display:flex;align-items:center;justify-content:center;width:var(--sp-7);height:var(--sp-7);border-radius:var(--r-field);font-size:var(--fs-mini);font-weight:800;color:var(--statusfarbe,var(--muted));background:color-mix(in srgb,var(--statusfarbe,var(--muted)) 16%,var(--kachel))}
.spb-resultdot.sieg,.spb-formwert.sieg{--statusfarbe:var(--ok)}
.spb-resultdot.niederlage,.spb-formwert.niederlage{--statusfarbe:var(--bad)}
.spb-resultdot.remis,.spb-formwert.remis,.spb-resultdot.neutral{--statusfarbe:var(--muted)}
.spb-result{display:grid;grid-template-columns:var(--sp-8) minmax(0,1fr) auto;align-items:center;column-gap:var(--sp-4);row-gap:var(--sp-3);width:100%;box-sizing:border-box;padding:var(--row-y) var(--row-x);border:0;color:var(--ink);font-family:var(--f);text-align:left;cursor:pointer}
.spb-result>.spb-wappenbox{width:var(--sp-8);height:var(--sp-8);font-size:var(--fs-mini)}
.spb-result>.spb-wappenbox:not(.leer){background:var(--logo-bg)}
.spb-result>.spb-wappenbox img{width:90%;height:90%}
.spb-resultname{min-width:0;line-height:1.25;overflow-wrap:anywhere}
.spb-score{font-size:var(--fs-lead);font-weight:800;line-height:1.2;white-space:nowrap;text-align:right}

.spb-scoregroup{display:flex;align-items:center;justify-content:flex-end;gap:var(--sp-3)}
.spb-resultdot{background:var(--statusfarbe,var(--muted))}

/* Fixed height like the existing full team/admin cards: async content cannot move the sheet. */
.pf-wrap.bt.spb-report-open .pf-sheet{height:88%;max-height:88%}

/* Echter Verbands-Spielbericht in der Bottom-Card. */
.spb-reportscore{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;column-gap:var(--sp-4);row-gap:var(--sp-3);padding:var(--sp-5)}
.spb-reportscore>span{display:contents}
.spb-reportscore>span>.bericht{grid-row:1;justify-self:center}
.spb-reportscore>span:first-child>.bericht,.spb-reportscore>span:first-child>b{grid-column:1}
.spb-reportscore>span:last-child>.bericht,.spb-reportscore>span:last-child>b{grid-column:3}
.spb-reportscore>span>b{grid-row:2;align-self:start;text-align:center;min-width:0;max-width:100%;color:var(--muted);font-size:var(--fs-sub);font-weight:700;line-height:1.2;overflow-wrap:anywhere}
.spb-reportscore>strong{grid-row:1;grid-column:2;color:var(--ink);font-size:var(--fs-zahl);line-height:1;font-weight:800;letter-spacing:-1px;text-align:center;white-space:nowrap}
.spb-wappenbox.bericht{width:56px;height:56px;font-size:var(--fs-eb)}
.spb-reportloading{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);min-height:84px;color:var(--muted);font-size:var(--fs-sub)}
.spb-reportloading>.sh-spin{width:18px;height:18px;margin:0}.spb-reportloading>b{font-weight:700}
/* 392a: winner/name stack with right-aligned set scores; shared card geometry. */
.spb-reportmatch{display:grid;grid-template-columns:var(--sp-5) minmax(0,1fr) auto;align-items:center;column-gap:var(--sp-3);padding:var(--row-y) var(--row-x)}
.spb-reportnr{color:var(--muted);font-size:var(--fs-sub);font-weight:700;text-align:center}
.spb-reportdot{background:var(--statusfarbe,var(--muted))}
.spb-reportdot.sieg{--statusfarbe:var(--ok)}
.spb-reportdot.niederlage{--statusfarbe:var(--bad)}
.spb-reportnames{min-width:0}
.spb-reportnames>.spb-reportwinner{display:flex;align-items:center;gap:var(--sp-2)}
.spb-reportname{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.spb-reportnames>.pf-row-s{padding-left:calc(9px + var(--sp-2));white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spb-reportsets{display:flex;flex-wrap:nowrap;justify-content:flex-end;align-items:center;color:var(--muted);font-size:var(--fs-sub);font-weight:700;line-height:1.5;font-variant-numeric:tabular-nums}
.spb-reportsets>span{white-space:nowrap}
/* Mehr als drei Sätze: gleiche Schrift, kompakte Zwischenräume statt Trennpunkte. */
.spb-reportsets-dense>.spb-reportsep{width:var(--sp-2);flex:none}
.spb-reportscore>strong.sieg{color:var(--ok)}
.spb-reportscore>strong.niederlage{color:var(--bad)}
.spb-wappenbox.bericht:not(.leer){background:var(--logo-bg)}
.spb-wappenbox.bericht img{width:90%;height:90%}

/* Leere/Lade-/Fehlerzustaende verwenden die gemeinsame Statusfamilie. */

/* Mannschaftswechsel in derselben Card-Sprache. */
.spb-wahl{display:grid;width:100%;grid-template-columns:44px minmax(0,1fr) 24px;align-items:center;gap:var(--sp-4);box-sizing:border-box;padding:var(--row-y) var(--row-x);border:0;color:var(--ink);font-family:var(--f);text-align:left;cursor:pointer}
.spb-wahl.an{outline:1px solid color-mix(in srgb,var(--hl) 48%,transparent);outline-offset:-1px}
.spb-wahl>.spb-wappenbox{width:40px;height:40px;font-size:9px}.spb-wahl>span:nth-child(2){min-width:0}.spb-wahl>span:nth-child(2)>b,.spb-wahl>span:nth-child(2)>i{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spb-wahl>span:nth-child(2)>b{font-size:var(--fs-row);font-weight:800}.spb-wahl>span:nth-child(2)>i{margin-top:3px;color:var(--muted);font-size:var(--fs-sub);font-style:normal}.spb-wahl>em{color:var(--hl-text);font-style:normal;font-weight:900;text-align:right}

@media(max-width:390px){
  .spb-reportmatch{column-gap:var(--sp-2)}

}
}

@layer zustaende{
/* Ergebnisse: gemeinsame Profilgruppen, Sportakzent und deutlich lesbare Endstände. */
body[data-layout="klar"] .spb-modern .spb-list{display:block}
body[data-layout="klar"] .spb-modern :is(.spb-result,.spb-reportmatch,.spb-wahl){position:relative;border:0;border-radius:0;background:transparent;box-shadow:none;color:var(--ink);width:100%;min-width:0}
body[data-layout="klar"] .spb-modern .spb-result{grid-template-columns:var(--sp-8) minmax(0,1fr) auto var(--sp-3)}
body[data-layout="klar"] .spb-modern :is(.spb-result,.spb-reportmatch,.spb-wahl)+:is(.spb-result,.spb-reportmatch,.spb-wahl)::after{content:"";position:absolute;top:0;right:0;height:var(--klar-line-width);background:var(--klar-line);pointer-events:none}
body[data-layout="klar"] .spb-modern :is(.spb-resultname,.spb-bilanztext>b,.spb-wahl>span>b){font-size:var(--fs-row);font-weight:var(--klar-fw-row);line-height:1.45;white-space:normal;overflow-wrap:anywhere}
body[data-layout="klar"] .spb-modern :is(.spb-resultmeta,.spb-bilanztext>span,.spb-wahl>span>i){font-size:var(--fs-sub);line-height:1.5;white-space:normal;overflow-wrap:anywhere;color:var(--muted)}
body[data-layout="klar"] .spb-modern .spb-scoregroup{flex-direction:column;align-items:flex-end}
body[data-layout="klar"] .spb-modern .spb-score{font-size:var(--fs-lead);font-weight:var(--klar-fw-row);line-height:1.25;color:var(--ink)}
body[data-layout="klar"] .spb-modern .spb-verdict{font-size:var(--fs-eb);font-weight:var(--klar-fw-label);letter-spacing:var(--lsp-eb);line-height:1.4;color:var(--muted)}
body[data-layout="klar"] .spb-modern .spb-verdict.sieg{color:var(--ok)}
body[data-layout="klar"] .spb-modern .spb-verdict.niederlage{color:var(--bad)}
body[data-layout="klar"] .spb-modern .spb-chevron{font-size:var(--fs-lead);color:var(--muted)}
body[data-layout="klar"] .spb-modern .spb-bilanz{display:block}
body[data-layout="klar"] .spb-modern .spb-form{border-top:var(--klar-line-width) solid var(--klar-line)}
body[data-layout="klar"] .spb-modern .spb-formwert{font-weight:var(--klar-fw-row)}
body[data-layout="klar"] .spb-modern .spb-reportscore>strong{font-size:var(--fs-event-start);font-weight:var(--klar-fw-row);letter-spacing:0;line-height:1.3}
body[data-layout="klar"] .spb-modern .spb-reportscore>span>b{font-weight:400;line-height:1.5}
body[data-layout="klar"] .spb-modern .spb-reportmatch{grid-template-columns:var(--sp-5) minmax(0,1fr)}
body[data-layout="klar"] .spb-modern :is(.spb-reportname,.spb-reportnames>.pf-row-s){white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.5}
body[data-layout="klar"] .spb-modern .spb-reportnames>.pf-row-t{font-weight:var(--klar-fw-row)}
body[data-layout="klar"] .spb-modern .spb-reportnames>.spb-reportwinner{align-items:baseline}
body[data-layout="klar"] .spb-modern .spb-reportdot{flex-shrink:0}
body[data-layout="klar"] .spb-modern .spb-reportsets{grid-column:2;flex-wrap:wrap;justify-content:flex-start;font-weight:var(--klar-fw-row)}
body[data-layout="klar"] .spb-modern .spb-reportsets>span{border:var(--klar-line-width) solid var(--klar-line);border-radius:var(--r-field);font-variant-numeric:tabular-nums}
body[data-layout="klar"] .spb-modern .spb-wahl.an{outline:0}
body[data-layout="klar"] .spb-modern .spb-wahl.an>span>b{color:var(--hl-text)}
body[data-layout="klar"] .spb-modern .scr-tt{min-width:0}
body[data-layout="klar"] .spb-modern .spb-teamwechsel{display:inline;white-space:normal;overflow-wrap:anywhere}
}

@layer zustaende{
/* Schmale Handys: Metadaten teilen nicht die Restbreite mit der Ergebniswertung.
   Dieselbe Ergebniszeile gilt für Saisonseite und Form-Card; Abstände aus contracts.css. */
@media(max-width:360px){
body[data-layout="klar"] .spb-modern .spb-result>.pf-row-tx{display:contents}
body[data-layout="klar"] .spb-modern .spb-result>.spb-wappenbox{grid-column:1;grid-row:1 / span 2}
body[data-layout="klar"] .spb-modern .spb-result .spb-resultname{grid-column:2;grid-row:1}
body[data-layout="klar"] .spb-modern .spb-result .spb-resultmeta{grid-column:2 / -1;grid-row:2}
body[data-layout="klar"] .spb-modern .spb-result>.spb-scoregroup{grid-column:3;grid-row:1}
body[data-layout="klar"] .spb-modern .spb-result>.spb-chevron{grid-column:4;grid-row:1}
}
}
