:root{color-scheme:light;--ink:#123e40;--muted:#4b6866;--teal:#087b83;--line:#cbdcd5;--paper:#f4f6ef}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.55 system-ui,sans-serif}main{max-width:1100px;margin:auto;padding:24px}header,footer{display:flex;align-items:center;justify-content:space-between;gap:20px}a{color:#06646b;text-underline-offset:4px}.brand{font-size:25px;font-weight:800;text-decoration:none}.brand span{font-size:18px;margin-left:9px}.intro{padding:50px 0 24px;max-width:650px}.eyebrow,.step{font-size:11px;font-weight:750;letter-spacing:2px}.eyebrow{color:#6a582d}h1{font-family:Georgia,serif;font-weight:400;font-size:clamp(40px,6vw,65px);line-height:1.05;letter-spacing:-2px;margin:15px 0 20px}h2{font-size:23px;line-height:1.25;font-weight:650}p{color:var(--muted)}.modes{border:0;padding:0;margin:12px 0 28px;display:flex;gap:10px}.modes legend{font-size:14px;margin-bottom:10px}.modes label{flex:1;display:flex;gap:10px;align-items:center;border:1px solid var(--line);padding:15px;border-radius:13px;background:#fff;cursor:pointer}.modes label:has(:checked){background:#e0efea;border-color:var(--teal)}.modes span{font-weight:700}.modes span span{display:block;font-size:12px;font-weight:400;color:var(--muted)}input[type=radio],input[type=checkbox]{accent-color:var(--teal);width:20px;height:20px;flex-shrink:0}.grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.card{background:white;border:1px solid var(--line);border-radius:20px;padding:26px;min-width:0}.capture{background:#edf2eb;border:1px dashed #91aaa0;border-radius:13px;padding:22px;text-align:center}#preview{max-width:100%;max-height:280px;border-radius:8px;object-fit:contain}.buttons{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.button{border:1px solid var(--teal);background:var(--teal);color:white;border-radius:9px;padding:12px 18px;min-height:46px;font:600 15px system-ui;cursor:pointer;display:inline-block;text-align:center}.button input[type=file]{position:absolute;width:1px;height:1px;opacity:0}.button:focus-within,:focus-visible{outline:3px solid #ba8632;outline-offset:3px}.secondary{background:white;color:var(--teal)}.primary{width:100%;margin-top:12px}.button:disabled{opacity:.55;cursor:wait}.text-button{background:none;border:0;text-decoration:underline;cursor:pointer;color:var(--teal);padding:14px}.small{font-size:12px}.notice{font-size:13px;padding:12px;background:#f8f2df;border-radius:8px}.check{display:flex;gap:10px;font-size:13px;align-items:flex-start;margin-top:18px}.check input{margin-top:1px}textarea,input[type=number]{font:inherit;border:1px solid #91aaa0;border-radius:8px;padding:12px;width:100%;margin:7px 0;background:white;color:var(--ink)}textarea{resize:vertical}label{font-size:14px}details{margin-top:18px}summary{cursor:pointer;font-size:14px;font-weight:650}.nutrients{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.limits{padding:20px 5px;margin-top:22px;max-width:850px}.limits h2{font-size:19px}.limits p,.limits a{font-size:14px}#result:not(:empty){margin-top:22px;padding-top:15px;border-top:1px solid var(--line)}#result h3{font-size:18px}.totals{display:grid;gap:7px}.totals div{display:flex;justify-content:space-between;background:#f3f5ef;padding:9px;border-radius:6px}footer{padding:25px 0;font-size:13px;flex-wrap:wrap;border-top:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:650px){main{padding:18px}.intro{padding-top:30px}.grid{grid-template-columns:1fr}.card{padding:20px}.modes{gap:6px}.modes label{padding:10px 7px;gap:5px;align-items:flex-start}.modes span span{font-size:10px}.modes input{width:16px;height:16px}.nutrients{grid-template-columns:1fr}header>a:last-child{font-size:13px}}@media(prefers-reduced-motion:no-preference){.button{transition:background .15s}}
