:root{color-scheme:light;--farbe-hintergrund: #f4f6f8;--farbe-karte: #ffffff;--farbe-text: #1f2933;--farbe-primaer: #2563eb;--farbe-primaer-dunkel: #1d4ed8;--farbe-gefahr: #b91c1c;--farbe-sieg: #16a34a;--farbe-unentschieden: #ca8a04;--farbe-niederlage: #dc2626;--farbe-rand: #d7dde3;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--farbe-hintergrund);color:var(--farbe-text);-webkit-tap-highlight-color:transparent}.kopfbereich{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:16px 24px;background:var(--farbe-karte);border-bottom:1px solid var(--farbe-rand)}.kopfbereich h1{margin:0;font-size:1.3rem}.kopfbereich nav a{margin-left:16px;padding:10px 16px;border-radius:8px;text-decoration:none;color:var(--farbe-primaer);font-weight:600}.kopfbereich nav a:hover{background:#eef2ff}.seite{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;padding:20px;max-width:1400px;margin:0 auto}.karte{background:var(--farbe-karte);border:1px solid var(--farbe-rand);border-radius:12px;padding:20px}.karte h2{margin-top:0;font-size:1.1rem}.board{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;max-width:320px;margin:12px auto;touch-action:manipulation}.board-feld{position:relative;aspect-ratio:1 / 1;font-size:2.2rem;font-weight:700;background:#eef1f4;border:2px solid var(--farbe-rand);border-radius:10px;min-height:64px;min-width:64px;cursor:pointer;transition:background-color .2s ease}.board-feld:disabled{cursor:default}.board-feld-qwert{position:absolute;bottom:4px;right:6px;font-size:.65rem;font-weight:400;color:#333;opacity:.8}.status-zeile{font-weight:600;min-height:1.4em}.heatmap-legende{max-width:320px;margin:8px auto 16px}.heatmap-legende-balken{height:14px;border-radius:7px;background:linear-gradient(to right,#dd3c3c,#dddd3c,#3cdd3c)}.heatmap-legende-beschriftung{display:flex;justify-content:space-between;font-size:.75rem;color:#555;margin-top:4px}.primaer-button,.sekundaer-button,.gefahr-button{font-size:1rem;padding:12px 18px;border-radius:8px;border:none;cursor:pointer;min-height:44px;font-weight:600}.primaer-button{background:var(--farbe-primaer);color:#fff}.primaer-button:hover:not(:disabled){background:var(--farbe-primaer-dunkel)}.primaer-button:disabled{background:#a9b4c0;cursor:not-allowed}.sekundaer-button{background:#e5e7eb;color:var(--farbe-text);margin-top:10px}.gefahr-button{background:#fee2e2;color:var(--farbe-gefahr);margin-top:14px}.gefahr-button:disabled{opacity:.6;cursor:not-allowed}.checkbox-label{display:flex;align-items:center;gap:8px;justify-content:center;margin:8px 0}.checkbox-label input{width:20px;height:20px}.button-reihe{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.preset{padding:10px 16px;min-height:44px;border-radius:8px;border:2px solid var(--farbe-rand);background:#fff;cursor:pointer;font-weight:600}.preset.aktiv{border-color:var(--farbe-primaer);color:var(--farbe-primaer);background:#eef2ff}.radio-label{display:flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--farbe-rand);border-radius:8px}.radio-label input{width:18px;height:18px}fieldset{border:none;padding:0;margin:0 0 8px}legend{font-weight:700;margin-bottom:8px;padding:0}.hinweistext{font-size:.82rem;color:#555;line-height:1.4}.epsilon-regler{margin:16px 0}.epsilon-regler input[type=range]{width:100%;height:32px}.fortschritt-leiste{position:relative;background:#e5e7eb;border-radius:8px;height:28px;margin:10px 0;overflow:hidden}.fortschritt-leiste-innen{background:var(--farbe-primaer);height:100%;transition:width .15s ease}.fortschritt-leiste span{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:600;color:var(--farbe-text)}.lernkurve-hilfslinie{stroke:#e2e6ea;stroke-width:1}.lernkurve-achsentext{font-size:9px;fill:#667}.lernkurve-linie{fill:none;stroke-width:2.5}.lernkurve-sieg{stroke:var(--farbe-sieg)}.lernkurve-unentschieden{stroke:var(--farbe-unentschieden)}.lernkurve-niederlage{stroke:var(--farbe-niederlage)}.lernkurve-legende{display:flex;gap:16px;flex-wrap:wrap;font-size:.8rem;margin-top:6px}.legende-eintrag{display:flex;align-items:center;gap:6px}.legende-farbe{display:inline-block;width:12px;height:12px;border-radius:3px}.legende-farbe.sieg{background:var(--farbe-sieg)}.legende-farbe.unentschieden{background:var(--farbe-unentschieden)}.legende-farbe.niederlage{background:var(--farbe-niederlage)}.evaluation-panel{display:flex;flex-direction:column;gap:12px}.evaluation-balken{display:flex;flex-direction:column;gap:8px}.evaluation-balken-zeile{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:8px;font-size:.85rem}.evaluation-balken-hintergrund{background:#eef1f4;border-radius:6px;height:18px;overflow:hidden}.evaluation-balken-fuellung{height:100%}.evaluation-balken-fuellung.sieg{background:var(--farbe-sieg)}.evaluation-balken-fuellung.unentschieden{background:var(--farbe-unentschieden)}.evaluation-balken-fuellung.niederlage{background:var(--farbe-niederlage)}.einreichung-formular{display:flex;flex-direction:column;gap:10px}.einreichung-formular input[type=text]{padding:12px;font-size:1rem;border:2px solid var(--farbe-rand);border-radius:8px;min-height:44px}.rueckmeldung{padding:10px 12px;border-radius:8px;font-size:.85rem;font-weight:600}.rueckmeldung-erfolg{background:#dcfce7;color:#15803d}.rueckmeldung-abgelehnt{background:#fef3c7;color:#92400e}.rueckmeldung-fehler{background:#fee2e2;color:#991b1b}.leaderboard-seite{max-width:900px;margin:0 auto;padding:32px;text-align:center}.leaderboard-seite h1{font-size:2rem;margin-bottom:24px}.leaderboard-tabelle{width:100%;border-collapse:collapse;font-size:1.3rem;background:var(--farbe-karte);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.leaderboard-tabelle th,.leaderboard-tabelle td{padding:14px 16px;border-bottom:1px solid var(--farbe-rand);text-align:left}.leaderboard-tabelle th{background:#eef2ff;font-size:1rem;text-transform:uppercase;letter-spacing:.03em}.leaderboard-tabelle tr.erster-platz{background:#fef9c3;font-weight:700}.leaderboard-aktualisiert{margin-top:16px;color:#667;font-size:.9rem}@media (max-width: 640px){.seite{grid-template-columns:1fr;padding:12px}.leaderboard-tabelle{font-size:1rem}}
