@import "https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,600;12..96,700;12..96,800&family=Nunito:wght@400;600;700;800&display=swap";:root{--font-body:"Nunito", system-ui, sans-serif;--font-display:"Bricolage Grotesque", "Nunito", system-ui, sans-serif;--paper:#fff;--paper-2:#f5f3ee;--ink:#251e3d;--ink-2:#5b5670;--muted:#8a8599;--line:#e8e5de;--line-strong:#d6d2c8;--yolk:#ffc531;--yolk-deep:#f0af0e;--yolk-soft:#fff3cc;--plum:#7b5ea7;--plum-soft:#eee8f7;--coral:#ff7a59;--coral-soft:#ffe6de;--mint:#3fae7a;--mint-soft:#ddf4e9;--danger:#d23f31;--danger-soft:#ffe3df;--radius:18px;--radius-sm:12px;--pill:999px;--shadow:0 12px 32px #251e3d1a;--ring:0 0 0 4px #7b5ea759;font-family:var(--font-body);color:var(--ink);background:var(--paper);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.5}*{box-sizing:border-box}body{background:var(--paper);min-height:100vh;margin:0}::selection{background:var(--yolk-soft)}.shell{width:min(920px,100% - 40px);margin:0 auto}header.site{justify-content:space-between;align-items:center;gap:16px;padding:20px 0;display:flex}header.site nav{align-items:center;gap:6px;display:flex}main{min-height:68vh;padding:32px 0 80px}footer.site{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px 0 44px;font-size:14px;display:flex}.brand{font-family:var(--font-display);letter-spacing:-.02em;color:var(--ink);align-items:center;gap:10px;font-size:23px;font-weight:700;text-decoration:none;display:inline-flex}.mark{border-radius:10px;flex:none;width:34px;height:34px}.mark.big{border-radius:17px;width:60px;height:60px}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.025em;color:var(--ink);text-wrap:balance;margin:0;font-weight:700;line-height:1.05}h1{font-size:clamp(36px,6vw,60px)}h2{font-size:26px}h3{letter-spacing:-.01em;font-size:19px}p{color:var(--ink-2);margin:0}a{color:var(--plum);text-underline-offset:4px}.lead{max-width:32em;font-size:19px;line-height:1.55}.small{color:var(--muted);font-size:14px}.kicker{font-family:var(--font-display);color:var(--plum);font-size:17px;font-weight:600}.stack{gap:14px;display:grid}.stack-lg{gap:56px;display:grid}.button{border:2px solid var(--yolk);border-radius:var(--pill);background:var(--yolk);min-height:48px;color:var(--ink);font:inherit;cursor:pointer;white-space:nowrap;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:16px;font-weight:800;line-height:1;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){background:var(--yolk-deep);border-color:var(--yolk-deep);transform:translateY(-1px);box-shadow:0 8px 18px #f0af0e59}.button:active:not(:disabled){box-shadow:none;transform:none}.button:disabled{cursor:default;opacity:.5}.button.secondary{background:var(--paper);border-color:var(--line-strong)}.button.secondary:hover:not(:disabled){background:var(--paper);border-color:var(--ink);box-shadow:var(--shadow)}.button.ghost{color:var(--ink-2);background:0 0;border-color:#0000;min-height:40px;padding:0 14px}.button.ghost:hover:not(:disabled){background:var(--paper-2);color:var(--ink);box-shadow:none;border-color:#0000;transform:none}.button.small{min-height:38px;padding:0 14px;font-size:14px}.button.round{border-radius:50%;width:42px;min-height:42px;padding:0}.button.wide{width:100%}.glyph{flex:none;width:20px;height:20px}.spinner{border:3px solid #251e3d26;border-top-color:currentColor;border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}input:focus-visible,button:focus-visible,a:focus-visible,summary:focus-visible{box-shadow:var(--ring);outline:none}.dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);max-width:460px;box-shadow:var(--shadow);text-align:center;justify-items:center;gap:18px;margin:0 auto;padding:36px 32px;display:grid}.dialog h1{font-size:clamp(28px,4.5vw,36px)}.dialog .actions{width:100%}.note{border-radius:var(--radius-sm);background:var(--danger-soft);width:100%;color:var(--danger);text-align:left;align-items:flex-start;gap:10px;padding:12px 16px;font-size:15px;font-weight:700;line-height:1.4;display:flex}.note.info{background:var(--yolk-soft);color:var(--ink)}.note .glyph{margin-top:1px}.chip{border-radius:var(--pill);background:var(--paper-2);color:var(--ink);align-items:center;gap:8px;padding:5px 12px;font-size:13px;font-weight:700;line-height:1.3;display:inline-flex}.chip.local{background:var(--mint-soft);color:#1f6d48}.account{border-radius:var(--pill);background:var(--paper-2);align-items:center;gap:10px;padding:5px 14px 5px 5px;font-size:14px;font-weight:700;display:inline-flex}.avatar{background:var(--plum);color:#fff;width:30px;height:30px;font-family:var(--font-display);text-transform:uppercase;border-radius:50%;place-items:center;font-size:15px;font-weight:700;display:inline-grid}.loading{color:var(--muted);align-items:center;gap:12px;padding:24px 0;font-weight:700;display:inline-flex}.actions{flex-wrap:wrap;gap:12px;display:flex}.actions .button{flex:150px}label.field{color:var(--ink-2);gap:7px;font-size:14px;font-weight:800;display:grid}input{width:100%;font:inherit;color:var(--ink);border:2px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--paper);padding:11px 14px;font-weight:600;transition:border-color .15s}input::placeholder{color:#aca8b8;font-weight:500}input:hover{border-color:var(--muted)}input:focus-visible{border-color:var(--plum)}input[type=date]{border-radius:var(--pill);width:auto;min-width:11em;padding:8px 12px}.fields{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.fields.macros{grid-template-columns:repeat(4,1fr)}.form-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.hero{grid-template-columns:1.1fr 1fr;align-items:center;gap:48px;padding:24px 0 8px;display:grid}.hero-copy{justify-items:start;gap:22px;display:grid}.hero h1 mark{background:linear-gradient(transparent 62%, var(--yolk) 62%, var(--yolk) 92%, transparent 92%);color:inherit;padding:0 .08em}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.chat{background:var(--paper-2);border-radius:28px;gap:12px;padding:24px;display:grid}.bubble{border-radius:20px;max-width:88%;padding:12px 16px;font-size:15px;line-height:1.45;animation:.5s cubic-bezier(.2,.9,.3,1.2) both pop}.bubble.me{background:var(--ink);color:#fff;border-bottom-right-radius:6px;justify-self:end}.bubble.ai{background:var(--paper);border-bottom-left-radius:6px;justify-self:start;animation-delay:.45s}.bubble.ai strong{color:var(--ink)}.chat .row{box-shadow:var(--shadow);background:var(--paper);border-radius:var(--radius);margin-top:6px;animation:.5s cubic-bezier(.2,.9,.3,1.2) .9s both pop}@keyframes pop{0%{opacity:0;transform:translateY(10px)scale(.98)}}.steps{border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:0;list-style:none;display:grid}.steps li{border-top:3px solid var(--ink);align-content:start;gap:8px;margin-top:-1px;padding:26px 24px 26px 0;display:grid}.steps li:first-child{border-top-color:var(--yolk)}.steps li:nth-child(2){border-top-color:var(--coral)}.steps li:nth-child(3){border-top-color:var(--mint)}.steps .num{font-family:var(--font-display);color:var(--muted);font-size:14px;font-weight:800}.steps p{font-size:15px}.works-with{color:var(--muted);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;display:flex}.handshake{align-items:center;gap:12px;display:flex}.handshake .app{background:var(--plum-soft);width:60px;height:60px;color:var(--plum);font-family:var(--font-display);text-transform:uppercase;border-radius:17px;place-items:center;font-size:26px;font-weight:800;display:grid}.handshake .tie{border-top:3px dotted var(--line-strong);width:30px}.scopes{text-align:left;gap:8px;width:100%;margin:0;padding:0;list-style:none;display:grid}.scopes li{border-radius:var(--radius-sm);background:var(--paper-2);color:var(--ink-2);align-items:flex-start;gap:12px;padding:11px 14px;font-size:15px;font-weight:600;line-height:1.4;display:flex}.tick{background:var(--mint-soft);width:22px;height:22px;color:var(--mint);border-radius:50%;flex:none;place-items:center;display:grid}.journal{gap:28px;display:grid}.day-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.day-head h1{font-size:clamp(34px,5vw,48px)}.day-head .date{color:var(--muted);margin-top:4px;font-weight:700}.day-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.summary{border-radius:var(--radius);background:var(--ink);color:#fff;grid-template-columns:1fr 1.2fr;align-items:center;gap:24px;padding:24px 28px;display:grid}.summary .kcal{gap:4px;display:grid}.summary .kcal .value{font-family:var(--font-display);letter-spacing:-.03em;font-size:clamp(44px,7vw,64px);font-weight:800;line-height:.95}.summary .kcal .value small{color:var(--yolk);margin-left:6px;font-size:.36em;font-weight:600}.summary .kcal .goal{color:#ffffffb8;font-size:14px;font-weight:700}.summary .kcal .goal.over{color:var(--coral)}.macro-list{gap:12px;display:grid}.macro{grid-template-columns:5.2em 1fr auto;align-items:center;gap:12px;font-size:14px;font-weight:700;display:grid}.macro .name{color:#ffffffb8}.macro .bar{border-radius:var(--pill);background:#ffffff24;height:10px;overflow:hidden}.macro .bar>i{border-radius:inherit;background:var(--fill);height:100%;transition:width .4s;display:block}.macro.protein{--fill:var(--plum)}.macro.carbs{--fill:var(--yolk)}.macro.fat{--fill:var(--coral)}.macro .amount{font-family:var(--font-display);text-align:right;min-width:4.5em;font-size:16px;font-weight:700}.macro .amount small{font-family:var(--font-body);color:#fff9;margin-left:4px;font-size:12px;font-weight:600}.ledger{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.ledger li{border-bottom:1px solid var(--line);grid-template-columns:3.4em auto 1fr auto;align-items:center;gap:16px;padding:16px 0;display:grid}.ledger .time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:13px;font-weight:800}.ledger .dish{background:var(--paper-2);border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.ledger h2{font-size:19px;line-height:1.2}.ledger .items{color:var(--muted);margin-top:3px;font-size:14px}.ledger .macros{color:var(--ink-2);gap:10px;margin-top:6px;font-size:12px;font-weight:800;display:flex}.ledger .macros b{font-weight:800}.ledger .macros .p{color:var(--plum)}.ledger .macros .c{color:var(--yolk-deep)}.ledger .macros .f{color:var(--coral)}.ledger .kcal{font-family:var(--font-display);white-space:nowrap;text-align:right;font-size:22px;font-weight:700}.ledger .kcal small{font-family:var(--font-body);color:var(--muted);margin-left:3px;font-size:12px;font-weight:700}.empty{text-align:center;border:2px dashed var(--line-strong);border-radius:var(--radius);justify-items:center;gap:6px;padding:44px 24px;display:grid}.empty .plate{margin-bottom:8px;font-size:42px;line-height:1}.plate{font-size:48px;line-height:1}details.add{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper)}details.add summary{cursor:pointer;font-family:var(--font-display);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:18px 22px;font-size:18px;font-weight:700;list-style:none;display:flex}details.add summary::-webkit-details-marker{display:none}details.add summary:after{content:"+";background:var(--yolk);border-radius:50%;place-items:center;width:30px;height:30px;font-size:22px;line-height:1;transition:transform .2s;display:grid}details.add[open] summary:after{transform:rotate(45deg)}details.add form{gap:18px;padding:4px 22px 22px;display:grid}.skeleton{gap:12px;display:grid}.skeleton>i{border-radius:var(--radius);background:linear-gradient(90deg, var(--paper-2), #faf9f6, var(--paper-2));background-size:200% 100%;height:78px;animation:1.4s linear infinite shimmer;display:block}@keyframes shimmer{to{background-position:-200% 0}}@media (width<=760px){.shell{width:calc(100% - 28px)}main{padding-top:16px}.stack-lg{gap:40px}.hero{grid-template-columns:1fr;gap:28px}.steps{grid-template-columns:1fr}.steps li{padding-right:0}.dialog{padding:28px 22px}.summary{grid-template-columns:1fr;padding:22px}.fields,.fields.macros{grid-template-columns:1fr 1fr}.ledger li{grid-template-columns:auto 1fr auto}.ledger .time{display:none}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:0s!important}}.chat .ledger{border-top:0}.chat .ledger li{border-bottom:0;padding:14px 18px}
