/* ==========================================================================
   Stats-Seite

   Karten und Verlauf kommen aus account.css, die hier mitgeladen wird.
   Diese Datei enthaelt nur, was es dort noch nicht gibt: die Levelkarte,
   die Punkteerklaerung und den Hinweis fuer nicht angemeldete Besucher.
   ========================================================================== */

/* Der Kopfbereich der Seite (.pc-stats-head) ist mit 6.88.0 entfallen, und
   mit ihm seine Breitenregel samt den beiden Medienstufen. Der Inhalt
   darunter steht in .primecup-user-section, und die fuehrt account.css
   bereits mit denselben Werten; hier war nur der Kopf zu versorgen. */

/* ---------- Die Filterleiste über der Turnier-Historie ----------
 *
 * Die Knöpfe kommen seit 6.94.0 aus app.css, damit sie hier genauso
 * aussehen wie auf /turniere/. Zurückgenommen wird nur die BREITE: Dort
 * ist die Leiste ein Block der Seite und trägt `width: var(--pc-width)`,
 * hier steht sie INNERHALB von .primecup-user-section, die dieselbe Breite
 * schon hat. Ohne diese Regel wären es 70 Prozent von 70 Prozent — genau
 * die Falle, die die Zahlenleiste des Roulettes mit 6.71.0 hatte.
 *
 * !important, weil die Grundregel in app.css es ebenfalls trägt; ohne das
 * gewänne sie trotz geringerer Genauigkeit. Genau die Lektion
 * „!important schlägt Genauigkeit".
 *
 * Der Abstand nach unten ist kleiner als die 26 der Seitenfassung: Hier
 * steht direkt darunter die Karte mit der Liste, dort ein ganzer Block. */
.pc-history-filter {
  width: 100% !important;
  max-width: none !important;
  margin: 0 0 14px 0 !important;
  padding: 0 !important;
}

/* ---------- Knöpfe ----------
   Dieselbe Gestaltung wie auf den übrigen Seiten. Sie steht dort jeweils in
   der Seitendatei, deshalb hier ebenfalls: app.css und account.css führen
   sie nicht. */

.pc-cta {
  display: inline-block;
  background: none !important;
  background-color: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 0 4px 0 !important;
  color: var(--pc-text) !important;
  font-family: var(--pc-font-page) !important;
  font-size: 13px !important;
  font-weight: var(--pc-weight-page) !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  border-bottom: 1px solid var(--pc-text) !important;
  cursor: pointer !important;
  transform: none !important;
  transition: opacity 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

.pc-cta:hover {
  background: none !important;
  opacity: 0.6;
  transform: none !important;
  border-bottom-color: var(--pc-accent) !important;
}

.pc-cta-plain {
  border-bottom-color: rgba(255, 255, 255, 0.28) !important;
  color: var(--pc-muted) !important;
}

.pc-cta-plain:hover {
  color: var(--pc-text) !important;
  border-bottom-color: var(--pc-text) !important;
}

/* ---------- Beim Laden ----------
   Der Inhalt ist zunaechst verborgen und erscheint erst, wenn die Daten da
   sind. Ohne reservierte Hoehe waechst die Seite dabei sprunghaft. Dieselbe
   Loesung wie im Leaderboard: Hoehe halten, nach dem Aufbau freigeben. */

.primecup-user-section {
  min-height: 520px;
}

.primecup-user-section.is-ready {
  min-height: 0;
}

@media (max-width: 768px) {
  .primecup-user-section {
    min-height: 420px;
  }
}

/* ---------- Levelkarte ---------- */

.pc-level-card {
  border: 1px solid var(--pc-line);
  border-left: 2px solid var(--pc-gold);
  background: rgba(245, 213, 110, 0.03);
  padding: 22px 24px;
  margin: 0 0 30px 0;
}

/* Kopf, Balken und Hinweis der Levelkarte stehen seit 6.56.0 in site.css.
   Die Spielerkarte zeigt dieselbe Anzeige, und die geht auf jeder Seite auf;
   stats.css laedt nur hier. Verschoben, nicht kopiert. Der Rahmen oben bleibt
   stehen, den gibt es allein auf dieser Seite. */

/* ---------- Punkteerklärung ---------- */

.pc-pts-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.pc-pts-list li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--pc-line);
  font-family: var(--pc-font-page);
  font-size: 13px;
}

.pc-pts-list li:last-child {
  border-bottom: none;
  padding-bottom: 0;
}

.pc-pts-name {
  color: var(--pc-muted);
}

.pc-pts-value {
  font-family: "droid-sans-mono", monospace;
  font-size: 14px;
  color: var(--pc-muted);
  flex-shrink: 0;
}

