.resize-observer[data-v-b329ee4c]{z-index:-1;pointer-events:none;opacity:0;background-color:#0000;border:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.resize-observer[data-v-b329ee4c] object{pointer-events:none;z-index:-1;width:100%;height:100%;display:block;position:absolute;top:0;left:0;overflow:hidden}.v-popper__popper{z-index:10000;outline:none;top:0;left:0}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;pointer-events:none;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__backdrop{width:100%;height:100%;display:none;position:absolute;top:0;left:0}.v-popper__inner{box-sizing:border-box;position:relative;overflow-y:auto}.v-popper__inner>div{z-index:1;max-width:inherit;max-height:inherit;position:relative}.v-popper__arrow-container{width:10px;height:10px;position:absolute}.v-popper__popper--arrow-overflow .v-popper__arrow-container,.v-popper__popper--no-positioning .v-popper__arrow-container{display:none}.v-popper__arrow-inner,.v-popper__arrow-outer{border-style:solid;width:0;height:0;position:absolute;top:0;left:0}.v-popper__arrow-inner{visibility:hidden;border-width:7px}.v-popper__arrow-outer{border-width:6px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{left:-2px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{left:-1px}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-outer{border-bottom-width:0;border-bottom-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{border-top-width:0;border-top-color:#0000!important;border-left-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-inner{top:-4px}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-outer{top:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{top:-2px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{top:-1px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{border-left-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-left-color:#0000!important}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-inner{left:-4px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow-outer{left:-6px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-10px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner,.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-outer{border-right-width:0;border-top-color:#0000!important;border-bottom-color:#0000!important;border-right-color:#0000!important}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-inner{left:-2px}.v-popper--theme-tooltip .v-popper__inner{color:#fff;background:#000c;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-dropdown .v-popper__inner{color:#000;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow-inner{visibility:visible;border-color:#fff}.v-popper--theme-dropdown .v-popper__arrow-outer{border-color:#ddd}.ug-overlay[data-v-b763a1c5]{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.ug-card[data-v-b763a1c5]{background:var(--surface);color:var(--text);border:1px solid var(--border-soft);width:100%;max-width:440px;padding:28px 28px 22px}.ug-title[data-v-b763a1c5]{font-family:var(--font-display,inherit);letter-spacing:-.01em;margin:0 0 8px;font-size:22px}.ug-sub[data-v-b763a1c5]{color:var(--text-secondary);margin:0 0 18px;font-size:14px;line-height:1.5}.ug-feats[data-v-b763a1c5]{color:var(--text-secondary);margin:0 0 22px;padding:0;font-size:13px;list-style:none}.ug-feats li[data-v-b763a1c5]{padding:4px 0 4px 18px;position:relative}.ug-feats li[data-v-b763a1c5]:before{content:"";background:var(--primary);border-radius:50%;width:6px;height:6px;position:absolute;top:12px;left:0}.ug-actions[data-v-b763a1c5]{justify-content:flex-end;gap:10px;display:flex}.ug-btn-secondary[data-v-b763a1c5],.ug-btn-primary[data-v-b763a1c5]{letter-spacing:.06em;border:1px solid var(--border-soft);color:var(--text);cursor:pointer;background:0 0;padding:10px 18px;font-family:inherit;font-size:13px}.ug-btn-primary[data-v-b763a1c5]{background:var(--primary);color:var(--bg);border-color:var(--primary)}.ug-btn-secondary[data-v-b763a1c5]:hover{border-color:var(--border-strong)}.ug-btn-primary[data-v-b763a1c5]:hover{filter:brightness(1.05)}.force-update-overlay[data-v-fd73ef2a]{padding:var(--space-4);z-index:9999;background:#000000d9;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.force-update-card[data-v-fd73ef2a]{background:var(--surface);border:1px solid var(--border-soft);border-radius:var(--radius-large,16px);padding:var(--space-6);text-align:center;width:100%;max-width:400px}.force-update-title[data-v-fd73ef2a]{margin:0 0 var(--space-3);font-size:var(--font-size-l);color:var(--text)}.force-update-body[data-v-fd73ef2a]{margin:0 0 var(--space-5);font-size:var(--font-size-s);color:var(--text-secondary);line-height:1.5}.force-update-cta[data-v-fd73ef2a]{background:var(--primary);color:#fff;border-radius:var(--radius-medium);padding:var(--space-3) var(--space-5);font-size:var(--font-size-m);font-weight:var(--font-weight-medium);cursor:pointer;border:none;width:100%}.force-update-cta[data-v-fd73ef2a]:hover{opacity:.9}.toast-stack[data-v-f83319a5]{bottom:calc(env(safe-area-inset-bottom,0) + 80px);z-index:100;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast[data-v-f83319a5]{pointer-events:auto;border-radius:var(--radius-pill);background:var(--text);color:var(--surface);align-items:center;gap:12px;max-width:90vw;padding:12px 16px;font-size:13px;line-height:1.3;display:inline-flex;box-shadow:0 8px 20px #1c1a171f}.tone-good[data-v-f83319a5]{background:var(--text)}.tone-warn[data-v-f83319a5]{background:var(--warning);color:#fff}.tone-bad[data-v-f83319a5]{background:var(--danger);color:#fff}.msg[data-v-f83319a5]{flex:1}.action[data-v-f83319a5]{color:var(--primary);cursor:pointer;font-weight:500;font:inherit;text-transform:uppercase;letter-spacing:.04em;background:0 0;border:0;font-size:11px}.toast-enter-active[data-v-f83319a5],.toast-leave-active[data-v-f83319a5]{transition:opacity .2s,transform .2s}.toast-enter-from[data-v-f83319a5],.toast-leave-to[data-v-f83319a5]{opacity:0;transform:translateY(20px)}.backdrop[data-v-05874e22]{z-index:100;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);align-items:flex-end;display:flex;position:fixed;inset:0}.backdrop.warm[data-v-05874e22]{background:#1c1a1773}.backdrop.deep[data-v-05874e22]{background:#1c1a17d9}.backdrop.center[data-v-05874e22]{justify-content:center;align-items:center;padding:20px}.sheet[data-v-05874e22]{background:var(--bg);border-radius:22px 22px 0 0;width:100%;max-height:86%;padding:14px 0 22px;overflow-y:auto}.sheet.center[data-v-05874e22]{border-radius:20px;width:100%;max-width:360px;padding:18px}.grip[data-v-05874e22]{background:var(--border-strong);border-radius:999px;width:36px;height:4px;margin:0 auto 14px}.head[data-v-05874e22]{border-bottom:1px solid var(--border-soft);justify-content:space-between;align-items:baseline;margin-bottom:12px;padding:0 20px 12px;display:flex}.title[data-v-05874e22]{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:380}.close[data-v-05874e22]{font-family:var(--font-mono);letter-spacing:.08em;color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:2px 4px;font-size:12px}.body[data-v-05874e22]{padding:0 20px}.sheet-enter-active[data-v-05874e22],.sheet-leave-active[data-v-05874e22]{transition:opacity .2s}.sheet-enter-from[data-v-05874e22],.sheet-leave-to[data-v-05874e22]{opacity:0}.sheet-enter-active .sheet[data-v-05874e22]:not(.center),.sheet-leave-active .sheet[data-v-05874e22]:not(.center){transition:transform .25s}.sheet-enter-from .sheet[data-v-05874e22]:not(.center),.sheet-leave-to .sheet[data-v-05874e22]:not(.center){transform:translateY(100%)}.btn[data-v-8581ee2a]{font-family:var(--font-body);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;font-weight:500;line-height:1;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.btn.block[data-v-8581ee2a]{width:100%}.btn.disabled[data-v-8581ee2a]{cursor:not-allowed;opacity:.55}.size-sm[data-v-8581ee2a]{height:32px;padding:0 12px;font-size:12px}.size-md[data-v-8581ee2a]{height:38px;padding:0 14px;font-size:13px}.size-lg[data-v-8581ee2a]{height:44px;padding:0 18px;font-size:14px}.tone-primary[data-v-8581ee2a]{background:var(--primary);color:var(--text-on-primary)}.tone-primary[data-v-8581ee2a]:hover:not(.disabled){background:var(--primary-hover)}.tone-neutral[data-v-8581ee2a]{background:var(--surface);color:var(--text-secondary);border-color:var(--border-strong)}.tone-neutral[data-v-8581ee2a]:hover:not(.disabled){color:var(--text);border-color:var(--text-secondary)}.tone-danger[data-v-8581ee2a]{background:var(--danger);color:#fff}.tone-danger[data-v-8581ee2a]:hover:not(.disabled){filter:brightness(.93)}.tone-ghost[data-v-8581ee2a]{color:var(--text-secondary);background:0 0}.tone-ghost[data-v-8581ee2a]:hover:not(.disabled){color:var(--text);background:var(--surface-alt)}.btn.outlined[data-v-8581ee2a]{background:0 0}.btn.outlined.tone-primary[data-v-8581ee2a]{color:var(--primary);border-color:var(--primary)}.btn.outlined.tone-primary[data-v-8581ee2a]:hover:not(.disabled){background:var(--primary-softer)}.btn.outlined.tone-danger[data-v-8581ee2a]{color:var(--danger);border-color:var(--danger)}.btn.outlined.tone-neutral[data-v-8581ee2a]{color:var(--text-secondary);border-color:var(--border-strong)}.dot-loader[data-v-8581ee2a]{gap:3px;display:inline-flex}.dot-loader span[data-v-8581ee2a]{background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both bounce-8581ee2a}.dot-loader span[data-v-8581ee2a]:first-child{animation-delay:-.32s}.dot-loader span[data-v-8581ee2a]:nth-child(2){animation-delay:-.16s}@keyframes bounce-8581ee2a{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.body[data-v-ae31b8ce]{color:var(--text-secondary);margin-bottom:14px;font-size:13px;line-height:1.5}.actions[data-v-ae31b8ce]{gap:8px;display:flex}.sync-fail[data-v-ac8c7176]{top:calc(env(safe-area-inset-top,0px) + 10px);z-index:999;background:color-mix(in srgb, var(--danger) 10%, var(--surface));border:1px solid var(--danger);border-radius:var(--radius-pill);letter-spacing:.08em;color:var(--danger);pointer-events:none;align-items:center;gap:6px;padding:4px 10px;font-size:10px;display:inline-flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 1px 3px #0000000f}.dot[data-v-ac8c7176]{background:var(--danger);border-radius:50%;width:6px;height:6px}.rfade-enter-active[data-v-ac8c7176],.rfade-leave-active[data-v-ac8c7176]{transition:opacity .2s,transform .2s}.rfade-enter-from[data-v-ac8c7176],.rfade-leave-to[data-v-ac8c7176]{opacity:0;transform:translate(-50%,-4px)}.chat-panel[data-v-206fd40b]{z-index:90;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;inset:0}.chat-fab[data-v-206fd40b]{bottom:calc(56px + env(safe-area-inset-bottom,0) + var(--space-3));right:var(--space-3);height:40px;padding:0 var(--space-4) 0 var(--space-3);gap:var(--space-1);background:var(--primary);color:var(--text-on-primary);font-family:var(--font-body);font-size:var(--font-size-xs);cursor:pointer;z-index:70;transition:background var(--transition-base), opacity .12s ease;border:none;border-radius:999px;justify-content:center;align-items:center;font-weight:500;display:flex;position:fixed;box-shadow:0 8px 24px #c4633c52,0 2px 4px #281e1433}.chat-fab[data-v-206fd40b]:hover{background:var(--primary-hover)}.chat-fab[data-v-206fd40b]:active{opacity:.65}.chat-fab-icon[data-v-206fd40b]{flex:none;width:20px;height:20px}.chat-fab-label[data-v-206fd40b]{white-space:nowrap}@media (width>=769px){.chat-panel[data-v-206fd40b]{border-left:1px solid var(--border-soft);width:clamp(360px,40%,460px);padding-bottom:0;inset:0 0 0 auto}.chat-fab[data-v-206fd40b]{bottom:calc(64px + env(safe-area-inset-bottom,0) + var(--space-4));right:var(--space-6);gap:var(--space-2);height:52px;padding:0 18px 0 14px;font-size:13px}.chat-fab-icon[data-v-206fd40b]{width:26px;height:26px}}.app-shell[data-v-9a662841]{transition:padding-right .2s}@media (width>=769px){.app-shell.chat-open[data-v-9a662841]{padding-right:clamp(360px,40%,460px)}}:root{--palette-white:#fff;--palette-black:#000;--palette-gray-50:#fafafa;--palette-gray-100:#f5f5f5;--palette-gray-200:#e5e5e5;--palette-gray-300:#d4d4d4;--palette-gray-400:#a3a3a3;--palette-gray-500:#737373;--palette-gray-600:#525252;--palette-gray-700:#404040;--palette-gray-800:#262626;--palette-gray-900:#171717;--palette-gray-950:#0a0a0a;--palette-indigo-300:#a5b4fc;--palette-indigo-400:#818cf8;--palette-indigo-500:#6366f1;--palette-indigo-600:#4f46e5;--palette-indigo-700:#4338ca;--palette-blue-300:#93c5fd;--palette-blue-400:#60a5fa;--palette-blue-500:#4ea3ff;--palette-blue-600:#2563eb;--palette-blue-700:#1d4ed8;--palette-green-300:#86fbad;--palette-green-400:#5bf591;--palette-green-500:#3fb26a;--palette-green-600:#2d8a51;--palette-green-700:#1f6b3e;--palette-amber-300:#f3d08a;--palette-amber-400:#eac574;--palette-amber-500:#e6b855;--palette-amber-600:#c49840;--palette-orange-500:#f97316;--palette-red-300:#ffb3b3;--palette-red-400:#ff8a8a;--palette-red-500:#ff5a5a;--palette-red-600:#e04545;--palette-red-700:#b91c1c;--palette-aqua-300:#a7fbf8;--palette-aqua-400:#62f9f4;--palette-aqua-500:#2dd4cf;--palette-aqua-600:#1ba8a3;--palette-slate-950:#05080a;--palette-slate-900:#0a0f12;--palette-slate-850:#0d1318;--palette-slate-800:#111a20;--palette-slate-700:#1a2630;--palette-slate-600:#24333e;--palette-slate-500:#2e3a43;--palette-slate-400:#355046;--palette-slate-300:#4f7266;--palette-slate-200:#9ab9a8;--palette-slate-100:#d8f5de;--palette-sky-500:#0ea5e9;--palette-violet-500:#8b5cf6;--palette-pink-500:#ec4899;--palette-teal-500:#14b8a6;--palette-lime-500:#84cc16;--palette-rose-500:#e11d48;--palette-cyan-500:#06b6d4;--palette-sev-0:#22c55e;--palette-sev-1:#fde047;--palette-sev-2:#fcd34d;--palette-sev-3:#fbbf24;--palette-sev-4:#f59e0b;--palette-sev-5:#fb923c;--palette-sev-6:#f97316;--palette-sev-7:#ea580c;--palette-sev-8:#f87171;--palette-sev-9:#ef4444;--palette-sev-10:#dc2626;--palette-parchment-0:#fbf8f3;--palette-parchment-100:#f5efe4;--palette-panel-warm:#f8f3e8;--palette-ink-900:#1c1a17;--palette-ink-700:#5a5249;--palette-ink-500:#928876;--palette-line-soft:#281e141a;--palette-line-strong:#281e1438;--palette-umber-500:#c4633c;--palette-umber-700:#a14e2c;--palette-umber-soft:#ecd5c4;--palette-umber-softer:#c4633c14;--palette-warn-500:#c97b3a;--palette-good-500:#6b8a4f;--palette-neg-500:#a14e2c;--palette-bad-500:#c4453c;--palette-macro-protein-dark:#3d9e5e;--palette-macro-fat-dark:#a5832b;--palette-macro-carbs-dark:#3aa6a3;--palette-class-cardio:#c4633c;--palette-class-resistance:#a14e2c;--palette-class-hiit:#a8431f;--palette-class-recovery:#6b8a4f;--palette-parchment-200:#efe7d8;--font-display:"Fraunces", "Tiempos", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, Helvetica, Arial, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-weight-light:400;--font-weight-medium:500;--font-weight-bold:700;--font-size-xs:.72rem;--font-size-s:.85rem;--font-size-m:.95rem;--font-size-l:1.15rem;--font-size-xl:1.5rem;--tracking-tight:-.01em;--tracking-normal:0;--tracking-wide:.03em;--tracking-wider:.08em;--tracking-widest:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--transition-fast:.1s;--transition-base:.15s;--transition-slow:.25s;--control-height-sm:28px;--control-height-md:36px;--control-height-lg:44px;--control-pad-x-sm:.5rem;--control-pad-x-md:.75rem;--radius-small:8px;--radius-medium:14px;--radius-large:18px;--radius-pill:999px;--color-cal:var(--text);--color-cal-strong:var(--text);--color-protein:var(--palette-green-400);--color-fat:var(--palette-amber-500);--color-carbs:var(--palette-aqua-400);--color-carbs-strong:var(--palette-aqua-500);--color-protein-dark:var(--palette-macro-protein-dark);--color-fat-dark:var(--palette-macro-fat-dark);--color-carbs-dark:var(--palette-macro-carbs-dark);--color-class-cardio:var(--palette-class-cardio);--color-class-resistance:var(--palette-class-resistance);--color-class-hiit:var(--palette-class-hiit);--color-class-recovery:var(--palette-class-recovery);--color-waist:var(--palette-blue-400);--color-score:var(--palette-green-400);--color-dose:var(--palette-amber-500);--color-weight:var(--palette-green-400);--color-symptom-1:var(--palette-green-400);--color-symptom-2:var(--palette-amber-500);--color-symptom-3:var(--palette-blue-500);--color-symptom-4:var(--palette-red-500);--color-symptom-5:var(--palette-violet-500);--color-symptom-6:var(--palette-lime-500);--color-symptom-7:var(--palette-pink-500);--color-symptom-8:var(--palette-teal-500);--bg:var(--palette-parchment-0);--surface:var(--palette-white);--surface-alt:var(--palette-parchment-100);--surface-warm:var(--palette-panel-warm);--surface-deep:var(--palette-parchment-200);--surface-raised:var(--palette-white);--border:transparent;--border-strong:var(--palette-line-strong);--border-soft:var(--palette-line-soft);--text:var(--palette-ink-900);--text-primary:var(--palette-ink-900);--text-secondary:var(--palette-ink-700);--text-tertiary:var(--palette-ink-500);--text-on-primary:var(--palette-white);--text-disabled:var(--palette-ink-500);--text-max-contrast:#000;--primary:var(--palette-umber-500);--primary-hover:var(--palette-umber-700);--primary-dim:var(--palette-umber-700);--primary-deep:var(--palette-umber-700);--primary-soft:var(--palette-umber-soft);--primary-softer:var(--palette-umber-softer);--primary-soft-strong:#c4633c33;--primary-ring:#c4633c4d;--primary-focus:#c4633c2e;--success:var(--palette-good-500);--success-soft:#6b8a4f24;--danger:var(--palette-bad-500);--danger-soft:#c4453c1a;--warning:var(--palette-warn-500);--overlay:#281e1473;--shadow-s:0 1px 4px #281e1414;--shadow-m:0 8px 24px #281e141a;--shadow-l:0 24px 60px #281e141f;--chart-grid:var(--palette-line-soft);--chart-axis:var(--palette-ink-500);--tint-carbs-soft:#62f9f41a;--tint-carbs-softer:#62f9f40d;--tint-carbs-softest:#62f9f406;--tint-carbs-border:#62f9f44d;--track-target-line:#fffc;--track-target-halo:#281e1440}html[data-theme=dark]{--bg:var(--palette-slate-950);--surface:var(--palette-slate-850);--surface-alt:var(--palette-slate-800);--surface-warm:var(--palette-slate-800);--surface-raised:var(--palette-slate-700);--border:transparent;--border-strong:var(--palette-slate-600);--border-soft:#0f1920;--text:var(--palette-slate-100);--text-primary:var(--palette-slate-100);--text-secondary:var(--palette-slate-200);--text-tertiary:var(--palette-slate-300);--text-on-primary:var(--palette-slate-950);--text-disabled:var(--palette-slate-400);--text-max-contrast:#fff;--primary:var(--palette-green-400);--primary-hover:var(--palette-green-300);--primary-dim:var(--palette-green-500);--primary-deep:var(--palette-green-500);--primary-soft:#5bf5911a;--primary-softer:#5bf5910d;--primary-soft-strong:#5bf5912e;--primary-ring:#5bf59159;--primary-focus:#5bf59138;--success:var(--palette-green-400);--danger:var(--palette-red-500);--danger-soft:#ff5a5a1a;--warning:var(--palette-amber-500);--overlay:#000000a6;--shadow-s:0 1px 4px #00000080;--shadow-m:0 8px 24px #00000080;--shadow-l:0 40px 80px #00000080, 0 0 60px #5bf5910f;--chart-grid:var(--palette-slate-700);--chart-axis:var(--palette-slate-300);--tint-carbs-soft:#62f9f429;--tint-carbs-softer:#62f9f417;--tint-carbs-softest:#62f9f40a;--tint-carbs-border:#62f9f459;--track-target-line:#d8f5de99;--track-target-halo:#0009;--color-cal:var(--text);--color-protein:var(--palette-green-400);--color-fat:var(--palette-amber-500);--color-carbs:var(--palette-aqua-400);--color-waist:var(--palette-blue-500);--color-score:var(--palette-green-400);--color-weight:var(--palette-green-400)}.pk-serif{font-family:var(--font-display);letter-spacing:-.018em;font-feature-settings:"ss01";color:var(--text);font-weight:380}.pk-it{font-family:var(--font-display);color:var(--primary-deep);font-style:italic;font-weight:400}.pk-mono{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);font-size:10px;font-weight:400;line-height:1.2}.pk-mono-inline{font-family:var(--font-mono);font-size:inherit;letter-spacing:.02em}.pk-section-label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:4px;font-size:10px}.pk-card{background:var(--surface);border:1px solid var(--border-soft);border-radius:18px;padding:20px}.pk-card-tile{background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;padding:16px 16px 18px}.pk-card-warm{background:var(--surface-warm);border:1px solid var(--primary-soft);border-radius:18px;padding:18px}.pk-pill{font-family:var(--font-mono);letter-spacing:.04em;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;line-height:1;display:inline-flex}.pk-pill-good{color:var(--success);background:#6b8a4f24}.pk-pill-accent{background:var(--primary-softer);color:var(--primary)}.pk-pill-warn{color:var(--warning);background:#c97b3a1f}.pk-btn-primary{background:var(--primary);color:#fff;height:36px;font-family:var(--font-body);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:500;transition:background .15s,opacity .12s;display:inline-flex}.pk-btn-primary:hover{background:var(--primary-hover)}.pk-btn-primary:active{opacity:.65}.pk-btn-ghost{border:1px solid var(--border-strong);height:36px;color:var(--text-secondary);font-family:var(--font-body);cursor:pointer;background:0 0;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:400;transition:color .15s,border-color .15s,opacity .12s;display:inline-flex}.pk-btn-ghost:hover{color:var(--text);border-color:var(--text-secondary)}.pk-btn-ghost:active{opacity:.65}.pk-btn-chip{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--primary);border:1px solid var(--primary);cursor:pointer;background:0 0;border-radius:999px;align-items:center;padding:6px 12px;font-size:10px;transition:background .15s,color .15s,opacity .12s;display:inline-flex}.pk-btn-chip:hover{background:var(--primary-softer)}.pk-btn-chip:active{opacity:.65}.pk-fab{background:var(--primary);color:#fff;cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;font-size:28px;font-weight:300;line-height:1;transition:background .15s,opacity .12s;display:inline-flex;box-shadow:0 8px 24px #c4633c52,0 2px 4px #281e1433}.pk-fab:hover{background:var(--primary-hover)}.pk-fab:active{opacity:.65}.pk-input{border:1px solid var(--border-strong);background:var(--bg);height:32px;font-family:var(--font-body);color:var(--text);border-radius:8px;outline:none;padding:0 10px;font-size:13px;transition:border-color .15s}.pk-input:focus{border-color:var(--primary)}.pk-input-num{font-family:var(--font-mono);text-align:right}.pk-tap{cursor:pointer;transition:opacity .12s}.pk-tap:active{opacity:.65}.pk-section{margin-top:28px;padding:0 20px}.pk-section-header{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.pk-avatar{background:var(--primary);color:#fff;width:38px;height:38px;font-family:var(--font-display);border-radius:50%;justify-content:center;align-items:center;font-size:18px;font-weight:500;display:inline-flex}input[type=text],input[type=number],input[type=email],input[type=password],input[type=search],input[type=time],input[type=date],input[type=url],input[type=tel],textarea,select{color:var(--text);background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--radius-small);transition:border-color var(--transition-base), box-shadow var(--transition-base);font-family:inherit}input[type=text]:focus,input[type=number]:focus,input[type=email]:focus,input[type=password]:focus,input[type=search]:focus,input[type=time]:focus,input[type=date]:focus,input[type=url]:focus,input[type=tel]:focus,textarea:focus,select:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-focus);outline:none}button{font-family:inherit}button:focus-visible{outline:2px solid var(--primary-ring);outline-offset:2px}.btn-primary,.btn-secondary,.btn-text{letter-spacing:0;text-transform:none;cursor:pointer;height:36px;transition:background var(--transition-base), color var(--transition-base), border-color var(--transition-base), opacity .12s ease;justify-content:center;align-items:center;gap:var(--space-2);white-space:nowrap;border-radius:999px;padding:0 16px;font-family:inherit;font-size:13px;font-weight:500;display:inline-flex}.btn-primary:active:not(:disabled),.btn-secondary:active:not(:disabled),.btn-text:active:not(:disabled){opacity:.65}.btn-primary{background:var(--primary);color:var(--text-on-primary);border:1px solid var(--primary)}.btn-primary:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover)}.btn-secondary{color:var(--text-secondary);border:1px solid var(--border-strong);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--text-secondary);color:var(--text)}.btn-text{color:var(--text-secondary);padding:0 var(--space-2);background:0 0;border:1px solid #0000;font-weight:400}.btn-text:hover:not(:disabled){color:var(--text)}.btn-primary:disabled,.btn-secondary:disabled,.btn-text:disabled{opacity:.55;cursor:not-allowed}.btn-primary.sm,.btn-secondary.sm,.btn-text.sm{height:var(--control-height-sm);font-size:var(--font-size-xs);padding:0 var(--space-3)}.btn-add{border:1px dashed var(--border-strong);border-radius:var(--radius-medium);width:100%;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-base), border-color var(--transition-base), background var(--transition-base);background:0 0;padding:12px;font-family:inherit;font-size:13px;font-weight:500}.btn-add:hover:not(:disabled){color:var(--primary);border-color:var(--primary);background:var(--primary-softer)}.btn-add:disabled{opacity:.55;cursor:not-allowed}.btn-add-icon{border-radius:var(--radius-small);background:var(--primary);width:28px;height:28px;color:var(--text-on-primary);font-size:var(--font-size-l);cursor:pointer;transition:background var(--transition-base);border:none;justify-content:center;align-items:center;display:inline-flex}.btn-add-icon:hover:not(:disabled){background:var(--primary-hover)}.btn-add-icon:disabled{opacity:.55;cursor:not-allowed}.eyebrow{font-family:var(--font-mono);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:var(--space-2);margin:0 0 var(--space-3);font-size:10px;font-weight:400;display:inline-flex}.eyebrow:before{content:"";opacity:.4;background:currentColor;width:20px;height:1px}.field{margin-bottom:var(--space-3)}.field>label{margin-bottom:var(--space-1);font-size:var(--font-size-s);font-weight:var(--font-weight-medium);color:var(--text-secondary);display:block}.field-hint{margin:var(--space-1) 0 0;font-size:var(--font-size-xs);color:var(--text-secondary)}.error{color:var(--danger);font-size:var(--font-size-s);margin:0}.success{color:var(--success);font-size:var(--font-size-s);margin:0}@media (width<=768px){.page-title{display:none!important}}.auth-card h1{font-family:var(--font-display);letter-spacing:-.018em;font-feature-settings:"ss01";font-weight:380}.auth-card,.auth-card label,.auth-card button,.auth-card a,.auth-card .switch,.auth-card .divider,.auth-card .subtitle,.auth-card .hint,.auth-card .error,.auth-card input,.auth-card textarea,.auth-card select{font-family:var(--font-body)}.auth-card{max-width:440px!important}.auth-card .btn-primary[type=submit]{height:auto!important;padding:12px 16px!important;font-weight:500!important}.auth-brand-link{color:inherit;justify-content:center;text-decoration:none;display:flex}*,:before,:after{box-sizing:border-box}body{font-family:var(--font-body);font-size:var(--font-size-m);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-feature-settings:"ss01";letter-spacing:-.018em;margin:0 0 .5rem;font-weight:380;line-height:1.18}p{margin:0}input,select,button,textarea{font-family:inherit;font-size:inherit}a{color:var(--primary);text-decoration:none}#app{min-height:100vh}input[type=number],.stat-value,.logged-value,.macro-values,.total-cal,.alloc-input,.alloc-computed,.alloc-detail,.alloc-unit,.wb-value,.wb-day-value,.wb-adj-values,.wb-adj-values>*,.meal-table td.col-num,.meal-table th.col-num,.meal-table td.col-srv,.meal-table th.col-srv,.meal-table tfoot td.col-num,.items-table td.col-num,.items-table th.col-num,.items-table td.col-srv,.items-table th.col-srv,.items-table td.col-srv input,.log-table td.lt-num,.log-table th.lt-num,.servings,.edit-input,.dot,.count,.day-cell,.month-label,.score-pill{font-family:var(--font-mono)}.v-popper--theme-tooltip .v-popper__inner{background:var(--surface-raised);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-small);font-family:var(--font-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:var(--tracking-wide);padding:.35rem .55rem;box-shadow:0 2px 6px #0000001f}.v-popper--theme-tooltip .v-popper__arrow-outer{border-color:var(--border)}.v-popper--theme-tooltip .v-popper__arrow-inner{border-color:var(--surface-raised)}.v-popper--theme-dropdown .v-popper__inner{box-shadow:none;background:0 0;border:none;padding:0}.v-popper--theme-dropdown .v-popper__arrow-container{display:none}
