:root{--sage:#71806b;--sage2:#e2e8de;--ink:#30332f;--muted:#737a71;--bg:#f7f8f5;--line:#dde3da;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}header{max-width:1000px;margin:auto;padding:22px 16px 10px;display:flex;justify-content:space-between;align-items:center}header small{color:var(--sage);font-weight:900;letter-spacing:.14em}h1,h2{font-family:Georgia,serif;margin:2px 0}button{border:0;border-radius:12px;padding:11px 14px;background:var(--sage);color:white;font-weight:800}button.secondary{background:#e9ede7;color:var(--ink)}button.danger{background:#f2e4e4;color:#8f4545}main{max-width:1000px;margin:auto;padding:10px 16px 50px}.search input{width:100%;padding:14px;border:1px solid var(--line);border-radius:14px;background:white;font-size:16px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#e9ede7;border-radius:14px;padding:4px;margin:14px 0}.tabs button{background:transparent;color:var(--muted)}.tabs button.active{background:white;color:var(--ink)}.actions{display:flex;justify-content:flex-end;margin:12px 0 16px}#grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.card{background:white;border:1px solid var(--line);border-radius:18px;overflow:hidden;cursor:pointer}.img{aspect-ratio:4/3;background:#e4e9e1 center/cover no-repeat}.body{padding:12px}.body small{color:var(--sage);font-weight:900;text-transform:uppercase}.body h3{font-family:Georgia,serif;margin:5px 0}.meta{color:var(--muted);font-size:13px}.empty{grid-column:1/-1;text-align:center;color:var(--muted);padding:45px 10px}dialog{border:0;border-radius:22px;padding:0;width:min(680px,94%);max-height:92%}dialog::backdrop{background:rgba(30,34,29,.48)}dialog form,dialog article .pad{padding:20px}label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:800;margin-bottom:12px}input,textarea,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:11px;background:white;font:inherit}.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}#hero{height:280px;background:#e4e9e1 center/cover no-repeat}article{position:relative}.close{position:absolute;right:12px;top:12px;border-radius:50%;width:42px;height:42px;background:white;color:var(--ink);font-size:22px}.viewActions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.viewActions button{background:#edf0eb;color:var(--ink)}#privacy{font-size:11px;font-weight:900;color:var(--sage);text-transform:uppercase}.ingredient{display:flex;gap:9px;padding:7px 0}.ingredient input{width:auto}#status{background:var(--sage2);padding:12px 14px;border-radius:13px;margin-bottom:12px;color:#4f584c}.hidden{display:none!important}#toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(15px);opacity:0;transition:.2s;background:var(--ink);color:white;padding:11px 14px;border-radius:11px;z-index:10}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}@media(max-width:720px){#grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:430px){#grid{grid-template-columns:1fr}.row{grid-template-columns:1fr}}.photo-import-box{background:var(--sage2);border:1px solid var(--line);border-radius:16px;padding:14px;margin:4px 0 16px}.photo-import-box h3{margin:0 0 5px}.photo-import-box p{margin:0 0 12px;color:var(--muted);font-size:13px;line-height:1.4}.photo-import-box input{margin-bottom:9px;background:white}.photo-import-box button{width:100%}.photo-import-box button:disabled{opacity:.55;cursor:not-allowed}.scan-status{font-size:13px;color:var(--muted);margin-top:9px}.scan-status.working{font-weight:800;color:var(--sage)}