:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f3f5f0;--card:#fff;--line:#dce2d9;--ink:#18201b;--ink-2:#5a665e;--ink-3:#2c3630;--green:#2e6b4b;--green-dark:#1f4d36;--green-tint:#e2eee6;--amber:#8a5a00;--amber-tint:#f6ecd6;--red:#b4430f;--red-tint:#fbe7dc;--muted-tint:#e7ebe5;--blue:#1c64a8;--blue-tint:#e2ecf7;--font-body:"Atkinson Hyperlegible", system-ui, -apple-system, sans-serif;--font-head:"Bricolage Grotesque", system-ui, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--r-sm:8px;--r-md:12px;--r-lg:16px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:20px;--s-6:28px;--tap:44px;--nav-h:64px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;font-size:100%}@supports (font:-apple-system-body){html{font:-apple-system-body}}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);margin:0;font-size:1rem;line-height:1.45;overflow-x:hidden}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--green)}h1,h2,h3,p{margin:0}h1{overflow-wrap:anywhere;font-family:var(--font-head);letter-spacing:-.02em;font-size:1.875rem;font-weight:800;line-height:1.05}h2.eyebrow,.eyebrow{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.75rem;font-weight:600}.muted{color:var(--ink-2);font-size:.8125rem}#root{min-height:100dvh}.screen{max-width:520px;padding:calc(env(safe-area-inset-top) + 32px) var(--s-5) calc(var(--nav-h) + env(safe-area-inset-bottom) + 120px);flex-direction:column;gap:18px;margin:0 auto;display:flex}.row{align-items:center;gap:var(--s-3);min-width:0;display:flex}.head{justify-content:space-between;align-items:center;gap:var(--s-3);flex-wrap:wrap;display:flex}.head>:first-child{flex:12rem;min-width:0}.between{flex-wrap:wrap;justify-content:space-between}.col{gap:var(--s-2);flex-direction:column;display:flex}.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden}.card.pad{padding:var(--s-4)}.list>*+*{border-top:1px solid var(--line)}.list-row{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:var(--s-3);padding:10px var(--s-4);flex-wrap:wrap;min-height:52px;display:flex}.list-row .name{font-weight:700}.btn{min-height:var(--tap);padding:6px var(--s-4);text-align:center;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card);color:var(--ink-3);justify-content:center;align-items:center;gap:8px;font-weight:700;text-decoration:none;display:inline-flex}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:disabled{background:var(--muted-tint);border-color:var(--line);color:var(--ink-2)}.btn.danger{color:var(--red)}.btn.block{width:100%}.btn.small{min-height:36px;padding:0 12px;font-size:.875rem}.icon-btn{width:var(--tap);height:var(--tap);border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);color:var(--ink-3);flex:none;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.chip{border:1px solid var(--line);background:var(--card);border-radius:999px;max-width:100%;min-height:36px;padding:0 14px;font-size:.875rem;font-weight:700}.chip[aria-pressed=true]{background:var(--green);border-color:var(--green);color:#fff}.chip:disabled{opacity:.45}.level{min-width:64px;min-height:36px;font-family:var(--font-mono);border:0;border-radius:999px;font-size:.75rem;font-weight:600}.level.Full{background:var(--green);color:#fff}.level.Half{background:var(--green-tint);color:var(--green)}.level.Low{background:var(--amber-tint);color:var(--amber)}.level.Out{background:var(--red-tint);color:var(--red)}.tag{font-family:var(--font-mono);background:var(--muted-tint);color:var(--ink-3);border-radius:6px;padding:3px 7px;font-size:.6875rem;font-weight:600}.tag.green{background:var(--green);color:#fff}.tag.amber{background:var(--amber-tint);color:var(--amber)}.tag.red{background:var(--red-tint);color:var(--red)}.tag.blue{background:var(--blue-tint);color:var(--blue)}.input{width:100%;min-height:var(--tap);padding:0 var(--s-3);border:1px solid var(--line);border-radius:var(--r-md);background:var(--card)}textarea.input{padding:var(--s-3);min-height:80px}.field{flex-direction:column;gap:6px;display:flex}.field label,.label{color:var(--ink-3);font-size:.8125rem;font-weight:700}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.hero{padding:var(--s-4);border-radius:var(--r-lg);background:var(--green);color:#fff;text-align:left;border:0;align-items:center;gap:14px;width:100%;text-decoration:none;display:flex}.hero .t{font-family:var(--font-head);font-size:1.125rem;font-weight:700;line-height:1.2}.hero .s{color:var(--green-tint);font-size:.8125rem}.hero .ic{border-radius:var(--r-md);background:#ffffff29;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.thumb{border-radius:var(--r-md);color:#9a5b1e;object-fit:cover;text-align:center;background:#f3ddbf;flex:none;justify-content:center;align-items:center;width:88px;height:88px;font-size:.75rem;display:flex}.thumb.sm{width:64px;height:64px}.thumb.lg{border-radius:var(--r-lg);width:100%;height:190px}.recipe-card{min-width:0;padding:var(--s-3);background:var(--card);border:1px solid var(--line);color:var(--ink);border-radius:14px;flex-wrap:wrap;gap:14px;text-decoration:none;display:flex}.recipe-card .title{font-family:var(--font-head);font-size:1.1875rem;font-weight:700;line-height:1.15}.bar{background:var(--muted-tint);border-radius:3px;flex:1;height:6px;overflow:hidden}.bar>span{background:var(--green);height:100%;display:block}.nav{z-index:20;background:var(--card);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.nav>div{grid-template-columns:repeat(5,1fr);max-width:520px;margin:0 auto;display:grid}.nav a{min-height:var(--nav-h);color:var(--ink-2);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:700;text-decoration:none;display:flex}.nav a[aria-current=page]{color:var(--green)}.badge{right:10px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 6px);z-index:19;font-family:var(--font-mono);color:var(--ink-2);background:#ffffffd9;border-radius:6px;padding:2px 6px;font-size:11px;text-decoration:none;position:fixed}.action-bar{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom));z-index:18;padding:var(--s-3) var(--s-5);background:linear-gradient(transparent, var(--bg) 30%);position:fixed}.action-bar>*{max-width:480px;margin:0 auto;display:flex}.toasts{left:0;right:0;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 28px);z-index:40;padding:0 var(--s-4);pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed}.toast{pointer-events:auto;background:var(--ink);color:#fff;border-radius:var(--r-md);justify-content:space-between;align-items:center;gap:12px;width:100%;max-width:480px;padding:10px 14px;font-size:.875rem;display:flex}.toast.error{background:var(--red)}.toast button{color:#fff;background:0 0;border:0;min-height:36px;padding:0 8px;font-weight:700;text-decoration:underline}.sheet-wrap{z-index:50;background:#18201b73;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:520px;padding:var(--s-5);gap:var(--s-4);max-height:88dvh;padding-bottom:calc(var(--s-5) + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;flex-direction:column;display:flex;overflow-y:auto}.notice{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--amber-tint);color:var(--amber);font-size:.875rem}.notice.red{background:var(--red-tint);color:var(--red)}.notice.green{background:var(--green-tint);color:var(--green-dark)}.empty{text-align:center;padding:var(--s-6) var(--s-4);color:var(--ink-2);gap:var(--s-3);flex-direction:column;align-items:center;display:flex}.check{border:2px solid var(--green);background:var(--card);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.check.on{background:var(--green)}.steps{gap:6px;display:flex}.steps span{text-align:center;background:var(--muted-tint);color:var(--ink-2);border-radius:8px;flex:1;padding:6px;font-size:.75rem}.steps span.on{background:var(--green);color:#fff}.skeleton{background:linear-gradient(90deg, var(--muted-tint), #f3f5f0, var(--muted-tint));border-radius:var(--r-md);height:72px}.removed{opacity:.55;text-decoration:line-through}.stepper{align-items:center;gap:4px;display:inline-flex}.stepper button{border:1px solid var(--line);background:var(--card);border-radius:10px;width:40px;height:40px;font-weight:800}.stepper b{text-align:center;min-width:3rem;font-family:var(--font-mono)}.seg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--card);display:inline-flex;overflow:hidden}.seg button{background:0 0;border:0;min-height:40px;padding:0 14px;font-weight:700}.seg button[aria-pressed=true]{background:var(--green);color:#fff}.row>.btn.grow{flex:8rem}.row>.btn:not(.grow),.row>.icon-btn,.row>.chip{flex:none}.row>.input{flex:8rem;min-width:0}.recipe-card>.col{flex:10rem}.fab{right:16px;bottom:calc(var(--nav-h) + env(safe-area-inset-bottom) + 36px);z-index:21;background:var(--green);color:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;width:64px;height:64px;display:flex;position:fixed;box-shadow:0 6px 18px #18201b47}.total{font-family:var(--font-head);font-size:1.625rem;font-weight:800;line-height:1}.mono{font-family:var(--font-mono);font-size:.8125rem;font-weight:600}.over{color:var(--red)}.under{color:var(--green)}.bar.over>span{background:#c2410c}.menu-row{padding:14px var(--s-4);text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:14px;text-decoration:none;display:flex}.menu-row .ic{border-radius:var(--r-md);background:var(--green-tint);width:44px;height:44px;color:var(--green);flex:none;justify-content:center;align-items:center;display:flex}.chip.dark[aria-pressed=true]{background:var(--ink);border-color:var(--ink)}
