:root{color-scheme:light;--farbe-hintergrund: #f1f3f9;--farbe-karte: #ffffff;--farbe-text: #1e2230;--farbe-text-mild: #5b6472;--farbe-akzent: #6366f1;--farbe-akzent-dunkel: #4f46e5;--farbe-akzent-blass: #eef0ff;--farbe-gefahr: #b91c1c;--farbe-sieg: #16a34a;--farbe-unentschieden: #ca8a04;--farbe-niederlage: #dc2626;--farbe-rand: #dfe3ea;--schatten-karte: 0 1px 2px rgba(15, 23, 42, .04), 0 10px 28px -14px rgba(15, 23, 42, .18);--radius-karte: 18px;--radius-button: 10px;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}.kopfleiste{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px;padding:12px 24px;background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--farbe-rand)}.kopfleiste-marke{display:flex;align-items:center;gap:8px;font-weight:700;font-size:1.1rem;margin-right:auto}.kopfleiste-logo{font-size:1.4rem}.kopfleiste-nav{display:flex;gap:4px}.kopfleiste-nav a{padding:8px 14px;border-radius:var(--radius-button);text-decoration:none;color:var(--farbe-text-mild);font-weight:600;font-size:.9rem;transition:background-color .15s ease,color .15s ease}.kopfleiste-nav a:hover,.kopfleiste-nav a.aktiv{background:var(--farbe-akzent-blass);color:var(--farbe-akzent-dunkel)}.kopfleiste-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.badge{display:inline-flex;align-items:center;gap:4px;background:var(--farbe-akzent-blass);color:var(--farbe-akzent-dunkel);border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:700;white-space:nowrap}.badge--aktiv{background:#fef3c7;color:#92400e;animation:denk-blinken 1.4s ease-in-out infinite}.toggle-switch{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:.8rem;font-weight:600;color:var(--farbe-text-mild);-webkit-user-select:none;user-select:none}.toggle-switch input{position:absolute;opacity:0;width:1px;height:1px}.toggle-switch-schiene{position:relative;width:40px;height:24px;background:#d7dbe4;border-radius:999px;transition:background-color .2s ease;flex-shrink:0}.toggle-switch-schiene:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;background:#fff;border-radius:50%;transition:transform .2s ease;box-shadow:0 1px 2px #00000040}.toggle-switch input:checked+.toggle-switch-schiene{background:var(--farbe-akzent)}.toggle-switch input:checked+.toggle-switch-schiene:before{transform:translate(16px)}.toggle-switch input:focus-visible+.toggle-switch-schiene{outline:2px solid var(--farbe-akzent-dunkel);outline-offset:2px}.kopfleiste-reset{font-size:.8rem;font-weight:600;padding:8px 14px;border-radius:var(--radius-button);border:1px solid var(--farbe-rand);background:#fff;color:var(--farbe-gefahr);cursor:pointer;white-space:nowrap}.kopfleiste-reset:hover:not(:disabled){background:#fef2f2}.kopfleiste-reset:disabled{opacity:.5;cursor:not-allowed}.seite-einzeln{max-width:560px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:20px}.seite-breit{max-width:980px;margin:0 auto;padding:20px;display:flex;flex-direction:column;gap:20px}.parameter-raster{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.panel--intro{background:linear-gradient(135deg,var(--farbe-akzent-blass),var(--farbe-karte) 65%)}.panel--intro p{margin:0 0 10px;line-height:1.55;color:var(--farbe-text)}.panel--intro p:last-child{margin-bottom:0}.panel{background:var(--farbe-karte);border:1px solid var(--farbe-rand);border-radius:var(--radius-karte);box-shadow:var(--schatten-karte);padding:22px}.panel h2{margin-top:0;margin-bottom:14px;font-size:1.05rem}.panel h3{font-size:.9rem;margin:0 0 10px;color:var(--farbe-text-mild);text-transform:uppercase;letter-spacing:.03em}.panel-trenner{border:none;border-top:1px solid var(--farbe-rand);margin:20px 0}.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:12px;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}.board--kompakt{max-width:200px;margin:8px auto}.board--kompakt .board-feld{font-size:1.4rem;min-height:44px;min-width:44px}.board-feld-symbol{display:inline-block;animation:einpoppen .25s cubic-bezier(.34,1.56,.64,1)}@keyframes einpoppen{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.board-feld-gewinn{background:#bbf7d0!important;border-color:var(--farbe-sieg);animation:gewinn-puls .9s ease-in-out infinite}@keyframes gewinn-puls{0%,to{box-shadow:0 0 #16a34a80}50%{box-shadow:0 0 0 6px #16a34a00}}.board-feld-geplant{outline:3px solid var(--farbe-gefahr);outline-offset:-3px;animation:geplant-puls 1s ease-in-out infinite}@keyframes geplant-puls{0%,to{outline-color:#b91c1ce6}50%{outline-color:#b91c1c59}}.status-zeile{font-weight:600;min-height:1.4em}.status-zeile--denkt{animation:denk-blinken 1.2s ease-in-out infinite}@keyframes denk-blinken{0%,to{opacity:1}50%{opacity:.5}}.denk-anzeige{max-width:320px;margin:4px auto 12px;text-align:center}.denk-fortschritt{height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden;margin-bottom:6px}.denk-fortschritt-innen{height:100%;background:var(--farbe-gefahr);animation-name:countdown;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes countdown{0%{width:100%}to{width:0%}}.live-stand{font-size:.85rem;background:var(--farbe-akzent-blass);border-radius:10px;padding:10px 14px;margin:4px 0 8px}.spielverlauf{margin-top:16px;text-align:left}.spielverlauf h3{margin:0 0 6px}.spielverlauf-liste{list-style:decimal;padding-left:22px;margin:0;max-height:160px;overflow-y:auto;background:#f8fafc;border:1px solid var(--farbe-rand);border-radius:10px;padding-top:8px;padding-bottom:8px}.spielverlauf-liste li{font-size:.82rem;margin-bottom:4px;line-height:1.4}.trainings-demo,.trainings-arena{text-align:center}.trainings-demo-titel{font-size:.85rem;margin:0 0 10px;color:var(--farbe-text-mild)}.trainings-demo-kommentar{font-size:.85rem;min-height:2.4em;background:#f8fafc;border-radius:10px;padding:8px}.trainings-demo-kommentar--ende{font-weight:700;background:#fef9c3}.trainings-arena-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.mini-partie{background:#f8fafc;border:1px solid var(--farbe-rand);border-radius:12px;padding:10px}.mini-partie .board{max-width:150px;margin:6px auto}.mini-partie-label{font-size:.78rem;font-weight:700;margin:0 0 4px;color:var(--farbe-akzent-dunkel)}.mini-partie-kommentar{font-size:.72rem;min-height:2.6em;color:var(--farbe-text-mild);margin:4px 0 0}.mini-partie-kommentar--ende{font-weight:700;color:var(--farbe-text)}@media (max-width: 640px){.trainings-arena-raster{grid-template-columns:1fr}}.gegner-vergleich-ergebnisse{margin-top:14px;display:flex;flex-direction:column;gap:10px}.gegner-vergleich-zeile{display:grid;grid-template-columns:140px 1fr 70px;align-items:center;gap:10px}.gegner-vergleich-label{font-size:.82rem;font-weight:600}.gegner-vergleich-quote{font-size:.8rem;color:var(--farbe-text-mild);text-align:right}.stapelbalken{display:flex;height:16px;border-radius:8px;overflow:hidden;background:#e5e7eb}.stapelbalken-segment{height:100%;transition:width .4s ease}.stapelbalken-segment.sieg{background:var(--farbe-sieg)}.stapelbalken-segment.unentschieden{background:var(--farbe-unentschieden)}.stapelbalken-segment.niederlage{background:var(--farbe-niederlage)}@media (max-width: 640px){.gegner-vergleich-zeile{grid-template-columns:1fr;gap:4px}.gegner-vergleich-quote{text-align:left}}.fehlerquote-regler{margin-top:12px;padding-top:12px;border-top:1px dashed var(--farbe-rand)}.fehlerquote-regler label{display:block;font-size:.85rem;margin-bottom:6px}.fehlerquote-regler input[type=range]{width:100%;accent-color:var(--farbe-akzent)}.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:var(--farbe-text-mild);margin-top:4px}.primaer-button,.sekundaer-button,.gefahr-button{font-size:1rem;padding:12px 18px;border-radius:var(--radius-button);border:none;cursor:pointer;min-height:44px;font-weight:600;transition:transform .08s ease,background-color .15s ease}.primaer-button:active:not(:disabled),.sekundaer-button:active:not(:disabled){transform:scale(.97)}.primaer-button{background:var(--farbe-akzent);color:#fff}.primaer-button:hover:not(:disabled){background:var(--farbe-akzent-dunkel)}.primaer-button:disabled{background:#b7bacb;cursor:not-allowed}.sekundaer-button{background:#eceef4;color:var(--farbe-text);margin-top:10px}.sekundaer-button:hover:not(:disabled){background:#e1e4ee}.button-reihe{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.preset{padding:10px 16px;min-height:44px;border-radius:var(--radius-button);border:2px solid var(--farbe-rand);background:#fff;cursor:pointer;font-weight:600}.preset.aktiv{border-color:var(--farbe-akzent);color:var(--farbe-akzent-dunkel);background:var(--farbe-akzent-blass)}.segmented-control{display:inline-flex;background:#eceef4;border-radius:var(--radius-button);padding:4px;margin-bottom:16px;gap:4px}.segmented-option{border:none;background:transparent;padding:9px 16px;border-radius:7px;font-weight:600;font-size:.9rem;cursor:pointer;color:var(--farbe-text-mild);min-height:40px}.segmented-option.aktiv{background:#fff;color:var(--farbe-akzent-dunkel);box-shadow:0 1px 3px #0f172a26}fieldset{border:none;padding:0;margin:0 0 8px}legend{font-weight:700;margin-bottom:8px;padding:0;font-size:.9rem}.hinweistext{font-size:.82rem;color:var(--farbe-text-mild);line-height:1.4}.parameter-gruppe{margin:0 0 18px}.parameter-gruppe:last-child{margin-bottom:0}.parameter-gruppe label{display:block;font-weight:600;font-size:.88rem;margin:12px 0 4px}.parameter-gruppe label:first-child{margin-top:0}.parameter-gruppe input[type=range]{width:100%;height:32px;accent-color:var(--farbe-akzent)}.checkbox-zeile{display:flex!important;align-items:center;gap:8px;font-weight:600;font-size:.88rem;cursor:pointer}.checkbox-zeile input{width:20px;height:20px;accent-color:var(--farbe-akzent)}.eigene-episoden-label{display:flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;color:var(--farbe-text-mild);margin-bottom:16px}.eigene-episoden-eingabe{width:110px;padding:8px 10px;font-size:.95rem;border:2px solid var(--farbe-rand);border-radius:var(--radius-button);min-height:40px}.eigene-episoden-eingabe:focus{outline:none;border-color:var(--farbe-akzent)}.belohnung-raster{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:10px}.belohnung-raster label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;font-weight:600;color:var(--farbe-text-mild);margin:0}.belohnung-raster input{padding:10px;font-size:1rem;font-weight:700;color:var(--farbe-text);border:2px solid var(--farbe-rand);border-radius:var(--radius-button);min-height:44px;text-align:center}.belohnung-raster input:focus{outline:none;border-color:var(--farbe-akzent)}.fortschritt-leiste{position:relative;background:#e5e7eb;border-radius:var(--radius-button);height:28px;margin:10px 0;overflow:hidden}.fortschritt-leiste-innen{background:var(--farbe-akzent);height:100%;transition:width .15s ease}.fortschritt-leiste-innen--aktiv{background-image:linear-gradient(135deg,var(--farbe-akzent) 25%,var(--farbe-akzent-dunkel) 25%,var(--farbe-akzent-dunkel) 50%,var(--farbe-akzent) 50%,var(--farbe-akzent) 75%,var(--farbe-akzent-dunkel) 75%,var(--farbe-akzent-dunkel));background-size:32px 32px;animation:fortschritt-streifen 1s linear infinite}@keyframes fortschritt-streifen{0%{background-position:0 0}to{background-position:32px 0}}.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:var(--radius-button);min-height:44px}.einreichung-formular input[type=text]:focus{outline:none;border-color:var(--farbe-akzent)}.rueckmeldung{padding:10px 12px;border-radius:var(--radius-button);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:var(--radius-karte);overflow:hidden;box-shadow:var(--schatten-karte)}.leaderboard-tabelle th,.leaderboard-tabelle td{padding:14px 16px;border-bottom:1px solid var(--farbe-rand);text-align:left}.leaderboard-tabelle th{background:var(--farbe-akzent-blass);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:var(--farbe-text-mild);font-size:.9rem}@media (max-width: 760px){.parameter-raster{grid-template-columns:1fr}.seite-breit,.seite-einzeln{padding:12px}}@media (max-width: 640px){.kopfleiste{padding:10px 14px}.kopfleiste-status .badge{display:none}.leaderboard-tabelle{font-size:1rem}}
