:root{color:#1c2923;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f7f7f2;font-family:BIZ UDPGothic,Yu Gothic UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button{font:inherit;cursor:pointer;touch-action:manipulation}.app-shell{max-width:560px;min-height:100dvh;padding:max(24px, env(safe-area-inset-top)) 20px calc(96px + env(safe-area-inset-bottom));margin:0 auto}.page-header{margin-bottom:28px}.eyebrow{color:#2f5d50;letter-spacing:.15em;margin:0 0 8px;font-size:11px;font-weight:700}h1,h2,h3,p{margin-top:0}h1{margin-bottom:0;font-size:28px;line-height:1.3}h2{margin-bottom:4px;font-size:24px}h3{margin-bottom:16px;font-size:17px}.section-heading{margin-bottom:20px}.section-heading p{color:#56665e;margin-bottom:0;font-size:13px}.export-button{margin-bottom:16px}.export-button:disabled{opacity:.5;cursor:not-allowed}.kind-switch{border:0;grid-template-columns:repeat(3,1fr);gap:8px;min-width:0;margin-bottom:16px;padding:0;display:grid}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.kind-switch button,.bottom-nav button{color:#2f5d50;background:#fff;border:1px solid #cdd8d0;border-radius:14px;min-height:48px;font-weight:700}.kind-switch button.active{color:#fff;background:#2f5d50;border-color:#2f5d50}.kind-switch button:focus-visible,.bottom-nav button:focus-visible{outline-offset:2px;outline:3px solid #b64f35}.content-card{background:#fff;border:1px solid #e2e8e1;border-radius:20px;min-height:180px;padding:20px}.muted{color:#56665e;font-size:14px;line-height:1.6}.record-list{margin:0;padding:0;list-style:none}.record-list li{border-top:1px solid #e2e8e1;justify-content:space-between;gap:16px;padding:14px 0;font-size:14px;display:flex}.record-list li:first-child{border-top:0;padding-top:0}.record-list time{color:#56665e;flex:none;font-size:12px}.content-card+.content-card{margin-top:16px}.entry-form{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;display:grid}.entry-form h3{margin-bottom:8px}.entry-form label{margin-top:8px;font-size:14px;font-weight:700}.entry-form input:not([type=file]){color:#1c2923;width:100%;min-width:0;min-height:48px;font:inherit;background:#fff;border:1px solid #a9bdb0;border-radius:12px;padding:10px 12px;font-size:16px}.entry-form input[type=file]{max-width:100%;font:inherit;padding:10px 0;font-size:14px}.entry-form input:focus-visible,.primary-button:focus-visible,.secondary-button:focus-visible,.text-button:focus-visible{outline-offset:2px;outline:3px solid #b64f35}.form-actions,.record-actions{flex-wrap:wrap;gap:8px;display:flex}.form-actions{justify-content:flex-end;margin-top:16px}.primary-button,.secondary-button,.text-button{border-radius:12px;min-height:44px;padding:8px 14px;font-weight:700}.primary-button{color:#fff;background:#b64f35;border:1px solid #b64f35}.primary-button:disabled{opacity:.6;cursor:wait}.secondary-button{color:#2f5d50;background:#fff;border:1px solid #2f5d50}.text-button{color:#2f5d50;background:0 0;border:0;padding-inline:4px;text-decoration:underline}.form-error{color:#a12f1c;margin:8px 0 0;font-size:14px}.photo-selection{align-items:center;gap:12px;margin-top:4px;display:flex}.meal-photo{object-fit:cover;border-radius:12px;flex:none;width:88px;height:88px;display:block}.meal-list{margin:0;padding:0;list-style:none}.meal-list li{border-top:1px solid #e2e8e1;gap:12px;padding:16px 0;display:flex}.meal-list li:first-child{border-top:0;padding-top:0}.meal-details{overflow-wrap:anywhere;gap:6px;min-width:0;font-size:14px;display:grid}.meal-details strong{font-size:16px}.meal-details time{color:#56665e}.record-actions{margin-top:6px}.simple-list{margin:0;padding:0;list-style:none}.simple-list li{border-top:1px solid #e2e8e1;gap:6px;padding:16px 0;display:grid}.simple-list li:first-child{border-top:0;padding-top:0}.simple-list strong{font-size:16px}.simple-list time{color:#56665e;font-size:14px}.recipe-search{grid-template-columns:minmax(0,1fr);gap:8px;min-width:0;margin-top:8px;display:grid}.recipe-search>button{justify-self:start}.recipe-settings,.recipe-results{gap:8px;margin-top:8px;display:grid}.recipe-settings label,.recipe-results>label:not(.recipe-choice){font-size:14px;font-weight:700}.recipe-settings input,.recipe-results input[type=number]{width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #a9bdb0;border-radius:10px;padding:8px 10px;font-size:16px}.recipe-choice{border:1px solid #e2e8e1;border-radius:12px;align-items:start;gap:10px;padding:10px;line-height:1.6;display:flex}.recipe-choice input{flex:none;width:20px;height:20px;margin:2px 0 0}.recipe-choice a{color:#2f5d50;font-weight:700}.recipe-settings .remember-token{align-items:center;gap:10px;font-weight:400;display:flex}.recipe-settings .remember-token input{flex:none;width:20px;height:20px;min-height:20px;padding:0}.calorie-preview{margin:6px 0;font-size:16px;font-weight:700}.search-suggestions{border:0;width:100%;min-height:72px}.chart-unit{color:#56665e;font-size:13px;font-weight:400}.chart-scroll{max-width:100%;overflow-x:auto}.chart-scroll:focus-visible{outline-offset:2px;outline:3px solid #b64f35}.trend-chart{max-width:none;display:block}.chart-grid{stroke:#dbe5dd;stroke-width:1px}.chart-line{fill:none;stroke:#2f5d50;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.chart-dot{fill:#2f5d50;stroke:#fff;stroke-width:2px}.chart-bar{fill:#2f5d50}.chart-axis,.chart-date{fill:#56665e;font-size:11px}.chart-value{fill:#1c2923;font-size:11px;font-weight:700}.bottom-nav{max-width:560px;padding:10px 20px max(12px, env(safe-area-inset-bottom));background:#f7f7f2;border-top:1px solid #e2e8e1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav button{background:0 0;border-color:#0000}.bottom-nav button.active{color:#fff;background:#2f5d50}@media (prefers-reduced-motion:no-preference){button{transition:background-color .15s,color .15s}}
