/* Spielerkarte K3 «Sammelkarte» (Vasco, 2026-10-20). Aus entwuerfe/spielerkarten/karten.css: Fenster, Karte, gemeinsame Bausteine, K3.
   Nur Tokens aus Kern 1.15.4. Profilbilder rund. */

/* Fenster wie #profil in s7.html. Am Handy mit Rand rundherum, damit ein Tipp daneben schliesst (Vasco, 2026-10-20) */
.fenster.fenster--vorschau.k-fenster{width:min(60rem,calc(100vw - 2 * var(--gutter)));padding:0;overflow:hidden;background:var(--surface-base)}
.k-fenster::backdrop{background:color-mix(in oklab,var(--navy) 85%,transparent);backdrop-filter:blur(4px)}
html:has(.k-fenster[open]){overflow:hidden}
.k-fenster .fenster__kopf{position:absolute;right:var(--space-sm);top:var(--space-sm);z-index:var(--z-ueber)}
.k-fenster .fenster__inhalt{max-height:88vh;padding:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
.k-fenster .k-karte{border:0;border-radius:0;box-shadow:none}
@media (max-width:620px){
 .fenster.fenster--vorschau.k-fenster{width:calc(100vw - 2 * var(--space-sm));max-width:none;max-height:calc(100dvh - 2 * var(--space-xl));border-radius:var(--r-xl)}
 .k-fenster .fenster__inhalt{max-height:calc(100dvh - 2 * var(--space-xl))}
}

/* ---------- Karte (Brand Guide 70: Navy, leicht transparent, Blur) ---------- */
.k-karte{container-type:inline-size;position:relative;min-width:0;color:var(--ink);background:var(--card);border:var(--border-w) solid var(--card-brd);border-radius:var(--r-xl);box-shadow:var(--e-2);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow:clip}
.k-karte h4{display:flex;align-items:center;gap:var(--space-2xs);margin:0 0 var(--space-sm);font-size:var(--text-xs);font-weight:var(--fw-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted)}
.k-karte .k-block{min-width:0}
.k-fuss{margin:0 0 var(--space-sm);font-size:var(--text-xs);color:var(--ink-faint);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3xs)}
.k-satz{margin:var(--space-sm) 0 0;font-size:var(--text-sm);color:var(--ink-muted)}
.k-satz b{color:var(--ink)}
.k-gold{color:var(--accent-2)}
.k-zuwenig{margin:0}

/* Profilbild immer rund (Vasco, 2026-10-20) */
.k-emb{--emb:6rem;display:inline-grid;place-items:center;flex:none;width:var(--emb);aspect-ratio:1;border-radius:var(--r-pill);overflow:hidden;background:radial-gradient(circle at 50% 40%,var(--accent-soft),var(--surface-base) 80%)}
.k-emb img{width:100%;height:100%;object-fit:cover}
.k-emb b{font-size:calc(var(--emb) * .3);font-weight:var(--fw-extrabold);color:var(--ink)}

.k-club{display:block;font-size:var(--text-xs);font-weight:var(--fw-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted)}
.k-name{margin:0;font-size:min(var(--text-5xl),10cqi);line-height:.95;letter-spacing:var(--tracking-tight);overflow-wrap:break-word;hyphens:manual}
.k-name span{color:var(--ink-muted);font-weight:var(--fw-regular)}
.k-best{font-size:var(--text-sm);color:var(--ink-muted)}
.k-best b{color:var(--ink)}
.k-best b.k-gold{color:var(--accent-2)}

/* Leiste: Leo WS 2026 und Disziplin */
.k-leiste{display:grid;gap:var(--space-sm);min-width:0}
.k-leiste__wahl{display:grid;gap:var(--space-2xs);min-width:0}
.k-leiste__wahl > small{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-faint)}
.k-wahl{flex-wrap:wrap;max-width:100%}

