*{box-sizing:border-box}body{background:#fefaf3;min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}input,textarea,select{border:1px solid #29261b1f;border-radius:12px;width:100%;padding:10px 12px}a{color:inherit;font-weight:800}h1{letter-spacing:0;font-size:34px;line-height:1.08}:focus-visible{outline:4px auto -webkit-focus-ring-color}.app-frame{min-height:100vh;container-type:inline-size}.app-shell{grid-template-rows:auto 1fr auto;grid-template-areas:"topbar""body""nav";min-height:100vh;display:grid}.app-topbar{z-index:2;background:color-mix(in srgb, var(--bg) 92%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-area:topbar;justify-content:space-between;align-items:center;gap:14px;padding:16px 16px 12px;display:flex;position:sticky;top:0}.app-topbar__copy h1{color:var(--ink);margin:0;font-size:20px;font-weight:800;line-height:1.1}.app-topbar__copy p{color:var(--ink-2);margin:4px 0 0;font-size:13px;line-height:1.35}.app-topbar__actions{gap:8px;display:flex}.iconbtn{border:1px solid var(--line-2);background:var(--surface);width:38px;height:38px;color:var(--ink);cursor:pointer;border-radius:12px;place-items:center;display:grid}.app-body{grid-area:body;min-width:0;padding:8px 16px 96px}.handoff-stub{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-md);gap:12px;padding:20px;display:grid}.handoff-stub__eyebrow,.handoff-stub__date{color:var(--ink-2);letter-spacing:.02em;margin:0;font-size:13px;font-weight:800}.handoff-stub h2,.handoff-stub p{margin:0}.handoff-stub h2{font-size:24px}.calendar-screen{gap:16px;display:grid}.calendar-screen__head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.calendar-screen__head h2,.calendar-screen__head p,.muted-txt{margin:0}.calendar-screen__head h2{color:var(--ink);font-size:28px;font-weight:900;line-height:1.08}.calendar-screen__head p,.muted-txt{color:var(--ink-2);font-size:13px;line-height:1.5}.calendar-screen__actions{gap:8px;display:flex}.wk-summary{flex-wrap:wrap;gap:10px;display:flex}.stat-pill{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);flex:120px;padding:10px 14px}.stat-pill .k{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.stat-pill .v{color:var(--ink);margin-top:2px;font-size:20px;font-weight:900}.calendar-weekdays,.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.calendar-weekdays span{color:var(--ink-3);text-align:center;font-size:11px;font-weight:900}.calendar-cell{aspect-ratio:1;border:1px solid var(--line);background:var(--s0);min-width:0;min-height:44px;color:var(--ink-2);cursor:pointer;border-radius:12px;align-content:space-between;justify-items:start;padding:8px;display:grid;position:relative}.calendar-cell--s0{background:var(--s0)}.calendar-cell--s1{background:var(--s1)}.calendar-cell--s2{background:var(--s2)}.calendar-cell--s3{background:var(--s3)}.calendar-cell--s4{background:var(--s4)}.calendar-cell--s5{background:var(--s5);color:#fff}.calendar-cell--muted{opacity:.36;cursor:default}.calendar-cell[aria-current=date]{outline:2px solid var(--primary);outline-offset:1px}.calendar-cell__number{font-size:13px;font-weight:900}.calendar-cell__meta{align-items:center;gap:3px;display:flex}.calendar-cell__dot,.calendar-cell__symptom{opacity:.55;background:currentColor;border-radius:999px;width:5px;height:5px}.calendar-cell__symptom{background:var(--primary);opacity:1;width:6px;height:6px;position:absolute;top:6px;right:6px}.calendar-cell--s5 .calendar-cell__symptom{background:currentColor}.app-h{color:var(--ink);margin:6px 0 -6px;font-size:15px;font-weight:900}.day-screen{gap:18px;display:grid}.day-screen__head{gap:4px;display:grid}.day-screen__head h2{color:var(--ink);margin:0;font-size:26px;font-weight:900;line-height:1.1}.day-screen__sub{color:var(--ink-2);margin:0;font-size:14px;font-weight:700}.day-screen__back{width:max-content;color:var(--ink-2);border:1px solid var(--line-2);background:var(--surface);border-radius:10px;align-items:center;gap:6px;padding:6px 10px;font-size:13px;font-weight:800;text-decoration:none;display:inline-flex}.day-screen__back:hover{color:var(--primary)}.score-ring{place-items:center;display:grid;position:relative}.score-ring__inner{place-items:center;line-height:1;display:grid}.score-ring__big{font-size:26px;font-weight:900}.score-ring__den{opacity:.7;font-size:11px;font-weight:700}.score-hero__label{flex:1;gap:4px;display:grid}.score-hero__tag{color:var(--ink);font-size:18px;font-weight:900}.score-hero__label p{color:var(--ink-2);margin:0;font-size:13px;line-height:1.55}.metric{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);text-align:center;padding:12px}.metric__k{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:800}.metric__v{color:var(--ink);margin-top:4px;font-size:18px;font-weight:900}.metric__v--sage{color:var(--sage)}.day-meals{gap:12px;display:grid}.meal-card{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);gap:10px;padding:14px;display:grid}.meal-card__top{align-items:center;gap:10px;display:flex}.meal-card__time{color:var(--ink-3);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:800}.meal-card__name{color:var(--ink);font-size:16px;font-weight:900}.meal-card__spacer{flex:1}.lipid-chip{border-radius:999px;padding:4px 9px;font-size:11px;font-weight:900}.meal-card__ingredients{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.meal-card__ingredient{background:var(--surface-2);color:var(--ink-2);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px}.meal-card__ingredient--fat{background:var(--primary-soft);color:var(--primary-ink);border-color:var(--primary-soft)}.ai-card{border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--surface-2);gap:8px;padding:14px 16px;display:grid}.ai-card__head{color:var(--ink-2);letter-spacing:.05em;text-transform:uppercase;align-items:center;gap:8px;font-size:12px;font-weight:900;display:flex}.ai-card__spark{background:var(--butter);width:20px;height:20px;color:var(--primary-ink);border-radius:6px;place-items:center;display:grid}.ai-card p{color:var(--ink);margin:0;font-size:14px;line-height:1.6}.ai-card__disclaimer{color:var(--ink-3);font-size:12px;font-style:italic}.day-screen__empty{border:1px dashed var(--line-2);border-radius:var(--r-md);background:var(--surface);gap:4px;padding:18px;display:grid}.day-screen__empty strong{color:var(--ink);font-size:15px;font-weight:900}.day-screen__empty p{color:var(--ink-2);margin:0;font-size:13px}.day-screen__sr{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@container (width>=680px){.metrics-row{grid-template-columns:repeat(3,minmax(0,1fr))}.day-meals{grid-template-columns:1fr 1fr}}.app-nav{z-index:3;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);grid-area:nav;grid-template-columns:1fr 1fr 72px 1fr;align-items:center;gap:2px;display:grid;position:sticky;bottom:0;left:0;right:0;box-shadow:0 -8px 24px #29261b0f}.app-nav__brand{display:none}.app-nav__item{border-radius:var(--r-md);min-height:52px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;align-content:center;justify-items:center;gap:2px;font-size:11px;font-weight:800;display:grid}.app-nav__item--active{color:var(--primary)}.app-nav__item--center{border:4px solid var(--surface);background:var(--primary);color:#fff;width:58px;height:58px;min-height:58px;box-shadow:var(--shadow-md);border-radius:999px;justify-self:center;transform:translateY(-14px)}.app-nav__item--center .app-nav__label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-nav__icon{place-items:center;min-height:20px;font-size:18px;line-height:1;display:grid}.app-nav__label{line-height:1.1}@container (width>=680px){.app-shell{grid-template:"nav topbar""nav body"1fr/88px 1fr}.app-topbar{padding:24px 28px 14px}.app-body{padding:12px 28px 32px}.app-nav{border-top:0;border-right:1px solid var(--line);min-height:100vh;box-shadow:none;grid-template-columns:1fr;grid-auto-rows:min-content;align-content:start;padding:18px 10px;position:sticky;top:0;bottom:auto}.app-nav__brand{border:1px solid var(--line);background:#fff;border-radius:14px;order:0;place-items:center;width:42px;height:42px;margin:0 auto 18px;display:grid;overflow:hidden}.app-nav__brand img{object-fit:contain;width:34px;height:34px}.app-nav__item{order:2;width:68px;min-height:64px;margin:2px auto}.app-nav__item--center{border:1px solid var(--primary-soft);border-radius:var(--r-md);background:var(--primary-soft);width:68px;height:auto;min-height:54px;color:var(--primary-ink);box-shadow:none;order:1;margin:0 auto 18px;transform:none}.app-nav__item--center .app-nav__label{clip:auto;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}}@media (prefers-reduced-motion:no-preference){.app-nav__item,.iconbtn{transition:transform .14s ease-out,color .14s ease-out,background .14s ease-out}.app-nav__item:active,.iconbtn:active{transform:scale(.95)}.app-nav__item--center:active{transform:translateY(-14px)scale(.95)}@container (width>=680px){.app-nav__item--center:active{transform:scale(.95)}}}.add-screen{gap:16px;padding:0 0 32px;display:grid}.add-screen__head{gap:4px;display:grid}.add-screen__eyebrow{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3,color-mix(in srgb, var(--ink) 60%, transparent));margin:0;font-size:12px;font-weight:700}.add-screen__title{color:var(--ink);margin:0;font-size:26px;font-weight:800}.add-screen__sub{color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));margin:0;font-size:14px}.add-2col{gap:20px;display:grid}.add-left{gap:12px;min-width:0;display:grid}.add-right{align-content:start;gap:12px;display:grid}.suggest-label{color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));align-items:center;gap:6px;font-size:13px;font-weight:700;display:flex}.suggest-label__spark{color:var(--primary);place-items:center;display:inline-grid}.add-chip-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.add-chip{border:1.5px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;min-height:44px;padding:10px 12px;font-weight:600;transition:border-color .12s,background .12s;display:inline-flex}.add-chip:hover{border-color:color-mix(in srgb, var(--primary) 50%, var(--line))}.add-chip--fat{border-style:dashed}.add-chip--on{background:color-mix(in srgb, var(--primary) 12%, var(--surface));border-color:var(--primary);color:var(--primary-ink,var(--ink))}.add-chip--on.add-chip--fat{background:color-mix(in srgb, var(--primary) 18%, var(--surface))}.add-chip__pl{background:var(--surface-2,color-mix(in srgb, var(--ink) 6%, transparent));width:22px;height:22px;color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));border-radius:50%;place-items:center;font-size:13px;font-weight:800;display:inline-grid}.add-chip--on .add-chip__pl{background:var(--primary);color:#fff}.add-screen__helper{margin:-2px 0 0;font-size:12px}.add-screen__field-label{color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));margin-top:6px;font-size:13px;font-weight:700}.add-search{border:1.5px solid var(--line-2,color-mix(in srgb, var(--ink) 25%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);align-items:center;gap:8px;min-height:44px;padding:0 12px;display:flex;position:relative}.add-search__icon{color:var(--ink-3,color-mix(in srgb, var(--ink) 55%, transparent));flex:none}.add-search__input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:auto;min-width:0;padding:8px 0}.add-search__drop{gap:4px;margin-top:6px;display:grid}.add-search__row{border:1.5px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:10px 12px;display:flex}.add-search__row--empty{background:var(--surface-2,color-mix(in srgb, var(--ink) 6%, transparent));color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));cursor:default}.add-search__row--create{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 8%, var(--surface));color:var(--primary-ink,var(--ink));font-weight:700}.add-search__row-icon{background:var(--surface-2,color-mix(in srgb, var(--ink) 6%, transparent));border-radius:50%;place-items:center;width:22px;height:22px;font-size:13px;font-weight:800;display:inline-grid}.add-search__row--create .add-search__row-icon{background:var(--primary);color:#fff}.add-search__row-hint{color:var(--ink-3,color-mix(in srgb, var(--ink) 55%, transparent));margin-left:auto;font-size:12px;font-weight:500}.selected-box{background:var(--surface-2,color-mix(in srgb, var(--ink) 5%, transparent));border:1px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);gap:10px;padding:14px;display:grid}.selected-box__head{color:var(--ink);justify-content:space-between;align-items:baseline;gap:8px;font-weight:700;display:flex}.selected-box__ingredients{flex-wrap:wrap;gap:6px;display:flex}.ing{background:var(--surface,#fff);border:1px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:999px;align-items:center;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.ing--fat{background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--primary-ink,var(--ink));border-style:dashed}.metrics-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.metric{background:var(--surface,#fff);border:1px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);gap:2px;padding:10px;display:grid}.metric__label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3,color-mix(in srgb, var(--ink) 55%, transparent));font-size:11px;font-weight:700}.metric__value{color:var(--ink);font-size:18px;font-weight:800}.add-cta{border-radius:var(--r-md,10px);background:var(--primary);color:#fff;width:100%;font:inherit;cursor:pointer;min-height:48px;box-shadow:var(--shadow-md,0 1px 3px #00000014);border:0;padding:14px 18px;font-size:15px;font-weight:800;display:block}.add-cta:disabled{background:var(--line,color-mix(in srgb, var(--ink) 25%, transparent));color:var(--ink-3,color-mix(in srgb, var(--ink) 55%, transparent));cursor:not-allowed;box-shadow:none}@container (width>=680px){.add-2col{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);align-items:start}.add-right{position:sticky;top:80px}}.add-sheet-backdrop{z-index:30;background:#0000003d;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.add-sheet{background:var(--surface,#fff);border:1px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));box-shadow:var(--shadow-md,0 6px 24px #0000002e);border-radius:18px 18px 12px 12px;gap:12px;padding:18px 18px 20px;display:grid}.add-sheet__grab{background:var(--line,color-mix(in srgb, var(--ink) 25%, transparent));border-radius:999px;width:44px;height:5px;margin:-6px auto 0}.add-sheet__title{color:var(--ink);margin:4px 0 0;font-size:18px;font-weight:800}.add-sheet__sub{color:var(--ink-2,color-mix(in srgb, var(--ink) 75%, transparent));margin:0;font-size:13px}.add-sheet__label{text-transform:uppercase;letter-spacing:.05em;color:var(--ink-3,color-mix(in srgb, var(--ink) 55%, transparent));font-size:12px;font-weight:700}.add-sheet__input{border:1.5px solid var(--line-2,color-mix(in srgb, var(--ink) 25%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);width:100%;color:var(--ink);font:inherit;box-sizing:border-box;padding:10px 12px}.add-sheet__input:focus{outline:2px solid color-mix(in srgb, var(--primary) 30%, transparent);outline-offset:1px}.rich-pick{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.rp{border:1.5px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);color:var(--ink);font:inherit;cursor:pointer;flex-direction:column;align-items:center;gap:6px;min-height:64px;padding:12px 8px;font-weight:700;display:flex}.rp--on{border-color:var(--primary);background:color-mix(in srgb, var(--primary) 12%, var(--surface));color:var(--primary-ink,var(--ink))}.rp__drops{gap:3px;display:inline-flex}.rp__drops i{background:var(--primary);border-radius:50%;width:8px;height:8px;display:inline-block}.impact-cue{border-radius:var(--r-md,10px);background:color-mix(in srgb, var(--primary) 10%, var(--surface));color:var(--primary-ink,var(--ink));align-items:center;gap:8px;padding:10px 12px;font-size:13px;font-weight:600;display:flex}.impact-cue span{flex:auto}.add-sheet__actions{gap:10px;margin-top:6px;display:flex}.add-sheet__cancel{border:1.5px solid var(--line,color-mix(in srgb, var(--ink) 15%, transparent));border-radius:var(--r-md,10px);background:var(--surface,#fff);color:var(--ink);font:inherit;cursor:pointer;flex:0 0 96px;padding:12px 16px;font-weight:700}
