:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#f6f6fa;--surface-1:#fff;--surface-2:#fbfbfd;--text-primary:#16161c;--text-secondary:#5c5c68;--text-muted:#8c8c98;--border:#16161c1a;--gridline:#e6e6ee;--baseline:#d0d0da;--accent:#6845e0;--accent-hover:#7c5cff;--accent-pressed:#4f36b3;--accent-wash:#6845e01a;--accent-gradient:linear-gradient(135deg, #7c5cff 0%, #6845e0 100%);--on-accent:#fff;--chart-1:#1f9a8c;--chart-2:#d99a2b;--chart-3:#d6538f;--chart-4:#6845e0;--flame:#ff7a33;--flame-wash:#ff7a3329;--danger:#d6423f;--danger-wash:#d6423f1f;--on-danger:#fff;--shadow-sm:0 1px 2px #16161c0f, 0 1px 1px #16161c0a;--shadow-md:0 4px 12px #16161c1a, 0 2px 4px #16161c0f;--shadow-lg:0 12px 32px #16161c24, 0 4px 8px #16161c14;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-pill:999px;--page-width-wide:1040px;--page-width-narrow:760px;--font-sans:"Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif}@media (prefers-color-scheme:dark){:root:where(:not([data-theme=light]):not([data-theme=dark])){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#0d0d0f;--surface-1:#17171a;--surface-2:#1f1f23;--text-primary:#f5f5f4;--text-secondary:#a8a8a6;--text-muted:#737371;--border:#f5f5f41a;--gridline:#2a2a2e;--baseline:#3a3a3f;--accent:#7c5cff;--accent-hover:#9075ff;--accent-pressed:#6845e0;--accent-wash:#7c5cff2e;--accent-gradient:linear-gradient(135deg, #9075ff 0%, #7c5cff 100%);--on-accent:#fff;--chart-1:#4fd1c5;--chart-2:#f0b429;--chart-3:#e879a8;--chart-4:#9075ff;--flame:#ff9257;--flame-wash:#ff925733;--danger:#ef5350;--danger-wash:#ef535029;--on-danger:#fff;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 4px 14px #0006, 0 2px 6px #0000003d;--shadow-lg:0 16px 40px #00000080, 0 6px 12px #0000004d}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#0d0d0f;--surface-1:#17171a;--surface-2:#1f1f23;--text-primary:#f5f5f4;--text-secondary:#a8a8a6;--text-muted:#737371;--border:#f5f5f41a;--gridline:#2a2a2e;--baseline:#3a3a3f;--accent:#7c5cff;--accent-hover:#9075ff;--accent-pressed:#6845e0;--accent-wash:#7c5cff2e;--accent-gradient:linear-gradient(135deg, #9075ff 0%, #7c5cff 100%);--on-accent:#fff;--chart-1:#4fd1c5;--chart-2:#f0b429;--chart-3:#e879a8;--chart-4:#9075ff;--flame:#ff9257;--flame-wash:#ff925733;--danger:#ef5350;--danger-wash:#ef535029;--on-danger:#fff;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 4px 14px #0006, 0 2px 6px #0000003d;--shadow-lg:0 16px 40px #00000080, 0 6px 12px #0000004d}:root[data-theme=ocean]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#eef5f7;--surface-1:#fff;--surface-2:#f5fafb;--text-primary:#0f2a2e;--text-secondary:#4a6b70;--text-muted:#7c9a9e;--border:#0f2a2e1f;--gridline:#dbe9ec;--baseline:#c3dade;--accent:#0f8b9e;--accent-hover:#12a3ba;--accent-pressed:#0c6e7d;--accent-wash:#0f8b9e1a;--accent-gradient:linear-gradient(135deg, #12a3ba 0%, #0f8b9e 100%);--on-accent:#fff;--chart-1:#0f8b9e;--chart-2:#e0a123;--chart-3:#d6538f;--chart-4:#4361c9;--flame:#ff8a3d;--flame-wash:#ff8a3d29;--danger:#d6423f;--danger-wash:#d6423f1f;--on-danger:#fff;--shadow-sm:0 1px 2px #0f2a2e0f, 0 1px 1px #0f2a2e0a;--shadow-md:0 4px 12px #0f2a2e1a, 0 2px 4px #0f2a2e0f;--shadow-lg:0 12px 32px #0f2a2e24, 0 4px 8px #0f2a2e14}:root[data-theme=sunset]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#fdf3ee;--surface-1:#fff;--surface-2:#fff8f4;--text-primary:#2b1810;--text-secondary:#6b4a3a;--text-muted:#9c7c6a;--border:#2b18101f;--gridline:#f0ddd2;--baseline:#e3c4b0;--accent:#e2622f;--accent-hover:#f07845;--accent-pressed:#b94a1f;--accent-wash:#e2622f1f;--accent-gradient:linear-gradient(135deg, #f07845 0%, #e2622f 100%);--on-accent:#fff;--chart-1:#1f9a8c;--chart-2:#e2622f;--chart-3:#d6538f;--chart-4:#8a5cf6;--flame:#ff5f3d;--flame-wash:#ff5f3d29;--danger:#cf3b3b;--danger-wash:#cf3b3b1f;--on-danger:#fff;--shadow-sm:0 1px 2px #2b18100f, 0 1px 1px #2b18100a;--shadow-md:0 4px 12px #2b18101a, 0 2px 4px #2b18100f;--shadow-lg:0 12px 32px #2b181024, 0 4px 8px #2b181014}:root[data-theme=matcha]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#f4f7ee;--surface-1:#fff;--surface-2:#f8faf2;--text-primary:#1f2b17;--text-secondary:#4f6b42;--text-muted:#86997c;--border:#1f2b171f;--gridline:#e3ead9;--baseline:#cddbc0;--accent:#5c8a3a;--accent-hover:#6fa346;--accent-pressed:#446b2a;--accent-wash:#5c8a3a1f;--accent-gradient:linear-gradient(135deg, #6fa346 0%, #5c8a3a 100%);--on-accent:#fff;--chart-1:#5c8a3a;--chart-2:#e0982a;--chart-3:#c23b5e;--chart-4:#3d7a9e;--flame:#ff7a33;--flame-wash:#ff7a3329;--danger:#c2453f;--danger-wash:#c2453f1f;--on-danger:#fff;--shadow-sm:0 1px 2px #1f2b170f, 0 1px 1px #1f2b170a;--shadow-md:0 4px 12px #1f2b171a, 0 2px 4px #1f2b170f;--shadow-lg:0 12px 32px #1f2b1724, 0 4px 8px #1f2b1714}:root[data-theme=citrus]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#fcfce8;--surface-1:#fff;--surface-2:#fefcf0;--text-primary:#2a2b12;--text-secondary:#5c5f2e;--text-muted:#93976a;--border:#2a2b121f;--gridline:#eef0d6;--baseline:#dbe0ad;--accent:#8fae1e;--accent-hover:#a3c62c;--accent-pressed:#6f8a16;--accent-wash:#8fae1e1f;--accent-gradient:linear-gradient(135deg, #a3c62c 0%, #8fae1e 100%);--on-accent:#fff;--chart-1:#8fae1e;--chart-2:#e0982a;--chart-3:#d6538f;--chart-4:#4a90c4;--flame:#ff7a33;--flame-wash:#ff7a3329;--danger:#cf4a3b;--danger-wash:#cf4a3b1f;--on-danger:#fff;--shadow-sm:0 1px 2px #2a2b120f, 0 1px 1px #2a2b120a;--shadow-md:0 4px 12px #2a2b121a, 0 2px 4px #2a2b120f;--shadow-lg:0 12px 32px #2a2b1224, 0 4px 8px #2a2b1214}:root[data-theme=mango]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#fdf6e8;--surface-1:#fff;--surface-2:#fff9ee;--text-primary:#2e2410;--text-secondary:#6b5730;--text-muted:#a3906a;--border:#2e24101f;--gridline:#f2e4c6;--baseline:#e3c98f;--accent:#e0982a;--accent-hover:#f0ab3d;--accent-pressed:#b3771c;--accent-wash:#e0982a1f;--accent-gradient:linear-gradient(135deg, #f0ab3d 0%, #e0982a 100%);--on-accent:#2e2410;--chart-1:#e0982a;--chart-2:#5c8a3a;--chart-3:#c23b5e;--chart-4:#4a7fc9;--flame:#ff5f3d;--flame-wash:#ff5f3d29;--danger:#c2453f;--danger-wash:#c2453f1f;--on-danger:#fff;--shadow-sm:0 1px 2px #2e24100f, 0 1px 1px #2e24100a;--shadow-md:0 4px 12px #2e24101a, 0 2px 4px #2e24100f;--shadow-lg:0 12px 32px #2e241024, 0 4px 8px #2e241014}:root[data-theme=volt]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page-plane:#f6f6fa;--surface-1:#fff;--surface-2:#fbfbfd;--text-primary:#16161c;--text-secondary:#5c5c68;--text-muted:#8c8c98;--border:#16161c1a;--gridline:#e6e6ee;--baseline:#d0d0da;--accent:#6f9c2e;--accent-hover:#83b83a;--accent-pressed:#547a22;--accent-wash:#6f9c2e1f;--accent-gradient:linear-gradient(135deg, #83b83a 0%, #6f9c2e 100%);--on-accent:#fff;--chart-1:#6f9c2e;--chart-2:#d99a2b;--chart-3:#d6538f;--chart-4:#4361c9;--flame:#ff7a33;--flame-wash:#ff7a3329;--danger:#d6423f;--danger-wash:#d6423f1f;--on-danger:#fff;--shadow-sm:0 1px 2px #16161c0f, 0 1px 1px #16161c0a;--shadow-md:0 4px 12px #16161c1a, 0 2px 4px #16161c0f;--shadow-lg:0 12px 32px #16161c24, 0 4px 8px #16161c14}:root[data-theme=midnight]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#0a0e1a;--surface-1:#12182a;--surface-2:#171f36;--text-primary:#eef1fb;--text-secondary:#a3add0;--text-muted:#707c9e;--border:#eef1fb1a;--gridline:#232c48;--baseline:#33406a;--accent:#5b7cff;--accent-hover:#7692ff;--accent-pressed:#4863d1;--accent-wash:#5b7cff2e;--accent-gradient:linear-gradient(135deg, #7692ff 0%, #5b7cff 100%);--on-accent:#fff;--chart-1:#4fd1c5;--chart-2:#f0b429;--chart-3:#e879a8;--chart-4:#7692ff;--flame:#ff9257;--flame-wash:#ff925733;--danger:#ef5350;--danger-wash:#ef535029;--on-danger:#fff;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 4px 14px #0006, 0 2px 6px #0000003d;--shadow-lg:0 16px 40px #00000080, 0 6px 12px #0000004d}:root[data-theme=forest]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page-plane:#0b120e;--surface-1:#131c16;--surface-2:#1a2620;--text-primary:#eef5ef;--text-secondary:#a7bdac;--text-muted:#718c78;--border:#eef5ef1a;--gridline:#223228;--baseline:#35503f;--accent:#3fae6a;--accent-hover:#52c47e;--accent-pressed:#2f8a52;--accent-wash:#3fae6a2e;--accent-gradient:linear-gradient(135deg, #52c47e 0%, #3fae6a 100%);--on-accent:#08150d;--chart-1:#4fd1c5;--chart-2:#f0b429;--chart-3:#e879a8;--chart-4:#52c47e;--flame:#ff9257;--flame-wash:#ff925733;--danger:#ef5350;--danger-wash:#ef535029;--on-danger:#fff;--shadow-sm:0 1px 2px #0000004d, 0 1px 1px #0003;--shadow-md:0 4px 14px #0006, 0 2px 6px #0000003d;--shadow-lg:0 16px 40px #00000080, 0 6px 12px #0000004d}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--page-plane);color:var(--text-primary);-webkit-font-smoothing:antialiased;margin:0}button,input{font-family:inherit}ul{margin:0;padding:0;list-style:none}@media (width<=767.98px){*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}button,a,[role=button],[role=tab]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}}.dashboard{flex-direction:column;gap:20px;display:flex}.page-narrow{max-width:var(--page-width-narrow)}.panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px}.panel h2{margin:0 0 16px;font-size:15px}.muted{color:var(--text-muted);font-size:14px}.back-link{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:6px;padding:4px 0;font-size:14px;display:inline-flex}.back-link:hover{color:var(--accent)}@media (width<=767.98px){.back-link{display:none}}.sidebar{inset-block:0;background:var(--surface-1);border-right:1px solid var(--border);z-index:40;flex-direction:column;gap:24px;width:240px;padding:20px 16px;transition:transform .2s;display:flex;position:fixed;left:0;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-header{justify-content:space-between;align-items:center;display:flex}.sidebar-bottom{flex-direction:column;gap:12px;margin-top:auto;display:flex}.sidebar-credits-group{border-radius:var(--radius-md);background:var(--page-plane);flex-direction:column;gap:6px;padding:10px 12px;display:flex}.sidebar-credits-heading{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-size:11px;font-weight:600}.sidebar-credits{justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.sidebar-credits-label{color:var(--text-muted)}.sidebar-credits-value{color:var(--text-secondary);font-weight:600}.sidebar-account{border-top:1px solid var(--border);text-align:center;flex-direction:column;align-items:center;gap:8px;padding-top:16px;display:flex}.sidebar-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;width:40px;height:40px}.sidebar-account-info{flex-direction:column;display:flex}.sidebar-account-name{font-size:14px;font-weight:600}.sidebar-logout{border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;background:0 0;width:100%;padding:8px}.sidebar-brand{font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;padding:0;text-decoration:none;display:flex}.sidebar-logo{letter-spacing:-.01em;color:var(--accent);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:18px;font-weight:700}.sidebar-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;font-size:16px;line-height:1;display:inline-flex}.sidebar-close:hover{background:var(--page-plane);color:var(--text-primary)}.nav-item{border-radius:var(--radius-md);color:var(--text-secondary);cursor:default;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-size:14px;font-weight:500;display:flex}.nav-item-button{text-align:left;cursor:pointer;background:0 0;border:none;width:100%;font-family:inherit;transition:background .15s,color .15s}.nav-item-button:hover{background:var(--page-plane);color:var(--text-primary)}.nav-item-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.nav-item-active{background:var(--accent-wash);color:var(--accent)}.nav-item-soon{color:var(--text-muted)}.nav-badge{border-radius:var(--radius-pill);background:var(--page-plane);color:var(--text-muted);border:1px solid var(--border);padding:2px 6px;font-size:11px;font-weight:600}.scrim{z-index:30;background:#0b0b0b66;position:fixed;inset:0}.sidebar-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width>=768px){.sidebar{height:100vh;position:sticky;top:0;transform:none}.sidebar-close,.scrim{display:none}}.bottom-nav{left:20px;right:20px;bottom:calc(28px + env(safe-area-inset-bottom));border-radius:var(--radius-pill);background:color-mix(in srgb, var(--surface-1) 72%, transparent);-webkit-backdrop-filter:blur(20px)saturate(180%);will-change:backdrop-filter;isolation:isolate;border:1px solid var(--border);height:64px;box-shadow:var(--shadow-lg);z-index:35;align-items:center;padding:0 6px;display:flex;position:fixed}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.bottom-nav{background:color-mix(in srgb, var(--surface-1) 92%, transparent)}}.bottom-nav-item{border-radius:var(--radius-pill);min-width:0;height:100%;color:var(--text-secondary);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;padding:0;transition:color .15s;display:flex;position:relative}.bottom-nav-item.active{color:var(--accent)}.bottom-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.bottom-nav-highlight{border-radius:var(--radius-pill);background:var(--accent-wash);z-index:0;pointer-events:none;width:44px;height:44px;margin:auto;position:absolute;inset:0}.bottom-nav-icon{z-index:1;transition:transform .12s;position:relative}.bottom-nav-item:active .bottom-nav-icon{transform:scale(.88)}.bottom-nav-fab{min-width:0;height:100%;color:var(--on-accent);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:0 0;border:none;flex:1 1 0;justify-content:center;align-items:center;padding:0;display:flex}.bottom-nav-fab-circle{border-radius:var(--radius-pill);background:var(--accent-gradient);justify-content:center;align-items:center;width:48px;height:48px;display:flex}.bottom-nav-fab-icon{justify-content:center;align-items:center;display:flex}.bottom-nav-fab:focus-visible{outline:2px solid var(--accent);outline-offset:-4px;border-radius:var(--radius-pill)}.bottom-sheet-scrim{z-index:45;background:#0b0b0b66;position:fixed;inset:0}.bottom-sheet{z-index:46;background:var(--surface-1);border-top:1px solid var(--border);padding:8px 16px calc(16px + env(safe-area-inset-bottom));box-shadow:var(--shadow-lg);border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0}.bottom-sheet-handle{border-radius:var(--radius-pill);background:var(--border);width:36px;height:4px;margin:6px auto 12px}.bottom-sheet-list{flex-direction:column;gap:2px;display:flex}.bottom-sheet-item{touch-action:manipulation;border-radius:var(--radius-md);width:100%;min-height:48px;color:var(--text-secondary);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background:0 0;border:none;align-items:center;gap:12px;padding:12px 10px;font-size:15px;font-weight:500;display:flex}.bottom-sheet-item.active{background:var(--accent-wash);color:var(--accent)}.quick-log-tint{background:color-mix(in srgb, var(--page-plane) 85%, transparent);-webkit-backdrop-filter:blur(6px);will-change:backdrop-filter;isolation:isolate;z-index:32;position:fixed;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.quick-log-tint{background:color-mix(in srgb, var(--page-plane) 94%, transparent)}}.quick-log-grid{left:20px;right:20px;bottom:calc(28px + 64px + 16px + env(safe-area-inset-bottom));z-index:36;grid-template-columns:1fr 1fr;gap:12px;display:grid;position:fixed}.quick-log-box{border:1px solid var(--border);border-radius:var(--radius-lg,20px);background:var(--surface-1);height:84px;color:var(--text-primary);cursor:pointer;box-shadow:var(--shadow-lg);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.quick-log-box:active{transform:scale(.97)}.quick-log-box-featured{background:var(--accent-gradient);height:76px;color:var(--on-accent);text-align:left;border-color:#0000;flex-direction:row;grid-column:1/-1;justify-content:flex-start;gap:14px;padding:0 18px}.quick-log-featured-icon{border-radius:var(--radius-pill);background:#fff3;justify-content:center;align-items:center;width:46px;height:46px;display:flex}.quick-log-featured-text{flex-direction:column;gap:2px;display:flex}.quick-log-featured-text span{font-size:16px;font-weight:700}.quick-log-featured-text small{color:#ffffffe6;font-size:12px;font-weight:500}@media (width>=768px){.bottom-nav,.bottom-sheet-scrim,.bottom-sheet,.quick-log-tint,.quick-log-grid{display:none}}.widget-card{box-shadow:var(--shadow-sm)}.widget-card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.widget-card-header h2{margin:0;font-size:15px}.widget-card-header-right{align-items:center;gap:10px;display:flex}.widget-card-actions{gap:2px;display:flex}.widget-card-actions button{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px;font-size:13px;line-height:1;display:inline-flex}.widget-card-actions button:hover:not(:disabled){background:var(--page-plane);color:var(--text-primary)}.widget-card-actions button:disabled{opacity:.35;cursor:default}.widget-card-actions .widget-remove:hover:not(:disabled){color:var(--danger);background:var(--danger-wash)}.widget-card-actions button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stats-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.stats-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:700}.stats-value{align-items:baseline;gap:6px;margin-top:6px;display:flex}.stats-value strong{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.05}.stats-value span{color:var(--text-muted);font-size:17px;font-weight:600}.stats-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.stats-chip{border-radius:var(--radius-pill);white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--accent-wash);color:var(--accent);align-items:center;gap:5px;padding:6px 10px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.stats-spark{width:calc(100% + 40px);height:auto;margin:14px -20px 0;display:block}.stats-spark-stop{stop-color:var(--accent)}.stats-spark-grid{stroke:var(--gridline);stroke-width:1px;stroke-dasharray:3 5}.stats-spark-line{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.stats-spark-halo{fill:var(--accent);fill-opacity:.18}.stats-spark-dot{fill:var(--accent);stroke:var(--surface-1);stroke-width:2px}.stats-axis{color:var(--text-muted);font-variant-numeric:tabular-nums;justify-content:space-between;gap:10px;margin-top:4px;font-size:11px;font-weight:600;display:flex}.today-overview{gap:22px;display:grid}.today-row{gap:8px;display:grid}.today-row-top{justify-content:space-between;align-items:center;gap:8px;min-height:22px;display:flex}.today-row-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:8px;font-size:12px;font-weight:700;display:inline-flex}.today-row-dot{background:var(--row-color);border-radius:3px;flex:none;width:10px;height:10px}.today-pill{border-radius:var(--radius-pill);white-space:nowrap;background:var(--gridline);color:var(--text-secondary);align-items:center;gap:4px;padding:5px 9px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.today-pill-good{background:var(--accent-wash);color:var(--accent)}.today-pill-over{background:var(--danger-wash);color:var(--danger)}.today-row-value{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.today-row-value strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.1}.today-row-value span{color:var(--text-secondary);font-size:13px}.today-row-value em{font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-style:normal;font-weight:600}.today-bar{border-radius:var(--radius-pill);background:var(--gridline);height:12px;margin-block:4px;position:relative}.today-bar-fill{border-radius:var(--radius-pill);background:var(--row-color);transition:width .3s;position:absolute;inset:0 auto 0 0}.today-row-sub{color:var(--text-secondary);font-size:12px}@media (prefers-reduced-motion:reduce){.today-bar-fill{transition:none}}.spinner-wrap{color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:24px 0;font-size:14px;display:flex}.spinner{box-sizing:border-box;border:2.5px solid var(--accent-wash);border-top-color:var(--accent);border-radius:50%;animation:.7s linear infinite spin;display:inline-block}.spinner-sm{border-width:2px;width:16px;height:16px}.spinner-md{width:22px;height:22px}.spinner-lg{border-width:3px;width:40px;height:40px}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:1.6s}}.stat-row{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;display:grid}.stat-tile{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;gap:4px;padding:16px;transition:box-shadow .18s,transform .18s;display:flex}.stat-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:12px;font-weight:600}.stat-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;font-size:24px;font-weight:800}.stat-value-row{align-items:baseline;gap:6px;display:flex}.stat-sub{color:var(--text-secondary);font-size:12px}.wg-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.wg-value{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.wg-value strong{letter-spacing:-.03em;font-size:40px;font-weight:800;line-height:1.05}.wg-value span{color:var(--text-muted);font-size:17px;font-weight:600}.wg-sub{color:var(--text-secondary);margin-top:2px;font-size:12px}.wg-pill{border-radius:var(--radius-pill);white-space:nowrap;background:var(--accent-wash);color:var(--accent);align-items:center;gap:5px;padding:6px 11px;font-size:12px;font-weight:700;line-height:1;display:inline-flex}.wg-pill-over{background:var(--danger-wash);color:var(--danger)}.wg-track{height:74px;margin:46px 16px 0;position:relative}.wg-line{background:var(--gridline);border-radius:2px;height:4px;position:absolute;inset:10px 0 auto}.wg-fill{width:var(--progress);background:var(--accent-gradient);border-radius:2px;height:100%}.wg-node{border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;top:0;transform:translate(-50%)}.wg-node-done{background:var(--accent);color:var(--on-accent)}.wg-node-todo{background:var(--surface-1);border:2px solid var(--baseline);color:var(--text-muted)}.wg-node-next{background:var(--surface-1);border:2px solid var(--accent);box-shadow:0 0 0 4px var(--accent-wash);color:var(--accent)}.wg-node-next:not(.wg-node-goal):after{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.wg-you{top:12px;left:var(--progress);width:0;height:0;position:absolute}.wg-you i{background:var(--accent);border:3px solid var(--surface-1);width:18px;height:18px;box-shadow:0 0 0 5px var(--accent-wash);border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.wg-you b{transform:translateX(var(--you-shift,-50%));border-radius:var(--radius-pill);background:var(--text-primary);color:var(--surface-1);white-space:nowrap;font-variant-numeric:tabular-nums;padding:4px 9px;font-size:11px;font-weight:800;position:absolute;bottom:18px;left:0}.wg-lab{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums;position:absolute;top:34px;transform:translate(-50%)}.wg-lab strong{font-size:12px;font-weight:800;display:block}.wg-lab small{color:var(--text-muted);font-size:10.5px;font-weight:600;display:block}.wg-lab-next small{color:var(--accent)}.wg-foot{border-top:1px solid var(--border);border-radius:0 0 calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px);background:var(--surface-2);color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin:4px -20px -20px;padding:14px 20px;font-size:13px;display:flex}.wg-foot b{color:var(--text-primary);font-weight:800}@media (width>=720px){.wg-track{margin-inline:24px}}.chart-wrap{margin:0 -8px}.chart-wrap :focus,.chart-wrap :focus-visible{outline:none!important}.chart-empty{text-align:center;color:var(--text-muted);padding:40px 16px;font-size:14px}.chart-tooltip{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:8px 12px}.chart-tooltip-date{color:var(--text-muted);margin-bottom:2px;font-size:12px}.chart-tooltip-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:14px;font-weight:700}.chart-caption{color:var(--text-muted);margin:8px 4px 0;font-size:12px}.weight-goal-pace{color:var(--text-primary);margin:0 4px 12px;font-size:14px}.weight-goal-legend{flex-wrap:wrap;gap:16px;padding:0 4px 8px;display:flex}.weight-goal-legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.info-tooltip{vertical-align:middle;color:var(--text-muted);cursor:help;margin-left:4px;display:inline-flex}.info-tooltip:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.info-tooltip-bubble{z-index:20;border-radius:var(--radius-sm);background:var(--text-primary);width:max-content;max-width:min(240px,100vw - 32px);color:var(--page-plane);text-align:left;box-shadow:var(--shadow-md);pointer-events:none;padding:8px 10px;font-size:12px;font-weight:400;line-height:1.4}.select-field-popover.goal-select-popover{width:auto;min-width:190px}.goal-select-popover .select-field-option{font-size:13px}.bc{flex-direction:column;gap:16px;display:flex}.bc-duo{grid-template-columns:1fr 1fr;gap:8px 12px;display:grid}.bc-dial{text-align:center;justify-self:center;width:100%;min-width:0;max-width:230px}.bc-zone-under{--c:color-mix(in srgb, var(--accent) 45%, var(--text-muted))}.bc-zone-normal{--c:var(--accent)}.bc-zone-over{--c:var(--flame)}.bc-zone-obese{--c:var(--danger)}.bc-fig{aspect-ratio:160/150;position:relative;container-type:inline-size}.bc-fig svg{width:100%;height:100%;display:block}.bc-arc{fill:none;stroke-width:12px;stroke:color-mix(in srgb, var(--c) 28%, transparent)}.bc-arc-on{stroke:var(--c)}.bc-arc-base{stroke:var(--accent)}.bc-arc-change{stroke:var(--flame)}.bc-marker{fill:var(--text-primary);stroke:var(--surface-1);stroke-width:3px}.bc-mid{flex-direction:column;align-items:center;line-height:1.1;display:flex;position:absolute;inset:53% 0 auto;transform:translateY(-50%)}.bc-mid b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(26px,15cqw,34px);font-weight:800}.bc-mid small{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin-top:3px;font-size:11px;font-weight:700}.bc-cap{justify-content:center;display:flex;position:absolute;inset:auto 0 0}.bc-pill{border-radius:var(--radius-pill);white-space:nowrap;background:color-mix(in srgb, var(--c) 16%, transparent);color:color-mix(in srgb, var(--c) 70%, var(--text-primary));align-items:center;padding:5px 9px;font-size:11px;font-weight:700;line-height:1;display:inline-flex}.bc-pill-change{--c:var(--flame)}.bc-legend{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:6px 0 0;font-size:12px}.bc-legend span{display:block}.bc-legend b{color:var(--text-primary);font-weight:800}.bc-key{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.bc-key-base{background:var(--accent)}.bc-key-change{background:var(--flame)}.bc-chips{border-top:1px solid var(--border);flex-wrap:wrap;gap:8px;padding-top:16px;display:flex}.bc-chip{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);font-variant-numeric:tabular-nums;padding:6px 12px;font-size:12px;font-weight:600}.bc-chip b{color:var(--text-primary);font-weight:800}.streak-widget{flex-direction:column;gap:18px;display:flex;container-type:inline-size}.streak-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.streak-top{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 20px;display:flex}.streak-ring{flex:none;width:132px;height:132px;position:relative}.streak-ring>svg{width:100%;height:100%;display:block}.streak-ring-track,.streak-ring-arc{fill:none;stroke-width:10px}.streak-ring-track{stroke:var(--gridline)}.streak-ring-arc{stroke:var(--accent);stroke-linecap:round}.streak-ring-mid{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.streak-ring-mid svg{width:16px;height:16px;color:var(--accent)}.streak-ring-mid b{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:36px;font-weight:800;line-height:1}.streak-ring-mid small{color:var(--text-secondary);font-size:11px}.streak-next{flex-direction:column;flex:130px;gap:2px;min-width:0;max-width:200px;display:flex}.streak-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.streak-goal{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800;line-height:1.2}.streak-togo{color:var(--text-secondary);margin-bottom:10px;font-size:13px}.streak-facts{color:var(--text-secondary);gap:4px;margin:0;font-size:12px;display:grid}.streak-facts b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-weight:700}@container (width<=282px){.streak-next{text-align:center;flex-basis:100%;align-items:center;max-width:none}.streak-facts{justify-items:center}}.streak-track{--node:28px;justify-content:space-between;margin:0;padding:0;list-style:none;display:flex;position:relative}.streak-track:before,.streak-track:after{content:"";left:calc(var(--node) / 2);top:calc(var(--node) / 2 - 1px);border-radius:2px;height:2px;position:absolute}.streak-track:before{right:calc(var(--node) / 2);background:var(--gridline)}.streak-track:after{width:calc((100% - var(--node)) * var(--fill));background:var(--accent)}.streak-node{z-index:1;width:var(--node);height:var(--node);background:var(--surface-1);box-shadow:inset 0 0 0 2px var(--gridline);color:var(--text-muted);font-variant-numeric:tabular-nums;border-radius:50%;place-items:center;font-size:10px;font-weight:700;display:grid;position:relative}.streak-node-done{background:var(--accent);box-shadow:none;color:var(--on-accent)}.streak-node-next{box-shadow:inset 0 0 0 2px var(--accent);color:var(--text-primary)}.streak-week{border-top:1px solid var(--border);grid-template-columns:repeat(7,1fr);margin:0;padding:14px 0 0;list-style:none;display:grid}.streak-day{flex-direction:column;align-items:center;gap:5px;display:flex}.streak-day-dot{background:var(--gridline);width:30px;height:30px;color:var(--accent);border-radius:50%;place-items:center;display:grid}.streak-day-done{background:var(--accent-wash)}.streak-day-today .streak-day-dot{box-shadow:inset 0 0 0 1.5px var(--accent);background:0 0}.streak-day-today .streak-day-done{background:var(--accent);box-shadow:none;color:var(--on-accent)}.streak-day-label{color:var(--text-muted);font-size:10px;font-weight:700}.streak-day-today .streak-day-label{color:var(--text-primary)}.streak-status{color:var(--text-secondary);align-items:center;gap:8px;margin:0;font-size:13px;font-weight:500;display:flex}.streak-status svg{color:var(--accent);flex:none}.streak-status-open{color:var(--text-primary)}.streak-dot{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.streak-status-open .streak-dot{box-shadow:inset 0 0 0 2px var(--accent);background:0 0}@media (prefers-reduced-motion:no-preference){.streak-ring-arc{transition:stroke-dasharray .4s}.streak-track:after{transition:width .4s}}.select-field{flex-direction:column;display:inline-flex}.select-field-trigger{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);text-align:left;cursor:pointer;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s;display:flex}.select-field-trigger[data-focus-visible]{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.select-field-trigger[data-pressed]{border-color:var(--accent)}.select-field-trigger[data-disabled]{opacity:.6;cursor:not-allowed}.select-field-trigger.period-select,.select-field-trigger.goal-select{border-radius:var(--radius-pill);color:var(--text-secondary);white-space:nowrap;background:0 0;gap:6px;padding:8px 10px 8px 12px;font-size:12px;font-weight:600;line-height:1.5}.select-field-trigger.period-select:hover,.select-field-trigger.goal-select:hover{background:var(--surface-2);color:var(--text-primary)}.period-select .select-field-chevron,.goal-select .select-field-chevron{width:12px;height:12px}.field-compact .select-field-trigger{padding:6px 8px}.select-field-value{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-field-value[data-placeholder]{color:var(--text-muted)}.select-field-chevron{color:var(--text-secondary);flex-shrink:0}.select-field-popover{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;width:var(--trigger-width);min-width:140px}.select-field-popover[data-entering]{animation:.12s ease-out select-field-pop-in}@keyframes select-field-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.select-field-listbox{outline:none;max-height:280px;padding:6px;overflow-y:auto}.select-field-option{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;outline:none;padding:8px 10px;font-size:14px}.select-field-option[data-hovered],.select-field-option[data-focused]{background:var(--accent-wash)}.select-field-option[data-selected]{background:var(--accent);color:var(--on-accent);font-weight:600}.select-field-option[data-disabled]{color:var(--text-muted);opacity:.6;cursor:not-allowed}.select-field-section:not(:first-child){border-top:1px solid var(--border);margin-top:6px;padding-top:6px}.select-field-section-header{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);padding:6px 10px 2px;font-size:11px;font-weight:600}.date-field{flex-direction:column;display:inline-flex}.date-field.period-select-date .date-field-group{border-radius:var(--radius-pill);color:var(--text-secondary);background:0 0;gap:4px;padding:8px 8px 8px 12px}.date-field.period-select-date .date-field-group:hover{background:var(--surface-2);color:var(--text-primary)}.date-field.period-select-date .date-field-segment{color:inherit;font-size:12px;font-weight:600}.date-field.period-select-date .date-field-segment[data-type=literal]{color:inherit;opacity:.7}.date-field.period-select-date .date-field-trigger{padding:2px}.date-field.period-select-date .date-field-group[data-focus-within]{box-shadow:none;outline:none}.date-field-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);align-items:center;gap:6px;padding:10px 10px 10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.date-field-group[data-focus-within]{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.date-field-group[data-disabled]{opacity:.6}.date-field-input{flex:1;font-size:16px;display:flex}.date-field-segment{font-variant-numeric:tabular-nums;color:var(--text-primary);border-radius:3px;outline:none;padding:0 1px}.date-field-segment[data-placeholder]{color:var(--text-muted)}.date-field-segment[data-focused]{background:var(--accent-wash);color:var(--accent)}.date-field-segment[data-type=literal]{color:var(--text-muted);padding:0 1px}.date-field-trigger{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:3px;transition:background .15s,color .15s;display:flex}.date-field-trigger:hover{color:var(--accent);background:var(--accent-wash)}.date-field-trigger[data-pressed]{color:var(--accent-pressed);background:var(--accent-wash)}.date-field-popover{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;overflow-y:auto}.date-field-popover[data-entering]{animation:.12s ease-out date-field-pop-in}@keyframes date-field-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.date-field-dialog{outline:none;padding:12px}.date-field-calendar-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.date-field-calendar-header button{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;transition:background .15s,color .15s;display:flex}.date-field-calendar-header button:hover{background:var(--accent-wash);color:var(--accent)}.date-field-calendar-header button[data-disabled]{opacity:.3;cursor:not-allowed;pointer-events:none}.date-field-calendar-pickers{flex:1;gap:6px;min-width:0;display:flex}.date-field-calendar-pickers .select-field{flex:1;min-width:0}.date-field-month-select,.date-field-year-select{font-size:13px}.date-field-calendar-pickers .select-field-popover{min-width:90px}.date-field-grid-wrap{min-height:238px}.date-field-calendar table{border-collapse:collapse}.date-field-calendar th{color:var(--text-muted);padding:4px 0;font-size:11px;font-weight:600}.date-field-calendar td{text-align:center;padding:2px}.date-field-cell{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-primary);outline:none;justify-content:center;align-items:center;font-size:13px;transition:background .1s,color .1s;display:flex}.date-field-cell[data-outside-month]{color:var(--text-muted);opacity:.5}.date-field-cell[data-hovered]{background:var(--accent-wash)}.date-field-cell[data-focus-visible]{outline:2px solid var(--accent);outline-offset:1px}.date-field-cell[data-selected]{background:var(--accent);color:var(--on-accent)}.date-field-cell[data-today]:not([data-selected]){border:1px solid var(--accent)}.date-field-cell[data-unavailable]{color:var(--danger);cursor:not-allowed;text-decoration:line-through}.date-field-cell[data-disabled]{color:var(--text-muted);opacity:.35;cursor:not-allowed}.time-field{flex-direction:column;display:inline-flex}.time-field-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);align-items:center;gap:4px;padding:10px 8px 10px 12px;transition:border-color .15s,box-shadow .15s;display:flex}.time-field-group:focus-within{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.time-field-fieldset{flex:1;display:flex}.time-field-input{font-size:16px;display:flex}.time-field-segment{font-variant-numeric:tabular-nums;color:var(--text-primary);border-radius:3px;outline:none;padding:0 1px}.time-field-segment[data-placeholder]{color:var(--text-muted)}.time-field-segment[data-focused]{background:var(--accent-wash);color:var(--accent)}.time-field-segment[data-type=literal]{color:var(--text-muted);padding:0 1px}.time-field-trigger{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:3px;transition:background .15s,color .15s;display:flex}.time-field-trigger:hover{color:var(--accent);background:var(--accent-wash)}.time-field-trigger[data-pressed]{color:var(--accent-pressed);background:var(--accent-wash)}.time-field-popover{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:50;min-width:120px}.time-field-popover[data-entering]{animation:.12s ease-out time-field-pop-in}@keyframes time-field-pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.time-field-listbox{outline:none;max-height:240px;padding:6px;overflow-y:auto}.time-field-option{border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;white-space:nowrap;outline:none;padding:6px 10px;font-size:13px}.time-field-option[data-hovered],.time-field-option[data-focused]{background:var(--accent-wash)}.time-field-option[data-selected]{background:var(--accent);color:var(--on-accent);font-weight:600}.btn-primary{border-radius:var(--radius-md);background:var(--accent);color:var(--on-accent);cursor:pointer;box-shadow:var(--shadow-sm);border:none;align-self:flex-start;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background-image:var(--accent-gradient);box-shadow:var(--shadow-md)}.btn-primary:active:not(:disabled){background:var(--accent-pressed);background-image:none}.btn-primary:disabled{opacity:.6;cursor:default}.btn-secondary{border-radius:var(--radius-md);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:10px 16px;font-size:14px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.btn-secondary:hover{background:var(--accent-wash);color:var(--accent);border-color:var(--accent)}.btn-secondary:disabled{opacity:.6;cursor:default}.btn-secondary:disabled:hover{color:var(--text-secondary);border-color:var(--border);background:0 0}.btn-loading{align-items:center;gap:8px;display:inline-flex}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-danger{border-radius:var(--radius-md);background:var(--danger);color:var(--on-danger);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:10px 16px;font-size:14px;font-weight:600;transition:box-shadow .15s,opacity .15s}.btn-danger:hover{opacity:.9;box-shadow:var(--shadow-md)}.entry-form{flex-direction:column;gap:14px;max-width:320px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field label{color:var(--text-secondary);font-size:13px;font-weight:600}.field input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field input:focus-visible,.field select:focus-visible{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.search-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);flex:220px;min-width:220px;max-width:360px;padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.search-input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}input[type=number]{appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.field select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);padding:10px 12px;font-size:16px;transition:border-color .15s,box-shadow .15s}.field textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);resize:vertical;padding:10px 12px;font-family:inherit;font-size:16px;transition:border-color .15s,box-shadow .15s}.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.form-actions{align-items:center;gap:10px;display:flex}.form-error{color:var(--danger);margin:0;font-size:13px}.qa{flex-direction:column;gap:16px;display:flex;container-type:inline-size}.qa-group{flex-direction:column;gap:8px;display:flex}.qa-label{color:var(--text-secondary);font-size:12px;font-weight:600}.qa-hint{color:var(--text-secondary);margin:0;font-size:12px}.qa-chips{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr));gap:8px;display:grid}.qa-chip,.qa-tile,.qa-drop{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font-variant-numeric:tabular-nums;cursor:pointer;justify-content:center;align-items:center;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.qa-chip{border-radius:10px;min-height:44px;padding:0 6px}.qa-chip-lg{min-height:48px;font-size:14px}.qa-tile{min-height:68px;color:var(--text-secondary);border-radius:12px;flex-direction:column;gap:6px;padding:0 4px;font-size:12px}@media (hover:hover){.qa-chip:hover:not(:disabled):not([aria-pressed=true]),.qa-tile:hover:not(:disabled):not([aria-pressed=true]),.qa-drop:hover:not(:disabled){border-color:var(--accent);background:var(--accent-wash);color:var(--accent)}}.qa-chip[aria-pressed=true],.qa-tile[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.qa-tile-soft[aria-pressed=true]{background:var(--accent-wash);color:var(--accent)}.qa-chip:disabled,.qa-tile:disabled,.qa-drop:disabled{opacity:.6;cursor:default}.qa-chip:focus-visible,.qa-tile:focus-visible,.qa-drop:focus-visible,.qa-when:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.qa-last{color:var(--text-secondary);align-items:center;gap:10px;margin:0;font-size:13px;display:flex}.qa-last b{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:800}.qa-last-icon{background:var(--accent-wash);width:36px;height:36px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.qa-result{background:var(--page-plane);border-radius:12px;justify-content:space-between;align-items:flex-end;gap:12px;padding:14px;display:flex}.qa-result-value{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:30px;font-weight:800;line-height:1.15;display:block}.qa-result-value small{letter-spacing:0;color:var(--text-secondary);font-size:15px;font-weight:700}.qa-result .field input{background:var(--surface-1)}.qa-exact{flex:none;width:108px}.qa-progress-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.qa-progress-value{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.qa-progress-value small{letter-spacing:0;color:var(--text-secondary);font-size:13px;font-weight:600}.qa-progress-pct{color:var(--accent);font-size:13px;font-weight:700}.qa-segs{gap:4px;display:flex}.qa-seg{background:var(--gridline);border-radius:4px;flex:1;height:10px;overflow:hidden}.qa-seg i{width:var(--fill);background:var(--accent);height:100%;display:block}.qa-drops{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.qa-drop{border-radius:12px;flex-direction:column;justify-content:flex-end;gap:6px;min-height:104px;padding:0 4px 12px;font-size:14px;font-weight:700}.qa-drop svg{color:var(--accent)}.qa-drop small{color:var(--text-secondary);font-size:11px;font-weight:500}.qa-drop-custom{border-style:dashed;border-color:var(--baseline);background:var(--page-plane)}.qa-drop-custom svg{color:var(--text-secondary)}.qa-actions{align-items:stretch;gap:8px;display:flex}.qa-when{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);max-width:100%;min-height:48px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;align-items:center;gap:8px;padding:0 14px;font-family:inherit;font-size:13px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.qa-when:hover,.qa-when[aria-expanded=true]{border-color:var(--accent);color:var(--accent)}.qa-when svg{flex:none}.qa-when svg:last-child{transition:transform .15s}.qa-when[aria-expanded=true] svg:last-child{transform:rotate(180deg)}.btn-primary.qa-submit{flex:1;justify-content:center;align-self:stretch;min-width:0;min-height:48px;font-size:15px}.qa-panel{border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:12px;padding:14px;display:flex}.qa-panel-row{flex-flow:wrap;gap:12px}.qa-panel-row>.field{flex:140px}@container (width<=340px){.qa-actions{flex-wrap:wrap}.btn-primary.qa-submit{flex-basis:100%}}.hydration-widget{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px 36px;display:flex;container-type:inline-size}.hydration-glass{flex:none;width:184px;height:auto;display:block;overflow:visible}.hydration-glass-body{fill:var(--surface-2);stroke:var(--baseline);stroke-width:2.5px;stroke-linejoin:round}.hydration-water{fill:var(--accent)}.hydration-shine{fill:none;stroke:var(--on-accent);stroke-opacity:.35;stroke-width:2px;stroke-linecap:round}.hydration-tick{stroke:var(--baseline);stroke-width:1.5px}.hydration-tick-label{fill:var(--text-muted);font-variant-numeric:tabular-nums;font-size:8px;font-weight:600}.hydration-wave-back{opacity:.32}.hydration-info{flex-direction:column;flex:200px;gap:8px;min-width:0;max-width:320px;display:flex}.hydration-eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.hydration-total{letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:40px;font-weight:800;line-height:1.05}.hydration-goal,.hydration-note{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.hydration-pill{border-radius:var(--radius-pill);background:var(--accent-wash);font-variant-numeric:tabular-nums;align-items:center;gap:7px;width:fit-content;padding:4px 11px 4px 9px;font-size:12px;font-weight:700;display:inline-flex}.hydration-pill i{background:var(--accent);border-radius:50%;flex:none;width:8px;height:8px}.hydration-empty{color:var(--text-secondary);align-items:center;gap:8px;margin:0;font-size:13px;display:flex}.hydration-empty svg{color:var(--accent);flex:none}@container (width<=419px){.hydration-glass{transform:translate(27px)}.hydration-info{text-align:center;flex-basis:100%;align-items:center;max-width:none}}@media (prefers-reduced-motion:no-preference){.hydration-level{transition:transform .6s cubic-bezier(.3,.8,.3,1),opacity .3s}.hydration-wave{animation:4.5s linear infinite hydration-drift}.hydration-wave-back{animation-duration:7s;animation-direction:reverse}}@keyframes hydration-drift{to{transform:translate(-60px)}}.widget-picker{position:relative}.widget-picker-menu{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:260px;max-height:min(60vh,420px);box-shadow:var(--shadow-md);z-index:25;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0;overflow-y:auto}.widget-picker-item{text-align:left;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.widget-picker-item:hover:not(:disabled){background:var(--page-plane)}.widget-picker-item:disabled{cursor:default;opacity:.5}.widget-picker-label{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.widget-picker-added{text-transform:uppercase;letter-spacing:.02em;border-radius:var(--radius-pill);background:var(--page-plane);color:var(--text-muted);border:1px solid var(--border);padding:2px 6px;font-size:10px;font-weight:600}.widget-picker-desc{color:var(--text-muted);font-size:12px}.widget-edit{flex-direction:column;gap:20px;display:flex}.widget-edit-panel h2{margin-bottom:8px}.widget-edit-save-row{gap:10px;margin-top:14px;display:flex}.widget-edit-save-row button{flex:1;justify-content:center}.widget-edit-list{margin:0;padding:0;list-style:none}.widget-edit-list>li{border-top:1px solid var(--border)}.widget-edit-list>li:first-child{border-top:none}.widget-edit-row{justify-content:space-between;align-items:center;gap:8px;padding:4px 0;display:flex}.widget-edit-name{min-width:0;color:var(--text-primary);font-size:14px;font-weight:600}.widget-edit-actions{flex-shrink:0;display:flex}.widget-edit-actions button{border-radius:var(--radius-md);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.widget-edit-actions button:hover:not(:disabled){background:var(--page-plane);color:var(--text-primary)}.widget-edit-actions button:disabled{opacity:.3;cursor:default}.widget-edit-actions .widget-edit-remove:hover:not(:disabled){color:var(--danger);background:var(--danger-wash)}.widget-edit-add{width:100%;color:var(--accent);text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.widget-edit-add-text{flex-direction:column;gap:2px;min-width:0;display:flex}.widget-edit-add svg{flex-shrink:0}.widget-edit-desc{color:var(--text-muted);font-size:12px}.widget-edit-actions button:focus-visible,.widget-edit-add:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skeleton{background:var(--surface-2);border-radius:var(--radius-sm);position:relative;overflow:hidden}.skeleton:after{content:"";background:linear-gradient(90deg, transparent, var(--border) 50%, transparent);animation:1.6s ease-in-out infinite skeleton-shimmer;position:absolute;inset:0;transform:translate(-100%)}@keyframes skeleton-shimmer{to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.skeleton:after{animation:none}}.widget-grid{grid-template-columns:1fr;align-items:start;gap:20px;display:grid}.widget-card-full{grid-column:1/-1}@media (width>=768px){.widget-grid{grid-template-columns:repeat(2,1fr)}}.widget-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.widget-toolbar-split{justify-content:space-between}.toolbar-group{flex-wrap:wrap;gap:8px;display:flex}.dialog-scrim{z-index:45;background:#0b0b0b66;position:fixed;inset:0}.confirm-dialog{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);z-index:50;width:min(360px,100vw - 32px);box-shadow:var(--shadow-lg);flex-direction:column;gap:12px;padding:20px;display:flex;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.confirm-dialog h2{margin:0;font-size:16px}.view-bar{border-bottom:1px solid var(--border);background:var(--surface-1);align-items:center;gap:12px;padding:12px 20px;display:flex;overflow-x:auto}.view-tabs{align-items:center;gap:4px;display:flex}.view-tab{border-radius:var(--radius-md);align-items:center;gap:2px;padding:2px;display:flex}.view-tab-active{background:var(--accent-wash)}.view-tab-label{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);white-space:nowrap;background:0 0;border:none;padding:8px 10px;font-size:14px;font-weight:500}.view-tab-active .view-tab-label{color:var(--accent);font-weight:600}.view-bar-actions{border-left:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;margin-left:4px;padding-left:10px;display:flex}.view-tab-delete{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 8px;font-size:11px;display:inline-flex}.view-tab-delete:hover{color:var(--danger);background:var(--danger-wash)}.view-tab-edit{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 8px;font-size:12px;line-height:1;display:inline-flex}.view-tab-edit:hover{color:var(--accent);background:var(--accent-wash)}.view-tab-edit:focus-visible,.view-tab-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-tab-edit-actions{border-left:1px solid var(--border);align-items:center;gap:6px;margin-left:4px;padding-left:6px;display:flex}.view-tab-edit-save{color:var(--accent);font-weight:700}.view-tab-edit-cancel:hover{color:var(--danger);background:var(--danger-wash)}.view-create-input,.view-tab-add{margin-left:auto}.view-tab-rename-input,.view-tab-add{border-radius:var(--radius-sm);padding:8px 10px;font-size:14px}.view-tab-rename-input{border:1px solid var(--accent);background:var(--page-plane);color:var(--text-primary);min-width:100px;font-size:16px}.view-tab-add{border:1px dashed var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0}.view-tab-add:hover{border-color:var(--accent);color:var(--accent)}.view-bar-more{display:none}.view-sheet-danger,.view-sheet-danger:hover{color:var(--danger)}.view-sheet-danger:hover{background:var(--danger-wash)}.view-sheet-create{gap:10px;padding-bottom:4px;display:flex}.view-sheet-input{border:1px solid var(--accent);border-radius:var(--radius-md);background:var(--page-plane);min-width:0;color:var(--text-primary);flex:1;padding:12px 14px;font-size:16px}.view-sheet-submit{border-radius:var(--radius-md);background:var(--accent-gradient);color:var(--on-accent);cursor:pointer;border:none;padding:0 20px;font-size:15px;font-weight:600}.view-sheet-submit:disabled{opacity:.5;cursor:default}@media (width<=767px){.view-bar{background:0 0;border-bottom:none;gap:8px;padding:0 20px 12px;overflow:visible}.view-tabs{scrollbar-width:none;flex:1;min-width:0;padding:2px 0;overflow-x:auto}.view-tabs::-webkit-scrollbar{display:none}.view-tab{flex-shrink:0;padding:0}.view-tab-active{background:0 0}.view-tab-label{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);padding:9px 16px}.view-tab-active .view-tab-label{background:var(--accent-wash);border-color:#0000}.view-bar-actions,.view-tab-add{display:none}.view-bar-more{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.view-bar-more:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-tab-edit,.view-tab-delete{min-width:36px;min-height:36px;padding:0;font-size:26px}}.bottom-drawer-scrim{z-index:45;background:#0b0b0b66;position:fixed;inset:0}.bottom-drawer{z-index:46;background:var(--surface-1);border-top:1px solid var(--border);max-height:88dvh;box-shadow:var(--shadow-lg);border-radius:20px 20px 0 0;flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-drawer-handle{border-radius:var(--radius-pill);background:var(--border);flex-shrink:0;width:36px;height:4px;margin:10px auto 4px}.bottom-drawer-head{flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:4px 8px 8px 16px;display:flex}.bottom-drawer-head h2{margin:0;font-size:16px;font-weight:700}.bottom-drawer-close{border-radius:var(--radius-pill);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.bottom-drawer-close:hover{background:var(--page-plane);color:var(--text-primary)}.bottom-drawer-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bottom-drawer-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:4px 16px 0;overflow-y:auto}.bottom-drawer-body .entry-form{max-width:none}.bottom-drawer-body .entry-form .form-actions{padding:12px 0 calc(36px + env(safe-area-inset-bottom));background:var(--surface-1);order:1;position:sticky;bottom:0}.bottom-drawer-body .entry-form .form-actions .btn-primary{flex:1;justify-content:center;padding:12px 16px}.bottom-drawer-body .entry-form .form-actions .btn-secondary{display:none}.entry-log{flex-direction:column;gap:16px;display:flex}.entry-section-head{justify-content:space-between;align-items:baseline;margin-top:4px;display:flex}.entry-log-head{align-items:center;gap:12px}.entry-log-title{flex-direction:column;gap:2px;display:flex}.entry-log-head .btn-primary{align-self:center;padding:8px 14px;font-size:13px}.entry-section-head h2{margin:0;font-size:15px;font-weight:700}.entry-section-head span{color:var(--text-muted);font-size:12px}.entry-list{border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow-sm);border-radius:20px;margin:0;padding:0;list-style:none;overflow:hidden}.entry-row{align-items:center;display:flex}.entry-row+.entry-row{border-top:1px solid var(--border)}.entry-row-main{min-width:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;gap:12px;padding:12px 6px 12px 14px;display:flex}.entry-row-main:hover{background:var(--page-plane)}.entry-row-icon{background:var(--accent-wash);width:36px;height:36px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.entry-row-text{flex:1;min-width:0}.entry-row-text b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;display:block;overflow:hidden}.entry-row-text small{color:var(--text-muted);font-size:12px}.entry-row-value{font-size:14px;font-weight:700}.entry-row-delete{border-radius:var(--radius-md);min-width:40px;height:40px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex:none;place-items:center;margin-right:6px;padding:0 8px;font-size:12px;font-weight:600;display:grid}.entry-row-delete:hover,.entry-row-delete-confirm{color:var(--danger);background:var(--danger-wash)}.entry-empty{border:1px dashed var(--border);color:var(--text-muted);text-align:center;border-radius:20px;margin:0;padding:18px 16px;font-size:14px}.entry-day{flex-direction:column;gap:8px;display:flex}.entry-day-head{justify-content:space-between;align-items:baseline;padding:0 4px;display:flex}.entry-day-head b{color:var(--text-secondary);font-size:13px;font-weight:600}.entry-day-head span{color:var(--text-muted);font-size:12px}.entry-more-btn{border:1px solid var(--border);background:var(--surface-1);height:42px;color:var(--text-secondary);cursor:pointer;border-radius:14px;font-size:13px;font-weight:600}.entry-more-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.entry-more-btn:disabled{opacity:.6;cursor:default}.entry-more-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (width<=767.98px){.entry-row-main:hover{background:0 0}.entry-row-delete:hover:not(.entry-row-delete-confirm){color:var(--text-muted);background:0 0}}.ai-parse-panel{flex-direction:column;gap:10px;display:flex}.panel.ai-parse-panel{background:var(--surface-2)}.ai-parse-panel h3{margin:0;font-size:14px}.ai-mode-switch{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--page-plane);align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.ai-mode-option{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:6px 14px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.ai-mode-option:hover{color:var(--text-primary)}.ai-mode-option-active,.ai-mode-option-active:hover{background:var(--accent);color:var(--on-accent)}.ai-parse-panel textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);resize:vertical;padding:10px 12px;font-family:inherit;font-size:16px}.ai-attach-actions{flex-wrap:wrap}.ai-recording-indicator{color:var(--text-secondary);align-self:flex-start;align-items:center;gap:8px;font-size:13px;display:inline-flex}.wellness-presets{flex-wrap:wrap;gap:10px;display:flex}.voice-waveform{background:var(--page-plane);border:1px solid var(--border);border-radius:6px;flex-shrink:0;display:block}.ai-audio-preview{align-self:flex-start;align-items:center;gap:8px;display:flex}.voice-play-btn{background:var(--surface-1);border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.voice-play-btn:hover{color:var(--accent);border-color:var(--accent)}.voice-delete-btn{background:var(--surface-1);border:1px solid var(--border);width:28px;height:28px;color:var(--text-secondary);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.voice-delete-btn:hover{color:var(--danger);background:var(--danger-wash);border-color:var(--danger)}.history-list{flex-direction:column;gap:2px;max-height:280px;display:flex;overflow-y:auto}.history-date{color:var(--text-secondary)}.history-weight{font-variant-numeric:tabular-nums;font-weight:600}.food-source-badge{vertical-align:middle;border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--accent);padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.food-source-badge-estimated{background:var(--border);color:var(--text-muted)}.history-entry-row{border-bottom:1px solid var(--border);grid-template-columns:minmax(88px,max-content) minmax(0,1fr) auto;grid-template-areas:"date data actions";align-items:center;gap:12px;padding:10px 4px;font-size:14px;display:grid}.history-entry-row-timed{grid-template-columns:minmax(88px,max-content) minmax(60px,max-content) minmax(0,1fr) auto;grid-template-areas:"date time data actions"}.history-entry-row .history-date{color:var(--text-secondary);font-variant-numeric:tabular-nums;grid-area:date}.history-entry-row .history-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;grid-area:time}.history-entry-row .history-weight{text-overflow:ellipsis;white-space:nowrap;grid-area:data;overflow:hidden}.history-entry-row .history-actions{grid-area:actions}.history-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}@media (width<=560px){.history-entry-row{flex-wrap:wrap;row-gap:4px;display:flex}.history-entry-row .history-date{order:1}.history-entry-row .history-time{order:2}.history-entry-row .history-actions{order:3;margin-left:auto}.history-entry-row .history-weight{text-overflow:unset;white-space:normal;flex:100%;order:4;overflow:visible}}.history-edit{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px;font-size:13px;display:inline-flex}.history-edit:hover{color:var(--accent);background:var(--accent-wash)}.history-delete{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;padding:4px 6px;font-size:13px;display:inline-flex}.history-delete:hover{color:var(--danger);background:var(--danger-wash)}.history-edit:focus-visible,.history-delete:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.history-delete-confirm,.history-delete-confirm:hover{color:var(--on-danger);background:var(--danger)}.ingredient-list{flex-direction:column;gap:10px;display:flex}.ingredient-list h3{margin:0;font-size:14px}.ingredient-list-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.ingredient-row{border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:10px;padding:10px;display:flex}.ingredient-row-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.ingredient-row-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ingredient-row-index{color:var(--text-secondary);font-size:13px;font-weight:600}.ingredient-row-fields{grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px;display:grid}.ingredient-field-name{grid-column:span 2;min-width:200px}.nutrition-item-fields{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;display:grid}.nutrition-item-fields .ingredient-field-name{grid-column:span 2;min-width:160px}.nutrition-item-fields .recipe-preview-row{grid-column:1/-1;margin:0}.ingredient-row-toggle-micros{align-self:flex-start}.btn-secondary.ingredient-row-toggle-micros{padding:8px 10px;font-size:12px}.ingredient-row-type-switch{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--page-plane);gap:2px;padding:2px;display:inline-flex}.ingredient-row-type-option{border-radius:var(--radius-pill);color:var(--text-secondary);white-space:nowrap;cursor:pointer;background:0 0;border:none;padding:3px 10px;font-size:11px;font-weight:600;transition:background .15s,color .15s}.ingredient-row-type-option:hover{color:var(--text-primary)}.ingredient-row-type-option-active,.ingredient-row-type-option-active:hover{background:var(--accent);color:var(--on-accent)}.ingredient-row-remove{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-items:center;gap:4px;padding:4px 8px;font-size:13px;font-weight:600;display:inline-flex}.ingredient-row-remove:hover{color:var(--danger);background:var(--danger-wash)}.ingredient-micros{border-top:1px solid var(--border);flex-wrap:wrap;gap:10px;padding-top:10px;display:flex}.field-compact{min-width:110px}.field-compact label{font-size:12px}.field-compact input,.field-compact select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page-plane);color:var(--text-primary);padding:6px 8px;font-size:16px}.micro-chip{background:var(--accent-wash);color:var(--accent);border-radius:var(--radius-pill);align-self:flex-end;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.micro-chip button{color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;font-size:11px;display:inline-flex}.micro-custom-add{align-items:center;gap:6px;display:flex}.micro-custom-add input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page-plane);color:var(--text-primary);width:140px;padding:6px 8px;font-size:16px}.qty-stepper{flex-shrink:0;align-items:center;gap:6px;display:flex}.qty-stepper input{text-align:center;width:3.5em}.qty-stepper-btn{border:1px solid var(--border);border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.qty-stepper-btn:hover:not(:disabled){color:var(--accent);background:var(--accent-wash)}.qty-stepper-btn:disabled{opacity:.4;cursor:not-allowed}.nutrition-form{flex-direction:column;gap:16px;max-width:640px;display:flex}.nf-header{align-items:center;gap:12px;display:flex}.nutrition-form .nf-title{letter-spacing:-.01em;flex:1;margin:0;font-size:18px;font-weight:800}.nf-icon-btn{display:none}.nf-scan-btn,.nf-retake{border-radius:var(--radius-pill);background:var(--accent-wash);height:34px;color:var(--accent);cursor:pointer;border:none;align-items:center;gap:6px;padding:0 14px;font-size:13px;font-weight:700;display:inline-flex}.nf-body{flex-direction:column;gap:16px;display:flex}.nf-photo{height:150px;box-shadow:var(--shadow-md);border-radius:24px;flex:none;position:relative;overflow:hidden}.nf-photo img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.nf-photo:after{content:"";background:linear-gradient(#0000 35%,#0000009e);position:absolute;inset:0}.nf-photo-info{z-index:1;color:#ffffffd9;flex-direction:column;gap:2px;font-size:12px;display:flex;position:absolute;bottom:12px;left:16px;right:16px}.nf-photo-info b{color:#fff;font-size:14px}.nf-photo .nf-retake{z-index:1;-webkit-backdrop-filter:blur(10px);will-change:backdrop-filter;isolation:isolate;color:#fff;background:#00000080;border:1px solid #fff3;height:32px;position:absolute;top:12px;right:12px}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.nf-photo .nf-retake{background:#000000bf}}.meal-summary{border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow-sm);border-radius:20px;align-items:center;gap:16px;padding:14px 16px;display:flex}.meal-summary-ring{flex:none;width:104px;height:104px;position:relative}.meal-summary-ring svg{transform:rotate(-90deg)}.meal-summary-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.meal-summary-center b{font-size:22px;font-weight:800;line-height:1}.meal-summary-center small{color:var(--text-muted);font-size:11px}.meal-summary-legend{flex-direction:column;flex:1;gap:9px;margin:0;padding:0;list-style:none;display:flex}.meal-summary-legend li{color:var(--text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.meal-summary-legend i{border-radius:3px;width:9px;height:9px}.meal-summary-legend b{color:var(--text-primary);margin-left:auto}.nf-details{flex-direction:column;gap:10px;display:flex}.nf-meal-chips{border:1px solid var(--border);background:var(--surface-1);border-radius:16px;grid-template-columns:repeat(4,1fr);gap:6px;padding:4px;display:grid}.nf-meal-chip{height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.nf-meal-chip-active,.nf-meal-chip-active:hover{background:var(--accent);color:var(--on-accent);box-shadow:0 4px 10px color-mix(in srgb, var(--accent) 35%, transparent)}.nf-when{grid-template-columns:1fr 1fr;gap:10px;display:grid}.nf-when .field{min-width:0}.nf-when .date-field,.nf-when .time-field{display:flex}.nf-when .date-field-group,.nf-when .time-field-group{border-radius:12px;flex:1;min-height:46px}.nutrition-form .panel.ai-parse-panel{background:var(--surface-1);box-shadow:var(--shadow-sm);border-radius:20px;padding:14px}.nutrition-form .ai-parse-panel .btn-secondary{border-radius:var(--radius-pill)}.nutrition-form .ai-parse-panel>.form-actions:first-child .btn-secondary{justify-content:center;width:100%;height:44px}.ai-image-preview{align-self:flex-start;display:inline-block;position:relative}.ai-image-preview img{border-radius:var(--radius-md);border:1px solid var(--border);object-fit:cover;max-width:160px;max-height:160px;display:block}.ai-image-remove{background:var(--surface-1);border:1px solid var(--border);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:13px;line-height:1;display:inline-flex;position:absolute;top:-8px;right:-8px}.ai-image-remove:hover{color:var(--danger);background:var(--danger-wash);border-color:var(--danger)}.nutrition-form .ingredient-list{gap:12px}.nutrition-form .ingredient-list-header h3{font-size:15px;font-weight:700}.nf-link-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 0;font-size:13px;font-weight:600}.nf-link-btn:hover{color:var(--danger)}.nutrition-form .ingredient-row{border-left:5px solid var(--row-color,var(--accent));background:var(--surface-1);box-shadow:var(--shadow-sm);border-radius:18px;gap:14px;padding:14px}.nutrition-form .ingredient-row-index{color:var(--text-primary);flex:1;font-size:14px;font-weight:700}.ingredient-row-kcal{color:var(--text-muted);font-size:12px}.ingredient-row-kcal b{color:var(--text-primary);font-size:16px;font-weight:800}.nutrition-form .nutrition-item-fields{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 10px}.nutrition-form .nutrition-item-fields .ingredient-field-name{grid-column:1/-1;min-width:0}.nutrition-form .nutrition-item-fields .field-wide{grid-column:span 2}.nutrition-form .field-compact{min-width:0}.nutrition-form .field-compact label{color:var(--text-muted);font-size:11.5px;font-weight:600}.nutrition-form .field-compact input,.nutrition-form .field-compact .select-field-trigger{border-radius:12px;min-height:44px;padding:10px 12px}.nutrition-form .nutrition-item-fields .field-compact:not(.field-wide):not(.ingredient-field-name) input{text-align:center;padding-left:6px;padding-right:6px}.nutrition-form .qty-stepper{border:1px solid var(--border);background:var(--page-plane);border-radius:12px;gap:0;width:100%;overflow:hidden}.nutrition-form .qty-stepper input{text-align:center;background:0 0;border:none;border-radius:0;flex:1;width:auto;min-width:0;min-height:42px;padding:0}.nutrition-form .qty-stepper-btn{width:44px;height:42px;color:var(--accent);border:none;border-radius:0;flex:none;font-size:20px}.nf-add-actions{gap:10px;display:flex}.nf-add-btn{border:1.5px dashed color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-wash);height:50px;color:var(--accent);cursor:pointer;border-radius:16px;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.nf-add-btn:hover{border-color:var(--accent)}.nf-footer{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:14px;display:flex}.nf-footer .form-error{margin:0}.nf-footer-row{align-items:center;gap:12px;display:flex}.nf-footer-sum{flex-direction:column;margin-right:auto;line-height:1.25;display:flex}.nf-footer-sum b{font-size:17px;font-weight:800}.nf-footer-sum span{color:var(--text-muted);font-size:12px}.nf-footer .btn-primary{align-self:auto}@media (width>=768px){.nf-scan-btn{display:none}}@media (width<=767.98px){.panel.nutrition-form-panel{z-index:37;background:var(--page-plane);border:none;border-radius:0;padding:0;display:flex;position:fixed;inset:0}.nutrition-form{flex:1;gap:0;width:100%;max-width:none;min-height:0}.nf-header{padding:calc(14px + env(safe-area-inset-top)) 16px 10px}.nf-icon-btn{border:1px solid var(--border);background:var(--surface-1);width:44px;height:44px;color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.nf-body{overscroll-behavior:contain;flex:1;min-height:0;padding:6px 16px 24px;overflow-y:auto}.nf-footer{padding:12px 16px calc(36px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface-1) 90%, transparent);-webkit-backdrop-filter:blur(16px);will-change:backdrop-filter;isolation:isolate}.nf-cancel{display:none}.nf-footer .nf-submit{border-radius:var(--radius-pill);flex:1;justify-content:center;height:48px;font-size:15px;font-weight:700}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media (width<=767.98px){.nf-footer{background:color-mix(in srgb, var(--surface-1) 96%, transparent)}}}.scan-overlay{z-index:70;background:var(--page-plane);justify-content:center;align-items:stretch;display:flex;position:fixed;inset:0}.scan-page{width:100%;max-width:520px;height:100%;padding-top:env(safe-area-inset-top);flex-direction:column;display:flex}.scan-top{justify-content:space-between;align-items:center;padding:16px 16px 10px;display:flex}.scan-top h1{color:var(--text-primary);margin:0;font-size:16px;font-weight:700}.scan-icon-btn,.scan-top-spacer{width:44px;height:44px}.scan-icon-btn{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid}.scan-stage{min-height:0;box-shadow:var(--shadow-lg);isolation:isolate;background:#0b0b0d;border-radius:30px;flex:1;margin:0 16px;position:relative;overflow:hidden;transform:translateZ(0)}.scan-video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .25s;position:absolute;inset:0}.scan-video-live{opacity:1}.scan-fallback{z-index:1;text-align:center;color:#d4d4dc;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;font-size:14px;display:flex;position:absolute;inset:0}.scan-fallback p{max-width:260px;margin:0;line-height:1.5}.scan-fallback-retry{border-radius:var(--radius-pill);color:#fff;cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;padding:8px 16px;font-size:13px;font-weight:600}.scan-shade{z-index:2;pointer-events:none;background:radial-gradient(at 50% 46%,#0000 40%,#00000080 100%);position:absolute;inset:0}.scan-freeze{z-index:3;object-fit:cover;width:100%;height:100%;animation:.12s ease-out both scan-fade-in;position:absolute;inset:0}.scan-frame{z-index:4;pointer-events:none;position:absolute;inset:14% 12% 20%}.scan-corner{filter:drop-shadow(0 0 6px #00000080);border:0 solid #fff;width:34px;height:34px;transition:transform .5s cubic-bezier(.3,1.2,.4,1),border-color .3s,filter .3s;position:absolute}.scan-corner-tl{border-top-width:4px;border-left-width:4px;border-top-left-radius:14px;top:0;left:0}.scan-corner-tr{border-top-width:4px;border-right-width:4px;border-top-right-radius:14px;top:0;right:0}.scan-corner-bl{border-bottom-width:4px;border-left-width:4px;border-bottom-left-radius:14px;bottom:0;left:0}.scan-corner-br{border-bottom-width:4px;border-right-width:4px;border-bottom-right-radius:14px;bottom:0;right:0}.scan-hint{white-space:nowrap;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);will-change:backdrop-filter;isolation:isolate;color:#fff;background:#00000080;padding:8px 14px;font-size:13px;font-weight:600;transition:opacity .25s;position:absolute;bottom:-46px;left:50%;transform:translate(-50%)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.scan-hint{background:#000000bf}}.scan-page-scanning .scan-hint{opacity:0}.scan-page-scanning .scan-corner{filter:drop-shadow(0 0 10px #7c5cff);border-color:#cdbfff}.scan-page-scanning .scan-corner-tl{transform:translate(14px,14px)}.scan-page-scanning .scan-corner-tr{transform:translate(-14px,14px)}.scan-page-scanning .scan-corner-bl{transform:translate(14px,-14px)}.scan-page-scanning .scan-corner-br{transform:translate(-14px,-14px)}.scan-fx{opacity:0;border-radius:18px;transition:opacity .25s;position:absolute;inset:0;overflow:hidden}.scan-page-scanning .scan-fx{opacity:1}.scan-ripple{aspect-ratio:1;opacity:0;border:2px solid #ffffffd9;border-radius:50%;width:30%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.2)}.scan-page-scanning .scan-ripple{animation:1.6s ease-out infinite scan-ripple}.scan-page-scanning .scan-ripple-2{animation-delay:.5s}.scan-page-scanning .scan-ripple-3{animation-delay:1s}.scan-shimmer{background:linear-gradient(100deg,#0000,#ffffff57,#0000);width:30%;position:absolute;top:-20%;bottom:-20%;left:-50%;transform:skew(-14deg)}.scan-page-scanning .scan-shimmer{animation:1.5s ease-in-out infinite scan-shimmer}.scan-flash{z-index:6;opacity:0;pointer-events:none;background:#fff;animation:.35s ease-out scan-flash;position:absolute;inset:0}.scan-status{z-index:5;color:#fff;text-align:center;text-shadow:0 1px 8px #0009;font-size:13.5px;font-weight:700;position:absolute;bottom:18px;left:20px;right:20px}.scan-progress{background:#ffffff40;border-radius:9px;height:4px;margin-top:10px;overflow:hidden}.scan-progress i{background:linear-gradient(90deg,#b9a6ff,#fff);border-radius:9px;width:0;height:100%;animation:5s cubic-bezier(.1,.6,.3,1) forwards scan-progress;display:block}.scan-controls{padding:22px 26px calc(24px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex}.scan-side-btn{width:64px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:0;font-size:11px;font-weight:600;display:flex}.scan-side-btn:disabled,.scan-shutter:disabled{opacity:.45;cursor:default}.scan-side-icon{border:1px solid var(--border);background:var(--surface-1);width:46px;height:46px;color:var(--text-primary);box-shadow:var(--shadow-sm);border-radius:16px;place-items:center;display:grid}.scan-shutter{border:4px solid var(--accent);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:78px;height:78px;padding:0;transition:transform .12s;display:grid}.scan-shutter i{background:var(--accent-gradient);border-radius:50%;width:60px;height:60px;transition:transform .15s}.scan-shutter:active:not(:disabled) i{transform:scale(.88)}.scan-icon-btn:focus-visible,.scan-side-btn:focus-visible .scan-side-icon,.scan-shutter:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@keyframes scan-ripple{0%{opacity:.9;transform:translate(-50%,-50%)scale(.2)}to{opacity:0;transform:translate(-50%,-50%)scale(3.4)}}@keyframes scan-shimmer{to{left:110%}}@keyframes scan-flash{0%{opacity:.9}to{opacity:0}}@keyframes scan-fade-in{0%{opacity:0}}@keyframes scan-progress{to{width:92%}}@media (width>=768px){.scan-overlay{-webkit-backdrop-filter:blur(6px);will-change:backdrop-filter;isolation:isolate;background:#0b0b0b8c;align-items:center}.scan-page{background:var(--page-plane);max-width:460px;height:min(780px,100dvh - 48px);box-shadow:var(--shadow-lg);border-radius:28px;padding-top:0}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media (width>=768px){.scan-overlay{background:#0b0b0bd9}}}@media (prefers-reduced-motion:reduce){.scan-page-scanning .scan-ripple,.scan-page-scanning .scan-shimmer{animation:none}}.voice-bars{justify-content:center;align-items:center;gap:4px;display:flex}.voice-bar{background:var(--accent);border-radius:4px;width:4px;min-height:8px}.vls-eyebrow{letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-size:12px;font-weight:700}.vls-listen{flex-direction:column;align-items:center;padding-top:4px;display:flex}.vls-status{color:var(--accent);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.vls-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-weight:600}.vls-dot{border-radius:var(--radius-pill);background:var(--danger);width:8px;height:8px;animation:1.2s ease-in-out infinite vls-blink}.vls-listen .voice-bars{margin-top:16px}.vls-stop-wrap{justify-content:center;align-items:center;width:132px;height:132px;margin-top:4px;display:flex;position:relative}.vls-ring{border-radius:var(--radius-pill);background:var(--accent-wash);opacity:0;width:84px;height:84px;position:absolute}.vls-stop-wrap-live .vls-ring{animation:1.8s ease-out infinite vls-ring}.vls-stop-wrap-live .vls-ring-late{animation-delay:.9s}.vls-stop{border-radius:var(--radius-pill);background:var(--accent-gradient);width:84px;height:84px;color:var(--on-accent);cursor:pointer;box-shadow:0 8px 20px color-mix(in srgb, var(--accent) 35%, transparent);touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.vls-stop:disabled{opacity:.6;cursor:default}.vls-stop:active:not(:disabled){transform:scale(.95)}.vls-stop:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.vls-count{font-variant-numeric:tabular-nums;font-size:38px;font-weight:800;line-height:1;animation:.45s ease-out vls-pop}.vls-caption{color:var(--text-secondary);font-size:13px;font-weight:600}.vls-hint{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);width:100%;margin-top:18px;padding:12px 14px}.vls-hint p{color:var(--text-primary);margin:4px 0 0;font-size:14px;line-height:1.45}.vls-footer{padding:12px 0 calc(36px + env(safe-area-inset-bottom));justify-content:space-between;align-self:stretch;align-items:center;display:flex}.vls-cancel{border-radius:var(--radius-pill);min-height:44px;padding:0 16px}.vls-type-btn{min-height:44px;color:var(--accent);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;gap:8px;padding:0 6px;font-size:14px;font-weight:700;display:flex}.vls-type-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-md)}.vls-centered{min-height:260px;padding-bottom:calc(24px + env(safe-area-inset-bottom));text-align:center;color:var(--text-secondary);flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:13px;display:flex}.vls-centered b{color:var(--text-primary);margin-top:8px;font-size:15px}.vls-error-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:8px;display:flex}.vls-review{flex-direction:column;display:flex}.vls-said{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-2);align-items:center;gap:12px;padding:12px 12px 12px 14px;display:flex}.vls-said-text{flex:1 1 0;min-width:0}.vls-said-text p{color:var(--text-primary);margin:3px 0 0;font-size:14px;line-height:1.45}.vls-redo{border-radius:var(--radius-pill);background:var(--accent-wash);width:44px;height:44px;color:var(--accent);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:flex}.vls-redo:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.vls-redo-inline{align-self:flex-start}.vls-found{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.vls-found-count{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.vls-found-count svg{color:var(--accent)}.vls-found-hint{color:var(--text-secondary);font-size:12px}.vls-items{flex-direction:column;margin:4px 0 0;padding:0;list-style:none;display:flex}.vls-item{border:none;border-bottom:1px solid var(--border);width:100%;min-height:56px;color:inherit;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;gap:12px;padding:10px 0;display:flex}.vls-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md)}.vls-item-main{flex-direction:column;flex:1 1 0;gap:2px;min-width:0;display:flex}.vls-item-name{color:var(--text-primary);font-size:14px;font-weight:600}.vls-item-sub{color:var(--text-secondary);font-size:12px}.vls-item-kcal{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.vls-item-kcal small,.vls-total-kcal small{color:var(--text-secondary);margin-left:3px;font-size:12px;font-weight:500}.vls-total{justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.vls-total>div{flex-direction:column;gap:2px;display:flex}.vls-total b{font-size:14px}.vls-total>div span{color:var(--text-secondary);font-size:12px}.vls-total-kcal{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.vls-review .nf-meal-chips{margin-bottom:4px}.vls-save-bar{padding:12px 0 calc(36px + env(safe-area-inset-bottom));background:var(--surface-1);display:flex;position:sticky;bottom:0}.vls-save-bar .btn-primary{flex:1;justify-content:center;padding:12px 16px}@keyframes vls-ring{0%{opacity:.5;transform:scale(.9)}to{opacity:0;transform:scale(1.7)}}@keyframes vls-blink{50%{opacity:.2}}@keyframes vls-pop{0%{opacity:.2;transform:scale(1.5)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.vls-dot,.vls-count,.vls-stop-wrap-live .vls-ring{animation:none}}.diet-plan{flex-direction:column;gap:16px;display:flex}.diet-plan-nav{grid-template-columns:1fr minmax(0,auto) 1fr;align-items:center;gap:8px;padding:4px 0;display:grid}.diet-plan-stepper{grid-column:2;align-items:center;gap:8px;min-width:0;display:flex}.diet-plan-nav button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:2px 9px;font-size:14px;line-height:1.4;display:inline-flex}.diet-plan-nav button:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.diet-plan-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.diet-plan-week{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;max-width:132px;font-size:14px;font-weight:600;display:inline-block;overflow:hidden}.diet-plan-today-btn{grid-column:3;justify-self:end;padding:2px 9px!important;font-size:12px!important}.diet-plan-today-btn:disabled{visibility:hidden}.diet-plan-copy-panel{flex-direction:column;gap:10px;display:flex}.panel.diet-plan-copy-panel{padding:14px 16px}.diet-plan-copy-row{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.diet-plan-week-stepper{align-items:center;gap:8px;display:flex}.diet-plan-week-stepper span{font-variant-numeric:tabular-nums;text-align:center;min-width:92px;font-weight:600}.diet-plan-week-stepper button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:4px 8px;font-size:14px;line-height:1;display:inline-flex}.diet-plan-week-stepper button:hover:not(:disabled){color:var(--accent);background:var(--accent-wash)}.diet-plan-week-stepper button:disabled{color:var(--text-muted);cursor:default;opacity:.5}.diet-plan-strip{flex-wrap:wrap;gap:8px;display:flex}.diet-plan-strip-day{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;flex-direction:column;flex:80px;align-items:center;gap:2px;min-width:72px;padding:10px 8px;transition:border-color .15s,background .15s;display:flex}.diet-plan-strip-day:hover{border-color:var(--accent)}.diet-plan-strip-day-selected{border-color:var(--accent);background:var(--accent-wash)}.diet-plan-strip-label{color:var(--text-secondary);font-size:12px;font-weight:700}.diet-plan-strip-day-today .diet-plan-strip-label{color:var(--accent)}.diet-plan-strip-date{color:var(--text-primary);font-size:16px;font-weight:600}.diet-plan-strip-cal{color:var(--text-muted);font-size:11px}.diet-plan-detail{flex-direction:column;gap:16px;display:flex}.diet-plan-detail-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:10px;display:flex}.diet-plan-detail-header h2{margin:0;font-size:16px}.diet-plan-detail-total{color:var(--accent);font-size:14px;font-weight:700}.diet-plan-detail-meals{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;display:grid}.diet-plan-meal-empty{padding:4px 2px}.muted.diet-plan-meal-empty{font-size:12px}.diet-plan-meal{flex-direction:column;gap:4px;display:flex}.diet-plan-meal-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:12px;font-weight:600;display:flex}.diet-plan-add-btn{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;background:0 0;padding:3px 10px;font-size:12px;font-weight:600}.diet-plan-add-btn:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.diet-plan-item-list{flex-direction:column;gap:2px;display:flex}.diet-plan-item{align-items:center;gap:4px;display:flex}.diet-plan-item-label{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:0;min-width:0;padding:4px 2px;display:flex}.diet-plan-item-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;overflow:hidden}.diet-plan-item-cal{white-space:nowrap;text-overflow:ellipsis;max-width:100%;overflow:hidden}.muted.diet-plan-item-cal{font-size:11px}.diet-plan-log-btn{border:1px solid var(--border);border-radius:var(--radius-pill);color:var(--accent);cursor:pointer;white-space:nowrap;background:0 0;flex-shrink:0;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.diet-plan-log-btn:hover:not(:disabled){background:var(--accent-wash)}.diet-plan-log-btn-done,.diet-plan-log-btn:disabled{color:var(--text-muted);cursor:default}.diet-plan-form-panel{max-width:420px}.nutrition-log{flex-direction:column;gap:16px;display:flex}.nutrition-topline{justify-content:space-between;align-items:center;gap:12px;display:flex}.nutrition-date{color:var(--text-muted);font-size:13px;font-weight:500}@media (width<=767.98px){.nutrition-topline{display:none}}.nutrition-kcal-card{border:1px solid var(--border);background:var(--surface-1);box-shadow:var(--shadow-sm);border-radius:20px;align-items:center;gap:16px;padding:16px;display:flex}.nutrition-kcal-ring{flex:none;width:84px;height:84px;position:relative}.nutrition-kcal-ring svg{transform:rotate(-90deg)}.nutrition-kcal-center{text-align:center;place-content:center;display:grid;position:absolute;inset:0}.nutrition-kcal-center b{font-size:18px;font-weight:800;line-height:1}.nutrition-kcal-center small{color:var(--text-muted);font-size:10px}.nutrition-kcal-meta b{font-size:15px}.nutrition-kcal-meta .nutrition-kcal-over{color:var(--danger)}.nutrition-kcal-meta p{color:var(--text-secondary);margin:3px 0 0;font-size:12.5px}.scan-card{background:var(--accent-gradient);width:100%;color:var(--on-accent);text-align:left;cursor:pointer;box-shadow:0 12px 28px color-mix(in srgb, var(--accent) 38%, transparent);border:none;border-radius:22px;align-items:center;gap:14px;padding:18px;display:flex;position:relative;overflow:hidden}.scan-card:after{content:"";pointer-events:none;background:#ffffff24;border-radius:50%;width:130px;height:130px;position:absolute;top:-30px;right:-30px}.scan-card:active{transform:scale(.99)}.scan-card:focus-visible,.log-chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.scan-card-icon{z-index:1;background:#fff3;border-radius:18px;flex:none;place-items:center;width:54px;height:54px;display:grid;position:relative}.scan-card-text{z-index:1;min-width:0;position:relative}.scan-card-text b{font-size:17px;font-weight:800;display:block}.scan-card-text small{opacity:.85;font-size:12.5px}@media (width>=768px){.scan-card{display:none}}.log-chips{gap:8px;display:flex}.log-chip{border:1px solid var(--border);background:var(--surface-1);height:42px;color:var(--text-secondary);cursor:pointer;border-radius:14px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:600;transition:color .15s,border-color .15s,background .15s;display:flex}.log-chip:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.meal-logged-body{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;width:100%;padding:30px;display:flex}.meal-logged-check{background:var(--accent-gradient);width:92px;height:92px;color:var(--on-accent);box-shadow:0 16px 36px color-mix(in srgb, var(--accent) 40%, transparent);border-radius:50%;place-items:center;animation:.5s cubic-bezier(.3,1.6,.5,1) both meal-logged-pop;display:grid}.meal-logged-check svg path{stroke-dasharray:30;stroke-dashoffset:30px;animation:.45s .3s forwards meal-logged-draw}.panel.meal-logged h2{margin:0;font-size:24px;font-weight:800}.meal-logged p{max-width:260px;color:var(--text-secondary);margin:0;font-size:14px}.meal-logged-macros{gap:8px;margin:6px 0 10px;display:flex}.meal-logged-macros div{border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);border-radius:14px;padding:10px 14px;font-size:11px}.meal-logged-macros b{color:var(--text-primary);font-size:16px;display:block}.meal-logged-actions{flex-direction:column;gap:10px;width:100%;max-width:320px;margin-top:8px;display:flex}.meal-logged-primary,.meal-logged-secondary{border-radius:var(--radius-pill);cursor:pointer;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 18px;font-size:15px;font-weight:700;display:inline-flex}.meal-logged-primary{background:var(--accent-gradient);color:var(--on-accent);box-shadow:0 6px 16px color-mix(in srgb, var(--accent) 35%, transparent);border:none}.meal-logged-secondary{border:1px solid var(--border);background:var(--surface-1);color:var(--text-primary);font-size:14px;font-weight:600}.meal-logged-primary:focus-visible,.meal-logged-secondary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.meal-logged-desktop-only{display:none}@media (width>=768px){.meal-logged-phone-only{display:none}.meal-logged-desktop-only{display:inline-flex}}@media (width<=767.98px){.panel.meal-logged{align-items:center}}@keyframes meal-logged-draw{to{stroke-dashoffset:0}}@keyframes meal-logged-pop{0%{transform:scale(0)}to{transform:none}}@media (prefers-reduced-motion:reduce){.meal-logged-check,.meal-logged-check svg path{animation:none}.meal-logged-check svg path{stroke-dashoffset:0}}:root{--rcp-protein:var(--chart-1);--rcp-carbs:var(--chart-2);--rcp-fat:var(--chart-3)}.rcp-dot{border-radius:50%;flex:none;width:8px;height:8px;display:inline-block}.rcp-dot--protein,.rcp-macro-seg--protein{background:var(--rcp-protein)}.rcp-dot--carbs,.rcp-macro-seg--carbs{background:var(--rcp-carbs)}.rcp-dot--fat,.rcp-macro-seg--fat{background:var(--rcp-fat)}.rcp-macro-bar{background:var(--border);border-radius:3px;gap:2px;height:6px;display:flex;overflow:hidden}.rcp-macro-seg{flex:0 0 0;min-width:0}.rcp-macro-dots{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 10px;margin-top:6px;font-size:11.5px;display:flex}.rcp-macro-dots>span{align-items:center;gap:4px;display:inline-flex}.rcp-macro-dots b{color:var(--text-primary)}.rcp-donut{flex:none;position:relative}.rcp-donut svg{display:block}.rcp-donut-track{stroke:var(--border)}.rcp-donut-arc--protein{stroke:var(--rcp-protein)}.rcp-donut-arc--carbs{stroke:var(--rcp-carbs)}.rcp-donut-arc--fat{stroke:var(--rcp-fat)}.rcp-donut-center{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.rcp-donut-center strong{font-variant-numeric:tabular-nums;font-size:24px;font-weight:800;line-height:1.1}.rcp-donut-center span{color:var(--text-muted);font-size:11px}.rcp-side-donut .rcp-donut-center strong{font-size:28px}.rcp-source{border-radius:var(--radius-pill);white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.rcp-source--verified{background:var(--accent-wash);color:var(--accent)}.rcp-source--ai-verified,.rcp-source--db{background:color-mix(in srgb, var(--rcp-protein) 14%, var(--surface-1));color:color-mix(in srgb, var(--rcp-protein) 62%, var(--text-primary))}.rcp-source--ai{background:color-mix(in srgb, var(--text-primary) 8%, transparent);color:var(--text-secondary)}.rcp-source--estimate{background:color-mix(in srgb, var(--rcp-carbs) 22%, var(--surface-1));color:color-mix(in srgb, var(--rcp-carbs) 50%, var(--text-primary))}.rcp-source-text{font-size:11.5px;font-weight:700}.rcp-source-text--verified{color:var(--accent)}.rcp-source-text--ai-verified{color:color-mix(in srgb, var(--rcp-protein) 62%, var(--text-primary))}.rcp-source-text--ai{color:var(--text-secondary)}.rcp-icon-btn{border-radius:var(--radius-pill);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:0;display:flex}.rcp-icon-btn:hover{background:var(--page-plane)}.rcp-icon-btn:focus-visible,.rcp-tab:focus-visible,.rcp-chip:focus-visible,.rcp-row:focus-visible,.rcp-tile-main:focus-visible,.rcp-tile-copy:focus-visible,.rcp-tile-new:focus-visible,.rcp-ing-summary:focus-visible,.rcp-pill-btn:focus-visible,.rcp-dashed-btn:focus-visible,.rcp-mic-pill:focus-visible,.rcp-mic-icon:focus-visible,.rcp-text-btn:focus-visible,.rcp-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rcp-icon-btn-sm{border-radius:var(--radius-sm);width:28px;height:40px;color:var(--text-muted)}.rcp-icon-btn-danger:hover{color:var(--danger);background:var(--danger-wash)}.rcp-text-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:13px;font-weight:600}.rcp-text-btn:hover{color:var(--accent)}.rcp-pill-btn{border-radius:var(--radius-pill);background:var(--accent-wash);height:34px;color:var(--accent);cursor:pointer;border:0;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:700;display:inline-flex}.rcp-dashed-btn{border:1.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-wash);width:100%;height:46px;color:var(--accent);cursor:pointer;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.rcp-dashed-btn-sm{border-radius:10px;width:auto;height:38px;padding:0 14px;font-size:13px}.btn-secondary.rcp-btn-sm{padding:6px 12px;font-size:13px}.btn-secondary.rcp-btn-danger{color:var(--danger)}.btn-secondary.rcp-btn-danger:hover{background:var(--danger-wash);border-color:var(--danger);color:var(--danger)}.rcp-count{color:var(--text-muted);font-weight:600}.rcp-section-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.rcp-section-head h3{margin:0;font-size:15px;font-weight:800}.rcp-label-row{align-items:center;display:inline-flex}.rcp-toolbar{flex-direction:column;gap:14px;display:flex}.rcp-tabs{display:flex}.rcp-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;flex:1;font-size:14px;font-weight:600}.rcp-toolbar--phone .rcp-tabs{border-bottom:1px solid var(--border)}.rcp-toolbar--phone .rcp-tab{border-bottom:3px solid #0000;height:44px;margin-bottom:-1px}.rcp-toolbar--phone .rcp-tab-active{border-bottom-color:var(--accent);color:var(--text-primary);font-weight:700}.rcp-toolbar--desktop{gap:12px}.rcp-toolbar--desktop .rcp-tabs{background:color-mix(in srgb, var(--text-primary) 6%, transparent);border-radius:14px;gap:4px;padding:4px}.rcp-toolbar--desktop .rcp-tab{border-radius:10px;height:38px;font-size:13.5px}.rcp-toolbar--desktop .rcp-tab-active{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm);font-weight:700}.btn-primary.rcp-new-btn{justify-content:center;align-self:stretch}.rcp-search{background:color-mix(in srgb, var(--text-primary) 6%, transparent);height:44px;color:var(--text-muted);border-radius:14px;align-items:center;gap:8px;padding:0 14px;display:flex}.rcp-toolbar--desktop .rcp-search{border:1px solid var(--border);background:var(--surface-1);border-radius:12px;height:42px}.rcp-search:focus-within{box-shadow:0 0 0 3px var(--accent-wash)}.rcp-search input{min-width:0;color:var(--text-primary);background:0 0;border:0;outline:0;flex:1;font-size:16px}.rcp-chips{scrollbar-width:none;gap:8px;display:flex;overflow-x:auto}.rcp-chips::-webkit-scrollbar{display:none}.rcp-toolbar--desktop .rcp-chips{flex-wrap:wrap;overflow:visible}.rcp-chip{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);height:34px;color:var(--text-secondary);cursor:pointer;flex:none;padding:0 14px;font-size:13px;font-weight:600}.rcp-chip-active{border-color:var(--text-primary);background:var(--text-primary);color:var(--surface-1)}.rcp-phone{flex-direction:column;gap:14px;display:flex}.rcp-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;display:grid}.rcp-tile{border:1px solid var(--border);background:var(--surface-1);border-radius:18px;position:relative;overflow:hidden}.rcp-tile-main{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;padding:0;display:flex}.rcp-tile-art{justify-content:center;align-items:center;height:84px;display:flex;position:relative}.rcp-tile-art--protein{background:color-mix(in srgb, var(--rcp-protein) 16%, var(--surface-1));color:var(--rcp-protein)}.rcp-tile-art--carbs{background:color-mix(in srgb, var(--rcp-carbs) 20%, var(--surface-1));color:var(--rcp-carbs)}.rcp-tile-art--fat{background:color-mix(in srgb, var(--rcp-fat) 16%, var(--surface-1));color:var(--rcp-fat)}.rcp-kcal-pill{border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text-primary);font-variant-numeric:tabular-nums;padding:3px 8px;font-size:11.5px;font-weight:700;position:absolute;top:10px;left:10px}.rcp-tile-body{flex-direction:column;gap:2px;padding:10px 12px 12px;display:flex}.rcp-tile-name{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-bottom:6px;font-size:14px;font-weight:700;line-height:18px;display:-webkit-box;overflow:hidden}.rcp-tile-meta{color:var(--text-secondary);font-size:12px}.rcp-tile-copy{border:3px solid var(--surface-1);background:var(--accent);width:38px;height:38px;color:var(--on-accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;top:8px;right:8px}.rcp-tile-copy--done{background:color-mix(in srgb, var(--rcp-protein) 18%, var(--surface-1));color:color-mix(in srgb, var(--rcp-protein) 62%, var(--text-primary));cursor:default}.rcp-tile-new{border:1.5px dashed color-mix(in srgb, var(--accent) 50%, transparent);background:var(--accent-wash);width:100%;height:100%;min-height:184px;color:var(--accent);font:inherit;cursor:pointer;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:12px;display:flex}.rcp-tile-new-plus{background:var(--accent);width:46px;height:46px;color:var(--on-accent);box-shadow:var(--shadow-md);border-radius:50%;justify-content:center;align-items:center;display:flex}.rcp-tile-new-title{font-size:14px;font-weight:700}.rcp-tile-new-sub{color:var(--text-secondary);font-size:12px}.rcp-split{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.rcp-pane-list{top:var(--rcp-sticky-top,89px);min-height:0;max-height:calc(100vh - var(--rcp-sticky-top,89px) - 32px);flex-direction:column;gap:12px;display:flex;position:sticky}.rcp-pane-list .rcp-toolbar{flex:none}.rcp-list{scrollbar-width:thin;scrollbar-color:transparent transparent;flex-direction:column;gap:8px;min-height:0;padding:2px 2px 8px;display:flex;overflow-y:auto}.rcp-list:hover,.rcp-list:focus-within{scrollbar-color:color-mix(in srgb, var(--text-primary) 28%, transparent) transparent}.rcp-row{border:1px solid var(--border);background:var(--surface-1);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.rcp-row:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--border))}.rcp-row-active{border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:var(--accent-wash)}.rcp-row-top{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.rcp-row-name{overflow-wrap:anywhere;font-size:14px;font-weight:700}.rcp-row-kcal{font-variant-numeric:tabular-nums;flex:none;font-size:13px;font-weight:700}.rcp-row-kcal small{color:var(--text-muted);font-size:11px;font-weight:600}.rcp-row-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.rcp-row-copied{color:color-mix(in srgb, var(--rcp-protein) 62%, var(--text-primary));margin-left:auto;font-weight:700}.rcp-row .rcp-macro-bar{margin-top:5px}.rcp-pane-detail{min-width:0}.rcp-detail-scope{container:rcp-detail/inline-size}.bottom-drawer-body .rcp-detail-scope{padding-bottom:calc(28px + env(safe-area-inset-bottom))}.rcp-detail{flex-direction:column;gap:16px;display:flex}.rcp-detail-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex}.rcp-detail-titles h2{letter-spacing:-.02em;overflow-wrap:anywhere;margin:0;font-size:28px;font-weight:800;line-height:1.25}.rcp-detail-meta{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 0;font-size:14px;display:flex}.rcp-detail-actions{gap:8px;display:flex}.rcp-detail-actions .btn-primary{align-self:auto}.rcp-note{background:var(--accent-wash);border-radius:12px;align-items:flex-start;gap:10px;margin:0;padding:11px 14px;font-size:13px;line-height:19px;display:flex}.rcp-note svg{color:var(--accent);flex:none;margin-top:2px}.rcp-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.rcp-stat{border:1px solid var(--border);background:var(--surface-1);border-radius:16px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.rcp-stat-label{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.rcp-stat strong{font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1.2}.rcp-stat small{color:var(--text-muted);font-size:13px;font-weight:600}.rcp-stat-track{background:var(--border);border-radius:2px;height:4px;margin-top:2px;overflow:hidden}.rcp-stat-track>span{border-radius:2px;height:100%;display:block}.rcp-stat-note{color:var(--text-muted);font-size:12px}.rcp-card{border:1px solid var(--border);background:var(--surface-1);border-radius:16px;overflow:hidden}.rcp-card-pad{padding:16px 20px;overflow:visible}.rcp-card h3{margin:0;font-size:15px;font-weight:800}.rcp-card h4{color:var(--text-muted);margin:14px 0 8px;font-size:12px;font-weight:600}.rcp-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 12px;padding:14px 20px;display:flex}.rcp-card-note{color:var(--text-muted);font-size:12px}.rcp-description{color:var(--text-secondary);white-space:pre-wrap;margin:6px 0 0;font-size:14px;line-height:22px}.rcp-table-wrap{overflow-x:auto}.rcp-table{table-layout:fixed;border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:13.5px}.rcp-table th,.rcp-table td{border-top:1px solid var(--border);text-align:left;white-space:nowrap;text-overflow:ellipsis;height:44px;padding:0 8px;font-weight:400;overflow:hidden}.rcp-table tbody th,.rcp-table tfoot th{white-space:normal;overflow-wrap:anywhere}.rcp-table thead .rcp-col-amount{width:92px}.rcp-table thead .rcp-col-kcal{width:84px}.rcp-table thead .rcp-col-macro{width:80px}.rcp-table thead .rcp-col-source{width:176px}.rcp-table th:first-child,.rcp-table td:first-child{padding-left:20px}.rcp-table th:last-child,.rcp-table td:last-child{padding-right:20px}.rcp-table thead th{background:var(--surface-2);height:32px;color:var(--text-muted);letter-spacing:.03em;text-transform:uppercase;font-size:11.5px;font-weight:700}.rcp-table tbody th{color:var(--text-primary);font-weight:600;line-height:1.35}.rcp-table tbody th,.rcp-table tbody td{padding-top:7px;padding-bottom:7px}.rcp-table tfoot th,.rcp-table tfoot td{background:var(--surface-2);font-weight:800}.rcp-table tfoot .rcp-per-serving th,.rcp-table tfoot .rcp-per-serving td{color:var(--text-secondary);font-weight:600}.rcp-table .rcp-num{text-align:right}.rcp-table .rcp-source{text-overflow:ellipsis;vertical-align:middle;max-width:100%;overflow:hidden}.rcp-inline-macros,.rcp-inline-source{color:var(--text-secondary);margin-top:2px;font-size:12px;font-weight:400;display:none}.rcp-table .rcp-inline-source{margin-top:1px;font-size:12px}.rcp-table .rcp-inline-source--estimate{color:color-mix(in srgb, var(--rcp-carbs) 50%, var(--text-primary));font-weight:600}@container rcp-detail (width<=720px){.rcp-col-source{display:none}.rcp-table .rcp-inline-source{display:block}}@container rcp-detail (width<=560px){.rcp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.rcp-col-macro{display:none}.rcp-inline-macros{display:block}.rcp-table tbody th,.rcp-table tbody td{height:54px}.rcp-detail-titles h2{font-size:24px}}.rcp-editor{flex-direction:column;gap:16px;display:flex;container:rcp-editor/inline-size}.rcp-editor-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 16px;display:flex}.rcp-editor-head h2{letter-spacing:-.02em;margin:2px 0 0;font-size:24px;font-weight:800}.rcp-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:13px;font-weight:600;display:inline-flex}.rcp-back:hover{color:var(--accent)}.rcp-editor-actions{gap:10px;display:flex}.rcp-editor-actions .btn-primary{align-self:auto}.rcp-editor-body{grid-template-columns:minmax(0,1fr) 264px;align-items:start;gap:16px;display:grid}.rcp-editor-main{flex-direction:column;gap:16px;min-width:0;display:flex}.rcp-editor-side{flex-direction:column;gap:14px;display:flex;position:sticky;top:80px}@container rcp-editor (width<=960px){.rcp-editor-body{grid-template-columns:minmax(0,1fr)}.rcp-editor-side{order:-1;position:static}}.rcp-details-grid{grid-template-columns:minmax(0,1fr) 100px 110px 130px;gap:14px;display:grid}.rcp-details-grid .field{min-width:0}.rcp-details-grid .field input{width:100%}.rcp-details-grid .select-field{display:flex}.rcp-details-grid .select-field-trigger{width:100%}.rcp-f-desc,.rcp-f-tip{grid-column:1/-1}.rcp-f-tip{margin:0}@container rcp-editor (width<=560px){.rcp-details-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rcp-f-name{grid-column:1/-1}}.rcp-ai-card{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);background:var(--accent-wash);border-radius:16px;flex-direction:column;gap:10px;padding:14px 20px 16px;display:flex}.rcp-ai-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.rcp-ai-card-head h3{color:var(--accent);align-items:center;gap:6px;margin:0;font-size:14px;display:flex}.rcp-ai-card-row{flex-wrap:wrap;align-items:stretch;gap:10px;display:flex}.rcp-ai-card-row textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);min-width:0;min-height:52px;color:var(--text-primary);font:inherit;resize:vertical;flex:240px;padding:10px 12px;font-size:16px}.btn-primary.rcp-ai-go{justify-content:center;align-self:stretch}.rcp-mic-icon{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);width:52px;min-height:52px;color:var(--text-secondary);cursor:pointer;flex:none;justify-content:center;align-items:center;display:flex}.rcp-mic-icon:hover{border-color:var(--accent);color:var(--accent)}.rcp-mic-pill{border-radius:var(--radius-pill);background:var(--accent-wash);height:40px;color:var(--accent);cursor:pointer;border:0;align-items:center;gap:8px;padding:0 14px 0 12px;font-size:13px;font-weight:700;display:inline-flex}.rcp-recording{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.rcp-itable{overflow-x:auto}.rcp-itable ul{flex-direction:column;gap:8px;display:flex}.rcp-irow{flex-direction:column;gap:6px;display:flex}.rcp-irow-cells{grid-template-columns:minmax(0,1fr) 56px 80px 62px 52px 52px 52px 52px;align-items:center;gap:6px;display:grid}.rcp-itable-head{color:var(--text-muted);margin-bottom:6px;font-size:11.5px;font-weight:600}.rcp-irow-cells input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page-plane);width:100%;min-width:0;height:40px;color:var(--text-primary);font-variant-numeric:tabular-nums;padding:0 6px;font-size:16px}.rcp-irow-cells input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.rcp-irow-name{position:relative}.rcp-irow-name input{padding:0 8px;font-weight:500}.rcp-irow-name:has(.rcp-source) input{padding-right:38px}.rcp-irow-name .rcp-source{pointer-events:none;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.rcp-irow-cells .select-field{display:flex}.select-field-trigger.rcp-unit-select{border-radius:var(--radius-sm);width:100%;height:40px;padding:0 8px}.rcp-irow-actions{justify-content:flex-end;display:flex}.rcp-irow-extras{margin-bottom:4px}.rcp-itable-foot{margin-top:10px}.rcp-summary-list{font-variant-numeric:tabular-nums;flex-direction:column;flex:1;gap:9px;min-width:0;font-size:13.5px;display:flex}.rcp-summary-list li{align-items:center;gap:8px;display:flex}.rcp-summary-list .rcp-dot{width:9px;height:9px}.rcp-summary-list span{color:var(--text-secondary);flex:1}.rcp-summary-list em{text-align:right;width:38px;color:var(--text-muted);font-style:normal}.rcp-summary-list-wide{gap:10px}.rcp-side-donut{justify-content:center;margin:12px 0 14px;display:flex}.rcp-side-total{border-top:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;gap:8px;margin-top:14px;padding-top:12px;font-size:13px;display:flex}.rcp-side-total b{color:var(--text-primary);font-variant-numeric:tabular-nums}.rcp-chip-list{flex-wrap:wrap;gap:6px;display:flex}.rcp-chip-static{background:color-mix(in srgb, var(--text-primary) 6%, transparent);border-radius:8px;padding:4px 10px;font-size:12px}.rcp-warn{border:1px solid color-mix(in srgb, var(--rcp-carbs) 40%, transparent);background:color-mix(in srgb, var(--rcp-carbs) 14%, var(--surface-1));border-radius:14px;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;font-size:12.5px;line-height:18px;display:flex}.rcp-warn svg{color:color-mix(in srgb, var(--rcp-carbs) 55%, var(--text-primary));flex:none;margin-top:1px}.rcp-wizard{z-index:40;background:var(--page-plane);justify-content:center;display:flex;position:fixed;inset:0}.rcp-wizard-inner{flex-direction:column;width:100%;max-width:560px;height:100%;min-height:0;display:flex}.rcp-wizard-head{min-height:52px;padding:calc(4px + env(safe-area-inset-top)) 12px 4px 4px;flex:none;align-items:center;gap:2px;display:flex}.rcp-wizard-head h2{letter-spacing:-.01em;flex:1;margin:0;font-size:18px;font-weight:800}.rcp-wizard-step{color:var(--text-secondary);white-space:nowrap;padding-right:8px;font-size:13px;font-weight:600}.rcp-stepper{flex:none;gap:6px;padding:0 16px 4px;display:flex}.rcp-stepper-seg{flex-direction:column;flex:1;gap:6px;display:flex}.rcp-stepper-bar{background:var(--border);border-radius:2px;height:4px}.rcp-stepper-label{color:var(--text-muted);font-size:12px;font-weight:600}.rcp-stepper-seg-done .rcp-stepper-bar{background:var(--accent)}.rcp-stepper-seg-done .rcp-stepper-label{color:var(--accent)}.rcp-wizard-scroll{overscroll-behavior:contain;flex-direction:column;flex:1;gap:14px;min-height:0;padding:18px 16px 24px;display:flex;overflow-y:auto}.rcp-wizard-foot{padding:12px 16px calc(36px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:var(--surface-1);flex-direction:column;flex:none;gap:4px;display:flex}.rcp-foot-row{gap:10px;display:flex}.rcp-foot-row>*{align-self:stretch}.btn-primary.rcp-btn-lg,.btn-secondary.rcp-btn-lg{border-radius:14px;justify-content:center;padding:14px 18px;font-size:15px}.rcp-btn-grow{flex:1}.btn-primary.rcp-btn-block{justify-content:center;align-self:stretch}.rcp-wizard-heading{letter-spacing:-.02em;margin:4px 0 0;font-size:28px;font-weight:800;line-height:34px}.rcp-wizard-sub{color:var(--text-secondary);margin:-6px 0 4px;font-size:14px;line-height:21px}.rcp-prompt{border:1.5px solid color-mix(in srgb, var(--accent) 50%, transparent);background:var(--surface-1);box-shadow:0 0 0 4px var(--accent-wash);border-radius:20px;padding:16px 16px 12px}.rcp-prompt textarea{width:100%;min-height:112px;color:var(--text-primary);font:inherit;resize:none;background:0 0;border:0;outline:0;padding:0;font-size:17px;line-height:26px;display:block}.rcp-prompt textarea::placeholder{color:var(--text-muted)}.rcp-prompt-foot{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:8px;padding-top:12px;display:flex}.rcp-prompt-hint{color:var(--text-muted);font-size:12px}.rcp-examples h4{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:8px 0;font-size:12px;font-weight:700}.rcp-examples ul{flex-direction:column;gap:8px;display:flex}.rcp-examples button{border:1px solid var(--border);background:var(--surface-1);width:100%;min-height:46px;color:var(--text-primary);text-align:left;cursor:pointer;border-radius:13px;justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-family:inherit;font-size:14px;display:flex}.rcp-examples button svg{color:var(--text-muted);flex:none}.rcp-summary{border:1px solid var(--border);background:var(--surface-1);border-radius:20px;padding:16px}.rcp-summary-top{align-items:center;gap:16px;display:flex}.rcp-summary-side{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.rcp-summary-label{color:var(--text-muted);font-size:12px;font-weight:600}.rcp-foot-error{margin-bottom:6px}.rcp-summary-servings{border-top:1px solid var(--border);color:var(--text-secondary);justify-content:space-between;align-items:center;gap:10px;margin-top:14px;padding-top:12px;font-size:13px;font-weight:600;display:flex}.rcp-stepper-ctl{border:1px solid var(--border);border-radius:12px;align-items:center;display:flex}.rcp-stepper-ctl button{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.rcp-stepper-ctl button:last-child{color:var(--accent)}.rcp-stepper-ctl button:disabled{opacity:.4;cursor:default}.rcp-stepper-ctl span{text-align:center;min-width:78px;color:var(--text-primary);font-size:14px;font-weight:700}.rcp-ai-inline{border:1px solid color-mix(in srgb, var(--accent) 22%, transparent);background:var(--accent-wash);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex}.rcp-ai-inline textarea{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-1);width:100%;color:var(--text-primary);font:inherit;resize:none;padding:10px 12px;font-size:16px}.rcp-ing-list{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.rcp-ing{border:1px solid var(--border);background:var(--surface-1);border-radius:14px;overflow:hidden}.rcp-ing-open{border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.rcp-ing-summary{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:10px 12px;display:flex}.rcp-ing-summary>svg{color:var(--text-muted);flex:none}.rcp-ing-main{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.rcp-ing-name{overflow-wrap:anywhere;font-size:14px;font-weight:700}.rcp-ing-chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rcp-qty-chip{background:color-mix(in srgb, var(--text-primary) 6%, transparent);border-radius:8px;padding:3px 8px;font-size:12px;font-weight:700}.rcp-ing-nums{text-align:right;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;gap:3px;display:flex}.rcp-ing-nums strong{font-size:15px;font-weight:800}.rcp-ing-nums small{color:var(--text-muted);font-size:11px;font-weight:600}.rcp-ing-nums span{color:var(--text-secondary);font-size:11.5px}.rcp-ing .ingredient-row{border:0;border-top:1px solid var(--border);border-radius:0}.rcp-details-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rcp-details-row .field{min-width:0}.rcp-details-row .field input{width:100%}.rcp-details-row .select-field{display:flex}.rcp-details-row .select-field-trigger{width:100%}.rcp-details-total{color:var(--text-secondary);margin:0;font-size:13px}.rcp-details-total b{color:var(--text-primary)}.ai-usage-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.ai-usage-header h2{margin:0}.ai-usage-nav{align-items:center;gap:8px;display:flex}.ai-usage-nav button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:2px 9px;font-size:14px;line-height:1.4;display:inline-flex}.ai-usage-nav button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.ai-usage-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ai-usage-nav button:disabled{opacity:.4;cursor:not-allowed}.ai-usage-month{text-align:center;min-width:132px;font-size:14px;font-weight:600;display:inline-block}.ai-usage-today-btn{padding:2px 9px!important;font-size:12px!important}.ai-usage-refresh-btn{padding:5px!important}.ai-usage-refresh-spinning{animation:.8s linear infinite ai-usage-spin}@keyframes ai-usage-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ai-usage-table-wrap{max-height:260px;margin-top:16px;overflow:auto}.ai-usage-breakdown{border-collapse:collapse;width:100%;min-width:420px;font-size:13px}.ai-usage-breakdown thead th{background:var(--surface);position:sticky;top:0}.ai-usage-breakdown th,.ai-usage-breakdown td{text-align:left;border-bottom:1px solid var(--border);padding:6px 10px}.ai-usage-breakdown th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.ai-usage-breakdown td:nth-child(3),.ai-usage-breakdown td:nth-child(4){font-variant-numeric:tabular-nums}.toggle-switch{background:var(--border);cursor:pointer;border:none;border-radius:999px;flex-shrink:0;width:36px;height:20px;padding:0;position:relative}.toggle-switch:disabled{cursor:not-allowed;opacity:.6}.toggle-switch-on{background:var(--accent)}.toggle-switch-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px}.toggle-switch-on .toggle-switch-thumb{transform:translate(16px)}.admin-users-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.admin-users-head h2{margin:0}.admin-user-thead{border-bottom:1px solid var(--border);gap:16px;margin-bottom:2px;padding:0 6px 10px;display:none}.admin-user-thead span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.admin-user-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.admin-user-row{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px 14px;padding:14px 6px;display:flex}.admin-user-row:last-child{border-bottom:none}.admin-user-primary{flex:auto;order:1;align-items:center;gap:12px;min-width:0;display:flex}.admin-user-info{flex-direction:column;flex:1;min-width:0;display:flex}.select-field-trigger.admin-user-plan-select{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--text-primary);order:3;padding:6px 10px;font-size:12.5px;font-weight:600;transition:border-color .15s,box-shadow .15s}.select-field-trigger.admin-user-plan-select[data-focus-visible]{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.select-field-trigger.admin-user-plan-select[data-disabled]{opacity:.6}.admin-user-status{flex:none;order:4;align-items:center;gap:8px;display:flex}.admin-user-joined{white-space:nowrap;text-overflow:ellipsis;flex:none;order:5;overflow:hidden}.muted.admin-user-joined{font-size:13px}.admin-badge{border-radius:var(--radius-pill);align-items:center;padding:3px 9px;font-size:11px;font-weight:700;display:inline-flex}.admin-badge-active{background:var(--accent-wash);color:var(--accent)}.admin-badge-inactive{background:var(--surface-2);color:var(--text-muted);border:1px solid var(--border)}.admin-user-active-toggle{align-items:center;gap:6px;display:flex}.admin-user-menu-wrap{flex:none;order:2;position:relative}.admin-user-menu-trigger{border-radius:var(--radius-md);width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.admin-user-menu-trigger:disabled{cursor:default}.admin-user-menu-trigger:hover:not(:disabled){background:var(--surface-2);color:var(--text-primary)}.admin-user-menu-trigger:disabled{opacity:.5}.admin-user-menu-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@keyframes admin-scrim-in{0%{opacity:0}}@keyframes admin-scrim-out{to{opacity:0}}@keyframes admin-sheet-in{0%{transform:translateY(100%)}}@keyframes admin-sheet-out{to{transform:translateY(100%)}}@keyframes admin-popover-in{0%{opacity:0;transform:translateY(-4px)}}@keyframes admin-popover-out{to{opacity:0;transform:translateY(-4px)}}.admin-user-menu-scrim{z-index:29;cursor:default;background:#16161c73;border:none;width:100%;padding:0;animation:.2s ease-out both admin-scrim-in;display:block;position:fixed;inset:0}.admin-user-menu-scrim.admin-menu-closing{animation:.18s ease-in both admin-scrim-out}.admin-user-menu{background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-lg);padding:10px 16px calc(18px + env(safe-area-inset-bottom,0px));z-index:30;border-radius:18px 18px 0 0;min-width:0;animation:.22s cubic-bezier(.16,1,.3,1) both admin-sheet-in;position:fixed;bottom:0;left:0;right:0}.admin-user-menu.admin-menu-closing{animation:.2s cubic-bezier(.4,0,1,1) both admin-sheet-out}.admin-user-menu-handle{background:var(--border);border-radius:2px;width:36px;height:4px;margin:0 auto 14px}.admin-user-menu-title{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding:0 10px 12px;display:flex}.admin-user-menu-title-info{flex-direction:column;flex:1;min-width:0;display:flex}.admin-user-menu-title-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.admin-user-menu-title-info .muted{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-menu-item{border-radius:var(--radius-sm);width:100%;min-height:46px;color:var(--text-secondary);text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:none;align-items:center;gap:10px;padding:9px 10px;font-size:14px;font-weight:600;display:flex}.admin-menu-item:hover{background:var(--surface-2);color:var(--text-primary)}.admin-menu-item-danger{color:var(--danger)}.admin-menu-item-danger:hover{background:var(--danger-wash);color:var(--danger)}.admin-menu-divider{background:var(--border);height:1px;margin:5px 2px}@media (width>=768px){.admin-user-menu-scrim,.admin-user-menu-handle,.admin-user-menu-title{display:none}.admin-user-menu{border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:190px;padding:6px;animation:.15s ease-out both admin-popover-in;position:absolute;inset:calc(100% + 4px) 0 auto auto}.admin-user-menu.admin-menu-closing{animation:.12s ease-in both admin-popover-out}.admin-menu-item{min-height:0;padding:9px 10px;font-size:13px}}@media (prefers-reduced-motion:reduce){.admin-user-menu-scrim,.admin-user-menu{animation:none}}@media (width>=960px){.admin-user-thead{grid-template-columns:minmax(180px,1fr) 112px 116px 84px 36px;gap:10px;display:grid}.admin-user-row{grid-template-columns:minmax(180px,1fr) 112px 116px 84px 36px;gap:10px;padding:12px 6px;display:grid}.admin-user-primary,.admin-user-plan-select,.admin-user-status,.admin-user-joined,.admin-user-menu-wrap{order:0}.admin-user-joined-label{display:none}}.admin-plan-header{cursor:pointer}.admin-plan-header h3{margin:0;font-size:15px}.admin-plan-body{border-top:1px solid var(--border);flex-direction:column;gap:20px;margin-top:16px;padding-top:16px;display:flex}.admin-plan-form h4{color:var(--text-secondary);margin:6px 0 0;font-size:14px;font-weight:700}.admin-plan-form h4:first-child{margin-top:0}.admin-plan-toggle{width:32px;height:32px;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;flex:none;justify-content:center;align-items:center;display:inline-flex}.admin-plan-toggle:hover{background:var(--surface-2);color:var(--text-primary)}.entry-form.admin-plan-form{max-width:640px}.admin-plan-currency-input{flex:none;width:4.5em}.admin-plan-price-input{flex:1;min-width:0}.user-ai-calls-header{margin-bottom:8px}.user-ai-calls-back{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:4px 0;font-size:14px;display:inline-flex}.user-ai-calls-back:hover{color:var(--accent)}.user-ai-calls-usage{flex-wrap:wrap;align-items:center;gap:12px;margin:4px 0 16px;display:flex}.user-ai-calls-page-size{align-items:center;gap:6px;margin-right:4px;display:inline-flex}.user-ai-calls-page-size select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--page-plane);color:var(--text-primary);padding:2px 6px;font-size:13px}.user-ai-calls-table-wrap{margin-top:12px;overflow-x:auto}.user-ai-calls-table{border-collapse:collapse;width:100%;font-size:13px}.user-ai-calls-table th,.user-ai-calls-table td{text-align:left;border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px}.user-ai-calls-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.user-ai-calls-table td:nth-child(4),.user-ai-calls-table td:nth-child(5),.user-ai-calls-table td:nth-child(6){font-variant-numeric:tabular-nums}.user-ai-calls-pagination{justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:13px;display:flex}.user-ai-calls-pagination-nav{align-items:center;gap:8px;display:flex}.user-ai-calls-pagination-nav button{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:0 0;justify-content:center;align-items:center;padding:2px 9px;line-height:1.4;display:inline-flex}.user-ai-calls-pagination-nav button:hover:not(:disabled){color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.user-ai-calls-pagination-nav button:disabled{opacity:.4;cursor:not-allowed}.ticket-thread{flex-direction:column;gap:16px;display:flex}.ticket-thread-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.ticket-thread-header h3{margin:0}.ticket-thread-header-actions{align-items:center;gap:8px;display:flex}.ticket-message-list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ticket-message{border-radius:var(--radius-lg);background:var(--border);max-width:70%;padding:8px 12px}.ticket-message-admin{background:var(--accent-wash);align-self:flex-start}.ticket-message-user{align-self:flex-end}.ticket-message-meta{gap:8px;margin-bottom:4px;font-size:12px;display:flex}.ticket-message-body{white-space:pre-wrap;margin:0}.ticket-reply-form{flex-direction:column;gap:10px;display:flex}.ticket-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.ticket-row{border-bottom:1px solid var(--border)}.ticket-row:last-child{border-bottom:none}.ticket-row-unresponded{border-left:3px solid var(--accent)}.ticket-row-button{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.ticket-row-info{flex-direction:column;gap:2px;min-width:0;display:flex}.ticket-status-badge{vertical-align:middle;border-radius:var(--radius-pill);background:var(--accent-wash);color:var(--accent);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.ticket-status-resolved{background:var(--border);color:var(--text-muted)}.checkbox-field{cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.profile-hub-row{text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;border:none;align-items:center;gap:14px;padding:0;display:flex}.profile-hub-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-hub-name{font-size:15px;font-weight:600}.profile-hub-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.profile-hub-chevron{color:var(--text-muted);flex-shrink:0}.profile-menu-row{border:none;border-bottom:1px solid var(--border);text-align:left;cursor:pointer;width:100%;color:inherit;font:inherit;background:0 0;align-items:center;gap:14px;padding:12px 0;text-decoration:none;display:flex}.profile-menu-row:last-child{border-bottom:none;padding-bottom:0}.profile-menu-row:first-child{padding-top:0}.profile-menu-row-danger{color:var(--danger)}.profile-menu-row-danger .profile-menu-icon{background:var(--danger-wash);color:var(--danger)}.profile-menu-icon{background:var(--accent-wash);width:36px;height:36px;color:var(--accent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.profile-menu-label{flex:1;font-size:15px;font-weight:600}.profile-avatar-row{margin-bottom:20px;display:flex}.profile-avatar-wrap{flex-shrink:0;width:88px;height:88px;position:relative}.profile-avatar,.profile-hub-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.profile-hub-avatar{flex-shrink:0;width:48px;height:48px}.profile-avatar-placeholder,.profile-hub-avatar-placeholder{background:var(--accent-wash);color:var(--accent);justify-content:center;align-items:center;font-weight:600;display:flex}.profile-avatar-placeholder{font-size:32px}.profile-hub-avatar-placeholder{font-size:18px}.profile-avatar-edit{border:2px solid var(--surface-1);background:var(--accent);width:30px;height:30px;color:var(--on-accent);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:flex;position:absolute;bottom:0;right:0}.profile-avatar-edit:hover:not(:disabled){background-image:var(--accent-gradient)}.profile-avatar-edit:disabled{cursor:default;opacity:.7}.profile-avatar-edit .spinner{border-color:#ffffff59;border-top-color:var(--on-accent)}.profile-avatar-input{display:none}@media (width<=767.98px){.plan-usage-heading{display:none}}.theme-toggle{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;justify-content:center;align-items:center;font-size:15px;line-height:1;transition:background .15s,color .15s,border-color .15s;display:flex}.theme-toggle:hover{background:var(--accent-wash);color:var(--accent);border-color:var(--accent)}.theme-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.login-screen{background:radial-gradient(circle at 30% 20%, var(--accent-wash), transparent 60%), var(--page-plane);justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.login-theme-toggle{position:absolute;top:20px;right:20px}.login-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);width:min(340px,90vw);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:16px;padding:32px;display:flex}.login-tabs{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--page-plane);width:100%;padding:3px;display:flex}.login-tab{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;padding:8px 12px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.login-tab-active{background:var(--surface-1);color:var(--accent);box-shadow:var(--shadow-sm)}.login-form{flex-direction:column;gap:14px;width:100%;display:flex}.password-field{display:flex;position:relative}.password-field input{flex:1;width:100%;padding-right:40px}.password-toggle{width:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-size:15px;line-height:1;display:flex;position:absolute;top:0;bottom:0;right:0}.password-toggle:hover{color:var(--accent)}.password-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-md)}.login-link{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit;font-size:13px;font-weight:600;text-decoration:none}.login-link:hover{text-decoration:underline}.login-forgot-link{align-self:flex-end;margin-top:-6px}.login-back-link,.consent-gate-logout{align-self:center}.login-message{color:var(--text-secondary);text-align:center;margin:0;font-size:14px;line-height:1.5}.login-consent{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:12.5px;line-height:1.5;display:flex}.login-consent input{flex-shrink:0;margin-top:3px}.login-consent a{color:var(--accent);font-weight:600}.login-terms{color:var(--text-secondary);text-align:center;margin:0;font-size:12px;line-height:1.5}.login-terms a{color:var(--accent);font-weight:600}.login-divider{width:100%;color:var(--text-secondary);align-items:center;gap:10px;font-size:12px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.pm-phone{background:linear-gradient(160deg,#30303b,#101016);border-radius:2.7em;flex:none;width:16em;height:32.4em;padding:.5em;font-size:14px;position:relative;box-shadow:inset 0 0 0 1px #ffffff17,0 2.4em 4em -1.2em #32198280,0 .6em 1.4em #00000040}.pm-screen{color:#fff;background:#000;border-radius:2.25em;position:absolute;inset:.5em;overflow:hidden}.pm-screen:after{content:"";z-index:30;background:#050507;border-radius:1em;width:4.6em;height:1.3em;position:absolute;top:.7em;left:50%;transform:translate(-50%)}.pm-rv{opacity:0;transition:opacity .4s,transform .4s;transform:translateY(.5em)}.pm-rv.is-on{opacity:1;transform:none}.pm-rows{flex-direction:column;gap:.45em;display:flex}.pm-row{background:var(--surface-2);border:1px solid var(--border);border-radius:.8em;align-items:center;gap:.6em;padding:.55em .7em;font-size:.8em;display:flex}.pm-row-dot{background:var(--chart-1);border-radius:50%;flex:none;width:.55em;height:.55em}.pm-row-name{flex-direction:column;flex:1;min-width:0;line-height:1.25;display:flex}.pm-row-name small{color:var(--text-secondary);font-size:.78em}.pm-row-kcal{font-variant-numeric:tabular-nums;font-weight:800}.pm-row-kcal em{color:var(--text-secondary);font-size:.78em;font-style:normal;font-weight:600}.pm-totals{grid-template-columns:repeat(4,1fr);gap:.4em;display:grid}.pm-total{text-align:center;border-radius:.7em;padding:.4em .1em;font-size:.7em;line-height:1.2}.pm-total b{font-variant-numeric:tabular-nums;font-size:1.15em;display:block}.pm-total-kcal{background:color-mix(in srgb, var(--chart-1) 14%, transparent);color:var(--chart-1)}.pm-total-protein{background:color-mix(in srgb, var(--chart-3) 14%, transparent);color:var(--chart-3)}.pm-total-carbs{background:color-mix(in srgb, var(--chart-2) 16%, transparent);color:var(--chart-2)}.pm-total-fat{background:var(--accent-wash);color:var(--accent)}.pm-save{text-align:center;background:var(--accent-gradient);color:var(--on-accent);border-radius:1em;padding:.75em;font-size:.85em;font-weight:700}.pm-scan{--pm-scan-teal:#4fd1c5;background:repeating-linear-gradient(100deg,#ffffff09 0 2px,#0000 2px 9px),radial-gradient(120% 80% at 50% 38%,#5c4735 0%,#2b2018 55%,#130e0a 100%);position:absolute;inset:0}.pm-camview{transform-origin:50% 0;transition:transform .6s cubic-bezier(.3,.8,.3,1);position:absolute;inset:0}.pm-camview.is-on{transform:translateY(-1.6em)scale(.78)}.pm-plate{filter:drop-shadow(0 .8em .8em #00000073);width:13em;height:13em;position:absolute;top:6.2em;left:1em}.pm-plate svg{width:100%;height:100%;display:block}.pm-brackets{opacity:0;height:14.6em;transition:opacity .3s;position:absolute;top:5.4em;left:.6em;right:.6em}.pm-brackets.is-on{opacity:1}.pm-br{border:.2em solid #fff;width:1.8em;height:1.8em;position:absolute}.pm-br-tl{border-bottom:0;border-right:0;border-radius:.8em 0 0;top:0;left:0}.pm-br-tr{border-bottom:0;border-left:0;border-radius:0 .8em 0 0;top:0;right:0}.pm-br-bl{border-top:0;border-right:0;border-radius:0 0 0 .8em;bottom:0;left:0}.pm-br-brr{border-top:0;border-left:0;border-radius:0 0 .8em;bottom:0;right:0}.pm-sweep{background:linear-gradient(90deg, transparent, var(--pm-scan-teal), transparent);border-radius:1em;height:.16em;animation:2.2s ease-in-out infinite alternate pm-sweep;position:absolute;top:4%;left:.4em;right:.4em;box-shadow:0 0 1em .25em #4fd1c58c}@keyframes pm-sweep{to{top:96%}}.pm-pin{white-space:nowrap;opacity:0;background:#0e0e14cc;border:1px solid #ffffff3d;border-radius:1em;align-items:center;gap:.45em;padding:.34em .75em .34em .55em;font-size:.72em;font-weight:700;transition:opacity .35s,transform .35s cubic-bezier(.3,1.4,.5,1);display:flex;position:absolute;transform:translate(-50%,-50%)scale(.6)}.pm-pin.is-on{opacity:1;transform:translate(-50%,-50%)scale(1)}.pm-pin i{background:var(--pm-scan-teal);border-radius:50%;width:.6em;height:.6em}.pm-scan-top{z-index:5;justify-content:space-between;align-items:center;font-size:.8em;font-weight:700;display:flex;position:absolute;top:2.3em;left:1em;right:1em}.pm-round{background:#0e0e148c;border-radius:50%;place-items:center;width:2.4em;height:2.4em;display:grid}.pm-status{z-index:5;height:2.2em;position:absolute;bottom:8.3em;left:0;right:0}.pm-stat{opacity:0;white-space:nowrap;background:#0e0e14b8;border-radius:1em;padding:.55em 1.1em;font-size:.78em;font-weight:600;transition:opacity .3s,transform .3s;position:absolute;top:0;left:50%;transform:translate(-50%,.4em)}.pm-stat.is-on{opacity:1;transform:translate(-50%)}.pm-controls{z-index:5;opacity:0;justify-content:space-between;align-items:center;padding:0 1.6em;transition:opacity .3s;display:flex;position:absolute;bottom:1.5em;left:0;right:0}.pm-controls.is-on{opacity:1}.pm-controls .pm-round{background:#ffffff24;width:2.9em;height:2.9em}.pm-shutter{border:.28em solid #fff;border-radius:50%;place-items:center;width:4.4em;height:4.4em;display:grid}.pm-shutter:after{content:"";background:#fff;border-radius:50%;width:3.2em;height:3.2em}.pm-sheet{z-index:10;color:var(--text-primary);background:var(--surface-1);border-radius:1.5em 1.5em 0 0;flex-direction:column;gap:.7em;padding:1em 1em 1.4em;transition:transform .55s cubic-bezier(.3,.8,.3,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(105%)}.pm-sheet.is-on{transform:none}.pm-sheet-head{justify-content:space-between;align-items:center;font-size:.9em;display:flex}.pm-verified{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--chart-1) 14%, transparent);color:var(--chart-1);white-space:nowrap;padding:.3em .8em;font-size:.66em;font-weight:700}.pm-voice{background:var(--surface-1);color:var(--text-primary);flex-direction:column;gap:.85em;padding:3.1em 1.05em 1.1em;display:flex;position:absolute;inset:0}.pm-voice-head{justify-content:space-between;align-items:center;font-size:.82em;font-weight:700;display:flex}.pm-voice-title{align-items:center;gap:.5em;display:inline-flex}.pm-voice-title-icon{background:var(--flame-wash);width:1.9em;height:1.9em;color:var(--flame);border-radius:.6em;justify-content:center;align-items:center;display:inline-flex}.pm-voice-time{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:.9em;font-weight:600}.pm-voice-rec{background:var(--surface-2);border:1px solid var(--border);border-radius:1.1em;align-items:center;gap:.8em;padding:.8em;display:flex}.pm-orb{color:#fff;background:linear-gradient(135deg, var(--flame), #e2552a);border-radius:50%;flex:none;place-items:center;width:3em;height:3em;transition:background .3s;display:grid;position:relative}.pm-orb svg{grid-area:1/1;transition:opacity .25s}.pm-orb-ok{opacity:0}.pm-orb.is-on{background:var(--chart-1)}.pm-orb.is-on .pm-orb-mic{opacity:0}.pm-orb.is-on .pm-orb-ok{opacity:1}.pm-orb:not(.is-on):after{content:"";border:2px solid var(--flame);opacity:0;border-radius:50%;animation:1.4s ease-out infinite pm-ping;position:absolute;inset:-.3em}@keyframes pm-ping{0%{opacity:.75;transform:scale(.85)}to{opacity:0;transform:scale(1.35)}}.pm-voice-wavecol{flex-direction:column;flex:1;gap:.35em;min-width:0;display:flex}.pm-bars{align-items:center;gap:.2em;height:2em;display:flex}.pm-bars i{background:var(--flame);opacity:.5;height:100%;transform:scaleY(calc(var(--m) * .55));border-radius:1em;flex:1;transition:opacity .3s}.pm-bars.is-on i{opacity:1;animation:1s ease-in-out infinite pm-bar;animation-delay:calc(var(--i) * -.09s)}@keyframes pm-bar{0%,to{transform:scaleY(.14)}50%{transform:scaleY(var(--m))}}.pm-voice-label{height:1.2em;color:var(--text-secondary);font-size:.72em;font-weight:600;position:relative}.pm-voice-label span{white-space:nowrap;text-overflow:ellipsis;width:100%;position:absolute;top:0;left:0;overflow:hidden}.pm-voice-say{background:var(--surface-2);border:1px solid var(--border);border-radius:1.1em;min-height:6.1em;padding:.8em .9em}.pm-voice-cap{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin-bottom:.5em;font-size:.62em;font-weight:700;display:block}.pm-voice-say p{font-size:.86em;font-weight:600;line-height:1.45;position:relative}.pm-voice-say .pm-voice-ph{color:var(--text-secondary);font-weight:500;position:absolute;top:0;left:0}.pm-voice .pm-rows{gap:.4em}.pm-voice .pm-save{margin-top:auto}@media (prefers-reduced-motion:reduce){.pm-sweep,.pm-bars.is-on i,.pm-orb:not(.is-on):after{animation:none}.pm-rv,.pm-pin,.pm-stat,.pm-sheet,.pm-camview{transition:none}}html:has(.landing-page){scroll-behavior:smooth}.landing-page{background:var(--page-plane);color:var(--text-primary)}#features,#scan-voice,#how-it-works,#nutrition-engine,#pricing,#faq{scroll-margin-top:72px}.landing-page a{color:var(--accent);text-decoration:none}.landing-page a:hover{color:var(--accent-hover)}.landing-page ul{margin:0;padding:0;list-style:none}.landing-page p,.landing-page h1,.landing-page h2,.landing-page h3,.landing-page h4{margin:0}.landing-wrap{max-width:1160px;margin:0 auto;padding:0 24px}.landing-eyebrow{color:var(--accent);letter-spacing:.07em;text-transform:uppercase;font-size:.8125rem;font-weight:700;display:inline-block}.landing-btn{border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;padding:14px 26px;font-family:inherit;font-size:.9375rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s,border-color .15s;display:inline-flex}.landing-btn-sm{padding:11px 22px;font-size:.875rem}a.landing-btn-primary{background:var(--accent-gradient);color:var(--on-accent);box-shadow:var(--shadow-md)}a.landing-btn-primary:hover{color:var(--on-accent);box-shadow:var(--shadow-lg)}a.landing-btn-ghost{background:var(--surface-1);color:var(--text-primary);border-color:var(--border);box-shadow:var(--shadow-sm)}a.landing-btn-ghost:hover{border-color:var(--accent);color:var(--accent)}a.landing-btn-on-gradient{background:var(--surface-1);color:var(--accent-pressed);box-shadow:var(--shadow-md)}a.landing-btn-on-gradient:hover{color:var(--accent-pressed);box-shadow:var(--shadow-lg)}a.landing-btn-outline-on-gradient{color:#fff;background:#ffffff14;border-color:#ffffff80}a.landing-btn-outline-on-gradient:hover{color:#fff;background:#ffffff29;border-color:#fff}.landing-btn-block{width:100%}.landing-icon-badge{border-radius:var(--radius-md);flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.landing-icon-badge-accent{background:var(--accent-wash);color:var(--accent)}.landing-badge{border-radius:var(--radius-pill);letter-spacing:.01em;white-space:nowrap;align-items:center;gap:5px;padding:3px 10px;font-size:.6875rem;font-weight:700;display:inline-flex}.landing-badge-verified{color:var(--chart-1);background:#1f9a8c1f}.landing-badge-estimated{background:var(--flame-wash);color:var(--flame)}.landing-badge-offfacts{color:var(--chart-3);background:#d6538f1f}.landing-badge-usda{color:var(--chart-4);background:#6845e024}.landing-section-head{text-align:center;max-width:640px;margin:0 auto 56px}.landing-section-head .landing-eyebrow{margin-bottom:18px}.landing-section-head h2{letter-spacing:-.01em;font-size:clamp(1.75rem,3vw,2.375rem);font-weight:800;line-height:1.15}.landing-section-head p{color:var(--text-secondary);margin-top:14px;font-size:1.0625rem;line-height:1.6}.landing-nav{z-index:50;background:color-mix(in srgb, var(--page-plane) 82%, transparent);-webkit-backdrop-filter:blur(10px);will-change:backdrop-filter;isolation:isolate;border-bottom:1px solid var(--border);position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.landing-nav{background:color-mix(in srgb, var(--page-plane) 94%, transparent)}}.landing-nav-inner{justify-content:space-between;align-items:center;gap:24px;height:72px;display:flex}.landing-logo{letter-spacing:-.02em;color:var(--text-primary);align-items:center;gap:10px;font-size:1.4375rem;font-weight:800;display:flex}a.landing-logo,a.landing-logo:hover{color:var(--text-primary);text-decoration:none}.landing-nav-links{align-items:center;gap:28px;display:flex}.landing-nav-links a{color:var(--text-secondary);font-size:.9375rem;font-weight:600}.landing-nav-links a:hover{color:var(--text-primary)}.landing-nav-actions{align-items:center;gap:20px;display:flex}a.landing-signin{color:var(--text-primary);font-size:.9375rem;font-weight:700}a.landing-signin:hover{color:var(--accent)}@media (width<=400px){.landing-nav-inner{gap:12px}.landing-logo{font-size:1.1875rem}a.landing-signin{display:none}.landing-nav-actions{gap:0}a.landing-btn-sm{padding:10px 16px;font-size:.8125rem}}.landing-hero{padding:96px 0 88px;position:relative;overflow:clip}.landing-hero-blob{filter:blur(70px);z-index:0;opacity:.55;pointer-events:none;border-radius:50%;position:absolute}.landing-hero-blob-a{background:radial-gradient(circle,#7c5cff4d,#7c5cff00 70%);width:480px;height:480px;top:-180px;left:-160px}.landing-hero-blob-b{background:radial-gradient(circle,#d6538f38,#d6538f00 70%);width:420px;height:420px;top:-60px;right:-180px}.landing-hero-grid{z-index:1;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:center;gap:56px;display:grid;position:relative}.landing-hero-copy h1{letter-spacing:-.025em;margin-top:26px;font-size:clamp(2.5rem,4.4vw,3.6rem);font-weight:800;line-height:1.08}.landing-grad{background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text}p.landing-lede{color:var(--text-secondary);max-width:540px;margin-top:26px;font-size:1.1875rem;line-height:1.6}.landing-hero-cta-row{flex-wrap:wrap;align-items:center;gap:16px;margin-top:34px;display:flex}p.landing-hero-note{color:var(--text-muted);margin-top:18px;font-size:.875rem}.landing-modes{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:10px;max-width:540px;margin-top:30px;display:grid}.landing-mode{border-radius:var(--radius-lg);background:var(--surface-1);border:1px solid var(--border);box-shadow:var(--shadow-sm);align-items:center;gap:10px;padding:10px 12px;display:flex}.landing-mode-icon{border-radius:var(--radius-md);flex:none;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.landing-mode-icon-scan{background:color-mix(in srgb, var(--chart-1) 14%, transparent);color:var(--chart-1)}.landing-mode-icon-voice{background:var(--flame-wash);color:var(--flame)}.landing-mode-icon-type{background:var(--accent-wash);color:var(--accent)}.landing-mode strong{font-size:.8438rem;font-weight:800;line-height:1.2;display:block}.landing-mode strong+span{color:var(--text-secondary);margin-top:2px;font-size:.75rem;line-height:1.3;display:block}.landing-phone-pair{width:31em;height:37em;margin:0 auto;font-size:clamp(9px,3.22581vw - 2.06452px,14px);position:relative}.landing-phone-pair .pm-phone{font-size:inherit;position:absolute}.landing-phone-scan{top:0;left:0;transform:rotate(-4deg)}.landing-phone-voice{z-index:2;top:3.8em;right:0;transform:rotate(3.5deg)}.landing-float{z-index:5;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);align-items:center;gap:10px;padding:10px 14px 10px 10px;display:flex;position:absolute}.landing-float-verified{bottom:64px;left:-12px}.landing-float-voice{top:8px;right:-8px}.landing-float-icon{border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.landing-float-icon-teal{background:color-mix(in srgb, var(--chart-1) 14%, transparent);color:var(--chart-1)}.landing-float-icon-flame{background:var(--flame-wash);color:var(--flame)}.landing-float strong{font-size:.8125rem;font-weight:800;display:block}.landing-float strong+span{color:var(--text-muted);font-size:.6875rem;font-weight:600}.landing-trust{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface-1)}.landing-trust-inner{grid-template-columns:repeat(4,1fr);gap:24px;padding:36px 0;display:grid}.landing-trust-item{text-align:center}.landing-trust-item strong{letter-spacing:-.01em;background:var(--accent-gradient);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.75rem;font-weight:800;display:block}.landing-trust-item span{color:var(--text-secondary);margin-top:4px;font-size:.875rem;font-weight:600;display:block}.landing-spotlight{--sp-bg:#15112b;--sp-line:#ffffff1f;--sp-text:#f4f2ff;--sp-muted:#b9b4d8;--sp-teal:#4fd1c5;--sp-flame:#ff9257;background:var(--sp-bg);color:var(--sp-text);padding:88px 0 96px;position:relative;overflow:clip}.landing-spotlight:before{content:"";pointer-events:none;background:radial-gradient(520px 300px at 12% 0,#4fd1c529,#0000 70%),radial-gradient(520px 300px at 88% 0,#ff7a3329,#0000 70%);position:absolute;inset:0}.landing-spotlight .landing-wrap{position:relative}.landing-spotlight-head{text-align:center;max-width:700px;margin:0 auto}.landing-spotlight-head .landing-eyebrow{color:var(--sp-teal);margin-bottom:18px}.landing-spotlight-head h2{letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.9rem,3.8vw,3rem);font-weight:800;line-height:1.1}.landing-spotlight-head p{color:var(--sp-muted);margin-top:16px;font-size:1.0625rem;line-height:1.6}.landing-spotlight-duo{grid-template-columns:repeat(2,minmax(0,1fr));gap:120px 28px;padding-top:118px;display:grid}.landing-spotlight-card{border:1px solid var(--sp-line);background:linear-gradient(#ffffff13,#ffffff06);border-radius:24px;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;padding:32px 0 32px 32px;display:grid}.landing-spotlight-card .landing-spotlight-phone{align-self:start;margin:-105px 24px 0 0;font-size:12.5px}.landing-spotlight-text{flex-direction:column;align-items:flex-start;gap:14px;padding-top:6px;display:flex}.landing-kicker{border-radius:var(--radius-pill);align-items:center;gap:8px;padding:5px 12px 5px 8px;font-size:.75rem;font-weight:700;display:inline-flex}.landing-kicker-scan{color:var(--sp-teal);background:#4fd1c524}.landing-kicker-voice{color:var(--sp-flame);background:#ff925729}.landing-spotlight-text h3{letter-spacing:-.015em;font-size:1.65rem;font-weight:800;line-height:1.12}.landing-spotlight-sub{color:var(--sp-muted);font-size:.98rem}.landing-spotlight-ticks{flex-direction:column;gap:10px;display:flex}.landing-spotlight-ticks li{gap:10px;font-size:.84rem;line-height:1.45;display:flex}.landing-spotlight-ticks svg{flex:none;margin-top:1px}.landing-spotlight-ticks-scan svg{color:var(--sp-teal)}.landing-spotlight-ticks-voice svg{color:var(--sp-flame)}.landing-spotlight-langs{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:720px;margin:64px auto 0;display:flex}.landing-spotlight-langs h3{letter-spacing:-.015em;font-size:1.65rem;font-weight:800;line-height:1.12}.landing-spotlight-langs p{color:var(--sp-muted);font-size:.98rem;line-height:1.6}.landing-spotlight-lang-list{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:6px;display:flex}.landing-spotlight-lang-list li{border-radius:var(--radius-pill);border:1px solid var(--sp-line);background:#ffffff0f;padding:7px 16px;font-size:.9rem;font-weight:600}.landing-spotlight-lang-list .landing-spotlight-lang-more{color:var(--sp-flame);background:#ff925729;border-color:#0000}.landing-spotlight-foot{text-align:center;flex-direction:column;align-items:center;gap:12px;margin-top:48px;display:flex}.landing-spotlight-foot p{color:var(--sp-muted);font-size:.8125rem}.landing-how{padding:108px 0}.landing-how-steps{grid-template-columns:repeat(3,1fr);gap:28px;display:grid}.landing-how-step{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:30px 26px}.landing-how-step-num{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:14px;font-size:.75rem;font-weight:800;display:block}.landing-how-step .landing-icon-badge{margin:0 0 18px}.landing-how-step h3{letter-spacing:-.01em;font-size:1.1875rem;font-weight:800}.landing-how-step p{color:var(--text-secondary);margin-top:10px;font-size:.9375rem;line-height:1.6}.landing-ai-strip{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);text-align:center;margin-top:48px;padding:28px 30px}.landing-ai-strip-label{color:var(--accent);letter-spacing:.03em;text-transform:uppercase;align-items:center;gap:8px;font-size:.8125rem;font-weight:800;display:inline-flex}.landing-ai-chips{flex-wrap:wrap;justify-content:center;align-items:stretch;gap:14px;margin-top:18px;display:flex}.landing-ai-chip{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:4px;min-width:168px;padding:12px 18px;display:flex}.landing-ai-chip strong{font-size:.9375rem;font-weight:800}.landing-ai-chip span{color:var(--text-secondary);font-size:.8125rem;font-weight:600}.landing-ai-strip>p{color:var(--text-muted);max-width:520px;margin-top:18px;margin-left:auto;margin-right:auto;font-size:.875rem}.landing-engine{background:var(--surface-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:108px 0}.landing-engine-subhead{text-align:center;max-width:620px;margin:0 auto 28px}.landing-engine-subhead h3{letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.landing-engine-subhead p{color:var(--text-secondary);margin-top:10px;font-size:.9375rem;line-height:1.6}.landing-engine-subhead-resolve{margin-top:88px}.landing-pipeline{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:0;margin-bottom:44px;display:grid}.landing-pipeline-stage{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);border-top-style:solid;border-top-width:3px;flex-direction:column;gap:12px;padding:24px 20px;display:flex}.landing-pipeline-rank{letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-size:.6875rem;font-weight:800}.landing-pipeline-stage h4{letter-spacing:-.005em;font-size:1.0625rem;font-weight:800}.landing-pipeline-stage p{color:var(--text-secondary);font-size:.84375rem;line-height:1.55}.landing-pipeline-connector{color:var(--text-muted);justify-content:center;align-items:center;padding:0 6px;display:flex}.landing-engine-lower{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.landing-engine-copy h3{letter-spacing:-.01em;font-size:1.5rem;font-weight:800;line-height:1.25}.landing-engine-copy p{color:var(--text-secondary);margin-top:14px;font-size:1rem;line-height:1.65}.landing-engine-copy ul{flex-direction:column;gap:12px;margin-top:18px;display:flex}.landing-engine-copy li{color:var(--text-primary);align-items:flex-start;gap:10px;font-size:.9375rem;font-weight:600;display:flex}.landing-engine-copy li svg{color:var(--chart-1);flex:none;margin-top:1px}.landing-engine-badges-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:26px}.landing-engine-badge-row{justify-content:space-between;align-items:center;padding:12px 0;display:flex}.landing-engine-badge-row+.landing-engine-badge-row{border-top:1px solid var(--gridline)}.landing-food-label{font-size:.9375rem;font-weight:700}.landing-food-sub{color:var(--text-muted);font-size:.75rem;font-weight:600}.landing-resolve-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.landing-resolve-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px 22px}.landing-resolve-card h4{letter-spacing:-.005em;margin-top:16px;font-size:1rem;font-weight:800}.landing-resolve-card p{color:var(--text-secondary);margin-top:8px;font-size:.84375rem;line-height:1.55}.landing-features{padding:108px 0}.landing-feature-grid{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.landing-feature-card{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:28px 26px;transition:box-shadow .15s,transform .15s}.landing-feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.landing-feature-card h3{letter-spacing:-.005em;margin-top:18px;font-size:1.0625rem;font-weight:800}.landing-feature-card p{color:var(--text-secondary);margin-top:8px;font-size:.9rem;line-height:1.6}.landing-pricing{background:var(--surface-1);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:108px 0}.landing-billing-toggle{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);justify-content:center;gap:4px;width:fit-content;margin:0 auto 40px;padding:4px;display:flex}.landing-billing-toggle button{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 20px;font-size:.875rem;font-weight:700}.landing-billing-toggle button.landing-billing-toggle-active{background:var(--accent-gradient);color:var(--on-accent)}.landing-pricing-grid{grid-template-columns:repeat(auto-fit,minmax(260px,340px));justify-content:center;gap:28px;max-width:1120px;margin:0 auto;display:grid}.landing-pricing-loading{justify-content:center;display:flex}.landing-price-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);flex-direction:column;padding:34px 30px;display:flex;position:relative}.landing-price-card-highlight{background:var(--surface-1);border-color:var(--accent);box-shadow:var(--shadow-lg)}.landing-price-badge{background:var(--accent-gradient);color:var(--on-accent);letter-spacing:.02em;border-radius:var(--radius-pill);box-shadow:var(--shadow-md);white-space:nowrap;align-items:center;gap:6px;padding:6px 16px;font-size:.75rem;font-weight:800;display:inline-flex;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.landing-price-card h3{letter-spacing:-.01em;font-size:1.375rem;font-weight:800}p.landing-price-tagline{color:var(--text-secondary);min-height:44px;margin-top:8px;font-size:.9rem;line-height:1.55}.landing-price-summary{border-bottom:1px solid var(--gridline);margin-top:18px;padding-bottom:24px}.landing-price-amount{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.landing-price-amount strong{letter-spacing:-.02em;font-size:clamp(1.75rem,6vw,2.5rem);font-weight:800}.landing-price-amount span{color:var(--text-muted);font-size:.9375rem;font-weight:600}.landing-price-strike{color:var(--text-muted);font-size:.9375rem;font-weight:600;text-decoration:line-through;display:block}.landing-price-save{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--chart-1) 16%, transparent);color:var(--chart-1);align-items:center;margin-top:8px;padding:3px 9px;font-size:.75rem;font-weight:700;display:inline-flex}ul.landing-price-features{flex-direction:column;flex:1;gap:14px;margin:28px 0 32px;display:flex}.landing-price-features li{color:var(--text-primary);align-items:flex-start;gap:10px;font-size:.9rem;line-height:1.4;display:flex}.landing-price-features li svg{color:var(--chart-1);flex:none;margin-top:2px}p.landing-pricing-footnote{text-align:center;color:var(--text-muted);margin-top:28px;font-size:.8125rem}.landing-faq{padding:108px 0}.landing-faq-list{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;display:flex}.landing-faq-item{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:22px 26px}.landing-faq-item h4{letter-spacing:-.005em;font-size:1rem;font-weight:800}.landing-faq-item p{color:var(--text-secondary);margin-top:8px;font-size:.9375rem;line-height:1.6}.landing-cta{background:var(--accent-gradient);text-align:center;border-radius:24px;margin:0 24px 96px;padding:88px 40px;position:relative;overflow:clip}.landing-cta:before{content:"";background:radial-gradient(circle at 20% 15%,#ffffff29,#0000 45%),radial-gradient(circle at 85% 85%,#ffffff1f,#0000 45%);position:absolute;inset:0}.landing-cta-inner{z-index:1;max-width:620px;margin:0 auto;position:relative}.landing-cta h2{color:#fff;letter-spacing:-.015em;font-size:clamp(1.9rem,3.4vw,2.75rem);font-weight:800;line-height:1.15}.landing-cta p{color:#ffffffd9;margin-top:16px;font-size:1.0625rem;line-height:1.6}.landing-cta-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:32px;display:flex}.landing-footer{border-top:1px solid var(--border);padding:48px 0 40px}.landing-footer-top{border-bottom:1px solid var(--gridline);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:28px;display:flex}.landing-footer-brand{max-width:320px}.landing-footer-brand p{color:var(--text-secondary);margin-top:10px;font-size:.875rem;line-height:1.55}.landing-footer-logo{font-size:1.0625rem}.landing-footer-social{gap:10px;margin-top:16px;display:flex}.landing-footer-social a{border:1px solid var(--border);width:34px;height:34px;color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.landing-footer-social a:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-wash)}.landing-footer-links{flex-wrap:wrap;gap:28px;padding-top:4px;display:flex}.landing-footer-links a{color:var(--text-secondary);font-size:.875rem;font-weight:600}.landing-footer-links a:hover{color:var(--text-primary)}.landing-footer-contact{border-bottom:1px solid var(--gridline);flex-wrap:wrap;align-items:center;gap:16px;padding:20px 0;display:flex}.landing-footer-contact a{color:var(--text-primary);align-items:center;gap:8px;font-size:.875rem;font-weight:700;display:inline-flex}.landing-footer-contact a:hover{color:var(--accent)}.landing-footer-contact span{color:var(--text-muted);font-size:.8125rem}.landing-footer-bottom{color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;margin-top:20px;font-size:.8125rem;display:flex}.landing-footer-disclaimer{border-top:1px solid var(--border);color:var(--text-muted);margin-top:12px;padding-top:12px;font-size:.75rem}@media (width<=940px){.landing-hero-grid{grid-template-columns:minmax(0,1fr)}.landing-hero-visual{max-width:460px;margin:0 auto}.landing-pipeline{grid-template-columns:1fr;gap:14px}.landing-pipeline-connector{padding:2px 0;transform:rotate(90deg)}.landing-resolve-grid{grid-template-columns:1fr 1fr}.landing-trust-inner{grid-template-columns:repeat(2,1fr);row-gap:28px}}@media (width<=860px){.landing-nav-links{display:none}.landing-how-steps,.landing-engine-lower{grid-template-columns:1fr}.landing-feature-grid{grid-template-columns:1fr 1fr}.landing-pricing-grid{grid-template-columns:1fr;max-width:420px}}@media (width<=480px){.landing-trust-inner{grid-template-columns:1fr;row-gap:24px}}@media (width<=1040px){.landing-spotlight-duo{grid-template-columns:minmax(0,1fr);max-width:640px;margin:0 auto}}@media (width<=560px){.landing-spotlight{padding:64px 0 72px}.landing-spotlight-duo{row-gap:130px;padding-top:96px}.landing-spotlight-card{grid-template-columns:minmax(0,1fr);row-gap:22px;padding:0 22px 28px}.landing-spotlight-card .landing-spotlight-phone{grid-row:1;margin:-90px auto 0}.landing-spotlight-text{grid-row:2}.landing-feature-grid,.landing-resolve-grid{grid-template-columns:1fr}.landing-footer-contact{flex-direction:column;align-items:flex-start;gap:6px}}.legal-page a.landing-signin{white-space:nowrap;display:inline}.legal-wrap{padding:48px 24px 96px}.legal-article{max-width:720px;color:var(--text-secondary);margin:0 auto;line-height:1.7}.legal-article h1{color:var(--text-primary);margin-bottom:4px;font-size:32px}.legal-effective{color:var(--text-tertiary,var(--text-secondary));margin-bottom:32px;font-size:13px}.legal-article h2{color:var(--text-primary);margin-top:36px;margin-bottom:10px;font-size:19px}.legal-article p{margin:0 0 14px}.legal-article ul{margin:0 0 14px;padding-left:20px}.legal-article li{margin-bottom:8px}.legal-article strong{color:var(--text-primary)}.legal-article a{color:var(--accent);font-weight:600}.option-grid{grid-template-columns:1fr;gap:10px;width:100%;display:grid}@media (width>=560px){.option-grid-compact{grid-template-columns:1fr 1fr}}.option-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-1);width:100%;color:var(--text-primary);text-align:left;cursor:pointer;align-items:center;gap:12px;padding:14px 16px;transition:border-color .15s,background .15s;display:flex}.option-card:hover{border-color:var(--accent)}.option-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.option-card-selected{border-color:var(--accent);background:var(--accent-wash)}.option-card-icon{color:var(--accent);flex-shrink:0}.option-card-text{flex-direction:column;flex:1;gap:2px;display:flex}.option-card-label{font-size:15px;font-weight:600}.option-card-description{color:var(--text-secondary);font-size:13px}.option-card-indicator{border-radius:var(--radius-pill);border:1.5px solid var(--border);width:22px;height:22px;color:var(--on-accent);flex-shrink:0;justify-content:center;align-items:center;transition:border-color .15s,background .15s;display:flex}.option-card-indicator-square{border-radius:var(--radius-sm)}.option-card-selected .option-card-indicator{border-color:var(--accent);background:var(--accent)}.comparison-chart{justify-content:center;align-items:flex-end;gap:32px;width:100%;height:180px;margin:12px 0;display:flex}.comparison-bar-group{flex-direction:column;justify-content:flex-end;align-items:center;width:96px;height:100%;display:flex}.comparison-bar{box-sizing:border-box;border-radius:var(--radius-md) var(--radius-md) 0 0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:100%;padding:6px;display:flex}.comparison-bar-own{background:var(--baseline)}.comparison-bar-app{background:var(--accent-gradient);box-shadow:var(--shadow-md)}.comparison-bar-text{text-align:center;font-size:13px;font-weight:600}.comparison-bar-own .comparison-bar-text{color:var(--text-secondary)}.comparison-bar-app .comparison-bar-text{color:var(--on-accent)}.comparison-bar-highlight{color:var(--on-accent);font-size:22px;font-weight:800;line-height:1}.unit-toggle-input{align-items:center;gap:10px;width:100%;display:flex}.unit-toggle-input input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--page-plane);color:var(--text-primary);flex:1;padding:12px 14px;font-size:18px;font-weight:600;transition:border-color .15s,box-shadow .15s}.unit-toggle-input input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 3px var(--accent-wash)}.unit-toggle-feet-inches{flex:1;gap:8px;display:flex}.unit-toggle-feet-inches-field{flex:1;position:relative}.unit-toggle-feet-inches-field input{box-sizing:border-box;width:100%;padding-right:34px}.unit-toggle-feet-inches-field span{color:var(--text-secondary);pointer-events:none;font-size:13px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.unit-toggle-pill{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--page-plane);flex-shrink:0;padding:3px;display:flex}.unit-toggle-option{border-radius:var(--radius-pill);color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.unit-toggle-option-active{background:var(--surface-1);color:var(--accent);box-shadow:var(--shadow-sm)}.calorie-result-tile{border-radius:var(--radius-lg);background:var(--accent-wash);flex-direction:column;align-items:center;gap:4px;width:100%;margin:8px 0;padding:24px;display:flex}.calorie-result-value{color:var(--accent);font-size:40px;font-weight:700;line-height:1}.calorie-result-unit{color:var(--text-secondary);font-size:13px;font-weight:600}.calorie-result-caption{color:var(--text-secondary);margin-top:6px;font-size:13px}.calorie-result-detail{color:var(--text-muted);text-align:center;font-size:13px}.timeline-note{border-radius:var(--radius-md);background:var(--surface-2);color:var(--text-secondary);text-align:center;padding:12px 16px;font-size:13px}.onboarding-screen{background:var(--page-plane);z-index:100;flex-direction:column;display:flex;position:fixed;inset:0}.onboarding-header{flex-shrink:0;align-items:center;gap:12px;padding:16px;display:flex}.onboarding-back,.onboarding-back-spacer{flex-shrink:0;width:44px;height:44px}.onboarding-back{border:1px solid var(--border);border-radius:var(--radius-pill);background:var(--surface-1);color:var(--text-primary);cursor:pointer;justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.onboarding-back:hover{border-color:var(--accent);color:var(--accent)}.onboarding-progress-track{border-radius:var(--radius-pill);background:var(--gridline);flex:1;height:6px;overflow:hidden}.onboarding-progress-fill{border-radius:var(--radius-pill);background:var(--accent-gradient);height:100%;transition:width .25s}.onboarding-content{flex:1;justify-content:center;padding:8px 20px 32px;display:flex;overflow-y:auto}.onboarding-card{flex-direction:column;align-items:center;gap:14px;width:100%;max-width:480px;margin:auto 0;padding:8px 0 24px;animation:.2s onboarding-step-in;display:flex}@keyframes onboarding-step-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.onboarding-step-title{text-align:center;color:var(--text-primary);margin:0;font-size:24px;font-weight:700}.onboarding-step-subtitle{text-align:center;color:var(--text-secondary);margin:0;font-size:14px;line-height:1.5}.onboarding-info-icon{border-radius:var(--radius-pill);background:var(--accent-wash);width:64px;height:64px;color:var(--accent);justify-content:center;align-items:center;display:flex}.onboarding-info-body,.onboarding-field{width:100%}.onboarding-footer{flex-direction:column;align-items:center;gap:10px;width:100%;margin-top:4px;display:flex}.onboarding-cta{justify-content:center;width:100%;padding:13px 16px;font-size:15px}.onboarding-cta:hover:not(:disabled){transform:none}@media (width>=560px){.onboarding-content{padding-top:24px}}.app-loading{flex-direction:column;align-items:center;gap:18px;padding:32px;display:flex}.app-loading-brand{align-items:center;gap:8px;animation:1.6s ease-in-out infinite pulse;display:flex}.app-loading-logo{letter-spacing:-.01em;color:var(--accent);background:var(--accent-gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:22px;font-weight:700}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:reduce){.app-loading-brand{animation:none}}.notification-bell{position:relative}.notification-bell-trigger-unread{color:var(--accent);border-color:var(--accent);background:var(--accent-wash)}.notification-badge{border-radius:var(--radius-pill);background:var(--danger);min-width:16px;height:16px;color:var(--on-danger);justify-content:center;align-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;display:flex;position:absolute;top:-4px;right:-4px}.notification-panel{background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);width:320px;max-width:calc(100vw - 24px);box-shadow:var(--shadow-md);z-index:25;flex-direction:column;max-height:420px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.notification-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;display:flex}.notification-panel-header h3{margin:0;font-size:14px}.notification-panel-empty{padding:16px 14px}.link-button{color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.link-button:hover{text-decoration:underline}.notification-list{flex-direction:column;gap:8px;margin:0;padding:6px;list-style:none;display:flex;overflow-y:auto}.notification-row{border:1px solid var(--border);border-radius:var(--radius-md);flex-shrink:0;align-items:flex-start;gap:4px;display:flex}.notification-row-unread{background:var(--accent-wash)}.notification-row-button{text-align:left;cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;flex-direction:column;flex:1;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;display:flex}.notification-row-title{color:var(--text-primary);font-size:13px;font-weight:600}.notification-row-body{overflow-wrap:anywhere}.notification-row-delete{flex-shrink:0;margin:8px 6px 0 0}.notifications-page-panel{padding:8px}.notifications-page-toolbar{justify-content:flex-end;padding:6px 10px 4px;display:flex}.notification-list-page{overflow:visible}.app-shell{min-height:100vh;display:flex}.app-main{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--border);background:var(--surface-1);z-index:20;align-items:center;gap:12px;padding:16px 20px;display:flex;position:sticky;top:0}.topbar h1{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0 auto 0 0;font-size:18px;overflow:hidden}.hamburger{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-direction:column;justify-content:center;gap:4px;width:32px;height:32px;padding:0;display:flex}.hamburger:hover{background:var(--page-plane)}.hamburger span{background:var(--text-primary);border-radius:2px;height:2px;display:block}.hamburger:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.content{max-width:var(--page-width-wide);padding:20px}@media (width<=767.98px){.content-with-bottom-nav{padding-bottom:calc(108px + env(safe-area-inset-bottom))}.topbar-desktop-only{display:none}.app-main{overflow-x:clip}.page-slide-in{animation:.28s cubic-bezier(.22,1,.36,1) page-slide-in}.page-slide-back{animation:.28s cubic-bezier(.22,1,.36,1) page-slide-back}}@keyframes page-slide-in{0%{transform:translate(100%)}to{transform:none}}@keyframes page-slide-back{0%{transform:translate(-100%)}to{transform:none}}@media (prefers-reduced-motion:reduce){.page-slide-in,.page-slide-back{animation:none}}.mobile-header{padding:24px 64px 18px 20px;position:relative}.mobile-header-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:8px;font-size:11px;font-weight:700;display:block}.mobile-header-greeting,.mobile-header-title{letter-spacing:-.02em;color:var(--text-primary);margin:0;font-size:25px;font-weight:800;line-height:1.2}.mobile-header-back-row{align-items:center;gap:12px;margin-top:-8px;display:flex}.mobile-header-back{flex-shrink:0;width:44px;height:44px}.mobile-header-date{color:var(--text-muted);margin-top:4px;font-size:13px;display:block}.mobile-header-bell{position:absolute;top:20px;right:20px}@media (width>=768px){.mobile-header{display:none}}.impersonation-banner{background:var(--accent-wash);color:var(--text-primary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:13px;display:flex}.verify-email-banner{background:var(--accent-wash);color:var(--text-primary);border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;font-size:13px;display:flex}.verify-email-banner-actions{align-items:center;gap:8px;display:flex}.verify-email-banner-dismiss{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:18px;line-height:1}@media (width>=768px){.hamburger{display:none}.content{padding:32px}}.install-sheet{left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:10px;padding:14px 14px 16px;transition:transform .32s cubic-bezier(.22,1,.36,1);display:flex;position:fixed;transform:translateY(140%)}.install-sheet-in{transform:translateY(0)}.install-sheet-grabber{background:var(--border);border-radius:2px;align-self:center;width:32px;height:4px}.install-sheet-row{align-items:center;gap:10px;display:flex}.install-sheet-glyph{border-radius:var(--radius-md);width:40px;height:40px;box-shadow:var(--shadow-sm);flex:none;overflow:hidden}.install-sheet-glyph img{object-fit:cover;width:100%;height:100%;display:block}.install-sheet-copy{flex:1;min-width:0}.install-sheet-title{color:var(--text-primary);font-size:.875rem;font-weight:700}.install-sheet-body{color:var(--text-secondary);align-items:center;gap:5px;margin-top:2px;font-size:.8125rem;display:flex}.install-inline-icon{color:var(--accent);flex:none}.install-sheet-actions{gap:8px;display:flex}.install-sheet-secondary{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;background:0 0;flex:1;padding:9px;font-size:.8125rem;font-weight:600}.install-sheet-secondary:hover{color:var(--text-primary);border-color:var(--text-muted)}.install-sheet-cta{background:var(--accent-gradient);color:var(--on-accent);border-radius:var(--radius-md);cursor:pointer;box-shadow:var(--shadow-sm);border:none;padding:11px;font-size:.875rem;font-weight:700}.install-sheet-cta:hover{box-shadow:var(--shadow-md)}.install-strip{background:var(--accent-wash);border-bottom:1px solid var(--border);color:var(--text-primary);opacity:0;align-items:center;gap:12px;max-height:0;padding:0 24px;font-size:.875rem;transition:max-height .32s,opacity .32s,padding .32s;display:flex;overflow:hidden}.install-strip-in{opacity:1;max-height:60px;padding:10px 24px}.install-strip-icon{color:var(--accent);flex:none}.install-strip-text{flex:1;min-width:0}.install-strip-cta{background:var(--accent-gradient);color:var(--on-accent);border-radius:var(--radius-pill);cursor:pointer;border:none;flex:none;padding:7px 16px;font-size:.8125rem;font-weight:700}.install-strip-actions{flex:none;align-items:center;gap:14px;display:flex}.install-strip-secondary{color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:4px 2px;font-size:.8125rem;font-weight:600}.install-strip-secondary:hover{color:var(--text-primary);text-decoration:underline}@media (prefers-reduced-motion:reduce){.install-sheet,.install-strip{transition:none}}@media (width<=480px){.install-strip-text{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}}
