:root{--text:#1f2421;--muted:#5f6b63;--bg:#fff;--accent:#2f6b3a;--ok:#2f6b3a;--error:#b3261e;--highlight:#e5f1e7;--done:#fde9d9;--page:40rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font:18px/1.5 system-ui,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#e6ebe7;--muted:#a3ada6;--bg:#141715;--accent:#7cc48a;--ok:#7cc48a;--error:#f2b8b5;--highlight:#23392a;--done:#4a2c17}}@media (width>=700px){:root{--page:46rem;font-size:21px}}*{touch-action:manipulation}body{padding-top:var(--env-band);margin:0}:root{--env-band:0px}:root:has(.env-band){--env-band:calc(1.25rem + env(safe-area-inset-top))}.env-band{z-index:10;box-sizing:border-box;height:var(--env-band);padding-top:env(safe-area-inset-top);background:repeating-linear-gradient(-45deg, var(--env-color) 0 .55rem, color-mix(in srgb, var(--env-color) 88%, black) .55rem 1.1rem);color:var(--env-text);letter-spacing:.16em;text-transform:uppercase;pointer-events:none;justify-content:center;align-items:center;font-size:.65rem;font-weight:700;line-height:1;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 1px 4px #0003}.env-band span{background:var(--env-color);border-radius:1rem;padding:.2rem .7rem .2rem .86rem}main{max-width:var(--page);margin:0 auto;padding:2rem 1rem}h1{color:var(--accent);margin-top:0}.muted{color:var(--muted)}.status-ok{color:var(--ok)}.status-ok a{color:inherit}.status-error{color:var(--error)}a{color:var(--accent)}h1 a{color:inherit;text-decoration:none}footer{margin-top:3rem;font-size:.85rem}.small{font-size:.85rem}input,textarea,button{font:inherit}input,textarea{box-sizing:border-box;border:1px solid var(--muted);width:100%;color:inherit;background:0 0;border-radius:.4rem;padding:.5rem}button{background:var(--accent);color:var(--bg);cursor:pointer;border:none;border-radius:.4rem;padding:.4rem 1rem}button:disabled{opacity:.6}a.button{background:var(--accent);color:var(--bg);border-radius:.4rem;padding:.4rem 1rem;text-decoration:none;display:inline-block}button.secondary{color:var(--accent);border:1px solid var(--accent);background:0 0}button.link{color:var(--accent);background:0 0;padding:.4rem 0}button.danger{color:var(--error)}.actions{flex-wrap:wrap;align-items:center;gap:.75rem 1rem;margin-top:.75rem;display:flex}.recipe-list{padding-left:1.2rem}.recipe-list li{margin-bottom:.4rem}.ai-log-entry{margin-bottom:1.5rem}.ai-log-entry pre{white-space:pre-wrap;word-break:break-word;background:var(--surface,#8080801a);border-radius:.4rem;padding:.5rem}.badge{color:var(--muted);border:1px solid;border-radius:1rem;padding:.1rem .5rem;font-size:.75rem}.badge-ready{color:var(--ok)}.badge-failed{color:var(--error)}.steps li{margin-bottom:1rem}.steps p{margin:0 0 .3rem}.ingredient{color:var(--accent)}.timer{border:1px solid var(--accent);border-radius:1rem;margin-right:.5rem;padding:.1rem .6rem;font-size:.85rem;display:inline-block}.pinned,.cooking-top{top:var(--env-band);z-index:1;background:var(--bg);margin:0 -1rem;padding:0 1rem;position:sticky}.cooking-top{border-bottom:1px solid var(--muted);padding-top:.5rem}.cooking{padding-bottom:max(5rem,40vh)}main:has(.cooking){padding-top:0}.cooking-title-row{align-items:baseline;gap:.75rem;display:flex}.cooking-title-row a{font-size:1.2rem;text-decoration:none}.cooking-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;margin:0 0 .5rem;font-size:1.05rem;overflow:hidden}.icon-button{color:var(--accent);background:0 0;border-radius:.5rem;align-self:center;place-items:center;margin:-.4rem -.4rem 0 0;padding:.4rem;display:grid}.icon-button:hover,.icon-button[aria-pressed=true]{background:var(--highlight)}.cook-card{border:1px solid #0000;border-radius:.6rem;margin:1rem 0;padding:.75rem 1rem}.cook-card h3{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem;font-size:.9rem}.cook-card.current{border:2px solid var(--accent)}.cook-card.current h3{color:var(--accent)}.cook-card.done{opacity:.55}.set-out{margin:0;padding:0;list-style:none}.set-out label{align-items:center;gap:.75rem;padding:.3rem 0;display:flex}.set-out input{width:1.3rem;height:1.3rem;accent-color:var(--accent)}.set-out input:checked+span{color:var(--muted);text-decoration:line-through}.step-ingredients{background:var(--highlight);border-radius:.5rem;margin:0 0 .75rem;padding:.5rem 1rem .5rem 2rem;font-size:.9rem}.step-text{margin:0;font-size:1.35rem;line-height:1.55}.ingredient-name{background:var(--highlight);color:var(--accent);border-radius:.3rem;padding:0 .3rem;font-weight:600}.ingredient-amount{background:var(--accent);color:var(--bg);border-radius:.3rem;margin-left:.4rem;padding:0 .4rem;font-size:.8em;font-weight:400}.step-timer{border:1px solid var(--accent);border-radius:.5rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;display:flex}.step-timer-label{font-weight:600}.step-timer-state{font-variant-numeric:tabular-nums}.timer-panel{flex-direction:column;gap:.3rem;max-height:40vh;padding-bottom:.5rem;display:flex;overflow-y:auto}.timer-row{border:1px solid var(--accent);background:linear-gradient(to right, var(--highlight) calc(var(--progress,0) * 100%), transparent calc(var(--progress,0) * 100%));border-radius:.5rem;align-items:center;gap:.5rem;padding:.2rem .3rem .2rem .5rem;font-size:.9rem;display:flex}.timer-row-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:inherit;flex:1;font-weight:600;text-decoration:none;overflow:hidden}.timer-step{background:var(--accent);min-width:1.3rem;color:var(--bg);text-align:center;border-radius:1rem;margin-right:.35rem;font-size:.75rem;display:inline-block}.timer-clock{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:1rem;font-weight:600}.timer-controls{align-items:center;gap:.25rem;display:flex}.timer-controls button{white-space:nowrap;min-width:2.2rem;padding:.15rem .4rem}.timer-paused .timer-clock,.timer-paused .step-timer-state{color:var(--muted)}.timer-done{background:var(--done);border-color:var(--error)}.timer-done .timer-clock,.timer-done .step-timer-state{color:var(--error);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:.3}}.back-to-current{z-index:2;white-space:nowrap;border-radius:2rem;padding:.5rem 1.1rem;position:fixed;bottom:5.5rem;left:50%;transform:translate(-50%);box-shadow:0 .2rem .8rem #00000040}.cooking-nav{z-index:1;padding:.6rem max(1rem, calc((100vw - var(--page)) / 2 + 1rem));padding-bottom:calc(.6rem + env(safe-area-inset-bottom));border-top:1px solid var(--muted);background:var(--bg);grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;display:grid;position:fixed;bottom:0;left:0;right:0}.cooking-nav button,.cooking-nav .button{text-align:center;min-width:6.5rem;padding:.7rem 1rem}.cooking-nav>:first-child{justify-self:start}.cooking-nav>:last-child{justify-self:end}.cooking-nav>span{white-space:nowrap}.app-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 1rem;margin-bottom:1rem;display:flex}.app-header h1{margin-bottom:0}.user-bar{align-items:baseline;gap:1rem;display:flex}.user-bar button.link{padding:0}.login{text-align:center;padding-top:20vh}select{font:inherit;border:1px solid var(--muted);color:inherit;background:0 0;border-radius:.4rem;padding:.4rem}.household{margin-bottom:2rem}.members{padding:0;list-style:none}.members li{border-bottom:1px solid color-mix(in srgb, var(--muted) 30%, transparent);justify-content:space-between;align-items:baseline;gap:1rem;padding:.3rem 0;display:flex}.members button.link{padding:0}.qr-code{border-radius:.4rem;width:min(100%,18rem);margin:.5rem 0 1rem;display:block}
