:root{--paper:#f5f1e8;--ink:#20221d;--muted:#67695f;--green:#315b45;--line:#d5d0c4;--amber:#8a5d18;--red:#9a3029}*{box-sizing:border-box}html{font-size:16px;min-height:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;line-height:1.55}a{color:var(--green);text-underline-offset:3px}h1,h2,h3{font-family:Georgia,serif;line-height:1.1}h1{font-size:clamp(2.4rem,6vw,4.8rem);letter-spacing:-.04em}.container{max-width:1080px}.navbar{border-bottom:1px solid var(--line);padding:18px 0}.navbar-brand{font-family:Georgia,serif;color:var(--ink);font-weight:bold}.navbar-brand span{display:inline-grid;place-items:center;background:var(--green);color:white;width:32px;height:32px;border-radius:50%;margin-right:8px}.navbar .nav-link{color:var(--ink)}main{min-height:70vh;padding:64px 0 96px}.footer{border-top:1px solid var(--line);padding:28px 0;color:var(--muted)}.footer .container{display:flex;justify-content:space-between;gap:24px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:750;color:var(--muted);margin:0 0 8px}.hero{max-width:800px;padding:7vh 0}.hero h1{max-width:700px}.hero>p:not(.eyebrow){font-size:1.25rem;max-width:650px;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;margin-top:32px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;border:0;border-radius:4px;background:var(--green);color:white;text-decoration:none;font-weight:700}.button:disabled{opacity:.5}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.principles article{padding:32px 32px 0 0}.principles span,.meal-time{font-variant-numeric:tabular-nums;color:var(--muted)}.page-head,.analysis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;border-bottom:1px solid var(--line);padding-bottom:28px}.page-head h1{margin:0}.meal-list{border-top:1px solid var(--line)}.meal-row{display:grid;grid-template-columns:180px 1fr 130px;gap:24px;padding:28px 0;border-bottom:1px solid var(--line)}.meal-row h2{margin:0 0 8px}.meal-row p{margin:0}.status{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.empty{padding:72px 0;border-bottom:1px solid var(--line);text-align:center}.empty.compact{padding:32px}.form-page{max-width:720px}.form-page h1{margin-top:0}.field{margin:24px 0}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.field label{display:block;font-weight:700;margin-bottom:8px}.field small{color:var(--muted);font-weight:400}input,select,textarea{width:100%;min-height:46px;padding:10px 12px;background:#fffdf8;border:1px solid #aaa69c;border-radius:3px;color:var(--ink)}textarea{resize:vertical}.field span,.validation{color:var(--red)}.meal-photo{display:block;width:100%;max-height:600px;object-fit:contain;background:#e9e4d9;margin:32px 0}.analysis-head{margin-top:48px}.analysis-head h2{margin:0}.notice,.estimate-label,.caveats{padding:16px 20px;border-left:3px solid var(--green);background:#e9eee8;margin:24px 0}.warning{border-color:var(--amber);background:#f2e9d8}.score-grid{display:grid;grid-template-columns:220px 1fr;gap:40px;padding:36px 0}.score span{font-family:Georgia,serif;font-size:5rem}.score small{display:block;color:var(--muted)}.score-grid dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line)}.score-grid dl div{background:var(--paper);padding:14px}.score-grid dt{font-size:.75rem;text-transform:uppercase;color:var(--muted)}.score-grid dd{font-size:1.15rem;margin:4px 0}.analysis-columns{display:grid;grid-template-columns:1fr 1fr;gap:48px;border-top:1px solid var(--line);padding-top:24px}.fine-print,.caveats{font-size:.9rem;color:var(--muted)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}.danger-zone{margin-top:64px;padding-top:24px;border-top:1px solid var(--line)}.danger{background:none;color:var(--red);border:1px solid var(--red);min-height:44px;padding:8px 16px;border-radius:3px}@media(max-width:700px){main{padding-top:40px}.footer .container,.page-head,.analysis-head{flex-direction:column}.principles,.analysis-columns,.field-grid,.score-grid{grid-template-columns:1fr}.meal-row{grid-template-columns:1fr}.score-grid dl{grid-template-columns:1fr 1fr}.actions{flex-wrap:wrap}}