.pc-pts-value.is-plus {
  color: var(--pc-live);
}

/* Die Bezugsgroesse hinter einem Ereignisnamen, seit 6.99.0. Sie steht bei
   genau einem Eintrag: Der Primy-Gewinn zaehlt je Block gewonnener Punkte
   und nicht je Vorgang, und ohne den Zusatz waere die Zahl daneben nicht
   einzuordnen. Kleiner und blasser als der Name davor, damit die Liste
   ihre Ruhe behaelt. */
.pc-pts-je {
  font-size: 11.5px;
  opacity: 0.75;
  white-space: nowrap;
}

.pc-pts-note {
  margin: 16px 0 0 0 !important;
  font-family: var(--pc-font-page);
  font-size: 12.5px;
  font-weight: var(--pc-weight-page);
  line-height: 1.6;
  color: var(--pc-muted) !important;
}

/* Der eigene Stand auf dem Weg zum naechsten Block. Er traegt eine Zahl,
   die sich aendert, und steht deshalb eine Spur naeher am Text als die
   Erklaerung darueber. */
.pc-pts-stand {
  margin: 10px 0 0 0 !important;
  font-family: var(--pc-font-page);
  font-size: 12.5px;
  font-weight: var(--pc-weight-page);
  line-height: 1.6;
  color: var(--pc-muted) !important;
}

.pc-pts-stand strong {
  font-family: "droid-sans-mono", monospace;
  color: var(--pc-live);
}

/* ---------- Nicht angemeldet ---------- */

.pc-stats-lock {
  border: 1px solid var(--pc-line);
  border-left: 2px solid var(--pc-info);
  background: rgba(82, 176, 242, 0.04);
  padding: 28px 30px;

  /* Der Kasten steht allein auf der Seite. Ohne automatischen Rand klebt
     er links im breiten Behälter und sieht aus wie ein Versehen. */
  max-width: 620px;
  margin: 30px auto 60px auto;
}

.pc-stats-lock-title {
  margin: 0 0 10px 0 !important;
  font-family: var(--pc-font-page);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pc-info) !important;
}

.pc-stats-lock-text {
  margin: 0 0 22px 0 !important;
  font-family: var(--pc-font-page);
  font-size: 14px;
  font-weight: var(--pc-weight-page);
  line-height: 1.65;
  color: var(--pc-text) !important;
}

.pc-stats-lock-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

/* ---------- Schmale Bildschirme ---------- */

@media (max-width: 768px) {
  .pc-level-card {
    padding: 18px 16px;
    margin-bottom: 24px;
  }

  /* Die beiden Ueberschreibungen fuer .pc-level-badge strong und
     .pc-level-head sind mit dem Rest der Levelkarte nach site.css gewandert.
     Nur der Rahmen bleibt hier. */

  .pc-stats-lock {
    padding: 20px 18px;
    margin: 18px auto 40px auto;
  }

  /* Bezeichnung oben, Wert darunter. Nebeneinander bricht der Wert um und
     landet dann links statt rechts. */
  .pc-pts-list li {
    display: block;
    padding-bottom: 10px;
  }

  .pc-pts-name {
    display: block;
    margin-bottom: 3px;
  }

  .pc-pts-value {
    display: block;
  }
}

/* ---------- Was du freigeschaltet hast ----------
 *
 * EINE REINE UEBERSICHT, und das ist seit 6.83.0 wieder so. Mit 6.81.0
 * stand hier der ganze Laden - Dropdowns, Kaufknoepfe, Regler. Gekauft wird
 * seit 6.83.0 auf /shop/, mit einer eigenen Adresse je Bereich; hier steht
 * nur noch, was frei ist.
 *
 * DIE NAMEN SIND DIESELBEN WIE BIS 6.80.0 (.pc-unlock*), und die Regeln
 * ebenfalls. Ein neuer Satz Namen fuer dieselbe Liste waere ein zweiter
 * Baustein gewesen.
 *
 * KEIN AUFKLAPPER MEHR. Bis 6.80.0 gab es .pc-unlock-mehr mit "Alle 9
 * anzeigen"; Robert wollte alles aufgedeckt. Die Regeln dafuer sind
 * ersatzlos entfallen, nachgesehen in includes/, assets/ und Seiten/.
 */

.pc-unlock-title {
  margin: 22px 0 10px 0 !important;
  font-family: var(--pc-font-page);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--pc-muted) !important;
}

.pc-unlock-title:first-child {
  margin-top: 0 !important;
}

.pc-unlock-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.pc-unlock {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-family: var(--pc-font-page);
  font-size: 13px;
  color: var(--pc-muted);
}

