@charset "UTF-8";:root{--app-bg: #EFEADD;--panel: #FBF8F0;--panel-alt: #F1ECDD;--chip: #ECE6D6;--sidebar: #33351F;--side-ink: #EFEAD9;--side-mute: #97987C;--side-active: rgba(198, 203, 134, .16);--ink: #2E2F22;--ink-soft: #6B6B57;--ink-mute: #9E9D86;--line: rgba(46, 47, 34, .09);--hair: rgba(46, 47, 34, .055);--primary: #6E7235;--primary-deep: #4F521D;--primary-soft: #E7E6C7;--primary-ink: #4F521D;--on-primary: #FFFFFF;--lime-bright: #AFB36E;--protein: #9E93C9;--carbs: #D89B7B;--fat: #C9A653;--water: #6CA89E;--good: #6E7235;--warn: #C2922B;--bad: #C76B4F;--now: #E5484D;--shadow: 0 1px 2px rgba(46,47,34,.04), 0 12px 32px -16px rgba(46,47,34,.16)}.theme-dark{--app-bg: #15160F;--panel: #22241A;--panel-alt: #2A2B1F;--chip: #2A2C1E;--sidebar: #101108;--side-ink: #ECEBDC;--side-mute: #76775F;--side-active: rgba(198, 203, 134, .13);--ink: #ECEBDC;--ink-soft: #ABAB94;--ink-mute: #6F6F5B;--line: rgba(255, 255, 255, .08);--hair: rgba(255, 255, 255, .05);--primary: #C6CB86;--primary-deep: #C6CB86;--primary-soft: rgba(198, 203, 134, .14);--primary-ink: #C6CB86;--on-primary: #15160F;--lime-bright: #C6CB86;--protein: #B3A9E0;--carbs: #E6AE8C;--fat: #E6CE83;--water: #8FC3BA;--good: #C6CB86;--warn: #E6CE83;--bad: #E6A07F;--now: #FF6B6B;--shadow: 0 1px 2px rgba(0,0,0,.5), 0 18px 42px -18px rgba(0,0,0,.8)}.lm-h1{font:800 19px/1.1 Sora,system-ui,sans-serif;letter-spacing:-.015em;color:var(--ink)}.lm-h2{font:700 15.5px/1.2 Sora,system-ui,sans-serif;letter-spacing:-.01em;color:var(--ink)}.lm-body{font:500 13.5px/1.5 Sora,system-ui,sans-serif;color:var(--ink-soft)}.lm-num,.stat__value{font:800 28px/1 Sora,system-ui,sans-serif;letter-spacing:-.02em;color:var(--ink)}.lm-mono{font:600 11px JetBrains Mono,ui-monospace,monospace;color:var(--ink-mute)}.app-shell{display:flex;height:100vh;background:var(--app-bg);color:var(--ink);font-family:Sora,system-ui,sans-serif;-webkit-font-smoothing:antialiased}.sidebar{width:244px;flex-shrink:0;background:var(--sidebar);color:var(--side-ink);padding:22px 14px 18px;display:flex;flex-direction:column}.sidebar .brand-mark{width:34px;height:34px;border-radius:11px;background:var(--lime-bright);display:grid;place-items:center;color:#15170f}.sidebar .nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:11px;color:var(--side-mute);font-size:13.5px;font-weight:500;cursor:pointer;position:relative}.sidebar .nav-item:hover{color:var(--side-ink)}.sidebar .nav-item.active{background:var(--side-active);color:var(--side-ink);font-weight:600}.sidebar .nav-item.active:before{content:"";position:absolute;left:-14px;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--lime-bright)}.topbar{height:70px;flex-shrink:0;background:var(--panel);border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 26px;gap:18px}.topbar .search{width:260px;height:40px;border-radius:11px;background:var(--panel-alt);border:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:0 13px;color:var(--ink-mute);font-size:13px}.topbar .icon-btn{width:40px;height:40px;border-radius:11px;border:1px solid var(--line);background:transparent;display:grid;place-items:center;color:var(--ink-soft);cursor:pointer}.card,.stat{background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px}.btn-primary{height:40px;border:none;border-radius:11px;background:var(--primary);color:var(--on-primary);font:600 13.5px Sora,system-ui,sans-serif;padding:0 16px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.btn-primary mat-icon{color:var(--on-primary);font-size:18px;width:18px;height:18px;line-height:18px;font-variation-settings:"wght" 600}.btn-ghost{height:40px;border:1px solid var(--line);border-radius:11px;background:transparent;color:var(--ink);font:600 13px Sora,system-ui,sans-serif;padding:0 14px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.btn-ghost mat-icon{color:var(--ink);font-size:18px;width:18px;height:18px;line-height:18px;font-variation-settings:"wght" 600}.badge{display:inline-flex;align-items:center;gap:5px;font:600 11.5px Sora,system-ui,sans-serif;padding:3px 9px;border-radius:8px;background:var(--chip);color:var(--ink-soft)}.badge--good{background:var(--primary-soft);color:var(--primary-ink)}.badge--warn{background:#e0a21f24;color:var(--warn)}.badge--bad{background:#e0533c24;color:var(--bad)}.badge--primary{background:var(--primary);color:var(--on-primary)}.stat{padding:18px}.stat__label{font:500 12.5px Sora,system-ui,sans-serif;color:var(--ink-soft)}.stat__value{margin-top:12px}.stat__delta{font:700 12px Sora,system-ui,sans-serif;color:var(--good)}.progress{height:6px;border-radius:999px;overflow:hidden;background:#15170f12}.theme-dark .progress{background:#ffffff14}.progress__fill{height:100%;border-radius:999px;background:var(--primary)}html{--mat-sys-background: #f9faf3;--mat-sys-error: #ba1a1a;--mat-sys-error-container: #ffdad6;--mat-sys-inverse-on-surface: #f1f1eb;--mat-sys-inverse-primary: #02e600;--mat-sys-inverse-surface: #2f312d;--mat-sys-on-background: #1a1c18;--mat-sys-on-error: #ffffff;--mat-sys-on-error-container: #93000a;--mat-sys-on-primary: #ffffff;--mat-sys-on-primary-container: #015300;--mat-sys-on-primary-fixed: #002200;--mat-sys-on-primary-fixed-variant: #015300;--mat-sys-on-secondary: #ffffff;--mat-sys-on-secondary-container: #3c4b37;--mat-sys-on-secondary-fixed: #121f0e;--mat-sys-on-secondary-fixed-variant: #3c4b37;--mat-sys-on-surface: #1a1c18;--mat-sys-on-surface-variant: #43483f;--mat-sys-on-tertiary: #ffffff;--mat-sys-on-tertiary-container: #015300;--mat-sys-on-tertiary-fixed: #002200;--mat-sys-on-tertiary-fixed-variant: #015300;--mat-sys-outline: #73796e;--mat-sys-outline-variant: #c3c8bc;--mat-sys-primary: #026e00;--mat-sys-primary-container: #77ff61;--mat-sys-primary-fixed: #77ff61;--mat-sys-primary-fixed-dim: #02e600;--mat-sys-scrim: #000000;--mat-sys-secondary: #54634d;--mat-sys-secondary-container: #d7e8cd;--mat-sys-secondary-fixed: #d7e8cd;--mat-sys-secondary-fixed-dim: #bbcbb2;--mat-sys-shadow: #000000;--mat-sys-surface: #f9faf3;--mat-sys-surface-bright: #f9faf3;--mat-sys-surface-container: #eeeee7;--mat-sys-surface-container-high: #e8e9e1;--mat-sys-surface-container-highest: #e2e3dc;--mat-sys-surface-container-low: #f3f4ed;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-dim: #dadbd3;--mat-sys-surface-tint: #026e00;--mat-sys-surface-variant: #dfe4d7;--mat-sys-tertiary: #026e00;--mat-sys-tertiary-container: #77ff61;--mat-sys-tertiary-fixed: #77ff61;--mat-sys-tertiary-fixed-dim: #02e600;--mat-sys-neutral-variant20: #2c3229;--mat-sys-neutral10: #1a1c18;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem Sora, system-ui, sans-serif;--mat-sys-body-large-font: Sora, system-ui, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem Sora, system-ui, sans-serif;--mat-sys-body-medium-font: Sora, system-ui, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem Sora, system-ui, sans-serif;--mat-sys-body-small-font: Sora, system-ui, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem Sora, system-ui, sans-serif;--mat-sys-display-large-font: Sora, system-ui, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem Sora, system-ui, sans-serif;--mat-sys-display-medium-font: Sora, system-ui, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem Sora, system-ui, sans-serif;--mat-sys-display-small-font: Sora, system-ui, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem Sora, system-ui, sans-serif;--mat-sys-headline-large-font: Sora, system-ui, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem Sora, system-ui, sans-serif;--mat-sys-headline-medium-font: Sora, system-ui, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem Sora, system-ui, sans-serif;--mat-sys-headline-small-font: Sora, system-ui, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem Sora, system-ui, sans-serif;--mat-sys-label-large-font: Sora, system-ui, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem Sora, system-ui, sans-serif;--mat-sys-label-medium-font: Sora, system-ui, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem Sora, system-ui, sans-serif;--mat-sys-label-small-font: Sora, system-ui, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem Sora, system-ui, sans-serif;--mat-sys-title-large-font: Sora, system-ui, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem Sora, system-ui, sans-serif;--mat-sys-title-medium-font: Sora, system-ui, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem Sora, system-ui, sans-serif;--mat-sys-title-small-font: Sora, system-ui, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;font-family:Sora,system-ui,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--app-bg);color:var(--ink);font-size:14px;line-height:1.5}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--ink-mute)}mat-icon,mat-icon.mat-icon,.material-symbols-outlined{font-family:Material Symbols Outlined,sans-serif!important;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";-webkit-font-smoothing:antialiased;font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;overflow:visible}.eyebrow{font-family:JetBrains Mono,ui-monospace,monospace;font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute)}.mono{font-family:JetBrains Mono,ui-monospace,monospace}.h-display{font:800 44px/.98 Sora,sans-serif;letter-spacing:-.04em;color:var(--ink)}.h-1{font:800 27px/1.1 Sora,sans-serif;letter-spacing:-.02em;color:var(--ink)}.h-2{font:800 17px/1.2 Sora,sans-serif;letter-spacing:-.02em;color:var(--ink)}.mat-mdc-menu-panel,.mat-mdc-menu-surface{background:var(--panel)!important;border:1px solid var(--line)!important;border-radius:14px!important;box-shadow:var(--shadow)!important}.mat-mdc-menu-item{font-family:Sora,sans-serif!important;color:var(--ink)!important;font-size:13.5px!important;font-weight:500!important}.mat-mdc-menu-item mat-icon{color:var(--ink-soft)!important;font-size:19px!important;width:19px!important;height:19px!important}.mat-mdc-menu-item:hover{background:var(--panel-alt)!important}.mdc-text-field{--mdc-outlined-text-field-container-shape: 11px;--mdc-outlined-text-field-outline-color: var(--line);--mdc-outlined-text-field-hover-outline-color: var(--ink-mute);--mdc-outlined-text-field-focus-outline-color: var(--primary);--mdc-outlined-text-field-label-text-color: var(--ink-mute);--mdc-outlined-text-field-input-text-color: var(--ink)}.mat-mdc-form-field{font-family:Sora,sans-serif!important}.mat-ripple-element{background-color:#15170f0f!important}.lm-divider{height:1px;background:var(--line)}.lm-hair{height:1px;background:var(--hair)}::view-transition-old(app-content){animation:content-portal-out .42s cubic-bezier(.4,0,.2,1) forwards}::view-transition-new(app-content){animation:content-portal-in .48s .2s cubic-bezier(.22,1,.36,1) both}::view-transition{animation:content-portal-flash .62s ease-out}@keyframes content-portal-flash{0%,to{background-color:transparent}40%{background-color:#c7f94a24}}@keyframes content-portal-out{0%{opacity:1;transform:scale(1);filter:blur(0) brightness(1)}to{opacity:0;transform:scale(1.05);filter:blur(7px) brightness(1.2)}}@keyframes content-portal-in{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){::view-transition,::view-transition-old(app-content),::view-transition-new(app-content){animation:none}}.lumen-dialog .mat-mdc-dialog-surface{background:var(--panel);border-radius:18px;padding:0;box-shadow:0 18px 48px #141a1238}.lumen-dialog .dialog{padding:24px 24px 18px;font-family:Sora,sans-serif;color:var(--ink);max-width:100%}.lumen-dialog .title{margin:0 0 8px;font-size:19px;font-weight:700;letter-spacing:-.01em}.lumen-dialog .message{margin:0 0 16px;font-size:14.5px;line-height:1.55;color:var(--ink-soft);white-space:pre-line}.lumen-dialog .actions{display:flex;justify-content:flex-end;gap:10px}.lumen-dialog .btn{font:600 14px Sora,sans-serif;padding:10px 18px;border-radius:11px;border:1px solid transparent;cursor:pointer;transition:background .15s,border-color .15s,opacity .15s}.lumen-dialog .btn.ghost{background:transparent;border-color:var(--line);color:var(--ink-soft)}.lumen-dialog .btn.ghost:hover{background:#2e2f220d;color:var(--ink)}.lumen-dialog .btn.solid{background:var(--primary);color:var(--on-primary)}.lumen-dialog .btn.solid.danger{background:var(--bad)}.lumen-dialog .btn.solid:hover:not([disabled]){opacity:.9}.lumen-dialog .btn.solid[disabled]{opacity:.45;cursor:not-allowed}
