:root{--bg:#fbfcfb;--bg-soft:#f3f7f4;--surface:#fff;--surface-soft:#f5f8f6;--text:#173125;--muted:#5f7467;--line:#e2eae4;--primary:#2f8f57;--primary-strong:#216741;--primary-soft:#dff2e6;--on-primary:#fff;--warn:#c75f4f;--warn-soft:#f9e9e4;--time:#8a651d;--time-soft:#f6eed7;--shadow-sm:0 12px 28px #20443014;--shadow-md:0 22px 48px #1838261f;--r-xs:10px;--r-sm:14px;--r:20px;--r-lg:28px;--ease:.2s cubic-bezier(.2, .8, .2, 1);--serif:"Fraunces", "Palatino Linotype", Palatino, serif;--sans:"Manrope", "Avenir Next", "Segoe UI", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0f1b14;--bg-soft:#13221a;--surface:#17271d;--surface-soft:#1c2f23;--text:#e7f0e9;--muted:#9db1a3;--line:#2a4032;--primary:#4cab72;--primary-strong:#7ecfa0;--primary-soft:#1e3a2a;--on-primary:#0d1f15;--warn:#d9826f;--warn-soft:#3a241e;--time:#d9b36a;--time-soft:#33301c;--shadow-sm:0 12px 28px #00000059;--shadow-md:0 22px 48px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15.5px;line-height:1.55}h1,h2,h3{text-wrap:balance;margin:0}p{margin:0}img{max-width:100%}.app{max-width:430px;padding-inline:16px;padding-top:calc(10px + env(safe-area-inset-top,0px));padding-bottom:calc(90px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:14px;margin-inline:auto;display:flex}.app--ohne-leiste{padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.inhalt{flex-direction:column;gap:14px;display:flex}.kopf{justify-content:space-between;align-items:center;gap:10px;padding-block:6px 2px;display:flex}.marke{flex-direction:column;gap:1px;display:flex}.marke-name{font-family:var(--serif);letter-spacing:.01em;font-size:1.22rem;font-weight:600}.marke-sub{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:600}.rundknopf{border:1px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--text);cursor:pointer;transition:background var(--ease);border-radius:50%;place-items:center;display:grid}.rundknopf:hover{background:var(--surface-soft)}.menue{position:relative}.menue>summary{list-style:none}.menue>summary::-webkit-details-marker{display:none}.menue-blatt{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);width:min(330px,100vw - 32px);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:16px;display:flex;position:absolute;top:50px;right:0}.menue-name{font-family:var(--serif);font-size:1.15rem;font-weight:600}.demo-pille{letter-spacing:.05em;text-transform:uppercase;color:var(--time);background:var(--time-soft);border-radius:999px;align-self:flex-start;padding:3px 10px;font-size:.72rem;font-weight:700}.karte{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);flex-direction:column;gap:12px;padding:18px;display:flex}.karte--hebt{box-shadow:var(--shadow-sm)}.karte--gestrichelt{border-style:dashed}.karte h2{font-family:var(--serif);font-size:1.18rem;font-weight:600}.karte h3{font-size:.98rem;font-weight:700}.leise{color:var(--muted);font-size:.88rem}.zentriert{text-align:center}.fehler{color:var(--warn);font-size:.9rem;font-weight:600}.zeile{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.zeile--mitte{align-items:center}.zeile dt{color:var(--muted);font-size:.85rem}.zeile dd{font-variant-numeric:tabular-nums;text-align:right;margin:0;font-weight:700}dl{flex-direction:column;gap:8px;margin:0;display:flex}.banner{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px 18px;display:flex}.banner strong{color:var(--primary-strong);font-family:var(--serif);font-size:1.12rem}.banner p{font-size:.9rem}.hinweis-zeit{background:var(--time-soft);color:var(--time);border-radius:var(--r-xs);padding:8px 12px;font-size:.85rem;font-weight:600}.hinweis-warn{background:var(--warn-soft);color:var(--warn);border-radius:var(--r-xs);padding:8px 12px;font-size:.85rem;font-weight:600}.status-gut{color:var(--primary-strong);font-size:.9rem;font-weight:700}.status-aus{color:var(--warn);font-size:.9rem;font-weight:700}.knopf{appearance:none;cursor:pointer;font:inherit;border-radius:var(--r-sm);background:var(--primary);color:var(--on-primary);transition:background var(--ease), opacity var(--ease);border:none;padding:12px 18px;font-weight:700}a.knopf{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.knopf:hover{background:var(--primary-strong)}.knopf:disabled{opacity:.45;cursor:default}.knopf--still{background:var(--surface);color:var(--text);border:1px solid var(--line)}.knopf--still:hover{background:var(--surface-soft)}.knopf--klein{border-radius:var(--r-xs);padding:7px 12px;font-size:.85rem}.knopf--breit{width:100%}button:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.textlink{cursor:pointer;font:inherit;color:var(--primary-strong);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.88rem;font-weight:700;text-decoration:underline}.rueck{align-self:flex-start}form{flex-direction:column;gap:14px;display:flex}label{color:var(--muted);flex-direction:column;gap:6px;font-size:.85rem;font-weight:700;display:flex}input[type=text],textarea,input[type=file]{font:inherit;color:var(--text);background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-xs);width:100%;padding:11px 12px}textarea{resize:vertical;min-height:84px}.tableiste{inset-inline:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);position:fixed;bottom:0}.tableiste-innen{grid-template-columns:repeat(4,1fr);max-width:430px;margin-inline:auto;display:grid}.tab{color:var(--muted);flex-direction:column;align-items:center;gap:3px;padding:10px 4px 8px;font-size:.72rem;font-weight:700;text-decoration:none;display:flex}.tab svg{width:23px;height:23px}.tab[aria-current=page]{color:var(--primary-strong)}.schalter{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-sm);grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid}.schalter button{appearance:none;cursor:pointer;font:inherit;border-radius:var(--r-xs);color:var(--muted);transition:background var(--ease), color var(--ease);background:0 0;border:none;padding:10px 8px;font-size:.92rem;font-weight:700}.schalter button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.schalter button:disabled{cursor:default;opacity:.6}.schalter button span{font-size:.74rem;font-weight:500;display:block}.raeume{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.raum-kachel{appearance:none;cursor:pointer;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);font:inherit;color:var(--text);transition:background var(--ease), border-color var(--ease);flex-direction:column;gap:2px;padding:12px;display:flex}.raum-kachel[aria-pressed=true]{background:var(--primary-soft);border-color:var(--primary)}.raum-name{font-size:.9rem;font-weight:700}.raum-ist{font-family:var(--serif);font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:600}.raum-soll{color:var(--muted);font-size:.78rem}.raum-panel{border-top:1px solid var(--line);flex-direction:column;gap:10px;padding-top:12px;display:flex}.stufen{justify-content:center;align-items:center;gap:16px;display:flex}.stufen button{border:1px solid var(--line);background:var(--surface-soft);width:46px;height:46px;color:var(--text);cursor:pointer;border-radius:50%;font-size:1.4rem;font-weight:700;line-height:1}.stufen button:disabled{opacity:.35;cursor:default}.stufen output{font-family:var(--serif);text-align:center;font-variant-numeric:tabular-nums;min-width:118px;font-size:2rem;font-weight:600}.stufen output small{font-family:var(--sans);color:var(--muted);font-size:.76rem;font-weight:600;display:block}.liste{flex-direction:column;display:flex}.liste-eintrag{color:var(--text);border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:13px 2px;text-decoration:none;display:flex}.liste-eintrag:last-child{border-bottom:none}.liste-eintrag:hover{background:var(--surface-soft)}.liste-eintrag .titel{flex:1;font-weight:700}.liste-eintrag .wo{color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:.74rem;font-weight:700}.pfeil{color:var(--muted);flex:none}.bloecke{flex-direction:column;gap:10px;display:flex}.bloecke ul{flex-direction:column;gap:4px;margin:0;padding-left:1.2rem;display:flex}.qr{place-items:center;padding-block:6px;display:grid}.qr svg{border-radius:var(--r-xs);background:#fff;border:8px solid #fff;width:160px;height:160px}.kopierzeile{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--r-xs);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.kopierzeile code{-webkit-user-select:all;user-select:all;font-size:.95rem;font-weight:700;font-family:var(--sans);overflow-wrap:anywhere}.aufklapp>summary{cursor:pointer;list-style:none}.aufklapp>summary::-webkit-details-marker{display:none}.haken{flex-direction:column;gap:4px;display:flex}.haken label{color:var(--text);cursor:pointer;flex-direction:row;align-items:center;gap:12px;padding:9px 2px;font-size:.95rem;font-weight:600}.haken input{width:21px;height:21px;accent-color:var(--primary);flex:none}.erfolg{text-align:center;align-items:center}.erfolg-kreis{background:var(--primary-soft);width:64px;height:64px;color:var(--primary-strong);border-radius:50%;place-items:center;display:grid}.sterne{border:none;flex-direction:row-reverse;justify-content:flex-end;gap:4px;margin:0;padding:0;display:flex}.sterne input{opacity:0;width:1px;height:1px;position:absolute}.sterne label{cursor:pointer;color:var(--line);padding:2px}.sterne label svg{width:30px;height:30px;display:block}.sterne input:checked~label,.sterne label:hover,.sterne label:hover~label{color:var(--time)}.sterne input:focus-visible+label{outline:2px solid var(--primary);border-radius:6px}.anmeldung{text-align:center;gap:18px;padding-top:8vh}.anmeldung .marke-name{font-size:1.9rem}.anmeldung .untertitel{font-family:var(--serif);color:var(--muted);font-size:1.05rem;font-weight:500}.anmeldung .karte{text-align:left}.fussnote{color:var(--muted);text-align:center;padding-block:6px;font-size:.78rem}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
