:root{--akzent:#2dd4bf;--akzent-hell:#5eead4;--akzent-dunkel:#0d9488;--akzent-text:#062e2a;--akzent-schein:#2dd4bf2e;--text:#e6edf3;--text-schwach:#8b98a5;--grund:#0b1220;--flaeche:#131c2b;--flaeche-hoch:#1a2536;--linie:#243044;--linie-hell:#2f3d54;--erledigt:#6b7686;--gefahr:#f87171;--gefahr-flaeche:#f871711f;--hinweis-flaeche:#2dd4bf1a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--grund);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 20% -10%, #14213a 0%, var(--grund) 55%);min-height:100vh;margin:0}h1{letter-spacing:-.01em;margin:0 0 14px;font-size:1.6rem}h2{letter-spacing:-.005em;margin:20px 0 10px;font-size:1.1rem}p{margin:0 0 10px;line-height:1.5}a{color:var(--akzent);text-decoration:none}a:hover{text-decoration:underline}button,.knopf{font:inherit;border:1px solid var(--linie-hell);background:var(--flaeche-hoch);color:var(--text);cursor:pointer;border-radius:10px;padding:9px 14px;text-decoration:none;transition:background .15s,border-color .15s,transform 50ms;display:inline-block}button:hover,.knopf:hover{border-color:var(--akzent-dunkel);text-decoration:none}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default;transform:none}button.primaer,.knopf.primaer{background:linear-gradient(135deg, var(--akzent-hell), var(--akzent));color:var(--akzent-text);box-shadow:0 6px 18px var(--akzent-schein);border-color:#0000;font-weight:600}button.primaer:hover,.knopf.primaer:hover{filter:brightness(1.05)}button.klein,.knopf.klein{border-radius:8px;padding:5px 9px;font-size:.88rem}button.gefahr{color:var(--gefahr)}input,select,textarea{font:inherit;border:1px solid var(--linie-hell);background:var(--flaeche-hoch);color:var(--text);border-radius:10px;width:100%;padding:9px 11px}input:focus,select:focus,textarea:focus{border-color:var(--akzent);box-shadow:0 0 0 3px var(--akzent-schein);outline:none}input::placeholder,textarea::placeholder{color:var(--text-schwach)}textarea{min-height:120px}label{color:var(--text-schwach);margin-bottom:5px;font-size:.88rem;display:block}.feld{margin-bottom:12px}.zeile{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.zeile.rechts{justify-content:flex-end}.app{flex-direction:column;min-height:100vh;display:flex}main{width:100%;max-width:900px;margin:0 auto;padding:16px}main.leer{text-align:center;color:var(--text-schwach);padding-top:80px}:root{--bottomnav-hoehe:60px;--sidebar-breite:216px;--fab-platz:108px}.hauptnav{z-index:30;-webkit-backdrop-filter:blur(14px);background:#131c2beb;gap:2px;display:flex;position:fixed}.hauptnav a{color:var(--text-schwach);white-space:nowrap;border-radius:10px;align-items:center;gap:10px;font-weight:500;text-decoration:none;display:flex}.hauptnav a:hover{color:var(--text);text-decoration:none}.hauptnav a.active{color:var(--akzent)}.hauptnav .nav-symbol{flex:none;justify-content:center;align-items:center;line-height:1;display:inline-flex}.hauptnav .nav-symbol svg{display:block}.app main{padding-bottom:var(--fab-platz)}@media (width<=859.98px){.hauptnav{height:var(--bottomnav-hoehe);padding:4px 4px calc(4px + env(safe-area-inset-bottom));border-top:1px solid var(--linie);border-right:none;flex-direction:row;justify-content:space-around;align-items:stretch;gap:0;inset:auto 0 0}.hauptnav a{border-radius:8px;flex-direction:column;flex:1;justify-content:center;gap:2px;padding:4px 2px;font-size:.68rem}.hauptnav .nav-symbol{font-size:1.3rem}.hauptnav a.active{background:var(--akzent-schein)}.app main{padding-bottom:calc(var(--bottomnav-hoehe) + var(--fab-platz) + env(safe-area-inset-bottom))}}@media (width>=860px){.hauptnav{width:var(--sidebar-breite);border-right:1px solid var(--linie);border-top:none;flex-direction:column;gap:2px;padding:20px 12px;top:0;bottom:0;left:0}.hauptnav a{padding:11px 14px;font-size:.95rem}.hauptnav a.active{background:var(--akzent-schein)}.hauptnav .nav-symbol{text-align:center;width:22px;font-size:1.1rem}.hauptnav .nav-einstellungen{margin-top:auto}.app main{margin-left:var(--sidebar-breite);width:calc(100% - var(--sidebar-breite))}}.karte{background:var(--flaeche);border:1px solid var(--linie);border-radius:14px;margin-bottom:12px;padding:16px;box-shadow:inset 0 1px #ffffff05,0 8px 24px #00000040}.karte.hervor{border-color:var(--akzent-dunkel);box-shadow:0 0 0 1px var(--akzent-schein), 0 12px 32px #00000059}.karte h2:first-child{margin-top:0}.schwach{color:var(--text-schwach);font-size:.9rem}.pille{color:var(--text);background:var(--flaeche-hoch);border:1px solid var(--linie-hell);border-radius:999px;margin-right:4px;padding:3px 9px;font-size:.8rem;display:inline-block}.pille.akzent{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text);font-weight:600}.pille.akzent .schwach{color:var(--akzent-text);opacity:.8}.pille.vorrat{border-style:dashed}button.pille{cursor:pointer}button.pille:hover:not(:disabled){border-color:var(--akzent)}.liste{margin:0;padding:0;list-style:none}.liste li{border-bottom:1px solid var(--linie);align-items:center;gap:10px;padding:11px 4px;display:flex}.liste li:last-child{border-bottom:0}.liste .wachsen{flex:1;min-width:0}.liste .name{font-weight:500}.liste li.erledigt .name{color:var(--erledigt);text-decoration:line-through}.liste li.erledigt{opacity:.65}.haken{border:2px solid var(--linie-hell);cursor:pointer;background:0 0;border-radius:50%;flex:none;width:28px;height:28px;padding:0;font-size:1rem;line-height:1}.haken:hover{border-color:var(--akzent)}.haken.an{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text)}.kategorie-kopf{text-transform:uppercase;letter-spacing:.08em;color:var(--akzent);margin:16px 0 4px;font-size:.78rem;font-weight:600}.gross{letter-spacing:-.01em;margin:6px 0 10px;font-size:1.7rem;font-weight:700}.griff{cursor:grab;color:var(--text-schwach);-webkit-user-select:none;user-select:none;touch-action:none;padding:0 6px}.raster{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.meldung{background:var(--hinweis-flaeche);border:1px solid var(--akzent-dunkel);border-radius:10px;margin-bottom:12px;padding:10px 12px}.meldung.fehler{background:var(--gefahr-flaeche);border-color:var(--gefahr)}.karte.schritte{padding:4px 8px}.kochschritt{cursor:pointer;border-radius:10px;grid-template-columns:36px 1fr;column-gap:12px;padding:14px 8px;display:grid;position:relative}.kochschritt:after{content:"";background:var(--linie);height:1px;position:absolute;bottom:0;left:8px;right:8px}.kochschritt:last-child:after{display:none}.kochschritt.vor-parallel:after{left:60px}.kochschritt .nr-spalte{justify-content:center;align-items:flex-start;display:flex;position:relative}.kochschritt .nr{z-index:1;background:var(--akzent);width:30px;height:30px;color:var(--akzent-text);text-align:center;border-radius:50%;font-weight:700;line-height:30px;display:inline-block;position:relative}.kochschritt.vor-parallel .nr-spalte:after{content:"";background:var(--akzent);width:2px;margin-left:-1px;position:absolute;top:30px;bottom:-14px;left:50%}.kochschritt.verbunden .nr-spalte:before{content:"";background:var(--akzent);width:2px;height:14px;margin-left:-1px;position:absolute;top:-14px;left:50%}.kochschritt .inhalt{min-width:0}.kochschritt.aktiv{background:var(--hinweis-flaeche);box-shadow:inset 3px 0 0 var(--akzent)}.kochschritt.aktiv:after{left:8px}.kochschritt.aktiv.vor-parallel:after{left:60px}.kochmodus p{font-size:1.15rem}pre.prompt{white-space:pre-wrap;background:var(--flaeche-hoch);border:1px solid var(--linie);border-radius:10px;max-height:300px;padding:10px;font-size:.85rem;overflow:auto}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:var(--linie-hell);border-radius:8px}@media (width>=700px){main{padding:24px}}.vorschlaege{z-index:20;background:var(--flaeche-hoch);border:1px solid var(--linie-hell);border-radius:12px;max-height:320px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow:auto;box-shadow:0 12px 32px #00000073}.vorschlaege li{cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.vorschlaege li:hover{background:var(--akzent-schein)}.vorschlaege .wachsen{flex:1}.liste li{gap:8px;min-height:60px;padding:9px 4px}.liste .abhakflaeche .name{overflow-wrap:anywhere}.liste .abhakflaeche{text-align:left;min-width:0;color:inherit;font:inherit;box-shadow:none;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex:1;align-items:center;gap:8px;margin:0 -4px;padding:8px;display:flex}.liste .abhakflaeche:hover{background:var(--akzent-schein);border-color:#0000}.liste .abhakflaeche:active{background:var(--flaeche-hoch);transform:none}.liste .abhakflaeche .haken{display:inline-flex}.liste .abhakflaeche:hover .haken{border-color:var(--akzent)}.haken{justify-content:center;align-items:center;width:34px;height:34px;padding:0;line-height:1;display:inline-flex}.haken svg{display:block}.haken:not(.an) .haken-strich{opacity:0}.haken.an .haken-strich{opacity:1}.symbol{border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.25rem;line-height:1;display:inline-flex}.symbol.primaer{font-weight:700}@keyframes haken-ring{0%{box-shadow:0 0 #2dd4bf8c}to{box-shadow:0 0 0 16px #2dd4bf00}}@keyframes haken-pop{0%{transform:scale(.9)}40%{transform:scale(1.25)}70%{transform:scale(.96)}to{transform:scale(1)}}@keyframes haken-zeichnen{0%{stroke-dashoffset:30px;opacity:1}to{stroke-dashoffset:0;opacity:1}}@keyframes zeile-glanz{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes streichen{0%{width:0}to{width:100%}}@keyframes zeile-weg{0%{opacity:1;max-height:90px;transform:translate(0)}to{opacity:0;border-width:0;max-height:0;margin:0;padding-top:0;padding-bottom:0;transform:translate(48px)}}.liste li.abhaken-anim{background:var(--akzent-schein);border-radius:10px;animation:.2s ease-in .3s forwards zeile-weg;position:relative;overflow:hidden}.liste li.abhaken-anim:before{content:"";pointer-events:none;background:linear-gradient(100deg,#0000 20%,#5eead459 50%,#0000 80%);animation:.45s ease-out zeile-glanz;position:absolute;inset:0}.liste li.abhaken-anim .haken{background:var(--akzent);border-color:var(--akzent);color:var(--akzent-text);animation:.3s cubic-bezier(.34,1.56,.64,1) haken-pop,.45s ease-out haken-ring}.liste li.abhaken-anim .haken-strich{stroke-dasharray:30;opacity:1;animation:.22s ease-out 50ms both haken-zeichnen}.liste li.abhaken-anim .name{color:var(--erledigt);position:relative}.liste li.abhaken-anim .name:after{content:"";background:var(--akzent);height:2px;animation:.2s ease-out .1s both streichen;position:absolute;top:55%;left:0}@media (prefers-reduced-motion:reduce){.liste li.abhaken-anim,.liste li.abhaken-anim:before,.liste li.abhaken-anim .haken,.liste li.abhaken-anim .haken-strich,.liste li.abhaken-anim .name:after{animation:none}}.liste.karte{padding:4px 14px}.liste .kopfzeile{padding:0 8px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238b98a5' stroke-width='1.8' stroke-linecap='round'/></svg>");background-position:right 13px center;background-repeat:no-repeat;padding-right:34px}select:hover{border-color:var(--akzent-dunkel)}.seitenkopf{margin-bottom:14px}.liste li.aufgeklappt{background:var(--hinweis-flaeche);border-radius:10px;margin:0 -8px 4px;padding:0 0 8px;display:block}.aufklappen{grid-template-rows:1fr;animation:.28s ease-out aufklappen;display:grid}.aufklappen>div{min-height:0;overflow:hidden}@keyframes aufklappen{0%{opacity:0;grid-template-rows:0fr}to{opacity:1;grid-template-rows:1fr}}.unterliste{margin:0 8px}.unterliste li{min-height:52px}.liste li.bearbeiten-zeile{flex-wrap:wrap}.liste li.bearbeiten-zeile .steuer{flex-wrap:nowrap;align-items:center;gap:6px;margin-left:auto;display:flex}.abschluss{text-align:center;flex-direction:column;align-items:center;gap:8px;margin-top:14px;display:flex}.abschluss .zeile{justify-content:center}.liste .fuer-gericht{color:var(--akzent)}@media (prefers-reduced-motion:reduce){.aufklappen{animation:none}}@media (width<=600px){.liste li.bearbeiten-zeile{row-gap:8px;padding:10px 4px}.liste li.bearbeiten-zeile .steuer{flex-wrap:wrap;row-gap:8px;width:100%;margin-left:0}.liste li.bearbeiten-zeile .steuer select{flex:100%;width:auto!important}.liste li.bearbeiten-zeile .steuer input{flex:100px;min-width:0;width:auto!important}.liste li.bearbeiten-zeile .steuer button.klein{white-space:nowrap;padding:9px 10px}}.kopf-link{background:var(--flaeche-hoch);color:var(--text);white-space:nowrap;border:1px solid #0000;border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:1.15rem;display:inline-flex}.kopf-link span{color:var(--akzent);font-size:.95rem;font-weight:600}.kopf-link.aktiv span{color:inherit}.kopf-link .kopf-symbol{width:1.45rem;height:1.45rem;display:block}.kopf-link:hover{border-color:var(--linie-hell)}.kopf-link.aktiv{background:var(--akzent);color:var(--akzent-text)}.liste li.artikel-bearbeiten,.liste li.kategorie-bearbeiten{background:var(--flaeche-hoch);border:1px solid var(--linie);border-radius:10px;flex-direction:column;align-items:stretch;gap:8px;margin:4px 0;padding:10px 8px;display:flex}.liste li.artikel-bearbeiten label,.liste li.kategorie-bearbeiten label{font-size:.8rem}.unterliste li .symbol{width:40px;height:40px}.blatt-eingabe{flex-wrap:nowrap}.blatt-eingabe input{flex:1;min-width:0}.blatt-eingabe>button{flex:none}html{background:var(--grund)}body{background:0 0}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(50% 42% at 50% 42%,#2dd4bf12 0%,#0000 70%),radial-gradient(75% 65% at 50% 42%,#1f3052 0%,#15213a 38%,#0b1322 70%,#04070d 100%);position:fixed;inset:0}@media (width>=860px){body:before{left:var(--sidebar-breite)}}@keyframes hervorheben{0%,70%{background:var(--akzent-schein);box-shadow:0 0 0 2px var(--akzent)}to{box-shadow:none;background:0 0}}.liste li.hervorgehoben{border-radius:10px;animation:3s ease-out forwards hervorheben}.umschalter{border:1px solid var(--linie-hell);border-radius:10px;display:inline-flex;overflow:hidden}.umschalter button{background:0 0;border:0;border-radius:0;padding:7px 12px}.umschalter button+button{border-left:1px solid var(--linie-hell)}.umschalter button.an{background:var(--akzent);color:var(--akzent-text);font-weight:600}.pille .von-liste{color:var(--akzent);font-weight:600}.pille.akzent .von-liste{color:var(--akzent-text);background:#062e2a2e;border-radius:6px;margin-left:2px;padding:0 4px}.personen{border:1px solid var(--linie-hell);border-radius:8px;align-items:center;gap:2px;margin-left:6px;padding:1px;display:inline-flex}.personen button.klein{background:0 0;border:0;padding:4px 8px;font-weight:700}.personen>span{letter-spacing:0;text-transform:none;color:var(--text);padding:0 4px;font-size:.85rem;font-weight:600}.personen>span.an{color:var(--akzent)}.fab{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));z-index:62;background:linear-gradient(135deg, var(--akzent-hell), var(--akzent));width:58px;height:58px;color:var(--akzent-text);box-shadow:0 10px 28px var(--akzent-schein), 0 6px 14px #0006;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.8rem;font-weight:300;line-height:1;transition:transform .25s cubic-bezier(.34,1.56,.64,1),background .2s,color .2s;display:flex;position:fixed;transform:translate(-50%)}.fab:hover{filter:brightness(1.06);border-color:#0000}.fab:active{transform:translate(-50%)scale(.94)}.fab.offen{opacity:0;pointer-events:none;transform:translate(-50%)translateY(140%)}@media (width<=859.98px){.fab{bottom:calc(var(--bottomnav-hoehe) + 14px + env(safe-area-inset-bottom))}}.blatt-hintergrund{z-index:60;opacity:0;pointer-events:none;background:#04081099;transition:opacity .28s;position:fixed;inset:0}.blatt-hintergrund.offen{opacity:1;pointer-events:auto}.blatt{z-index:61;background:var(--flaeche);border:1px solid var(--linie);max-height:82dvh;padding:10px 16px calc(20px + env(safe-area-inset-bottom));border-bottom:none;border-radius:18px 18px 0 0;transition:transform .34s cubic-bezier(.16,1,.3,1);position:fixed;bottom:0;left:0;right:0;overflow:auto;transform:translateY(105%);box-shadow:0 -20px 44px #00000073}.blatt.offen{transform:translateY(0)}.blatt-kopf{justify-content:center;margin-bottom:10px;display:flex;position:relative}.blatt-griff{background:var(--linie-hell);border-radius:999px;width:38px;height:4px;margin:6px 0}.blatt-schliessen{border-radius:50%;width:36px;height:36px;padding:0;font-size:1.1rem;position:absolute;top:-4px;right:0}@media (width>=700px){.blatt{max-width:640px;margin:0 auto;left:0;right:0}}@keyframes einfuegen{0%{opacity:0;min-height:0;max-height:0;padding-top:0;padding-bottom:0;transform:translate(-28px)scale(.96)}45%{opacity:0;max-height:140px;transform:translate(-28px)scale(.96)}to{opacity:1;max-height:140px;transform:none}}@keyframes einfuegen-schein{0%{background:var(--akzent-schein);box-shadow:0 0 0 2px var(--akzent), 0 0 22px var(--akzent-schein)}60%{background:var(--akzent-schein);box-shadow:0 0 0 2px var(--akzent), 0 0 0 transparent}to{box-shadow:none;background:0 0}}.liste li.eingefuegt{border-radius:10px;animation:.55s cubic-bezier(.16,1,.3,1) .35s both einfuegen,3s ease-out .8s both einfuegen-schein;overflow:hidden}.liste li.eingefuegt .artikel-kachel{animation:.4s cubic-bezier(.34,1.56,.64,1) .75s both einfuegen-haken}@keyframes einfuegen-haken{0%{transform:scale(.4)}to{transform:none}}@media (prefers-reduced-motion:reduce){.liste li.eingefuegt,.liste li.eingefuegt .artikel-kachel{animation:3s ease-out both einfuegen-schein}}.einstellungen-liste li{padding:0}.einstellung-zeile{width:100%;color:var(--text);border-radius:10px;align-items:center;gap:12px;padding:12px 8px;display:flex}.einstellung-zeile:hover{background:var(--flaeche-hoch);text-decoration:none}.einstellung-symbol{text-align:center;flex:none;width:30px;font-size:1.35rem}.einstellung-pfeil{color:var(--text-schwach);flex:none;font-size:1.3rem}.blatt-treffer{max-height:40dvh;margin:0 0 10px;padding:0;list-style:none;overflow:auto}.blatt-treffer li{cursor:pointer;background:var(--flaeche-hoch);border-radius:10px;align-items:center;gap:10px;margin-bottom:4px;padding:10px;display:flex}.blatt-treffer li:hover,.blatt-treffer li:active{background:var(--akzent-schein)}.blatt-treffer .wachsen{min-width:0}.treffer-icon{text-align:center;flex:none;width:28px;font-size:1.2rem}.blatt-gewaehlt{background:var(--akzent-schein);border:1px solid var(--akzent-dunkel);border-radius:12px;align-items:center;gap:10px;margin-bottom:10px;padding:10px;display:flex}.mengen-chips{flex-wrap:wrap;gap:6px;margin-bottom:10px;display:flex}.mengen-chips .pille{padding:7px 13px;font-size:.95rem}.liste li.bearbeiten{background:var(--flaeche-hoch);border:1px solid var(--akzent-dunkel);border-radius:12px;flex-direction:column;align-items:stretch;gap:10px;margin:6px 0;padding:12px;display:flex;box-shadow:0 4px 18px #00000059}.liste li.bearbeiten .bearbeiten-kopf{justify-content:space-between;align-items:center;gap:8px;display:flex}.liste li.bearbeiten .bearbeiten-info{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.emoji-auswahl-knopf{border:1px solid var(--linie-hell);background:var(--flaeche);cursor:pointer;border-radius:10px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:1.4rem;transition:border-color .15s,transform .1s,background .15s;display:inline-flex}.emoji-auswahl-knopf:hover{border-color:var(--akzent);background:var(--akzent-schein);transform:scale(1.05)}.emoji-auswahl-knopf:active{transform:scale(.95)}.liste li.bearbeiten .bearbeiten-feld{flex-direction:column;gap:4px;display:flex}.liste li.bearbeiten .bearbeiten-feld label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-schwach);margin-bottom:0;font-size:.75rem;font-weight:600}.liste li.bearbeiten .bearbeiten-eingabezeile{align-items:center;gap:8px;width:100%;display:flex}.liste li.bearbeiten .bearbeiten-eingabezeile input{box-sizing:border-box;flex:1;min-width:0;height:44px}.liste li.bearbeiten .bearbeiten-eingabezeile .symbol.primaer{flex:none;width:44px;height:44px}.emoji-dialog-backdrop{z-index:70;-webkit-backdrop-filter:blur(4px);background:#040810b3;justify-content:center;align-items:center;padding:16px;animation:.15s ease-out fade-in;display:flex;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.emoji-dialog{background:var(--flaeche);border:1px solid var(--linie-hell);border-radius:16px;flex-direction:column;width:100%;max-width:440px;max-height:85vh;padding:14px;animation:.2s cubic-bezier(.16,1,.3,1) modal-auftauchen;display:flex;box-shadow:0 16px 40px #00000080}@keyframes modal-auftauchen{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}.emoji-dialog-kopf{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.emoji-dialog-schliessen{border-radius:8px;width:34px;height:34px;font-size:1rem}.emoji-dialog-eingabe{margin-bottom:8px;position:relative}.emoji-suche{height:40px;padding-right:32px}.emoji-suche-leeren{color:var(--text-schwach);cursor:pointer;background:0 0;border:none;padding:4px;font-size:.9rem;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.emoji-suche-leeren:hover{color:var(--text)}.emoji-direkt-vorschlag{text-align:center;margin-bottom:8px}.emoji-kategorien{white-space:nowrap;-webkit-overflow-scrolling:touch;gap:4px;margin-bottom:8px;padding-bottom:6px;display:flex;overflow-x:auto}.emoji-kategorien::-webkit-scrollbar{height:4px}.emoji-kategorien .pille{cursor:pointer;flex:none;padding:4px 10px;font-size:.8rem}.emoji-liste-container{flex:1;min-height:220px;max-height:380px;padding-right:4px;overflow-y:auto}.emoji-aktions-leiste{justify-content:center;margin-bottom:8px;display:flex}.emoji-zuruecksetzen-knopf{color:var(--gefahr);background:var(--gefahr-flaeche);border-color:#f871714d}.emoji-zuruecksetzen-knopf:hover{border-color:var(--gefahr)}.emoji-gitter{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;display:grid}.emoji-zelle{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;height:42px;padding:0;font-size:1.45rem;transition:background .1s,transform 80ms;display:flex}.emoji-zelle:hover{background:var(--akzent-schein);border-color:var(--akzent-dunkel);transform:scale(1.15)}.emoji-zelle:active{transform:scale(.92)}.emoji-zelle.gewaehlt{background:var(--akzent-schein);border-color:var(--akzent)}.toast-popup{top:calc(18px + env(safe-area-inset-top));z-index:100;background:var(--flaeche-hoch);border:1px solid var(--akzent);width:max-content;max-width:min(92vw,480px);box-shadow:0 10px 30px #00000080, 0 0 16px var(--akzent-schein);border-radius:12px;align-items:center;gap:12px;padding:12px 16px;animation:.22s cubic-bezier(.16,1,.3,1) toast-rein;display:flex;position:fixed;left:50%;transform:translate(-50%)}@keyframes toast-rein{0%{opacity:0;transform:translate(-50%,-12px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.toast-popup-text{color:var(--text);font-size:.92rem;line-height:1.4}.toast-popup-schliessen{color:var(--text-schwach);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none;padding:4px 6px;font-size:1rem;line-height:1}.toast-popup-schliessen:hover{color:var(--text);background:var(--flaeche)}.laden-knopf{justify-content:center;align-items:center;width:40px;height:34px;padding:0;font-size:1.05rem;line-height:1;display:inline-flex}.laden-knopf.stern{color:var(--text-schwach)}.laden-knopf.stern.an{color:var(--akzent)}.treffer-zeile{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.treffer-zeile .schwach{font-size:.88rem}.in-liste{color:var(--akzent);font-size:.88rem;font-weight:600}html,body{overflow-x:clip}.plus-knopf{width:44px;height:44px;color:var(--akzent);border-radius:12px;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.plus-knopf:hover{border-color:var(--akzent);background:var(--akzent-schein)}.plus-knopf:active{transform:scale(.94)}.plus-knopf.entfernen{color:var(--text)}.plus-knopf.entfernen:hover{color:var(--akzent)}.liste li.eingefuegt.sofort{animation-delay:0s,.45s}.abhakflaeche .name{font-size:17px}.abhakflaeche .schwach{font-size:15.4px}.abhakflaeche .zeilen-icon{text-align:center;flex:none;width:26px;font-size:18px}.eigen-icon{object-fit:contain;vertical-align:-.25em;width:1.2em;height:1.2em;display:inline-block}.emoji-zelle .eigen-icon{vertical-align:middle;width:1.15em;height:1.15em}.emoji-zelle{position:relative}.emoji-loeschen{background:var(--gefahr,#ef4444);color:#fff;text-align:center;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:18px;position:absolute;top:-4px;right:-4px}@keyframes wackeln{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.emoji-zelle.wackeln{animation:.3s ease-in-out infinite wackeln}.emoji-abschnitt{letter-spacing:.06em;text-transform:uppercase;color:var(--text-schwach);margin:6px 2px 4px;font-size:.75rem;font-weight:700}.emoji-eigene-leiste{flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 8px;display:flex}.eigenes-anlegen .feld{margin-bottom:10px}.eigenes-schritt{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.eigenes-vorschau{flex-wrap:wrap;align-items:center;gap:14px;margin-top:8px;display:flex}.eigenes-gross{border:1px solid var(--linie-hell);border-radius:12px;flex:none;justify-content:center;align-items:center;width:112px;height:112px;display:flex}.eigenes-gross img{object-fit:contain;width:96px;height:96px}.schachbrett{background:repeating-conic-gradient(#2a3342 0% 25%,#1c2330 0% 50%) 50%/16px 16px}.eigenes-vergleich{flex-direction:column;gap:6px;min-width:0;display:flex}.eigenes-zeile{align-items:center;gap:6px;display:flex}.eigenes-zeile span{font-size:16px}.artikel-kachel{background:var(--flaeche-hoch);border:1.5px solid var(--linie);border-radius:50%;flex:none;justify-content:center;align-items:center;width:50px;height:50px;transition:border-color .15s,background .15s;display:inline-flex;position:relative}.kachel-inhalt{font-size:27px;line-height:1;display:inline-flex}.kachel-buchstabe{color:var(--text-schwach);font-size:18px;font-weight:700}.liste .abhakflaeche{gap:12px}.liste li.erledigt .artikel-kachel{background:0 0}.liste li.erledigt .kachel-inhalt{filter:grayscale();opacity:.55}@keyframes kachel-fuellen{0%{background:var(--flaeche-hoch)}35%,to{background:var(--akzent);border-color:var(--akzent)}}@keyframes kachel-huepfen{0%{transform:none}30%{transform:translateY(-9px)scale(1.3)rotate(-10deg)}60%{transform:translateY(1px)scale(.92)rotate(4deg)}to{transform:none}}@keyframes kachel-burst{0%{opacity:1;transform:scale(.3)rotate(0)}65%{opacity:1}to{opacity:0;transform:scale(1.1)rotate(25deg)}}.liste li.abhaken-anim .artikel-kachel{animation:.45s ease-out forwards kachel-fuellen,.5s ease-out haken-ring}.liste li.abhaken-anim .kachel-inhalt{animation:.42s cubic-bezier(.34,1.56,.64,1) kachel-huepfen}.liste li.abhaken-anim .artikel-kachel:after{content:"";pointer-events:none;background:0 0;border-radius:50%;width:7px;height:7px;margin:-3.5px 0 0 -3.5px;animation:.45s ease-out forwards kachel-burst;position:absolute;top:50%;left:50%;box-shadow:0 -34px #5eead4,24px -24px #fbbf24,34px 0 #f472b6,24px 24px #5eead4,0 34px #fbbf24,-24px 24px #f472b6,-34px 0 #5eead4,-24px -24px #fbbf24,13px -27px 0 -1px #f472b6,27px 13px 0 -1px #fbbf24,-13px 27px 0 -1px #5eead4,-27px -13px 0 -1px #f472b6}@media (prefers-reduced-motion:reduce){.liste li.abhaken-anim .artikel-kachel,.liste li.abhaken-anim .kachel-inhalt,.liste li.abhaken-anim .artikel-kachel:after{animation:none}}.eigenes-kopiert{color:var(--akzent);font-size:.9rem;font-weight:600}.rezept-vorschau{background:var(--flaeche-hoch);border:1px solid var(--linie);border-radius:12px;flex:none;justify-content:center;align-items:center;width:56px;height:56px;font-size:24px;display:inline-flex;overflow:hidden}.rezept-vorschau img{object-fit:cover;width:100%;height:100%;display:block}.rezept-vorschau:hover{border-color:var(--akzent);text-decoration:none}.rezept-titelbild{aspect-ratio:16/9;object-fit:cover;background:var(--flaeche-hoch);border-radius:13px 13px 0 0;width:calc(100% + 32px);max-width:none;max-height:320px;margin:-16px -16px 14px;display:block}.griff-knopf{cursor:grab;touch-action:none}.griff-knopf:active{cursor:grabbing}.plan-kopf{align-items:center;gap:8px;margin-top:4px;display:flex}.plan-kopf .pille{text-transform:none;letter-spacing:0;padding:2px 8px;font-size:.7rem}.plan-nummer{font-variant-numeric:tabular-nums;width:30px;height:30px;color:var(--akzent);background:radial-gradient(circle at 35% 30%,#5eead42e,#2dd4bf0a 70%);border:1.5px solid #2dd4bf73;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:inset 0 1px #ffffff0f}.liste li .wachsen{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0}.rezept-link{color:var(--text)}.rezept-link:hover{color:var(--akzent);text-decoration:none}.sprechblase-rein{animation:.22s cubic-bezier(.16,1,.3,1) blase-rein}@keyframes blase-rein{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:none}}.sprechblase-titel{margin-top:2px}.karte.sprechblase{position:relative}.sprechblase-spitze{pointer-events:none;position:absolute;overflow:visible}.sprechblase-spitze .spitze-flaeche{fill:var(--flaeche)}.sprechblase-spitze .spitze-rand{fill:none;stroke:var(--akzent-dunkel);stroke-width:1px;stroke-linejoin:round}.akzent-schrift{color:var(--akzent)}@media (prefers-reduced-motion:reduce){.sprechblase-rein{animation:none}}.auswahl-leiste{z-index:55;left:30px;right:30px;bottom:calc(var(--bottomnav-hoehe) + 10px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(10px);border:1px solid var(--akzent-dunkel);background:#131c2beb;border-radius:14px;justify-content:flex-end;align-items:center;gap:8px;padding:10px;animation:.22s cubic-bezier(.16,1,.3,1) leiste-rein;display:flex;position:fixed;box-shadow:0 12px 32px #00000073}.auswahl-leiste .primaer{flex:1;max-width:320px}@keyframes leiste-rein{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.karte.sprechblase{padding-bottom:84px}@media (width>=860px){.auswahl-leiste{left:calc(var(--sidebar-breite) + 30px);width:min(840px, calc(100vw - var(--sidebar-breite) - 60px));bottom:24px;right:auto}}@media (prefers-reduced-motion:reduce){.auswahl-leiste{animation:none}}.auswahl-leiste .primaer{white-space:nowrap;justify-content:center;align-items:center;gap:6px;display:inline-flex}.listen-pfeil{flex:none}.rezept-bildbereich{position:relative}.rezept-bild-platzhalter{border:0;border-bottom:1px dashed var(--linie-hell);color:var(--text-schwach);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0;font-size:.95rem;display:flex}.rezept-bild-platzhalter:hover{color:var(--akzent);background:var(--akzent-schein)}.platzhalter-symbol{opacity:.7;font-size:2.4rem}.rezept-bild-stift{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f1622d1;font-size:1.1rem;position:absolute;top:-4px;right:-4px}.rezept-bild-menue{z-index:5;background:var(--flaeche-hoch);border:1px solid var(--linie-hell);border-radius:12px;flex-direction:column;gap:4px;padding:6px;display:flex;position:absolute;top:44px;right:-4px;box-shadow:0 12px 28px #00000073}.rezept-bild-menue button{text-align:left;white-space:nowrap}.rezept-bild-laedt{aspect-ratio:16/9;max-height:320px;color:var(--text);background:#080c1499;border-radius:13px 13px 0 0;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;inset:-16px -16px auto}.artikel-kachel{background:radial-gradient(circle at 35% 30%,#5eead42e,#2dd4bf0a 70%);border:1.5px solid #2dd4bf73;box-shadow:inset 0 1px #ffffff0f}.liste .abhakflaeche:hover .artikel-kachel{border-color:var(--akzent)}.liste li.erledigt .artikel-kachel{border-color:var(--linie);background:0 0}.plan-auswahl-alle{border-bottom:1px solid var(--linie);gap:6px;padding-bottom:12px}.plan-gericht{padding:14px 0 16px}.plan-gericht+.plan-gericht{border-top:1px solid var(--linie)}.plan-gericht-kopf{align-items:center;gap:10px;display:flex}.plan-gericht-name{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;min-width:0;font-size:1.02rem;line-height:1.3}.plan-gericht-steuer{border:1px solid var(--linie);background:#ffffff06;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;margin:10px 0 12px;padding:6px;display:flex}.plan-gericht-steuer .personen{margin-left:0}.personen-zahl{align-items:center;gap:3px;display:inline-flex}.personen-symbol{color:var(--text-schwach);width:15px;height:15px}.personen-zahl.an .personen-symbol{color:var(--akzent)}.plan-gericht-steuer button.klein,.plan-auswahl-alle button.klein{padding:7px 10px}.plan-gericht-steuer .personen button.klein{padding:6px 9px}.plan-gericht-steuer .zeile{gap:5px!important}.kopf-link .kopf-symbol{stroke-width:1.7px}
