:root{font-family:Inter,system-ui,sans-serif;color:#19352c;background:#f7f5ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0;padding-bottom:88px}a{color:inherit}header{background:#12372a;color:#fff;padding:18px max(5vw,20px);display:flex;justify-content:space-between;align-items:center}.brand{font-size:1.2rem;font-weight:800;text-decoration:none}.page{width:min(760px,92%);margin:32px auto}.hero{background:#12372a;color:#fff;border-radius:28px;padding:28px}.hero h1{font-size:2.8rem;margin:.2em 0}.hero small{font-size:1rem;font-weight:400}.bar{height:12px;background:#ffffff30;border-radius:20px;overflow:hidden}.bar i{display:block;height:100%;background:#d9ed92}.grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:18px 0}.grid article,.card{background:#fff;border:1px solid #e1ded3;border-radius:18px;padding:18px;display:flex;flex-direction:column}.grid strong{font-size:1.4rem}.grid span{color:#65756f}.actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.actions a,.button,button{background:#d9ed92;border:0;border-radius:14px;padding:15px;color:#12372a;font-weight:800;text-align:center;text-decoration:none;cursor:pointer}nav{position:fixed;z-index:4;bottom:0;left:0;right:0;padding:10px max(2vw,8px) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #ddd;display:flex;justify-content:space-around}nav a{display:flex;min-width:58px;min-height:52px;flex-direction:column;align-items:center;text-decoration:none}nav b{font-size:1.4rem}.scan-button{color:#2f6e53}.offline,.warning{padding:12px;text-align:center;background:#fff0bf}.auth{min-height:100vh;display:grid;place-content:center}.auth form{width:min(420px,90vw);background:#fff;border-radius:24px;padding:28px;display:grid;gap:18px}.auth h1{text-align:center}label{display:grid;gap:7px;font-weight:700}input,select{font:inherit;padding:13px;border:1px solid #aeb9b3;border-radius:10px}.check{display:flex;grid-template-columns:auto 1fr}.empty,.scan-panel{padding:50px 24px;text-align:center;background:#fff;border-radius:24px}.scan-panel>div{font-size:5rem}@media(min-width:720px){.grid{grid-template-columns:repeat(4,1fr)}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.photo-button{display:inline-block}.photo-button input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.nutrient-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0}@media(max-width:520px){.nutrient-form{grid-template-columns:1fr}}