/* Gesperrtes bleibt sichtbar. Ein erreichbares Ziel motiviert,
   ein unsichtbares gar nicht. */
.pc-unlock-mark {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border: 1px solid var(--pc-muted);
  background: transparent;
}

.pc-unlock.is-open .pc-unlock-mark {
  background: var(--pc-live);
  border-color: var(--pc-live);
}

.pc-unlock.is-open .pc-unlock-name {
  color: var(--pc-text);
}

.pc-unlock-name {
  flex: 1 1 auto;
}

.pc-unlock-name strong {
  color: var(--pc-text);
}

/* Das Abzeichen in der Liste.
   Ohne Kreis und ohne Grund: Hier steht kein Name daneben, sondern eine
   Bezeichnung, und zwanzig Kreise untereinander waeren eine zweite Spalte.
   Etwas groesser als das Mass aus base.css, damit die Zeichnung neben 13
   Pixel Text noch zu erkennen ist. */
.pc-unlock-av.pc-av-box {
  width: 1.55em;
  height: 1.55em;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  margin-right: 8px;
}

/* Rechts steht, wie man drankommt: "frei", ein Preis oder ein Level.
   Monospace, damit die Preise untereinander fluchten - eine Spalte aus
   Zahlen in einer Proportionalschrift franst aus. */
.pc-unlock-level {
  flex-shrink: 0;
  font-family: "droid-sans-mono", monospace;
  font-size: 11px;
  letter-spacing: 0.4px;
}

.pc-unlock.is-open .pc-unlock-level {
  color: var(--pc-live);
  /* "frei" ist ein Wort, keine Zahl, und steht deshalb in der Seitenschrift
     wie der Rest der Zeile. */
  font-family: var(--pc-font-page);
  letter-spacing: 0.8px;
  text-transform: uppercase;
}

/* Der Weg zum Laden, unter der letzten Liste. */
.pc-unlock-shop {
  margin: 26px 0 0 0 !important;
  padding-top: 18px;
  border-top: 1px solid var(--pc-line);
  font-family: var(--pc-font-page);
  font-size: 12.5px;
  font-weight: var(--pc-weight-page);
  line-height: 1.6;
  color: var(--pc-muted) !important;
}

.pc-unlock-shop strong { color: var(--pc-gold); }

@media (max-width: 768px) {
  .pc-unlock {
    flex-wrap: wrap;
    font-size: 12.5px;
  }
}

/* ---------- Punkteverlauf ---------- */

.pc-log-empty {
  margin: 0 !important;
  font-family: var(--pc-font-page);
  font-size: 13px;
  font-weight: var(--pc-weight-page);
  line-height: 1.6;
  color: var(--pc-muted) !important;
}

.pc-log-day {
  margin-bottom: 20px;
}

.pc-log-day:last-child {
  margin-bottom: 0;
}

.pc-log-day-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 7px;
  margin-bottom: 9px;
  border-bottom: 1px solid var(--pc-line);
}

.pc-log-day-name {
  font-family: var(--pc-font-page);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: var(--pc-text);
}

.pc-log-day-sum {
  font-family: "droid-sans-mono", monospace;
  font-size: 12px;
  color: var(--pc-live);
  flex-shrink: 0;
}

.pc-log-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.pc-log-list li {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-family: var(--pc-font-page);
  font-size: 13px;
  color: var(--pc-muted);
}

.pc-log-time {
  flex-shrink: 0;
  width: 42px;
  font-family: "droid-sans-mono", monospace;
  font-size: 11.5px;
  color: var(--pc-muted);
  opacity: 0.7;
}

.pc-log-name {
  flex: 1 1 auto;
  color: var(--pc-text);
}

/* Woher ein Primy-Gewinn kam, seit 6.99.0. Blasser und kleiner als der
   Name davor: Es ist eine Ergaenzung und keine zweite Ueberschrift. */
.pc-log-quelle {
  font-size: 11.5px;
  color: var(--pc-muted);
  opacity: 0.8;
}

.pc-log-points {
  flex-shrink: 0;
  font-family: "droid-sans-mono", monospace;
  font-size: 13px;
  color: var(--pc-muted);
}

.pc-log-points.is-plus  { color: var(--pc-live); }
.pc-log-points.is-minus { color: var(--pc-accent); }

.pc-log-more {
  margin: 16px 0 0 0 !important;
  font-family: var(--pc-font-page);
  font-size: 11.5px;
  font-weight: var(--pc-weight-page);
  color: var(--pc-muted) !important;
  opacity: 0.7;
}

@media (max-width: 768px) {
  .pc-log-list li {
    font-size: 12.5px;
    gap: 9px;
  }

  .pc-log-time {
    width: 38px;
    font-size: 11px;
  }
}