/* ITSF und CH mit Lage in der Liste */
.k-raenge{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-sm)}
.k-rang{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;gap:0 var(--space-2xs);padding:var(--space-xs) var(--space-sm);border:var(--border-w) solid var(--card-brd);border-radius:var(--r-md);background:color-mix(in oklab,var(--surface-raised) 50%,transparent);min-width:0}
.k-rang small{font-size:var(--text-2xs);font-weight:var(--fw-extrabold);letter-spacing:var(--tracking-wide);color:var(--ink-faint)}
.k-rang b{font-size:var(--text-xl);font-weight:var(--fw-extrabold);font-variant-numeric:tabular-nums}
.k-rang > span{font-size:var(--text-xs);color:var(--ink-faint);white-space:nowrap}
.k-rbalken{grid-column:1 / -1;position:relative;height:var(--space-3xs);margin:var(--space-xs) var(--space-2xs) var(--space-3xs);border-radius:var(--r-pill);background:color-mix(in oklab,var(--ink-faint) 28%,transparent)}
.k-rbalken i{position:absolute;left:var(--x);top:50%;width:var(--space-sm);height:var(--space-sm);border-radius:var(--r-pill);background:var(--accent);transform:translate(-50%,-50%)}

/* Zahlen als Bild */
.k-perlen{--d:.8rem;display:flex;flex-wrap:wrap;row-gap:var(--space-2xs);min-width:0}
.k-perlen i{display:grid;place-items:center;width:calc(var(--d) + var(--space-2xs));height:calc(var(--d) + var(--space-2xs))}
.k-perlen i::after{content:"";box-sizing:border-box;width:var(--d);height:var(--d);border-radius:var(--r-pill);border:var(--border-w-stark) solid var(--ink-faint)}
.k-perlen i.s::after{background:var(--accent);border-color:var(--accent)}
.k-perlen i.serie{background:color-mix(in oklab,var(--accent) 32%,transparent)}
.k-perlen i.serie-a{border-start-start-radius:var(--r-pill);border-end-start-radius:var(--r-pill)}
.k-perlen i.serie-z{border-start-end-radius:var(--r-pill);border-end-end-radius:var(--r-pill)}
.k-serie{display:inline-flex;flex-wrap:wrap;gap:var(--space-3xs);width:fit-content;max-width:100%;padding:var(--space-3xs);border-radius:var(--r-pill);background:color-mix(in oklab,var(--accent) 28%,transparent)}
.k-serie i{width:var(--space-sm);height:var(--space-sm);border-radius:var(--r-pill);background:var(--accent)}
.k-split{display:flex;gap:var(--space-3xs);height:var(--space-xs);min-width:0}
.k-split i{flex-basis:0;min-width:0;border-radius:var(--r-pill)}
.k-split i:first-child{background:var(--accent)}
.k-split i:last-child{background:color-mix(in oklab,var(--ink-faint) 40%,transparent)}
.k-feld{display:block;height:var(--space-2xs);border-radius:var(--r-pill);background:color-mix(in oklab,var(--ink-faint) 28%,transparent);overflow:hidden}
.k-feld i{display:block;height:100%;width:var(--x);border-radius:inherit;background:var(--accent)}
.k-feld--gold i{background:var(--accent-2)}
.k-folge{display:inline-flex;flex-wrap:wrap;gap:var(--space-3xs)}
.k-folge i{display:grid;place-items:center;width:1.3rem;height:1.3rem;border-radius:var(--r-pill);border:var(--border-w) solid var(--ink-faint);font-style:normal;font-size:var(--text-2xs);font-weight:var(--fw-extrabold);color:var(--ink-muted)}
.k-folge i.s{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.k-ring{--p:0;position:relative;display:grid;place-items:center;width:5rem;aspect-ratio:1;border-radius:var(--r-pill);background:conic-gradient(var(--accent) calc(var(--p) * 1%),color-mix(in oklab,var(--ink-faint) 25%,transparent) 0)}
.k-ring--gold{background:conic-gradient(var(--accent-2) calc(var(--p) * 1%),color-mix(in oklab,var(--ink-faint) 25%,transparent) 0)}
.k-ring::before{content:"";position:absolute;inset:var(--space-xs);border-radius:inherit;background:var(--surface-raised)}
.k-ring b{position:relative;font-size:var(--text-lg);font-weight:var(--fw-extrabold);font-variant-numeric:tabular-nums}
.k-chip{display:inline-flex;align-items:baseline;gap:var(--space-2xs);padding:var(--space-3xs) var(--space-sm);border:var(--border-w) solid var(--card-brd);border-radius:var(--r-pill);font-size:var(--text-xs);color:var(--ink-muted)}
.k-chip b{color:var(--ink);font-variant-numeric:tabular-nums}
.k-chip--gold{border-color:var(--accent-2)}
.k-chip--gold b{color:var(--accent-2)}

/* Kacheln */
.k-kachel{display:grid;align-content:start;gap:var(--space-2xs);padding:var(--space-md);border:var(--border-w) solid var(--card-brd);border-radius:var(--r-lg);background:color-mix(in oklab,var(--surface-raised) 55%,transparent);min-width:0}
.k-kachel > small{display:flex;align-items:center;gap:var(--space-3xs);font-size:var(--text-xs);color:var(--ink-faint)}
.k-kachel > span{font-size:var(--text-xs);color:var(--ink-muted);overflow-wrap:anywhere}
.k-gross{font-size:var(--text-4xl);font-weight:var(--fw-extrabold);line-height:1;font-variant-numeric:tabular-nums}

/* Bilanz je Disziplin */
.k-bilanz{display:grid;gap:var(--space-sm)}
@container (min-width:44rem){.k-bilanz{grid-template-columns:repeat(2,minmax(0,1fr))}}
.k-bil{display:grid;gap:var(--space-2xs);padding:var(--space-sm) var(--space-md);border:var(--border-w) solid var(--card-brd);border-radius:var(--r-lg);background:color-mix(in oklab,var(--surface-raised) 45%,transparent);min-width:0}
.k-bil.ist-gewaehlt{border-color:var(--accent)}
.k-bil__kopf{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-sm)}
.k-bil__rang{font-weight:var(--fw-extrabold);white-space:nowrap}
.k-bil__rang small{font-weight:var(--fw-regular);color:var(--ink-faint)}
.k-bil__mit{font-size:var(--text-xs);color:var(--ink-faint)}
.k-bil__folgen{display:flex;flex-wrap:wrap;gap:var(--space-xs) var(--space-md)}
.k-bil__folgen > span{display:flex;align-items:center;gap:var(--space-2xs);min-width:0}
.k-bil__folgen small{font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-faint)}

