/* ======================================================================
   leaderboard.css · Bestenliste: Reiter, Filter, Wochen-Karte, Podest,
   eigener Platz, Tabelle. Baut auf theme.css auf.
   ====================================================================== */

/* ---------- Reiter + Suche ---------- */
.lb-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--s3);margin-bottom:var(--s3)}
.lb-search{margin-left:auto;min-width:220px;flex:0 1 280px}

/* ---------- Filter-Chips ---------- */
.filters{display:flex;flex-wrap:wrap;gap:var(--s2) var(--s5);margin-bottom:var(--s4)}
.flabel{margin-right:var(--s1)}

/* ---------- Wochen-Karte ---------- */
.weekcard{display:grid;grid-template-columns:auto 1fr;gap:var(--s3) var(--s5);align-items:center;margin-bottom:var(--s5)}
.weekcard .who{display:flex;flex-direction:column;align-items:center;gap:var(--s1)}
.weekcard .who b{font:700 var(--fs-3) var(--font-pixel)}
.weeknav{display:flex;align-items:center;gap:var(--s2);margin-bottom:var(--s2)}
.weeknav b{font:700 var(--fs-4) var(--font-pixel)}
.weeknav button{min-width:40px;min-height:36px;cursor:pointer;color:var(--text);background:var(--panel-3);border:2px solid var(--edge);border-radius:var(--radius-sm);font:700 var(--fs-2) var(--font-pixel)}
.weeknav button:disabled{opacity:.35;cursor:default}
.weekcard .kv{display:grid;grid-template-columns:auto 1fr;gap:var(--s1) var(--s3);margin:0;font-size:var(--fs-2)}
.weekcard .kv dt{color:var(--faint);font-family:var(--font-pixel)}
.weekcard .kv dd{margin:0}
.weekcard .kv img{width:32px;height:32px;vertical-align:middle}
@media(max-width:600px){.weekcard{grid-template-columns:1fr}}

/* ---------- Eigener Platz ---------- */
.me-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s3);margin-bottom:var(--s4);padding:var(--s2) var(--s3);
  background:var(--bg-2);border:3px solid var(--edge);border-radius:var(--radius);box-shadow:inset 0 0 0 2px var(--accent-2)}
.me-bar img{width:32px;height:32px}
.me-bar b{font-family:var(--font-pixel)}
.me-bar .btn{margin-left:auto;min-height:36px;padding:6px var(--s3)}

/* ---------- Podest ---------- */
.podium{display:grid;grid-template-columns:1fr 1fr 1fr;align-items:end;gap:var(--s3);margin:var(--s2) 0 var(--s5)}
.podium:empty{display:none}
.place{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}
.place .faces{display:flex;justify-content:center;align-items:flex-end;margin-bottom:var(--s1)}
.place .faces img{width:128px;height:128px;filter:drop-shadow(0 6px 0 rgba(0,0,0,.3))}
.place .faces.team img{width:64px;height:64px;margin:0 -6px}
.place .name{font:700 var(--fs-3) var(--font-pixel);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:2px 2px 0 var(--edge)}
.place .name a{color:var(--text)}
.place .meta{font:var(--fs-2) var(--font-pixel);color:var(--text);text-shadow:2px 2px 0 var(--edge);margin-bottom:var(--s2)}
.block{width:100%;display:grid;place-items:center;border:3px solid var(--edge);border-radius:var(--radius) var(--radius) 0 0;
  box-shadow:inset 0 3px 0 rgba(255,255,255,.35),inset 0 -4px 0 rgba(0,0,0,.2),4px 4px 0 var(--shadow);
  font:700 var(--fs-5) var(--font-pixel);color:#1b1305}
.p1 .block{height:120px;background:var(--rank1)} .p2 .block{height:84px;background:var(--rank2)} .p3 .block{height:60px;background:var(--rank3)}
.p1{order:2} .p2{order:1} .p3{order:3}
@media(max-width:600px){
  .place .faces img{width:64px;height:64px}
  .place .faces.team img{width:32px;height:32px;margin:0 -2px}
  .place .name{font-size:var(--fs-2)}
  .p1 .block{height:84px} .p2 .block{height:60px} .p3 .block{height:44px}
}

/* ---------- Tabelle ---------- */
.lb-table{padding:0;overflow:hidden}
.lb-table table{margin:0}
.lb-table th,.lb-table td{padding:10px var(--s3)}
.lb-table td.r{font:700 var(--fs-2) var(--font-pixel);color:var(--accent-2);width:3em}
.lb-table td.n{font-family:var(--font-pixel);white-space:nowrap}
.lb-table .who{display:flex;align-items:center;gap:var(--s2);min-width:0}
.lb-table .who img{width:32px;height:32px;flex:0 0 auto}
.lb-table .who a{color:var(--text);font-weight:600}
.lb-table .guest{color:var(--faint)}
.lb-table tr.mine td{background:var(--gold-soft)}
.lb-table tr.flash td{animation:flash 1.6s ease-out}
@keyframes flash{0%,30%{background:var(--accent-2);color:var(--accent-2-ink)}}
.chg{font:700 var(--fs-1) var(--font-pixel);white-space:nowrap}
.chg.up{color:var(--ok)} .chg.down{color:var(--danger)} .chg.same{color:var(--faint)}
.chg.new{color:var(--accent-2-ink);background:var(--accent-2);padding:1px 4px;border-radius:var(--radius-sm)}
.heat{color:var(--accent-2);font-family:var(--font-pixel)}
@media(max-width:700px){.lb-table .opt{display:none}.lb-search{flex-basis:100%;margin-left:0}}
