@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2) format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/inter-latin-500-normal-Cerq10X2.woff2) format("woff2"),url(/assets/inter-latin-500-normal-BL9OpVg8.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2) format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff) format("woff")}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/inter-latin-700-normal-Yt3aPRUw.woff2) format("woff2"),url(/assets/inter-latin-700-normal-BLAVimhd.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/manrope-latin-500-normal-BYYD-dBL.woff2) format("woff2"),url(/assets/manrope-latin-500-normal-DMZssgOp.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/manrope-latin-600-normal-4f0koTD-.woff2) format("woff2"),url(/assets/manrope-latin-600-normal-BqgrALkZ.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/manrope-latin-700-normal-BZp_XxE4.woff2) format("woff2"),url(/assets/manrope-latin-700-normal-DGRFkw-m.woff) format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/manrope-latin-800-normal-BfWYOv1c.woff2) format("woff2"),url(/assets/manrope-latin-800-normal-uHUdIJgA.woff) format("woff")}*{box-sizing:border-box}html{scrollbar-gutter:stable}:root{color-scheme:dark;--theme-bg: #111a2a;--theme-bg-rgb: 17 26 42;--theme-bg-soft: #17243a;--theme-bg-soft-rgb: 23 36 58;--theme-bg-deep: #0c1320;--theme-bg-deep-rgb: 12 19 32;--theme-surface: #1d2c45;--theme-surface-rgb: 29 44 69;--theme-surface-raised: #253652;--theme-control: #151f33;--theme-control-rgb: 21 31 51;--theme-text: #edf4ff;--theme-text-rgb: 237 244 255;--theme-muted: #adc0d8;--theme-muted-rgb: 173 192 216;--theme-border: #30425f;--theme-border-rgb: 48 66 95;--theme-brand: #6dd6ff;--theme-brand-rgb: 109 214 255;--theme-brand-2: #9b8cff;--theme-brand-2-rgb: 155 140 255;--theme-accent: #ff9878;--theme-accent-rgb: 255 152 120;--theme-success: #34c6b4;--theme-success-rgb: 52 198 180;--theme-warning: #f6b44b;--theme-warning-rgb: 246 180 75;--theme-danger: #ff7777;--theme-danger-rgb: 255 119 119;--white: #ffffff;--white-rgb: 255 255 255;--black: #000000;--black-rgb: 0 0 0;--app-bg: var(--theme-bg);--app-bg-rgb: var(--theme-bg-rgb);--app-bg-start: var(--theme-bg-soft);--app-bg-mid: color-mix(in srgb, var(--theme-bg) 82%, var(--theme-bg-deep));--app-bg-end: var(--theme-bg-deep);--app-bg-end-rgb: var(--theme-bg-deep-rgb);--surface-1: var(--theme-surface);--surface-1-rgb: var(--theme-surface-rgb);--surface-2: var(--theme-bg-soft);--surface-2-rgb: var(--theme-bg-soft-rgb);--surface-3: var(--theme-surface-raised);--surface-control: var(--theme-control);--surface-control-rgb: var(--theme-control-rgb);--surface-depth: color-mix(in srgb, var(--theme-bg-deep) 74%, var(--theme-surface));--surface-depth-rgb: 16 26 42;--surface-page: color-mix(in srgb, var(--theme-bg-deep) 88%, var(--theme-brand));--text-primary: var(--theme-text);--text-primary-rgb: var(--theme-text-rgb);--text-bright: #f8fafc;--text-bright-rgb: 248 250 252;--text-muted: var(--theme-muted);--text-muted-rgb: var(--theme-muted-rgb);--text-soft: color-mix(in srgb, var(--theme-text) 72%, var(--theme-muted));--text-soft-rgb: 218 228 243;--text-subtle: color-mix(in srgb, var(--theme-text) 88%, var(--white));--text-subtle-rgb: 232 239 250;--text-inverse: color-mix(in srgb, var(--theme-bg-deep) 86%, var(--black));--slate: color-mix(in srgb, var(--theme-muted) 84%, var(--theme-text));--slate-rgb: 164 181 205;--border-strong: var(--theme-border);--border-strong-rgb: var(--theme-border-rgb);--border-control: color-mix(in srgb, var(--theme-border) 72%, var(--theme-muted));--border-control-rgb: 83 101 129;--border-subtle: rgb(var(--slate-rgb) / .15);--border-soft: rgb(var(--slate-rgb) / .12);--brand: var(--theme-brand);--brand-rgb: var(--theme-brand-rgb);--brand-2: var(--theme-brand-2);--brand-2-rgb: var(--theme-brand-2-rgb);--brand-3: var(--theme-accent);--brand-3-rgb: var(--theme-accent-rgb);--brand-bright: color-mix(in srgb, var(--theme-brand) 72%, var(--white));--brand-bright-rgb: 145 226 255;--brand-soft: color-mix(in srgb, var(--theme-brand) 42%, var(--white));--brand-soft-rgb: 194 238 255;--success: var(--theme-success);--success-rgb: var(--theme-success-rgb);--success-bright: color-mix(in srgb, var(--theme-success) 78%, var(--white));--success-bright-rgb: 119 224 207;--warning: var(--theme-warning);--warning-rgb: var(--theme-warning-rgb);--warning-bright: color-mix(in srgb, var(--theme-warning) 72%, var(--white));--warning-bright-rgb: 250 207 128;--warning-hot: color-mix(in srgb, var(--theme-warning) 72%, var(--theme-accent));--warning-hot-rgb: 250 168 85;--danger: var(--theme-danger);--danger-rgb: var(--theme-danger-rgb);--danger-soft: color-mix(in srgb, var(--theme-danger) 78%, var(--white));--danger-soft-rgb: 255 178 178;--chart-1: var(--brand);--chart-2: color-mix(in srgb, var(--brand-2) 78%, var(--white));--chart-3: var(--warning);--chart-4: var(--success-bright);--chart-5: color-mix(in srgb, var(--brand-3) 42%, var(--brand-2));--chart-6: color-mix(in srgb, var(--danger) 74%, var(--brand-3));--chart-7: color-mix(in srgb, var(--brand) 58%, var(--brand-2));--chart-8: var(--warning-hot);--nutrient-low: var(--brand-bright);--nutrient-target: var(--success);--nutrient-over: var(--warning);--nutrient-high: var(--danger);--shadow-panel: 0 18px 40px rgb(var(--black-rgb) / .35);--shadow-overlay: 0 24px 56px rgb(var(--black-rgb) / .4);--bg: var(--app-bg);--panel: var(--surface-1);--panel-2: var(--surface-2);--muted: var(--text-muted);--text: var(--text-primary);--accent: var(--brand);--accent-2: var(--brand-2);--accent-3: var(--brand-3);--border: var(--border-strong);--shadow: var(--shadow-panel);--radius-sm: 9px;--radius: 12px;--radius-md: 12px;--radius-lg: 14px;--radius-pill: 999px;--font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Manrope", "Inter", "Segoe UI", system-ui, -apple-system, sans-serif}html{min-height:100%;background:radial-gradient(circle at 20% 20%,var(--app-bg-start) 0%,var(--app-bg-mid) 45%,var(--app-bg-end) 100%)}body{margin:0;min-height:100%;background:radial-gradient(circle at 20% 20%,var(--app-bg-start) 0%,var(--app-bg-mid) 45%,var(--app-bg-end) 100%);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.45;letter-spacing:.01em}input,textarea,select,button{font-family:var(--font-body)}h1,h2,h3,h4,h5,h6,.sheet-title,.profile-section-item-title,.consume-modal-title{font-family:var(--font-display)}h1{font-size:clamp(1.48rem,2.2vw,1.78rem);line-height:1.12}h2{font-size:clamp(1.22rem,1.8vw,1.42rem);line-height:1.16}h3,.sheet-title{font-size:1.04rem;line-height:1.18;font-weight:700;letter-spacing:-.01em}h4{font-size:.95rem;line-height:1.22;font-weight:650;letter-spacing:0}h1+p.muted,h2+p.muted,h3+p.muted,h4+p.muted,h5+p.muted,h6+p.muted,.sheet-header p.muted,.panel-header p.muted,.quick-add-header p.muted{font-family:var(--font-display);margin:2px 0 9px;line-height:1.34}.profile-section-item-subtitle,.profile-header-full-subtitle{font-family:var(--font-display);line-height:1.34}a{color:var(--accent-2);text-decoration:none}.app-shell{min-height:100vh}html.app-drawer-scroll-lock,body.app-drawer-scroll-lock{overflow:hidden;overscroll-behavior:none}.topbar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid var(--border);position:sticky;top:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgb(var(--app-bg-rgb) / .92);z-index:10}.topbar.appbar{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;padding:10px 16px}.public-topbar{position:fixed;left:0;right:0;justify-content:flex-end;padding:14px 16px 0;border-bottom:0;background:linear-gradient(180deg,rgb(var(--app-bg-end-rgb) / .92),rgb(var(--app-bg-end-rgb) / 0));pointer-events:none}.public-topbar .topbar-actions{pointer-events:auto}.public-topbar .icon-control{border-color:rgb(var(--slate-rgb) / .14);background:rgb(var(--surface-control-rgb) / .62);color:rgb(var(--text-subtle-rgb) / .88);box-shadow:none}.appbar-slot{min-width:0;display:inline-flex;align-items:center}.appbar-left{justify-self:start}.appbar-center{min-width:0;justify-self:center}.appbar-right{justify-self:end;gap:8px}.appbar-title{max-width:min(38vw,340px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1.08rem;font-weight:700;line-height:1.1;text-align:center}.appbar-primary-nav{display:inline-flex;align-items:center;gap:8px}.appbar-primary-link{width:38px;height:38px;padding:0;border:1px solid rgb(var(--slate-rgb) / .16);border-radius:var(--radius-sm);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .74);display:inline-flex;align-items:center;justify-content:center;box-shadow:none;text-decoration:none;transition:background .14s ease,border-color .14s ease,color .14s ease,box-shadow .14s ease}.appbar-primary-link:hover,.appbar-primary-link:focus-visible{border-color:rgb(var(--brand-rgb) / .26);color:rgb(var(--text-bright-rgb) / .92);background:rgb(var(--surface-control-rgb) / .72);outline:none}.appbar-primary-link.active{border-color:rgb(var(--brand-rgb) / .34);color:rgb(var(--white-rgb) / .96);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .12),rgb(var(--brand-2-rgb) / .08)),rgb(var(--surface-control-rgb) / .72);box-shadow:inset 0 1px rgb(var(--white-rgb) / .05)}.appbar-primary-link svg{flex:0 0 auto}.appbar-toggle-button{position:relative;border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none}.appbar-toggle-button:hover,.appbar-toggle-button:focus-visible{border-color:rgb(var(--brand-rgb) / .26);background:rgb(var(--surface-control-rgb) / .72);color:rgb(var(--text-bright-rgb) / .9)}.appbar-toggle-button.is-active{border-color:rgb(var(--brand-rgb) / .34);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .1),rgb(var(--brand-2-rgb) / .12)),rgb(var(--surface-control-rgb) / .72);color:var(--brand-soft);box-shadow:inset 0 1px rgb(var(--white-rgb) / .05),0 8px 18px rgb(var(--brand-rgb) / .07)}.appbar-toggle-button.is-active:hover{border-color:rgb(var(--brand-rgb) / .42);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .13),rgb(var(--brand-2-rgb) / .15)),rgb(var(--surface-control-rgb) / .78);color:var(--text-bright)}.appbar-toggle-button svg{flex:0 0 auto}@media(hover:none){.appbar-toggle-button:hover{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78)}.appbar-toggle-button.is-active:hover{border-color:rgb(var(--brand-rgb) / .34);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .1),rgb(var(--brand-2-rgb) / .12)),rgb(var(--surface-control-rgb) / .72);color:var(--brand-soft)}}.appbar-menu-button{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none;outline:none;-webkit-tap-highlight-color:transparent;filter:none;animation:none;touch-action:manipulation;transition:none}.appbar-menu-button:hover{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);transform:none}.appbar-menu-button:focus-visible{border-color:rgb(var(--slate-rgb) / .16);box-shadow:none}.appbar-menu-button.is-open{border-color:rgb(var(--brand-rgb) / .3);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--text-bright-rgb) / .92);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04)}.appbar-quick-action{display:inline-flex}.app-sidebar{display:none}.app-sidebar-brand,.app-sidebar-link{-webkit-tap-highlight-color:transparent}.app-sidebar-brand{min-height:62px;border-radius:var(--radius-sm);color:var(--text-bright);display:flex;align-items:center;justify-content:center;gap:12px;text-decoration:none}.app-sidebar-logo-full{width:min(138px,100%);height:auto;object-fit:contain;flex:0 0 auto}.app-sidebar-logo-mark{display:none;width:38px;height:42px;object-fit:contain;flex:0 0 auto;filter:drop-shadow(0 5px 10px rgb(var(--black-rgb) / .22))}.app-sidebar-brand-text,.app-sidebar-link-label,.app-sidebar-group-title{min-width:0}.app-sidebar-brand-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:1rem;font-weight:780}.app-sidebar-nav{min-height:0;display:flex;flex:1 1 auto;flex-direction:column;gap:12px;overflow-y:auto;scrollbar-width:thin}.app-sidebar-group{display:grid;gap:3px}.app-sidebar-group+.app-sidebar-group{padding-top:10px;border-top:1px solid rgb(var(--slate-rgb) / .1)}.app-sidebar-group-title{margin:0 12px 5px;color:rgb(var(--text-muted-rgb) / .66);font-size:.68rem;font-weight:780;letter-spacing:.08em;text-transform:uppercase}.app-sidebar-link{width:100%;min-height:44px;padding:9px 12px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:rgb(var(--text-soft-rgb) / .82);display:grid;grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:12px;text-align:left;font:inherit;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.app-sidebar-link:hover,.app-sidebar-link:focus-visible{border-color:rgb(var(--slate-rgb) / .12);background:rgb(var(--surface-control-rgb) / .3);color:rgb(var(--text-bright-rgb) / .96);outline:none}.app-sidebar-link:active{transform:translateY(1px)}.app-sidebar-link.active{border-color:rgb(var(--brand-rgb) / .28);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .12),rgb(var(--brand-2-rgb) / .07)),rgb(var(--surface-control-rgb) / .42);color:rgb(var(--text-bright-rgb) / .98);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04)}.app-sidebar-link.is-danger{color:var(--danger-soft)}.app-sidebar-link.is-danger:hover,.app-sidebar-link.is-danger:focus-visible{border-color:rgb(var(--danger-soft-rgb) / .22);background:rgb(var(--danger-soft-rgb) / .08)}.app-sidebar-link-icon{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:currentColor;flex:0 0 auto}.app-sidebar-link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-display);font-size:.95rem;font-weight:690}.app-sidebar-link-badge{min-width:18px;height:18px;padding:1px 6px 0;border-radius:999px;background:var(--danger);color:var(--white);font-size:.72rem;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center}.app-sidebar-create{margin-top:3px}.app-sidebar-toggle{flex:0 0 auto}@media(min-width:901px){.app-shell.has-sidebar{padding-left:78px}.app-sidebar{position:fixed;inset:0 auto 0 0;z-index:30;width:78px;padding:14px 10px calc(16px + env(safe-area-inset-bottom));border-right:1px solid rgb(var(--slate-rgb) / .13);background:linear-gradient(180deg,rgb(var(--theme-bg-rgb) / .98),rgb(var(--theme-bg-deep-rgb) / .98));display:flex;flex-direction:column;gap:14px}.app-sidebar-brand{justify-content:center;padding:2px 0 6px}.app-sidebar-logo-full{display:none}.app-sidebar-logo-mark{display:block}.app-sidebar-brand-text,.app-sidebar-link-label,.app-sidebar-group-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.app-sidebar-link{position:relative;min-height:48px;padding:0;grid-template-columns:1fr;justify-items:center;gap:0}.app-sidebar-link-badge{position:absolute;top:4px;right:5px}.topbar.appbar{grid-template-columns:minmax(0,1fr);padding:13px 28px}.topbar.appbar .appbar-left,.topbar.appbar .appbar-right{display:none}.topbar.appbar .appbar-center{justify-self:center}.topbar.appbar .appbar-title{max-width:min(58vw,720px);text-align:center}.bottom-nav{display:none}}@media(min-width:1180px){.app-shell.has-sidebar{padding-left:244px}.app-sidebar{width:244px;padding-inline:14px}.app-sidebar-brand{justify-content:center;padding:3px 0 8px}.app-sidebar-logo-full{display:block}.app-sidebar-logo-mark{display:none}.app-sidebar-brand-text,.app-sidebar-link-label,.app-sidebar-group-title{position:static;width:auto;height:auto;overflow:hidden;clip:auto;clip-path:none;white-space:nowrap}.app-sidebar-link{min-height:44px;padding:9px 12px;grid-template-columns:24px minmax(0,1fr) auto;justify-items:stretch;gap:12px}.app-sidebar-link-badge{position:static}}.topbar.appbar .appbar-primary-link,.topbar.appbar .icon-control.appbar-toggle-button,.topbar.appbar .icon-control.appbar-quick-action{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none}.topbar.appbar .appbar-primary-link:hover,.topbar.appbar .appbar-primary-link:focus-visible,.topbar.appbar .icon-control.appbar-toggle-button:hover,.topbar.appbar .icon-control.appbar-toggle-button:focus-visible,.topbar.appbar .icon-control.appbar-quick-action:hover,.topbar.appbar .icon-control.appbar-quick-action:focus-visible{border-color:rgb(var(--brand-rgb) / .26);background:rgb(var(--surface-control-rgb) / .72);color:rgb(var(--text-bright-rgb) / .92);box-shadow:none;outline:none}.topbar.appbar .appbar-primary-link.active,.topbar.appbar .icon-control.appbar-toggle-button.is-active{border-color:rgb(var(--brand-rgb) / .38);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-bright-rgb) / .96);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04)}.topbar.appbar .appbar-primary-link.active:hover,.topbar.appbar .appbar-primary-link.active:focus-visible,.topbar.appbar .icon-control.appbar-toggle-button.is-active:hover,.topbar.appbar .icon-control.appbar-toggle-button.is-active:focus-visible{border-color:rgb(var(--brand-rgb) / .42);background:rgb(var(--surface-control-rgb) / .72);color:rgb(var(--text-bright-rgb) / .98)}.app-drawer-overlay{position:fixed;inset:0;z-index:28;background:rgb(var(--app-bg-rgb) / .14);-webkit-backdrop-filter:none;backdrop-filter:none;will-change:background-color;transition:background-color .16s linear}.app-drawer-overlay.is-closing{pointer-events:none;background:rgb(var(--app-bg-rgb) / 0)}.app-drawer{width:min(340px,calc(100vw - 34px));height:100%;padding:16px 14px calc(20px + env(safe-area-inset-bottom));border-right:1px solid rgb(var(--slate-rgb) / .16);background:radial-gradient(circle at 0% 0%,rgb(var(--brand-rgb) / .04),transparent 40%),linear-gradient(180deg,rgb(var(--theme-bg-rgb) / .99),rgb(var(--theme-bg-deep-rgb) / .99));box-shadow:16px 0 36px rgb(var(--black-rgb) / .28);will-change:transform,opacity;animation:appDrawerEnter .22s cubic-bezier(.22,.8,.24,1) both;overflow-y:auto}.app-drawer.is-closing{animation:appDrawerExit .22s cubic-bezier(.4,0,.2,1) both}.app-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:38px;padding:2px 4px 14px}.app-drawer-title{font-family:var(--font-display);font-size:1rem;font-weight:700;line-height:1.1}.app-drawer .app-drawer-close{flex:0 0 auto;width:34px;height:34px;padding:0;border-radius:var(--radius-sm);color:rgb(var(--text-soft-rgb) / .78);border:0;background:transparent;box-shadow:none}.app-drawer .app-drawer-close:hover,.app-drawer .app-drawer-close:focus-visible,.app-drawer .app-drawer-close:active{color:rgb(var(--text-bright-rgb) / .95);border:0;background:transparent;box-shadow:none}.app-menu-sheet{display:flex;flex-direction:column;gap:16px}.app-menu-group+.app-menu-group{padding-top:14px;border-top:1px solid rgb(var(--slate-rgb) / .1)}.app-menu-group-title{margin:0 4px 10px;color:rgb(var(--text-muted-rgb) / .78);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.app-menu-group-list{display:flex;flex-direction:column;gap:3px}.app-menu-link{width:100%;min-height:42px;padding:9px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.app-menu-link:hover{border-color:rgb(var(--slate-rgb) / .1);background:rgb(var(--surface-control-rgb) / .26)}.app-menu-link:active{transform:translateY(1px)}.app-menu-link:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .3);background:rgb(var(--surface-control-rgb) / .3);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .1)}.app-menu-link.is-danger{color:var(--danger-soft)}.app-menu-link.is-danger:hover{border-color:rgb(var(--danger-soft-rgb) / .22);background:rgb(var(--danger-soft-rgb) / .07)}.app-menu-link-main{min-width:0;display:inline-flex;align-items:center;gap:10px}.app-menu-link-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--brand-bright-rgb) / .78);flex:0 0 auto}.app-menu-link-label{min-width:0;font-family:var(--font-display);font-size:.95rem;font-weight:650;line-height:1.15}.app-menu-link-badge{min-width:18px;height:18px;padding:1px 6px 0;border-radius:999px;background:var(--danger);color:var(--white);font-size:.72rem;font-weight:800;line-height:1;text-align:center;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}@keyframes appDrawerEnter{0%{transform:translate(-26px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes appDrawerExit{0%{transform:translate(0);opacity:1}to{transform:translate(-30px);opacity:0}}.brand{font-weight:800;letter-spacing:.04em;color:var(--brand-soft);font-size:18px;display:flex;align-items:center;gap:10px}.brand-logo{max-width:150px;width:100%;height:auto}@media(max-width:768px){.brand-logo{max-width:120px}}.nav{display:flex;gap:12px}.nav-desktop{display:flex}.nav-link{padding:8px 12px;border-radius:var(--radius-sm);color:var(--muted);font-weight:600;transition:.2s ease;display:inline-flex;align-items:center;gap:6px}.nav-link.active{background:linear-gradient(120deg,rgb(var(--brand-rgb) / .16),rgb(var(--brand-2-rgb) / .16));color:var(--text-primary);box-shadow:inset 0 0 0 1px rgb(var(--brand-2-rgb) / .35)}.topbar-actions{display:flex;align-items:center;gap:10px}.topbar-language-menu{position:relative}.topbar-language-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:138px;border:1px solid var(--border);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel),var(--panel-2));box-shadow:0 14px 30px rgb(var(--black-rgb) / .32);padding:6px;z-index:35;display:grid;gap:4px}.topbar-language-option{border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text);text-align:left;font-weight:600;padding:8px 10px;cursor:pointer}.topbar-language-option:hover{background:rgb(var(--white-rgb) / .06)}.topbar-language-option.active{border-color:rgb(var(--brand-rgb) / .35);background:linear-gradient(120deg,rgb(var(--brand-rgb) / .14),rgb(var(--brand-2-rgb) / .14))}.app-skeleton-surface,.list-item.card-skeleton,.stat.stat-skeleton,.recipe-picker-card-skeleton .list-item{border-color:rgb(var(--slate-rgb) / .2);background:radial-gradient(circle at 12% 0%,rgb(var(--brand-rgb) / .035),transparent 34%),linear-gradient(160deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .016)),rgb(var(--surface-1-rgb) / .38);box-shadow:inset 0 1px rgb(var(--white-rgb) / .024),0 8px 22px rgb(var(--app-bg-end-rgb) / .15)}.card-skeleton{position:relative;overflow:hidden;pointer-events:none}.list-item.card-skeleton{display:grid;align-items:center;min-height:88px;gap:12px}.card-skeleton.has-card-rail{grid-template-columns:minmax(0,1fr) 30px;padding-right:12px}.card-skeleton .consumable-card-main{align-items:center;gap:12px}.card-skeleton .consumable-card-body{justify-content:center}.card-skeleton .card-action-rail{position:static;display:grid;align-self:center;justify-items:center;gap:14px;width:30px;z-index:auto}.card-skeleton .card-action-rail>.skeleton-dot{width:18px;height:5px}.card-skeleton .card-action-rail>.skeleton-check{width:18px;height:18px}.app-skeleton-fill,.skeleton-line,.skeleton-pill,.skeleton-icon,.today-skeleton-line,.today-log-skeleton-media,.today-skeleton-dot,.today-skeleton-check,.list-item.card-skeleton .consumable-card-media,.recipe-picker-card-skeleton .consumable-card-media.recipe-picker-skeleton-media,.recipe-picker-card-skeleton .recipe-picker-toggle-placeholder{background:linear-gradient(90deg,rgb(var(--white-rgb) / .045),rgb(var(--white-rgb) / .095),rgb(var(--white-rgb) / .045));background-size:220% 100%;animation:appSkeletonPulse 1.35s ease-in-out infinite;border-radius:999px}.skeleton-line,.today-skeleton-line{display:block;height:12px}.skeleton-title{width:160px}.skeleton-subtitle{width:220px}.card-skeleton .skeleton-title{width:min(74%,190px);height:14px}.card-skeleton .skeleton-subtitle{width:min(58%,150px);height:11px}.skeleton-icon{width:28px;height:28px}.skeleton-dot{width:18px;height:5px}.skeleton-check{width:18px;height:18px}.skeleton-pill{width:80px;height:22px}.list-item.card-skeleton .consumable-card-media{width:50px;height:50px;flex-basis:50px;border-color:rgb(var(--slate-rgb) / .16);border-radius:var(--radius-sm);color:transparent}.recipe-picker-card-skeleton .consumable-card-media.recipe-picker-skeleton-media{border-color:rgb(var(--slate-rgb) / .16);color:transparent}.list-item.card-skeleton .consumable-card-media svg,.list-item.card-skeleton .consumable-card-media img{opacity:0}.stat.stat-skeleton{min-height:108px}.recipe-picker-card-skeleton .list-item{min-height:74px;overflow:hidden;pointer-events:none}@keyframes appSkeletonPulse{0%{background-position:100% 0}to{background-position:-100% 0}}@media(prefers-reduced-motion:reduce){.app-skeleton-fill,.skeleton-line,.skeleton-pill,.skeleton-icon,.today-skeleton-line,.today-log-skeleton-media,.today-skeleton-dot,.today-skeleton-check,.list-item.card-skeleton .consumable-card-media,.recipe-picker-card-skeleton .consumable-card-media.recipe-picker-skeleton-media,.recipe-picker-card-skeleton .recipe-picker-toggle-placeholder{animation:none}}@media(max-width:600px){.skeleton-title{width:120px}.skeleton-subtitle{width:160px}.skeleton-pill{width:64px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.date-picker{position:relative}.date-picker-trigger{background:rgb(var(--theme-bg-soft-rgb) / .74);color:var(--text);border:1px solid rgb(var(--text-muted-rgb) / .34);padding:12px 38px 12px 13px;border-radius:var(--radius);width:auto;text-align:left;position:relative;box-shadow:inset 0 1px rgb(var(--white-rgb) / .03);transition:.2s ease;min-height:46px;display:inline-flex;align-items:center}.date-picker-trigger:focus{outline:none;border-color:rgb(var(--brand-rgb) / .72);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .16)}.date-picker-trigger:after{content:"";position:absolute;top:50%;right:12px;width:16px;height:16px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'><rect x='2.5' y='3.5' width='15' height='14' rx='3' stroke='%239fb0c8' stroke-width='1.5'/><path d='M6 2.75V5.25M14 2.75V5.25' stroke='%239fb0c8' stroke-width='1.5' stroke-linecap='round'/><path d='M2.5 7.25H17.5' stroke='%239fb0c8' stroke-width='1.5' stroke-linecap='round'/></svg>");background-repeat:no-repeat;background-position:center;background-size:16px 16px;opacity:.82;pointer-events:none}.date-picker-backdrop{position:fixed;inset:0;height:100dvh;min-height:100dvh;background:rgb(var(--app-bg-end-rgb) / .62);display:flex;align-items:center;justify-content:center;z-index:220;padding:16px;animation:fadeIn .16s ease}.date-picker-modal{background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .98),rgb(var(--theme-bg-soft-rgb) / .98));border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 24px 56px rgb(var(--black-rgb) / .4);padding:12px 14px 14px;min-width:min(320px,90vw);animation:datePickerModalIn .18s cubic-bezier(.22,.8,.24,1) both}.modal-backdrop{position:fixed;inset:0;background:rgb(var(--app-bg-end-rgb) / .6);display:flex;align-items:center;justify-content:center;z-index:230;padding:16px}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:0 20px 50px rgb(var(--black-rgb) / .35);min-width:min(360px,92vw)}.modal-card h3{margin:0 0 6px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:12px}.sheet-actions{display:flex;align-items:center;gap:10px;justify-content:flex-end;width:100%}.sheet-actions .sheet-delete{margin-right:auto}html.no-scroll,body.no-scroll{overflow:hidden;overscroll-behavior:none}body.no-scroll{position:fixed;inset-inline:0;width:100%}.sheet-overlay{position:fixed;inset:0;height:100dvh;min-height:100dvh;background:rgb(var(--black-rgb) / .55);display:flex;justify-content:center;align-items:flex-end;z-index:60;animation:fadeIn .16s ease;overscroll-behavior:contain}.sheet{--sheet-content-gap: 12px;--sheet-pad-x: 18px;--sheet-pad-x-negative: -18px;--sheet-pad-bottom: calc(18px + env(safe-area-inset-bottom)) ;--sheet-pad-bottom-negative: calc(-18px - env(safe-area-inset-bottom)) ;position:relative;width:min(960px,calc(100% - 24px));max-height:min(86dvh,calc(100dvh - 28px));background:linear-gradient(145deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:16px 16px 0 0;padding:18px var(--sheet-pad-x) var(--sheet-pad-bottom);box-shadow:var(--shadow);overflow-y:auto;animation:slideUp .2s ease;overscroll-behavior:contain}.sheet>.sheet-header+*{margin-top:var(--sheet-content-gap)}.sheet.selection-full-sheet{height:min(88dvh,calc(100dvh - 24px));max-height:min(88dvh,calc(100dvh - 24px));display:flex;flex-direction:column;overflow:hidden}.sheet.selection-full-sheet .sheet-header{flex:0 0 auto}.sheet.selection-full-sheet>:not(.sheet-handle):not(.sheet-header){min-height:0}.sheet-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:0;position:static}.sheet-header p.muted{margin:2px 0 0}.sheet-header-actions{display:inline-flex;align-items:center;gap:8px;margin-left:auto;padding-right:34px}.sheet-close{border:none;background:transparent;width:38px;height:38px;padding:0;border-radius:999px;position:absolute;top:2px;right:12px;color:rgb(var(--text-subtle-rgb) / .88);display:inline-flex;align-items:center;justify-content:center}.sheet-close svg{width:22px;height:22px;stroke-width:2.3}.sheet-close:hover{background:rgb(var(--white-rgb) / .06)}.sheet-handle{flex:0 0 auto;width:48px;height:5px;border-radius:999px;background:rgb(var(--text-subtle-rgb) / .28);box-shadow:inset 0 1px rgb(var(--white-rgb) / .08);margin:0 auto 12px;cursor:grab;touch-action:none}.sheet-handle:active{cursor:grabbing}.sheet-overlay.closing{animation:fadeOut .18s ease forwards}.sheet.closing{animation:slideDown .18s ease forwards}@media(max-width:700px){.sheet{--sheet-pad-x: 14px;--sheet-pad-x-negative: -14px;--sheet-pad-bottom: calc(14px + env(safe-area-inset-bottom)) ;--sheet-pad-bottom-negative: calc(-14px - env(safe-area-inset-bottom)) ;width:calc(100% - 18px);max-height:min(86dvh,calc(100dvh - 44px));margin:0 9px;border-radius:14px 14px 0 0;padding:14px var(--sheet-pad-x) var(--sheet-pad-bottom)}.sheet.selection-full-sheet{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}.quick-add-overlay{position:fixed;inset:0;background:rgb(var(--black-rgb) / .7);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}.quick-add-panel{width:100%;max-width:420px;padding:20px;border-radius:var(--radius-lg);border:1px solid rgb(var(--white-rgb) / .08);max-height:85vh;overflow:hidden}.quick-add-header{margin-bottom:8px;align-items:center;gap:8px;flex-direction:row;justify-content:space-between}.quick-add-close{align-self:center}.quick-add-list{max-height:50vh;overflow-y:auto}.date-picker-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;padding:2px 2px 4px;border-radius:0;background:transparent;border:0}.date-picker-sheet-handle{width:42px;height:4px;margin:0 auto 12px;border-radius:999px;background:rgb(var(--slate-rgb) / .35)}.date-picker-nav-button{width:36px;height:36px;padding:0;border:0;border-radius:999px;background:transparent;color:rgb(var(--text-subtle-rgb) / .86);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:color .14s ease,background .14s ease,transform .14s ease}.date-picker-nav-button:hover,.date-picker-nav-button:focus-visible{background:rgb(var(--brand-rgb) / .08);color:var(--brand-soft);outline:none}.date-picker-nav-button:active{transform:translateY(1px)}.date-picker-title{font-weight:700;color:var(--text-subtle);letter-spacing:.01em;text-transform:capitalize}.date-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.date-picker-footer{display:flex;justify-content:center;margin-top:14px;padding-top:12px;border-top:1px solid rgb(var(--text-muted-rgb) / .12)}.date-picker-weekday{font-size:.68rem;color:var(--muted);text-align:center;text-transform:uppercase;letter-spacing:.08em;padding-bottom:3px}.date-picker-day{height:36px;border:1px solid transparent;border-radius:10px;background:rgb(var(--surface-2-rgb) / .94);color:inherit;cursor:pointer;font-weight:600;transition:transform .14s ease,background .14s ease,border-color .14s ease,box-shadow .14s ease}.date-picker-day:hover{background:rgb(var(--slate-rgb) / .16);border-color:rgb(var(--text-muted-rgb) / .18);transform:translateY(-1px)}.date-picker-day:disabled{opacity:.12;background:transparent;cursor:default}.date-picker-day.today{border:1px solid var(--accent-2);box-shadow:inset 0 0 0 1px rgb(var(--brand-2-rgb) / .18)}.date-picker-day.selected{background:linear-gradient(135deg,var(--accent),var(--accent-2));border-color:transparent;color:var(--text-inverse);box-shadow:0 8px 18px rgb(var(--brand-rgb) / .2)}.date-picker-day.selected:hover{transform:none;background:linear-gradient(135deg,var(--accent),var(--accent-2))}.date-picker-footer .ghost-button{min-width:96px}@keyframes datePickerModalIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:540px){.date-picker-backdrop{padding:0 8px;align-items:flex-end}.date-picker-modal{width:min(100%,420px);min-width:0;max-height:min(82dvh,calc(100dvh - 42px));overflow-y:auto;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;box-shadow:0 -18px 42px rgb(var(--black-rgb) / .42);animation:slideUp .2s ease both}.date-picker-header{margin-bottom:12px}.date-picker-nav-button{width:40px;height:40px}.date-picker-grid{gap:8px}.date-picker-weekday{font-size:.72rem;padding-bottom:4px}.date-picker-day{height:40px;border-radius:var(--radius-sm);font-size:.95rem}.date-picker-footer{margin-top:16px;padding-top:14px}.date-picker-footer .ghost-button{min-width:112px;min-height:42px}}.user-chip{background:rgb(var(--white-rgb) / .08);padding:7px 12px;border-radius:var(--radius-sm);font-size:13px}.ghost-button{padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:transparent;color:var(--text);font-weight:600;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease,box-shadow .14s ease;position:relative;display:inline-flex;align-items:center;justify-content:center}.ghost-button:hover{border-color:rgb(var(--slate-rgb) / .22);background:rgb(var(--white-rgb) / .04)}.ghost-button.sheet-close{border:0;position:absolute;top:2px;right:2px;z-index:2}.ghost-button.sheet-close:hover,.ghost-button.sheet-close:focus-visible{border-color:transparent}.ghost-button.icon-only{width:36px;height:36px;padding:5px}.ghost-button.icon-round{width:28px;height:28px;padding:0;border-radius:10px;border-color:rgb(var(--white-rgb) / .12);background:rgb(var(--white-rgb) / .05);color:var(--accent)}.icon-image{width:16px;height:16px;display:block;object-fit:contain}.ghost-button.favorite-active{color:var(--warning-bright);border-color:rgb(var(--warning-bright-rgb) / .45);background:rgb(var(--warning-bright-rgb) / .12)}.ghost-button:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .38);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.ghost-button:active{transform:translateY(1px);background:rgb(var(--white-rgb) / .05);box-shadow:none}.ghost-button.active-pill{border-color:var(--accent);color:var(--accent)}.btn-inline{display:inline-flex;align-items:center;gap:6px}.inline-row{display:flex;align-items:center;gap:8px}.date-nav-row{align-items:center;margin-bottom:12px;gap:8px;flex-wrap:wrap}.flex{display:flex}.flex-1{flex:1 1 auto}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.align-start{align-items:flex-start}.align-center{align-items:center}.justify-center{justify-content:center}.self-end{align-self:flex-end}.flex-wrap{flex-wrap:wrap}.m-0{margin:0}.mt-4{margin-top:4px}.mt-6{margin-top:6px}.mt-8{margin-top:8px}.mt-10{margin-top:10px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mb-neg-8{margin-bottom:-8px}.my-8{margin-top:8px;margin-bottom:8px}.my-12{margin-top:12px;margin-bottom:12px}.my-20{margin-top:20px;margin-bottom:20px}.ml-6{margin-left:6px}.mr-6{margin-right:6px}.gap-8{gap:8px}.gap-10{gap:10px}.gap-12{gap:12px}.gap-24{gap:24px}.sheet-title{margin:6px 0 4px}.page{padding:10px 20px 20px;max-width:1100px;margin:0 auto}.page.auth-page{width:100%;max-width:none;padding:0 22px 10px}.route-view{animation:none;will-change:auto}.route-loading{width:min(100%,720px);margin:18px auto}.email-verification-banner{width:min(100%,820px);margin:0 auto 14px;padding:12px;border-radius:var(--radius);display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgb(var(--text-muted-rgb) / .9);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .075),rgb(var(--brand-2-rgb) / .055)),rgb(var(--surface-control-rgb) / .42);border:1px solid rgb(var(--brand-rgb) / .22);box-shadow:inset 0 1px rgb(var(--white-rgb) / .035)}.email-verification-banner>div{display:grid;gap:3px;min-width:0}.email-verification-banner strong{color:rgb(var(--text-subtle-rgb) / .96);font-family:var(--font-display);font-size:.95rem;line-height:1.2}.email-verification-banner span{font-size:.88rem;line-height:1.35}.email-verification-banner button{flex:0 0 auto;border:1px solid rgb(var(--brand-rgb) / .35);border-radius:var(--radius-sm);min-height:38px;padding:0 13px;color:rgb(var(--text-subtle-rgb) / .98);background:rgb(var(--surface-control-rgb) / .62);font:inherit;font-weight:760;cursor:pointer}.email-verification-banner button:disabled{cursor:wait;opacity:.7}.email-verification-gate{width:min(100%,520px);margin:min(18dvh,120px) auto 0;padding:26px;border-radius:var(--radius-lg);display:grid;gap:18px;color:rgb(var(--text-muted-rgb) / .94);background:radial-gradient(circle at 50% 0%,rgb(var(--brand-rgb) / .14),transparent 44%),linear-gradient(135deg,rgb(var(--surface-control-rgb) / .86),rgb(var(--theme-bg-soft-rgb) / .82));border:1px solid rgb(var(--brand-rgb) / .24);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04),0 24px 70px rgb(var(--black-rgb) / .28)}.email-verification-gate-icon{width:58px;height:58px;border-radius:var(--radius);display:grid;place-items:center;color:rgb(var(--brand-rgb) / .96);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .16),rgb(var(--brand-2-rgb) / .12)),rgb(var(--surface-control-rgb) / .58);border:1px solid rgb(var(--brand-rgb) / .28)}.email-verification-gate-copy{display:grid;gap:8px}.email-verification-gate-copy .eyebrow{margin:0;color:rgb(var(--brand-rgb) / .96);font-size:.76rem}.email-verification-gate-copy h1{margin:0;color:rgb(var(--text-subtle-rgb) / .98);font-family:var(--font-display);font-size:clamp(1.55rem,5vw,2.15rem);line-height:1.08;letter-spacing:0}.email-verification-gate-copy p{margin:0;font-size:.98rem;line-height:1.5}.email-verification-gate-copy span{color:rgb(var(--text-soft-rgb) / .78);font-size:.9rem;line-height:1.42}.email-verification-gate-actions{display:flex;flex-wrap:wrap;gap:10px}.email-verification-gate-actions .primary,.email-verification-gate-actions .ghost-button{flex:1 1 180px;min-height:44px;justify-content:center}.email-verification-action{width:100%;min-height:42px;padding:10px 12px;border-radius:var(--radius);display:flex;align-items:flex-start;gap:10px;color:var(--danger-soft);font-size:.9rem;line-height:1.35;background:linear-gradient(135deg,rgb(var(--danger-soft-rgb) / .12),rgb(var(--danger-rgb) / .08)),rgb(var(--surface-control-rgb) / .42);border:1px solid rgb(var(--danger-soft-rgb) / .34);box-shadow:inset 0 1px rgb(var(--white-rgb) / .025)}.email-verification-action svg{flex:0 0 auto;margin-top:1px;color:var(--danger-soft)}.email-verification-action-copy{min-width:0;display:grid;gap:5px}.email-verification-action-copy strong{color:rgb(var(--text-subtle-rgb) / .96);font-family:var(--font-display);font-size:.92rem;line-height:1.2}.email-verification-action-copy button{justify-self:start;min-height:34px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid rgb(var(--danger-soft-rgb) / .34);color:rgb(var(--text-subtle-rgb) / .98);background:rgb(var(--surface-control-rgb) / .6);font:inherit;font-weight:760;cursor:pointer}.email-verification-action-copy button:disabled{cursor:wait;opacity:.7}@media(max-width:560px){.email-verification-banner{align-items:stretch;flex-direction:column}.email-verification-banner button{width:100%}.email-verification-gate{margin-top:46px;padding:22px}}.bottom-nav{display:none;transition:opacity .16s ease,transform .16s ease}.bottom-nav-link{text-decoration:none;color:rgb(var(--white-rgb) / .66);font-weight:680;padding:8px 5px;border-radius:var(--radius);display:flex;flex-direction:column;align-items:center;gap:3px;position:relative;transition:color .15s ease,background .15s ease,transform .15s ease}.bottom-nav-link.active{color:rgb(var(--white-rgb) / .94);background:rgb(var(--white-rgb) / .025);box-shadow:none;transform:none}.bottom-nav-link.active:before{content:none}.bottom-nav-link svg{color:rgb(var(--white-rgb) / .66);filter:none}.bottom-nav-link.active svg{color:rgb(var(--white-rgb) / .9);filter:none}.bottom-nav-primary{grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center}.bottom-nav-fab{position:relative;width:46px;height:46px;margin:0 auto;align-self:center;justify-self:center;border:0;border-radius:var(--radius-lg);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .96),rgb(var(--surface-control-rgb) / .96));color:rgb(var(--white-rgb) / .92);display:inline-flex;align-items:center;justify-content:center;box-shadow:0 13px 26px rgb(var(--black-rgb) / .32),0 0 0 1px rgb(var(--white-rgb) / .18),0 0 0 5px rgb(var(--app-bg-end-rgb) / .7),0 0 24px rgb(var(--white-rgb) / .075),inset 0 1px rgb(var(--white-rgb) / .1),inset 0 -12px 18px rgb(var(--black-rgb) / .13);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,filter .16s ease}.bottom-nav-fab:before{content:none}.bottom-nav-fab:after{content:none}.bottom-nav-fab svg{position:relative;z-index:1;width:25px;height:25px;stroke-width:1.8;filter:none}.bottom-nav-fab:hover,.bottom-nav-fab:focus-visible{background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / 1),rgb(var(--surface-control-rgb) / 1));box-shadow:0 15px 30px rgb(var(--black-rgb) / .34),0 0 0 1px rgb(var(--white-rgb) / .24),0 0 0 5px rgb(var(--app-bg-end-rgb) / .72),0 0 28px rgb(var(--white-rgb) / .095),inset 0 1px rgb(var(--white-rgb) / .12),inset 0 -12px 18px rgb(var(--black-rgb) / .1);filter:none;transform:translateY(-1px)}.bottom-nav-fab:active{transform:scale(.97);filter:saturate(1.05)}@media(max-width:900px){.topbar{flex-wrap:wrap;gap:10px;padding:12px 14px}.topbar.appbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;padding:10px 14px}.appbar-title{max-width:52vw;font-size:1.04rem}.topbar.appbar .appbar-primary-nav,.topbar.appbar .appbar-quick-action,.nav{display:none}.bottom-nav{position:fixed;bottom:max(8px,env(safe-area-inset-bottom));left:10px;right:10px;display:grid;grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr);min-height:66px;padding:8px 10px;gap:2px;background:linear-gradient(180deg,rgb(var(--theme-bg-rgb) / .9),rgb(var(--theme-bg-deep-rgb) / .94));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid rgb(var(--slate-rgb) / .12);border-radius:18px;box-shadow:0 16px 34px rgb(var(--black-rgb) / .28),inset 0 1px rgb(var(--white-rgb) / .035);z-index:20}body{padding-bottom:96px}.bottom-nav-link{text-align:center;min-height:48px;font-size:11px;color:rgb(var(--white-rgb) / .66);padding:8px 4px 6px;border-radius:var(--radius);justify-content:center}.bottom-nav-link.active{color:rgb(var(--white-rgb) / .94);background:rgb(var(--white-rgb) / .025);box-shadow:none;transform:none}.bottom-nav-link.active svg{color:rgb(var(--white-rgb) / .9);filter:none}.bottom-nav-icon{font-size:18px}.nav-icon{font-size:16px}.nav-label{font-size:14px}}@media(max-width:390px){.bottom-nav{grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);padding-inline:10px}.bottom-nav-fab{width:44px;height:44px}}.sheet.quick-actions-sheet{max-width:430px}@media(min-width:720px){.sheet.quick-actions-sheet.quick-log-full-sheet{max-width:620px}}.sheet.quick-actions-sheet .sheet-header{width:100%;align-items:flex-start}.sheet.quick-actions-sheet .sheet-header>div:first-child{min-width:0;width:100%}.sheet.quick-actions-sheet .sheet-close{border:0;border-radius:var(--radius-sm);background:transparent}.sheet.quick-actions-sheet .sheet-close:hover,.sheet.quick-actions-sheet .sheet-close:focus-visible{border-color:transparent;background:rgb(var(--white-rgb) / .06);color:var(--text-bright);outline:none}.sheet.quick-actions-sheet .sheet-title{margin-bottom:6px}.sheet.quick-actions-sheet .sheet-header p.muted{max-width:none;font-size:.9rem;line-height:1.35}.quick-actions-list{display:grid;gap:9px}.quick-action-link{position:relative;width:100%;min-height:66px;padding:11px 38px 11px 11px;border:1px solid rgb(var(--slate-rgb) / .13);border-radius:var(--radius);background:radial-gradient(circle at 10% 0%,rgb(var(--brand-rgb) / .045),transparent 38%),linear-gradient(145deg,rgb(var(--white-rgb) / .04),rgb(var(--white-rgb) / .016));color:var(--text);display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.quick-action-link:hover{border-color:rgb(var(--brand-rgb) / .22);background:radial-gradient(circle at 10% 0%,rgb(var(--brand-rgb) / .07),transparent 38%),linear-gradient(145deg,rgb(var(--brand-rgb) / .07),rgb(var(--brand-2-rgb) / .035))}.quick-action-link:after{content:"›";position:absolute;right:15px;top:50%;transform:translateY(-52%);color:rgb(var(--text-muted-rgb) / .72);font-size:1.5rem;line-height:1}.quick-action-link:active{transform:translateY(1px)}.quick-action-icon{width:44px;height:44px;border-radius:var(--radius);border:1px solid rgb(var(--brand-rgb) / .2);background:rgb(var(--brand-rgb) / .1);color:var(--brand-bright);display:inline-flex;align-items:center;justify-content:center}.quick-action-icon.ingredient{border-color:rgb(var(--success-bright-rgb) / .22);background:rgb(var(--success-bright-rgb) / .1);color:var(--success-bright)}.quick-action-icon.recipe{border-color:rgb(var(--brand-2-rgb) / .28);background:rgb(var(--brand-2-rgb) / .14);color:color-mix(in srgb,var(--brand-2) 58%,var(--white))}.quick-action-copy{min-width:0;display:grid;gap:3px}.quick-action-copy strong{font-family:var(--font-display);font-size:.96rem;line-height:1.15}.quick-action-copy span{color:var(--muted);font-size:.84rem;line-height:1.28}.quick-actions-back{min-height:34px;padding:7px 10px;border-radius:var(--radius-sm)}.quick-log-content{display:grid;gap:12px}.quick-log-content.is-manual{gap:0}.sheet.selection-full-sheet .quick-log-content{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.quick-log-search{min-height:44px}.quick-log-manual-link{width:fit-content;border:0;background:transparent;color:rgb(var(--text-soft-rgb) / .84);padding:0;font:inherit;font-size:.88rem;font-weight:700;text-align:left;text-decoration:underline;text-decoration-color:rgb(var(--white-rgb) / .22);text-underline-offset:4px;cursor:pointer}.quick-log-manual-link:hover,.quick-log-manual-link:focus-visible{color:var(--text-bright);text-decoration-color:rgb(var(--white-rgb) / .42);outline:none}.quick-log-manual-cta{width:100%;min-height:42px;margin-top:2px;padding:9px 12px;color:rgb(var(--text-subtle-rgb) / .94);font-family:var(--font-display);font-size:.9rem;font-weight:680;text-align:center;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:color .16s ease,transform .16s ease}.quick-log-manual-cta:hover,.quick-log-manual-cta:focus-visible{color:var(--white);text-decoration:none;transform:translateY(-1px)}.quick-log-manual-cta:active{transform:translateY(1px)}.quick-log-manual-form{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.quick-log-manual-top{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding-bottom:12px;border-bottom:1px solid rgb(var(--slate-rgb) / .12)}.quick-log-manual-back{width:fit-content;min-height:32px;border:0;border-radius:0;background:transparent;color:rgb(var(--text-soft-rgb) / .8);padding:1px 0;font:inherit;font-size:.84rem;font-weight:760;display:inline-flex;align-items:center;gap:4px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease,transform .14s ease}.quick-log-manual-back:hover,.quick-log-manual-back:focus-visible{color:var(--text-bright);outline:none}.quick-log-manual-back:active{transform:translateY(1px)}.quick-log-manual-heading{display:grid;gap:4px}.quick-log-manual-heading strong{color:rgb(var(--white-rgb) / .94);font-family:var(--font-display);font-size:1rem;font-weight:760;line-height:1.2}.quick-log-manual-heading span{max-width:340px;color:rgb(var(--text-soft-rgb) / .76);font-size:.88rem;line-height:1.35}.quick-log-manual-body{flex:1 1 auto;min-height:0;overflow-y:auto;display:grid;align-content:start;gap:12px;padding:14px 4px 16px 0}.quick-log-manual-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-log-manual-nutrient span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quick-log-manual-submit{width:100%;min-height:42px}.quick-log-manual-more{width:100%;min-height:40px;border:0;border-radius:0;background:transparent;color:rgb(var(--text-subtle-rgb) / .9);padding:8px 10px;font-family:var(--font-display);font-size:.88rem;font-weight:690;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:color .16s ease,transform .16s ease}.quick-log-manual-more:hover,.quick-log-manual-more:focus-visible{color:var(--white);transform:translateY(-1px);outline:none}.quick-log-manual-more:active{transform:translateY(1px)}.quick-log-manual-more svg{transition:transform .16s ease}.quick-log-manual-more.is-open svg{transform:rotate(90deg)}.quick-log-manual-actions{flex:0 0 auto;margin:0;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:transparent}.quick-log-results{min-height:260px;max-height:min(54dvh,520px);overflow-y:auto;display:grid;grid-auto-rows:max-content;align-content:start;gap:10px;padding-right:4px}.sheet.selection-full-sheet .quick-log-results{flex:1 1 auto;min-height:0;max-height:none}.quick-log-status{margin-top:2px}.quick-log-sentinel{width:100%;min-height:1px;pointer-events:none}@media(max-width:430px){.quick-log-manual-grid{grid-template-columns:1fr}}.icon-control{width:38px;height:38px;border-radius:var(--radius-sm);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-subtle);display:inline-flex;align-items:center;justify-content:center;transition:background .14s ease,color .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.icon-badge{position:relative;display:inline-flex}.badge-count{position:absolute;top:-5px;right:-5px;min-width:17px;height:17px;padding:1px 4px 0;border-radius:999px;background:var(--danger);color:var(--white);font-size:10px;font-weight:800;line-height:1;display:inline-flex;align-items:center;justify-content:center;border:2px solid var(--app-bg-end)}.icon-control:hover{background:var(--border-control);border-color:var(--brand);color:var(--success-bright);transform:translateY(-1px)}.icon-control:focus-visible{outline:none;border-color:var(--brand);box-shadow:0 0 0 2px rgb(var(--brand-rgb) / .25)}.icon-control:active{transform:translateY(1px)}.icon-control.appbar-menu-button,.icon-control.appbar-menu-button:hover,.icon-control.appbar-menu-button:focus,.icon-control.appbar-menu-button:focus-visible,.icon-control.appbar-menu-button:active{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none;outline:none;filter:none;-webkit-tap-highlight-color:transparent;transform:none;animation:none;transition:none}.icon-control.appbar-menu-button:hover{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .56);color:rgb(var(--text-soft-rgb) / .78);transform:none}.icon-control.appbar-menu-button:active{transform:none}.icon-control.appbar-menu-button.is-open,.icon-control.appbar-menu-button.is-open:hover,.icon-control.appbar-menu-button.is-open:focus,.icon-control.appbar-menu-button.is-open:focus-visible,.icon-control.appbar-menu-button.is-open:active{border-color:rgb(var(--brand-rgb) / .3);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--text-bright-rgb) / .92);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04);outline:none;filter:none;-webkit-tap-highlight-color:transparent;transform:none;animation:none;transition:none}.panel{background:linear-gradient(145deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease}.page-panel{width:100%;max-width:820px;margin-inline:auto;background:transparent;border:0;border-radius:0;padding:0;box-shadow:none;transition:none}.app-footer{text-align:center;padding:24px 16px 32px;color:var(--slate);font-size:.9rem;display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.app-footer-auth{padding:8px 16px calc(18px + env(safe-area-inset-bottom));color:rgb(var(--slate-rgb) / .74);font-size:.82rem}.app-footer-legal{padding-bottom:calc(28px + env(safe-area-inset-bottom));color:rgb(var(--slate-rgb) / .72);font-size:.84rem}.app-footer .bullet{color:var(--slate)}.app-footer a{color:var(--brand);text-decoration:none}.app-footer a:hover{text-decoration:underline}.table-wrap{width:100%;overflow-x:auto}.table{width:100%;border-collapse:collapse;min-width:520px}.table th,.table td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--border-control);vertical-align:top}.table th{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:var(--slate)}.filter-text-wrap{position:relative;width:100%}.filter-text-wrap input{width:100%;padding-right:40px}.filter-text-wrap-search .filter-leading-icon{position:absolute;top:50%;left:12px;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--text-muted-rgb) / .82);pointer-events:none}.filter-text-wrap-search input{padding-left:39px}.filter-clear-button{position:absolute;top:50%;right:10px;transform:translateY(-50%);width:22px;height:22px;border-radius:999px;border:1px solid var(--border);background:rgb(var(--white-rgb) / .05);color:var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;padding:0}.filter-clear-button:hover{color:var(--text);border-color:rgb(var(--slate-rgb) / .55)}.card-menu-sheet,.delete-sheet{display:flex;flex-direction:column;padding-top:0}.card-menu-sheet{gap:10px}.sheet.menu-bottom-sheet{--sheet-content-gap: 10px}.sheet.menu-bottom-sheet .sheet-title{padding-right:34px}.sheet.editor-bottom-sheet{height:min(92dvh,calc(100dvh - 16px));max-height:min(92dvh,calc(100dvh - 16px));max-width:760px;display:flex;flex-direction:column;overflow:hidden}.sheet.editor-bottom-sheet>:not(.sheet-handle):not(.sheet-header){flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(88px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(104px + env(safe-area-inset-bottom));scrollbar-width:none}.sheet.editor-bottom-sheet>:not(.sheet-handle):not(.sheet-header)::-webkit-scrollbar{display:none}.sheet.editor-bottom-sheet .sheet-sticky-actions{position:absolute;left:var(--sheet-pad-x);right:var(--sheet-pad-x);bottom:0;z-index:4;box-sizing:border-box;min-width:0;margin:0;padding:12px 0 calc(14px + env(safe-area-inset-bottom));overflow-x:hidden;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}@media(min-width:701px){.sheet.editor-bottom-sheet .editor-actions-stack{align-items:stretch}}@media(max-width:700px){.sheet.editor-bottom-sheet{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}}@media(min-width:701px){.sheet.menu-bottom-sheet{width:min(430px,calc(100% - 48px));max-height:min(70dvh,520px)}}.delete-sheet{gap:16px}.delete-sheet-name{display:block;padding:2px 2px 0;color:var(--text)}.delete-sheet-name strong{font-size:1rem;font-weight:700;line-height:1.3;word-break:break-word}.delete-sheet-actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.delete-sheet-actions .ghost-button{min-height:46px;gap:8px}.delete-sheet-confirm{border-color:rgb(var(--danger-soft-rgb) / .24);background:rgb(var(--danger-soft-rgb) / .08);color:var(--danger-soft)}.delete-sheet-confirm:hover{border-color:rgb(var(--danger-soft-rgb) / .34);background:rgb(var(--danger-soft-rgb) / .12)}.delete-sheet-confirm:focus-visible{border-color:rgb(var(--danger-soft-rgb) / .4);box-shadow:0 0 0 3px rgb(var(--danger-soft-rgb) / .12)}.card-menu-item{width:100%;display:flex;align-items:center;gap:12px;padding:13px 15px;border-radius:var(--radius);border:1px solid rgb(var(--slate-rgb) / .16);background:rgb(var(--white-rgb) / .04);color:var(--text);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease}.card-menu-item:hover{border-color:rgb(var(--slate-rgb) / .26);background:rgb(var(--white-rgb) / .06)}.card-menu-item:disabled{opacity:.55;cursor:default}.card-menu-item.is-active{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--white-rgb) / .04);color:var(--text)}.card-menu-item.is-active .card-menu-item-icon{color:var(--warning-bright)}.card-menu-item-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:inherit;flex:0 0 auto}.editor-media-button{width:100%;display:grid;gap:8px;align-content:start;padding:10px;border-radius:var(--radius-lg);border:1px dashed rgb(var(--success-bright-rgb) / .22);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .9),rgb(var(--theme-bg-soft-rgb) / .92)),radial-gradient(circle at top left,rgb(var(--success-bright-rgb) / .06),transparent 60%);color:var(--text);text-align:left;cursor:pointer;transition:border-color .14s ease,transform .14s ease,box-shadow .14s ease,background .14s ease}.editor-media-button:hover{border-color:rgb(var(--success-bright-rgb) / .28);box-shadow:0 14px 24px rgb(var(--app-bg-end-rgb) / .24);transform:translateY(-1px)}.editor-media-button:focus-visible{outline:none;border-color:rgb(var(--success-bright-rgb) / .4);box-shadow:0 0 0 3px rgb(var(--success-bright-rgb) / .12)}.editor-media-preview,.editor-media-empty{width:100%;border-radius:var(--radius)}.editor-media-preview{object-fit:cover;display:block;border:1px solid rgb(var(--slate-rgb) / .12)}.editor-media-empty{display:grid;place-items:center;border:1px dashed rgb(var(--success-bright-rgb) / .22);background:rgb(var(--success-bright-rgb) / .05);color:rgb(var(--text-subtle-rgb) / .78)}.editor-media-copy{display:grid;gap:4px}.editor-media-copy strong{font-family:var(--font-display);font-size:.98rem;font-weight:700}.editor-media-copy span{color:rgb(var(--text-subtle-rgb) / .74);font-size:.88rem;line-height:1.35}.image-preview-trigger{padding:0;appearance:none;cursor:zoom-in}.image-preview-trigger:hover,.image-preview-trigger:focus-visible{border-color:rgb(var(--success-bright-rgb) / .34);box-shadow:inset 0 1px rgb(var(--white-rgb) / .04),0 0 0 3px rgb(var(--success-bright-rgb) / .1),0 8px 18px rgb(var(--app-bg-end-rgb) / .14)}.image-preview-trigger:focus-visible{outline:none}.image-preview-sheet{width:min(720px,calc(100% - 18px));max-height:min(90dvh,calc(100dvh - 18px));overflow:hidden}.image-preview-frame{display:grid;place-items:center;min-height:min(56dvh,460px);max-height:calc(90dvh - 92px);border-radius:var(--radius-lg);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--black-rgb) / .22);overflow:hidden}.image-preview-image{width:100%;height:min(64dvh,620px);max-height:calc(90dvh - 112px);object-fit:contain;display:block}@media(max-width:700px){.image-preview-frame{min-height:min(60dvh,520px);max-height:calc(100dvh - 118px)}.image-preview-image{height:min(68dvh,620px);max-height:calc(100dvh - 138px)}}.editor-meta-pill{display:inline-flex;align-items:center;justify-self:start;padding:6px 12px;border-radius:999px;border:1px solid rgb(var(--success-bright-rgb) / .24);background:rgb(var(--success-bright-rgb) / .07);color:rgb(var(--text-bright-rgb) / .92);font-size:.9rem;font-weight:500}.editor-summary-badge{display:inline-flex;align-items:center;padding:5px 10px;border-radius:999px;background:rgb(var(--brand-2-rgb) / .08);color:color-mix(in srgb,var(--brand-2) 56%,var(--white));font-size:.82rem;font-weight:500}.editor-detail-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.8fr);gap:14px}.editor-detail-card{display:grid;gap:10px;padding:14px;border-radius:var(--radius-lg);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82)}.editor-detail-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgb(var(--text-subtle-rgb) / .84);font-size:.92rem}.editor-detail-row strong{color:var(--text);font-family:var(--font-display);font-size:.98rem;font-weight:700;text-align:right}.editor-nutrient-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-nutrient-grid.compact{margin-top:2px}.editor-nutrient-card{display:grid;gap:4px;min-height:80px;padding:12px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82)}.editor-nutrient-label{color:rgb(var(--text-subtle-rgb) / .88);font-size:.88rem;line-height:1.3}.editor-nutrient-footer{margin-top:auto;display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.editor-nutrient-value{font-family:var(--font-display);font-size:1.08rem;line-height:1.05;font-weight:650;color:rgb(var(--white-rgb) / .98)}.editor-actions-stack{flex-direction:column;align-items:stretch}.editor-actions-stack .primary,.editor-actions-stack .ghost-button{width:100%;justify-content:center;margin-left:0}.editor-actions-stack .primary{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding-inline:16px;line-height:1.1}.editor-actions-stack .primary svg{flex:0 0 auto;display:block}.sheet-sticky-actions{position:sticky;bottom:0;z-index:3;box-sizing:border-box;min-width:0;margin:0;padding:12px 0 0;overflow-x:hidden;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.sheet-sticky-actions .ghost-button{border-color:color-mix(in srgb,var(--border-control) 86%,var(--theme-muted));background:linear-gradient(180deg,color-mix(in srgb,var(--theme-surface-raised) 78%,var(--theme-bg-soft)),color-mix(in srgb,var(--theme-control) 82%,var(--theme-bg-soft)));box-shadow:inset 0 1px rgb(var(--white-rgb) / .045),0 10px 22px rgb(var(--black-rgb) / .18)}.sheet-sticky-actions .ghost-button:hover,.sheet-sticky-actions .ghost-button:focus-visible{border-color:color-mix(in srgb,var(--border-control) 70%,var(--theme-brand));background:linear-gradient(180deg,color-mix(in srgb,var(--theme-surface-raised) 84%,var(--theme-brand)),color-mix(in srgb,var(--theme-control) 78%,var(--theme-bg-soft)))}.editor-secondary-action{min-height:44px}.quantity-stepper{display:grid;grid-template-columns:auto minmax(0,1fr) auto;width:100%;gap:3px;padding:3px;border-radius:var(--radius-lg);border:1px solid rgb(var(--slate-rgb) / .14);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .66),rgb(var(--theme-bg-soft-rgb) / .76)),radial-gradient(circle at 50% 0%,rgb(var(--brand-rgb) / .045),transparent 62%);box-shadow:inset 0 1px rgb(var(--white-rgb) / .035),0 8px 18px rgb(var(--theme-bg-deep-rgb) / .16);align-items:center}.quantity-stepper.has-error{border-color:rgb(var(--danger-soft-rgb) / .62);box-shadow:inset 0 1px rgb(var(--white-rgb) / .035),0 0 0 1px rgb(var(--danger-soft-rgb) / .18)}.quantity-stepper-button{width:38px;height:38px;padding:5px;border-radius:12px;border:0;background:color-mix(in srgb,var(--theme-surface-raised) 84%,var(--theme-bg-soft));box-shadow:inset 0 1px rgb(var(--white-rgb) / .045)}.quantity-stepper-button:disabled{opacity:.38;cursor:not-allowed;transform:none}.quantity-stepper-value{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:0;border:0;background:transparent;color:rgb(var(--white-rgb) / .96)}.quantity-stepper-value input{width:100%;min-width:0;border:0;background:transparent;color:inherit;font-family:var(--font-display);font-size:1.08rem;font-weight:650;text-align:center;padding:0;outline:none;min-height:38px;appearance:textfield;letter-spacing:0}.quantity-stepper.has-unit .quantity-stepper-value{gap:10px;padding:0 12px}.quantity-stepper.has-unit .quantity-stepper-value input{width:clamp(44px,6ch,84px)}.quantity-stepper-unit{min-width:44px;color:rgb(var(--text-subtle-rgb) / .78);font-size:.88rem;font-weight:750;text-align:center;white-space:nowrap}.quantity-stepper-value input:focus{outline:none}.quantity-stepper-value input::-webkit-outer-spin-button,.quantity-stepper-value input::-webkit-inner-spin-button{appearance:none;margin:0}.consume-sheet{width:min(390px,calc(100% - 14px));height:min(92dvh,calc(100dvh - 16px));max-height:min(92dvh,calc(100dvh - 16px));display:flex;flex-direction:column;padding:16px 16px calc(14px + env(safe-area-inset-bottom));border-radius:16px 16px 0 0;background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .98),rgb(var(--theme-bg-soft-rgb) / .99)),radial-gradient(circle at 18% 0%,rgb(var(--brand-rgb) / .08),transparent 38%),radial-gradient(circle at 92% 12%,rgb(var(--brand-2-rgb) / .08),transparent 38%);border-color:rgb(var(--slate-rgb) / .16);overflow:hidden}.consume-sheet .sheet-header{min-height:0;margin-bottom:0}.consume-sheet>:not(.sheet-handle):not(.sheet-header){min-height:0}.consume-sheet.is-expanded{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.consume-sheet.is-expanded>:not(.sheet-handle):not(.sheet-header){min-height:0}.consume-sheet .consume-editor,.consume-sheet .consume-confirmation{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:0;padding-bottom:calc(76px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(96px + env(safe-area-inset-bottom));scrollbar-width:none}.consume-sheet.is-expanded .consume-editor{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-right:0;scrollbar-width:none}.consume-sheet .consume-editor::-webkit-scrollbar,.consume-sheet .consume-confirmation::-webkit-scrollbar{display:none}.consume-sheet.is-expanded .consume-editor::-webkit-scrollbar{display:none}.consumption-edit-sheet .sheet-header{margin-bottom:12px}.consume-editor,.consume-confirmation{display:grid;gap:18px;align-content:start}.consume-sheet-item{display:grid;grid-template-columns:58px minmax(0,1fr);gap:12px;align-items:center}.consume-confirmation-item{margin-bottom:2px}.consume-sheet-media{width:58px;height:58px;border-radius:var(--radius-lg);border:1px solid rgb(var(--success-bright-rgb) / .18);background:linear-gradient(180deg,rgb(var(--success-bright-rgb) / .08),rgb(var(--success-bright-rgb) / .025)),rgb(var(--theme-bg-soft-rgb) / .82);display:grid;place-items:center;color:rgb(var(--text-muted-rgb) / .82);overflow:hidden}.consume-sheet-media.small{width:54px;height:54px;border-radius:var(--radius)}.consume-sheet-media-image{width:100%;height:100%;object-fit:cover;display:block}.consume-modal-title{margin:0;color:rgb(var(--white-rgb) / .98);font-size:1.05rem;line-height:1.18;font-weight:760;overflow-wrap:anywhere}.consume-sheet-subtitle{margin:5px 0 0;color:rgb(var(--text-subtle-rgb) / .78);font-size:.88rem;line-height:1.28}.consume-error{margin:0;padding:9px 11px}.consume-editor-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:end}.consume-editor .field,.consume-date-field{gap:8px}.consume-editor .field>span,.consume-date-field>span,.consume-section-label{display:block;font-size:.84rem;font-weight:600;line-height:1.25;color:rgb(var(--text-subtle-rgb) / .82)}.consume-unit-pills{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.consume-unit-pill{min-height:46px;justify-content:center;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82);color:rgb(var(--text-bright-rgb) / .9);font-weight:650}.consume-unit-pill.active-pill{border-color:rgb(var(--brand-rgb) / .82);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--success-bright-rgb) / .98)}.consume-quick-section{display:grid;gap:8px;align-content:start}.consume-quick-pills{display:flex;gap:8px;overflow-x:auto;padding:0 0 2px;scrollbar-width:none;scroll-padding-inline:50%}.consume-quick-pills::-webkit-scrollbar{display:none}.consume-quick-pill{flex:0 0 auto;min-height:34px;padding:7px 12px;border-radius:999px;border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--app-bg-end-rgb) / .42);color:rgb(var(--text-bright-rgb) / .86);font-weight:560}.consume-quick-pill.active-pill{border-color:rgb(var(--brand-2-rgb) / .72);background:rgb(var(--brand-2-rgb) / .13);color:rgb(var(--text-bright-rgb) / .98)}.consume-recipe-customization{display:grid;gap:9px}.consume-recipe-customize-link{width:fit-content;min-height:34px;display:inline-flex;align-items:center;justify-content:center;justify-self:center;gap:8px;padding:4px 2px;border:0;background:transparent;color:rgb(var(--text-bright-rgb) / .9);font-weight:700;cursor:pointer;transition:color .14s ease,transform .14s ease}.consume-recipe-customize-link:hover,.consume-recipe-customize-link:focus-visible{color:rgb(var(--text-bright-rgb) / .98)}.consume-recipe-customize-link:focus-visible{outline:none;border-radius:9px;box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.consume-recipe-customize-link:active{transform:translateY(1px)}.consume-recipe-customize-link svg{width:16px;height:16px;flex:0 0 auto}.consume-recipe-customize-link.is-customized{color:rgb(var(--success-bright-rgb) / .96)}.consume-recipe-customization-panel{display:grid;gap:11px;padding:11px;border:1px solid rgb(var(--white-rgb) / .08);border-radius:var(--radius);background:linear-gradient(180deg,rgb(var(--theme-bg-soft-rgb) / .72),rgb(var(--app-bg-end-rgb) / .58)),rgb(var(--surface-1-rgb) / .22)}.consume-recipe-customization-hint{margin:0;color:rgb(var(--text-subtle-rgb) / .78);font-size:.82rem;line-height:1.35}.consume-recipe-customization-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px}.consume-recipe-reset{padding:2px 0;border:0;background:transparent;color:rgb(var(--text-subtle-rgb) / .86);font-size:.82rem;font-weight:650;cursor:pointer}.consume-nutrition-section{display:grid;gap:9px;align-content:start}.consume-nutrient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.consume-nutrient-card{min-height:66px;padding:8px 9px;border-radius:12px;border:1px solid rgb(var(--white-rgb) / .07);background:linear-gradient(180deg,rgb(var(--theme-bg-soft-rgb) / .72),rgb(var(--app-bg-end-rgb) / .74)),radial-gradient(circle at top left,rgb(var(--success-bright-rgb) / .02),transparent 58%);display:grid;align-content:center;gap:3px}.consume-nutrient-card strong{font-family:var(--font-display);font-size:.91rem;line-height:1.12;font-weight:680;color:rgb(var(--white-rgb) / .98)}.consume-nutrient-meta{display:grid;gap:0}.consume-nutrient-percent{display:block;margin-top:2px;font-size:.68rem;line-height:1.1;font-weight:600}.consume-nutrient-label{display:block;font-size:.71rem;line-height:1.12;color:rgb(var(--text-subtle-rgb) / .76)}.consume-date-control{min-height:44px;display:grid;grid-template-columns:auto minmax(0,1fr);gap:9px;align-items:center;padding:3px 10px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82);color:rgb(var(--text-subtle-rgb) / .86)}.consume-date-control .date-picker{width:100%}.consume-date-control .date-picker-trigger{width:100%;min-height:36px;justify-content:flex-start;padding:0;border:0;background:transparent;color:rgb(var(--white-rgb) / .94);font-weight:600}.consume-submit-button.primary{width:100%;min-height:48px;align-self:stretch;margin-top:0;box-shadow:none}.consume-submit-button.primary:hover,.consume-submit-button.primary:focus-visible,.consume-submit-button.primary:active{box-shadow:none}.consume-submit-button .btn-inline{gap:9px}.consume-submit-button:disabled{opacity:.72;cursor:wait;transform:none}.consume-sticky-actions{position:absolute;left:16px;right:16px;bottom:0;margin-bottom:0;padding:12px 0 calc(14px + env(safe-area-inset-bottom));margin-top:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}@media(max-width:700px){.consume-sheet{height:calc(100dvh - 16px);max-height:calc(100dvh - 16px)}.consume-sheet .consume-editor{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.consume-sticky-actions{left:14px;right:14px}}.consume-confirmation{justify-items:center;text-align:center;padding:2px 2px 8px}.consume-confirmation .consume-sheet-item{justify-self:stretch;text-align:left}.consume-confirmation-check{width:108px;height:108px;margin:14px 0 8px;border-radius:999px;border:1px solid rgb(var(--brand-rgb) / .78);background:radial-gradient(circle,rgb(var(--brand-rgb) / .22),rgb(var(--brand-rgb) / .06) 58%,transparent 60%),rgb(var(--surface-1-rgb) / .72);color:rgb(var(--success-bright-rgb) / .96);display:grid;place-items:center;box-shadow:0 0 34px rgb(var(--brand-rgb) / .14)}.consume-confirmation-copy{display:grid;gap:6px}.consume-confirmation-copy h3{margin:0;font-size:1.08rem;line-height:1.18}.consume-confirmation-copy p{margin:0;color:rgb(var(--text-subtle-rgb) / .78);line-height:1.45}.consume-confirmation-primary{width:100%;min-height:46px;justify-content:center;margin-top:16px;border-radius:var(--radius);border-color:rgb(var(--slate-rgb) / .2);background:rgb(var(--app-bg-end-rgb) / .5);color:rgb(var(--white-rgb) / .94);font-weight:650}.consume-confirmation-link{border:0;background:transparent;color:rgb(var(--success-bright-rgb) / .94);font-weight:650;padding:7px 10px;cursor:pointer}@media(max-width:600px){.delete-sheet-actions{grid-template-columns:1fr}}@media(max-width:420px){.consume-nutrient-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.legal-page{width:min(100%,720px);margin:0 auto}.legal-page-header{display:grid;gap:6px;margin-bottom:18px}.legal-page-header h1{margin-bottom:0}.legal-page-header p{max-width:54ch}.legal-section-list{display:grid;gap:12px}.legal-section{padding:15px;border:1px solid rgb(var(--slate-rgb) / .12);border-radius:var(--radius-lg);background:linear-gradient(180deg,rgb(var(--white-rgb) / .024),rgb(var(--white-rgb) / .01)),rgb(var(--surface-control-rgb) / .34)}.legal-section h3{margin:0 0 7px}.legal-section p,.legal-version p{margin:0;line-height:1.46}.legal-version{padding:2px 2px 0;font-size:.86rem}.auth-screen{width:min(100%,390px);min-height:calc(100svh - 118px);margin:0 auto;padding:54px 0 16px;display:flex;flex-direction:column;justify-content:center}.auth-screen-long{min-height:auto;justify-content:flex-start;padding-top:64px}.auth-intro{margin-bottom:24px;text-align:center;display:grid;justify-items:center;gap:18px}.auth-intro-logo{width:min(158px,52vw);height:auto;display:block;filter:drop-shadow(0 12px 28px rgb(var(--brand-rgb) / .12))}.auth-intro-copy{display:grid;justify-items:center;gap:5px}.auth-intro-copy h1{margin:0;font-size:clamp(1.5rem,5vw,1.78rem);line-height:1.08;letter-spacing:-.025em}.auth-subtitle{max-width:30ch;margin:0;color:rgb(var(--text-muted-rgb) / .88);font-family:var(--font-body);font-size:.98rem;line-height:1.32}.auth-form{width:100%;gap:12px;margin:0}.auth-form .field{gap:6px;color:var(--text-muted);font-size:.85rem;line-height:1.2}.auth-form input,.auth-form select{min-height:46px;padding:11px 44px 11px 13px;border-radius:var(--radius);border-color:rgb(var(--text-muted-rgb) / .3);background:linear-gradient(180deg,rgb(var(--white-rgb) / .018),rgb(var(--white-rgb) / 0)),rgb(var(--app-bg-end-rgb) / .72)}.auth-form input:focus,.auth-form select:focus{border-color:rgb(var(--success-bright-rgb) / .55);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .1),inset 0 1px rgb(var(--white-rgb) / .03)}.auth-form input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px rgb(var(--app-bg-end-rgb) / .96) inset;caret-color:var(--text)}.auth-link-row{margin:-2px 0 2px;text-align:right;font-size:.9rem;line-height:1.25}.auth-screen a{color:rgb(var(--brand-2-rgb) / .9);font-weight:600}.auth-screen a:hover{color:var(--brand-soft)}.auth-submit.primary{width:100%;min-height:48px;margin-top:8px;border-radius:var(--radius);align-self:stretch;font-weight:700;background:linear-gradient(120deg,var(--brand),var(--brand-2));box-shadow:0 10px 22px rgb(var(--brand-rgb) / .12),inset 0 1px rgb(var(--white-rgb) / .2)}.auth-submit.primary:hover{box-shadow:0 12px 24px rgb(var(--brand-rgb) / .14),inset 0 1px rgb(var(--white-rgb) / .22)}.auth-switch{margin:20px 0 0;text-align:center;color:rgb(var(--text-muted-rgb) / .9);font-size:.92rem;line-height:1.35}.auth-switch a{color:rgb(var(--brand-2-rgb) / .92)}.page-with-floating-cta{padding-bottom:104px}.page-floating-cta{position:fixed;left:50%;bottom:22px;transform:translate(-50%);width:min(1100px,calc(100% - 32px));display:flex;justify-content:flex-end;padding:0 4px;z-index:18;pointer-events:none}.page-floating-cta-button{min-height:46px;padding:9px 16px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .09);background:linear-gradient(120deg,var(--brand),var(--brand-2));color:var(--text-bright);font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1;box-shadow:0 12px 24px rgb(var(--app-bg-end-rgb) / .34);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease;pointer-events:auto}.page-floating-cta-button:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgb(var(--app-bg-end-rgb) / .38);filter:saturate(1.03)}.page-floating-cta-button .page-floating-cta-content{display:inline-flex;align-items:center;justify-content:center;gap:9px}.page-floating-cta-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--white)}.page-floating-cta-label{display:inline-flex;align-items:center;line-height:1.1;font-size:.96rem;letter-spacing:.005em;color:var(--white)}.panel-pad-16{padding:16px}.share-request-sender{font-weight:600}.panel-section+.panel-section{margin-top:16px}.profile-panel .panel-section h3{display:block;width:100%;align-self:stretch;padding-top:16px;padding-bottom:10px;margin-top:12px;margin-bottom:8px;border-top:1px solid rgb(var(--slate-rgb) / .18)}.profile-panel .panel-header+.panel-section h3,.profile-panel .panel-header+.stack .panel-section:first-child h3{padding-top:0;margin-top:0;border-top:0}.profile-panel-account .panel-section h3{padding-top:0;margin-top:0;border-top:0}.account-email-row{display:flex;flex-direction:column;gap:4px;color:var(--muted);font-size:13px}.account-email-row strong{color:var(--text);font-size:15px;font-weight:600;overflow-wrap:anywhere}.profile-tabs-panel{padding-bottom:14px}.profile-panel .panel-header>div:first-child{flex:1 1 auto;min-width:0;max-width:none}.profile-panel .panel-header h1,.profile-panel .panel-header p{width:100%;overflow-wrap:anywhere}.profile-header-full-subtitle{width:100%;margin:2px 0 9px}.profile-panel-nutrition-display .stack{gap:0}.profile-panel-nutrition-display .panel-section+.panel-section{margin-top:18px}.profile-panel-nutrition-display .panel-section h3{padding-top:0;padding-bottom:0;margin-top:0;margin-bottom:12px;border-top:0;letter-spacing:0}.profile-panel-nutrition-display .profile-display-section{margin-top:0}.profile-panel-nutrition-display .profile-setting-card.switch{margin-top:0;padding:16px;border-color:rgb(var(--success-bright-rgb) / .13);background:radial-gradient(circle at 92% 18%,rgb(var(--brand-rgb) / .08),transparent 38%),linear-gradient(160deg,rgb(var(--surface-1-rgb) / .62),rgb(var(--theme-bg-soft-rgb) / .54))}.profile-panel-nutrition-display .profile-section-heading-row{padding-top:20px;margin-top:0;margin-bottom:12px;border-top-color:rgb(var(--slate-rgb) / .14)}.profile-main-actions{width:100%;justify-content:stretch;align-items:stretch}.account-danger-section{margin-top:26px}.account-danger-card{display:grid;gap:12px;padding:14px;border:1px solid rgb(var(--slate-rgb) / .12);border-radius:var(--radius-lg);background:radial-gradient(circle at 95% 10%,rgb(var(--danger-soft-rgb) / .08),transparent 34%),linear-gradient(160deg,rgb(var(--surface-1-rgb) / .44),rgb(var(--theme-bg-soft-rgb) / .38))}.profile-panel .account-danger-copy h3{padding:0;margin:0 0 6px;border:0}.account-danger-copy p{margin:0;line-height:1.4}.account-delete-button{width:100%;min-height:44px;gap:9px;color:rgb(var(--danger-soft-rgb) / .96);border-color:rgb(var(--danger-soft-rgb) / .22);background:rgb(var(--danger-soft-rgb) / .055)}.account-delete-button:hover{color:rgb(var(--white-rgb) / .96);border-color:rgb(var(--danger-soft-rgb) / .34);background:rgb(var(--danger-soft-rgb) / .12)}.sheet.account-delete-sheet,.sheet.bp-export-sheet{max-width:430px}.account-delete-form{display:grid;gap:13px}.account-delete-warning{display:flex;align-items:flex-start;gap:10px;padding:12px;border:1px solid rgb(var(--danger-soft-rgb) / .2);border-radius:var(--radius);background:rgb(var(--danger-soft-rgb) / .07);color:rgb(var(--text-subtle-rgb) / .92);font-size:.92rem;line-height:1.38}.account-delete-warning svg{flex:0 0 auto;margin-top:1px}.account-delete-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:2px}.account-delete-confirm-button{gap:9px;border-color:rgb(var(--danger-soft-rgb) / .28);color:rgb(var(--text-subtle-rgb) / .96);background:rgb(var(--danger-rgb) / .16)}.account-delete-confirm-button:hover{border-color:rgb(var(--danger-soft-rgb) / .42);background:rgb(var(--danger-rgb) / .24)}.primary-action-full{width:100%;min-height:46px;padding:9px 16px;border-radius:var(--radius);align-self:stretch;justify-content:center;gap:12px;line-height:1.1;box-shadow:0 8px 24px rgb(var(--brand-rgb) / .22)}.primary-action-full svg{flex:0 0 auto;display:block}@media(min-width:701px){.profile-panel:has(>form.stack)>.panel-header,.profile-panel>form.stack,.profile-panel>form.bp-entry-form{width:100%;max-width:680px;margin-inline:auto}.profile-panel .profile-main-actions{justify-content:center;align-items:center}.profile-panel .profile-main-actions .primary-action-full{width:min(100%,360px);flex:0 1 360px;align-self:center;margin-left:auto;margin-right:auto}.profile-panel .account-danger-section{width:100%;max-width:680px;margin-inline:auto}.page-panel>.admin-scan-search-form{width:100%;max-width:680px;margin-inline:auto}}.empty-state{width:100%;padding:14px 16px;border-radius:var(--radius);border:1px dashed rgb(var(--slate-rgb) / .18);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .46),rgb(var(--app-bg-end-rgb) / .36));color:rgb(var(--text-soft-rgb) / .82);font-size:.92rem;line-height:1.35}.profile-panel .empty-state+.empty-state{margin-top:8px}.profile-target-field,.nutrition-favorites-grid .favorite-toggle,.share-request-card,.bp-log-item{border:1px solid rgb(var(--slate-rgb) / .12);border-radius:var(--radius);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .64),rgb(var(--theme-bg-soft-rgb) / .56));box-shadow:inset 0 1px rgb(var(--white-rgb) / .025)}.profile-section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding-top:16px;margin-top:12px;margin-bottom:10px;border-top:1px solid rgb(var(--slate-rgb) / .18)}.profile-panel .panel-header+.stack .panel-section:first-child .profile-section-heading-row{padding-top:0;margin-top:0;border-top:0}.profile-section-heading-row h3{width:auto;padding:0;margin:0;border-top:0}.profile-section-count{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:28px;padding:4px 10px;border-radius:999px;border:1px solid rgb(var(--brand-rgb) / .24);background:rgb(var(--brand-rgb) / .08);color:var(--brand-bright);font-family:var(--font-display);font-size:.86rem;font-weight:750}.profile-setting-card.switch{width:100%;margin-top:8px;padding:14px 16px;border-radius:var(--radius);border:1px solid rgb(var(--slate-rgb) / .13);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .72),rgb(var(--theme-bg-soft-rgb) / .58)),radial-gradient(circle at 92% 18%,rgb(var(--brand-rgb) / .1),transparent 40%);box-shadow:inset 0 1px rgb(var(--white-rgb) / .025);justify-content:space-between;gap:16px}.profile-setting-copy{display:grid;gap:4px;min-width:0;color:rgb(var(--text-soft-rgb) / .82);line-height:1.35}.profile-setting-copy strong{color:rgb(var(--white-rgb) / .96);font-family:var(--font-display);font-size:.98rem;line-height:1.2}.profile-setting-card.switch input{flex:0 0 auto}.nutrition-favorites-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:8px}.profile-preset-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(106px,1fr));gap:8px;margin:12px 0 16px}.profile-preset-button{width:100%;min-height:48px;border-radius:var(--radius);justify-content:center;text-align:center;line-height:1.2;background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .96),rgb(var(--theme-bg-soft-rgb) / .94));border-color:rgb(var(--slate-rgb) / .13)}.profile-target-grid{grid-template-columns:repeat(auto-fit,minmax(116px,1fr));gap:10px;align-items:stretch}.profile-target-field{padding:10px 12px}.profile-target-field input{min-height:40px}.profile-section-list{display:flex;flex-direction:column;gap:10px}.profile-section-item{width:100%;border:1px solid var(--border);border-radius:12px;background:rgb(var(--white-rgb) / .03);color:var(--text);padding:12px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.profile-section-item:hover{border-color:rgb(var(--brand-rgb) / .38);background:rgb(var(--brand-rgb) / .06)}.profile-section-item:focus-visible{outline:none;border-color:rgb(var(--brand-2-rgb) / .55);box-shadow:0 0 0 2px rgb(var(--brand-2-rgb) / .2)}.profile-section-item-main{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0}.profile-section-item-title{font-weight:700;display:inline-flex;align-items:center;gap:8px}.profile-section-item-subtitle{font-size:.9rem;text-align:left}.profile-section-badge{min-width:18px;height:18px;padding:0 6px;border-radius:999px;background:var(--danger);color:var(--white);font-size:.72rem;font-weight:800;line-height:18px;text-align:center}.profile-back-button{display:inline-flex;align-items:center;gap:6px;padding:6px 10px}.profile-logout-item{margin-top:2px}.ocr-credit-overview{display:grid;gap:8px}.ocr-credit-balance-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0 2px}.ocr-credit-balance-copy{display:flex;flex-direction:column;gap:2px}.ocr-credit-balance-value{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,3.45rem);font-weight:800;line-height:.94;letter-spacing:0}.ocr-credit-scan-ratio{flex:0 0 auto;min-height:34px;padding:7px 11px;border-radius:999px;border:1px solid rgb(var(--brand-rgb) / .22);background:rgb(var(--brand-rgb) / .07);color:var(--brand-bright);display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:650;white-space:nowrap}.ocr-credit-product-grid{display:grid;gap:10px}.ocr-credit-product-card{position:relative;min-height:66px;padding:10px 10px 10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgb(var(--slate-rgb) / .12);border-radius:var(--radius-lg);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .46),rgb(var(--theme-bg-soft-rgb) / .36));box-shadow:inset 0 1px rgb(var(--white-rgb) / .02)}.ocr-credit-product-card.is-popular{margin-top:8px;margin-bottom:8px;padding-top:18px;border-color:rgb(var(--brand-2-rgb) / .32);background:radial-gradient(circle at 96% 12%,rgb(var(--brand-2-rgb) / .1),transparent 38%),linear-gradient(160deg,rgb(var(--surface-1-rgb) / .58),rgb(var(--theme-bg-soft-rgb) / .42));box-shadow:inset 0 1px rgb(var(--white-rgb) / .04)}.ocr-credit-product-main{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;flex:1 1 auto}.ocr-credit-product-copy{min-width:0;display:grid;gap:4px}.ocr-credit-product-title-row{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.ocr-credit-product-title{font-weight:700;font-size:.98rem;line-height:1.2}.ocr-credit-product-tags{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.ocr-credit-product-badge{position:absolute;top:-11px;left:14px;min-height:20px;padding:2px 7px;border-radius:999px;border:1px solid rgb(var(--brand-2-rgb) / .28);background:linear-gradient(180deg,rgb(var(--brand-2-rgb) / .14),rgb(var(--surface-control-rgb) / .86));color:color-mix(in srgb,var(--brand-2) 58%,var(--white));font-size:.72rem;font-weight:750;box-shadow:0 0 0 4px var(--app-bg)}.ocr-credit-product-price{flex:0 0 auto;color:var(--text-subtle);font-family:var(--font-display);font-size:1rem;font-weight:750;white-space:nowrap}.ocr-credit-product-credits{display:grid;gap:2px;color:rgb(var(--text-subtle-rgb) / .78);font-size:.86rem;line-height:1.25}.ocr-credit-product-credits span+span{color:rgb(var(--text-muted-rgb) / .82);font-size:.78rem}.ocr-credit-product-buy{flex:0 0 auto;min-height:40px;padding:9px 13px;border-radius:12px;font-size:.9rem;font-weight:650;box-shadow:0 8px 18px rgb(var(--brand-rgb) / .16)}@media(min-width:680px){.ocr-credit-product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ocr-credit-product-card{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:12px;min-height:176px;padding:14px;background:radial-gradient(circle at 92% 8%,rgb(var(--brand-rgb) / .055),transparent 36%),linear-gradient(160deg,rgb(var(--surface-1-rgb) / .46),rgb(var(--theme-bg-soft-rgb) / .36));box-shadow:inset 0 1px rgb(var(--white-rgb) / .028),0 12px 24px rgb(var(--black-rgb) / .08)}.ocr-credit-product-card.is-popular{margin-top:0;margin-bottom:0;padding-top:14px;background:radial-gradient(circle at 90% 8%,rgb(var(--brand-2-rgb) / .18),transparent 40%),linear-gradient(160deg,rgb(var(--surface-1-rgb) / .58),rgb(var(--theme-bg-soft-rgb) / .42));box-shadow:inset 0 1px rgb(var(--white-rgb) / .04),0 16px 30px rgb(var(--brand-2-rgb) / .08)}.ocr-credit-product-main{display:grid;gap:12px;flex:0 1 auto}.ocr-credit-product-copy{gap:8px}.ocr-credit-product-title-row{align-items:flex-start;justify-content:space-between;gap:10px}.ocr-credit-product-title{font-size:1.02rem}.ocr-credit-product-badge{position:static;box-shadow:none}.ocr-credit-product-price{font-size:1.36rem;line-height:1;font-weight:800}.ocr-credit-product-buy{width:100%;justify-content:center;margin-top:auto}}.ocr-credit-product-note{font-size:.85rem;line-height:1.35}.ocr-credit-page-note{margin-top:10px;font-size:.86rem;line-height:1.35}.ocr-credit-history-section{padding-top:12px;border-top:1px solid rgb(var(--slate-rgb) / .16)}.ocr-credit-history-summary{width:100%;min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:rgb(var(--white-rgb) / .96);font-family:var(--font-display);font-size:1rem;font-weight:750;cursor:pointer;list-style:none;border-radius:12px}.ocr-credit-history-summary::-webkit-details-marker{display:none}.ocr-credit-history-summary:after{content:"›";color:rgb(var(--text-muted-rgb) / .9);font-size:1.35rem;line-height:1;transform:rotate(90deg);transition:transform .14s ease}.ocr-credit-history-section[open] .ocr-credit-history-summary:after{transform:rotate(-90deg)}.ocr-credit-history-count{margin-left:auto;min-width:26px;height:24px;padding:2px 8px;border-radius:999px;border:1px solid rgb(var(--brand-2-rgb) / .2);background:rgb(var(--brand-2-rgb) / .1);color:color-mix(in srgb,var(--brand-2) 58%,var(--white));display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-body);font-size:.78rem;font-weight:750}.ocr-credit-activity-list{display:flex;flex-direction:column;gap:0;margin-top:4px}.ocr-credit-activity-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgb(var(--slate-rgb) / .1)}.ocr-credit-activity-item:last-child{border-bottom:0}.ocr-credit-activity-title{font-weight:650;line-height:1.25}.ocr-credit-activity-detail{margin-top:3px;font-size:.88rem;line-height:1.25}.ocr-credit-activity-meta{min-width:92px;text-align:right;display:flex;flex-direction:column;gap:3px}.ocr-credit-positive{color:var(--brand-bright);font-weight:700}.ocr-credit-negative{color:var(--danger-soft);font-weight:700}.ocr-credit-admin-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--white-rgb) / .025);padding:14px 16px}.ocr-credit-admin-value{font-size:1.4rem;font-weight:800;line-height:1.1}@media(max-width:700px){.ocr-credit-admin-summary{flex-direction:column}.ocr-credit-product-card,.ocr-credit-product-main{align-items:center}.ocr-credit-balance-summary{align-items:flex-start}.ocr-credit-scan-ratio{margin-top:4px}.ocr-credit-activity-meta{min-width:0;text-align:right}.ocr-credit-admin-summary{grid-template-columns:1fr}}.tutorial-overlay{position:fixed;inset:0;z-index:1600;background:rgb(var(--app-bg-end-rgb) / .42);pointer-events:auto}.tutorial-card{position:fixed;border-radius:var(--radius-lg);z-index:2;pointer-events:auto;box-shadow:0 10px 24px rgb(var(--app-bg-end-rgb) / .3);overflow:visible;padding:14px 14px 12px;transition:top .22s cubic-bezier(.22,.8,.24,1),left .22s cubic-bezier(.22,.8,.24,1),max-height .22s cubic-bezier(.22,.8,.24,1),opacity .18s ease;transform:none}.tutorial-caret{position:absolute;width:14px;height:14px;transform:translate(-50%) rotate(45deg);border:1px solid var(--border);background:linear-gradient(145deg,var(--panel),var(--panel-2));transition:left .32s cubic-bezier(.2,.9,.2,1)}.tutorial-caret.up{top:-8px;border-right:none;border-bottom:none}.tutorial-caret.down{bottom:-8px;border-left:none;border-top:none}.tutorial-spotlight{position:fixed;top:var(--tutorial-top);left:var(--tutorial-left);width:var(--tutorial-width);height:var(--tutorial-height);border-radius:var(--radius);border:2px solid rgb(var(--brand-rgb) / .85);box-shadow:0 0 0 9999px rgb(var(--app-bg-end-rgb) / .38),0 0 0 1px rgb(var(--brand-2-rgb) / .35),0 0 18px rgb(var(--brand-rgb) / .24);z-index:1;pointer-events:auto;transition:top .32s cubic-bezier(.2,.9,.2,1),left .32s cubic-bezier(.2,.9,.2,1),width .32s cubic-bezier(.2,.9,.2,1),height .32s cubic-bezier(.2,.9,.2,1),box-shadow .32s cubic-bezier(.2,.9,.2,1)}.tutorial-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.tutorial-header h2{margin:0;font-size:1.72rem;line-height:1.05;font-weight:590;letter-spacing:-.01em}.tutorial-step-count{margin:6px 0;font-size:.9rem}.tutorial-step-title{margin:0 0 6px;font-size:1.3rem;font-weight:620}.tutorial-step-body{margin:0;color:var(--muted);line-height:1.45;font-size:1rem;font-weight:450}.tutorial-content{min-height:156px;transition:opacity .22s ease,transform .22s cubic-bezier(.2,.7,.2,1)}.tutorial-content.is-in{animation:tutorialContentInTop .24s cubic-bezier(.2,.7,.2,1)}.tutorial-content.is-out{opacity:0;transform:translateY(-3px)}.tutorial-card.is-routing{opacity:1;transform:none}.tutorial-target-loading{margin-top:8px;margin-bottom:0;font-size:.92rem}.tutorial-dots{display:flex;gap:8px}.tutorial-dot{width:8px;height:8px;border-radius:999px;background:rgb(var(--slate-rgb) / .42)}.tutorial-dot.active{background:rgb(var(--brand-rgb) / .95)}.tutorial-nav-row{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:10px}@keyframes tutorialContentInTop{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tutorial-card .ghost-button,.tutorial-card .primary{min-height:38px;font-weight:600}.tutorial-nav-btn{width:36px;min-width:36px;min-height:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;padding:0;border-radius:10px}.tutorial-skip-link{border:none;background:transparent;color:var(--muted);font-weight:520;font-size:.94rem;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.tutorial-skip-link:hover,.tutorial-skip-link:focus-visible{color:var(--text-soft)}@media(max-width:640px){.tutorial-overlay{background:rgb(var(--app-bg-end-rgb) / .34)}.tutorial-card{max-width:calc(100vw - 20px);border-radius:var(--radius);padding:10px;box-shadow:0 8px 18px rgb(var(--app-bg-end-rgb) / .24)}.tutorial-header h2{font-size:1.38rem;line-height:1.05;font-weight:560}.tutorial-step-count{margin-top:4px;margin-bottom:4px;font-size:.82rem;font-weight:500}.tutorial-step-title{margin:0 0 4px;font-size:1.08rem;font-weight:600}.tutorial-step-body{font-size:.92rem;line-height:1.36;font-weight:430}.tutorial-target-loading{margin-top:6px;font-size:.82rem}.tutorial-content{min-height:136px}.tutorial-dots{gap:7px}.tutorial-dot{width:7px;height:7px}.tutorial-nav-row{margin-top:10px;gap:8px}.tutorial-card .ghost-button,.tutorial-card .primary{min-height:34px;padding:7px 10px;font-size:.92rem;border-radius:10px;font-weight:560}.tutorial-nav-btn{width:34px;min-width:34px;min-height:34px;height:34px;border-radius:9px}.tutorial-skip-link{font-size:.88rem}}.profile-view-enter,.profile-view-enter.from-forward,.profile-view-enter.from-back{animation:none}.native-disclosure>summary{cursor:pointer}.native-disclosure[open]>summary{margin-bottom:10px}.native-disclosure>summary>div{display:block}.native-disclosure>.disclosure-body{margin-top:4px}.panel h1,.page-panel h1{margin:0 0 4px}.panel-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:nowrap;position:relative}.admin-page-header{flex-direction:column;align-items:flex-start;gap:10px}.admin-page-header .admin-refresh-button{align-self:flex-start}.admin-scan-search-form{margin:0 0 16px;gap:12px}.admin-scan-search-form .field{margin:0}.admin-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%}.admin-results-toolbar .muted{min-width:0}.admin-results-toolbar .admin-refresh-button{flex:0 0 auto}.summary-date{display:flex;justify-content:flex-end}.panel-filter{width:100%;margin-bottom:12px}.list-filter-stack{display:flex;flex-direction:column;gap:10px}.search-filter-bar{display:grid;gap:10px}.search-filter-bar.has-favorite-filter{grid-template-columns:minmax(0,1fr) 44px;align-items:stretch;gap:8px}.search-filter-bar.has-favorite-filter>.filter-text-wrap-search{width:100%;max-width:none;margin-inline:0}.search-favorite-filter-toggle,.search-favorite-filter-toggle:hover,.search-favorite-filter-toggle:focus-visible{width:44px;height:44px;padding:5px;border-color:rgb(var(--slate-rgb) / .15);background:rgb(var(--surface-control-rgb) / .42);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none}.search-favorite-filter-toggle svg{fill:transparent;stroke:currentColor;transition:fill .14s ease,stroke .14s ease}.search-favorite-filter-toggle.is-active{border-color:rgb(var(--warning-bright-rgb) / .32);background:rgb(var(--warning-bright-rgb) / .08);color:rgb(var(--warning-bright-rgb) / .96)}.search-favorite-filter-toggle.is-active svg{fill:currentColor}.list-filter-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.list-filter-pill{--filter-accent-rgb: var(--brand-rgb);position:relative;overflow:hidden;min-height:58px;padding:8px 10px;border-radius:var(--radius);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .96),rgb(var(--theme-bg-soft-rgb) / .94));border-color:rgb(var(--slate-rgb) / .1);color:rgb(var(--text-bright-rgb) / .84);justify-content:center;text-align:center;box-shadow:inset 0 1px rgb(var(--white-rgb) / .03),0 4px 12px rgb(var(--app-bg-end-rgb) / .14)}.list-filter-pill:hover{background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .98),rgb(var(--surface-control-rgb) / .96));border-color:rgb(var(--slate-rgb) / .16)}.list-filter-pill:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .28);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.list-filter-pill:active{transform:translateY(1px)}.list-filter-pill[data-filter=recent]{--filter-accent-rgb: var(--brand-rgb)}.list-filter-pill[data-filter=favorites]{--filter-accent-rgb: var(--warning-bright-rgb)}.list-filter-pill[data-filter=frequent]{--filter-accent-rgb: var(--brand-3-rgb)}.list-filter-pill.active-pill{background:radial-gradient(circle at 50% 0%,rgb(var(--filter-accent-rgb) / .16),transparent 48%),linear-gradient(180deg,rgb(var(--surface-1-rgb) / .98),rgb(var(--theme-bg-soft-rgb) / .96));border-color:rgb(var(--filter-accent-rgb) / .34);box-shadow:inset 0 0 0 1px rgb(var(--filter-accent-rgb) / .08),inset 0 1px rgb(var(--white-rgb) / .04),0 8px 18px rgb(var(--app-bg-end-rgb) / .2);color:var(--text-bright)}.list-filter-pill-content{width:100%;justify-content:center;flex-direction:column;gap:5px}.list-filter-pill .list-filter-pill-icon{display:inline-flex;align-items:center;justify-content:center;margin:0 auto;transition:color .16s ease,filter .16s ease}.list-filter-pill[data-filter=recent] .list-filter-pill-icon{color:var(--brand)}.list-filter-pill[data-filter=favorites] .list-filter-pill-icon{color:var(--warning-bright)}.list-filter-pill[data-filter=frequent] .list-filter-pill-icon{color:var(--brand-3)}.list-filter-pill.active-pill .list-filter-pill-icon{color:rgb(var(--filter-accent-rgb))}.list-filter-pill .list-filter-pill-icon svg{width:17px;height:17px;fill:transparent;stroke:currentColor;transition:fill .16s ease,stroke .16s ease}.list-filter-pill.active-pill .list-filter-pill-icon svg{fill:transparent;stroke:rgb(var(--filter-accent-rgb))}.list-filter-pill.active-pill .list-filter-pill-icon svg>*{stroke:rgb(var(--filter-accent-rgb))}.list-filter-pill.active-pill .list-filter-pill-icon svg>:first-child{fill:rgb(var(--filter-accent-rgb));stroke:rgb(var(--filter-accent-rgb))}.list-filter-pill.active-pill[data-filter=recent] .list-filter-pill-icon svg>:not(:first-child){stroke:var(--theme-bg-deep)}.list-filter-pill.active-pill[data-filter=recent] .list-filter-pill-icon svg circle{fill:rgb(var(--filter-accent-rgb));stroke:rgb(var(--filter-accent-rgb))}.list-filter-pill.active-pill[data-filter=recent] .list-filter-pill-icon svg line,.list-filter-pill.active-pill[data-filter=recent] .list-filter-pill-icon svg path,.list-filter-pill.active-pill[data-filter=recent] .list-filter-pill-icon svg polyline{fill:none;stroke:var(--theme-bg-deep)!important;color:var(--theme-bg-deep)}.list-filter-pill.active-pill[data-filter=recent] .list-filter-clock-face{fill:rgb(var(--filter-accent-rgb))!important;stroke:rgb(var(--filter-accent-rgb))!important}.list-filter-pill.active-pill[data-filter=recent] .list-filter-clock-hands{fill:none!important;stroke:var(--theme-bg-deep)!important;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.list-filter-pill span:last-child{font-size:.84rem;font-weight:640;line-height:1.1}@media(min-width:701px){.search-filter-bar{width:100%;max-width:760px;margin-inline:auto;gap:9px}.search-filter-bar>.filter-text-wrap-search{width:100%;max-width:720px;margin-inline:auto}.search-filter-bar.has-favorite-filter>.filter-text-wrap-search{max-width:none;margin-inline:0}.list-filter-pills{width:min(460px,100%);margin-inline:auto;padding:4px;gap:4px;border:1px solid rgb(var(--slate-rgb) / .13);border-radius:var(--radius);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .6),rgb(var(--app-bg-end-rgb) / .42));box-shadow:inset 0 1px rgb(var(--white-rgb) / .025)}.list-filter-pill{min-height:42px;padding:7px 12px;border-color:transparent;border-radius:calc(var(--radius) - 4px);background:transparent;box-shadow:none}.list-filter-pill:hover{border-color:transparent;background:rgb(var(--white-rgb) / .045)}.list-filter-pill.active-pill{border-color:rgb(var(--slate-rgb) / .12);background:radial-gradient(circle at 50% 0%,rgb(var(--filter-accent-rgb) / .13),transparent 52%),rgb(var(--surface-control-rgb) / .72);box-shadow:inset 0 1px rgb(var(--white-rgb) / .035),0 5px 14px rgb(var(--app-bg-end-rgb) / .16)}.list-filter-pill-content{flex-direction:row;gap:7px}.list-filter-pill .list-filter-pill-icon{margin:0}.list-filter-pill .list-filter-pill-icon svg{width:16px;height:16px}}.log-filter-row{display:flex;flex-direction:column;gap:10px;align-items:stretch}.log-filter-top{display:flex;align-items:flex-end;gap:12px}.log-filter-base-row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.log-filter-base-row .list-filter-pills{flex:1 1 340px;min-width:320px}.log-top-switches{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:10px;flex:0 0 auto}.log-keyword-field,.log-keyword-field input{width:100%}.log-filter-top .log-keyword-field{flex:1 1 auto}.log-filter-row .field{margin:0;min-width:0}.log-filter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:end}.log-filter-grid .switch{min-height:46px;align-self:end}.log-nutrient-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.log-nutrient-rule{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.log-nutrient-rule .muted{color:var(--muted);font-size:13px}.log-nutrient-controls{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,.8fr) minmax(0,1fr);gap:8px}.log-nutrient-controls input,.log-nutrient-controls select{font-size:13px}@media(max-width:600px){.log-filter-top{gap:8px}.log-filter-base-row{align-items:stretch}.log-filter-base-row .list-filter-pills{min-width:0}.log-top-switches{gap:6px;justify-content:flex-start;margin-left:0}.favorites-switch-label,.advanced-switch-label{display:none}.log-nutrient-controls{grid-template-columns:1fr}.list-filter-pill{min-height:56px;padding:8px 7px;border-radius:var(--radius)}.list-filter-pill span:last-child{font-size:.8rem}}@media(max-width:600px){.page-with-floating-cta{padding-bottom:146px}.page-floating-cta{bottom:calc(92px + env(safe-area-inset-bottom));width:calc(100% - 24px);padding:0}.page-floating-cta-button{width:100%;justify-content:center;min-height:44px;border-radius:13px;padding-inline:14px}.page-floating-cta-label{font-size:.95rem}}.panel-header-inline{width:100%}.selector-row-flat{display:flex;gap:12px;align-items:center;padding:0;border:none;background:transparent;box-shadow:none}.selector-row-flat .field{margin:0;flex:1}.selector-row-flat .selector-input.flat{flex:1 1 0;min-width:0}.selector-row-flat .quantity-field.flat,.selector-row-flat .unit-field.flat{flex:0 0 auto}.selector-row-flat .quantity-field.flat{width:80px}.selector-row-flat .unit-field.flat{min-width:150px}.selector-row-flat .selector-action{margin-left:auto}.selector-quantity-width{max-width:140px}.selector-unit-width{min-width:140px}.camera-overlay{position:fixed;inset:0;background:rgb(var(--black-rgb) / .7);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;z-index:9999}.camera-frame{width:90%;max-width:400px;border-radius:12px;overflow:hidden;background:var(--surface-control)}.camera-preview{width:100%;height:260px;object-fit:cover;background:var(--black)}.skeleton-line.tight{height:42px}.skeleton-width-160{width:160px}.selector-input-wrap{position:relative}.recipe-ingredient-row .unit-field .ghost-button{height:44px;display:inline-flex;align-items:center;justify-content:center}.recipe-ingredient-row.selector-row-flat{margin-bottom:12px}.recipe-ingredient-row.selector-row-flat:last-child{margin-bottom:0}@media(max-width:600px){.recipe-ingredient-row.selector-row-flat{display:grid;grid-template-columns:90px 1fr 40px;grid-template-areas:"ingredient ingredient ingredient" "quantity unit action";gap:12px;align-items:start}.recipe-ingredient-row.selector-row-flat .selector-input.flat{grid-area:ingredient;min-width:0}.recipe-ingredient-row.selector-row-flat .quantity-field.flat,.recipe-ingredient-row.selector-row-flat .unit-field.flat{min-width:0}.recipe-ingredient-row.selector-row-flat .quantity-field.flat{grid-area:quantity;max-width:none}.recipe-ingredient-row.selector-row-flat .unit-field.flat{grid-area:unit;max-width:none}.recipe-ingredient-row.selector-row-flat .selector-action{grid-area:action;margin-left:0;justify-self:end}.recipe-ingredient-row .unit-field .pill-row{flex-wrap:nowrap;gap:4px}.recipe-ingredient-row .unit-field .ghost-button{padding:0 6px;min-width:0;height:44px;font-size:.78rem;display:inline-flex;align-items:center;justify-content:center}.recipe-ingredient-row.selector-row-flat .field>span{white-space:nowrap}}@media(max-width:415px){.recipe-ingredient-row.selector-row-flat{grid-template-columns:80px 1fr 32px}}.panel-actions{display:flex;flex-direction:column;gap:8px;align-items:flex-end;margin-top:4px;position:static}.panel-header>.panel-actions{position:absolute;top:0;right:0}.log-action-buttons{align-items:stretch;margin-bottom:8px}.log-action-buttons .ghost-button{flex:0 0 auto;justify-content:center}@media(max-width:480px){.dashboard-actions{display:none}}@media(max-width:390px){.log-action-buttons{flex-wrap:wrap;gap:6px}.log-action-buttons .ghost-button{padding:8px}.log-action-buttons .ghost-button svg{width:14px;height:14px}.log-action-buttons .ghost-button span{gap:4px}}@media(max-width:359px){.log-action-buttons .ghost-button svg{display:none}}.switch{display:inline-flex;align-items:center;gap:10px;font-size:.9rem;color:var(--text)}.switch input{appearance:none;width:44px;height:24px;border-radius:999px;border:1px solid var(--border);background:var(--panel-2);position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}.switch input:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--text);background-image:none;background-repeat:no-repeat;background-position:center;background-size:12px 12px;transition:transform .15s ease,background .15s ease}.switch.favorites-switch input:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='%230b1526' fill='none' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polygon points='12 2 15 9 22 9 16.5 13.5 18.5 21 12 16.8 5.5 21 7.5 13.5 2 9 9 9 12 2'/></svg>")!important}.switch.favorites-switch input:checked:after{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23e2e8f0'><polygon points='12 2 15 9 22 9 16.5 13.5 18.5 21 12 16.8 5.5 21 7.5 13.5 2 9 9 9 12 2'/></svg>")!important}.switch input:checked{background:linear-gradient(120deg,var(--accent),var(--accent-2));border-color:var(--accent-2)}.switch input:checked:after{transform:translate(20px);background:var(--text-inverse);background-image:none}.profile-checkbox-row{flex-direction:row;align-items:center;gap:10px}.profile-checkbox{appearance:none;width:18px;height:18px;border-radius:5px;border:1px solid rgb(var(--slate-rgb) / .45);background:rgb(var(--surface-control-rgb) / .9);display:grid;place-content:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.profile-checkbox:after{content:"";width:10px;height:10px;transform:scale(0);transition:transform .12s ease;background:var(--text-inverse);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 14%,80% 0,43% 62%)}.profile-checkbox:checked{background:linear-gradient(120deg,var(--accent),var(--accent-2));border-color:var(--accent-2);box-shadow:0 4px 10px rgb(var(--brand-2-rgb) / .28)}.profile-checkbox:checked:after{transform:scale(1)}.favorite-toggle{appearance:none;border:1px solid var(--border);background:rgb(var(--surface-control-rgb) / .6);color:var(--text);border-radius:var(--radius);padding:10px 12px;display:inline-flex;align-items:center;gap:8px;font-size:.9rem;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}.favorite-toggle:hover{border-color:rgb(var(--brand-rgb) / .45);transform:translateY(-1px)}.favorite-toggle:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .42);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.favorite-toggle:active{transform:translateY(1px)}.favorite-toggle-check{width:18px;height:18px;border-radius:6px;border:1px solid rgb(var(--slate-rgb) / .5);display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:transparent;background:rgb(var(--surface-control-rgb) / .9)}.favorite-toggle.is-active{border-color:var(--border);background:rgb(var(--surface-control-rgb) / .6)}.favorite-toggle.is-active .favorite-toggle-check{background:linear-gradient(120deg,var(--accent),var(--accent-2));border-color:var(--accent-2);color:var(--text-inverse)}.nutrition-favorites-grid .favorite-toggle{min-height:48px;justify-content:flex-start}.nutrition-favorites-grid .favorite-toggle.is-active{border-color:rgb(var(--brand-rgb) / .32);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .82),rgb(var(--surface-control-rgb) / .7)),radial-gradient(circle at 100% 0%,rgb(var(--brand-rgb) / .12),transparent 44%)}.link-button{background:none;border:none;padding:0;color:var(--accent-2);font-size:.85rem;cursor:pointer;display:block;width:100%;text-align:center}.link-button:hover{text-decoration:underline}.share-select,.share-select option{padding:4px 8px}.share-search-wrap{margin-top:10px}.share-search{width:100%;padding:12px 13px;border-radius:var(--radius);border:1px solid rgb(var(--text-muted-rgb) / .34);background:rgb(var(--theme-bg-soft-rgb) / .74);color:var(--text);box-shadow:inset 0 1px rgb(var(--white-rgb) / .03);transition:.2s ease}.share-search:focus{outline:none;border-color:rgb(var(--brand-rgb) / .72);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .16)}.share-list{margin-top:8px;border:1px solid rgb(var(--text-muted-rgb) / .16);border-radius:var(--radius-lg);padding:10px;max-height:280px;overflow-y:auto;display:grid;gap:10px;background:rgb(var(--app-bg-end-rgb) / .42);box-shadow:inset 0 1px rgb(var(--white-rgb) / .02)}.share-item{font-size:.94rem;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgb(var(--surface-control-rgb) / .5);border:1px solid rgb(var(--text-muted-rgb) / .1);transition:background .18s ease,border-color .18s ease,transform .18s ease}.share-item:hover{background:rgb(var(--surface-1-rgb) / .72);border-color:rgb(var(--brand-rgb) / .16);transform:translateY(-1px)}.share-item .profile-checkbox{flex:0 0 auto;margin-top:0}.share-item-name{flex:1 1 auto;min-width:0;color:var(--text)}.share-item .suggestion-tag{margin-left:auto;flex:0 0 auto;border-color:rgb(var(--brand-rgb) / .14);background:rgb(var(--brand-rgb) / .055);font-size:.58rem;letter-spacing:.055em;opacity:.92}.share-section{margin-top:16px}.share-section:first-of-type{margin-top:8px}.share-selection-row{min-height:28px;margin-top:6px;padding-inline:2px;display:flex;align-items:center;justify-content:space-between;gap:12px}.share-selection-summary{font-size:.85rem}.share-reset-button{padding:0;border:0;background:transparent;color:rgb(var(--success-bright-rgb) / .88);font:inherit;font-size:.84rem;font-weight:650;cursor:pointer}.share-reset-button:hover,.share-reset-button:focus-visible{color:var(--brand-soft);text-decoration:underline;outline:none}.share-selection-preview{display:block;margin-top:4px;color:rgb(var(--text-subtle-rgb) / .7)}.share-list-empty{margin-top:10px}.share-submit-row{flex-wrap:wrap}.share-request-card{padding:14px}.share-request-card-top{display:flex;align-items:flex-start;gap:12px}.share-request-icon{width:38px;height:38px;border-radius:var(--radius);border:1px solid rgb(var(--brand-rgb) / .18);background:linear-gradient(160deg,rgb(var(--brand-rgb) / .12),rgb(var(--brand-2-rgb) / .07)),rgb(var(--surface-depth-rgb) / .72);color:rgb(var(--success-bright-rgb) / .92);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}.share-request-main{min-width:0;flex:1 1 auto}.share-request-sender{color:var(--text-subtle);font-weight:700;line-height:1.25}.share-request-summary{margin-top:3px;color:rgb(var(--text-muted-rgb) / .9);font-size:.9rem;line-height:1.3}.share-request-actions{margin-top:13px;display:grid;gap:9px}.share-request-decision-row{display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-request-action{width:100%;min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding-inline:12px;border-radius:13px}.share-request-view-action{min-height:40px}.share-preview-modal{width:min(390px,92vw);padding:16px;border-radius:var(--radius-lg);background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .98),rgb(var(--theme-bg-soft-rgb) / .98)),radial-gradient(circle at 85% 18%,rgb(var(--brand-rgb) / .08),transparent 34%);border-color:rgb(var(--slate-rgb) / .16);box-shadow:0 24px 56px rgb(var(--black-rgb) / .44)}.share-preview-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.share-preview-close-button{width:34px;height:34px;padding:0;border:1px solid rgb(var(--slate-rgb) / .16);border-radius:12px;background:rgb(var(--surface-control-rgb) / .58);color:rgb(var(--text-subtle-rgb) / .86);display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;cursor:pointer;transition:border-color .14s ease,background .14s ease,color .14s ease,transform .14s ease}.share-preview-close-button:hover,.share-preview-close-button:focus-visible{border-color:rgb(var(--brand-rgb) / .26);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--white-rgb) / .96);outline:none}.share-preview-close-button:active{transform:translateY(1px)}.share-preview-modal-header h3{margin-bottom:4px}.share-preview-list{padding:8px;gap:8px;background:rgb(var(--app-bg-end-rgb) / .36)}.share-preview-item{min-height:54px;padding:11px 12px;border-radius:var(--radius);background:rgb(var(--theme-bg-soft-rgb) / .7)}.share-preview-actions{margin-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.share-preview-actions .ghost-button,.share-preview-actions .primary{min-width:0}.share-preview-list .share-item{cursor:default}.share-preview-list .share-item:hover{transform:none}.muted{color:var(--muted)}.quiet{color:var(--muted);opacity:.75;font-style:italic;font-size:.88em}.stack{display:flex;flex-direction:column;gap:12px;margin:0 0 12px}.hidden-input{display:none}.field{display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:13px}.field-row{display:flex;gap:12px;align-items:flex-end}.field-row .field{flex:1 1 auto}.field-row .primary{height:46px;padding:0 18px;align-self:flex-end}.field.has-error input,.field.has-error select,.field.has-error textarea{border-color:var(--danger-soft);box-shadow:0 0 0 1px rgb(var(--danger-soft-rgb) / .4)}.field-error{color:var(--danger-soft);font-size:12px;margin-top:4px;display:block}.form-error-banner{background:rgb(var(--danger-soft-rgb) / .1);border:1px solid rgb(var(--danger-soft-rgb) / .4);color:var(--danger-soft);padding:10px 14px;border-radius:12px;margin-bottom:12px}.sheet .form-error-sticky{position:static;margin-top:10px;margin-bottom:10px}input.invalid-shake,select.invalid-shake,textarea.invalid-shake{animation:invalidShake .28s ease;border-color:rgb(var(--danger-soft-rgb) / .78)!important;box-shadow:0 0 0 2px rgb(var(--danger-soft-rgb) / .2)}.invalid-field-shake{animation:invalidShake .28s ease}@keyframes invalidShake{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(4px)}75%{transform:translate(-3px)}to{transform:translate(0)}}@keyframes pulseSoft{0%,to{opacity:.72;transform:scale(.96)}50%{opacity:1;transform:scale(1)}}.recipe-description-input{width:100%;padding:12px 13px;border-radius:var(--radius);border:1px solid rgb(var(--text-muted-rgb) / .34);background:rgb(var(--theme-bg-soft-rgb) / .74);color:var(--text);box-shadow:inset 0 1px rgb(var(--white-rgb) / .03)}input,select,button{font:inherit}input,select,textarea{padding:12px 13px;border-radius:var(--radius);border:1px solid rgb(var(--text-muted-rgb) / .34);background:rgb(var(--theme-bg-soft-rgb) / .74);color:var(--text);box-shadow:inset 0 1px rgb(var(--white-rgb) / .03);transition:.2s ease}input::placeholder,textarea::placeholder{color:rgb(var(--text-muted-rgb) / .8)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 3px),calc(100% - 13px) calc(50% - 3px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:38px}select option{background:var(--surface-control);color:var(--text)}select::-ms-expand{display:none}input:focus,select:focus,textarea:focus{outline:none;border-color:rgb(var(--brand-rgb) / .72);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .16)}input[type=date]::-webkit-calendar-picker-indicator{filter:brightness(0) invert(1);opacity:1}input[type=date]::-moz-focus-inner{filter:brightness(0) invert(1)}.primary{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:var(--text-inverse);border:none;padding:10px 12px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;gap:10px;line-height:1.1;font-weight:600;cursor:pointer;align-self:start;box-shadow:0 10px 30px rgb(var(--brand-rgb) / .25);transition:transform .14s ease,box-shadow .14s ease,filter .14s ease}.primary svg{flex:0 0 auto;display:block}.primary-action-spinner,.system-status-spinner{animation:nutrivSpin .85s linear infinite}.primary:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgb(var(--brand-rgb) / .22);filter:saturate(1.03) brightness(1.02)}.primary:focus-visible{outline:none;box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .14),0 10px 30px rgb(var(--brand-rgb) / .22)}.primary:active{transform:translateY(1px);box-shadow:0 6px 16px rgb(var(--brand-rgb) / .18);filter:none}.button-row{display:flex;justify-content:flex-start;align-items:center;gap:10px;margin-top:6px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin-top:12px}.summary-stats-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.grid.two-cols{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.full-span{grid-column:1 / -1}.stat{padding:14px;border:1px solid var(--border);border-radius:var(--radius-lg);background:rgb(var(--white-rgb) / .03);box-shadow:inset 0 1px rgb(var(--white-rgb) / .02)}.stat-button{cursor:pointer;text-align:left;width:100%;appearance:none;font:inherit}.stat-label{color:var(--muted);font-size:12px}.stat-label.favorite{color:var(--warning-bright);font-weight:700}.stat-value{font-size:22px;font-weight:800}.stat-percent,.summary-percent{font-size:13px}.summary-percent-block{display:block;font-size:.9em;font-weight:700}.stat-value-line{display:block;margin-top:4px;white-space:nowrap;font-size:.9em;font-weight:700}.summary-stat-skeleton-label{width:42%;height:10px;margin-top:2px}.summary-stat-skeleton-value{width:64%;height:18px;margin-top:12px}.summary-stat-skeleton-percent{width:28%;height:12px;margin-top:10px}.today-page{max-width:820px;margin:0 auto}.today-hero,.today-section{padding:0}.today-date-panel{display:block;margin-bottom:18px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.today-date-copy{min-width:0;display:grid;gap:3px}.today-eyebrow{color:rgb(var(--success-bright-rgb) / .92);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.today-date-copy strong{font-family:var(--font-display);font-size:clamp(1.12rem,4.8vw,1.8rem);line-height:1.05}.today-date-copy span:last-child{color:var(--muted);font-size:.9rem;line-height:1.3}.today-date-bar{display:flex;width:100%;justify-content:center}.today-date-bar .date-nav-row{width:100%;justify-content:space-between;margin-top:0;margin-bottom:0;flex-wrap:nowrap}.today-date-bar .date-picker{flex:1 1 auto}.today-date-bar .date-picker-trigger{width:100%;justify-content:center;min-height:42px;padding-block:9px;border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--app-bg-end-rgb) / .46)}.today-date-bar .ghost-button{flex:0 0 42px;min-height:42px;border-radius:var(--radius);background:rgb(var(--surface-control-rgb) / .6)}.today-nutrients-block{display:grid;gap:10px;touch-action:pan-y}.today-nutrient-grid{display:grid;grid-template-columns:repeat(3,minmax(0,112px));justify-content:center;gap:11px}.today-summary-error{margin-bottom:14px}.today-nutrient-card{--today-accent: var(--brand);--today-percent: 0%;appearance:none;position:relative;isolation:isolate;display:grid;place-items:center;align-content:center;gap:2px;min-width:0;width:100%;aspect-ratio:1;min-height:0;padding:10px;border:0;border-radius:50%;background:conic-gradient(from -90deg,var(--today-accent) 0 var(--today-percent),rgb(var(--surface-2-rgb) / .7) var(--today-percent) 100%);color:var(--text);font:inherit;text-align:center;box-shadow:0 12px 24px rgb(var(--app-bg-end-rgb) / .24),0 0 18px color-mix(in srgb,var(--today-accent) 18%,transparent);cursor:pointer;overflow:hidden;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.today-nutrient-card:before{content:"";position:absolute;inset:6px;z-index:-1;border-radius:inherit;background:radial-gradient(circle at 50% 24%,rgb(var(--white-rgb) / .045),transparent 46%),var(--surface-depth);box-shadow:inset 0 1px rgb(var(--white-rgb) / .05)}.today-nutrient-card>*{position:relative;z-index:1}.today-nutrient-card:hover{filter:brightness(1.04);outline:none}.today-nutrient-card:focus{outline:none}.today-nutrient-card:focus-visible{box-shadow:0 12px 24px rgb(var(--app-bg-end-rgb) / .24),0 0 0 3px color-mix(in srgb,var(--today-accent) 26%,transparent),0 0 18px color-mix(in srgb,var(--today-accent) 22%,transparent);outline:none}.today-nutrient-card:active{transform:translateY(1px)}.today-nutrient-card.is-empty:not(.is-list-card){background:conic-gradient(from -90deg,rgb(var(--slate-rgb) / .12) 0 100%);box-shadow:0 8px 18px rgb(var(--app-bg-end-rgb) / .16),0 0 12px rgb(var(--slate-rgb) / .055);filter:saturate(.78)}.today-nutrient-card.is-empty:not(.is-list-card):before{inset:8px;background:radial-gradient(circle at 50% 22%,rgb(var(--white-rgb) / .028),transparent 44%),rgb(var(--surface-depth-rgb) / .82);box-shadow:inset 0 1px rgb(var(--white-rgb) / .026)}.today-nutrient-card.is-empty:not(.is-list-card):hover{filter:saturate(.82) brightness(1.02)}.today-nutrient-skeleton{background:conic-gradient(from -90deg,rgb(var(--slate-rgb) / .14) 0 100%);box-shadow:0 8px 18px rgb(var(--app-bg-end-rgb) / .16),0 0 12px rgb(var(--slate-rgb) / .055);cursor:default;filter:saturate(.78);pointer-events:none}.today-nutrient-skeleton:before{inset:8px;background:radial-gradient(circle at 50% 22%,rgb(var(--white-rgb) / .03),transparent 44%),rgb(var(--surface-depth-rgb) / .82)}.today-skeleton-line-label{width:48%;height:9px}.today-skeleton-line-value{width:60%;height:15px;margin-top:4px}.today-skeleton-line-percent{width:38%;height:13px;margin-top:5px}.today-nutrient-card.is-compact{padding:9px}.today-nutrient-label{color:rgb(var(--text-subtle-rgb) / .9);max-width:76%;margin-inline:auto;font-size:.75rem;font-weight:720;line-height:1.2;overflow-wrap:anywhere}.today-nutrient-value{display:inline-flex;align-items:baseline;justify-content:center;gap:3px;margin-top:1px;font-family:var(--font-display);line-height:1.08}.today-nutrient-number{font-size:1.06rem;font-weight:740}.today-nutrient-unit{color:rgb(var(--text-subtle-rgb) / .82);font-size:.72rem;font-weight:650;letter-spacing:0}.today-nutrient-track{display:none}.today-nutrient-track span{display:block;height:100%;min-width:2px;border-radius:inherit}.today-nutrient-percent{display:block;margin-top:2px;color:var(--today-accent);font-family:var(--font-display);font-size:1rem;font-weight:820;line-height:1.05;white-space:nowrap}.today-nutrient-card.is-empty:not(.is-list-card) .today-nutrient-percent{color:rgb(var(--text-muted-rgb) / .74)}.today-nutrient-card.is-empty:not(.is-list-card) .today-nutrient-number,.today-nutrient-card.is-empty:not(.is-list-card) .today-nutrient-unit{color:rgb(var(--text-subtle-rgb) / .84)}.today-nutrients-more{width:100%;min-height:42px;margin-top:12px;padding:9px 12px;border:0;border-radius:0;background:transparent;color:rgb(var(--text-subtle-rgb) / .94);font-family:var(--font-display);font-size:.9rem;font-weight:680;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:color .16s ease,transform .16s ease}.today-nutrients-more:hover,.today-nutrients-more:focus-visible{color:var(--white);transform:translateY(-1px)}.today-nutrients-more:active{transform:translateY(1px)}@media(min-width:701px){.today-hero{display:grid;gap:12px}.today-date-panel{margin-bottom:4px}.today-nutrients-block{gap:8px}.today-nutrient-grid{grid-template-columns:repeat(auto-fit,minmax(0,106px));width:min(100%,700px);margin-inline:auto;gap:12px}.today-nutrient-card,.today-nutrient-card.is-compact{padding:9px}.today-nutrients-more{min-height:36px;margin-top:0;padding-block:6px}.today-section{margin-top:34px}}.sheet.today-nutrients-sheet{max-width:430px}.today-nutrient-grid-all{grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch;gap:9px}.today-nutrient-card.is-list-card{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:0;width:auto;aspect-ratio:auto;min-height:100px;padding:11px;border:1px solid rgb(var(--slate-rgb) / .15);border-radius:var(--radius);background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--today-accent) 15%,transparent),transparent 38%),linear-gradient(145deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .014));text-align:left;box-shadow:inset 0 1px rgb(var(--white-rgb) / .025);overflow:visible}.today-nutrient-card.is-list-card:before{display:none}.today-nutrient-card.is-list-card:hover,.today-nutrient-card.is-list-card:focus{border-color:rgb(var(--slate-rgb) / .15);background:radial-gradient(circle at 20% 0%,color-mix(in srgb,var(--today-accent) 15%,transparent),transparent 38%),linear-gradient(145deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .014));filter:none;outline:none}.today-nutrient-card.is-list-card:focus-visible{border-color:color-mix(in srgb,var(--today-accent) 38%,rgb(var(--slate-rgb) / .22));box-shadow:inset 0 1px rgb(var(--white-rgb) / .025);outline:none}.today-nutrient-card.is-list-card .today-nutrient-label{max-width:none;margin-inline:0;font-size:.86rem;font-weight:400;text-align:left;overflow-wrap:normal}.today-nutrient-card.is-list-card .today-nutrient-value{justify-content:flex-start;gap:4px;margin-top:7px}.today-nutrient-card.is-list-card .today-nutrient-number{font-size:clamp(1.08rem,4.3vw,1.38rem)}.today-nutrient-card.is-list-card .today-nutrient-unit{font-size:.78rem}.today-nutrient-card.is-list-card .today-nutrient-percent{align-self:flex-start;margin-top:6px;font-size:clamp(1.08rem,4.3vw,1.38rem);font-weight:740;text-align:left}.today-nutrient-card.is-list-card .today-nutrient-track{display:block;width:100%;height:6px;margin-top:8px;border-radius:999px;background:rgb(var(--brand-rgb) / .11);overflow:hidden}.sheet.today-nutrient-detail-sheet{max-width:430px}.today-nutrient-detail-sheet .list-item.card-clickable:hover,.today-nutrient-detail-sheet .list-item.card-clickable:focus,.today-nutrient-detail-sheet .list-item.card-clickable:focus-visible,.today-nutrient-detail-sheet .list-item.card-clickable:active{transform:none;border-color:var(--border);background:linear-gradient(160deg,rgb(var(--white-rgb) / .02),rgb(var(--white-rgb) / .01));box-shadow:0 10px 25px rgb(var(--black-rgb) / .2);outline:none}.today-section{margin-top:26px}.today-section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.today-section-header>div{display:flex;align-items:center}.today-section-header h3{margin:0;line-height:1}.today-count-pill{flex:0 0 auto;align-self:center;min-height:32px;padding:0 10px;border:1px solid rgb(var(--slate-rgb) / .18);border-radius:999px;background:rgb(var(--surface-control-rgb) / .34);color:rgb(var(--text-muted-rgb) / .92);font-size:.78rem;font-weight:800;line-height:1;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}.today-log-list{display:grid;gap:16px}.today-log-cards{display:grid;gap:14px}.today-log-rows{display:block;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}.today-log-rows .today-log-selection-item+.today-log-selection-item{box-shadow:inset 0 1px rgb(var(--slate-rgb) / .11)}.today-log-rows.consumable-card-list .today-log-row.list-item{min-height:76px;padding:14px 54px 14px 0;border:0;border-radius:0;background:transparent;box-shadow:none}.today-log-rows.consumable-card-list .today-log-row.list-item.card-clickable:hover,.today-log-rows.consumable-card-list .today-log-row.list-item.card-clickable:focus-visible{border-color:transparent;background:rgb(var(--surface-control-rgb) / .18);box-shadow:none}.today-log-rows.consumable-card-list .today-log-row.list-item.card-clickable:active{transform:none;border-color:transparent;background:rgb(var(--surface-control-rgb) / .24);box-shadow:none}.today-log-rows .today-log-row .consumable-card-body{gap:0}.today-log-rows .today-log-row.list-item:has(.consumable-card-pills) .consumable-card-body{gap:10px}.today-log-rows.consumable-card-list .today-log-row .consumable-card-main{align-items:center;gap:14px;padding-right:0}.today-log-rows .today-log-row .consumable-card-media{width:40px;height:40px;flex-basis:40px;border-radius:11px;box-shadow:none}.today-log-rows .today-log-row .ingredient-card-header,.today-log-rows .today-log-row .recipe-card-header{align-items:center}.today-log-rows .today-log-row .ingredient-card-title,.today-log-rows .today-log-row .recipe-card-title{gap:5px}.today-log-rows .today-log-row .consumable-item-title{min-height:auto;font-size:.94rem;line-height:1.2}.today-log-rows .today-log-row .consumable-item-subtitle{font-size:.82rem;line-height:1.22}.today-log-rows .today-log-row .ingredient-pills-row.consumable-card-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;margin:0;justify-content:stretch;gap:6px}.today-log-rows .today-log-row .nutrient-pill{width:100%;min-width:0;min-height:36px;padding:6px 7px 7px;border-radius:11px}.today-log-rows .today-log-row .nutrient-pill-label{font-size:.56rem}.today-log-rows .today-log-row .nutrient-pill-value{font-size:.78rem}.today-log-rows.consumable-card-list .today-log-row .card-action-rail{top:50%;right:0;bottom:auto;width:40px;height:40px;flex-direction:row;transform:translateY(-50%);justify-content:center;align-items:center}.today-log-rows.consumable-card-list .today-log-row.list-item:has(.consumable-card-pills) .card-action-rail{top:14px;transform:none}.today-log-rows .today-log-row .card-action-rail>span{display:none}.today-log-rows .today-log-row .card-menu-button{width:40px;height:40px;padding:0}.today-log-rows .today-log-row .card-menu-button svg{width:20px;height:20px}.today-log-rows.is-recipe-selection-mode .today-log-selection-item.is-selected .today-log-row.list-item{background:linear-gradient(90deg,rgb(var(--brand-rgb) / .12),transparent 52%),rgb(var(--surface-control-rgb) / .18);box-shadow:inset 3px 0 rgb(var(--brand-rgb) / .9),inset 0 1px rgb(var(--slate-rgb) / .11)}.today-page.is-recipe-selection-mode .today-log-list{padding-bottom:88px}.today-log-selection-item{position:relative;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.today-log-selection-item.is-long-pressing,.today-log-selection-item.is-long-pressing *{-webkit-user-select:none;user-select:none}.today-page.is-recipe-selection-mode .today-hero,.today-page.is-recipe-selection-mode .today-section-header{opacity:.42;transition:opacity .16s ease}.today-log-cards.is-recipe-selection-mode .today-log-selection-item .list-item{opacity:.54;transition:opacity .16s ease,border-color .16s ease,box-shadow .16s ease}.today-log-cards.is-recipe-selection-mode .has-card-rail{padding-right:14px}.today-log-cards.is-recipe-selection-mode .card-action-rail{display:none}.today-log-cards.is-recipe-selection-mode .today-log-selection-item.is-selected .list-item{opacity:1;border-color:rgb(var(--brand-rgb) / .48);box-shadow:inset 0 1px rgb(var(--white-rgb) / .03),0 0 0 1px rgb(var(--brand-rgb) / .18),0 12px 28px rgb(var(--app-bg-end-rgb) / .22)}.today-log-selection-indicator{position:absolute;top:10px;right:10px;z-index:3;display:inline-grid;width:24px;height:24px;place-items:center;border:1px solid rgb(var(--brand-rgb) / .5);border-radius:999px;background:rgb(var(--surface-control-rgb) / .92);color:var(--brand);opacity:0;transform:scale(.88);transition:opacity .15s ease,transform .15s ease;pointer-events:none}.today-log-selection-item.is-selected .today-log-selection-indicator{opacity:1;transform:scale(1)}.today-recipe-selection-bar{position:fixed;right:14px;bottom:calc(88px + env(safe-area-inset-bottom));left:14px;z-index:86;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;max-width:430px;margin-inline:auto;padding:10px;border:1px solid rgb(var(--slate-rgb) / .22);border-radius:calc(var(--radius) + 6px);background:linear-gradient(160deg,rgb(var(--white-rgb) / .045),rgb(var(--white-rgb) / .018)),rgb(var(--surface-depth-rgb) / .96);box-shadow:0 18px 42px rgb(var(--black-rgb) / .34),inset 0 1px rgb(var(--white-rgb) / .04);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.today-recipe-selection-close{width:42px;min-height:42px;padding:0;border-radius:var(--radius-sm)}.today-recipe-selection-submit{min-height:42px;padding-inline:13px;border-radius:var(--radius-sm);white-space:nowrap}.today-log-cards .today-log-skeleton{display:grid;grid-template-columns:50px minmax(0,1fr) 30px;align-items:center;min-height:88px;gap:12px;padding-right:12px;pointer-events:none}.today-log-skeleton-media{width:50px;height:50px;border-radius:var(--radius-sm)}.today-log-skeleton-copy{min-width:0;display:grid;gap:9px}.today-log-skeleton-title{width:min(74%,190px);height:14px}.today-log-skeleton-subtitle{width:min(58%,150px);height:11px}.today-log-skeleton-actions{display:grid;justify-items:center;gap:14px}.today-skeleton-dot{width:18px;height:5px;border-radius:999px}.today-skeleton-check{width:18px;height:18px;border-radius:999px}.today-log-cards .card-menu-button{color:rgb(var(--text-muted-rgb) / .76)}.today-log-cards .card-menu-button:hover{color:rgb(var(--text-subtle-rgb) / .92)}.today-log-cards .consumable-item-title{min-height:auto;line-height:1.24}.today-log-subtitle{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.today-log-subtitle.today-log-subtitle-stacked{display:grid;justify-items:start;gap:5px}.today-log-subtitle-line,.today-log-nutrient-meta{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.today-log-nutrient-meta{color:rgb(var(--text-subtle-rgb) / .9);font-family:var(--font-display);font-size:.82rem;font-weight:760;line-height:1.12}.today-log-nutrient-percent{font-weight:800}.today-log-separator{color:rgb(var(--text-muted-rgb) / .55)}.today-log-time{color:rgb(var(--text-muted-rgb) / .74);font-size:.82rem;font-style:italic}.action-empty-state{min-height:158px;width:100%;border:1px dashed rgb(var(--brand-rgb) / .2);border-radius:var(--radius-lg);color:var(--muted);display:grid;align-items:center;justify-content:center;gap:8px;padding:20px;text-align:center;background:radial-gradient(circle at 50% 0%,rgb(var(--brand-rgb) / .06),transparent 42%),rgb(var(--white-rgb) / .018)}.action-empty-state strong{color:var(--text);font-family:var(--font-display);font-size:.98rem;font-weight:720;line-height:1.25;max-width:24ch;justify-self:center}.action-empty-state-icon{width:44px;height:44px;margin:0 auto 2px;border:1px solid rgb(var(--brand-rgb) / .24);border-radius:var(--radius);background:rgb(var(--brand-rgb) / .08);color:var(--brand-bright);display:inline-flex;align-items:center;justify-content:center}button.action-empty-state-icon{appearance:none;padding:0;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}button.action-empty-state-icon:hover,button.action-empty-state-icon:focus-visible{border-color:rgb(var(--brand-rgb) / .44);background:rgb(var(--brand-rgb) / .13);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .09);outline:none}button.action-empty-state-icon:active{transform:translateY(1px)}.action-empty-state-action{min-height:38px;margin-top:4px;padding:8px 13px;border:1px solid rgb(var(--brand-rgb) / .28);border-radius:var(--radius-sm);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .08),rgb(var(--brand-2-rgb) / .08)),rgb(var(--surface-control-rgb) / .45);color:rgb(var(--text-subtle-rgb) / .94);font-family:var(--font-display);font-size:.88rem;font-weight:760;justify-self:center;cursor:pointer;transition:transform .14s ease,border-color .14s ease,background .14s ease}button.action-empty-state-action:hover,button.action-empty-state-action:focus-visible{border-color:rgb(var(--brand-rgb) / .42);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .12),rgb(var(--brand-2-rgb) / .11)),rgb(var(--surface-control-rgb) / .5)}button.action-empty-state-action:active{transform:translateY(1px)}button.action-empty-state{appearance:none;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .15s ease}button.action-empty-state:hover,button.action-empty-state:focus-visible{border-color:rgb(var(--brand-rgb) / .34);background:radial-gradient(circle at 50% 0%,rgb(var(--brand-rgb) / .09),transparent 42%),rgb(var(--white-rgb) / .024);box-shadow:0 10px 18px rgb(var(--app-bg-end-rgb) / .16);transform:translateY(-1px)}button.action-empty-state:focus-visible{outline:none}@media(max-width:620px){.today-date-bar,.today-date-bar .date-nav-row{justify-content:space-between}}@media(max-width:430px){.sheet.quick-actions-sheet .sheet-header p.muted{max-width:none;font-size:.84rem}.quick-actions-list{gap:8px}.quick-action-link{min-height:62px;border-radius:var(--radius);grid-template-columns:40px minmax(0,1fr);gap:10px;padding:10px 34px 10px 10px}.quick-action-icon{width:40px;height:40px;border-radius:var(--radius-sm)}.quick-action-copy strong{font-size:.92rem}.quick-action-copy span{font-size:.8rem}.today-nutrient-grid{gap:8px}.today-nutrient-card{padding:9px}.today-nutrient-card.is-compact{padding:8px}.today-nutrient-label{font-size:.72rem}.today-nutrient-number{font-size:1.05rem}.today-nutrient-unit{font-size:.72rem}.today-nutrient-percent{font-size:1.05rem}.today-nutrient-grid-all{gap:8px}.today-nutrient-card.is-list-card{min-height:104px;padding:10px;border-radius:var(--radius-lg)}.today-nutrient-card.is-list-card.is-compact{min-height:96px}.today-nutrient-card.is-list-card .today-nutrient-label{font-size:.78rem}.today-nutrient-card.is-list-card .today-nutrient-number,.today-nutrient-card.is-list-card .today-nutrient-percent{font-size:1.05rem}.today-section{margin-top:22px}.today-section-header{margin-bottom:10px}.today-count-pill{min-height:30px;padding-inline:9px;font-size:.74rem}.today-empty{min-height:148px;padding:18px 14px;border-radius:var(--radius-lg)}}@media(max-width:390px){.sheet.quick-actions-sheet{padding-inline:14px}.quick-log-content{gap:10px}.quick-log-results{min-height:220px;max-height:min(48dvh,430px);gap:8px}.today-nutrient-grid{gap:7px}.today-nutrient-card,.today-nutrient-card.is-compact{padding:8px}.today-nutrient-card.is-list-card,.today-nutrient-card.is-list-card.is-compact{min-height:96px;padding:9px}.today-nutrient-label,.today-nutrient-card.is-list-card .today-nutrient-label{font-size:.74rem}.today-nutrient-number,.today-nutrient-percent,.today-nutrient-card.is-list-card .today-nutrient-number,.today-nutrient-card.is-list-card .today-nutrient-percent{font-size:1rem}}.quick-log-search-row{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:stretch;gap:10px;margin-top:2px}.quick-log-search-row .search-filter-bar{gap:8px;min-width:0}.quick-log-search-row .search-filter-bar.has-favorite-filter{grid-template-columns:minmax(0,1fr) 42px}.quick-log-search-row .search-filter-bar>.filter-text-wrap-search{max-width:none}.quick-log-search-row .search-favorite-filter-toggle,.quick-log-search-row .search-favorite-filter-toggle:hover,.quick-log-search-row .search-favorite-filter-toggle:focus-visible{width:42px;height:44px}.quick-log-pills-toggle,.quick-log-pills-toggle:hover,.quick-log-pills-toggle:focus-visible{width:42px;height:44px;padding:5px;border-color:rgb(var(--slate-rgb) / .15);background:rgb(var(--surface-control-rgb) / .42);color:rgb(var(--text-soft-rgb) / .78);box-shadow:none}.quick-log-pills-toggle.is-active{border-color:rgb(var(--brand-rgb) / .28);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--text-bright-rgb) / .92)}@media(max-width:340px){.today-nutrient-label{font-size:.66rem;line-height:1.14}}.search-page{max-width:820px;margin:0 auto}.search-hero{display:grid;gap:12px}.search-main-input{min-height:46px}.search-toolbar{display:flex;align-items:center;gap:6px}.search-chip{flex:0 0 auto;min-height:34px;padding:7px 12px;border-radius:var(--radius);white-space:nowrap}.search-toolbar{justify-content:space-between;margin-top:2px}.search-advanced-button{min-height:34px;padding:6px 10px;border-color:rgb(var(--brand-rgb) / .13);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .045),rgb(var(--brand-2-rgb) / .05)),rgb(var(--surface-control-rgb) / .3);font-size:.88rem}.search-advanced-button .btn-inline{gap:6px}.search-filter-count{min-width:17px;height:17px;padding:0 5px;border-radius:999px;background:rgb(var(--brand-rgb) / .1);color:rgb(var(--brand-bright-rgb) / .9);font-size:.66rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center}.search-reset-button{min-height:34px;padding:6px 10px;border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--surface-control-rgb) / .28);font-size:.88rem}.search-results-section{margin-top:24px}@media(min-width:701px){.search-toolbar{width:100%;max-width:460px;margin-inline:auto;justify-content:center;gap:8px}}.search-results-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.search-results-header h3{margin:0;line-height:1}.search-results-list{display:grid;gap:10px}.search-empty,.search-loading{margin-top:4px}.search-list-sentinel{min-height:1px}.sheet.search-advanced-sheet{height:min(86dvh,calc(100dvh - 24px));max-height:min(86dvh,calc(100dvh - 24px));max-width:430px;display:flex;flex-direction:column;overflow:hidden}.search-advanced-content{display:grid;gap:0;flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(78px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(94px + env(safe-area-inset-bottom));scrollbar-width:none}.search-advanced-content::-webkit-scrollbar{display:none}.search-advanced-group{display:grid;gap:10px;padding:15px 0 16px}.search-advanced-group:first-child{padding-top:0}.search-advanced-group+.search-advanced-group{border-top:1px solid rgb(var(--slate-rgb) / .13)}.search-advanced-group h4{margin:0;color:rgb(var(--text-subtle-rgb) / .92);font-family:var(--font-display);font-size:.95rem;line-height:1.15}.search-advanced-heading-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.search-text-action{min-height:28px;padding:5px 8px;border-color:transparent;background:transparent;color:rgb(var(--text-muted-rgb) / .78);font-size:.78rem}.search-scope-chips{display:flex;align-items:center;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.search-scope-chips::-webkit-scrollbar{display:none}.search-sort-panel{display:grid;gap:12px;padding:0}.search-sort-control{display:grid;gap:7px}.search-sort-control-label{color:rgb(var(--text-muted-rgb) / .82);font-size:.78rem;font-weight:720}.search-sort-trigger{width:100%;min-height:54px;padding:10px 12px;border:1px solid rgb(var(--slate-rgb) / .14);border-radius:var(--radius);background:linear-gradient(135deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .014)),rgb(var(--surface-control-rgb) / .44);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.search-sort-trigger:hover,.search-sort-trigger:focus-visible{border-color:rgb(var(--brand-rgb) / .28);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .055),rgb(var(--brand-2-rgb) / .035)),rgb(var(--surface-control-rgb) / .5)}.search-sort-trigger:active{transform:translateY(1px)}.search-sort-trigger>span{min-width:0;display:grid;gap:3px}.search-sort-trigger strong{font-family:var(--font-display);font-size:.95rem;line-height:1.15}.search-sort-trigger small{color:rgb(var(--text-muted-rgb) / .72);font-size:.78rem;line-height:1.2}.search-sort-trigger svg{flex:0 0 auto;color:rgb(var(--text-muted-rgb) / .76)}.search-sort-order-control,.search-basis-control{grid-template-columns:repeat(2,minmax(0,1fr))}.search-sort-order-control .segmented-control-button,.search-basis-control .segmented-control-button{min-height:40px;font-size:.85rem}.search-sort-note{margin:2px 0 0;border-top:1px solid rgb(var(--slate-rgb) / .13);padding-top:12px;color:rgb(var(--text-muted-rgb) / .66);font-size:.77rem;line-height:1.35}.sheet.search-sort-picker-sheet{max-width:430px}.search-sort-picker-content{display:grid;gap:12px}.search-sort-picker-search{min-height:44px}.search-sort-picker-list{max-height:min(52dvh,480px);overflow-y:auto;display:grid;align-content:start;gap:8px;padding-right:4px}.search-sort-option{width:100%;min-height:54px;padding:10px 12px;border:1px solid rgb(var(--slate-rgb) / .12);border-radius:var(--radius);background:radial-gradient(circle at 10% 0%,rgb(var(--brand-rgb) / .035),transparent 38%),rgb(var(--surface-control-rgb) / .34);color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease}.search-sort-option:hover,.search-sort-option:focus-visible{border-color:rgb(var(--brand-rgb) / .24);background:radial-gradient(circle at 10% 0%,rgb(var(--brand-rgb) / .06),transparent 38%),rgb(var(--surface-control-rgb) / .46)}.search-sort-option:active{transform:translateY(1px)}.search-sort-option.is-active{border-color:rgb(var(--brand-rgb) / .32);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .08),rgb(var(--brand-2-rgb) / .055)),rgb(var(--surface-control-rgb) / .48)}.search-sort-option>span{min-width:0;display:grid;gap:3px}.search-sort-option strong{font-family:var(--font-display);font-size:.94rem;line-height:1.16}.search-sort-option small{color:rgb(var(--text-muted-rgb) / .72);font-size:.78rem;line-height:1.2}.search-sort-option svg{flex:0 0 auto;color:var(--brand-bright)}.search-criteria-list{display:grid;gap:8px}.search-criteria-empty,.search-criteria-item{min-height:42px;padding:10px 12px;border:1px solid rgb(var(--slate-rgb) / .13);border-radius:var(--radius);background:radial-gradient(circle at 10% 0%,rgb(var(--brand-rgb) / .04),transparent 38%),rgb(var(--surface-control-rgb) / .34)}.search-criteria-empty{color:rgb(var(--text-muted-rgb) / .78);font-size:.86rem;display:flex;align-items:center}.search-criteria-item{color:rgb(var(--text-subtle-rgb) / .94);font-family:var(--font-display);font-size:.9rem;font-weight:720;display:flex;align-items:center;justify-content:space-between;gap:10px}.search-criteria-item.is-editing{border-color:rgb(var(--brand-rgb) / .32);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .08),rgb(var(--brand-2-rgb) / .055)),rgb(var(--surface-control-rgb) / .48)}.search-criteria-edit{min-width:0;flex:1 1 auto;border:0;padding:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.search-criteria-edit:hover,.search-criteria-edit:focus-visible{color:var(--text-subtle)}.search-criteria-remove{flex:0 0 auto;width:28px;height:28px;padding:5px;color:rgb(var(--text-soft-rgb) / .72)}.search-add-criterion{min-height:42px;justify-content:center;border-color:rgb(var(--brand-rgb) / .2);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .07),rgb(var(--brand-2-rgb) / .06)),rgb(var(--surface-control-rgb) / .34)}.search-rule-composer{display:grid;gap:10px;padding:12px;border:1px solid rgb(var(--brand-rgb) / .16);border-radius:var(--radius-lg);background:radial-gradient(circle at 12% 0%,rgb(var(--brand-rgb) / .07),transparent 42%),rgb(var(--app-bg-end-rgb) / .34)}.search-condition-control{grid-template-columns:repeat(2,minmax(0,1fr))}.search-composer-actions{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:10px}.search-composer-actions .primary,.search-composer-actions .ghost-button{min-height:40px;justify-content:center}.search-advanced-actions{position:absolute;left:var(--sheet-pad-x);right:var(--sheet-pad-x);bottom:0;z-index:4;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;padding:12px 0 calc(14px + env(safe-area-inset-bottom));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.search-advanced-actions .primary,.search-advanced-actions .ghost-button{min-height:44px;justify-content:center}@media(max-width:430px){.search-page{max-width:none}.search-results-section{margin-top:22px}}.list{margin-top:20px;display:flex;flex-direction:column;gap:10px}.catalog-picker-sheet{gap:8px;margin-bottom:0}.sheet.catalog-picker-full-sheet>.catalog-picker-sheet{margin-top:4px}.catalog-picker-sheet>.field{margin:0}.catalog-food-list{display:grid;gap:8px}.catalog-food-list-page{width:100%;gap:20px}.catalog-food-list-sheet{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px}.catalog-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}.catalog-search-row .search-filter-bar{min-width:0}.catalog-pills-toggle,.catalog-pills-toggle:hover,.catalog-pills-toggle:focus-visible{width:44px;height:44px;flex:0 0 44px;border-color:rgb(var(--slate-rgb) / .2);background:rgb(var(--surface-control-rgb) / .28);color:rgb(var(--text-subtle-rgb) / .76);box-shadow:none}.catalog-pills-toggle.is-active{border-color:rgb(var(--brand-rgb) / .28);background:rgb(var(--brand-rgb) / .08);color:rgb(var(--text-bright-rgb) / .92)}.catalog-picker-status{min-height:0;height:0;display:inline-flex;align-items:center;gap:8px;color:var(--muted);font-size:.82rem;opacity:0;transition:opacity .14s ease;pointer-events:none}.catalog-picker-status:not(.visible){display:none}.catalog-picker-status.visible{height:18px;margin:8px 0;opacity:1}.catalog-picker-source{margin:0 0 2px;color:rgb(var(--text-muted-rgb) / .78);font-size:.78rem;line-height:1.35}.catalog-picker-status-dot{width:7px;height:7px;border-radius:999px;background:rgb(var(--success-bright-rgb) / .9);box-shadow:0 0 0 4px rgb(var(--success-bright-rgb) / .12);animation:pulseSoft 1.2s ease-in-out infinite}.catalog-picker-results{min-height:clamp(240px,42dvh,320px);max-height:min(52dvh,460px);overflow-y:auto;padding-right:4px}.catalog-page{width:100%;max-width:820px;margin-inline:auto;gap:14px}.catalog-page-intro{display:grid;width:100%;gap:4px}.catalog-page-intro p{margin:0;color:rgb(var(--text-muted-rgb) / .9);line-height:1.45}.catalog-page-search{width:min(100%,720px);margin:4px auto 0}.catalog-page-results{min-height:0;max-height:none;overflow:visible;padding-right:0}.catalog-page-sentinel{height:1px}.catalog-page-loading{margin-top:8px}.sheet.selection-full-sheet .catalog-picker-sheet{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.sheet.selection-full-sheet .catalog-picker-results{flex:1 1 auto;min-height:0;max-height:none}.catalog-food-list-sheet .catalog-picker-results{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain}.catalog-food-list-sheet .catalog-picker-results.consumable-card-list .ingredient-pills-row.consumable-card-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:6px}.catalog-food-list-sheet .catalog-picker-results.consumable-card-list .nutrient-pill{width:100%;min-width:0;padding-inline:7px}.catalog-picker-results .list{margin-top:0;padding-bottom:2px}.catalog-picker-empty{min-height:clamp(240px,42dvh,320px);display:flex;align-items:center;justify-content:center;padding:10px 12px;text-align:center}.recipe-items{gap:14px}.dashboard-history-grid,.dashboard-favorites-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}.dashboard-alert-list{display:grid;gap:8px;margin-top:8px}.dashboard-alert-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgb(var(--white-rgb) / .03)}.dashboard-alert-over{color:var(--warning);font-weight:700}.dashboard-alert-low{color:var(--muted);font-weight:700}@media(max-width:600px){.dashboard-history-grid,.dashboard-favorites-grid{grid-template-columns:1fr}}.list-item{border:1px solid var(--border);border-radius:var(--radius);padding:12px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(160deg,rgb(var(--white-rgb) / .03),rgb(var(--white-rgb) / .014)),rgb(var(--surface-1-rgb) / .36);gap:12px;box-shadow:0 10px 25px rgb(var(--black-rgb) / .18);overflow:visible;position:relative;-webkit-tap-highlight-color:transparent}.card-clickable{cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.card-clickable:hover{border-color:rgb(var(--slate-rgb) / .3);background:linear-gradient(160deg,rgb(var(--white-rgb) / .03),rgb(var(--white-rgb) / .015))}.card-clickable:active{transform:translateY(1px);border-color:rgb(var(--brand-rgb) / .26);background:linear-gradient(160deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .02));box-shadow:0 6px 16px rgb(var(--black-rgb) / .18),inset 0 1px rgb(var(--white-rgb) / .03)}.card-clickable:has(.nutrient-pill:active){transform:none;border-color:var(--border);background:linear-gradient(160deg,rgb(var(--white-rgb) / .02),rgb(var(--white-rgb) / .01));box-shadow:0 10px 25px rgb(var(--black-rgb) / .2)}.card-clickable:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .42);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .14),0 10px 25px rgb(var(--black-rgb) / .2)}.consumable-card-list .list-item{height:auto;min-height:82px;margin:0;padding:14px;border-radius:var(--radius);border-color:rgb(var(--slate-rgb) / .2);background:linear-gradient(160deg,rgb(var(--white-rgb) / .03),rgb(var(--white-rgb) / .014)),rgb(var(--surface-1-rgb) / .36);box-shadow:0 10px 25px rgb(var(--black-rgb) / .18)}.consumable-card-list .recipe-card{border-color:rgb(var(--slate-rgb) / .2);background:linear-gradient(160deg,rgb(var(--white-rgb) / .03),rgb(var(--white-rgb) / .014)),rgb(var(--surface-1-rgb) / .36)}.consumable-card-list .list-item.card-clickable:hover,.consumable-card-list .recipe-card.card-clickable:hover{border-color:rgb(var(--slate-rgb) / .3);background:linear-gradient(160deg,rgb(var(--white-rgb) / .03),rgb(var(--white-rgb) / .015)),rgb(var(--surface-1-rgb) / .36)}.consumable-card-list .list-item.card-clickable:active{transform:translateY(1px);border-color:rgb(var(--brand-rgb) / .26);background:linear-gradient(160deg,rgb(var(--white-rgb) / .035),rgb(var(--white-rgb) / .02)),rgb(var(--surface-1-rgb) / .36);box-shadow:0 6px 16px rgb(var(--black-rgb) / .18),inset 0 1px rgb(var(--white-rgb) / .03)}.consumable-card-list .list-item.card-clickable:has(.nutrient-pill:active),.consumable-card-list .recipe-card.card-clickable:has(.nutrient-pill:active){transform:none;border-color:rgb(var(--slate-rgb) / .2);background:linear-gradient(160deg,rgb(var(--white-rgb) / .02),rgb(var(--white-rgb) / .01)),rgb(var(--surface-1-rgb) / .36);box-shadow:0 10px 25px rgb(var(--black-rgb) / .18)}.card-action-rail{position:absolute;top:12px;right:12px;bottom:12px;width:32px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;z-index:2}.card-action-rail>span{width:32px;height:32px}.card-icon-button{width:32px;height:32px;padding:0;border-radius:10px;border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--white-rgb) / .04);box-shadow:inset 0 1px rgb(var(--white-rgb) / .02)}.card-icon-button:hover{border-color:rgb(var(--brand-rgb) / .26);background:rgb(var(--brand-rgb) / .08)}.consume-control{position:relative;z-index:2}.card-menu-button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:18px;height:auto;padding:2px 3px;border:0;background:transparent;box-shadow:none;color:rgb(var(--text-subtle-rgb) / .74);opacity:.82;line-height:1;transition:color .14s ease,opacity .14s ease,transform .14s ease,box-shadow .14s ease}.card-menu-button:hover,.card-menu-button:focus-visible,.card-menu-button:active{border:0;background:transparent;box-shadow:none}.card-menu-button:hover{color:rgb(var(--white-rgb) / .94);opacity:1;transform:translateY(-1px)}.card-menu-button:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.card-menu-button:active{transform:translateY(1px)}.card-menu-button svg{width:19px;height:19px}.card-consume-button{width:auto;height:auto;padding:0;border:0;background:transparent;box-shadow:none;transition:color .14s ease,opacity .14s ease,transform .14s ease,box-shadow .14s ease}.card-consume-button:hover,.card-consume-button:focus-visible,.card-consume-button:active{border:0;background:transparent;box-shadow:none}.card-consume-button:hover{color:rgb(var(--success-bright-rgb) / .96);transform:translateY(-1px)}.card-consume-button:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.card-consume-button:active{transform:translateY(1px)}.card-import-button{width:auto;height:auto;padding:0;border:0;background:transparent;box-shadow:none;color:rgb(var(--slate-rgb) / .82);transition:color .14s ease,opacity .14s ease,transform .14s ease,box-shadow .14s ease}.card-import-button:hover,.card-import-button:focus-visible,.card-import-button:active{border:0;background:transparent;box-shadow:none}.card-import-button:hover{color:rgb(var(--text-subtle-rgb) / .98);transform:translateY(-1px)}.card-import-button:focus-visible{outline:none;border-radius:8px;box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.card-import-button:active{transform:translateY(1px)}.consumable-card-list .has-card-rail{padding-right:14px}.consumable-card-list .has-card-rail .consumable-card-main{padding-right:40px}.consumable-card-list .card-action-rail{top:41px;right:16px;bottom:auto;width:auto;flex-direction:row;justify-content:flex-start;transform:translateY(-50%)}.consumable-card-list .card-action-rail>span{display:none}.consumable-card-list .card-menu-button svg,.consumable-card-list .card-consume-button .icon-image,.consumable-card-list .card-import-button svg{width:21px;height:21px}.consumable-card-list .consumable-card-main{align-items:center;gap:14px}.consumable-card-list .consumable-card-body{width:100%;overflow:visible;gap:10px}.consumable-card-list .ingredient-pills-row.consumable-card-pills{position:static;flex:0 0 auto;width:100%;display:flex;flex-wrap:wrap;margin-top:2px;justify-content:flex-start;gap:7px}.consumable-card-list .nutrient-pill{position:static;min-width:95px}.quick-log-results.consumable-card-list .ingredient-pills-row.consumable-card-pills{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));justify-content:stretch;gap:6px}.quick-log-results.consumable-card-list .nutrient-pill{width:100%;min-width:0;padding-inline:7px}@media(max-width:520px){.consumable-card-list .has-card-rail .consumable-card-main{padding-right:34px}.consumable-card-list .card-action-rail{right:12px}.consumable-card-list .ingredient-pills-row.consumable-card-pills{justify-content:center}}.ingredient-card,.recipe-card{flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;position:relative}.consumable-card-main{display:flex;align-items:flex-start;gap:12px;min-width:0}.consumable-card-body,.consumable-card-content{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:10px}.ingredient-pills-row.consumable-card-pills{width:100%;margin-top:0;justify-content:center;gap:8px 4px}.has-card-rail{padding-right:58px}.has-card-legend{margin-bottom:0}.card-type-legend{display:inline-flex;align-items:center;justify-content:center;min-height:16px;padding:2px 6px;border:1px solid rgb(var(--slate-rgb) / .16);border-radius:999px;background:rgb(var(--surface-control-rgb) / .28);color:rgb(var(--text-subtle-rgb) / .7);font-size:.58rem;font-weight:740;letter-spacing:.055em;line-height:1;text-transform:uppercase;white-space:nowrap;pointer-events:none;opacity:.88;box-shadow:none}.card-type-legend.ingredient{border-color:rgb(var(--success-bright-rgb) / .18);background:rgb(var(--success-bright-rgb) / .045);color:rgb(var(--success-bright-rgb) / .72)}.card-type-legend.recipe{border-color:rgb(var(--brand-2-rgb) / .22);background:rgb(var(--brand-2-rgb) / .065);color:color-mix(in srgb,var(--brand-2) 52%,var(--white))}.consumable-card-media{position:relative;width:54px;height:54px;flex:0 0 54px;border-radius:var(--radius-sm);border:1px solid rgb(var(--slate-rgb) / .18);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .78),rgb(var(--theme-bg-soft-rgb) / .68));color:rgb(var(--text-subtle-rgb) / .62);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px rgb(var(--white-rgb) / .03),0 6px 14px rgb(var(--app-bg-end-rgb) / .1);overflow:visible}.consumable-card-media-image{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}.consumable-card-media.ingredient{color:rgb(var(--success-bright-rgb) / .72);border-color:rgb(var(--success-bright-rgb) / .2);background:radial-gradient(circle at 35% 20%,rgb(var(--success-bright-rgb) / .18),transparent 56%),linear-gradient(160deg,rgb(var(--success-rgb) / .14),rgb(var(--surface-control-rgb) / .74))}.consumable-card-media.recipe{color:color-mix(in srgb,var(--brand-2) 58%,var(--white));border-color:rgb(var(--brand-2-rgb) / .2);background:radial-gradient(circle at 35% 20%,rgb(var(--brand-2-rgb) / .16),transparent 58%),linear-gradient(160deg,rgb(var(--brand-2-rgb) / .1),rgb(var(--surface-control-rgb) / .78))}.consumable-card-favorite-marker{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:999px;border:1px solid rgb(var(--warning-bright-rgb) / .28);background:rgb(var(--app-bg-end-rgb) / .76);color:var(--warning-bright);display:inline-flex;align-items:center;justify-content:center;box-shadow:inset 0 1px rgb(var(--white-rgb) / .1),0 4px 10px rgb(var(--app-bg-end-rgb) / .22);pointer-events:none}.consumable-card-favorite-marker svg{fill:currentColor}.ingredient-card-header,.recipe-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:nowrap}.ingredient-card-title,.recipe-card-title{display:flex;flex-direction:column;flex-wrap:nowrap;align-items:baseline;gap:4px;flex:1 1 auto;min-width:0}.consumable-item-title{display:block;font-size:.9375rem;line-height:1.25;min-height:1.6em}.consumable-item-subtitle{display:block;color:rgb(var(--text-muted-rgb) / .78);font-size:.85rem;line-height:1.28}.pill-row{display:flex;gap:8px}@media(max-width:900px){.pill-row{flex-wrap:wrap}}.trend-chart{display:flex;flex-direction:column;gap:16px}.trend-nav{display:flex;justify-content:flex-end;gap:8px}@media(max-width:900px){.trend-nav{justify-content:space-between}}.trend-nav button{border:1px solid var(--border);background:rgb(var(--white-rgb) / .05);color:var(--text);border-radius:12px;width:36px;height:36px;cursor:pointer;transition:.2s ease}.trend-nav button:disabled{opacity:.35;cursor:default}.trend-graph{display:flex;gap:16px;align-items:flex-start;overflow:hidden;padding-top:8px}.trend-axis{display:flex;flex-direction:column;justify-content:space-between;height:220px;color:var(--muted);font-size:12px;text-align:right;min-width:46px;margin-top:-5px}.trend-axis span{line-height:1}.trend-grid-wrapper{flex:1;overflow:hidden;padding-bottom:8px;position:relative}.trend-grid{display:flex;gap:0;min-width:100%;transition:transform .4s ease}.trend-column{display:flex;flex-direction:column;gap:6px;align-items:center;flex:0 0 var(--trend-slide-width, 100%);min-width:var(--trend-slide-width, 100%);padding:0 6px;box-sizing:border-box}.trend-bars{width:100%;height:220px;display:grid;grid-template-columns:repeat(var(--trend-columns, 1),minmax(8px,1fr));gap:6px;align-items:end;padding:0 6px;border-radius:12px;position:relative;background-image:repeating-linear-gradient(to top,rgb(var(--white-rgb) / .12),rgb(var(--white-rgb) / .12) 1px,transparent 1px,transparent 55px)}.trend-bars:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:rgb(var(--white-rgb) / .18);pointer-events:none}.trend-bar{height:var(--trend-bar-height, 4px);background:var(--trend-bar-color, var(--accent));border-radius:6px;transition:height .2s ease,background .2s ease;position:relative}.trend-bar-over:after{content:"";position:absolute;bottom:2px;left:32%;right:32%;height:var(--trend-overflow-height, 2px);background:var(--danger-soft);border-radius:6px;box-shadow:0 0 0 1px rgb(var(--surface-control-rgb) / .5)}.trend-date{font-size:11px;color:var(--muted);text-align:center}.trend-legend{margin-top:4px}.trend-legend.pill-row{justify-content:center}.legend-pill{background:transparent;color:var(--text-soft)}.trend-legend-swatch{display:inline-block;width:12px;height:12px;border-radius:4px;background:var(--trend-swatch-color, var(--accent))}.pill{padding:7px 12px;border-radius:999px;background:rgb(var(--brand-rgb) / .14);color:var(--text-primary);font-size:12px;box-shadow:inset 0 0 0 1px rgb(var(--brand-rgb) / .3);transition:transform .14s ease,box-shadow .14s ease;display:inline-flex;align-items:center;line-height:1}.nutrient-pill-row{align-items:stretch}.nutrient-pill{min-height:40px;width:clamp(78px,var(--nutrient-pill-width, 82px),104px);min-width:0;padding:7px 11px 8px;border-radius:var(--radius);display:inline-grid;align-content:center;justify-items:center;gap:3px;background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .72),rgb(var(--surface-control-rgb) / .66));box-shadow:inset 0 0 0 1px rgb(var(--slate-rgb) / .18),inset 0 1px rgb(var(--white-rgb) / .035),0 4px 10px rgb(var(--app-bg-end-rgb) / .08);line-height:normal;text-align:center;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.nutrient-pill-value{color:var(--text-subtle);width:100%;font-size:.84rem;font-weight:520;line-height:1;letter-spacing:.01em;white-space:nowrap}.nutrient-pill-label{width:100%;color:rgb(var(--text-subtle-rgb) / .72);font-size:.6rem;font-weight:560;line-height:1.05;letter-spacing:.01em}.pill:hover{transform:translateY(-1px);box-shadow:inset 0 0 0 1px rgb(var(--brand-2-rgb) / .25),0 8px 18px rgb(var(--brand-rgb) / .18)}.nutrient-pill:hover{transform:none;box-shadow:inset 0 0 0 1px rgb(var(--slate-rgb) / .18),inset 0 1px rgb(var(--white-rgb) / .035),0 4px 10px rgb(var(--app-bg-end-rgb) / .08)}.nutrient-pill:active,.nutrient-pill:focus,.nutrient-pill:focus-visible{outline:none;transform:none;box-shadow:inset 0 0 0 1px rgb(var(--slate-rgb) / .18),inset 0 1px rgb(var(--white-rgb) / .035),0 4px 10px rgb(var(--app-bg-end-rgb) / .08)}.favorite-label{color:inherit;font-weight:600}.nutrient-label{color:inherit}.nutrient-label.is-preferred{display:inline-flex;align-items:center;width:fit-content;padding:1px 8px;border-radius:999px;border:1px solid rgb(var(--success-bright-rgb) / .35);background:rgb(var(--success-bright-rgb) / .1);font-weight:600}.inline{display:grid;grid-template-columns:1fr 1fr;gap:8px}.base-row{display:grid;grid-template-columns:minmax(140px,2fr) minmax(80px,1fr);gap:10px;align-items:center}.export-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:end}.export-form{gap:14px}.export-fields-card{display:grid;gap:14px;width:100%;min-width:0;box-sizing:border-box;padding:16px;border:1px solid rgb(var(--text-muted-rgb) / .14);border-radius:var(--radius-lg);background:linear-gradient(160deg,rgb(var(--surface-control-rgb) / .74),rgb(var(--app-bg-end-rgb) / .7));box-shadow:inset 0 1px rgb(var(--white-rgb) / .03)}.export-fields-card>*{min-width:0}.export-email-field{width:100%}.export-date-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end;min-width:0}.export-date-row .field{gap:6px;width:100%}.export-date-row .date-picker,.export-date-row .date-picker-trigger{width:100%}.export-date-row .date-picker-trigger{display:inline-flex;align-items:center;justify-content:flex-start}.export-error-card{margin:0;padding:12px 14px;border-radius:var(--radius);border:1px solid rgb(var(--danger-soft-rgb) / .24);background:rgb(var(--surface-control-rgb) / .45)}.export-actions-row{padding-top:0}.export-actions{justify-content:flex-end}@media(min-width:900px){.profile-panel-export .export-form{width:100%;max-width:720px;margin-inline:auto}.export-fields-card{grid-template-columns:minmax(0,1.16fr) minmax(0,1fr);align-items:end}.export-section .export-date-row{margin-top:0!important}}@media(max-width:700px){.export-fields-card{padding:14px;border-radius:var(--radius-lg)}.export-date-row{grid-template-columns:minmax(0,1fr)}.export-actions{justify-content:stretch}.export-actions .primary{width:100%}}.top-row{display:grid;grid-template-columns:minmax(0,5fr) minmax(130px,1.8fr) minmax(170px,3.2fr);gap:12px;align-items:end}.recipe-meta-row{display:contents}.four-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;align-items:end}@media(min-width:825px){.four-cols,.four-cols.full-span{grid-template-columns:repeat(4,minmax(0,1fr))}.recipe-meta-row{display:grid;grid-column:2 / -1;grid-template-columns:minmax(130px,2fr) minmax(170px,3fr);gap:12px;align-items:end}}.top-name{min-width:220px}.error{background:rgb(var(--danger-rgb) / .1);border:1px solid rgb(var(--danger-rgb) / .4);padding:10px 12px;border-radius:12px;color:var(--danger-soft)}.system-status{width:100%;min-height:42px;padding:10px 12px;border-radius:var(--radius);display:flex;align-items:flex-start;gap:10px;color:rgb(var(--text-soft-rgb) / .88);font-size:.9rem;line-height:1.35;background:linear-gradient(160deg,rgb(var(--surface-1-rgb) / .58),rgb(var(--app-bg-end-rgb) / .44));border:1px solid rgb(var(--slate-rgb) / .14);box-shadow:inset 0 1px rgb(var(--white-rgb) / .025)}.system-status svg{flex:0 0 auto;margin-top:1px;color:rgb(var(--slate-rgb) / .82)}.system-status-copy{min-width:0;display:grid;gap:2px}.system-status-copy strong{color:rgb(var(--text-subtle-rgb) / .96);font-family:var(--font-display);font-size:.92rem;line-height:1.2}.system-status.is-loading{color:rgb(var(--text-muted-rgb) / .9);border-color:rgb(var(--brand-rgb) / .14);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .055),rgb(var(--brand-2-rgb) / .045)),rgb(var(--surface-control-rgb) / .36)}.system-status.is-loading svg{color:var(--brand-bright)}.system-status.is-error{color:var(--danger-soft);border-color:rgb(var(--danger-soft-rgb) / .34);background:linear-gradient(135deg,rgb(var(--danger-soft-rgb) / .12),rgb(var(--danger-rgb) / .08)),rgb(var(--surface-control-rgb) / .42)}.system-status.is-error svg{color:var(--danger-soft)}.system-status.is-success{color:rgb(var(--text-muted-rgb) / .92);border-color:rgb(var(--success-rgb) / .26);background:linear-gradient(135deg,rgb(var(--success-rgb) / .11),rgb(var(--brand-rgb) / .06)),rgb(var(--surface-control-rgb) / .4)}.system-status.is-success svg{color:var(--success-bright)}.error strong{display:block;margin-bottom:6px}.warning{background:rgb(var(--warning-rgb) / .12);border:1px solid rgb(var(--warning-rgb) / .45);padding:10px 12px;border-radius:12px;color:var(--warning-bright)}@keyframes nutrivSpin{to{transform:rotate(360deg)}}@media(max-width:900px){.page{padding:14px}.panel{padding:16px;border-radius:var(--radius)}.summary-header{flex-direction:column;align-items:flex-start}.summary-date{width:100%;justify-content:flex-start}.panel-header .filter-input{width:100%;min-width:0;max-width:none}.panel-header .field,.panel-header .field input{width:100%}.selector-row.recipe-row{flex-wrap:wrap}.selector-row.recipe-row .selector-input{flex:1 1 100%;min-width:0}.selector-row.recipe-row .quantity-field,.selector-row.recipe-row .unit-field{flex:1 1 160px;min-width:0}.selector-row.recipe-row .selector-action{width:100%;margin-left:0;display:flex;justify-content:flex-end}.top-name{min-width:0}.keyword-search .field,.keyword-search .field input{width:100%}.keyword-search .selector-row-flat{flex-wrap:wrap}.keyword-search .selector-row-flat .selector-input.flat{flex:0 0 100%}.keyword-search .selector-row-flat .quantity-field.flat,.keyword-search .selector-row-flat .unit-field.flat{flex:1 1 218px;max-width:none!important;min-width:0}.keyword-search .selector-row-flat .selector-action{width:100%;margin-left:0}.keyword-search .selector-row-flat .selector-action .primary{width:100%}.keyword-search .keyword-search-row.selector-row-flat{flex-wrap:nowrap;align-items:flex-end}.keyword-search .keyword-search-row.selector-row-flat .selector-input.flat{flex:1 1 auto}.keyword-search .keyword-search-row.selector-row-flat .selector-action{width:auto;margin-left:auto;align-self:flex-end}.keyword-search .recipe-ingredient-row.selector-row-flat .selector-action{width:auto;margin-left:0;align-self:flex-end}.scan-input{min-width:100%}.list-item{padding:18px 12px}}@media(max-width:900px){.summary-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}.scan-card{margin-top:8px;padding:12px;border:1px solid var(--border);border-radius:var(--radius);background:rgb(var(--white-rgb) / .02);display:grid;gap:8px;margin-bottom:24px}.scan-footnote{font-size:.84rem;line-height:1.35}.scan-credits-required-card{display:grid;gap:9px;border-color:rgb(var(--warning-bright-rgb) / .34);background:radial-gradient(circle at top right,rgb(var(--warning-bright-rgb) / .16),transparent 34%),rgb(var(--surface-control-rgb) / .5)}.scan-credits-required-card strong{color:var(--warning-bright)}.scan-credits-required-actions{display:grid;gap:10px;margin-top:2px}.scan-credits-required-hint{color:rgb(var(--text-muted-rgb) / .86)}.scan-credits-required-cta{width:fit-content;min-height:44px;display:inline-flex;align-items:center;gap:8px;padding-inline:18px;box-shadow:0 12px 26px rgb(var(--brand-rgb) / .22)}.scan-action{width:100%;border:1px dashed rgb(var(--slate-rgb) / .35);background:rgb(var(--surface-control-rgb) / .6);color:var(--text);border-radius:var(--radius-lg);padding:18px;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;transition:border-color .2s ease,transform .2s ease,box-shadow .2s ease}.scan-action:disabled{opacity:.6;cursor:progress}.scan-action:hover:not(:disabled){border-color:rgb(var(--brand-rgb) / .6);transform:translateY(-1px);box-shadow:0 10px 24px rgb(var(--brand-rgb) / .12)}.scan-icon{width:72px;height:72px;border-radius:var(--radius-lg);background:rgb(var(--brand-rgb) / .16);color:var(--accent);display:flex;align-items:center;justify-content:center;flex:0 0 auto}.scan-copy{text-align:left;flex:1 1 auto}.scan-description{font-size:.92rem;line-height:1.4}.scan-label{font-weight:700;color:var(--muted)}.scan-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.scan-input{flex:1;min-width:180px;padding:10px 12px;border-radius:var(--radius);border:1px solid var(--border);background:rgb(var(--white-rgb) / .02);color:var(--text)}.scan-icon svg{width:44px;height:44px;fill:currentColor}.scan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}@media(max-width:700px){.scan-grid{grid-template-columns:1fr}}@media(max-width:600px){.scan-card{margin-bottom:16px;padding:10px;gap:6px}.scan-action{padding:12px;gap:12px;border-radius:var(--radius)}.scan-icon{width:56px;height:56px;border-radius:var(--radius)}.scan-icon svg{width:32px;height:32px}.scan-description{font-size:.85rem}.scan-credits-required-cta{width:100%;justify-content:center}}.keyword-dropdown{position:absolute;left:0;right:0;top:64px;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:10;display:flex;flex-direction:column;max-height:280px;overflow-y:auto;padding:6px}.keyword-result{display:flex;justify-content:space-between;align-items:center;border-radius:var(--radius);padding:12px 16px;border:1px solid transparent;background:rgb(var(--white-rgb) / .03);color:inherit;text-align:left;gap:16px;transition:border-color .2s ease,transform .15s ease}.keyword-result:hover{transform:translateY(-1px);border-color:rgb(var(--white-rgb) / .08)}.keyword-result.active{border-color:var(--accent);background:rgb(var(--success-bright-rgb) / .08)}.keyword-result-info{flex:1}.bp-log-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.bp-log-main{min-width:0}.ghost-button.icon-round.bp-log-delete-button{color:rgb(var(--text-bright-rgb) / .82);border-color:rgb(var(--text-bright-rgb) / .12);background:rgb(var(--white-rgb) / .035)}.ghost-button.icon-round.bp-log-delete-button:hover,.ghost-button.icon-round.bp-log-delete-button:focus-visible{color:var(--text);border-color:rgb(var(--text-bright-rgb) / .2);background:rgb(var(--white-rgb) / .06)}.bp-entry-form,.bp-export-form{margin:0}.bp-history-section,.bp-history-list{width:100%}.bp-history-heading-row{align-items:start;padding-top:0;margin-top:18px;border-top:0}.profile-panel .bp-history-heading-row h3{padding-top:0;border-top:0}.bp-export-trigger{min-height:36px;padding:7px 10px;gap:7px;color:rgb(var(--text-bright-rgb) / .9);border-color:rgb(var(--slate-rgb) / .14);background:rgb(var(--white-rgb) / .025)}.bp-export-trigger:hover,.bp-export-trigger:focus-visible{color:var(--text);border-color:rgb(var(--brand-rgb) / .28);background:rgb(var(--brand-rgb) / .06)}.bp-export-sheet .bp-export-form{padding-bottom:env(safe-area-inset-bottom)}.bp-entry-grid .date-picker,.bp-entry-grid .date-picker-trigger{width:100%}.bp-entry-grid .date-picker-trigger{min-height:44px}@media(min-width:701px){.profile-panel-blood-pressure>.panel-header,.profile-panel-blood-pressure>.bp-entry-form,.profile-panel-blood-pressure>.bp-history-section{width:100%;max-width:680px;margin-inline:auto}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{transform:translateY(24px);opacity:.95}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(0);opacity:1}to{transform:translateY(24px);opacity:.9}}.ingredient-pills-row{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:8px}.add-menu-option{cursor:default}.add-menu-option:hover{border-color:rgb(var(--slate-rgb) / .16);background:rgb(var(--white-rgb) / .04)}.add-menu-option-interactive{cursor:pointer}.add-menu-option-interactive:hover{border-color:rgb(var(--brand-rgb) / .22);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .08),rgb(var(--brand-2-rgb) / .06))}.scan-wizard{display:grid;grid-auto-rows:max-content;align-content:start;gap:11px;padding-top:0}.sheet.scan-wizard-sheet{height:min(92dvh,calc(100dvh - 16px));max-height:min(92dvh,calc(100dvh - 16px));overflow:hidden}.scan-wizard-sheet .scan-wizard,.scan-wizard-sheet .scan-review,.scan-wizard-sheet .scan-final{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding-right:2px;scroll-padding-bottom:116px}.scan-wizard-sheet .scan-final{padding-bottom:calc(156px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(172px + env(safe-area-inset-bottom))}.scan-wizard-option{width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:13px 15px;border-radius:var(--radius);border:1px solid rgb(var(--slate-rgb) / .16);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .96),rgb(var(--surface-2-rgb) / .96));color:var(--text);text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease,box-shadow .15s ease}.scan-wizard-option:hover:not(:disabled){border-color:rgb(var(--slate-rgb) / .24);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .98),rgb(var(--surface-control-rgb) / .98));transform:translateY(-1px)}.scan-wizard-option:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .34);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.scan-wizard-option:active:not(:disabled){transform:translateY(1px)}.scan-wizard-option:disabled{cursor:progress}.scan-wizard-option-primary{position:relative;overflow:hidden;margin-top:4px;border-color:rgb(var(--success-bright-rgb) / .54);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .1),rgb(var(--brand-2-rgb) / .12)),linear-gradient(180deg,rgb(var(--surface-control-rgb) / .98),rgb(var(--surface-2-rgb) / .98));box-shadow:inset 0 0 0 1px rgb(var(--white-rgb) / .03),0 14px 30px rgb(var(--theme-bg-soft-rgb) / .28)}.scan-wizard-option-primary>*{position:relative;z-index:1}.scan-wizard-option-primary:hover:not(:disabled){border-color:rgb(var(--success-bright-rgb) / .68);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .14),rgb(var(--brand-2-rgb) / .16)),linear-gradient(180deg,rgb(var(--surface-control-rgb) / .98),rgb(var(--surface-2-rgb) / .98))}.scan-wizard-option-primary.is-scanning{cursor:progress;border-color:rgb(var(--brand-rgb) / .5)}.scan-wizard-option-primary.is-scanning:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(100deg,transparent 0%,transparent 22%,rgb(var(--brand-rgb) / .18) 42%,rgb(var(--brand-2-rgb) / .18) 52%,transparent 72%,transparent 100%);animation:scanWizardButtonSweep 1.6s ease-in-out infinite}.scan-wizard-option-primary.is-scanning .scan-wizard-option-icon svg{animation:scanWizardIconPulse 1.1s ease-in-out infinite}.scan-wizard-option-icon{width:42px;height:42px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;color:var(--brand-soft);background:transparent;border:0;box-shadow:none}.scan-wizard-option-icon svg{width:42px;height:42px}.scan-wizard-option-icon-secondary{width:48px;height:48px;border-radius:var(--radius);color:rgb(var(--text-subtle-rgb) / .92);background:linear-gradient(180deg,rgb(var(--surface-2-rgb) / .74),rgb(var(--surface-2-rgb) / .9));border-color:rgb(var(--slate-rgb) / .18)}.scan-wizard-option-head{min-width:0;display:flex;align-items:center;gap:9px}.scan-wizard-option-title{min-width:0;font-family:var(--font-display);font-size:1.16rem;line-height:1.22;font-weight:820;color:rgb(var(--white-rgb) / .98)}.scan-wizard-option-title-chevron{color:var(--text);margin-left:4px;transform:translateY(3px)}.scan-wizard-option-description{color:rgb(var(--text-subtle-rgb) / .8);font-size:.93rem;line-height:1.38}.scan-wizard-option-title span{color:inherit;font:inherit}.scan-wizard-option-progress{display:grid;gap:7px;margin-top:2px}.scan-wizard-option-progress-copy{min-width:0;display:grid;gap:1px}.scan-wizard-option-progress-copy strong{font-family:var(--font-display);color:rgb(var(--text-bright-rgb) / .92);font-size:.91rem;line-height:1.16}.scan-wizard-option-progress-copy span{color:rgb(var(--text-subtle-rgb) / .76);font-size:.84rem;line-height:1.24}.scan-wizard-option-progress-bars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.scan-wizard-option-progress-bars span{height:4px;border-radius:999px;background:rgb(var(--brand-rgb) / .22);overflow:hidden;position:relative}.scan-wizard-option-progress-bars span:after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(90deg,var(--brand),var(--brand-2));animation:scanWizardStepPulse 1.28s ease-in-out infinite;transform-origin:left}.scan-wizard-option-progress-bars span:nth-child(2):after{animation-delay:.16s}.scan-wizard-option-progress-bars span:nth-child(3):after{animation-delay:.32s}@keyframes scanWizardButtonSweep{0%{transform:translate(-120%)}58%,to{transform:translate(120%)}}@keyframes scanWizardIconPulse{0%,to{opacity:.68;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes scanWizardStepPulse{0%,to{transform:scaleX(.22);opacity:.48}50%{transform:scaleX(1);opacity:.95}}.scan-wizard-how{display:grid;gap:12px;padding:14px;border-radius:var(--radius-lg);border:1px solid rgb(var(--slate-rgb) / .14);background:radial-gradient(circle at 28% 0%,rgb(var(--brand-rgb) / .1),transparent 38%),linear-gradient(180deg,rgb(var(--surface-control-rgb) / .54),rgb(var(--theme-bg-soft-rgb) / .7));box-shadow:inset 0 0 0 1px rgb(var(--white-rgb) / .025)}.scan-wizard-info-header{font-family:var(--font-display);font-size:.98rem;font-weight:760;line-height:1.14;margin-bottom:0}.scan-wizard-hero-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.scan-wizard-checklist{display:grid;gap:10px}.scan-wizard-check{display:flex;align-items:flex-start;gap:9px;color:rgb(var(--text-subtle-rgb) / .92);font-size:.9rem;line-height:1.26}.scan-wizard-check-icon{width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:rgb(var(--text-subtle-rgb) / .96);background:linear-gradient(135deg,rgb(var(--brand-rgb) / .18),rgb(var(--brand-2-rgb) / .2));border:1px solid rgb(var(--success-bright-rgb) / .26)}.scan-wizard-hero{position:relative;min-height:178px;margin-top:0;padding:14px 16px;border-radius:var(--radius-lg);overflow:hidden;background:linear-gradient(160deg,rgb(var(--theme-bg-soft-rgb) / .98),rgb(var(--app-bg-end-rgb) / .98));border:1px solid rgb(var(--slate-rgb) / .14)}.scan-wizard-hero-bg{position:absolute;inset:0;background:radial-gradient(circle at 30% 18%,rgb(var(--brand-rgb) / .18),transparent 24%),radial-gradient(circle at 78% 18%,rgb(var(--brand-2-rgb) / .18),transparent 24%),linear-gradient(180deg,rgb(var(--surface-control-rgb) / .22),rgb(var(--surface-control-rgb) / 0))}.scan-wizard-hero-label{position:relative;width:min(100%,214px);margin-inline:auto;padding:12px 13px;border-radius:var(--radius);background:rgb(var(--white-rgb) / .94);color:var(--surface-control);box-shadow:0 18px 34px rgb(var(--app-bg-end-rgb) / .28)}.scan-wizard-hero-title{font-weight:800;font-size:.98rem;line-height:1.08}.scan-wizard-hero-subtitle{margin-top:2px;margin-bottom:8px;font-size:.72rem;color:var(--border-control)}.scan-wizard-hero-row{font-size:.84rem;line-height:1.25}.scan-wizard-hero-row+.scan-wizard-hero-row{margin-top:4px}.scan-wizard-frame{position:absolute;width:26px;height:26px;border-color:rgb(var(--text-bright-rgb) / .94);border-style:solid;filter:drop-shadow(0 4px 12px rgb(var(--black-rgb) / .24))}.scan-wizard-frame-tl{top:13px;left:16px;border-width:4px 0 0 4px;border-top-left-radius:12px}.scan-wizard-frame-tr{top:13px;right:16px;border-width:4px 4px 0 0;border-top-right-radius:12px}.scan-wizard-frame-bl{bottom:13px;left:16px;border-width:0 0 4px 4px;border-bottom-left-radius:12px}.scan-wizard-frame-br{right:16px;bottom:13px;border-width:0 4px 4px 0;border-bottom-right-radius:12px}.scan-wizard-footer{display:block;color:rgb(var(--text-subtle-rgb) / .78);font-size:.84rem;line-height:1.35;padding:0 10px;text-align:center}.scan-wizard-footer-main{min-width:0;display:block}.scan-wizard-footer-main>span{display:block}.scan-wizard-footer-main>span:last-child{margin-top:1px}@media(min-width:760px){.sheet.scan-wizard-sheet{width:min(100% - 24px,390px)}.scan-wizard-sheet .scan-wizard{padding-right:0}.scan-wizard-option{gap:8px;padding:13px 15px}}@media(max-width:540px){.scan-wizard-option{gap:8px;padding:13px 15px}.scan-wizard-option-icon{width:42px;height:42px}.scan-wizard-option-icon-secondary{width:46px;height:46px}.scan-wizard-option-title{font-size:1.12rem}.scan-wizard-option-description{font-size:.9rem;line-height:1.3}.scan-wizard-hero{min-height:176px;padding:14px 15px}.scan-wizard-hero-label{width:min(100%,196px);padding:11px 12px}}.editor-form-flow{gap:14px}.editor-surface-card{display:grid;gap:10px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.editor-hero-layout{display:grid;grid-template-columns:minmax(108px,132px) minmax(0,1fr);gap:12px;align-items:start}.editor-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.editor-section-head h3{margin:0;font-size:1.01rem;font-weight:700}.editor-section-head h4{margin:0;font-size:.95rem;line-height:1.2;font-weight:650}.editor-optional-panel{display:grid;gap:12px;padding:14px;border-radius:var(--radius-lg);border:1px solid rgb(var(--brand-2-rgb) / .28);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .96),rgb(var(--theme-bg-soft-rgb) / .96));box-shadow:inset 0 0 0 1px rgb(var(--success-bright-rgb) / .06)}.editor-optional-header{width:100%;padding:0;border:0;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:space-between;gap:12px;font-family:var(--font-display);font-size:1rem;font-weight:700;text-align:left;cursor:pointer}.editor-optional-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.editor-optional-card{display:grid;gap:8px;min-height:92px;padding:12px;border-radius:var(--radius);border:1px solid rgb(var(--slate-rgb) / .14);background:rgb(var(--surface-control-rgb) / .82)}.editor-optional-label{color:rgb(var(--text-subtle-rgb) / .88);font-size:.9rem;line-height:1.3}.editor-optional-input{width:100%;min-height:42px;padding:10px 12px;border-radius:12px;border:1px solid rgb(var(--slate-rgb) / .16);background:rgb(var(--app-bg-end-rgb) / .82);color:var(--text);font-family:var(--font-display);font-size:1.02rem;font-weight:600}.editor-optional-input:focus{outline:none;border-color:rgb(var(--brand-rgb) / .42);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.editor-optional-chevron{transition:transform .16s ease}.editor-optional-chevron.is-open{transform:rotate(180deg)}.scan-review{display:grid;gap:14px;padding-top:0}.scan-review-topbar{display:none;align-items:center;justify-content:flex-end;gap:12px}.scan-review-topcopy{margin:0}.scan-review-badge{flex:0 0 auto;min-height:34px;padding:0 12px;border-radius:999px;border:1px solid rgb(var(--success-bright-rgb) / .32);background:rgb(var(--surface-control-rgb) / .44);color:var(--success-bright);display:inline-flex;align-items:center;justify-content:center;font-size:.86rem;font-weight:760}.scan-review-meta{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:14px}.scan-review-meta-fields{display:grid;gap:12px;order:1}.scan-review-inline-row{display:grid;grid-template-columns:minmax(0,.64fr) minmax(164px,1fr);gap:12px}.scan-review-image-card{appearance:none;padding:0;align-self:start;width:96px;min-height:120px;border-radius:var(--radius);border:1px solid rgb(var(--slate-rgb) / .16);background:rgb(var(--white-rgb) / .04);overflow:hidden;display:flex;align-items:center;justify-content:center}button.scan-review-image-card{cursor:zoom-in}button.scan-review-image-card:focus-visible{outline:2px solid var(--brand);outline-offset:3px}.scan-review-image-card-review{order:2}.scan-review-image-card-review.is-expanded{order:0;grid-column:1 / -1;width:100%;height:auto;max-height:none;cursor:zoom-out}.scan-review-image-card-review.is-expanded .scan-review-image{height:auto;object-fit:contain}.scan-review-image-card-review .scan-review-image{object-fit:contain;background:rgb(var(--bg-deep-rgb) / .28)}.scan-review-image{width:100%;height:100%;object-fit:cover;display:block}.scan-review-image-placeholder{color:rgb(var(--text-subtle-rgb) / .74);display:inline-flex;align-items:center;justify-content:center}.scan-review-nutrient-card{width:100%;color:var(--text);text-align:left;cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.scan-review-nutrient-card:hover{border-color:rgb(var(--slate-rgb) / .26);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .96),rgb(var(--surface-2-rgb) / .96));transform:translateY(-1px)}.scan-review-nutrient-card:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .34);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.scan-review-nutrient-card.is-ambiguous{border-color:rgb(var(--warning-rgb) / .45);background:linear-gradient(180deg,rgb(var(--surface-control-rgb) / .22),rgb(var(--theme-bg-soft-rgb) / .94))}.scan-review-nutrient-card.is-editing{padding:14px;cursor:default;border-color:rgb(var(--brand-rgb) / .3)}.scan-review-nutrient-input{width:100%;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid rgb(var(--brand-rgb) / .24);background:rgb(var(--surface-depth-rgb) / .82);color:var(--text);font-family:var(--font-display);font-size:1.2rem;font-weight:700}.scan-review-nutrient-input:focus{outline:none;border-color:rgb(var(--brand-rgb) / .48);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .12)}.scan-review-nutrient-state{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:var(--success-bright);font-size:.8rem;font-weight:700;flex:0 0 auto}.scan-review-nutrient-state.is-detected{width:24px;height:24px;padding:0;border-radius:999px;justify-content:center;border:1px solid rgb(var(--success-bright-rgb) / .48);background:transparent;line-height:0}.scan-review-nutrient-state.is-warning{color:var(--warning-bright);min-height:24px;padding:0 9px;border-radius:999px;background:rgb(var(--surface-control-rgb) / .3);justify-content:flex-end}.scan-review-note{display:flex;align-items:center;gap:8px;padding:13px 14px;border-radius:var(--radius-lg);border:1px solid rgb(var(--slate-rgb) / .12);background:rgb(var(--white-rgb) / .03);color:rgb(var(--text-bright-rgb) / .82);font-size:.9rem;line-height:1.35}.scan-review-note svg{width:32px;height:32px;flex:0 0 32px}.scan-review-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.scan-review-actions .ghost-button,.scan-review-actions .primary{min-height:44px}.scan-review-actions .primary{margin-left:auto;gap:8px}.scan-review-rescan-button{gap:8px}.scan-final{display:grid;gap:14px;padding-top:0}.scan-final .editor-section-head{margin-top:6px}.scan-review-optional{margin-top:2px}.ingredient-editor-photo-field{display:grid;gap:4px}.ingredient-editor-photo-button{grid-template-columns:80px minmax(0,1fr);align-items:center;padding:8px 10px;gap:10px;border-style:solid;border-color:rgb(var(--success-bright-rgb) / .16);background:linear-gradient(180deg,rgb(var(--theme-bg-soft-rgb) / .72),rgb(var(--app-bg-end-rgb) / .78)),radial-gradient(circle at top left,rgb(var(--success-bright-rgb) / .08),transparent 58%)}.ingredient-editor-photo-button .editor-media-preview,.ingredient-editor-photo-button .editor-media-empty{width:72px;max-width:72px;min-height:0;aspect-ratio:16 / 10}.ingredient-editor-photo-button .editor-media-empty{border-color:rgb(var(--success-bright-rgb) / .2);background:radial-gradient(circle at 35% 20%,rgb(var(--success-bright-rgb) / .16),transparent 58%),linear-gradient(160deg,rgb(var(--success-bright-rgb) / .1),rgb(var(--surface-control-rgb) / .78));color:rgb(var(--success-bright-rgb) / .74)}.ingredient-editor-photo-button .editor-media-copy{gap:2px}.ingredient-editor-photo-button .editor-media-copy strong{font-size:.91rem;font-weight:650}.ingredient-editor-photo-button .editor-media-copy span{font-size:.79rem;color:rgb(var(--text-subtle-rgb) / .64)}.scan-final-photo-card{min-height:0}.scan-final-summary-grid .ingredient-editor-photo-button{align-self:stretch}.scan-final-photo-preview,.scan-final-photo-empty{min-height:150px}.scan-final-actions{gap:10px}.scan-final-actions-with-secondary{display:grid;grid-template-columns:1fr;gap:8px}.scan-final-actions-with-secondary .primary{width:100%;max-width:none;margin-left:0}.scan-final-secondary-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.scan-final-secondary-actions .ghost-button{min-width:0;min-height:42px;padding-inline:10px;font-size:.9rem;line-height:1.1}.scan-final-cancel{margin-top:0}.ingredient-editor-actions .primary{box-shadow:0 14px 28px rgb(var(--brand-rgb) / .16)}.scan-review-nutrient-card-static{cursor:default}.scan-review-nutrient-card-static:hover{transform:none}@media(min-width:760px){.editor-nutrient-grid,.editor-optional-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1120px){.editor-nutrient-grid,.editor-optional-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.scan-wizard-sheet .scan-review-meta{grid-template-columns:1fr;gap:12px;padding:14px 0}.scan-wizard-sheet .scan-review-image-card-review{order:1;width:100%;height:clamp(150px,30dvh,220px);min-height:0;max-height:220px}.scan-wizard-sheet .scan-review-image-card-review.is-expanded{height:auto;max-height:none}.scan-wizard-sheet .scan-review-meta-fields{order:2}.scan-wizard-sheet .scan-review-inline-row{grid-template-columns:minmax(0,.62fr) minmax(144px,1fr)}.scan-wizard-sheet .editor-nutrient-grid,.scan-wizard-sheet .editor-optional-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scan-wizard-sheet .editor-detail-grid{grid-template-columns:1fr}.sheet.scan-wizard-sheet .sheet-sticky-actions{position:absolute;left:var(--sheet-pad-x);right:var(--sheet-pad-x);bottom:0;z-index:4;padding:14px 0 calc(14px + env(safe-area-inset-bottom));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.sheet.ingredient-editor-sheet .ingredient-editor-actions{align-items:stretch}.sheet.ingredient-editor-sheet .ingredient-editor-actions .primary{width:100%;max-width:none}.sheet.ingredient-editor-sheet .ingredient-editor-form .four-cols,.sheet.scan-wizard-sheet .ingredient-editor-form .four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet.ingredient-editor-sheet .ingredient-editor-form .field,.sheet.scan-wizard-sheet .ingredient-editor-form .field{min-width:0}.sheet.ingredient-editor-sheet .ingredient-editor-form .field>span,.sheet.scan-wizard-sheet .ingredient-editor-form .field>span{overflow-wrap:anywhere}@media(max-width:640px){.sheet.scan-wizard-sheet{height:calc(100dvh - 10px);max-height:calc(100dvh - 10px)}.scan-review-meta{grid-template-columns:1fr;gap:12px;padding:14px 0}.scan-review-image-card-review{order:1;width:100%;height:clamp(150px,30dvh,220px);min-height:0;max-height:220px}.scan-review-image-card-review.is-expanded{height:auto;max-height:none}.scan-review-meta-fields{order:2}.scan-review-inline-row{grid-template-columns:minmax(0,.62fr) minmax(144px,1fr)}.scan-review-actions{flex-direction:column-reverse;align-items:stretch}.scan-review-actions .primary,.scan-review-actions .ghost-button{width:100%;justify-content:center;margin-left:0}.editor-detail-grid{grid-template-columns:1fr}}@media(max-width:540px){.scan-review-topbar{align-items:flex-start;justify-content:flex-start}}.suggestion-add-button{border:none;padding:0;background:transparent;color:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center}.suggestion-pills{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.suggestion-pill{position:relative;flex:1 1 calc(50% - 12px);max-width:calc(50% - 12px);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:14px 16px;text-align:left;color:inherit;cursor:default;display:flex;flex-direction:column;gap:8px;transition:transform .2s ease,border-color .2s ease}.suggestion-pill:disabled{opacity:.6;cursor:progress}.suggestion-pill:not(:disabled):hover{border-color:rgb(var(--brand-rgb) / .6);transform:translateY(-1px)}.suggestion-pill-top{display:flex;align-items:center;gap:8px;justify-content:space-between;padding-right:40px}.suggestion-pill-title{display:flex;flex-direction:column;align-items:flex-start;gap:6px;flex:1;min-width:0}.suggestion-pill .consumable-item-title{flex:1;min-width:0}.card-subtitle-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:1px;font-size:.85rem;line-height:1.28}.card-right-slot{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex:0 0 auto}.suggestion-tag{font-size:.7rem;text-transform:uppercase;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:rgb(var(--white-rgb) / .03);letter-spacing:.08em;display:inline-flex;align-self:flex-start}.suggestion-tag-small{font-size:.65rem}.suggestion-tag.ingredient{border-color:rgb(var(--success-bright-rgb) / .18);background:rgb(var(--success-bright-rgb) / .045);color:rgb(var(--success-bright-rgb) / .72)}.suggestion-tag.recipe{border-color:rgb(var(--brand-2-rgb) / .22);background:rgb(var(--brand-2-rgb) / .065);color:color-mix(in srgb,var(--brand-2) 52%,var(--white))}.suggestion-detail{color:rgb(var(--text-muted-rgb) / .78);font-size:.85rem}.suggestion-meta{display:flex;align-items:center;justify-content:flex-start;gap:10px}.suggestion-pill .suggestion-pill-nutrients{justify-content:flex-start}.suggestion-add-icon{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:999px;border:1px solid rgb(var(--white-rgb) / .12);display:flex;align-items:center;justify-content:center;background:rgb(var(--white-rgb) / .05);color:var(--accent)}.list-item.consume-open,.suggestion-pill.consume-open{z-index:6}@media(max-width:600px){.suggestion-pill{flex-basis:100%;max-width:100%}}@media(max-width:900px){.has-card-rail{padding-right:56px}.ingredient-pills-row{flex-wrap:wrap}.consumable-card-main{gap:10px}.consumable-card-media{width:50px;height:50px;flex-basis:50px}.history-actions{align-items:flex-start}}@media(max-width:600px){.has-card-rail{padding-right:54px}}.history-actions{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.recipe-editor-image-button{min-height:0}.recipe-editor-image-preview,.recipe-editor-image-placeholder{aspect-ratio:16 / 10}.recipe-editor-form{margin-bottom:0;padding-bottom:0;scroll-padding-bottom:128px}.recipe-editor-builder{display:grid;gap:24px;padding-top:0}.recipe-editor-basics{padding-bottom:2px}.recipe-editor-image-button{grid-template-columns:80px minmax(0,1fr);align-items:center;padding:8px 10px;gap:10px;border-style:solid;border-color:rgb(var(--brand-2-rgb) / .16);background:linear-gradient(180deg,rgb(var(--theme-bg-soft-rgb) / .72),rgb(var(--app-bg-end-rgb) / .78)),radial-gradient(circle at top left,rgb(var(--brand-2-rgb) / .08),transparent 58%)}.recipe-editor-hero-fields{display:grid;gap:14px}@media(min-width:701px){.recipe-editor-hero-fields{grid-template-columns:minmax(0,1fr) minmax(180px,220px);align-items:start}.recipe-editor-servings-field .quantity-stepper{padding:2px}.recipe-editor-servings-field .quantity-stepper-button,.recipe-editor-servings-field .quantity-stepper-value,.recipe-editor-servings-field .quantity-stepper-value input{min-height:36px;height:36px}.recipe-editor-servings-field .quantity-stepper-button{width:36px}}.recipe-editor-hero-fields .field{gap:5px;min-width:0}.sheet.recipe-builder-sheet .recipe-editor-hero-fields{grid-template-columns:minmax(0,1fr)}.recipe-editor-hero-fields .field span{font-size:.84rem;font-weight:600;color:rgb(var(--text-subtle-rgb) / .82)}.recipe-editor-hero-fields input,.recipe-editor-hero-fields textarea{padding:10px 12px;border-radius:var(--radius)}.recipe-editor-description{min-height:56px;resize:vertical}.recipe-editor-image-field{display:grid;gap:4px}.recipe-editor-image-button .editor-media-preview,.recipe-editor-image-button .editor-media-empty{width:72px;max-width:72px}.recipe-editor-image-button .editor-media-empty{border-color:rgb(var(--brand-2-rgb) / .2);background:radial-gradient(circle at 35% 20%,rgb(var(--brand-2-rgb) / .16),transparent 58%),linear-gradient(160deg,rgb(var(--brand-2-rgb) / .1),rgb(var(--surface-control-rgb) / .78));color:color-mix(in srgb,var(--brand-2) 58%,var(--white))}.recipe-editor-image-button .editor-media-copy{gap:2px}.recipe-editor-image-button .editor-media-copy strong{font-size:.91rem;font-weight:650}.recipe-editor-image-button .editor-media-copy span{font-size:.79rem;color:rgb(var(--text-subtle-rgb) / .64)}.recipe-editor-add-button{min-height:42px;padding:8px 14px;border-radius:13px;border-color:rgb(var(--success-bright-rgb) / .18);background:linear-gradient(180deg,rgb(var(--success-bright-rgb) / .018),rgb(var(--brand-2-rgb) / .012)),rgb(var(--theme-bg-soft-rgb) / .34);color:rgb(var(--text-bright-rgb) / .86);font-weight:540;justify-content:stretch;box-shadow:inset 0 1px rgb(var(--white-rgb) / .018),0 0 0 1px rgb(var(--brand-rgb) / .02)}.recipe-editor-add-button-inline{justify-content:flex-start;width:100%;gap:8px}.recipe-editor-add-button-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--success-bright-rgb) / .92)}.recipe-editor-add-button-label{flex:1 1 auto;text-align:left}.recipe-editor-add-button-chevron{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;color:rgb(var(--text-subtle-rgb) / .44)}.recipe-editor-add-button-full{width:100%;margin-top:8px}.recipe-editor-add-button:hover,.recipe-editor-add-button:focus-visible{border-color:rgb(var(--success-bright-rgb) / .24);background:linear-gradient(180deg,rgb(var(--success-bright-rgb) / .03),rgb(var(--brand-2-rgb) / .022)),rgb(var(--surface-control-rgb) / .5)}.recipe-editor-add-button:hover .recipe-editor-add-button-chevron,.recipe-editor-add-button:focus-visible .recipe-editor-add-button-chevron{color:rgb(var(--text-bright-rgb) / .72)}.recipe-editor-add-button:active{border-color:rgb(var(--success-bright-rgb) / .28);background:linear-gradient(180deg,rgb(var(--success-bright-rgb) / .036),rgb(var(--brand-2-rgb) / .026)),rgb(var(--surface-control-rgb) / .54)}.recipe-editor-ingredients-section{gap:14px}.recipe-editor-ingredients-section .editor-section-head{margin-bottom:2px}.recipe-editor-servings-field{gap:6px}.recipe-editor-servings-inline,.recipe-editor-items{display:grid;gap:6px}.recipe-editor-item{display:grid;grid-template-columns:minmax(0,1fr) auto;position:relative;gap:7px;padding:9px 9px 9px 10px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .07);background:rgb(var(--theme-bg-soft-rgb) / .78);cursor:pointer;transition:border-color .14s ease,transform .14s ease,background .14s ease,box-shadow .14s ease}.recipe-editor-item.is-dragging{opacity:.62;transform:none;box-shadow:none;border-color:rgb(var(--success-bright-rgb) / .2)}.recipe-editor-item.is-drag-target-before:before,.recipe-editor-item.is-drag-target-after:after{content:"";position:absolute;left:14px;right:14px;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--brand) 0%,var(--brand-2) 100%);pointer-events:none}.recipe-editor-item.is-drag-target-before:before{top:-1px}.recipe-editor-item.is-drag-target-after:after{bottom:-1px}.recipe-editor-item:hover{border-color:rgb(var(--brand-rgb) / .15);background:rgb(var(--surface-control-rgb) / .88);transform:translateY(-1px);box-shadow:0 10px 18px rgb(var(--app-bg-end-rgb) / .16)}.recipe-editor-item:focus-visible{outline:none;border-color:rgb(var(--success-bright-rgb) / .34);box-shadow:0 0 0 3px rgb(var(--success-bright-rgb) / .12)}.recipe-editor-item-main{display:grid;grid-template-columns:54px minmax(0,1fr);gap:10px;align-items:center;min-width:0}.recipe-editor-item-copy{display:grid;gap:2px;min-width:0}.recipe-editor-item-meta{display:flex;align-items:center;flex-wrap:nowrap;gap:0;min-width:0;font-size:.85rem;color:rgb(var(--text-subtle-rgb) / .78)}.recipe-editor-item-detail{display:inline-flex;align-items:center;flex-wrap:nowrap;white-space:nowrap;gap:0;min-width:0}.recipe-editor-item-bullet-separator{display:inline-flex;align-items:center;margin:0 7px;color:rgb(var(--text-subtle-rgb) / .54)}.recipe-editor-item-equivalent{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:inherit}.recipe-editor-item-actions{display:grid;gap:4px;align-content:center}.recipe-editor-item-button{width:32px;height:32px;padding:5px;color:rgb(var(--text-subtle-rgb) / .56)}.recipe-editor-item-menu{border:0;background:transparent;box-shadow:none}.recipe-editor-item-menu:hover,.recipe-editor-item-menu:focus-visible,.recipe-editor-item-menu:active{border:0;background:transparent;box-shadow:none;color:rgb(var(--text-bright-rgb) / .86)}.recipe-editor-item-handle{cursor:grab;touch-action:none}.recipe-editor-item-handle:active{cursor:grabbing}.recipe-editor-item-handle:disabled{cursor:default}.recipe-editor-empty{color:var(--muted)}.recipe-editor-empty-action-icon{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;color:var(--brand-bright)}.recipe-editor-summary-section{gap:10px}.recipe-editor-summary-section .editor-nutrient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.recipe-editor-details-section{gap:7px}.recipe-editor-details-section .field>span{font-size:.83rem;color:rgb(var(--text-subtle-rgb) / .76)}.recipe-editor-form .field.has-error input,.recipe-editor-form .field.has-error select,.recipe-editor-form .field.has-error textarea{border-color:rgb(var(--danger-soft-rgb) / .8);box-shadow:0 0 0 1px rgb(var(--danger-soft-rgb) / .24)}.recipe-editor-form .field-error{color:rgb(var(--slate-rgb) / .9);font-size:11.5px;margin-top:3px}.recipe-editor-form .form-error-sticky.error{margin-top:8px;margin-bottom:2px;padding:9px 12px;border-color:rgb(var(--danger-rgb) / .24);background:rgb(var(--danger-rgb) / .07);color:rgb(var(--text-muted-rgb) / .92)}.recipe-editor-summary-section .editor-nutrient-card{min-height:62px;padding:8px 9px;gap:2px}.recipe-editor-summary-section .editor-nutrient-value{font-size:.92rem}.recipe-editor-summary-section .editor-nutrient-label{font-size:.73rem;color:rgb(var(--text-subtle-rgb) / .76)}.recipe-summary-nutrient-meta{display:grid;gap:0}.recipe-summary-nutrient-percent{display:block;font-size:.68rem;line-height:1.1;font-weight:600;margin-top:3px}.recipe-editor-summary-section .editor-summary-badge{padding:3px 8px;background:rgb(var(--brand-2-rgb) / .042);color:rgb(var(--text-muted-rgb) / .76);font-size:.76rem}.recipe-editor-servings-field .field-error{margin-top:1px}.recipe-picker-sheet,.recipe-quantity-sheet,.recipe-item-action-sheet{display:grid;gap:14px}.sheet.selection-full-sheet .recipe-picker-sheet{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.segmented-control{display:grid;gap:8px}.segmented-control-button{min-height:40px;justify-content:center;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82);box-shadow:inset 0 1px rgb(var(--white-rgb) / .02)}.segmented-control-button.is-active{border-color:rgb(var(--success-bright-rgb) / .26);background:rgb(var(--success-bright-rgb) / .12);color:rgb(var(--white-rgb) / .98);box-shadow:inset 0 0 0 1px rgb(var(--success-bright-rgb) / .06)}.recipe-quantity-mode{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-picker-results{display:grid;align-content:start;gap:8px;max-height:min(46vh,480px);overflow-y:auto;padding-right:2px;scroll-padding-bottom:18px}.sheet.selection-full-sheet .recipe-picker-results{flex:1 1 auto;min-height:0;max-height:none}.recipe-picker-footer{flex:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:2px;padding:12px 0 calc(8px + env(safe-area-inset-bottom));background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.recipe-picker-count{color:rgb(var(--text-muted-rgb) / .82);font-size:.84rem;font-weight:650;white-space:nowrap}.recipe-picker-finish{min-height:40px;padding:9px 18px;border-radius:var(--radius);box-shadow:0 8px 22px rgb(var(--brand-rgb) / .2)}.recipe-picker-card .list-item{min-height:74px}.recipe-picker-select-card{cursor:pointer;transition:border-color .14s ease,background .14s ease,transform .14s ease,box-shadow .14s ease}.recipe-picker-select-card:hover{border-color:rgb(var(--slate-rgb) / .24);background:linear-gradient(160deg,rgb(var(--white-rgb) / .04),rgb(var(--white-rgb) / .018)),rgb(var(--surface-1-rgb) / .4)}.recipe-picker-select-card:active{transform:translateY(1px)}.recipe-picker-select-card:focus-visible{outline:none;border-color:rgb(var(--brand-rgb) / .42);box-shadow:0 0 0 3px rgb(var(--brand-rgb) / .14),0 10px 25px rgb(var(--black-rgb) / .2)}.recipe-picker-select-card.is-disabled{cursor:default}.recipe-picker-card.is-selected .list-item{border-color:rgb(var(--success-bright-rgb) / .18);background:linear-gradient(160deg,rgb(var(--white-rgb) / .035),rgb(var(--success-bright-rgb) / .04));box-shadow:0 10px 25px rgb(var(--black-rgb) / .2),inset 0 0 0 1px rgb(var(--success-bright-rgb) / .05)}.recipe-picker-card-skeleton .card-right-slot,.recipe-picker-select-card .card-right-slot{align-self:center}.recipe-picker-toggle{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;line-height:1;color:rgb(var(--text-subtle-rgb) / .86)}.recipe-picker-toggle svg{display:block}.recipe-picker-toggle.is-selected{color:color-mix(in srgb,var(--brand-2) 48%,var(--white))}.recipe-picker-toggle-placeholder{width:36px;height:36px;border-radius:12px}.recipe-picker-empty{padding:8px 4px 2px}.recipe-quantity-row{display:grid;gap:7px}.recipe-quantity-label{font-size:.84rem;font-weight:600;color:rgb(var(--text-subtle-rgb) / .82)}.recipe-equivalent-empty{min-height:46px;display:flex;align-items:center;padding:0 14px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:rgb(var(--theme-bg-soft-rgb) / .82);color:rgb(var(--text-muted-rgb) / .72)}.recipe-quantity-helper{display:grid;gap:3px;padding:9px 11px;border-radius:var(--radius);border:1px solid rgb(var(--white-rgb) / .08);background:linear-gradient(180deg,rgb(var(--theme-bg-soft-rgb) / .68),rgb(var(--app-bg-end-rgb) / .76)),radial-gradient(circle at top left,rgb(var(--success-bright-rgb) / .025),transparent 60%)}.recipe-quantity-helper span{font-size:.76rem;color:rgb(var(--text-subtle-rgb) / .68)}.recipe-quantity-helper strong{font-family:Manrope,sans-serif;font-size:.92rem;font-weight:600;color:rgb(var(--white-rgb) / .98)}.recipe-quantity-summary-head h4{margin:0}.recipe-quantity-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.recipe-quantity-sheet .editor-nutrient-card{min-height:58px;padding:8px 9px;gap:2px}.recipe-quantity-sheet .editor-nutrient-value{font-size:.9rem}.recipe-quantity-sheet .editor-nutrient-label{font-size:.72rem;color:rgb(var(--text-subtle-rgb) / .76)}.recipe-quantity-save{width:100%;justify-content:center;min-height:44px}.recipe-item-action-button{justify-content:flex-start;min-height:44px}.sheet.recipe-quantity-overlay-sheet{max-width:430px;max-height:min(92dvh,calc(100dvh - 16px));display:flex;flex-direction:column;overflow:hidden;padding-top:22px}.sheet.recipe-quantity-overlay-sheet .recipe-quantity-sheet{min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:calc(10px + env(safe-area-inset-bottom));scrollbar-width:none}.sheet.recipe-quantity-overlay-sheet .recipe-quantity-sheet::-webkit-scrollbar{display:none}.sheet.recipe-quantity-overlay-sheet .sheet-header{margin-top:4px;margin-bottom:0}.sheet.recipe-item-action-overlay-sheet{padding-top:22px}.sheet.recipe-item-action-overlay-sheet .sheet-header{margin-top:4px;margin-bottom:0}.recipe-builder-sheet{transition:filter .16s ease}.recipe-builder-sheet .sheet-header{margin-bottom:12px}.recipe-editor-servings-field .quantity-stepper{border-color:rgb(var(--slate-rgb) / .16);background:linear-gradient(180deg,rgb(var(--surface-1-rgb) / .8),rgb(var(--theme-bg-soft-rgb) / .86)),radial-gradient(circle at 50% 0%,rgb(var(--brand-rgb) / .05),transparent 62%)}.recipe-editor-servings-field .quantity-stepper-button{background:color-mix(in srgb,var(--theme-surface-raised) 82%,var(--theme-bg-soft))}.recipe-subsheet-open .sheet-overlay{background:rgb(var(--black-rgb) / .68)}.recipe-subsheet-open .recipe-builder-sheet{filter:brightness(.76) saturate(.92)}@media(max-width:900px){.recipe-editor-item-main{grid-template-columns:50px minmax(0,1fr)}}@media(max-width:520px){.recipe-quantity-mode{grid-template-columns:repeat(2,minmax(0,1fr))}}
