:root{color-scheme:dark;--bg: #12160f;--bg-raised: #1b2118;--bg-sunken: #0d100c;--line: #31392c;--text: #e7eee2;--muted: #9aa592;--accent: #d7a15f;--accent-ink: #241a08;--note: #d9c7a2;--shadow: 0 16px 40px rgba(0, 0, 0, .28);--font: "Avenir Next", "Segoe UI", sans-serif;--serif: "Iowan Old Style", Palatino, Georgia, serif;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--safe: var(--safe-bottom)}:root[data-theme=light]{color-scheme:light;--bg: #f4f1e8;--bg-raised: #fffdf8;--bg-sunken: #e7e2d6;--line: #ddd4c4;--text: #1d2218;--muted: #5e6758;--accent: #8a5a12;--accent-ink: #fff8ec;--note: #6d5424;--shadow: 0 10px 30px rgba(50, 40, 20, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}html{background:var(--bg)}body{margin:0;background:radial-gradient(1200px 500px at 10% -10%,rgba(215,161,95,.08),transparent 50%),var(--bg);color:var(--text);font-family:var(--font);font-size:16px;line-height:1.45}body:before{content:"";position:fixed;z-index:2;top:0;right:0;left:0;height:var(--safe-top);background:var(--bg);pointer-events:none}.safe-screen{box-sizing:border-box;min-height:100dvh;padding-top:var(--safe-top);padding-right:var(--safe-right);padding-left:var(--safe-left)}.auth-screen{max-width:480px;margin:0 auto;min-height:calc(100dvh - var(--safe-top));padding:1rem 1rem calc(1rem + var(--safe-bottom))}button,input,select{font:inherit;color:inherit}button,.button-link{background:var(--bg-sunken);border:1px solid var(--line);border-radius:999px;padding:.55rem .9rem;min-height:44px}button.primary,a.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent;width:100%}.text-button,.text-link{background:none;border:0;color:var(--accent);padding:.4rem 0;min-height:0}a{color:var(--accent)}.frame{max-width:480px;margin:0 auto;min-height:calc(100dvh - var(--safe-top));padding-bottom:calc(5.2rem + var(--safe-bottom))}main{padding:1rem 1rem 2rem}h1{font-family:var(--serif);font-weight:500;font-size:2rem;letter-spacing:-.03em;margin:.15rem 0 .6rem}h2{font-size:1rem;margin:0}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:var(--muted);margin:0}.muted{color:var(--muted)}.note{color:var(--note)}.day-head,.meal header,.entry-main,.macro-top,.draft header{display:flex;justify-content:space-between;align-items:center;gap:.75rem}.icon-button{width:44px;height:44px;border-radius:50%}.hero{padding:.4rem 0 .8rem}.kcal-hero{font-family:var(--serif);font-size:4.6rem;line-height:.85;letter-spacing:-.045em;margin:0}.macro-grid,.stack,.menu{display:grid;gap:.75rem}.bar{height:8px;background:var(--bg-sunken);border-radius:99px;overflow:hidden}.bar span{display:block;height:100%;background:var(--accent)}.meal,.card,.banner,.draft{background:var(--bg-raised);border:1px solid var(--line);border-radius:18px;padding:.9rem;margin:.8rem 0}.entry-main,.result,.menu a{width:100%;text-align:left;background:transparent;border:0;border-radius:12px;padding:.7rem 0;display:flex;flex-direction:column;gap:.15rem;min-height:44px}.menu a{border-bottom:1px solid var(--line);text-decoration:none;color:inherit}.results{display:grid}.chip-row{display:flex;flex-wrap:wrap;gap:.4rem;margin:.5rem 0}.chip.on{background:var(--accent);color:var(--accent-ink)}label{display:grid;gap:.3rem;margin:.55rem 0}input,select{background:var(--bg-sunken);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem;min-height:44px}.check{display:flex;gap:.6rem;align-items:flex-start}.check input{width:1.2rem;min-height:1.2rem;margin-top:.2rem}.split{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.tabs{position:fixed;z-index:3;left:var(--safe-left);right:var(--safe-right);bottom:0;width:auto;max-width:480px;margin-inline:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.4rem .6rem calc(.45rem + var(--safe-bottom));background:color-mix(in srgb,var(--bg) 92%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.tabs a{text-align:center;text-decoration:none;color:var(--muted);padding:.55rem 0;border-radius:12px}.tabs a.active{color:var(--text);background:var(--bg-raised)}.sheet-backdrop{position:fixed;inset:0;background:#00000073;display:grid;align-items:end;z-index:5}.sheet{width:min(480px,calc(100% - var(--safe-left) - var(--safe-right)));margin:0 auto;background:var(--bg-raised);border-radius:22px 22px 0 0;padding:.6rem 1rem calc(1rem + var(--safe-bottom));max-height:calc(100dvh - var(--safe-top));overflow:auto;box-shadow:var(--shadow)}.sheet-handle{width:42px;height:4px;border-radius:99px;background:var(--line);margin:.3rem auto .8rem}.preview{width:100%;border-radius:16px;background:#000;max-height:240px;object-fit:cover}.file-button{position:relative;overflow:hidden}.file-button input{position:absolute;inset:0;opacity:0}.chart{width:100%;height:auto}.trend-line{fill:none;stroke:var(--accent);stroke-width:2.5}.weight-dot{fill:var(--text)}.goal-line{stroke:var(--muted);stroke-dasharray:4 4}.attribution,.sync-line{color:var(--muted);font-size:.85rem}.row-actions,.inline-form{display:flex;gap:.4rem;align-items:center}.plain{list-style:none;padding:0}.grams-line{font-family:var(--serif);font-size:1.3rem}input[type=range]{padding:0}
