:root{--bg: #faf8f4;--flaeche: #ffffff;--flaeche-hoch: #f3eee6;--rand: #e4dbcd;--text: #1e1a15;--text-leise: #6d6459;--akzent: #a55600;--akzent-text: #ffffff;--gut: #1c7a48;--warn: #b23a2b;--dev-bg: #efe7fb;--dev-rand: #cbb8ee;--dev-text: #35235c;--dev-flaeche: #e2d6f7;--radius: 16px;--tabbar: 62px;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #100f0d;--flaeche: #1b1917;--flaeche-hoch: #24211e;--rand: #322d28;--text: #f4efe9;--text-leise: #a49a8f;--akzent: #f0a04b;--akzent-text: #241705;--gut: #6fcf8f;--warn: #f0705b;--dev-bg: #2b1f3a;--dev-rand: #5b4478;--dev-text: #ece4f7;--dev-flaeche: #372a48;color-scheme:dark}}:root[data-theme=dark]{--bg: #100f0d;--flaeche: #1b1917;--flaeche-hoch: #24211e;--rand: #322d28;--text: #f4efe9;--text-leise: #a49a8f;--akzent: #f0a04b;--akzent-text: #241705;--gut: #6fcf8f;--warn: #f0705b;--dev-bg: #2b1f3a;--dev-rand: #5b4478;--dev-text: #ece4f7;--dev-flaeche: #372a48;color-scheme:dark}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);overscroll-behavior-y:none}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit}.app{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.kopf{position:sticky;top:0;z-index:10;padding:14px 16px 10px;background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--rand)}.kopf h1{margin:0;font-size:21px;letter-spacing:-.02em}.kopf .unterzeile{margin:3px 0 0;font-size:13px;color:var(--text-leise)}.inhalt{flex:1;padding:14px 16px calc(var(--tabbar) + 28px);display:flex;flex-direction:column;gap:12px}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--tabbar) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,1fr);background:color-mix(in srgb,var(--flaeche) 94%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rand)}.tabbar button{border:0;background:none;color:var(--text-leise);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:11px;position:relative}.tabbar button.aktiv{color:var(--akzent)}.tabbar .symbol{font-size:19px;line-height:1}.punkt{position:absolute;top:8px;right:50%;margin-right:-18px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--akzent);color:var(--akzent-text);font-size:10px;font-weight:700;display:grid;place-items:center}.karte{background:var(--flaeche);border:1px solid var(--rand);border-radius:var(--radius);padding:14px;text-align:left;color:inherit;width:100%;display:block}button.karte:active{background:var(--flaeche-hoch)}.karte-kopf{display:flex;align-items:flex-start;gap:10px}.symbol-kachel{width:40px;height:40px;flex:none;border-radius:12px;background:var(--flaeche-hoch);display:grid;place-items:center;color:var(--akzent)}.karte h3{margin:0;font-size:16px;line-height:1.25;letter-spacing:-.01em}.karte .meta{margin:3px 0 0;font-size:13px;color:var(--text-leise)}.karte .beschreibung{margin:10px 0 0;font-size:14px;color:var(--text-leise);line-height:1.45}.karte-fuss{margin-top:12px;padding-top:10px;border-top:1px solid var(--rand);display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px;color:var(--text-leise)}.marke{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:999px;font-size:12px;font-weight:600;background:var(--flaeche-hoch);color:var(--text-leise);border:1px solid var(--rand)}.marke.gut{color:var(--gut);border-color:color-mix(in srgb,var(--gut) 35%,transparent)}.marke.wartet{color:var(--akzent);border-color:color-mix(in srgb,var(--akzent) 35%,transparent)}.marke.aus{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:2px;margin:0 -16px;padding-inline:16px;scrollbar-width:none}.chips::-webkit-scrollbar{display:none}.chip{flex:none;padding:7px 13px;border-radius:999px;border:1px solid var(--rand);background:var(--flaeche);color:var(--text-leise);font-size:13px;white-space:nowrap}.chip.aktiv{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text);font-weight:600}.knopf{width:100%;padding:13px 16px;border-radius:13px;border:1px solid transparent;background:var(--akzent);color:var(--akzent-text);font-weight:650;font-size:15px}.knopf:disabled{opacity:.45;cursor:not-allowed}.knopf.zweit{background:var(--flaeche-hoch);color:var(--text);border-color:var(--rand)}.knopf.leise{background:none;color:var(--text-leise);border-color:var(--rand)}.knopf.gefahr{background:none;color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent)}.knopf.schmal{width:auto;padding:9px 14px;font-size:14px}.knopfreihe{display:flex;gap:8px}.knopfreihe>*{flex:1}.feld{display:flex;flex-direction:column;gap:6px}.feld label{font-size:13px;font-weight:600;color:var(--text-leise)}.feld .hinweis{font-size:12px;color:var(--text-leise);font-weight:400}.feld input,.feld textarea,.feld select{width:100%;padding:14px 13px;font-size:15px;border-radius:12px;border:1px solid var(--rand);background:var(--flaeche);color:var(--text)}.feld select{min-height:50px;padding-right:34px}.feld input:focus,.feld textarea:focus,.feld select:focus{outline:2px solid var(--akzent);outline-offset:-1px}.feld textarea{resize:vertical;min-height:76px}.banner{padding:11px 13px;border-radius:12px;font-size:13.5px;line-height:1.45;border:1px solid var(--rand);background:var(--flaeche);color:var(--text-leise)}.banner.fehler{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 40%,transparent);background:color-mix(in srgb,var(--warn) 10%,var(--flaeche))}.banner.erfolg{color:var(--gut);border-color:color-mix(in srgb,var(--gut) 40%,transparent);background:color-mix(in srgb,var(--gut) 10%,var(--flaeche))}.leer{text-align:center;padding:44px 20px;color:var(--text-leise);font-size:14px;line-height:1.5}.leer .gross{font-size:34px;display:block;margin-bottom:10px}.abschnitt-titel{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-leise);margin:6px 0 0}.overlay{position:fixed;inset:0;z-index:40;background:#0000009e;display:flex;align-items:flex-end;justify-content:center}.blatt{width:100%;max-width:480px;background:var(--flaeche);border-radius:20px 20px 0 0;border-top:1px solid var(--rand);padding:18px 16px calc(20px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:12px;max-height:88dvh;overflow-y:auto}.blatt h2{margin:0;font-size:18px}.zurueck{border:0;background:none;color:var(--akzent);padding:0;font-size:15px;margin-bottom:6px}.person{display:flex;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid var(--rand)}.person:last-child{border-bottom:0}.avatar{width:34px;height:34px;flex:none;border-radius:50%;background:var(--flaeche-hoch);display:grid;place-items:center;font-size:14px;font-weight:700;color:var(--akzent)}.person .name{font-size:14px;font-weight:600}.person .zeile{font-size:13px;color:var(--text-leise);margin-top:2px}.person .wachsen{flex:1;min-width:0}.devleiste{position:sticky;top:0;z-index:20;background:var(--dev-bg);border-bottom:1px solid var(--dev-rand);padding:6px 12px;font-size:12px}.devzeile{display:flex;align-items:center;gap:8px}.devmarke{font-weight:800;letter-spacing:.1em;font-size:10px;color:var(--dev-text);border:1px solid var(--dev-rand);border-radius:5px;padding:1px 5px}.devknopf{border:1px solid var(--dev-rand);background:var(--dev-flaeche);color:var(--dev-text);border-radius:8px;padding:5px 10px;font-size:12px}.devknopf.breit{width:100%}.devinfo{color:var(--dev-text);opacity:.75;margin:0 0 0 auto}.devpanel{display:flex;flex-direction:column;gap:8px;padding-top:8px}.devpanel .chips{margin:0;padding-inline:0}.devpanel .chip{background:var(--dev-flaeche);border-color:var(--dev-rand);color:var(--dev-text)}.devpanel .chip.aktiv{background:var(--dev-text);border-color:var(--dev-text);color:var(--dev-bg)}.anmelden{max-width:480px;margin:0 auto;min-height:100dvh;padding:34px 20px calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:14px;justify-content:center}.anmelden-kopf{text-align:center;margin-bottom:8px}.anmelden-symbol{font-size:40px;display:block;margin-bottom:6px}.anmelden-kopf h1{margin:0;font-size:30px;letter-spacing:-.03em}.anmelden-kopf p{margin:6px 0 0;color:var(--text-leise);font-size:14px}.anmelden form{display:flex;flex-direction:column;gap:14px}.anmelden-fuss{margin:6px 0 0;text-align:center;font-size:12.5px;line-height:1.5;color:var(--text-leise)}.ort-treffer{list-style:none;margin:0;padding:0;border:1px solid var(--rand);border-radius:12px;overflow:hidden;background:var(--flaeche)}.ort-treffer li+li{border-top:1px solid var(--rand)}.ort-treffer button{width:100%;text-align:left;background:none;border:0;color:inherit;padding:11px 13px;display:block}.ort-treffer button:active{background:var(--flaeche-hoch)}.ort-treffer .name{display:block;font-size:14.5px;font-weight:600}.ort-treffer .zeile{display:block;font-size:12.5px;color:var(--text-leise);margin-top:2px}.ort-gewaehlt{display:flex;align-items:center;gap:10px;padding:11px 13px;border:1px solid color-mix(in srgb,var(--gut) 40%,transparent);background:color-mix(in srgb,var(--gut) 9%,var(--flaeche));border-radius:12px}.ort-gewaehlt .name{display:block;font-size:14.5px;font-weight:600}.ort-gewaehlt .zeile{display:block;font-size:12.5px;color:var(--text-leise);margin-top:2px}.ort-punkt{font-size:16px}.umschalter{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;background:var(--flaeche);border:1px solid var(--rand);border-radius:13px}.umschalter button{border:0;background:none;color:var(--text-leise);padding:9px;border-radius:10px;font-size:14px}.umschalter button.aktiv{background:var(--akzent);color:var(--akzent-text);font-weight:650}.chat-verlauf{display:flex;flex-direction:column;gap:7px;max-height:46dvh;overflow-y:auto;padding:4px 0 8px}.blase{align-self:flex-start;max-width:82%;background:var(--flaeche-hoch);border:1px solid var(--rand);border-radius:14px 14px 14px 4px;padding:8px 11px;display:flex;flex-direction:column;gap:2px}.blase.eigen{align-self:flex-end;background:color-mix(in srgb,var(--akzent) 16%,var(--flaeche-hoch));border-color:color-mix(in srgb,var(--akzent) 32%,transparent);border-radius:14px 14px 4px}.blase .wer{font-size:11.5px;font-weight:700;color:var(--akzent)}.blase .was{font-size:14px;line-height:1.4;word-break:break-word}.blase .wann{font-size:10.5px;color:var(--text-leise);align-self:flex-end}.chat-eingabe{display:flex;gap:7px;align-items:center}.chat-eingabe input{flex:1;min-width:0;padding:11px 12px;border-radius:12px;border:1px solid var(--rand);background:var(--bg);color:var(--text)}.chat-eingabe input:focus{outline:2px solid var(--akzent);outline-offset:-1px}.wahlliste{display:flex;flex-wrap:wrap;gap:7px}.wahlliste .chip{flex:none}.statistik{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.statistik div{background:var(--flaeche-hoch);border:1px solid var(--rand);border-radius:12px;padding:11px;text-align:center}.statistik .zahl{display:block;font-size:21px;font-weight:700}.statistik .was{display:block;font-size:11.5px;color:var(--text-leise);margin-top:2px}.symbol{flex:none;vertical-align:-.16em}.knopf,.chip,.devknopf,.umschalter button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.marke .symbol{vertical-align:-.14em}.zeile-mit-symbol{display:flex;align-items:center;gap:8px}.leer .gross{display:block;margin:0 auto 12px;color:var(--text-leise)}.anmelden-symbol{display:block;margin:0 auto 8px;color:var(--akzent)}.tabbar button .symbol{margin-bottom:1px}.ort-punkt{color:var(--akzent)}.rechtstext h3{margin:14px 0 4px;font-size:14px;letter-spacing:-.01em}.rechtstext p{margin:0;font-size:13.5px;line-height:1.55;color:var(--text-leise);white-space:pre-line}.zustimmung{display:flex;align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;color:var(--text-leise)}.zustimmung input{width:18px;height:18px;flex:none;margin-top:1px}.textknopf{background:none;border:0;padding:0;color:var(--akzent);font:inherit;text-decoration:underline}.platz{width:26px;height:26px;flex:none;border-radius:50%;background:var(--flaeche-hoch);border:1px solid var(--rand);display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--text-leise)}