/* Spiele */
.k-spiele{display:grid;gap:var(--space-sm)}
.k-spiel{border:var(--border-w) solid var(--card-brd);border-radius:var(--r-md);overflow:hidden;background:color-mix(in oklab,var(--surface-raised) 55%,transparent);min-width:0}
.k-spiel__kopf{display:flex;justify-content:space-between;gap:var(--space-sm);padding:var(--space-2xs) var(--space-sm);font-size:var(--text-2xs);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-faint)}
.k-spiel__kopf b{color:var(--ink-muted)}
.k-spiel--sieg .k-spiel__kopf b{color:var(--accent)}
.k-spiel__zeile{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--n),1.6rem) 2rem;align-items:center;padding:var(--space-2xs) var(--space-sm);border-top:var(--border-w) solid var(--card-brd);font-size:var(--text-sm);font-variant-numeric:tabular-nums}
.k-spiel__zeile > span{text-align:center;color:var(--ink-faint)}
.k-spiel__zeile > span.gew{color:var(--ink);font-weight:var(--fw-extrabold)}
.k-spiel__zeile > .k-spiel__n{text-align:left;color:var(--ink-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-spiel__zeile--wir > .k-spiel__n{color:var(--ink);font-weight:var(--fw-bold)}
.k-spiel__zeile > b{text-align:right;font-size:var(--text-md)}
.k-spiel--sieg .k-spiel__zeile--wir > b{color:var(--accent)}

/* Spielstil */
.k-netz{display:grid;justify-items:center;min-width:0}
.k-netz .rl-netz{max-width:100%;height:auto}
.k-netz .rl-netz__form--a{fill:var(--accent);stroke:var(--accent)}
.k-erkl{margin-top:var(--space-sm)}
.k-erkl__text{display:grid;gap:var(--space-xs);font-size:var(--text-sm);color:var(--ink-muted)}
.k-erkl__text p{margin:0}

/* Alle Kennzahlen */
.k-kzklapp{margin-top:var(--space-md)}
.k-kzliste{list-style:none;margin:0;padding:0;display:grid}
.k-kz{display:grid;grid-template-columns:minmax(0,1fr) 4.5rem 8rem;gap:var(--space-sm);align-items:center;padding:var(--space-xs) var(--space-2xs);border-top:var(--border-w) solid var(--card-brd);cursor:pointer;border-radius:var(--r-sm)}
.k-kz:hover{background:color-mix(in oklab,var(--accent) 10%,transparent)}
.k-kz:focus-visible{outline:var(--border-w-stark) solid var(--focus);outline-offset:calc(var(--border-w-stark) * -1)}
.k-kz__t b{font-size:var(--text-sm)}
.k-kz__t small{display:block;font-size:var(--text-2xs);color:var(--ink-faint);line-height:var(--leading-snug)}
.k-kz__w{text-align:right;font-weight:var(--fw-extrabold);font-variant-numeric:tabular-nums;white-space:nowrap}
.k-kz__r{display:grid;grid-template-columns:minmax(0,1fr) 2.2ch;gap:var(--space-xs);align-items:center;font-variant-numeric:tabular-nums}
.k-kz__r b{text-align:right;font-size:var(--text-sm)}
.k-kz__bahn{display:block;height:var(--space-2xs);border-radius:var(--r-pill);background:color-mix(in oklab,var(--ink-faint) 25%,transparent)}
.k-kz__bahn i{display:block;height:100%;width:var(--x);border-radius:inherit;background:var(--accent)}
@container (max-width:30rem){.k-kz{grid-template-columns:minmax(0,1fr) auto}.k-kz__r{grid-column:1 / -1}}

.k-reiter{margin-top:var(--space-sm)}
.k-reiter .reiter__blatt{min-width:0}


/* ============ K3 Sammelkarte ============ */
.k3-oben{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:end;justify-content:space-between;padding:var(--space-lg) var(--space-md) var(--space-md)}
.k3-oben .k-leiste{flex:1 1 18rem}
.k3-dreh{gap:var(--space-xs)}
.k3-buehne{display:grid;gap:var(--space-lg);padding:0 var(--space-md) var(--space-xl);transform-style:preserve-3d}
.k3:not([data-gedreht]) .k3-hinten,.k3[data-gedreht] .k3-vorne{display:none}
.k3-vorne{--mx:30%;--my:20%;position:relative;isolation:isolate;display:flex;flex-direction:column;width:100%;max-width:26rem;aspect-ratio:5 / 7;margin-inline:auto;padding:var(--space-md);border-radius:var(--r-xl);overflow:hidden;
  background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--ink) 4%,transparent) 0 2px,transparent 2px 14px),linear-gradient(165deg,color-mix(in oklab,var(--accent) 45%,var(--surface-base)),var(--surface-base) 70%);
  border:var(--border-w-stark) solid color-mix(in oklab,var(--accent) 60%,transparent);box-shadow:var(--e-3);
  transform:perspective(60rem) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform var(--t-fast) var(--ease)}
