:root{--primaer:#2f5d50;--auf-primaer:#ffffff;--hintergrund:#f6f5f1;--text:#1d1d1b;--flaeche:#ffffff;--leise:color-mix(in srgb,var(--text) 62%,var(--hintergrund));--linie:color-mix(in srgb,var(--text) 12%,var(--hintergrund));--gefahr:#a33a2b;--erfolg:#2f6b3a;--radius:12px;--schrift:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;padding:0}body{font-family:var(--schrift);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.seite{min-height:100vh;display:flex;flex-direction:column;background:var(--hintergrund);color:var(--text)}.huelle{width:100%;max-width:640px;margin:0 auto;padding:0 16px}a{color:var(--primaer);text-underline-offset:3px}h1{font-size:1.75rem;line-height:1.2;letter-spacing:-.01em;margin:28px 0 18px}h2{font-size:1.05rem;margin:32px 0 10px}.kopf{background:var(--flaeche);border-bottom:1px solid var(--linie)}.kopf-innen{display:flex;align-items:center;min-height:64px}.marke{display:inline-flex;align-items:center;color:var(--text);text-decoration:none;font-weight:650;font-size:1.1rem}.marke img{max-height:40px;max-width:200px;display:block}.menue{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;padding-bottom:0}.menue::-webkit-scrollbar{display:none}.menue a{flex:0 0 auto;padding:10px 8px 12px;color:var(--leise);text-decoration:none;border-bottom:2px solid transparent;white-space:nowrap;font-size:.95rem}.menue a.aktiv,.menue a:hover{color:var(--text)}.menue a.aktiv{border-bottom-color:var(--primaer)}.inhalt{flex:1 1;padding-bottom:48px}.fuss{display:flex;flex-wrap:wrap;gap:18px;padding-top:20px;padding-bottom:28px;border-top:1px solid var(--linie);font-size:.9rem}.fuss a,.leise{color:var(--leise)}.klein{font-size:.875rem}.leer{color:var(--leise);padding:18px 0}.laedt{padding:24px 0}code{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.95em}.stand{padding:4px 0 8px}.stand p{margin:0}.stand-zahl{font-size:2.6rem;font-weight:700;letter-spacing:-.02em;line-height:1.15;margin:4px 0 6px!important;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.kundennummer{margin-top:14px!important}.kundennummer code{font-size:1.05rem;letter-spacing:.06em;padding:3px 8px;border-radius:6px;background:var(--flaeche);border:1px solid var(--linie)}.liste,.liste-schlicht{list-style:none;margin:0;padding:0}.liste>li{padding:14px 0;border-bottom:1px solid var(--linie)}.liste>li:first-child{border-top:1px solid var(--linie)}.zeile{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.betrag{font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.betrag.plus{color:var(--erfolg)}.betrag.minus{color:var(--text)}.preis{white-space:nowrap;font-weight:600}.wege a{text-decoration:none;display:block}.wege a:after{content:" →"}.gutschein-code{display:inline-block;margin:8px 0 6px;padding:6px 10px;font-size:1.15rem;letter-spacing:.08em;border-radius:8px;background:var(--flaeche);border:1px dashed var(--linie);-webkit-user-select:all;-moz-user-select:all;user-select:all}.angebot .knopf-leise,.angebot .zeile-knoepfe{margin-top:10px}.vergangen{margin-top:16px}.vergangen summary{cursor:pointer;color:var(--leise);padding:6px 0}.karte-stempel{padding:16px;margin-bottom:12px;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius)}.stempelfelder{display:grid;grid-gap:8px;gap:8px;margin:12px 0 8px;max-width:480px}.feld{aspect-ratio:1;max-width:44px;border-radius:50%;border:2px dashed var(--linie)}.feld.voll{border:2px solid var(--primaer);background:var(--primaer)}.aktion{padding:12px 16px;margin-bottom:10px;background:var(--flaeche);border:1px solid var(--linie);border-left:4px solid var(--primaer);border-radius:var(--radius)}.aktion p{margin:2px 0 0}.formular{display:flex;flex-direction:column;gap:10px;max-width:440px}.formular p{margin:0 0 6px}label{font-weight:550;font-size:.95rem}input[type=email],input[type=text],textarea{font:inherit;color:var(--text);background:var(--flaeche);border:1px solid var(--linie);border-radius:10px;padding:12px 14px;width:100%}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--primaer);outline-offset:2px}.code-feld{font-size:1.6rem!important;letter-spacing:.4em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;max-width:260px}.schalter,.wahl{display:flex;gap:10px;align-items:flex-start;font-weight:400;padding:6px 0;cursor:pointer}.schalter input,.wahl input{margin-top:4px;accent-color:var(--primaer);width:18px;height:18px;flex:0 0 auto}.frage{border:0;padding:0;margin:12px 0 4px}.frage legend{font-weight:600;margin-bottom:4px}.angaben{display:grid;grid-template-columns:max-content 1fr;grid-gap:8px 20px;gap:8px 20px;margin:0}.angaben dt{color:var(--leise)}.angaben dd{margin:0;word-break:break-all}.knopf,.knopf-leise{font:inherit;font-weight:600;border-radius:999px;padding:11px 20px;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;transition:opacity .12s ease,transform .12s ease}.knopf{background:var(--primaer);color:var(--auf-primaer);border:1px solid var(--primaer)}.knopf-leise{background:transparent;color:var(--text);border:1px solid var(--linie)}.knopf-leise:active:not(:disabled),.knopf:active:not(:disabled){transform:scale(.98)}.knopf-leise:disabled,.knopf:disabled{opacity:.5;cursor:default}.knopf-text{font:inherit;background:none;border:0;padding:6px 0;color:var(--primaer);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.knopf-text:disabled{opacity:.5;cursor:default}.knopf-gefahr{background:var(--gefahr);border-color:var(--gefahr);color:#ffffff}.knopf-gefahr-leise{color:var(--gefahr)}.wallet-knoepfe,.zeile-knoepfe{display:flex;flex-wrap:wrap;gap:10px 18px}.wallet-knoepfe{margin:18px 0}.formular>.knopf{align-self:flex-start;margin-top:6px}.gefahr{margin-top:40px}.hinweis{margin:0 0 12px;padding:10px 14px;border-radius:10px;background:var(--flaeche);border:1px solid var(--linie)}.hinweis-fehler{border-color:color-mix(in srgb,var(--gefahr) 40%,var(--hintergrund));color:var(--gefahr)}.hinweis-erfolg{border-color:color-mix(in srgb,var(--erfolg) 40%,var(--hintergrund));color:var(--erfolg)}@media (prefers-reduced-motion:reduce){.knopf,.knopf-leise{transition:none}}.k-huelle{max-width:560px}.k-seite .kopf-innen{min-height:56px}.k-mit-menue .fuss{padding-bottom:calc(96px + env(safe-area-inset-bottom, 0px))}.k-menue{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--flaeche);border-top:1px solid var(--linie);padding-bottom:env(safe-area-inset-bottom,0)}.k-menue-innen{display:flex;max-width:560px;margin:0 auto}.k-menue a{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:58px;padding:8px 4px;color:var(--leise);text-decoration:none;font-size:.8rem;font-weight:600;box-shadow:inset 0 2px 0 transparent}.k-menue a svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.k-menue a.aktiv{color:var(--text);box-shadow:inset 0 3px 0 var(--primaer)}@media (min-width:760px){.k-mit-menue .fuss{padding-bottom:28px}.k-seite .kopf{order:0}.k-menue{position:-webkit-sticky;position:sticky;top:0;bottom:auto;order:1;border-top:0;border-bottom:1px solid var(--linie)}.k-seite .inhalt{order:2}.k-seite .fuss{order:3}.k-menue a{flex-direction:row;min-height:48px;gap:8px;font-size:.95rem;box-shadow:inset 0 -3px 0 transparent}.k-menue a.aktiv{box-shadow:inset 0 -3px 0 var(--primaer)}}.k-feld{display:flex;flex-direction:column;gap:6px}.k-seite select{font:inherit;color:var(--text);background:var(--flaeche);border:1px solid var(--linie);border-radius:10px;padding:12px 14px;width:100%;min-height:48px}.k-seite select:focus-visible{outline:2px solid var(--primaer);outline-offset:2px}.k-seite input[type=text]{min-height:48px}.k-onboarding{max-width:none;gap:16px}.k-onboarding h1{margin-bottom:0}.k-home-link{display:flex;flex-direction:column;gap:10px;margin:0}.k-home-link p{margin:0}.k-vorgewaehlt{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:12px 14px;background:var(--flaeche);border:1px solid var(--linie);border-radius:10px}.k-gross{width:100%;min-height:52px;font-size:1.05rem;border-radius:26px;line-height:1.3}.formular>.knopf.k-gross{align-self:stretch}.k-klein{min-height:44px;padding:9px 18px;font-size:.95rem}.k-datenschutz{margin:4px 0 0}.k-voll{flex-basis:100%;margin:0}.k-regel{margin:0 0 14px}.k-heute-band{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:14px;border-radius:var(--radius);background:var(--primaer);color:var(--auf-primaer);text-decoration:none;line-height:1.35}.k-heute-band .leise{color:inherit;opacity:.85}.k-heute-band .k-platz{background:var(--auf-primaer);color:var(--primaer)}.k-wochen{display:flex;gap:8px;margin:4px 0 6px}.k-wochen button{flex:1 1;display:flex;flex-direction:column;align-items:flex-start;gap:1px;min-height:56px;padding:9px 12px;font:inherit;font-weight:650;color:var(--text);background:var(--flaeche);border:1px solid var(--linie);border-radius:12px;cursor:pointer;text-align:left}.k-wochen button[aria-pressed=true]{border-color:var(--primaer);box-shadow:inset 0 0 0 1px var(--primaer)}.k-wochen button:focus-visible{outline:2px solid var(--primaer);outline-offset:2px}.k-tag{padding:16px 0 8px;border-top:1px solid var(--linie)}.k-tag:first-of-type{margin-top:8px}.k-tag-kopf{display:flex;justify-content:space-between;align-items:center;gap:12px}.k-tag h2{margin:0;font-size:1.15rem;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px}.k-tag-geschlossen h2,.k-tag-planung h2,.k-tag-vorbei h2{font-size:1rem;font-weight:550}.k-tag-geschlossen,.k-tag-planung,.k-tag-vorbei{padding-bottom:12px}.k-tag-vorbei h2{color:var(--leise)}.k-tag-details>summary{list-style:none;cursor:pointer;padding:2px 0 8px}.k-tag-details>summary::-webkit-details-marker{display:none}.k-tag-details>summary .k-schild:after{content:" ▾"}.k-tag-details[open]>summary .k-schild:after{content:" ▴"}.k-tag-details>summary:focus-visible{outline:2px solid var(--primaer);outline-offset:2px}.k-tag-frist_vorbei h2{font-size:1rem;font-weight:550}.k-tag-frist_vorbei{padding-bottom:4px}.k-tag-hinweis{margin:2px 0 0}.k-heute-marke{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 8px;border-radius:999px;background:var(--primaer);color:var(--auf-primaer)}.k-schild{flex:0 0 auto;font-size:.85rem;font-weight:650;padding:3px 10px;border-radius:999px;white-space:nowrap}.k-schild-ok{background:color-mix(in srgb,var(--erfolg) 14%,var(--flaeche));color:var(--erfolg)}.k-schild-warn{background:color-mix(in srgb,var(--gefahr) 10%,var(--flaeche));color:var(--gefahr)}.k-schild-neutral{background:color-mix(in srgb,var(--text) 8%,var(--flaeche));color:var(--leise)}.k-frist{margin:4px 0 6px}.k-gerichte{list-style:none;margin:0;padding:0}.k-gericht{display:grid;grid-template-columns:2.25rem minmax(0,1fr) auto;grid-gap:4px 12px;gap:4px 12px;align-items:start;padding:12px 0;border-top:1px solid var(--linie)}.k-gericht:first-child{border-top:0}.k-gericht-meins{margin:0 -10px;padding:12px 10px;border-radius:12px;background:color-mix(in srgb,var(--primaer) 10%,var(--hintergrund))}.k-gericht-meins,.k-gericht-meins+.k-gericht{border-top-color:transparent}.k-platz{flex:0 0 auto;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;background:var(--primaer);color:var(--auf-primaer);font-weight:750;line-height:1}.k-gericht-text{min-width:0}.k-gericht-text p{margin:2px 0 0}.k-titel{display:block;font-size:1.05rem;line-height:1.3}.k-preis{margin-left:auto}.k-foto{grid-column:3;grid-row:1/span 2;width:84px;height:84px;object-fit:cover;border-radius:10px;background:var(--linie)}.k-aktion{grid-column:2/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:6px}.k-aktion:empty{display:none}.k-gewaehlt{font-weight:700;color:var(--erfolg)}.k-marke{display:inline-block;margin-right:8px;padding:1px 9px;border-radius:999px;font-size:.78rem;font-weight:700;background:#e2f0e4;color:#1c5428}.k-marke-vegan{background:#cfe8d3;color:#14451f}.k-kennzeichen abbr{text-decoration:none;cursor:help}.k-legende{margin-top:20px;padding-top:8px;border-top:1px solid var(--linie)}.k-legende summary{cursor:pointer;padding:10px 0;font-weight:650}.k-legende-zeile{display:contents}.k-legende .angaben dd{word-break:normal}.k-heute-karte{--tagesfarbe:#1d6fa5;position:relative;overflow:hidden;margin:12px 0 14px;padding:22px 16px 20px;border-radius:22px;background:var(--tagesfarbe);color:#ffffff;text-align:center}.k-heute-karte:before{content:"";position:absolute;inset:0 0 auto 0;height:6px;background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.9),rgba(255,255,255,0));background-size:50% 100%;background-repeat:no-repeat;animation:k-lauf 2.2s linear infinite}@keyframes k-lauf{0%{background-position:-50% 0}to{background-position:150% 0}}.k-heute-datum{margin:0 0 12px;font-size:1.1rem;font-weight:650}.k-heute-kopf{display:flex;align-items:center;gap:14px;margin-bottom:14px;text-align:left}.k-heute-buchstabe{flex:0 0 auto;display:grid;place-items:center;width:4.5rem;height:4.5rem;border-radius:50%;background:#ffffff;color:var(--tagesfarbe);font-size:3rem;font-weight:800;line-height:1}.k-heute-wer{min-width:0}.k-heute-wer strong{display:block;font-size:1.4rem;line-height:1.2;overflow-wrap:anywhere}.k-heute-wer span{display:block;opacity:.92}.k-qr-box{width:min(100%,320px);aspect-ratio:1;margin:0 auto 14px;padding:8px;border-radius:16px;background:#ffffff}.k-qr{display:block;width:100%;height:100%}.k-heute-ohne-code{margin:0 0 14px;padding:14px;border-radius:14px;background:rgba(255,255,255,.18);font-size:1.05rem}.k-heute-text{margin:0;font-size:1.9rem;font-weight:800;letter-spacing:-.01em;line-height:1.15}.k-heute-gericht{margin:6px 0 4px;font-size:1.1rem}.k-uhr{display:block;margin-top:10px;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:2.5rem;font-weight:700;letter-spacing:.04em}.k-heute-fuss{margin:0 0 12px}.k-gross-text{margin:8px 0;font-size:1.6rem;font-weight:750;line-height:1.2}.k-heute-leer h1{margin-bottom:4px}.k-heute-ok{padding:4px 0 12px}.k-naechste{padding:12px 14px;margin:18px 0;background:var(--flaeche);border:1px solid var(--linie);border-radius:12px}.k-link input[type=text]{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85rem;margin-bottom:10px}.k-link .zeile-knoepfe{margin-bottom:8px}.k-zurueck{display:flex;flex-direction:column;gap:10px;padding:14px;margin:0 0 16px;background:var(--flaeche);border:1px solid var(--linie);border-radius:var(--radius)}.k-onboarding .k-zurueck{margin-bottom:0}.k-zurueck:empty{display:none}.k-zurueck .hinweis,.k-zurueck p{margin:0}.k-sichern{display:flex;flex-direction:column;gap:14px}.k-sichern h1{margin-bottom:0}.k-sichern .hinweis,.k-sichern p{margin:0}.k-code-zeile code{font-size:1.05rem;font-weight:650;letter-spacing:.04em}.k-passkeys{scroll-margin-top:72px}.k-passkey-liste{margin:12px 0}.k-passkey{display:flex;flex-direction:column;gap:4px}.k-passkey p{margin:0}.k-passkey-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.k-passkey .zeile-knoepfe{margin-top:6px}.k-passkey .knopf-text{align-self:flex-start}.k-passkey-aktionen{margin-top:4px}@media (prefers-reduced-motion:reduce){.k-heute-karte:before{animation:none;background-position:50% 0}}.s-seite .knopf-text,.s-seite a:not(.knopf):not(.knopf-leise):not(.marke){color:var(--text);-webkit-text-decoration-color:var(--primaer);text-decoration-color:var(--primaer);text-decoration-thickness:2px}.s-seite .fuss a{color:var(--leise)}.s-beginn{max-width:none;gap:16px}.s-beginn h1{margin-bottom:0}.s-schritte{list-style:none;counter-reset:schritt;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.s-schritte li{counter-increment:schritt;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--flaeche);border:1px solid var(--linie);border-radius:12px}.s-schritte li:before{content:counter(schritt);flex:0 0 auto;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--primaer);color:var(--auf-primaer);font-weight:700;font-size:.95rem}.s-code{margin:14px 0 6px;padding:18px 16px 14px;text-align:center;background:var(--flaeche);border:1px solid var(--linie);border-radius:22px;box-shadow:0 1px 0 color-mix(in srgb,var(--text) 4%,transparent)}.s-code-titel{margin:0 0 12px;font-size:1.2rem;letter-spacing:0}.s-code-qr{display:block;width:100%;margin:0 auto;padding:0;border:0;background:none;cursor:zoom-in;-webkit-tap-highlight-color:transparent}.s-qr-box{display:block;width:min(100%,280px);margin:0 auto 12px;border:1px solid var(--linie)}.s-nummer{margin:0 0 8px}.s-nummer code{font-size:1.7rem;font-weight:700;letter-spacing:.1em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.s-code-hinweis{margin:0 auto 4px;max-width:32ch;color:var(--leise)}.s-voll{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:16px 16px calc(16px + env(safe-area-inset-bottom, 0px));background:#ffffff;color:#000000}.s-voll-qr{width:min(94vw,calc(100dvh - 190px),640px);aspect-ratio:1}.s-voll-qr .k-qr{width:100%;height:100%}.s-voll-nummer{margin:0}.s-voll-nummer code{font-size:clamp(1.6rem,8vw,2.6rem);font-weight:700;letter-spacing:.1em}.s-voll-zu{max-width:360px}.s-sichern{margin:16px 0 0;padding:14px 16px;background:var(--flaeche);border:1px dashed color-mix(in srgb,var(--text) 30%,var(--hintergrund));border-radius:var(--radius)}.s-sichern h2{margin:0 0 6px}.s-sichern p{margin:0 0 10px}.s-sichern .hinweis{margin-top:4px}.s-intro{margin:-4px 0 10px}.s-praemie{margin:0 0 10px;padding:14px 16px;background:var(--flaeche);border:1px solid var(--linie);border-left:5px solid var(--primaer);border-radius:var(--radius)}.s-praemie>p{margin:2px 0 0}.s-praemie .gutschein-code{display:block;margin:10px 0;padding:9px 10px;text-align:center;font-size:1.35rem;font-weight:650;letter-spacing:.08em}.s-praemie-qr{display:flex;flex-direction:column;align-items:center;gap:4px}.s-praemie-qr .s-qr-box{width:min(100%,240px);margin-bottom:4px}.s-praemie .knopf-leise{margin-top:2px}.s-uebersicht .wallet-knoepfe .knopf{flex:1 1 220px}.s-praemie-erledigt{padding:10px 14px;border-left-color:var(--linie);background:transparent}.s-praemie-erledigt code{letter-spacing:.04em}.s-verlauf{margin-top:12px}.s-verlauf summary{cursor:pointer;color:var(--leise);padding:6px 0}.s-verlauf .liste-schlicht{margin-top:8px}.s-verlauf-weitere{margin-top:20px}.s-karte-name{margin:0;font-size:1.1rem;line-height:1.3}.s-karte-stand{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;white-space:nowrap}.s-karte-text{margin:2px 0 0}.s-karte-satz{margin:4px 0 0}.s-aktion{margin:12px 0 0;padding:9px 12px;border-radius:10px;background:color-mix(in srgb,var(--primaer) 12%,var(--flaeche));border:1px solid color-mix(in srgb,var(--primaer) 35%,var(--flaeche));font-size:.92rem;line-height:1.4}.s-aktion-marke{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--primaer);color:var(--auf-primaer);font-size:.75rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;vertical-align:1px}.s-felder{grid-template-columns:repeat(var(--spalten,6),minmax(0,1fr));max-width:none;margin:14px 0 10px;gap:10px}.s-felder .feld{display:grid;place-items:center;max-width:52px;width:100%;justify-self:center}.s-felder .feld svg{width:62%;height:62%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.s-felder .feld.ziel{border-style:solid;border-color:var(--primaer);color:var(--primaer)}.s-felder .feld.ziel.voll{color:var(--auf-primaer)}.s-felder .feld.ziel.voll svg{fill:currentColor}@media (prefers-reduced-motion:no-preference){.s-felder .feld.voll{animation:s-stempel .26s ease-out both}@keyframes s-stempel{0%{transform:scale(.7);opacity:.4}to{transform:scale(1);opacity:1}}}@media (min-width:760px){.s-code{margin-top:24px}}