@layer reset{*,:before,:after{box-sizing:border-box}html,body{margin:0}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:1rem;line-height:var(--lh-base);color:var(--clr-ink);background:var(--clr-bg);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{line-height:var(--lh-tight)}img,svg{max-width:100%}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}::selection{background:var(--clr-primary-soft)}html.ui-scroll-lock{overflow:hidden}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}}@layer base{:root{--clr-primary:#e4632c;--clr-primary-soft:#fbede2;--clr-action:var(--clr-primary);--clr-action-hover:color-mix(in srgb, var(--clr-primary) 86%, #fff);--clr-primary-ink:var(--clr-primary);--clr-on-action:#fff;--clr-ink:#241a10;--clr-muted-strong:#5e554b;--clr-muted:#6f665c;--clr-neutral:#cbc2b7;--clr-bg:#fffdfa;--clr-surface:#fff;--clr-border:#efe6db;--clr-border-strong:#e4d9cb;--clr-track:#f3ece3;--clr-overlay:#241a1066;--clr-inverse-hover:#ffffff1f;--clr-premium:#b9832f;--clr-premium-soft:#f7ecd7;--clr-premium-ink:#8a5f1c;--clr-pro:#7c3aed;--clr-pro-soft:#efe7fd;--clr-pro-ink:#5b21b6;--clr-warn:#c0392b;--clr-warn-soft:#fdecea;--clr-success:#2f7d4f;--clr-success-soft:#e6f3ea;--clr-protein:#c9452c;--clr-carbs:#d8971c;--clr-fat:#7a3b6b;--clr-skeleton-a:var(--clr-border);--clr-skeleton-b:var(--clr-primary-soft);--font-logo:"Lobster", "Fraunces", cursive;--font-display:"Fraunces", Georgia, serif;--font-body:"Outfit", system-ui, sans-serif;--fs-2xs:.72rem;--fs-xs:.8rem;--fs-sm:.88rem;--fs-base:.95rem;--fs-md:1.05rem;--fs-lg:1.25rem;--fs-xl:1.5rem;--fs-display:clamp(1.7rem, 3vw, 2.3rem);--fs-h2:var(--fs-display);--fs-day:clamp(1.35rem, 2.2vw, 1.9rem);--fs-logo-sm:1.7rem;--fs-logo-md:1.95rem;--fs-logo-lg:clamp(2.6rem, 4.2vw, 3.4rem);--fs-logo-header:clamp(1.9rem, 1.45rem + .95vw, 2.4rem);--fs-tab:.7rem;--fs-input:var(--fs-base);--lh-tight:1.2;--lh-base:1.45;--tracking-overline:.08em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:32px;--space-8:48px;--gutter:clamp(16px, 2.5vw, 32px);--control-xs:24px;--control-sm:32px;--control-md:40px;--control-lg:48px;--hit-min:40px;--icon-sm:14px;--icon-md:16px;--icon-lg:18px;--dish-ratio:3 / 2;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--shadow-card:0 1px 2px #241a100d, 0 10px 26px -14px #241a1024;--shadow-hover:0 12px 28px -12px #241a1047;--shadow-menu:0 12px 28px #241a1029;--shadow-pop:0 24px 60px -18px #241a104d;--shadow-bar:0 -6px 20px -12px #241a102e;--shadow-dock:-10px 0 30px -22px #241a1059;--ring-focus:0 0 0 3px var(--clr-primary-soft);--z-raised:1;--z-lift:15;--z-sticky:20;--z-menu:30;--z-tabbar:35;--z-fab:40;--z-overlay:50;--z-toast:70;--maxw:1440px;--header-h:72px;--chat-dock-w:clamp(380px, 32vw, 420px);--tabbar-h:0px;--fab-size:56px;--fab-offset:clamp(16px, 3vw, 28px);--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--ease:cubic-bezier(.2, .7, .3, 1);--t:.18s}:root[data-layout=mobile]{--tabbar-h:64px;--header-h:60px;--fs-input:max(16px, var(--fs-base))}.mb-root{background:var(--clr-bg);min-height:100dvh;color:var(--clr-ink);font-family:var(--font-body)}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.mb-root{-webkit-tap-highlight-color:transparent}.mb-root :is(a,button,input,select,textarea,label,summary,[role=button]){touch-action:manipulation}.page{max-width:var(--maxw);padding:var(--space-2) var(--gutter) calc(var(--space-8) + var(--tabbar-h) + var(--safe-b));margin-inline:auto}.display{font-family:var(--font-display);letter-spacing:-.01em;font-weight:600}.card-grid{grid-template-columns:repeat(auto-fill, minmax(min(var(--card-min,400px), 100%), 1fr));gap:var(--space-4);display:grid}.card-grid>*{min-width:0}.overline{font-size:var(--fs-2xs);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--clr-muted);font-weight:800;line-height:var(--lh-tight)}.overline--primary{color:var(--clr-primary-ink)}.sr-only{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:clip;position:absolute!important}.stack{gap:var(--space-4);flex-direction:column;display:flex}.stack>*{min-width:0}.cluster{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cluster>*{min-width:0}.surface-pill{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-pill);box-shadow:var(--shadow-card);transition:border-color var(--t) var(--ease), background var(--t) var(--ease)}.surface-pill:is(button,a):hover:not(:disabled){border-color:var(--clr-primary)}}@layer components{.ui-btn{--btn-h:var(--control-md);justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--btn-h);border-radius:var(--radius-pill);max-width:100%;font-size:var(--fs-sm);text-align:center;white-space:nowrap;cursor:pointer;transition:background var(--t) var(--ease), border-color var(--t) var(--ease), color var(--t) var(--ease), opacity var(--t);border:1px solid #0000;padding:0 1.1rem;font-weight:600;line-height:1.15;text-decoration:none;display:inline-flex}.ui-btn__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-btn__icon{flex:none}.ui-btn--sm{--btn-h:var(--control-sm);font-size:var(--fs-xs);gap:6px;padding:0 .85rem}.ui-btn--lg{--btn-h:var(--control-lg);font-size:var(--fs-base);padding:0 1.5rem}.ui-btn--block{width:100%;display:flex}.ui-btn:disabled{opacity:.55;cursor:default}.ui-btn:active:not(:disabled){transform:translateY(1px)}.ui-btn--primary{background:var(--clr-action);color:var(--clr-on-action)}.ui-btn--primary:hover:not(:disabled){background:var(--clr-action-hover)}.ui-btn--secondary{background:var(--clr-surface);color:var(--clr-ink);border-color:var(--clr-border-strong)}.ui-btn--secondary:hover:not(:disabled){border-color:var(--clr-primary);background:var(--clr-primary-soft)}.ui-btn--ghost{color:var(--clr-ink);background:0 0}.ui-btn--ghost:hover:not(:disabled){background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.ui-btn--danger{background:var(--clr-warn);color:var(--clr-on-action)}.ui-btn--danger:hover:not(:disabled){background:var(--clr-warn);opacity:.9}.ui-btn--link{--btn-h:auto;color:var(--clr-primary-ink);border-radius:var(--radius-xs);background:0 0;min-height:0;padding:2px 0}.ui-btn--link:hover:not(:disabled){text-underline-offset:3px;text-decoration:underline}.ui-btn--link.ui-btn--sm{font-size:var(--fs-sm)}.ui-btn.is-pressed:not(.ui-btn--primary){background:var(--clr-primary-soft);color:var(--clr-primary-ink);border-color:var(--clr-primary)}.ui-btn__spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite ui-spin}@keyframes ui-spin{to{transform:rotate(360deg)}}.ui-iconbtn{--ib:var(--control-sm);width:var(--ib);height:var(--ib);border-radius:var(--radius-pill);border:1px solid var(--clr-border);background:var(--clr-surface);color:var(--clr-ink);cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t);flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;position:relative}.ui-iconbtn--xs{--ib:var(--control-xs)}.ui-iconbtn--md{--ib:var(--control-md)}.ui-iconbtn--ghost{background:0 0;border-color:#0000}.ui-iconbtn--soft{background:var(--clr-primary-soft);color:var(--clr-primary-ink);border-color:#0000}.ui-iconbtn--danger{color:var(--clr-warn);background:0 0;border-color:#0000}.ui-iconbtn:hover:not(:disabled){background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary-ink)}.ui-iconbtn--ghost:hover:not(:disabled),.ui-iconbtn--soft:hover:not(:disabled){border-color:#0000}.ui-iconbtn--soft:hover:not(:disabled){background:var(--clr-primary);color:var(--clr-on-action)}.ui-iconbtn--danger:hover:not(:disabled){background:var(--clr-warn-soft);color:var(--clr-warn);border-color:#0000}.ui-iconbtn.is-pressed{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary-ink)}.ui-iconbtn:disabled{opacity:.4;cursor:default}.ui-iconbtn:active:not(:disabled){transform:scale(.94)}@media (pointer:coarse){.ui-iconbtn:after{content:"";width:max(100%, var(--hit-min));height:max(100%, var(--hit-min));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.ui-chip{min-width:0;max-width:100%;min-height:var(--control-sm);border:1px solid var(--clr-border);border-radius:var(--radius-pill);background:var(--clr-surface);color:var(--clr-ink);font-size:var(--fs-xs);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;padding:0 .8rem;font-weight:600;line-height:1.2;display:inline-flex}.ui-chip__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-chip__icon{color:var(--clr-primary);flex:none}.ui-chip--sm{min-height:24px;font-size:var(--fs-2xs);gap:4px;padding:0 .6rem}.ui-chip--primary{background:var(--clr-primary-soft);color:var(--clr-primary-ink);border-color:#0000}.ui-chip--premium{background:var(--clr-premium-soft);color:var(--clr-premium-ink);border-color:#0000}.ui-chip--premium .ui-chip__icon{color:var(--clr-premium-ink)}.ui-chip--danger{background:var(--clr-warn-soft);color:var(--clr-warn);border-color:#0000}.ui-chip--danger .ui-chip__icon{color:var(--clr-warn)}.ui-chip--muted{background:var(--clr-bg);color:var(--clr-muted-strong)}.ui-chip--muted .ui-chip__icon{color:var(--clr-muted)}.ui-chip--dashed{border-style:dashed;border-color:var(--clr-border-strong);background:0 0}.ui-chip--action{cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t)}.ui-chip--action:hover{border-color:var(--clr-primary);background:var(--clr-primary-soft)}.ui-chip.is-selected{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary-ink);border-style:solid}.ui-chip--removable{padding-right:3px}.ui-chip:not(.ui-chip--action,.ui-chip--removable,.ui-chip--dashed){border-radius:var(--radius-xs);border-color:#0000}.ui-chip:is(.ui-chip--neutral,.ui-chip--muted):not(.ui-chip--action,.ui-chip--removable,.ui-chip--dashed){background:var(--clr-track)}.ui-chip__main{align-items:center;gap:inherit;min-width:0;color:inherit;display:inline-flex}.ui-chip__remove{width:22px;height:22px;color:var(--clr-muted);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.ui-chip--sm .ui-chip__remove{width:18px;height:18px}.ui-chip__remove:hover{background:var(--clr-warn-soft);color:var(--clr-warn)}@media (pointer:coarse){.ui-chip__remove:after{content:"";position:absolute;inset:-9px}}.ui-badge{border-radius:var(--radius-pill);min-width:1.6em;font-size:var(--fs-2xs);letter-spacing:.04em;white-space:nowrap;text-transform:none;font-weight:800;line-height:1.25;font-family:var(--font-body);flex:none;justify-content:center;align-items:center;padding:.18rem .55rem;display:inline-flex}.ui-badge--primary{background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.ui-badge--action{background:var(--clr-action);color:var(--clr-on-action);text-transform:uppercase;letter-spacing:var(--tracking-overline)}.ui-badge--muted{background:var(--clr-bg);color:var(--clr-muted-strong);border:1px solid var(--clr-border)}.ui-badge--outline{color:var(--clr-muted);border:1px solid var(--clr-border);text-transform:uppercase;letter-spacing:var(--tracking-overline);background:0 0}.ui-badge--premium{background:var(--clr-premium-soft);color:var(--clr-premium-ink)}.ui-tag{border-radius:var(--radius-pill);min-height:28px;font-size:var(--fs-xs);white-space:nowrap;background:var(--clr-track);color:var(--clr-ink);transition:background var(--t), border-color var(--t), color var(--t);border:1px solid #0000;align-items:center;gap:4px;padding:0 .7rem;font-weight:600;line-height:1;display:inline-flex}.ui-tag--course{background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.ui-tag--cuisine{background:var(--clr-success-soft);color:var(--clr-success)}.ui-tag--tag{background:var(--clr-surface);border-color:var(--clr-border);color:var(--clr-muted-strong)}.ui-tag__hash{color:var(--clr-primary);font-weight:700}.ui-tag__icon{flex:none}.ui-tag--action{cursor:pointer}.ui-tag--action:hover{border-color:var(--clr-primary)}.ui-tag--action:focus-visible{box-shadow:var(--ring-focus);outline:none}.ui-pro{border-radius:var(--radius-pill);background:var(--clr-pro);color:#fff;font-size:var(--fs-xs);letter-spacing:.06em;vertical-align:middle;white-space:nowrap;align-items:center;gap:4px;padding:2px 8px 2px 6px;font-weight:700;line-height:1.5;display:inline-flex}.ui-pro svg{flex:none}.ui-panel{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);padding:var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.ui-panel--flush{padding:0}.ui-panel--muted{background:var(--clr-bg);box-shadow:none}.ui-panel__head{justify-content:space-between;align-items:flex-start;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.ui-panel--flush>.ui-panel__head{padding:var(--space-5) var(--space-5) 0}.ui-panel__heading{flex:12rem;min-width:0}.ui-panel__title{align-items:center;gap:var(--space-2);font-size:var(--fs-md);font-weight:700;line-height:var(--lh-tight);margin:0;display:flex}.ui-panel__title>span{overflow-wrap:anywhere;min-width:0}.ui-panel__icon{color:var(--clr-primary);flex:none}.ui-panel__sub{margin:var(--space-1) 0 0;color:var(--clr-muted);font-size:var(--fs-sm)}.ui-panel__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-panel__body{min-width:0}.ui-overlay{z-index:var(--z-overlay);padding:var(--space-5);background:var(--clr-overlay);animation:ui-fade .2s var(--ease) both;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ui-overlay--drawer{justify-content:flex-end;align-items:stretch;padding:0}.ui-overlay--sheet{align-items:flex-end;padding:0}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}.ui-dialog{width:min(var(--dialog-w,620px), 100%);background:var(--clr-surface);border-radius:var(--radius-xl);max-height:min(88dvh,880px);box-shadow:var(--shadow-pop);animation:ui-pop .22s var(--ease) both;outline:none;flex-direction:column;display:flex;position:relative;overflow:hidden}.ui-dialog--sm{--dialog-w:440px}.ui-dialog--md{--dialog-w:620px}.ui-dialog--lg{--dialog-w:880px}.ui-dialog--drawer{width:min(var(--dialog-w), 100%);border-radius:var(--radius-xl) 0 0 var(--radius-xl);height:100%;max-height:none;animation:ui-slide-in .24s var(--ease) both}.ui-dialog--sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-width:none;max-height:92dvh;padding-bottom:var(--safe-b);animation:ui-sheet-in .24s var(--ease) both}.ui-dialog--dock{z-index:var(--z-fab);top:var(--dock-top,0px);width:var(--dock-w,400px);border-left:1px solid var(--clr-border);max-width:100vw;max-height:none;box-shadow:var(--shadow-dock);animation:ui-slide-in .22s var(--ease) both;border-radius:0;position:fixed;bottom:0;right:0}@keyframes ui-pop{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:none}}@keyframes ui-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:none}}@keyframes ui-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.ui-dialog__head{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3) var(--space-6);flex:none;display:flex}.ui-dialog__head--bare{justify-content:flex-end;padding-bottom:0}.ui-dialog__heading{flex:1;min-width:0;padding-top:4px}.ui-dialog__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);line-height:var(--lh-tight);overflow-wrap:anywhere;margin:0}.ui-dialog__sub{margin:var(--space-1) 0 0;color:var(--clr-muted);font-size:var(--fs-sm);line-height:var(--lh-base)}.ui-dialog__close{margin:-2px -6px 0 0}.ui-dialog__body{overscroll-behavior:contain;min-height:0;padding:var(--space-2) var(--space-6) var(--space-6);flex:auto;overflow-y:auto}.ui-dialog__foot{justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6) var(--space-5);border-top:1px solid var(--clr-border);flex-wrap:wrap;flex:none;display:flex}.ui-confirm__msg{color:var(--clr-muted-strong);font-size:var(--fs-base);line-height:var(--lh-base);white-space:pre-line;margin:0}:where(:root[data-layout=mobile]) .ui-overlay--center{align-items:flex-end;padding:0}:where(:root[data-layout=mobile]) .ui-overlay--center .ui-dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:92dvh;padding-bottom:var(--safe-b);animation-name:ui-sheet-in}:where(:root[data-layout=mobile]) .ui-dialog--drawer{width:100%;padding-top:var(--safe-t);padding-bottom:var(--safe-b);border-radius:0}:where(:root[data-layout=mobile]) .ui-dialog__head{padding:var(--space-4) var(--space-3) var(--space-2) var(--space-4)}:where(:root[data-layout=mobile]) .ui-dialog__body{padding:var(--space-2) var(--space-4) var(--space-5)}:where(:root[data-layout=mobile]) .ui-dialog__foot{padding:var(--space-3) var(--space-4) calc(var(--space-3) + var(--safe-b))}:where(:root[data-layout=mobile]) .ui-dialog__foot>.ui-btn{flex:1 1 0}.ui-seg{--seg-h:var(--control-md);border-radius:var(--radius-pill);background:var(--clr-surface);border:1px solid var(--clr-border);min-width:0;max-width:100%;box-shadow:var(--shadow-card);align-items:stretch;gap:2px;padding:4px;display:inline-flex}.ui-seg__opt{min-width:0;min-height:calc(var(--seg-h) - 10px);border-radius:var(--radius-pill);font-size:var(--fs-sm);color:var(--clr-ink);white-space:nowrap;transition:background var(--t), color var(--t), box-shadow var(--t);justify-content:center;align-items:center;gap:6px;padding:0 1rem;font-weight:600;display:inline-flex;position:relative}.ui-seg__label{text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-seg__icon{flex:none}.ui-seg__opt:hover:not(:disabled):not(.is-active){background:var(--clr-primary-soft)}.ui-seg__opt:disabled{opacity:.45;cursor:default}.ui-seg--sm{--seg-h:var(--control-sm);padding:3px}.ui-seg--sm .ui-seg__opt{font-size:var(--fs-xs);min-height:calc(var(--seg-h) - 8px);padding:0 .7rem}.ui-seg--lg{--seg-h:var(--control-lg)}.ui-seg--lg .ui-seg__opt{font-size:var(--fs-base);padding:0 1.4rem}.ui-seg--fill{grid-template-columns:repeat(var(--seg-count,2), minmax(0, 1fr));width:100%;display:grid}.ui-seg--fill .ui-seg__opt{padding-inline:.3rem}.ui-seg--nav .ui-seg__opt.is-active{background:var(--clr-action);color:var(--clr-on-action)}.ui-seg--tabs{background:var(--clr-track);box-shadow:none;border-color:#0000}.ui-seg--tabs .ui-seg__opt{color:var(--clr-muted-strong)}.ui-seg--tabs .ui-seg__opt:hover:not(:disabled):not(.is-active){background:color-mix(in srgb, var(--clr-surface) 55%, transparent);color:var(--clr-ink)}.ui-seg--tabs .ui-seg__opt.is-active{background:var(--clr-surface);color:var(--clr-ink);box-shadow:0 0 0 1px var(--clr-border-strong), 0 1px 3px #241a101f;font-weight:700}.ui-seg--tabs .ui-seg__opt.is-active .ui-seg__icon{color:var(--clr-primary)}.ui-seg--choice{box-shadow:none}.ui-seg--choice .ui-seg__opt.is-active{background:var(--clr-primary-soft);color:var(--clr-primary-ink);box-shadow:inset 0 0 0 1px var(--clr-primary)}.ui-slotpicker{flex-direction:column;gap:6px;min-width:0;display:flex}.ui-slotpicker__dot{background:var(--clr-primary);border-radius:50%;flex:none;width:6px;height:6px;margin-left:-2px}.ui-slotpicker__hint{align-items:center;gap:var(--space-2);font-size:var(--fs-xs);color:var(--clr-muted-strong);margin:0;display:flex}.ui-slotpicker__hint:before{content:"";background:var(--clr-primary);border-radius:50%;flex:none;width:6px;height:6px}.ui-stepper{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;min-width:0;display:inline-flex}.ui-stepper__group{align-items:center;gap:var(--space-2);border:1px solid var(--clr-border);border-radius:var(--radius-pill);background:var(--clr-surface);padding:3px;display:inline-flex}.ui-stepper__btn{background:var(--clr-bg);border-color:#0000}.ui-stepper__value{text-align:center;font-variant-numeric:tabular-nums;min-width:1.6ch;font-weight:800}.ui-stepper__input{width:calc(var(--digits,1) * 1ch + 1.2ch);border-radius:var(--radius-xs);text-align:center;min-width:2.2ch;font-weight:800;font-size:var(--fs-input);font-variant-numeric:tabular-nums;background:0 0;border:0;padding:2px 0}.ui-stepper__input:focus{box-shadow:var(--ring-focus);outline:none}.ui-stepper__unit{font-size:var(--fs-sm);color:var(--clr-muted-strong);padding-right:var(--space-1)}.ui-stepper--sm .ui-stepper__group{gap:var(--space-1);padding:2px}.ui-stepper--sm .ui-stepper__value,.ui-stepper--sm .ui-stepper__unit{font-size:var(--fs-xs)}.ui-menu{flex:none;display:inline-flex;position:relative}.ui-menu__trigger.is-open{background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.ui-menu__list,.ui-popover{z-index:var(--z-menu);translate:var(--float-shift-x,0px) 0;background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-menu);animation:ui-float-in .14s var(--ease) backwards;position:absolute;top:calc(100% + 4px);right:0}.ui-menu__list{flex-direction:column;gap:2px;width:max-content;min-width:200px;max-width:min(300px,100vw - 32px);padding:5px;display:flex}.ui-menu__list--start,.ui-popover:not(.ui-popover--end){left:0;right:auto}.ui-menu__list.is-flipped,.ui-popover.is-flipped{top:auto;bottom:calc(100% + 4px)}@keyframes ui-float-in{0%{transform:translateY(-4px)}to{transform:none}}.ui-menu__item{border-radius:var(--radius-sm);width:100%;min-height:36px;font-size:var(--fs-sm);text-align:left;color:var(--clr-ink);white-space:nowrap;align-items:center;gap:10px;padding:0 10px;display:flex}.ui-menu__item>span{text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-menu__item svg{color:var(--clr-muted-strong);flex:none}.ui-menu__item:hover:not(:disabled),.ui-menu__item:focus-visible{background:var(--clr-primary-soft);outline:none}.ui-menu__item:disabled{opacity:.45;cursor:default}.ui-menu__item--danger,.ui-menu__item--danger svg{color:var(--clr-warn)}.ui-menu__item--danger:hover:not(:disabled),.ui-menu__item--danger:focus-visible{background:var(--clr-warn-soft)}.ui-menu__divider{background:var(--clr-border);height:1px;margin:4px 6px}.ui-popover-anchor{min-width:0;max-width:100%;display:inline-flex;position:relative}.ui-popover{width:max-content;min-width:220px;max-width:min(360px,100vw - 32px);padding:var(--space-4);text-align:left}.ui-popover--sm{width:min(260px,100vw - 32px);min-width:0}.ui-popover--md{width:min(340px,100vw - 32px)}.ui-popover__head{margin:0 0 var(--space-3);font-weight:700;font-size:var(--fs-sm);color:var(--clr-ink)}.ui-popover__body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.ui-popover__foot{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-4) calc(-1 * var(--space-4)) calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);border-top:1px solid var(--clr-border);flex-wrap:wrap;display:flex}.ui-kv{gap:var(--space-2);flex-direction:column;min-width:0;margin:0;display:flex}.ui-kv__row{justify-content:space-between;align-items:baseline;gap:var(--space-3);font-size:var(--fs-sm);display:flex}.ui-kv__row dt{align-items:center;gap:var(--space-1);min-width:0;color:var(--clr-muted-strong);display:inline-flex}.ui-kv__row dd{text-align:right;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;min-width:0;color:var(--clr-ink);margin:0;font-weight:700}.ui-kv__row--strong{font-size:var(--fs-base);align-items:center}.ui-kv__row--strong dt{color:var(--clr-ink);font-weight:600}.ui-kv__row--strong dd{font-size:var(--fs-md)}.ui-kv__row--stack{align-items:stretch;gap:var(--space-2);flex-direction:column}.ui-kv__row--stack dd{text-align:left}.ui-kv--divided{gap:0}.ui-kv--divided .ui-kv__row{padding:var(--space-2) 0;border-bottom:1px solid var(--clr-border)}.ui-kv--divided .ui-kv__row:last-child{border-bottom:0}.ui-kv__row--strong:not(:first-child){margin-top:var(--space-1);padding-top:var(--space-2);border-top:1px solid var(--clr-border)}.ui-toast-region{z-index:var(--z-toast);left:50%;bottom:calc(var(--tabbar-h) + var(--space-4) + var(--safe-b));pointer-events:none;justify-content:center;width:min(560px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.ui-toast{pointer-events:auto;align-items:center;gap:var(--space-2) var(--space-3);width:max-content;max-width:100%;padding:var(--space-2) var(--space-2) var(--space-2) var(--space-3);background:var(--clr-surface);color:var(--clr-ink);border:1px solid var(--clr-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);animation:ui-sheet-in .2s var(--ease) both;flex-wrap:wrap;display:flex}.ui-toast__icon{background:var(--clr-primary-soft);width:1.75rem;height:1.75rem;color:var(--clr-primary);border-radius:50%;flex:none;place-items:center;display:inline-grid}.ui-toast__msg{overflow-wrap:anywhere;min-width:0;font-size:var(--fs-sm);flex:12rem;margin:0;font-weight:600;line-height:1.4}.ui-toast__actions{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.ui-toast .ui-btn--link{color:var(--clr-primary-ink)}.ui-toast__close{color:var(--clr-muted)}.ui-empty{align-items:center;gap:var(--space-2);padding:var(--space-8) var(--space-6);text-align:center;background:var(--clr-surface);border:2px dashed var(--clr-border);border-radius:var(--radius-xl);color:var(--clr-muted);flex-direction:column;display:flex}.ui-empty__icon{background:var(--clr-primary-soft);width:52px;height:52px;color:var(--clr-primary-ink);margin-bottom:var(--space-1);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.ui-empty__title{color:var(--clr-ink);font-weight:700;font-size:var(--fs-md);overflow-wrap:anywhere;margin:0}.ui-empty__hint{max-width:46ch;font-size:var(--fs-sm);line-height:var(--lh-base);overflow-wrap:anywhere;margin:0}.ui-empty__action{justify-content:center;gap:var(--space-2);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.ui-empty--inline{padding:var(--space-6) var(--space-4);border-radius:var(--radius-md);background:0 0;border:0}.ui-empty--inline .ui-empty__icon{width:40px;height:40px}.ui-empty--inline .ui-empty__title{font-size:var(--fs-base)}.ui-empty--error{background:var(--clr-warn-soft);color:var(--clr-warn);border:0}.ui-empty--error .ui-empty__icon{background:var(--clr-surface);color:var(--clr-warn)}.ui-empty--error .ui-empty__title{color:var(--clr-warn)}.ui-empty--error .ui-empty__hint{color:var(--clr-ink)}.ui-skel{border-radius:var(--radius-xs);background:linear-gradient(90deg, var(--clr-skeleton-a) 25%, var(--clr-skeleton-b) 37%, var(--clr-skeleton-a) 63%);background-size:400% 100%;width:100%;height:.8rem;margin:.45rem 0;animation:1.4s infinite ui-shimmer;display:block}.ui-skel--title{height:1.15rem}.ui-skel--block{border-radius:var(--radius-md);height:7.5rem;margin:0}.ui-skel--circle{border-radius:50%;width:2rem;height:2rem;margin:0}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-pagehead{gap:var(--space-2);margin:var(--space-6) 0 var(--space-5);flex-direction:column;min-width:0;display:flex}.ui-pagehead__back{align-self:flex-start}.ui-pagehead__row{justify-content:space-between;align-items:flex-end;gap:var(--space-3) var(--space-4);flex-wrap:wrap;display:flex}.ui-pagehead__text{flex:18rem;min-width:0}.ui-pagehead__title{font-family:var(--font-display);font-weight:600;font-size:var(--fs-display);letter-spacing:-.01em;line-height:var(--lh-tight);overflow-wrap:anywhere;margin:0}.ui-pagehead__lede{margin:var(--space-1) 0 0;color:var(--clr-muted);font-size:var(--fs-base);max-width:70ch}.ui-pagehead__actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}:where(:root[data-layout=mobile]) .ui-pagehead{margin:var(--space-4) 0 var(--space-4)}:where(:root[data-layout=mobile]) .ui-pagehead__lede:not(.is-always){display:none}:where(:root[data-layout=mobile]) .ui-pagehead__actions{width:100%}.ui-sectiontitle{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);padding-bottom:var(--space-2);margin:0 0 var(--space-4);border-bottom:1px solid var(--clr-border);flex-wrap:wrap;min-width:0;display:flex}.ui-sectiontitle__text{align-items:center;gap:var(--space-2);min-width:0;font-family:var(--font-display);font-weight:600;font-size:var(--fs-xl);line-height:var(--lh-tight);margin:0;display:flex}.ui-sectiontitle__text>span:not(.ui-badge){overflow-wrap:anywhere;min-width:0}.ui-sectiontitle__icon{color:var(--clr-primary);flex:none}.ui-sectiontitle__actions{align-items:center;gap:var(--space-2);display:flex}.ui-sectiontitle--group{margin-bottom:var(--space-3);border-bottom:0;padding-bottom:0}.ui-sectiontitle--group .ui-sectiontitle__text{font-family:var(--font-body);font-weight:700;font-size:var(--fs-md)}.ui-field{flex-direction:column;gap:6px;min-width:0;display:flex}.ui-field__label{font-size:var(--fs-sm);color:var(--clr-ink);font-weight:600}.ui-field__control{min-width:0;display:flex}.ui-field__control>*{flex:auto;min-width:0}.ui-field__control>.ui-seg{flex:0 auto}.ui-field__hint{font-size:var(--fs-xs);color:var(--clr-muted);line-height:var(--lh-base)}.ui-field__error{font-size:var(--fs-xs);color:var(--clr-warn);font-weight:600}.ui-field--inline{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-flow:wrap}.ui-field--inline .ui-field__control>*{flex:0 auto}.ui-field--inline .ui-field__hint,.ui-field--inline .ui-field__error{flex-basis:100%}.ui-input,.ui-select,.ui-textarea{--in-h:var(--control-md);width:100%;min-width:0;min-height:var(--in-h);border:1px solid var(--clr-border-strong);border-radius:var(--radius-md);background:var(--clr-surface);font-family:inherit;font-size:var(--fs-input);color:var(--clr-ink);transition:border-color var(--t), box-shadow var(--t);padding:0 .85rem;font-weight:400;line-height:1.3;display:block}.ui-input::placeholder,.ui-textarea::placeholder,.ui-input__control::placeholder{color:var(--clr-muted);opacity:1}.ui-input:hover,.ui-select:hover,.ui-textarea:hover{border-color:var(--clr-neutral)}.ui-input:focus,.ui-input:focus-within,.ui-select:focus,.ui-textarea:focus{border-color:var(--clr-primary);box-shadow:var(--ring-focus);outline:none}.ui-input--sm,.ui-select--sm{--in-h:var(--control-sm);font-size:max(var(--fs-input), var(--fs-sm));border-radius:var(--radius-sm);padding:0 .65rem}.ui-input--pill{border-radius:var(--radius-pill);padding-inline:1rem}.ui-input--bare,.ui-input--bare:hover{box-shadow:none;background:0 0;border-color:#0000;padding-inline:0}.ui-input--bare:focus{box-shadow:none;border-color:#0000}.ui-input--affix{align-items:center;gap:6px;padding-right:.75rem;display:flex}.ui-input__control{width:100%;min-width:0;height:calc(var(--in-h) - 2px);font:inherit;color:inherit;appearance:textfield;background:0 0;border:0;flex:auto;padding:0}.ui-input__control:focus{outline:none}.ui-input__control::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-input__control::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-input__unit{font-size:var(--fs-sm);color:var(--clr-muted);flex:none}.ui-select{appearance:none;cursor:pointer;text-overflow:ellipsis;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236F665C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:12px;padding-right:2rem}.ui-textarea{resize:vertical;min-height:5.5rem;line-height:var(--lh-base);padding:.6rem .85rem}.ui-check{align-items:flex-start;gap:var(--space-3);cursor:pointer;min-width:0;display:inline-flex}.ui-check--bare{gap:0}.ui-check__box{appearance:none;border:1.5px solid var(--clr-neutral);border-radius:var(--radius-xs);background:var(--clr-surface);cursor:pointer;width:20px;height:20px;transition:background var(--t), border-color var(--t);flex:none;margin:1px 0 0;position:relative}.ui-check__box:before{content:"";background:var(--clr-on-action);transition:transform var(--t) var(--ease);position:absolute;inset:2px;transform:scale(0);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") 50%/contain no-repeat}.ui-check__box:hover{border-color:var(--clr-primary)}.ui-check__box:checked{background:var(--clr-action);border-color:var(--clr-action)}.ui-check__box:checked:before{transform:scale(1)}.ui-check__box:disabled{opacity:.5;cursor:default}@media (pointer:coarse){.ui-check__box:after{content:"";position:absolute;inset:-11px}}.ui-check__text{flex-direction:column;gap:2px;min-width:0;line-height:1.35;display:flex}.ui-check__label{font-size:var(--fs-sm);color:var(--clr-ink);font-weight:600}.ui-check__desc{font-size:var(--fs-xs);color:var(--clr-muted)}.ui-search{--search-h:var(--control-md);align-items:center;gap:var(--space-2);width:100%;max-width:var(--search-max,620px);min-width:0;min-height:var(--search-h);border:1px solid var(--clr-border-strong);border-radius:var(--radius-pill);background:var(--clr-surface);color:var(--clr-muted);transition:border-color var(--t), box-shadow var(--t);padding:0 6px 0 .9rem;display:flex;position:relative}.ui-search--lg{--search-h:var(--control-lg);box-shadow:var(--shadow-card);padding-left:1.1rem}.ui-search:focus-within{border-color:var(--clr-primary);box-shadow:var(--ring-focus);color:var(--clr-primary)}.ui-search__icon{flex:none}.ui-search .ui-search__input{min-width:0;height:calc(var(--search-h) - 2px);font-size:var(--fs-input);color:var(--clr-ink);text-overflow:ellipsis;background:0 0;border:0;outline:none;flex:auto;padding:0}.ui-search--lg .ui-search__input{font-size:max(var(--fs-input), var(--fs-md))}.ui-search__input::placeholder{color:var(--clr-muted);opacity:1}.ui-search__clear{color:var(--clr-muted)}.ui-search__list{z-index:var(--z-menu);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-md);max-height:min(50vh,360px);box-shadow:var(--shadow-menu);margin:0;padding:5px;list-style:none;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto}.ui-search__opt{align-items:center;gap:var(--space-2);border-radius:var(--radius-sm);font-size:var(--fs-sm);color:var(--clr-ink);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;padding:8px 10px;display:flex;overflow:hidden}.ui-search__opt:hover,.ui-search__opt.is-active{background:var(--clr-primary-soft)}.ui-search__opt>svg{color:var(--clr-muted);flex:none}.ui-search__head{justify-content:space-between;align-items:center;gap:var(--space-2);font-size:var(--fs-xs,.78rem);letter-spacing:.04em;text-transform:uppercase;color:var(--clr-muted);padding:4px 6px 4px 10px;font-weight:700;display:flex}.ui-search__head .ui-btn{text-transform:none;letter-spacing:0}.ui-search__tail{flex:none;align-items:center;margin-right:-6px;display:flex}.ui-avatar{--av:var(--control-sm);width:var(--av);height:var(--av);background:var(--clr-action);color:var(--clr-on-action);font-size:calc(var(--av) * .38);letter-spacing:.02em;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:800;line-height:1;display:inline-flex;position:relative;overflow:hidden}.ui-avatar img{object-fit:cover;width:100%;height:100%}.ui-avatar.has-photo{background:var(--clr-skeleton-a)}.ui-avatar--xs{--av:var(--control-xs)}.ui-avatar--md{--av:var(--control-md)}.ui-avatar--xl{--av:108px;font-size:calc(var(--av) * .3)}.ui-avatar.is-skeleton{background:var(--clr-skeleton-a);animation:1.4s infinite ui-pulse}@keyframes ui-pulse{50%{opacity:.55}}.ui-avatar-toggle{isolation:isolate;cursor:pointer;transition:background var(--t), border-color var(--t), color var(--t);border:1.5px solid #0000;overflow:visible}.ui-avatar-toggle__initials{position:relative}.ui-avatar-toggle.is-off{border:1.5px dashed var(--clr-neutral);color:var(--clr-muted);background:0 0}.ui-avatar-toggle.is-off:hover{border-color:var(--clr-primary);color:var(--clr-primary-ink)}.ui-avatar-toggle--presence.is-off,.ui-avatar-toggle.is-away{background:var(--clr-surface);border:1.5px solid var(--clr-neutral);color:var(--clr-muted-strong)}.ui-avatar-toggle--presence.is-off:before,.ui-avatar-toggle.is-away:before{content:"";z-index:-1;border-radius:var(--radius-pill);background:var(--clr-neutral);width:calc(100% - 4px);height:1.5px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(-45deg)}.ui-avatar-toggle--presence.is-off:hover{border-color:var(--clr-primary);color:var(--clr-primary-ink)}.ui-avatar-toggle[aria-disabled=true]{cursor:not-allowed}.ui-avatar-toggle.is-on[aria-disabled=true]{box-shadow:inset 0 0 0 2px color-mix(in srgb, var(--clr-surface) 35%, transparent)}.ui-avatar-group{align-items:center;gap:var(--space-1);min-width:0;display:inline-flex}.ui-avatar-group__label{margin-right:var(--space-1);font-size:var(--fs-xs);color:var(--clr-muted-strong);white-space:nowrap;font-weight:600}@media (pointer:coarse){.ui-avatar-toggle:after{content:"";width:var(--hit-min);height:var(--hit-min);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}.ui-iconbadge{--ibd:32px;width:var(--ibd);height:var(--ibd);background:var(--clr-primary-soft);color:var(--clr-primary-ink);font-weight:800;font-size:var(--fs-sm);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-iconbadge--sm{--ibd:28px}.ui-iconbadge--lg{--ibd:44px}.ui-iconbadge--warn{background:var(--clr-warn-soft);color:var(--clr-warn)}.ui-iconbadge--muted{background:var(--clr-bg);color:var(--clr-muted-strong);border:1px solid var(--clr-border)}.ui-iconbadge--action{background:var(--clr-action);color:var(--clr-on-action)}.ui-meta{min-width:0;font-size:var(--fs-xs);color:var(--clr-muted-strong);flex-wrap:wrap;gap:4px 14px;margin:0;padding:0;font-weight:600;list-style:none;display:flex}.ui-meta__item{align-items:center;gap:5px;min-width:0;display:inline-flex}.ui-meta__item svg{color:var(--clr-primary);flex:none}.ui-meta__item--rating{color:var(--clr-ink)}.ui-meta__item--rating svg{color:var(--clr-premium);fill:currentColor}.ui-meta__count{color:var(--clr-muted-strong);font-weight:500}.ui-meta__value{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.ui-meta--md{font-size:var(--fs-sm);gap:6px 18px}.ui-meta--nowrap{flex-wrap:nowrap;overflow:hidden}.ui-meta--nowrap .ui-meta__item{flex:0 auto}.ui-dot{background:var(--clr-neutral);border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.ui-dot--p{background:var(--clr-protein)}.ui-dot--c{background:var(--clr-carbs)}.ui-dot--f{background:var(--clr-fat)}.ui-dot--n{background:var(--clr-neutral)}.ui-dot--primary{background:var(--clr-primary)}.ui-dot--empty{background:var(--clr-primary-soft);box-shadow:inset 0 0 0 1px var(--clr-primary)}.ui-macro-line{min-width:0;font-size:var(--fs-xs);color:var(--clr-muted-strong);flex-wrap:wrap;align-items:center;gap:2px 12px;margin:0;font-weight:600;display:flex}.ui-macro-line__item{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.ui-macro-line__item b{color:var(--clr-ink);font-weight:700}.ui-macro-line--chips{gap:6px}.ui-macro-line--chips .ui-macro-line__item{border:1px solid var(--clr-border);border-radius:var(--radius-pill);background:var(--clr-bg);padding:.25rem .6rem}.ui-legend{font-size:var(--fs-xs);color:var(--clr-muted);flex-wrap:wrap;gap:6px 16px;min-width:0;margin:0;padding:0;list-style:none;display:flex}.ui-legend__item{align-items:center;gap:6px;min-width:0;display:inline-flex}.ui-legend__value{color:var(--clr-ink);font-weight:800}.ui-legend__label{min-width:0}.ui-legend__goal{color:var(--clr-muted)}.ui-legend__goal:before{content:"· "}.ui-legend--stack{flex-flow:column;gap:6px}.ui-legend--stack .ui-legend__value{font-size:var(--fs-md);letter-spacing:-.01em}.ui-legend--stack .ui-legend__item{flex-wrap:wrap;align-items:baseline;column-gap:6px}.ui-legend--stack .ui-dot{align-self:center}.ui-legend--dense{font-size:var(--fs-2xs);flex-flow:column;align-self:stretch;gap:2px}.ui-legend--dense .ui-legend__item{justify-content:space-between;gap:4px}.ui-legend--dense .ui-legend__key{min-width:0;color:var(--clr-muted-strong);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;font-weight:700;line-height:1.25;display:inline-flex;overflow:hidden}.ui-legend--dense .ui-legend__value{flex:none;line-height:1.25}.ui-legend--dense .ui-dot{width:6px;height:6px}.ui-macrobar{border-radius:var(--radius-pill);background:var(--clr-primary-soft);gap:2px;height:12px;display:flex;overflow:hidden}.ui-macrobar__seg{height:100%;transition:width .5s var(--ease);display:block}.ui-macrobar__seg:empty{min-width:0}.ui-ring,.ui-donut{width:var(--chart-size);height:var(--chart-size);flex:none;line-height:0;display:inline-block;position:relative}.ui-ring svg,.ui-donut svg{width:100%;height:100%;display:block}.ui-chart__track{stroke:var(--clr-primary-soft)}.ui-ring__fill{stroke:var(--clr-primary);transition:stroke-dasharray .5s var(--ease)}.ui-ring--warn .ui-chart__track{stroke:var(--clr-warn-soft)}.ui-ring--warn .ui-ring__fill{stroke:var(--clr-warn)}.ui-ring--warn .ui-chart__center{color:var(--clr-warn)}.ui-donut__seg{transition:stroke-dasharray .5s var(--ease), stroke-dashoffset .5s var(--ease)}.ui-donut__seg--p{stroke:var(--clr-protein)}.ui-donut__seg--c{stroke:var(--clr-carbs)}.ui-donut__seg--f{stroke:var(--clr-fat)}.macro-dial{justify-content:center;align-items:center;gap:var(--space-4) var(--space-6);flex-wrap:wrap;display:flex}.macro-dial__ring{touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none;flex:none;position:relative}.macro-dial__ring .ui-donut__seg{transition:none}.macro-dial__side{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.macro-dial__hint{max-width:14rem;font-size:var(--fs-xs);color:var(--clr-muted);margin:0;line-height:1.35}.macro-dial__handle{background:var(--clr-surface);border:2px solid var(--clr-surface);box-shadow:0 0 0 1px var(--clr-border-strong), var(--shadow-card);cursor:grab;transition:box-shadow var(--t);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.macro-dial__handle:after{content:"";background:var(--clr-primary);border-radius:50%;position:absolute;inset:30%}.macro-dial__handle:hover{box-shadow:0 0 0 2px var(--clr-primary), var(--shadow-card)}.macro-dial__handle:active{cursor:grabbing}.macro-dial__handle:focus-visible{box-shadow:var(--ring-focus);outline:none}.ui-chart__center{font-size:calc(var(--chart-size) * .17);letter-spacing:-.01em;text-align:center;flex-direction:column;justify-content:center;align-items:center;font-weight:800;line-height:1.05;display:flex;position:absolute;inset:0}.ui-progress{border-radius:var(--radius-pill);background:var(--clr-primary-soft);height:8px;overflow:hidden}.ui-progress__fill{background:var(--clr-primary);border-radius:var(--radius-pill);height:100%;transition:width .5s var(--ease);display:block}.ui-progress--md{height:10px}.ui-progress--warn{background:var(--clr-warn-soft)}.ui-progress--warn .ui-progress__fill{background:var(--clr-warn)}.ui-stat{gap:var(--space-3);width:100%;min-width:0;padding:var(--space-4) var(--space-5);text-align:left;font:inherit;color:var(--clr-ink);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.ui-stat--action{cursor:pointer;transition:border-color var(--t), box-shadow var(--t)}.ui-stat--action:hover{border-color:var(--clr-primary);box-shadow:var(--shadow-hover)}.ui-stat__head{align-items:center;gap:var(--space-2);min-width:0;display:flex}.ui-stat__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--fs-2xs);letter-spacing:var(--tracking-overline);text-transform:uppercase;color:var(--clr-muted);flex:1;font-weight:800;overflow:hidden}.ui-stat__edit{width:26px;height:26px;color:var(--clr-muted);transition:background var(--t), color var(--t);border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.ui-stat--action:hover .ui-stat__edit{background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.ui-stat__figure{align-items:center;gap:var(--space-4);min-width:0;display:flex}.ui-stat__text{flex-direction:column;gap:4px;min-width:0;display:flex}.ui-stat__value{font-size:var(--fs-xl);letter-spacing:-.01em;overflow-wrap:anywhere;font-weight:800;line-height:1.05}.ui-stat__sub{font-size:var(--fs-xs);color:var(--clr-muted);font-weight:600}.ui-stat--warn .ui-stat__value{color:var(--clr-warn)}.ui-stat--compact{padding:var(--space-3) var(--space-4);gap:var(--space-2)}.ui-stat--compact .ui-stat__figure{gap:var(--space-3)}.ui-stat--compact .ui-stat__value{font-size:var(--fs-lg)}.ui-stat--mini{padding:var(--space-3) var(--space-2);gap:var(--space-2);text-align:center;align-items:center;position:relative}.ui-stat--mini .ui-stat__head{justify-content:center;width:100%;padding-inline:18px}.ui-stat--mini .ui-stat__head .ui-iconbadge{display:none}.ui-stat--mini .ui-stat__edit{width:20px;height:20px;position:absolute;top:4px;right:4px}.ui-stat--mini .ui-stat__edit svg{width:12px;height:12px}.ui-stat--mini .ui-stat__title{flex:0 auto}.ui-stat--mini .ui-stat__figure{gap:var(--space-2);flex-direction:column;margin-top:0}.ui-stat--mini .ui-stat__text{align-items:center}.ui-stat--mini .ui-stat__value{font-size:var(--fs-md)}.ui-stat--mini .ui-stat__sub,.ui-stat--mini .ui-legend:not(.ui-legend--dense){display:none}.ui-dishimg{object-fit:cover;width:100%;height:100%;display:block}.ui-dishimg--empty{color:inherit;justify-content:center;align-items:center;display:flex}.ui-rcard{background:var(--clr-surface);border:1px solid var(--clr-border-strong);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-card);transition:border-color var(--t), box-shadow var(--t), opacity var(--t);position:relative;overflow:hidden;container-type:inline-size}.ui-rcard__inner{flex-direction:column;min-width:0;height:100%;display:flex}.ui-rcard__media{aspect-ratio:var(--dish-ratio);background:var(--clr-primary-soft);width:100%;color:var(--clr-primary);flex:none;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.ui-rcard__media>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ui-rcard__badge{top:var(--space-2);left:var(--space-2);z-index:var(--z-raised);max-width:calc(100% - 16px);position:absolute}.ui-rcard__body{gap:var(--space-2);min-width:0;padding:var(--space-3) var(--space-4) var(--space-4);flex-direction:column;flex:1;display:flex}.ui-rcard__body>*{min-width:0}.ui-rcard__top{align-items:flex-start;gap:var(--space-2);display:flex}.ui-rcard__heading{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.ui-rcard__eyebrow{text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.ui-rcard__title{font-size:var(--fs-md);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin:0;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.ui-rcard__open{text-align:left;font:inherit;color:inherit;border-radius:var(--radius-xs);padding:0}.ui-rcard__open:after{content:"";z-index:0;border-radius:inherit;position:absolute;inset:0}.ui-rcard__open:focus-visible{outline:none}.ui-rcard:has(.ui-rcard__open:focus-visible){outline:2px solid var(--clr-primary);outline-offset:2px}.ui-rcard__actions,.ui-rcard__extra,.ui-rcard__footer{z-index:var(--z-raised);position:relative}.ui-rcard__actions{flex:none;align-items:center;gap:2px;margin-top:-4px;display:flex}.ui-rcard__grip{color:var(--clr-muted);cursor:grab;padding:4px 2px;display:none}@media (hover:hover) and (pointer:fine){.ui-rcard:hover .ui-rcard__grip,.ui-rcard:focus-within .ui-rcard__grip{display:inline-flex}.ui-rcard--action:hover{border-color:var(--clr-primary);box-shadow:var(--shadow-hover)}}.ui-rcard__extra{gap:var(--space-2);flex-direction:column;display:flex}.ui-rcard__meta{margin-top:auto}.ui-rcard__body:has(>.ui-rcard__footer)>.ui-rcard__meta{margin-top:0}.ui-rcard__footer{justify-content:space-between;align-items:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--clr-border);flex-wrap:wrap;margin-top:auto;display:flex}.ui-rcard--premium{border-color:var(--clr-premium-soft)}.ui-rcard--muted{opacity:.62;background:var(--clr-bg)}.ui-rcard--dashed{box-shadow:none;background:var(--clr-bg);border-style:dashed}.ui-rcard.is-drag-over{border-color:var(--clr-primary);box-shadow:var(--ring-focus)}.ui-rcard--skeleton{box-shadow:none}.ui-rcard__skelimg{border-radius:0;width:100%;height:100%}@container (width<=340px){.ui-rcard__body .ui-meta{column-gap:var(--space-2)}}@container (width>=460px){.ui-rcard__inner{flex-direction:row}.ui-rcard__media{width:184px;margin:var(--space-3) 0 var(--space-3) var(--space-3);border-radius:var(--radius-md);align-self:flex-start}.ui-rcard__body{padding:var(--space-3) var(--space-4)}}.ui-rrow{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-2);border-radius:var(--radius-md);transition:background var(--t);display:flex;position:relative}.ui-rrow:hover{background:var(--clr-primary-soft)}.ui-rrow--dashed{border:1.5px dashed var(--clr-border-strong);background:var(--clr-bg)}.ui-rrow__thumb{height:48px;aspect-ratio:var(--dish-ratio);border-radius:var(--radius-sm);background:var(--clr-primary-soft);color:var(--clr-primary);flex:none;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.ui-rrow__thumb img{object-fit:cover;width:100%;height:100%}.ui-rrow__main{text-align:left;flex-direction:column;flex:1;gap:4px;min-width:0;padding:2px 0;display:flex}.ui-rrow__main:after{content:"";border-radius:inherit;position:absolute;inset:0}.ui-rrow__main:focus-visible{outline:none}.ui-rrow:has(.ui-rrow__main:focus-visible){outline:2px solid var(--clr-primary);outline-offset:-2px}.ui-rrow__title{align-items:center;gap:var(--space-2);min-width:0;display:flex;container:rrow-title/inline-size}.ui-rrow__name{text-overflow:ellipsis;white-space:nowrap;min-width:6ch;font-weight:700;font-size:var(--fs-base);flex:0 auto;overflow:hidden}.ui-rrow__chip{flex:0 1000 auto;min-width:0;max-width:45%}@container rrow-title (width<=240px){.ui-rrow__chip{display:none}}.ui-rrow__meta{min-width:0;color:var(--clr-muted-strong);font-size:var(--fs-xs);display:block}.ui-rrow__aside{z-index:var(--z-raised);flex:none;position:relative}.ui-infotip{vertical-align:middle}.ui-infotip__btn{color:var(--clr-muted)}.ui-infotip__text{font-size:var(--fs-sm);line-height:var(--lh-base);color:var(--clr-muted-strong);margin:0}.ui-disclosure{min-width:0}.ui-disclosure__summary{align-items:center;gap:var(--space-2);min-height:var(--control-md);padding:0 var(--space-2);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--fs-sm);color:var(--clr-muted-strong);list-style:none;display:flex}.ui-disclosure__summary::-webkit-details-marker{display:none}.ui-disclosure__summary:hover{background:var(--clr-primary-soft);color:var(--clr-ink)}.ui-disclosure__label{flex:0 auto;min-width:0}.ui-disclosure__chevron{transition:transform var(--t) var(--ease);flex:none;transform:rotate(-90deg)}.ui-disclosure[open]>.ui-disclosure__summary .ui-disclosure__chevron{transform:none}.ui-disclosure__body{padding-top:var(--space-2)}.ui-disclosure:not([open])>.ui-disclosure__body{display:none}.ui-note{font-size:var(--fs-xs);line-height:var(--lh-base);color:var(--clr-muted);margin:0}.ui-note--soft{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--clr-bg)}.ui-note--caution{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--clr-premium-soft);color:var(--clr-premium-ink)}.ui-crop__frame{touch-action:none;cursor:grab;border-radius:var(--radius-md);background:var(--clr-track);-webkit-user-select:none;user-select:none;width:100%;position:relative;overflow:hidden}.ui-crop__frame:active{cursor:grabbing}.ui-crop__frame:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}.ui-crop__img{pointer-events:none;max-width:none;position:absolute;top:50%;left:50%}.ui-crop__mask{pointer-events:none;outline-offset:-2px;border-radius:50%;outline:2px solid #ffffffd9;position:absolute;inset:0;box-shadow:0 0 0 999px #241a1080}.ui-crop__zoom{align-items:center;gap:var(--space-2);margin-top:var(--space-3);display:flex}.ui-crop__range{min-width:0;accent-color:var(--clr-primary);flex:1}.ui-crop__error{margin:var(--space-2) 0 0;font-size:var(--fs-sm);color:var(--clr-warn);font-weight:600}.webimg__body{min-height:min(480px,70vh)}.webimg__search{top:calc(-1 * var(--space-4));z-index:1;padding:var(--space-1) 0 var(--space-3);background:var(--clr-surface);position:sticky}.webimg__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin:0;padding:0;list-style:none;display:grid}.webimg__tile{aspect-ratio:1;cursor:pointer;border-radius:var(--radius-md);background:var(--clr-track);width:100%;transition:transform var(--t), box-shadow var(--t), opacity var(--t);border:0;padding:0;display:block;position:relative;overflow:hidden}.webimg__tile img{object-fit:cover;width:100%;height:100%;display:block}.webimg__tile:hover:not(:disabled){box-shadow:var(--shadow-md,0 4px 14px #0000001f);transform:scale(1.02)}.webimg__tile:focus-visible{box-shadow:var(--ring-focus);outline:none}.webimg__tile:disabled{opacity:.45;cursor:default}.webimg__tile.is-taking{box-shadow:0 0 0 3px var(--clr-primary)}.webimg__spinner{color:#fff;background:#00000059;place-items:center;display:grid;position:absolute;inset:0}.webimg__spinner svg{animation:1s linear infinite ui-spin}.webimg__cap{text-align:left;color:#fff;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:linear-gradient(#0000,#0000009e);padding:14px 6px 4px;font-size:10px;line-height:1.25;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.webimg__skeleton{aspect-ratio:1;border-radius:var(--radius-md);width:100%;height:auto}.webimg__note{align-items:center;gap:var(--space-2);margin:var(--space-6) 0;text-align:center;font-size:var(--fs-sm);color:var(--clr-muted);justify-content:center;display:flex}.webimg__more{padding:var(--space-4) 0 var(--space-2);justify-content:center;display:flex}.webimg__credit{font-size:var(--fs-xs);color:var(--clr-muted);margin:0 auto 0 0}.webimg__credit a{color:inherit}:where(:root[data-layout=mobile]) .webimg__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.author-badge{border-radius:var(--radius-pill);min-width:0;max-width:100%;font:inherit;font-size:var(--fs-xs);color:var(--clr-muted-strong);background:0 0;border:0;align-items:center;gap:6px;padding:2px 8px 2px 2px;font-weight:600;display:inline-flex}.author-badge--md{font-size:var(--fs-sm);gap:8px}.author-badge__name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.author-badge__lock{color:var(--clr-muted);flex:none}.author-badge--link{cursor:pointer;transition:background-color .15s,color .15s}.author-badge--link:hover{background:var(--clr-primary-soft);color:var(--clr-ink)}.author-badge--link:focus-visible{outline:2px solid var(--clr-primary);outline-offset:1px}}@layer shell{.app-header{z-index:var(--z-sticky);padding-top:var(--safe-t);background:var(--clr-bg);position:relative}.app-header__inner{max-width:var(--maxw);padding:12px var(--gutter);align-items:center;gap:var(--space-4);transition:padding var(--t) var(--ease);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);margin-inline:auto;display:grid}.app-header__inner>*{min-width:0}.app-header__home{max-width:100%;min-height:var(--control-lg);border-radius:var(--radius-sm);justify-self:start;align-items:center;margin-left:-6px;padding:0 6px;display:inline-flex}.app-header__home .app-header__logo{font-size:var(--fs-logo-header);padding:0 0 .12em;line-height:1}.app-nav{justify-self:center;min-width:0;max-width:100%;display:flex}.app-nav .ui-seg__icon{display:none}.app-header__actions{justify-self:end;align-items:center;gap:var(--space-2);min-width:0;max-width:100%;display:flex}.app-header__chat{flex:none;display:inline-flex}.header-btn{max-width:100%;height:var(--control-lg);font-size:var(--fs-base);color:var(--clr-ink);transition:border-color var(--t), background var(--t);flex:none;align-items:center;gap:10px;padding:3px 18px 3px 3px;font-weight:600;display:inline-flex}.header-btn:hover:not(:disabled){border-color:var(--clr-primary)}.header-btn:disabled{opacity:.55;cursor:default}.header-btn__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:12ch;overflow:hidden}.profile-btn{flex:0 auto;min-width:0}.chat-launcher{padding-left:10px}.chat-launcher>svg{flex:none}.chat-launcher.is-open{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary-ink)}.planner-switch__btn{gap:8px;padding:3px 14px 3px 12px}.planner-switch__btn>svg{flex:none}.planner-switch__btn .header-btn__label{max-width:18ch}.planner-switch__chevron{color:var(--clr-muted-strong)}.planner-switch__btn.is-open{background:var(--clr-primary-soft);border-color:var(--clr-primary);color:var(--clr-primary-ink)}.view-only-tag{border:1px solid var(--clr-border);border-radius:var(--radius-pill);background:var(--clr-bg);height:32px;color:var(--clr-muted-strong);font-size:var(--fs-xs);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex;position:relative}.view-only-tag:hover{border-color:var(--clr-border-strong)}@media (width<=1023px){.view-only-tag{width:32px;padding:0}.view-only-tag__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:clip}}:where(:root[data-layout=mobile]) .app-header__actions:has(.view-only-tag){position:relative}:where(:root[data-layout=mobile]) .view-only-tag{z-index:1;background:var(--clr-surface);width:22px;height:22px;box-shadow:var(--shadow-card);padding:0;position:absolute;bottom:-2px;right:-2px}:where(:root[data-layout=mobile]) .view-only-tag svg{width:13px;height:13px}:where(:root[data-layout=mobile]) .view-only-tag__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:clip}@media (width<=1023px){.header-btn{justify-content:center;height:46px;padding:2px}.chat-launcher,.planner-switch__btn{width:46px;padding:0}.planner-switch__chevron{display:none}.header-btn__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:clip}}:where(:root[data-layout=mobile]) .app-header__inner{padding:8px var(--gutter);gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto}:where(:root[data-layout=mobile]) .app-header__actions{gap:var(--space-1)}:where(:root[data-layout=mobile]) .header-btn{width:44px;height:44px;box-shadow:none;background:0 0;border-color:#0000;justify-content:center;padding:0}:where(:root[data-layout=mobile]) .profile-btn .ui-avatar{--av:38px}:where(:root[data-layout=mobile]) .planner-switch__chevron{display:none}:where(:root[data-layout=mobile]) .chat-launcher{gap:var(--space-2);border-color:var(--clr-border);background:var(--clr-surface);width:auto;height:44px;font-size:var(--fs-sm);padding:2px 14px 2px 8px}:where(:root[data-layout=mobile]) .chat-launcher.is-open{background:var(--clr-primary-soft);border-color:var(--clr-primary)}:where(:root[data-layout=mobile]) .chat-launcher .header-btn__label{clip-path:none;width:auto;height:auto;margin:0;position:static;overflow:hidden}:where(:root[data-layout=mobile]) .app-header__actions:has(.planner-switch) .chat-launcher{width:44px;padding:0}:where(:root[data-layout=mobile]) .app-header__actions:has(.planner-switch) .chat-launcher .header-btn__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:clip}:where(:root[data-layout=mobile]) .app-nav{z-index:var(--z-tabbar);width:auto;max-width:none;padding-bottom:var(--safe-b);background:var(--clr-surface);border-top:1px solid var(--clr-border);box-shadow:var(--shadow-bar);justify-self:stretch;position:fixed;bottom:0;left:0;right:0}:where(:root[data-layout=mobile]) .app-nav .ui-seg{width:100%;height:var(--tabbar-h);box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:0;display:grid}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt{height:100%;min-height:0;font-size:var(--fs-tab);color:var(--clr-muted);border-radius:0;flex-direction:column;justify-content:center;gap:4px;padding:6px 2px;font-weight:700}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt:before{content:"";border-radius:0 0 var(--radius-xs) var(--radius-xs);background:0 0;height:3px;position:absolute;top:0;left:28%;right:28%}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt:hover:not(.is-active){color:var(--clr-ink);background:0 0}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt.is-active{color:var(--clr-primary-ink);background:0 0}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt.is-active:before{background:var(--clr-primary)}:where(:root[data-layout=mobile]) .app-nav .ui-seg__icon{width:22px;height:22px;display:block}:where(:root[data-layout=mobile]) .app-nav .ui-seg__label{max-width:100%}@media (orientation:landscape) and (height<=500px){:root[data-layout=mobile]{--tabbar-h:48px;--header-h:52px}:where(:root[data-layout=mobile]) .app-header__inner{padding-block:4px}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt{flex-direction:row;gap:8px}:where(:root[data-layout=mobile]) .app-nav .ui-seg__opt:before{left:36%;right:36%}}@media (width<=359px){.chat-launcher{width:44px;padding:0}.chat-launcher .header-btn__label{display:none}}.logo{font-family:var(--font-logo);font-weight:400;font-size:var(--fs-logo-md);white-space:nowrap;align-items:center;padding-bottom:.08em;line-height:1;display:inline-flex}.logo--sm{font-size:var(--fs-logo-sm)}.logo--lg{font-size:var(--fs-logo-lg)}.logo--brand{color:var(--clr-primary)}.logo--light{color:var(--clr-surface)}.buddy-logo{color:var(--clr-ink);flex:none}.buddy-logo[data-tone=brand]{color:var(--clr-primary)}.weektabs{align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.weeknav{align-items:center;gap:2px;width:22rem;min-width:0;max-width:100%;padding:3px;display:inline-flex;position:relative}.weeknav__step{color:var(--clr-muted-strong)}.weeknav__anchor{flex:1;min-width:0}.weeknav__label{min-width:0;min-height:var(--control-md);border-radius:var(--radius-pill);color:var(--clr-ink);cursor:pointer;transition:background var(--t), box-shadow var(--t);flex:1;justify-content:center;align-items:center;padding:0 14px;display:inline-flex}.weeknav__label:hover{background:var(--clr-primary-soft)}.weeknav__label[aria-expanded=true]{background:var(--clr-primary-soft);box-shadow:inset 0 0 0 1px var(--clr-border-strong)}.weeknav__label:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px}.weeknav__span{text-align:center;flex-direction:column;align-items:center;min-width:0;line-height:1.2;display:inline-flex}.weeknav__span b{text-overflow:ellipsis;max-width:100%;font-size:var(--fs-sm);white-space:nowrap;font-weight:700;overflow:hidden}.weeknav__span small{font-size:var(--fs-xs);color:var(--clr-muted);white-space:nowrap;font-weight:600}.weeknav__span small.is-current{color:var(--clr-primary-ink)}:where(:root[data-layout=mobile]) .weektabs,:where(:root[data-layout=mobile]) .weeknav{width:100%}.wcal{gap:var(--space-2);flex-direction:column;display:flex}.wcal__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.wcal__month{text-align:center;font-weight:700;font-size:var(--fs-sm);color:var(--clr-ink);flex:1}.wcal__grid{grid-template-columns:repeat(7,minmax(0,1fr)) 10px;align-items:center;display:grid}.wcal__dow{font-size:var(--fs-2xs);color:var(--clr-muted);text-align:center;text-transform:uppercase;padding:0 8px;font-weight:700}.wcal__weeks{flex-direction:column;gap:2px;display:flex}.wcal__week{border-radius:var(--radius-pill);width:100%;min-height:36px;font:inherit;font-size:var(--fs-sm);color:var(--clr-ink);cursor:pointer;transition:background var(--t), color var(--t);background:0 0;padding:0 8px}.wcal__week:hover:not(:disabled){background:var(--clr-primary-soft)}.wcal__week:focus-visible{outline:2px solid var(--clr-primary);outline-offset:1px}.wcal__week:disabled{cursor:default;color:var(--clr-neutral)}.wcal__week.is-current:not(.is-selected){box-shadow:inset 0 0 0 1px var(--clr-border-strong)}.wcal__week.is-selected{background:var(--clr-action);color:var(--clr-on-action);font-weight:700}.wcal__day{font-variant-numeric:tabular-nums;border-radius:50%;justify-self:center;place-items:center;width:28px;height:28px;display:inline-grid}.wcal__day.is-out{color:var(--clr-muted)}.wcal__week:disabled .wcal__day.is-out{color:var(--clr-neutral)}.wcal__week.is-selected .wcal__day.is-out{color:inherit;opacity:.75}.wcal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--clr-primary);font-weight:700}.wcal__week.is-selected .wcal__day.is-today{box-shadow:inset 0 0 0 1.5px var(--clr-on-action)}.wcal__dot{background:0 0;border-radius:50%;justify-self:end;width:6px;height:6px}.wcal__dot.is-on{background:var(--clr-primary)}.wcal__week.is-selected .wcal__dot.is-on{background:var(--clr-on-action)}.wcal__today{margin-top:var(--space-1)}.statsrow{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}:where(:root[data-layout=mobile]) .statsrow{gap:var(--space-2)}.shell-loading{gap:var(--space-2);padding:var(--space-5);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.section-layer.is-covered{display:none}[data-view-title]:focus{outline:none}.chat.ui-dialog--dock{--dock-top:var(--app-header-bottom,var(--header-h));--dock-w:var(--chat-dock-w)}.chat.ui-dialog--drawer{--dialog-w:420px}.chat .ui-dialog__head{padding-bottom:var(--space-4);border-bottom:1px solid var(--clr-border)}.chat__body{padding-top:var(--space-4);padding-bottom:var(--space-4);flex-direction:column;display:flex}.chat__content{outline:none;flex-direction:column;flex:1 0 auto;min-height:0;display:flex}.chat__log{flex-direction:column;gap:10px;margin-top:auto;display:flex}.chat__msg{max-width:88%;display:flex}.chat__msg--user{align-self:flex-end}.chat__text{border-radius:var(--radius-lg);font-size:var(--fs-base);white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 14px;line-height:1.5}.chat__msg--bot .chat__text{background:var(--clr-primary-soft);border-bottom-left-radius:var(--radius-xs)}.chat__msg--user .chat__text{background:var(--clr-action);color:var(--clr-on-action);border-bottom-right-radius:var(--radius-xs)}.chat__msg--action{width:100%;max-width:94%}.chat-action{align-items:flex-start;gap:var(--space-3);width:100%;padding:var(--space-3);background:var(--clr-surface);border:1px solid var(--clr-border-strong);border-left:3px solid var(--clr-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-card);display:flex}.chat-action.is-undone{border-left-color:var(--clr-neutral);box-shadow:none;background:var(--clr-bg)}.chat-action__icon{background:var(--clr-primary-soft);width:2rem;height:2rem;color:var(--clr-primary);border-radius:50%;flex:none;place-items:center;display:inline-grid}.chat-action.is-undone .chat-action__icon{background:var(--clr-track);color:var(--clr-muted)}.chat-action__body{gap:var(--space-2);flex-direction:column;flex:1;min-width:0;display:flex}.chat-action__label{font-size:var(--fs-sm);color:var(--clr-ink);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.4}.chat-action.is-undone .chat-action__label{color:var(--clr-muted);font-weight:500;text-decoration:line-through}.chat-action__buttons{gap:var(--space-2);flex-wrap:wrap;display:flex}.chat-action__note{font-size:var(--fs-sm);color:var(--clr-muted);align-items:center;gap:4px;margin:0;display:inline-flex}.chat-action__note--done{color:var(--clr-success);font-weight:600}.chat__typing{gap:5px;padding:13px 14px;display:inline-flex}.chat__typing i{background:var(--clr-primary);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1.1s infinite shell-blink}.chat__typing i:nth-child(2){animation-delay:.18s}.chat__typing i:nth-child(3){animation-delay:.36s}@keyframes shell-blink{0%,to{opacity:.25;transform:translateY(0)}45%{opacity:1;transform:translateY(-3px)}}.chat__intro{align-items:flex-start;gap:var(--space-3);flex-direction:column;margin-block:auto;display:flex}.chat__mascot{color:var(--clr-primary);flex:none}.chat__welcome{background:var(--clr-primary-soft);border-radius:var(--radius-lg);border-bottom-left-radius:var(--radius-xs);max-width:92%;font-size:var(--fs-base);line-height:var(--lh-base);color:var(--clr-ink);margin:0;padding:10px 14px}.chat__chips{align-items:flex-start;gap:var(--space-2);flex-direction:column;max-width:100%;display:flex}.chat__chip{white-space:normal;text-align:left;max-width:100%;height:auto;font-size:var(--fs-sm);padding-block:8px}.chat__chip .ui-chip__label{white-space:normal}.chat .ui-dialog__foot{padding-top:var(--space-3);padding-bottom:var(--space-4)}.chat__row{align-items:center;gap:var(--space-2);border:1px solid var(--clr-border-strong);border-radius:var(--radius-pill);background:var(--clr-bg);min-width:0;transition:border-color var(--t), box-shadow var(--t);flex:1;padding:4px 4px 4px 16px;display:flex}.chat__row:focus-within{border-color:var(--clr-primary);box-shadow:var(--ring-focus)}.chat__input{min-width:0;font-size:var(--fs-input);color:var(--clr-ink);background:0 0;border:0;flex:1;padding:8px 0}.chat__input::placeholder{color:var(--clr-muted)}.chat__input:focus{outline:none}html.has-chat-dock .app main.page{margin-right:var(--chat-dock-w)}html.has-chat-dock .ui-toast-region{left:calc((100vw - var(--chat-dock-w)) / 2)}.browse-more{justify-content:center;padding:28px 0 8px;display:flex}:root{--skel-delay:.18s}.ui-skel,.ui-avatar.is-skeleton,.ui-rcard--skeleton,.ui-skelgroup{animation-name:ui-skel-in,ui-shimmer;animation-duration:.25s,1.4s;animation-timing-function:var(--ease), ease;animation-delay:var(--skel-delay), var(--skel-delay);animation-iteration-count:1,infinite;animation-fill-mode:both,none}.ui-avatar.is-skeleton{animation-name:ui-skel-in,ui-pulse}.ui-rcard--skeleton,.ui-skelgroup{animation-name:ui-skel-in;animation-duration:.25s;animation-iteration-count:1}.ui-skelgroup .ui-skel,.ui-rcard--skeleton .ui-skel{animation-name:ui-shimmer;animation-duration:1.4s;animation-iteration-count:infinite;animation-fill-mode:none}@keyframes ui-skel-in{0%{opacity:0}to{opacity:1}}.ui-skelgroup{min-width:0;display:block}.ui-skeltext{min-width:0}.ui-skelrows{gap:var(--space-2);flex-direction:column;display:flex}.ui-skelrow{align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);display:flex}.ui-skelrow__thumb{border-radius:var(--radius-md);flex:none;width:48px;height:48px}.ui-skelrow__check{flex:none;width:1.4rem;height:1.4rem}.ui-skelrow__body{flex:auto;min-width:0}.ui-skelrow__trail{flex:none;width:3.5rem}.ui-skelstats{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));display:grid}.ui-skelstat{padding:var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg)}.ui-skelstat__value{height:1.8rem;margin:var(--space-2) 0}.ui-skelstat__bar{border-radius:999px;height:.5rem}.ui-skelpage{gap:var(--space-5);padding:var(--space-6) 0;flex-direction:column;min-width:0;display:flex}.ui-skelpage__head{gap:var(--space-1);flex-direction:column;display:flex}.ui-skelpage__title{height:1.8rem}.ui-skelpage__days{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(min(100%,150px),1fr));display:grid}.ui-skelday{gap:var(--space-2);padding:var(--space-3);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.ui-skelday__meal{height:4.5rem}.ui-skelpage__cards{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));display:grid}.ui-skelcard{gap:var(--space-1);padding-bottom:var(--space-3);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;display:flex;overflow:hidden}.ui-skelcard>.ui-skel:not(.ui-skelcard__img){margin-left:var(--space-3)}.ui-skelcard__img{height:8.5rem;margin-bottom:var(--space-2);border-radius:0}.ui-skelpage__profile{align-items:center;gap:var(--space-4);min-width:0;display:flex}.ui-skelpage__avatar{width:72px;height:72px}.ui-skelpage__who{flex:auto;min-width:0}.app-loading{min-height:100dvh;padding:0 var(--gutter);max-width:1280px;margin:0 auto}.app-loading__bar{align-items:center;gap:var(--space-4);height:var(--header-h);display:flex}.app-loading__logo{width:9rem;height:1.6rem;margin:0}.app-loading__tabs{gap:var(--space-3);margin-left:auto;display:flex}.app-loading__tabs .ui-skel{width:5rem;margin:0}:where(:root[data-layout=mobile]) .app-loading__tabs{display:none}.ui-netbar-region{z-index:var(--z-toast);left:50%;top:calc(var(--safe-t) + var(--header-h) + var(--space-2));pointer-events:none;justify-content:center;width:min(560px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.ui-netbar{pointer-events:auto;align-items:center;gap:var(--space-2) var(--space-3);max-width:100%;padding:var(--space-2) var(--space-3);background:var(--clr-surface);color:var(--clr-ink);border:1px solid var(--clr-border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-menu);animation:ui-netbar-in .2s var(--ease) both;flex-wrap:wrap;display:flex}.ui-netbar--down{border-color:color-mix(in srgb, var(--clr-warn) 35%, var(--clr-border-strong))}.ui-netbar__icon{background:var(--clr-warn-soft);width:1.75rem;height:1.75rem;color:var(--clr-warn);border-radius:50%;flex:none;place-items:center;display:inline-grid}.ui-netbar--back .ui-netbar__icon{background:var(--clr-success-soft);color:var(--clr-success)}.ui-netbar__text{min-width:0;font-size:var(--fs-sm);overflow-wrap:anywhere;flex-direction:column;flex:14rem;margin:0;line-height:1.35;display:flex}.ui-netbar__text strong{font-weight:700}.ui-netbar__text span{color:var(--clr-muted)}.ui-netbar--back .ui-netbar__text{flex:0 auto}.ui-netbar__retry{color:var(--clr-primary-ink);margin-left:auto}html.has-chat-dock .ui-netbar-region{left:calc((100vw - var(--chat-dock-w)) / 2)}@keyframes ui-netbar-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.ui-loadscreen{min-height:100dvh;animation:ui-skel-in .25s var(--ease) var(--skel-delay) both;place-items:center;display:grid}.ui-loadscreen__spinner{border:3px solid var(--clr-primary-soft);border-top-color:var(--clr-primary);border-radius:50%;width:2.25rem;height:2.25rem;animation:.8s linear infinite ui-spin}.ui-toast--error .ui-toast__icon{background:var(--clr-warn-soft);color:var(--clr-warn)}}:where(:root[data-layout=mobile]) :is(.meal-card,.book-grid .ui-rcard,.browse-grid .ui-rcard) .ui-rcard__inner{flex-direction:row}:where(:root[data-layout=mobile]) :is(.meal-card,.book-grid .ui-rcard,.browse-grid .ui-rcard) .ui-rcard__media{width:104px;max-height:none;margin:var(--space-3) 0 var(--space-3) var(--space-3);border-radius:var(--radius-md);align-self:flex-start}:where(:root[data-layout=mobile]) :is(.meal-card,.book-grid .ui-rcard,.browse-grid .ui-rcard) .ui-rcard__body{padding:var(--space-3);gap:var(--space-1)}.auth{flex-direction:column;display:flex;overflow-x:clip}.auth a:not(.ui-btn){color:var(--clr-primary-ink);text-underline-offset:3px}.auth-header{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;max-width:var(--maxw);min-height:var(--header-h);padding:calc(var(--space-2) + var(--safe-t)) var(--gutter) var(--space-2);margin-inline:auto;display:flex}.auth .auth-header__brand{align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}.auth-header__actions{align-items:center;gap:var(--space-2);display:flex}.lang-pick{border:1px solid var(--clr-border-strong);border-radius:var(--radius-pill);background:var(--clr-surface);min-height:40px;font-size:var(--fs-sm);color:var(--clr-ink);white-space:nowrap;transition:border-color var(--t), box-shadow var(--t);align-items:center;gap:6px;padding:0 12px;font-weight:600;display:inline-flex;position:relative}.lang-pick:hover{border-color:var(--clr-primary)}.lang-pick:focus-within{border-color:var(--clr-primary);box-shadow:var(--ring-focus)}.lang-pick__icon{color:var(--clr-primary)}.lang-pick__chevron{color:var(--clr-muted)}.lang-pick__short{display:none}.lang-pick__select{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;font-size:16px;position:absolute;inset:0}@media (pointer:coarse){.lang-pick{min-height:44px}}.auth-main{width:100%;max-width:var(--maxw);padding:0 var(--gutter) var(--space-8);flex:1 0 auto;margin-inline:auto}.auth-footer{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-5);width:100%;max-width:var(--maxw);padding:var(--space-5) var(--gutter) calc(var(--space-5) + var(--safe-b));border-top:1px solid var(--clr-border);font-size:var(--fs-sm);color:var(--clr-muted);flex-wrap:wrap;margin-inline:auto;display:flex}.auth-footer__links{gap:var(--space-2) var(--space-5);flex-wrap:wrap;display:flex}.auth .auth-footer__links a{color:var(--clr-muted-strong);text-decoration:none}.auth .auth-footer__links a:hover{color:var(--clr-primary-ink);text-decoration:underline}.landing{gap:clamp(var(--space-8), 8vw, 96px);flex-direction:column;display:flex}.landing-hero{align-items:center;gap:clamp(var(--space-6), 4vw, 56px);padding-top:clamp(var(--space-5), 5vw, 64px);grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);display:grid}.landing-hero__text{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.landing-hero__title{margin:0;font-size:clamp(2.1rem,4.4vw,3.5rem);line-height:1.08}.landing-hero__lead{max-width:40rem;font-size:var(--fs-md);color:var(--clr-muted-strong);margin:0}.landing-hero__cta{gap:var(--space-3);margin-top:var(--space-2);flex-wrap:wrap;display:flex}.landing-hero__points{gap:var(--space-2) var(--space-5);font-size:var(--fs-sm);color:var(--clr-muted-strong);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.landing-hero__points li{align-items:center;gap:6px;display:inline-flex}.landing-hero__points svg{color:var(--clr-success)}.landing-demo{gap:var(--space-3);min-width:0;padding:var(--space-4);background:var(--clr-bg);border:1px solid var(--clr-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-pop);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.landing-demo--loading:after{content:"";aspect-ratio:6/5;border-radius:var(--radius-lg);background:var(--clr-surface);margin-top:44px;display:block}:where(:root[data-layout=mobile]) .landing-demo--loading:after{aspect-ratio:36/60}.landing-demo__head{gap:var(--space-2);flex-direction:column;display:flex}.landing-demo__progress{gap:6px;display:flex}.landing-demo__seg{border-radius:var(--radius-pill);background:var(--clr-primary-soft);flex:1;height:4px;position:relative;overflow:hidden}.landing-demo__seg.is-done{background:var(--clr-primary)}.landing-demo__fill{border-radius:inherit;background:var(--clr-primary);transform-origin:0;animation:linear both landingDemoProgress;position:absolute;inset:0}@keyframes landingDemoProgress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.landing-demo__caption{align-items:center;gap:var(--space-2);min-height:28px;font-size:var(--fs-md);color:var(--clr-ink);animation:landingDemoIn .35s var(--ease) both;margin:0;font-weight:700;display:flex}.landing-demo__caption svg{color:var(--clr-primary);flex:none}.landing-demo__count{font-size:var(--fs-xs);color:var(--clr-muted);margin-left:auto;font-weight:600}.landing-demo__view{border-radius:var(--radius-lg);min-width:0;position:relative;overflow:hidden}.landing-demo__screen{padding:var(--space-5) var(--space-6);background:var(--clr-bg);animation:landingDemoFade .35s var(--ease) both;overflow:hidden}.landing-demo__screen .ui-pagehead{margin-bottom:var(--space-4)}.landing-demo__screen .planner__bar{min-height:var(--control-md);margin-bottom:var(--space-4)}.landing-demo__page{gap:var(--space-4);flex-direction:column;display:flex}.landing-demo__list{--card-min:460px}.landing-demo__press{display:inline-flex;position:relative}.landing-demo__press .ui-btn{transition:transform .12s var(--ease), background var(--t)}.landing-demo__press.is-pressed .ui-btn{transform:scale(.95)}.landing-demo__pointer{z-index:var(--z-raised);pointer-events:none;color:var(--clr-ink);fill:var(--clr-surface);filter:drop-shadow(0 2px 3px #241a1040);opacity:0;transition:transform .7s var(--ease), opacity .25s var(--ease);position:absolute;bottom:-16px;right:22%;transform:translate(110px,80px)}.landing-demo__pointer.is-on{opacity:1;transform:none}.landing-demo__in{animation:landingDemoIn .4s var(--ease) both;animation-delay:var(--demo-delay,0s)}.landing-demo__chat{gap:var(--space-4);padding:var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.landing-demo__chathead{padding-bottom:var(--space-3);border-bottom:1px solid var(--clr-border)}.landing-demo__chat .chat__log{justify-content:flex-end;min-height:150px}.landing-demo__placeholder{color:var(--clr-muted)}.landing-demo__bars{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.landing-demo__bars li{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);color:var(--clr-muted-strong);grid-template-columns:9.5rem minmax(0,1fr) 4.5rem;display:grid}.landing-demo__bars b{text-align:right;color:var(--clr-ink)}@keyframes landingDemoIn{0%{opacity:0;transform:translateY(10px)}}@keyframes landingDemoFade{0%{opacity:0}}@media (orientation:landscape) and (height<=500px){.landing-demo{justify-self:center;width:100%;max-width:600px}}.landing-demo--phone .landing-demo__view{border:1px solid var(--clr-border-strong);border-radius:var(--radius-xl);box-shadow:var(--shadow-card)}.landing-demo--phone .landing-demo__screen{padding:0}.pdemo{background:var(--clr-bg);height:100%;font-size:var(--fs-base);color:var(--clr-ink);flex-direction:column;display:flex;position:relative}.pdemo__status{flex:none;justify-content:space-between;align-items:center;height:34px;padding:8px 22px 0;font-size:.85rem;font-weight:700;display:flex}.pdemo__status-icons{align-items:center;gap:5px;display:inline-flex}.pdemo__appbar{align-items:center;gap:var(--space-2);min-height:56px;padding:4px var(--space-4);flex:none;display:flex}.pdemo__appbar:has(.pdemo__barbtn:first-child){padding-left:var(--space-2)}.pdemo__title{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-family:var(--font-display);flex:1;margin:0;font-size:1.6rem;font-weight:600;line-height:1.15;overflow:hidden}.pdemo__barbtn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--clr-ink);flex:none;place-items:center;display:inline-grid}.pdemo__barbtn--soft{background:var(--clr-primary-soft);color:var(--clr-primary-ink)}.pdemo__body{gap:var(--space-3);min-height:0;padding:var(--space-2) var(--space-4) var(--space-4);flex-direction:column;flex:1;display:flex;overflow:hidden}.pdemo__tabs{background:var(--clr-surface);border-top:1px solid var(--clr-border);height:64px;box-shadow:var(--shadow-bar);flex:none;grid-template-columns:repeat(4,minmax(0,1fr));padding-bottom:6px;display:grid}.pdemo__tab{color:var(--clr-muted);flex-direction:column;justify-content:center;align-items:center;gap:4px;font-size:.72rem;font-weight:700;display:flex;position:relative}.pdemo__tab.is-active{color:var(--clr-primary-ink)}.pdemo__tab.is-active:before{content:"";border-radius:0 0 var(--radius-xs) var(--radius-xs);background:var(--clr-primary);height:3px;position:absolute;top:0;left:28%;right:28%}.pdemo__fab{right:var(--space-4);border-radius:var(--radius-lg);background:var(--clr-primary);color:#fff;width:56px;height:56px;box-shadow:var(--shadow-hover);place-items:center;display:grid;position:absolute;bottom:80px}.pdemo__card{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.pdemo__cardtitle{margin:0 0 var(--space-1);font-size:var(--fs-md);font-weight:700}.pdemo__week{min-height:48px;padding:0 var(--space-3);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-pill);color:var(--clr-ink);justify-content:space-between;align-items:center;font-weight:700;display:flex}.pdemo__week svg{color:var(--clr-muted)}.pdemo__dayhead{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:32px;display:flex}.pdemo__dayname{font-family:var(--font-display);font-size:1.3rem;font-weight:600}.pdemo__dayname span{font-family:var(--font-body);font-size:var(--fs-sm);color:var(--clr-muted);font-weight:600}.pdemo__totals{color:var(--clr-muted-strong)}.pdemo__empty{padding:var(--space-4) 0;text-align:center;color:var(--clr-muted);margin:0}.pdemo__row{align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-2) 0;display:flex}.pdemo__row+.pdemo__row{border-top:1px solid var(--clr-border)}.pdemo__list{padding:0 var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;display:flex}.pdemo__thumb{border-radius:var(--radius-md);background:var(--clr-primary-soft);width:56px;height:56px;color:var(--clr-primary);flex:none;place-items:center;display:grid}.pdemo__rowmain{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pdemo__eyebrow{align-items:center;gap:var(--space-2);font-size:var(--fs-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--clr-primary-ink);font-weight:700;display:flex}.pdemo__eyebrow .ui-chip{letter-spacing:0;text-transform:none}.pdemo__rowtitle{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:700;overflow:hidden}.pdemo__sub{text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm);color:var(--clr-muted);overflow:hidden}.pdemo__chev{color:var(--clr-muted);flex:none}.pdemo__search{align-items:center;gap:var(--space-2);min-height:48px;padding:0 var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-pill);color:var(--clr-muted);display:flex}.pdemo__gsum{align-items:center;gap:var(--space-3);flex-flow:wrap}.pdemo__gbar{flex:100%}.pdemo__checklist{padding:0 var(--space-4);background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-lg);flex-direction:column;margin:0;list-style:none;display:flex}.pdemo__check{align-items:center;gap:var(--space-3);min-height:60px;display:flex}.pdemo__check+.pdemo__check{border-top:1px solid var(--clr-border)}.pdemo__check .ui-check__box{width:24px;height:24px}.pdemo__check.is-done .pdemo__rowtitle{color:var(--clr-muted);text-decoration:line-through}.pdemo__qty{color:var(--clr-muted-strong);flex:none;font-weight:700}.pdemo__chat{justify-content:flex-end;gap:var(--space-3);flex-direction:column;flex:1;display:flex}.pdemo__bubble{background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:20px 20px 20px 6px;align-self:flex-start;max-width:85%;padding:12px 16px;line-height:1.4}.pdemo__bubble--me{background:var(--clr-primary);color:#fff;border:0;border-radius:20px 20px 6px;align-self:flex-end}.pdemo__composer{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3) var(--space-4);background:var(--clr-surface);border-top:1px solid var(--clr-border);flex:none;display:flex}.pdemo__input{min-width:0;min-height:44px;padding:0 var(--space-4);border:1px solid var(--clr-border-strong);border-radius:var(--radius-pill);color:var(--clr-muted);white-space:nowrap;flex:1;align-items:center;display:flex;overflow:hidden}.pdemo__send{border-radius:var(--radius-pill);background:var(--clr-primary);color:#fff;flex:none;place-items:center;width:44px;height:44px;display:grid}.pdemo__stats .statsrow{gap:var(--space-2);margin:0}.pdemo__stats .ui-stat__head{padding-inline:0}.pdemo__bars{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pdemo__bars li{align-items:center;gap:var(--space-3);font-size:var(--fs-sm);color:var(--clr-muted-strong);grid-template-columns:6.5rem minmax(0,1fr) 3.6rem;display:grid}.pdemo__bars b{text-align:right;color:var(--clr-ink)}.pdemo__tap{display:inline-flex;position:relative}.pdemo__tap--block{display:flex}.pdemo__tap--block>.ui-btn{flex:1}.pdemo__tap .ui-btn{transition:transform .12s var(--ease), background var(--t)}.pdemo__tap.is-pressed .ui-btn{transform:scale(.97)}.pdemo__touch{pointer-events:none;opacity:0;width:44px;height:44px;transition:opacity .25s var(--ease), transform .3s var(--ease);background:#241a1038;border-radius:50%;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%;transform:scale(1.6);box-shadow:0 0 0 6px #241a1014}.pdemo__touch.is-on{opacity:1;transform:none}.pdemo__tap.is-pressed .pdemo__touch{transform:scale(.8)}.pdemo__touch--flash{animation:pdemoTap .6s var(--ease) both}@keyframes pdemoTap{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(.85)}to{opacity:0;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.landing-demo__screen,.landing-demo__in,.landing-demo__caption{animation:none}.landing-demo__pointer,.pdemo__touch{display:none}}.landing-section{gap:var(--space-6);flex-direction:column;display:flex}.landing-section__title{max-width:30ch;font-size:var(--fs-h2);margin:0}.landing-features{gap:var(--space-6) var(--space-7);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.landing-feature{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.landing-feature .ui-iconbadge{--ibd:40px}.landing-feature__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.landing-feature__title{font-size:var(--fs-md);margin:0}.landing-feature__text{color:var(--clr-muted-strong);font-size:var(--fs-base);margin:0}.landing-trust{align-items:flex-start;gap:var(--space-4);padding:clamp(var(--space-5), 4vw, var(--space-7));border-radius:var(--radius-xl);background:var(--clr-primary-soft);display:flex}.landing-trust__icon{color:var(--clr-primary-ink);flex:none}.landing-trust__title{margin:0 0 var(--space-2);font-size:var(--fs-lg)}.landing-trust__text{max-width:60rem;color:var(--clr-muted-strong);margin:0}.landing-final{align-items:center;gap:var(--space-3);text-align:center;flex-direction:column;display:flex}.landing-final__title{font-size:var(--fs-h2);margin:0}.landing-final__text{margin:0 0 var(--space-2);color:var(--clr-muted-strong)}@media (width<=1023px){.landing-hero{grid-template-columns:minmax(0,1fr)}}:where(:root[data-layout=mobile]) .landing-features{grid-template-columns:minmax(0,1fr)}:where(:root[data-layout=mobile]) .landing-demo{padding:var(--space-3)}@media (width<=480px){.landing-hero__cta .ui-btn{flex:100%}}.auth-page{flex-direction:column;justify-content:center;align-items:center;display:flex}.auth-card{gap:var(--space-4);width:100%;max-width:440px;margin:var(--space-6) 0;padding:clamp(var(--space-5), 5vw, var(--space-7));background:var(--clr-surface);border:1px solid var(--clr-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);flex-direction:column;display:flex}.auth-card--center{text-align:center;align-items:center}.auth-card--center .auth-card__actions{align-self:stretch}.auth-card__icon{background:var(--clr-primary-soft);width:56px;height:56px;color:var(--clr-primary-ink);border-radius:50%;place-items:center;display:grid}.auth-card__title{font-size:var(--fs-xl);margin:0}.auth-card__lead{margin:calc(-1 * var(--space-2)) 0 0;color:var(--clr-muted-strong);font-size:var(--fs-base)}.auth-card__role{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);background:var(--clr-primary-soft);color:var(--clr-primary-ink);font-size:var(--fs-sm);text-align:left;margin:0;font-weight:600;display:inline-flex}.auth-card__role svg{flex:none}.auth-card__note{font-size:var(--fs-sm);color:var(--clr-muted-strong);margin:0}.auth-card__actions{gap:var(--space-2);flex-direction:column;display:flex}.auth-card__switch{text-align:center;font-size:var(--fs-sm);color:var(--clr-muted-strong);margin:0}.auth-card__resend{margin-top:calc(-1 * var(--space-2))}.auth-linkbtn{font:inherit;color:var(--clr-primary-ink);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.auth-linkbtn:focus-visible{outline:2px solid var(--clr-primary);outline-offset:2px;border-radius:var(--radius-xs)}.auth-alert,.auth-note{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);font-size:var(--fs-sm);margin:0}.auth-alert{background:var(--clr-warn-soft);color:var(--clr-warn)}.auth-note{background:var(--clr-primary-soft);color:var(--clr-ink)}.auth-field-error{font-size:var(--fs-xs);color:var(--clr-warn);margin:6px 0 0}.auth-form{gap:var(--space-4);flex-direction:column;display:flex}.auth-form .ui-check__label a,.settings a{color:var(--clr-primary-ink);text-underline-offset:3px}.auth-google{gap:var(--space-4);flex-direction:column;display:flex}.auth-google[hidden]{display:none}.auth-google__button{justify-content:center;min-height:44px;display:flex}.auth-divider{align-items:center;gap:var(--space-3);font-size:var(--fs-xs);color:var(--clr-muted);text-transform:uppercase;letter-spacing:var(--tracking-overline);margin:0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--clr-border);flex:1;height:1px}.auth-pw .ui-iconbtn{margin-right:-6px}.auth-forgot{margin-top:var(--space-2);font-size:var(--fs-sm);font-weight:600;display:inline-block}:where(:root[data-layout=mobile]) .lang-pick__long{display:none}:where(:root[data-layout=mobile]) .lang-pick__short{display:inline}:where(:root[data-layout=mobile]) .auth-header{min-height:56px}:where(:root[data-layout=mobile]) .auth-header .buddy-logo{width:30px;height:30px}:where(:root[data-layout=mobile]) .auth-page{padding-bottom:var(--space-6);justify-content:flex-start;align-items:stretch}:where(:root[data-layout=mobile]) .auth-card{max-width:34rem;margin:var(--space-4) auto 0;gap:var(--space-5);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0}:where(:root[data-layout=mobile]) .auth-card__title{font-size:var(--fs-h2)}:where(:root[data-layout=mobile]) .auth-card__lead{margin-top:calc(-1 * var(--space-3))}:where(:root[data-layout=mobile]) .auth-form{gap:var(--space-5)}:where(:root[data-layout=mobile]) .auth-form .ui-btn--lg{min-height:52px}:where(:root[data-layout=mobile]) .auth-card__switch{padding-top:var(--space-2);font-size:var(--fs-base)}:where(:root[data-layout=mobile]) .auth-footer{justify-content:center;gap:var(--space-2) var(--space-4);padding-top:var(--space-4);font-size:var(--fs-xs);text-align:center}:where(:root[data-layout=mobile]) .auth-footer__links{justify-content:center;gap:var(--space-2) var(--space-4)}.auth-strength{flex-direction:column;gap:6px;margin-top:6px;display:flex}.auth-strength__text{font-size:var(--fs-xs);color:var(--clr-muted)}.auth-strength--error .auth-strength__text{color:var(--clr-warn)}.privacy__doc{max-width:46rem;margin:var(--space-5) auto 0}.privacy__title{margin:0 0 var(--space-2);font-size:var(--fs-h2)}.privacy__updated{margin:0 0 var(--space-5);font-size:var(--fs-sm);color:var(--clr-muted)}.privacy__intro{font-size:var(--fs-md)}.privacy__section{margin-top:var(--space-6)}.privacy__h{margin:0 0 var(--space-2);font-size:var(--fs-lg)}.privacy__section p,.privacy__section li{color:var(--clr-muted-strong)}.privacy__section ul{gap:var(--space-2);flex-direction:column;padding-left:1.2rem;display:flex}.acct-sec__label{margin:0;font-weight:600}.acct-sec__text{font-size:var(--fs-sm);color:var(--clr-muted-strong);margin:0}.acct-sec__form{gap:var(--space-3);max-width:26rem;padding-top:var(--space-2);flex-direction:column;display:flex}
