:root{color-scheme:light dark;--bg:light-dark(#f7f4ef,#211e1b);--panel:light-dark(#fff,#2c2723);--ink:light-dark(#332d27,#f5eee5);--muted:light-dark(#6d6258,#c1b4a7);--line:light-dark(#e5ded4,#51463d);--main:light-dark(#68452c,#d6aa83);--on:light-dark(#fff,#2b1b0e);--soft:light-dark(#ebe0d3,#403124);--ok:light-dark(#2b6445,#a4d5b2);--okbg:light-dark(#eaf3eb,#253b2d);--error:light-dark(#a52822,#ffb4ab);font:400 15px/1.45 system-ui,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}body{margin:0}#app{max-width:560px;min-height:100dvh;margin:auto;border-inline:1px solid var(--line)}header{padding:22px 20px 16px;background:var(--panel)}.brand{font-size:12px;letter-spacing:.14em;color:var(--muted)}h1{font-size:23px;font-weight:500;line-height:1.2;margin:8px 0}h2{font-size:18px;font-weight:500;margin:0 0 12px}h3{font-size:16px;font-weight:500;margin:0 0 8px}p{margin:6px 0}.muted,small{color:var(--muted);font-size:13px}.error{color:var(--error)}main{padding:20px 20px 100px}.box{padding:16px;border:1px solid var(--line);background:var(--panel);border-radius:15px;margin-bottom:12px;overflow-wrap:anywhere}.row{display:flex;align-items:center;justify-content:space-between;gap:10px}.row>div{min-width:0}.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.tabs button{flex:1}.tabs button[aria-pressed=true],.primary{background:var(--main);color:var(--on)}button{font:inherit;min-height:44px;padding:10px 12px;border:0;border-radius:10px;background:var(--soft);color:var(--main);cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:var(--main)}input:not([type=checkbox]),select,textarea{width:100%;min-height:44px;font:inherit;font-size:16px;padding:10px 11px;background:var(--panel);color:var(--ink);border:1px solid var(--line);border-radius:10px}textarea{min-height:90px;resize:vertical}label{display:grid;gap:5px;font-size:13px}.fields{display:grid;gap:13px}.pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.check{display:flex;gap:10px;align-items:center;min-height:44px}.check input{width:21px;height:21px;accent-color:var(--main)}.badge{display:inline-block;background:var(--soft);color:var(--main);padding:4px 8px;font-size:12px;border-radius:8px}.task{display:grid;grid-template-columns:36px minmax(0,1fr) 44px;gap:8px;align-items:center;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--panel);margin:9px 0}.task.done{background:var(--okbg)}.task input{width:21px;height:21px;accent-color:var(--main)}.task .title{font-size:14px}.task .details{grid-column:2/4}.task .thumb{width:68px;height:68px;object-fit:cover;border-radius:8px}.camera{width:44px;padding:8px;display:grid;place-items:center}.camera svg{width:21px;height:21px}.progress{width:100%;height:7px;accent-color:var(--main);margin:12px 0}.feedback{border-left:3px solid var(--main);padding-left:12px;margin:12px 0;font-size:14px;white-space:pre-wrap}.photo-trigger{padding:0;background:transparent;width:100%;text-align:left}.recipe-photo{display:block;width:100%;height:144px;object-fit:cover;object-position:center 42%;border-radius:12px;margin:12px 0}.ingredients{width:100%;border-collapse:collapse;margin:15px 0}.ingredients td{padding:10px 0;border-bottom:1px solid var(--line)}.ingredients td:last-child{text-align:right}.pre{white-space:pre-wrap}.bottom{position:sticky;bottom:0;background:var(--panel);border-top:1px solid var(--line);padding:8px 10px max(8px,env(safe-area-inset-bottom));display:flex;gap:4px;flex-wrap:wrap}.bottom button{flex:1;font-size:13px;background:transparent;color:var(--muted)}.bottom button[aria-pressed=true]{background:var(--soft);color:var(--main)}#notice{position:fixed;bottom:95px;left:50%;transform:translateX(-50%);width:min(90%,500px);padding:12px 16px;border-radius:12px;background:var(--main);color:var(--on);box-shadow:0 3px 18px #0003;z-index:5;white-space:pre-wrap}#notice:empty{display:none}dialog{width:min(560px,94%);padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink)}dialog::backdrop{background:#23180eb3}dialog img{display:block;width:100%;height:auto;max-height:80dvh;object-fit:contain;margin-top:12px}details{margin:12px 0}summary{cursor:pointer;min-height:44px;padding:10px 0}.connection{font-size:12px;margin:8px 0;color:var(--muted)}.warning{border-left:3px solid var(--error);padding:10px 12px;background:var(--soft);margin:12px 0;font-size:13px}.empty{padding:25px 16px;text-align:center;border:1px dashed var(--line);border-radius:14px}.form-error{color:var(--error);font-size:13px;white-space:pre-wrap}.busy{opacity:.7}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--main);outline-offset:3px}[hidden]{display:none!important}@media(max-width:380px){main{padding:14px 14px 90px}.pair{grid-template-columns:1fr}.task{padding:12px}.bottom button{padding:9px 6px}}
:root .ingredient-editor{margin:0;padding:0;border:0;min-width:0}.ingredient-editor legend{font-size:15px;margin-bottom:10px}.ingredient-list{display:grid;gap:12px;margin-bottom:12px}.ingredient-row{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg)}.ingredient-row input{min-width:0}.ingredient-row>button{margin-top:8px;font-size:13px}.stock-edit>summary{display:inline-block;border-radius:10px;padding:10px 12px;background:var(--soft);color:var(--main);list-style:none}.stock-edit>summary::-webkit-details-marker{display:none}.stock-edit[open]>summary{margin-bottom:10px}
.install-banner{max-width:560px;margin:auto;padding:12px 20px;background:var(--soft);border:1px solid var(--line)}.install-banner p{font-size:13px;margin-bottom:8px}.install-banner button{margin-right:8px;background:var(--panel)}
