loadStats schrieb state.stats/range/stamp schon beim Eintreffen der Antwort, vor der current()-Prüfung der Aufrufer. Eine späte 30-Tage-Antwort überschrieb so den 7-Tage-Stand, und "Alle anzeigen" oder der Ranglisten-Umschalter malte danach mit 30-Tage-Zahlen. Jetzt liefert fetchStats nur die Antwort, adopt() übernimmt sie erst nach current(). Übersicht und Heatmap teilen sich eine laufende Anfrage je Zeitraum. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>