:root{--bg: #eef1f4;--paper: #ffffff;--ink: #16202c;--muted: #5a6675;--line: #d4dbe3;--accent: #2c56c9;--stempel: #b3261e;--feld-hell: #e3e8ef;--feld-dunkel: #8197b1;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #0f141a;--paper: #171e27;--ink: #e4e9ef;--muted: #9aa6b4;--line: #2a3440;--accent: #86a6ff;--stempel: #ff8a80;--feld-hell: #c9d3df;--feld-dunkel: #6c829d;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.5}button{font:inherit;color:inherit}button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.seite{max-width:560px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:max(16px,env(safe-area-inset-top,0px));padding-bottom:max(24px,env(safe-area-inset-bottom,0px))}.start-kopf{display:grid;gap:4px;margin-bottom:16px}.start-kopf p{margin:0;color:var(--muted)}.logo{margin:0;font-size:2.1rem;font-weight:800;letter-spacing:-.02em}.varianten{list-style:none;margin:0;padding:0;display:grid;gap:10px}.variante{width:100%;text-align:left;display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--paper);cursor:pointer;min-height:44px}.variante:disabled{opacity:.6;cursor:wait}.variante-name{font-weight:700;font-size:1.08rem}.variante-kurz{grid-column:1;color:var(--muted);font-size:.94rem}.spass{grid-column:2;grid-row:1 / span 2;align-self:center;color:var(--accent);letter-spacing:1px;font-size:.8rem;white-space:nowrap}.spass-leer{color:var(--line)}.hinweis{color:var(--muted);font-size:.9rem;margin:14px 0 0}.fehler{color:var(--stempel)}.spiel{display:grid;gap:10px}.spiel-kopf{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px}.spiel-kopf h1{margin:0;font-size:1.25rem;text-align:center}.regel{margin:0;padding:12px;background:var(--paper);border:1px solid var(--line);border-radius:10px;font-size:.95rem}.status{margin:0;font-weight:600;min-height:1.5em}.status-ende{color:var(--accent);font-size:1.15rem}.brett-rahmen{position:relative;width:100%;aspect-ratio:1;max-width:100%}.brett{display:block;width:100%;height:100%;border-radius:6px;overflow:hidden;touch-action:manipulation;-webkit-user-select:none;user-select:none}.feld-hell{fill:var(--feld-hell)}.feld-dunkel{fill:var(--feld-dunkel)}.feld-letzter{fill:#f5c51861}.feld-auswahl{fill:#2c56c973}.feld-schach{fill:#b3261e8c}.ziel-punkt{fill:#16202c52}.ziel-schlag{fill:none;stroke:#16202c66;stroke-width:4}.ziel-ente{fill:#f5c518d9;stroke:#8a6a00;stroke-width:1.5}.koordinate{font-size:8px;font-weight:700;fill:#16202c8c;pointer-events:none}.tasche{display:flex;flex-wrap:wrap;gap:4px;min-height:40px;align-items:center}.tasche-leer{color:var(--muted);font-size:.85rem}.tasche-figur{width:40px;height:40px;padding:2px;border-radius:8px;border:1px solid var(--line);background:var(--paper)}.tasche-figur.aktiv{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.tasche-figur:disabled{opacity:.55}.umwandlung{position:absolute;top:25%;right:8%;bottom:25%;left:8%;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;background:var(--paper);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 30px #0000004d;padding:12px}.umwandlung button{width:60px;height:60px;border-radius:10px;border:1px solid var(--line);background:var(--bg)}.stempel-anim{position:absolute;left:50%;top:50%;pointer-events:none;padding:10px 18px;border:4px solid var(--stempel);border-radius:8px;color:var(--stempel);font-weight:900;font-size:1.4rem;text-transform:uppercase;letter-spacing:.06em;background:#ffffffd1;transform:translate(-50%,-50%) rotate(-12deg);opacity:0;animation:stempel 1.6s ease-out}@keyframes stempel{0%{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(2.2)}18%{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}@media(prefers-reduced-motion:reduce){.stempel-anim{animation-duration:.01s}}.leiste{display:flex;flex-wrap:wrap;gap:8px}.knopf-leise{min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.knopf-haupt{min-height:44px;padding:8px 16px;border-radius:10px;border:0;background:var(--accent);color:#fff;font-weight:700;cursor:pointer}.knopf-stempel{min-height:44px;padding:8px 14px;border-radius:10px;border:2px solid var(--stempel);background:transparent;color:var(--stempel);font-weight:800;cursor:pointer}.knopf-stempel:disabled{opacity:.4;cursor:not-allowed}.stempel-stand{align-self:center;color:var(--muted);font-size:.9rem;font-variant-numeric:tabular-nums}.modus{display:grid;gap:12px}.zurueck{justify-self:start}.modus-titel{margin:0;font-size:1.6rem}.karte{display:grid;gap:10px;padding:14px;border-radius:12px;border:1px solid var(--line);background:var(--paper)}.karte h2{margin:0;font-size:1.1rem}.karte p{margin:0;color:var(--muted)}.wahl{border:0;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px;min-width:0}.wahl legend{padding:0;margin-bottom:6px;font-size:.85rem;color:var(--muted);font-weight:600}.wahl button{min-height:44px;padding:6px 12px;border-radius:999px;border:1px solid var(--line);background:var(--bg);cursor:pointer}.wahl button[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.wahl-zahl{font-variant-numeric:tabular-nums;opacity:.7}.status-denkt{color:var(--muted)}.abzeichen{fill:#f3f5f8;stroke:#16202c;stroke-width:1}.feld-teleporter circle{fill:none;stroke:#7b4dd6;stroke-width:2.2;opacity:.75}.feld-zeit circle,.feld-zeit path{fill:none;stroke:#0f7c8a;stroke-width:2.4;opacity:.8;stroke-linecap:round}.ziel-sonder{fill:none;stroke:#7b4dd6;stroke-width:3;stroke-dasharray:5 3}.gift-tropfen{fill:#2fa84f;stroke:#0b3d1a;stroke-width:1}.gift-zahl{font-size:9px;font-weight:800;fill:#fff;pointer-events:none}.bienen ellipse{fill:#f5c518;stroke:#1b1b1b;stroke-width:1.2}.batterie{fill:#f3f5f8;stroke:#16202c;stroke-width:1}.batterie-zahl{font-size:7.5px;font-weight:800;fill:#16202c;pointer-events:none}.haken-liste{display:grid;gap:4px}.haken{display:flex;gap:10px;align-items:flex-start;min-height:44px;padding:8px 4px;border-bottom:1px solid var(--line);cursor:pointer}.haken input{width:22px;height:22px;margin:1px 0 0;accent-color:var(--accent);flex:none}.haken-kurz{color:var(--muted);font-size:.9rem}.spieler-zeile{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border-radius:10px;border:1px solid var(--line);background:var(--paper)}.spieler-zeile.aktiv{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.spieler-name{display:flex;align-items:center;gap:8px;font-weight:600;min-width:0;overflow-wrap:anywhere}.du{color:var(--muted);font-weight:400}.farbpunkt{width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink);flex:none}.farbpunkt-w{background:#fff}.farbpunkt-b{background:#222}.uhr{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.15rem}.uhr-knapp{color:var(--stempel)}.feld-beschriftung{font-size:.85rem;color:var(--muted);font-weight:600}.eingabe{font:inherit;font-size:1rem;min-height:44px;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:var(--ink);width:100%}.code-eingabe{font-size:1.4rem;letter-spacing:.25em;text-transform:uppercase;font-variant-numeric:tabular-nums}.partie-code{color:var(--ink)!important;font-size:2.4rem;font-weight:900;letter-spacing:.2em;margin:0;text-align:center;font-variant-numeric:tabular-nums}.link-text{overflow-wrap:anywhere;font-size:.9rem;color:var(--muted);text-align:center;-webkit-user-select:all;user-select:all}.hinweis-fehler{color:var(--stempel);font-weight:600;margin:0}.daten-auskunft{max-height:240px;overflow:auto;font-size:.75rem;background:var(--bg);padding:8px;border-radius:8px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.online-karte{width:100%;text-align:left;display:grid;gap:2px;padding:14px;margin-bottom:12px;border-radius:12px;border:2px solid var(--accent);background:var(--paper);cursor:pointer;min-height:44px}.reiter{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:4px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}.reiter button{min-height:44px;border:0;border-radius:9px;background:transparent;font-weight:600;cursor:pointer}.reiter button[aria-selected=true]{background:var(--ink);color:var(--bg)}.rangliste{list-style:none;margin:0;padding:0;display:grid}.rangliste li{display:grid;grid-template-columns:2.6em 1fr auto;gap:8px;padding:8px 4px;border-bottom:1px solid var(--line);align-items:baseline}.rangliste li.ich{background:var(--bg);font-weight:700;border-radius:6px}.platz,.rl-wert{font-variant-numeric:tabular-nums}.platz{color:var(--muted)}.rl-name{min-width:0;overflow-wrap:anywhere}.rl-wert{font-weight:700}.zeile{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.zeile .eingabe{flex:1 1 160px;width:auto;min-width:0}.unterkopf{margin:6px 0 0;font-size:.95rem;color:var(--muted)}.freund{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.knopf-klein{min-height:40px;padding:6px 10px;border-radius:9px;border:1px solid var(--line);background:var(--bg);cursor:pointer;font-size:.9rem}.melden{display:flex;flex-wrap:wrap;gap:6px}.chat{display:flex;flex-direction:column;gap:8px;max-height:55vh;overflow-y:auto;padding:4px}.blase{max-width:85%;padding:8px 12px;border-radius:14px;background:var(--paper);border:1px solid var(--line)}.blase p{margin:0;overflow-wrap:anywhere}.blase.eigen{align-self:flex-end;background:var(--accent);color:#fff;border-color:transparent}.blase.fremd{align-self:flex-start}.blase-fuss{display:flex;gap:8px;align-items:center;font-size:.75rem;opacity:.75;margin-top:4px;flex-wrap:wrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.online-zusatz{display:grid;gap:8px}.emotes{display:grid;grid-template-columns:repeat(6,1fr);gap:6px}.emote-knopf{min-height:44px;font-size:1.4rem;border-radius:10px;border:1px solid var(--line);background:var(--paper);cursor:pointer}.emote-blase{margin:0;padding:8px 12px;border-radius:12px;background:var(--paper);border:1px solid var(--accent);font-weight:600}.emote-gross{font-size:1.6rem;vertical-align:middle}.wertung-diff{margin:0;font-size:1.05rem}.wertung-diff .plus{color:#2fa84f}.wertung-diff .minus{color:var(--stempel)}.partie-eintrag{width:100%;text-align:left;display:grid;gap:2px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--bg);cursor:pointer;min-height:44px}.partie-eintrag.am-zug{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.pe-oben{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.pe-status{font-weight:700;color:var(--accent)}.online-zaehler{color:var(--accent);font-weight:700}.gespeichert{margin-bottom:12px}.gespeichert-zeile{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.gespeichert-zeile .partie-eintrag{min-width:0}.trainer-karte{border-color:var(--line);border-width:1px}.trainer-wertung{justify-self:end;font-weight:800;font-variant-numeric:tabular-nums;padding:8px 12px;border-radius:10px;border:1px solid var(--line);background:var(--paper)}.status-falsch{color:var(--stempel)}.fortschritt{width:100%;height:10px;accent-color:var(--accent)}.analyse-liste{list-style:none;margin:0;padding:0;display:grid;gap:6px}.marke{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.8rem;font-weight:700}.marke-patzer{background:#b3261e;color:#fff}.marke-fehler{background:#e07b00;color:#fff}.marke-ungenau{background:#f5c518;color:#222}
