:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#faf7f0;--surface:#fff;--surface-tint:#f4efe3;--ink:#24332f;--ink-soft:#55625e;--ink-mute:#5f6d69;--line:#e6dfd0;--line-strong:#cfc6b2;--line-field:#858f8a;--teal:#176a5b;--teal-deep:#0f4f44;--teal-ink:#fff;--teal-soft:#e2efea;--teal-soft-ink:#0f4f44;--coral:#d67b5d;--coral-ink:#8f4127;--coral-soft:#f9e8e0;--gold:#d9aa4b;--gold-ink:#7a5a12;--gold-soft:#f7edd6;--danger-ink:#8c2f2f;--danger-soft:#f8e3e3;--radius:12px;--radius-lg:18px;--tap-sm:44px;--tap:48px;--tap-lg:52px;--text:1.125rem;--text-md:1.0625rem;--text-sm:1rem;--text-xs:.875rem;--text-lg:1.25rem;--text-title:1.5rem;--text-num:1.75rem;--gutter:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--shadow-sheet:0 -6px 28px #24332f29;--shadow-toast:0 4px 16px #24332f33;--font:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--nav-h:68px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg);font-size:100%}body{font-family:var(--font);font-size:var(--text);color:var(--ink);background:var(--bg);overscroll-behavior-y:none;-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0;line-height:1.4}#root{flex-direction:column;min-height:100dvh;display:flex}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.005em;margin:0;line-height:1.25}h1{font-size:var(--text-title);font-weight:700}h2{font-size:var(--text);font-weight:650}h3{font-size:var(--text-md);font-weight:650}p{margin:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}:focus-visible{outline:3px solid var(--teal);outline-offset:2px;border-radius:6px}a{color:var(--teal-deep)}.num{font-variant-numeric:tabular-nums}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important}}.screen{padding:calc(var(--safe-top) + 6px) var(--gutter) calc(var(--nav-h) + var(--safe-bottom) + 20px);flex:1;width:100%;max-width:640px;margin:0 auto}.screen.no-nav{padding-bottom:calc(var(--safe-bottom) + 32px)}.screen-head{min-height:calc(var(--tap-sm) + 8px);align-items:center;gap:8px;margin-bottom:6px;display:flex}.screen-head .titles{flex-wrap:wrap;flex:auto;align-items:baseline;column-gap:10px;min-width:0;display:flex}.screen-sub{font-size:var(--text-sm);color:var(--ink-soft)}.screen-sub.gold{color:var(--gold-ink);font-weight:600}.screen-head .actions{flex:none;align-items:center;gap:4px;display:flex}.icon-btn{width:var(--tap-sm);height:var(--tap-sm);color:var(--teal-deep);background:0 0;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn svg{width:24px;height:24px}.icon-btn:active{background:var(--surface-tint)}.stack{flex-direction:column;gap:12px;display:flex}.stack-sm{flex-direction:column;gap:8px;display:flex}.stack-lg{flex-direction:column;gap:20px;display:flex}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-between{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.grow{flex:1;min-width:0}.muted{color:var(--ink-soft)}.small{font-size:var(--text-sm)}.wrap{overflow-wrap:break-word;min-width:0}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.section-head{justify-content:space-between;align-items:center;gap:8px;min-height:28px;margin:0 2px 6px;display:flex}.section-title{font-size:var(--text-sm);color:var(--ink-soft);margin:0 2px 6px;font-weight:650}.section-head .section-title{margin:0}.btn{min-height:var(--tap);border-radius:var(--radius);font-weight:650;font-size:var(--text-md);text-align:center;background:var(--surface-tint);color:var(--ink);-webkit-user-select:none;user-select:none;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:0 18px;line-height:1.2;text-decoration:none;transition:background .12s;display:inline-flex}.btn:disabled{opacity:.55}.btn svg{flex:none;width:20px;height:20px}.btn-primary{background:var(--teal);color:var(--teal-ink)}.btn-primary:active:not(:disabled){background:var(--teal-deep)}.btn-secondary{background:var(--surface);border-color:var(--line-strong)}.btn-secondary:active:not(:disabled){background:var(--surface-tint)}.btn-quiet{color:var(--teal-deep);min-height:var(--tap-sm);background:0 0;padding:0 10px}.btn-quiet:active:not(:disabled){background:var(--surface-tint)}.btn-danger{background:var(--danger-soft);color:var(--danger-ink)}.btn-danger-quiet{color:var(--danger-ink);min-height:var(--tap-sm);background:0 0;padding:0 10px}.btn-lg{min-height:var(--tap-lg);font-size:var(--text)}.btn-sm{min-height:var(--tap-sm);padding:0 14px}.btn-block{width:100%}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field label,.label{font-size:var(--text-sm);color:var(--ink-soft);font-weight:650}.field-inline{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.field-inline>label,.field-inline>.label{font-size:var(--text-md);color:var(--ink);flex:6em;font-weight:600}.field-inline>.select,.field-inline>.input{flex:11em;width:auto}.input,.select,.textarea{min-height:var(--tap);border-radius:var(--radius);border:1.5px solid var(--line-field);background:var(--surface);width:100%;min-width:0;font-size:var(--text);padding:8px 12px}.input:focus,.select:focus,.textarea:focus{border-color:var(--teal);box-shadow:0 0 0 2px var(--teal);outline:none}.input:disabled{background:var(--surface-tint);color:var(--ink-soft)}.input-lg{min-height:var(--tap-lg);font-size:1.1875rem}.textarea{resize:vertical;min-height:96px}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-soft) 50%), linear-gradient(135deg, var(--ink-soft) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-repeat:no-repeat;background-size:6px 6px;padding-right:36px}.help{font-size:var(--text-sm);color:var(--ink-soft)}.error-text{color:var(--danger-ink);font-size:var(--text-sm)}.check{min-height:var(--tap);cursor:pointer;align-items:center;gap:12px;display:flex}.check input{width:24px;height:24px;accent-color:var(--teal);flex:none}.segmented{background:var(--surface-tint);border-radius:var(--radius);gap:3px;padding:3px;display:inline-flex}.segmented button{min-height:var(--tap-sm);font-weight:650;font-size:var(--text-md);color:var(--ink-soft);background:0 0;border:0;border-radius:9px;padding:0 14px}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--line-strong)}.segmented.full{grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.week{align-items:stretch;margin:0 -8px;display:flex}.week-arrow{width:var(--tap-sm);min-height:52px;color:var(--teal-deep);background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;display:inline-flex}.week-arrow svg{width:22px;height:22px}.week-arrow:disabled{color:var(--line-strong)}.week-days{flex:1;grid-template-columns:repeat(7,1fr);gap:0;min-width:0;display:grid}.week-days button{min-height:52px;color:var(--ink-soft);background:0 0;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;padding:4px 0;display:flex}.week-days button span:first-child{text-transform:uppercase;letter-spacing:.02em;font-size:.75rem;font-weight:650}.week-days button span.num{font-size:var(--text);color:var(--ink);font-weight:700;line-height:1.15}.week-days button:disabled{opacity:.35}.week-days button[aria-current=date]:not([aria-pressed=true]) span.num{color:var(--teal-deep);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:2px}.week-days button[aria-pressed=true]{background:var(--teal);color:var(--teal-ink)}.week-days button[aria-pressed=true] span.num{color:var(--teal-ink)}.week-days .dot{background:var(--teal);border-radius:50%;width:5px;height:5px}.week-days button[aria-pressed=true] .dot{background:var(--teal-ink)}.week-days .dot.dot-none{background:0 0}.goals{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:10px;padding:12px 16px;display:flex}.macro-board{flex-direction:column;gap:12px;display:flex}.macro{flex-direction:column;gap:2px;display:flex}.macro-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 12px;display:flex}.macro-name{font-weight:700;font-size:var(--text)}.macro-goal{font-size:var(--text-sm);color:var(--ink-mute)}.macro-figures{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:0 16px;display:flex}.macro-fig{align-items:baseline;gap:6px;min-width:0;display:inline-flex}.macro-fig b{font-size:var(--text-num);letter-spacing:-.02em;white-space:nowrap;font-weight:700;line-height:1.15}.macro-fig small{font-size:var(--text-sm);color:var(--ink-soft);font-weight:600}.macro-fig.right{text-align:right;color:var(--teal-deep);margin-left:auto}.macro-fig.right.over{color:var(--gold-ink)}.macro-track{background:var(--surface-tint);border-radius:999px;height:8px;margin-top:4px;position:relative;overflow:hidden}.macro-fill{background:var(--teal);border-radius:999px;transition:width .32s cubic-bezier(.2,.7,.2,1);position:absolute;inset:0 auto 0 0}.macro-fill.over{background:var(--gold)}.macro-fill.provisional{background-image:repeating-linear-gradient(135deg,#0000 0 6px,#ffffff59 6px 10px)}.macro-note{font-size:var(--text-sm);color:var(--ink-soft);margin-top:2px}.secondary-line{border-top:1px solid var(--line);flex-wrap:wrap;gap:2px 18px;padding-top:8px;display:flex}.secondary-item{font-size:var(--text-sm);color:var(--ink-soft);flex-wrap:wrap;align-items:baseline;gap:0 6px;display:inline-flex}.secondary-item b{color:var(--ink);font-size:var(--text-md);white-space:nowrap}.secondary-item small{font-size:var(--text-xs);color:var(--ink-mute)}.goals-note{font-size:var(--text-sm);color:var(--ink-soft)}.list{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.list>*+*{border-top:1px solid var(--line)}.list-row{width:100%;min-height:52px;color:inherit;text-align:left;font:inherit;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:9px 14px;text-decoration:none;display:flex}button.list-row:active,.list-row>button.row-main:active{background:var(--surface-tint)}.list-row .main,.row-main{flex-direction:column;flex:auto;align-items:flex-start;gap:1px;min-width:0;display:flex}.row-main{text-align:left;color:inherit;font:inherit;background:0 0;border:0;justify-content:center;align-self:stretch;min-height:52px;margin:-9px 0 -9px -14px;padding:9px 0 9px 14px}.list-row .name{font-weight:650;font-size:var(--text-md);overflow-wrap:break-word;max-width:100%;line-height:1.3}.list-row .sub{color:var(--ink-soft);font-size:var(--text-sm);overflow-wrap:break-word;max-width:100%;line-height:1.35}.list-row .trail{flex:none;align-items:center;gap:6px;display:flex}.list-row .chev{width:18px;height:18px;color:var(--line-strong);flex:none}.list-row.pending{box-shadow:inset 4px 0 0 var(--gold)}.list-row.attention{box-shadow:inset 4px 0 0 var(--coral)}.list-row.draft{background:var(--gold-soft)}.state-line{font-size:var(--text-sm);color:var(--gold-ink);font-weight:600}.state-line.attention{color:var(--coral-ink)}.list-row.selected{background:var(--teal-soft)}.badge{font-size:var(--text-xs);background:var(--surface-tint);color:var(--ink-soft);border:0;border-radius:999px;align-items:center;padding:2px 10px;font-weight:650;display:inline-flex}button.badge{min-height:var(--tap-sm);padding:0 12px}.badge-gold{background:var(--gold-soft);color:var(--gold-ink)}.badge-coral{background:var(--coral-soft);color:var(--coral-ink)}.bottom-nav{padding:6px 10px calc(6px + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--line);z-index:20;grid-template-columns:1fr 1.3fr 1fr;gap:6px;display:grid;position:fixed;bottom:0;left:0;right:0}.bottom-nav a{border-radius:var(--radius);min-height:54px;color:var(--ink-soft);overflow-wrap:break-word;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;padding:2px 4px;font-size:.9375rem;font-weight:650;line-height:1.2;text-decoration:none;display:flex}.bottom-nav a[aria-current=page]{color:var(--teal-deep);background:var(--teal-soft)}.bottom-nav a.primary{background:var(--teal);color:var(--teal-ink);font-size:1rem}.bottom-nav a.primary[aria-current=page]{background:var(--teal-deep)}.bottom-nav svg{flex:none;width:24px;height:24px}.sheet-backdrop{left:0;right:0;top:var(--vv-top,0px);height:var(--vvh,100dvh);z-index:40;background:#24332f6b;justify-content:center;align-items:flex-end;display:flex;position:fixed}.sheet{width:100%;max-width:640px;max-height:calc(var(--vvh,100dvh) - var(--safe-top) - 12px);background:var(--bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-sheet);flex-direction:column;animation:.2s cubic-bezier(.2,.7,.2,1) sheet-in;display:flex}.sheet:focus{outline:none}.sheet.full{height:calc(var(--vvh,100dvh) - var(--safe-top));border-radius:0;max-height:none}.sheet-head{min-height:52px;padding:4px 8px 4px var(--gutter);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;display:flex}.sheet-head h2{min-width:0;font-size:var(--text);flex:auto}.sheet-head .btn-quiet{flex:none}.sheet-head .back{gap:2px;margin-left:-10px;padding-left:4px}.sheet-head .back svg{width:22px;height:22px}.sheet-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;padding:14px var(--gutter) 16px;flex:auto;overflow-y:auto}.sheet-foot{padding:10px var(--gutter) calc(10px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg);flex-direction:column;flex:none;gap:4px;display:flex}.sheet-foot .row{justify-content:center}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.toasts{left:0;right:0;bottom:calc(var(--nav-h) + var(--safe-bottom) + 10px);padding:0 var(--gutter);z-index:60;pointer-events:none;justify-content:center;display:flex;position:fixed}body.sheet-open .toasts{bottom:auto;top:calc(var(--safe-top) + 8px)}.toast{border-radius:var(--radius);background:var(--ink);color:#fff;max-width:560px;min-height:48px;font-size:var(--text-md);box-shadow:var(--shadow-toast);pointer-events:auto;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:6px 6px 6px 16px;animation:.16s ease-out toast-in;display:flex}.toast span{flex:10em;min-width:0;padding:6px 0}.toast button{min-height:var(--tap-sm);color:#fff;background:#ffffff29;border:0;border-radius:9px;flex:none;margin-left:auto;padding:0 16px;font-weight:700}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.notice{border-radius:var(--radius);background:var(--surface-tint);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:4px 8px;min-height:48px;padding:6px 6px 6px 14px;display:flex}.notice>.text{flex:12em;min-width:0;padding:6px 0}.notice>.actions{flex-wrap:wrap;gap:4px;margin-left:auto;display:flex}.notice-gold{background:var(--gold-soft);color:var(--gold-ink)}.notice-coral{background:var(--coral-soft);color:var(--coral-ink)}.notice-teal{background:var(--teal-soft);color:var(--teal-soft-ink)}.notice .btn-quiet{color:inherit;text-underline-offset:3px;text-decoration:underline}.app-notices{width:calc(100% - 2 * var(--gutter));max-width:608px;margin:calc(var(--safe-top) + 8px) auto 0;flex-direction:column;gap:8px;display:flex}.inline-status{min-height:var(--tap-sm);color:var(--teal-deep);font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:0 8px;font-weight:600;display:flex}.inline-status svg{flex:none;width:18px;height:18px}.inline-status .grow{flex:10em}.quiet-line{font-size:var(--text-sm);color:var(--ink-soft);padding:8px 2px}.stepper{grid-template-columns:var(--tap) minmax(3.5em, 5em) var(--tap);flex:none;align-items:center;gap:6px;display:grid}.stepper input{text-align:center;min-height:var(--tap);padding:4px 6px;font-size:1.375rem;font-weight:700}.stepper button{min-height:var(--tap);border-radius:var(--radius);border:1.5px solid var(--line-strong);background:var(--surface);font-size:1.5rem;font-weight:700;line-height:1}.amount-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.amount-row .select{flex:7em;width:auto}.chips{flex-wrap:wrap;gap:6px;display:flex}.chip{min-height:var(--tap-sm);border:1.5px solid var(--line-strong);background:var(--surface);min-width:52px;font-weight:650;font-size:var(--text-sm);border-radius:999px;padding:0 14px}.chip[aria-pressed=true]{background:var(--teal-soft);border-color:var(--teal);color:var(--teal-soft-ink)}.consequence{background:var(--surface-tint);border-radius:var(--radius);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.consequence .adds{font-weight:650;font-size:var(--text-sm)}.consequence .caption{font-size:var(--text-xs);color:var(--ink-soft);font-weight:600}.after{grid-template-columns:repeat(auto-fit,minmax(5.5em,1fr));gap:2px 8px;display:grid}.after .cell b{font-size:var(--text-lg);font-variant-numeric:tabular-nums;line-height:1.2;display:block}.after .cell b.over{color:var(--gold-ink)}.after .cell span{font-size:var(--text-xs);color:var(--ink-soft)}.nutrients{font-variant-numeric:tabular-nums;grid-template-columns:1fr auto;gap:4px 12px;margin:0;display:grid}.nutrients dt{color:var(--ink-soft)}.nutrients dd{text-align:right;margin:0;font-weight:650}.disclosure{border-top:1px solid var(--line)}.disclosure>summary{min-height:var(--tap);font-weight:650;font-size:var(--text-md);color:var(--teal-deep);cursor:pointer;align-items:center;gap:8px;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:before{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;margin:0 4px 0 2px;transition:transform .12s;transform:rotate(-45deg)}.disclosure[open]>summary:before{transform:rotate(45deg)}.disclosure>summary .hint{color:var(--gold-ink);font-weight:500;font-size:var(--text-sm)}.disclosure>.content{flex-direction:column;gap:10px;padding:2px 0 12px;display:flex}.note{font-size:var(--text-sm);color:var(--ink-soft)}.note-gold{color:var(--gold-ink)}.plate-mark{flex:none;width:56px;height:56px}.hero{align-items:center;gap:14px;display:flex}.scanner-frame{aspect-ratio:4/3;border-radius:var(--radius);background:#111;width:100%;max-height:44vh;position:relative;overflow:hidden}.scanner-frame video{object-fit:cover;width:100%;height:100%}.empty{text-align:center;color:var(--ink-soft);background:var(--surface-tint);border-radius:var(--radius-lg);font-size:var(--text-sm);padding:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.pair{grid-template-columns:repeat(auto-fit,minmax(9.5em,1fr));gap:8px 12px;display:grid}.pair>.field-inline{align-content:start}.trio{grid-template-columns:repeat(auto-fit,minmax(5em,1fr));gap:8px;display:grid}.nutrient-set{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.nutrient-set legend{margin-bottom:6px;padding:0}.nutrient-row{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.nutrient-row label{font-weight:650;font-size:var(--text-md);flex:0 0 4.6em}.nutrient-row .input{flex:4.5em;width:auto}.nutrient-row .select{width:auto;font-size:var(--text-sm);flex:9em}.app-notices+.screen{padding-top:8px}@media (min-width:720px){.screen{padding-top:24px}}