.k3-holo{position:absolute;inset:0;z-index:3;pointer-events:none;mix-blend-mode:screen;opacity:.75;
  background:radial-gradient(circle at var(--mx) var(--my),color-mix(in oklab,var(--ink) 26%,transparent),transparent 40%),
    linear-gradient(115deg,transparent 25%,color-mix(in oklab,var(--accent) 30%,transparent) 42%,color-mix(in oklab,var(--ink) 14%,transparent) 50%,transparent 62%);
  background-size:100% 100%,250% 250%;background-position:0 0,var(--mx) var(--my)}
.k3-ecke{position:absolute;text-align:center;top:var(--space-md);left:var(--space-md);z-index:2;display:grid;justify-items:center;gap:0;line-height:1}
.k3-ecke b{font-size:var(--text-4xl);font-weight:var(--fw-extrabold);font-variant-numeric:tabular-nums}
.k3-ecke small{font-size:var(--text-xs);font-weight:var(--fw-extrabold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--ink-muted)}
.k3-ecke small + small{margin-top:var(--space-3xs);font-size:var(--text-2xs);font-weight:var(--fw-bold);letter-spacing:0;text-transform:none;color:var(--ink-faint)}
.k3-flagge{position:absolute;top:var(--space-md);right:var(--space-md);z-index:2}
.k3-bild{position:relative;flex:1 1 auto;min-height:10rem;margin-top:var(--space-2xl)}
.k3-emb{position:absolute;bottom:0;left:50%;width:auto;height:100%;max-height:100%;transform:translateX(-50%);filter:drop-shadow(0 var(--space-xs) var(--space-md) color-mix(in oklab,var(--surface-base) 80%,transparent))}
.k3-band{position:relative;z-index:1;display:grid;justify-items:center;gap:var(--space-3xs);margin:var(--space-sm) calc(var(--space-md) * -1) var(--space-xs);padding:var(--space-xs) var(--space-md);background:color-mix(in oklab,var(--surface-base) 75%,transparent);border-block:var(--border-w) solid color-mix(in oklab,var(--accent) 50%,transparent);text-align:center}
.k3 .k3-band .k-name{font-size:min(var(--text-3xl),9cqi)}
.k3-werte{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--space-md);margin:0;font-size:var(--text-xs)}
.k3-werte > div{display:flex;align-items:baseline;gap:var(--space-xs);padding:var(--space-3xs) 0;border-bottom:var(--border-w) solid color-mix(in oklab,var(--ink) 10%,transparent);min-width:0}
.k3-werte dd{margin:0;min-width:2ch;font-size:var(--text-md);font-weight:var(--fw-extrabold);text-align:right;font-variant-numeric:tabular-nums}
.k3-werte dt{color:var(--ink-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k3-werte .k-gold dd,.k3-werte .k-gold dt{color:var(--accent-2)}
.k3-leer{margin:0;text-align:center;color:var(--ink-faint);font-size:var(--text-sm)}
.k3-fuss{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2xs) var(--space-md);margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--ink-muted)}
.k3-fuss b{color:var(--ink)}
.k3-hinten{display:grid;gap:var(--space-lg);align-content:start;min-width:0;padding:var(--space-lg) var(--space-md);border-radius:var(--r-xl);background:var(--frost);border:var(--border-w) solid var(--card-brd)}
.k3-hkopf{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--space-sm);align-items:center}
.k3-hemb{--emb:3.25rem}
.k3 .k3-hname{font-size:var(--text-2xl)}
.k3-tab{display:grid;margin:0;border-top:var(--border-w-stark) solid var(--accent)}
.k3-tab > div{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:var(--border-w) solid var(--card-brd)}
.k3-tab dt{display:flex;align-items:center;gap:var(--space-3xs);font-size:var(--text-xs);font-weight:var(--fw-bold);color:var(--ink-faint)}
.k3-tab dd{display:grid;gap:var(--space-2xs);margin:0;font-size:var(--text-sm);color:var(--ink-muted);min-width:0}
.k3-tab dd b{font-size:var(--text-xl);color:var(--ink);font-variant-numeric:tabular-nums}
.k3-tab dd b.k-gold{color:var(--accent-2)}
.k3-tab dd small{font-size:var(--text-2xs);color:var(--ink-faint)}
@container (min-width:44rem){
 .k-karte.k3 .k3-vorne{display:flex}
 .k-karte.k3 .k3-hinten{display:grid}
 .k3-dreh{display:none}
 .k3-buehne{grid-template-columns:minmax(17rem,22rem) minmax(0,1fr);align-items:start;padding-inline:var(--space-xl)}
 .k3-vorne{position:sticky;top:var(--space-md)}
 .k3-oben{padding-inline:var(--space-xl)}
 .k3-bilanz{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){.k3-vorne{transform:none;transition:none}}

/* Runde 34: Platz «6.» und «von 69» mit Abstand */
.k-kz__r small{margin-left:var(--space-3xs);white-space:nowrap}
.k-kz__platz{display:inline-flex;align-items:baseline;gap:var(--space-3xs);white-space:nowrap}
.k-kz__platz small{margin-left:0}
/* Runde 34: Platzspalte breit genug für «15. von 69» */
.k-kz{grid-template-columns:minmax(0,1fr) 4.5rem 10rem}
.k-kz__r{grid-template-columns:minmax(0,1fr) auto}
@container (max-width:30rem){.k-kz{grid-template-columns:minmax(0,1fr) auto}.k-kz__r{grid-column:1 / -1}}
/* Runde 35: In der Kartenreihe die ganze Vorderseite zeigen (ohne festes Seitenverhältnis), Fusszeile wie im Fenster weg */
.k3--reihe .k3-vorne{aspect-ratio:auto;height:auto;overflow:visible}
.k3--reihe .k3-fuss{display:none}
.k3--reihe{border:0;background:none;box-shadow:none;padding:0}
.k3--reihe .k3-buehne{padding:0}
/* Runde 36 (Vasco): Karten in der Reihe gleich hoch, ohne Schatten; Platz 1 Gold, 2 Silber, 3 Bronze, alle anderen blau */
.s7-kartenreihe{align-items:stretch}
.k3--reihe,.k3--reihe .k3-buehne{height:100%}
.k3--reihe .k3-buehne{display:grid}
.k3--reihe .k3-vorne{height:100%;box-shadow:none;transform:none}
.k3--reihe .k3-werte{margin-top:auto}
.k3--gold{--metall:var(--accent-2)}
.k3--silber{--metall:color-mix(in oklab,var(--ink) 72%,var(--surface-raised))}
.k3--bronze{--metall:color-mix(in oklab,var(--ton-4) 70%,var(--accent-2))}
:is(.k3--gold,.k3--silber,.k3--bronze) .k3-vorne{background:repeating-linear-gradient(135deg,color-mix(in oklab,var(--ink) 5%,transparent) 0 2px,transparent 2px 14px),linear-gradient(165deg,color-mix(in oklab,var(--metall) 55%,var(--surface-base)),var(--surface-base) 75%);border-color:color-mix(in oklab,var(--metall) 85%,transparent)}
:is(.k3--gold,.k3--silber,.k3--bronze) .k3-ecke b{color:var(--metall)}
/* Runde 39 (Vasco): Werte brechen nie um, «%» klein; jede Karte bleibt gleich lang */
.k3-werte dd{white-space:nowrap;flex:none}
.k3-werte dd small{font-size:.62em;font-weight:var(--fw-bold);margin-left:.08em}
.k3-werte dt{flex:1;min-width:0}
.k3-werte > div{flex-wrap:nowrap}
