Rechtstexte, FinalFlux-Überarbeitung, neue Login-Optik, Konto-Löschung-Fix, BTTF-Farbrelaunch

- Rechtsseiten: Impressum-Platzhalter + echte Nutzungsbedingungen/AGB,
  Datenschutz (DSGVO) und Richtlinien; LegalController/ImpressumController,
  Footer app-weit verlinkt, Seiten als permitAll freigegeben.
- FinalFlux: 28 Themen / ~742 Fragen überarbeitet (plausible Distraktoren statt
  Dummy-Antworten, echte Erklärungen) + echte Lehrtexte je Seite;
  Netzwerktopologien mit Inline-SVG-Diagrammen (Stern/Bus/Ring/Mesh/Baum).
- Login/Registrierung als kombiniertes Dual-Panel (Slide-Overlay + Neon-Hover-
  Button), ausgelagert nach auth.css; Register-Duplikat -> /?registerError.
- Konto löschen repariert: @Transactional + Löschen von Spielständen,
  Achievements und Profilbild-Datei (DSGVO Art. 17). Impressum-Zurück-Link
  login-abhängig.
- App-weiter Farb-Relaunch auf "Back to the Future"-Palette: Feuer-Amber primär
  + Flux-Blau sekundär, warmer Glow; Dark/Light bleiben. Spiele-Feedback ohne
  Grün: richtig = Blau + Haken, falsch = Rot + Kreuz (neue Tokens
  --success/--danger/--secondary). Legacy-Cyan in style.css auf Variablen.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
AliceDarkest
2026-06-29 19:08:05 +02:00
parent fc98e5aad1
commit 34b050503d
94 changed files with 6712 additions and 4220 deletions
@@ -178,8 +178,8 @@ body.tt-body {
cursor: default;
font-size: clamp(1.2rem, 3vw, 2rem);
}
.tt-tile.answered.correct { border-color: #00ff88; color: #00ff88; background: rgba(0, 255, 136, 0.08); }
.tt-tile.answered.wrong { border-color: #ff6b6b; color: #ff6b6b; background: rgba(255, 107, 107, 0.08); }
.tt-tile.answered.correct { border-color: var(--success); color: var(--success); background: color-mix(in srgb, var(--success) 10%, transparent); }
.tt-tile.answered.wrong { border-color: var(--danger); color: var(--danger); background: color-mix(in srgb, var(--danger) 10%, transparent); }
/* --- Overlays --- */
.tt-overlay {
@@ -237,12 +237,14 @@ body.tt-body {
}
.tt-answer:hover:not(:disabled) { border-color: var(--accent); background: var(--surface); }
.tt-answer:disabled { cursor: default; }
.tt-answer.correct { border-color: #00ff88; background: rgba(0, 255, 136, 0.12); color: #b8ffdc; }
.tt-answer.wrong { border-color: #ff6b6b; background: rgba(255, 107, 107, 0.12); color: #ffd0d0; }
.tt-answer.correct { border-color: var(--success); background: color-mix(in srgb, var(--success) 14%, transparent); color: var(--success); }
.tt-answer.wrong { border-color: var(--danger); background: color-mix(in srgb, var(--danger) 14%, transparent); color: var(--danger); }
.tt-q-feedback { margin-top: 0.9rem; font-weight: 700; min-height: 1.2rem; }
.tt-q-feedback.correct { color: #00ff88; }
.tt-q-feedback.wrong { color: #ff6b6b; }
.tt-q-feedback.correct { color: var(--success); }
.tt-q-feedback.correct::before { content: "\2713 "; font-weight: 800; }
.tt-q-feedback.wrong { color: var(--danger); }
.tt-q-feedback.wrong::before { content: "\2717 "; font-weight: 800; }
.tt-q-actions { display: flex; justify-content: flex-end; margin-top: 1rem; }
@@ -251,7 +253,7 @@ body.tt-body {
.tt-result-score { font-size: 1.4rem; margin-bottom: 0.4rem; color: var(--text); }
.tt-result-score strong { color: var(--accent); }
.tt-result-detail { color: var(--muted); margin-bottom: 0.6rem; }
.tt-result-high { color: #00ff88; font-weight: 800; margin-bottom: 1rem; }
.tt-result-high { color: var(--accent); font-weight: 800; margin-bottom: 1rem; }
.tt-result-high[hidden] { display: none; }
.tt-result-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; margin-top: 1rem; }