:root{--bg:var(--brand-canvas);--bg-2:var(--brand-canvas-soft);--paper:var(--brand-paper);--ink:var(--brand-ink);--ink-2:var(--brand-ink-2);--muted:#807a6e;--muted-2:#b1a99a;--line:var(--brand-border);--line-2:#eceae6;--accent:var(--brand-red);--accent-2:#fbeee7;--good:#2f6b3a;--warn:#b07118;--carb:#d99a3a;--pro:#2f6b3a;--fat:#7e4cc4;--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--ease-out-quint:cubic-bezier(.22, 1, .36, 1);--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--dash-font:var(--font-cereal), ui-sans-serif, system-ui, sans-serif;--dash-font-mono:ui-monospace, SFMono-Regular, Menlo, monospace;--dash-text-caption:.6875rem;--dash-text-sm:.8125rem;--dash-text-base:1rem;--dash-text-lg:1.125rem;--dash-text-xl:1.25rem;--dash-text-2xl:1.4375rem;--dash-text-3xl:1.75rem;--dash-text-4xl:2.25rem;--dash-text-5xl:2.75rem;--dash-text-display:3.25rem;--dash-leading-tight:1.12;--dash-leading-snug:1.35;--dash-leading-normal:1.5;--dash-leading-relaxed:1.62;--dash-tracking-tight:-.015em;--dash-tracking-normal:0;--dash-tracking-wide:.06em;--dash-tracking-caps:.14em;--dash-weight-regular:400;--dash-weight-medium:500;--dash-weight-semibold:600;--dash-weight-bold:700}:is(html:has(.app),body:has(.app)){background:var(--bg);color:var(--ink);min-height:100vh}.serif{font-weight:var(--dash-weight-regular);letter-spacing:var(--dash-tracking-tight)}.mono{font-family:var(--dash-font-mono);font-variant-numeric:tabular-nums lining-nums}.num{font-variant-numeric:tabular-nums lining-nums}.app{background:var(--bg);width:100%;min-height:100vh;color:var(--ink);font-size:var(--dash-text-base);line-height:var(--dash-leading-normal);font-family:var(--dash-font);font-kerning:normal;font-feature-settings:"kern","liga","tnum";-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;grid-template-columns:232px minmax(0,1fr);display:grid;position:relative}.app button:not([class]){font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}.app a:not([class]){color:inherit;text-decoration:none}.app h1,.app h2,.app h3,.app h4{font-weight:inherit;font-size:inherit;line-height:inherit;margin:0}.nav{background:var(--brand-panel-nav);color:#e9e3d3;flex-direction:column;height:100vh;padding:18px 14px 16px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:9px;padding:8px 8px 28px;display:flex}.brand-mark{object-fit:contain;border-radius:8px;width:28px;height:28px;display:block}.brand-name{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight)}.brand-dot{color:var(--accent);margin-left:-2px}.nav-section{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:#7a7367;line-height:var(--dash-leading-snug);padding:14px 10px 8px}.nav-item{color:#cfc8b7;font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);cursor:pointer;border-radius:8px;align-items:center;gap:11px;padding:9px 10px;display:flex;position:relative}.nav-item:hover{color:#f5efdf;background:#1f1d16}.nav-item.active{color:#fff;background:#1f1d16}.nav-item.active:before{content:"";background:var(--accent);border-radius:0 3px 3px 0;width:3px;position:absolute;top:10px;bottom:10px;left:-14px}.nav-item svg{stroke-width:1.6px;width:16px;height:16px}.nav-item .kbd{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:#5a5345;line-height:var(--dash-leading-snug);background:#1f1d16;border:1px solid #2a271d;border-radius:4px;margin-left:auto;padding:1px 5px}.nav-item:hover .kbd{color:#a39c8a}.nav-item.is-highlight{color:#f5efdf;background:color-mix(in oklch, var(--accent) 12%, #1f1d16)}.nav-badge{background:color-mix(in oklch, var(--accent) 22%, #1f1d16);color:var(--accent);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:.04em;border-radius:999px;margin-left:auto;padding:2px 7px;line-height:1.2}.nav-badge-mobile{margin-left:0;padding:1px 5px;font-size:9px;position:absolute;top:4px;right:calc(50% - 18px)}.nav-spacer{flex:1}.streak-card{background:#1f1d16;border:1px solid #2a271d;border-radius:12px;margin:10px 4px 14px;padding:12px}.streak-row{align-items:baseline;gap:6px;display:flex}.streak-num{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.streak-flame{color:var(--accent)}.streak-label{font-size:var(--dash-text-caption);color:#8c8475;letter-spacing:var(--dash-tracking-wide);line-height:var(--dash-leading-snug)}.streak-dots{gap:3px;margin-top:8px;display:flex}.sd{background:#2a271d;border-radius:2px;flex:1;height:4px}.sd.on{background:#cfc8b7}.sd.today{background:var(--accent)}.user{border-top:1px solid #2a271d;align-items:center;gap:10px;margin-top:4px;padding:9px 8px;display:flex}.avatar{background:linear-gradient(135deg,var(--accent),var(--brand-red-hover));color:#fff;width:30px;height:30px;font-weight:var(--dash-weight-semibold);font-size:var(--dash-text-caption);border-radius:50%;place-items:center;display:grid}.user .uname{font-size:var(--dash-text-sm);color:#f5efdf;line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.user .uemail{font-size:var(--dash-text-caption);color:#7a7367;line-height:var(--dash-leading-snug)}.dash-signout-btn{background:#1f1d16;border-color:#2a271d;flex-shrink:0}.dash-mobile-header,.dash-bottom-nav{display:none}.dash-mobile-header{background:var(--brand-panel-nav);color:#e9e3d3;border-bottom:1px solid #2a271d;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px}.dash-mobile-brand{min-width:0;color:inherit;align-items:center;gap:9px;text-decoration:none;display:flex}.dash-mobile-brand-text{flex-direction:column;gap:1px;min-width:0;display:flex}.dash-mobile-brand .brand-name{font-size:var(--dash-text-lg);line-height:var(--dash-leading-tight)}.dash-mobile-screen{font-size:var(--dash-text-caption);color:#8c8475;line-height:var(--dash-leading-snug);letter-spacing:var(--dash-tracking-wide)}.dash-mobile-header-actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.dash-mobile-signout{color:#cfc8b7;background:#1f1d16;border:1px solid #2a271d;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.dash-mobile-signout svg{stroke-width:1.6px;width:16px;height:16px}.dash-bottom-nav{z-index:50;padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));background:var(--brand-panel-nav);border-top:1px solid #2a271d;justify-content:space-around;align-items:stretch;gap:2px;position:fixed;bottom:0;left:0;right:0}.dash-bottom-nav button{color:#8c8475;max-width:88px;min-height:48px;font:inherit;font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:6px 4px;display:flex;position:relative}.dash-bottom-nav button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.dash-bottom-nav button svg{stroke-width:1.6px;flex-shrink:0;width:20px;height:20px}.dash-bottom-nav button.active{color:#fff;background:#1f1d16}.dash-bottom-nav button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.main{width:100%;max-width:none;padding:28px 44px 64px}.topbar{justify-content:space-between;align-items:center;gap:24px;margin-bottom:18px;display:flex}.crumbs{color:var(--muted);font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-snug);align-items:center;gap:10px;display:flex}.crumbs .sep{opacity:.5}.crumbs b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.date-pill{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);border-radius:999px;align-items:center;gap:8px;padding:6px 10px 6px 8px;display:inline-flex}.date-pill .dot{background:var(--accent);border-radius:50%;width:6px;height:6px}.top-actions{align-items:center;gap:8px;display:flex}.iconbtn{border:1px solid var(--line);background:var(--paper);border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.iconbtn:hover{background:#fff}.iconbtn svg{stroke-width:1.6px;width:15px;height:15px}.btn{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);border-radius:8px;align-items:center;gap:7px;padding:8px 12px;display:inline-flex}.btn:hover{background:#fff}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.primary:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--bg-2)}.btn svg{stroke-width:1.7px;width:14px;height:14px}.btn.sm{font-size:var(--dash-text-caption);border-radius:7px;padding:5px 9px}.pagehead{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;margin:6px 0 22px;padding-bottom:18px;display:flex}.pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);margin:0}.pagehead h1 em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.pagehead .sub{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);max-width:65ch;margin-top:8px}.pagehead .eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);margin-bottom:8px}.panel{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px}.panel.dark{background:var(--ink);color:#f3efe7;border-color:var(--ink)}.panel.flush{padding:0;overflow:hidden}.panel-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.panel.dark .panel-eyebrow{color:#8c8475}.panel-eyebrow .accent{color:var(--accent);letter-spacing:var(--dash-tracking-caps)}.h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.h2 small{color:var(--muted);font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-normal);font-weight:var(--dash-weight-medium);margin-left:8px}.h3{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.seg{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:7px;padding:6px 12px}.seg button.on{background:var(--ink);color:#faf7f1}.seg button:not(.on):hover{background:var(--bg-2);color:var(--ink)}.chip{font-size:var(--dash-text-sm);border:1px solid var(--line);background:var(--paper);color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:999px;align-items:center;gap:6px;padding:4px 9px;display:inline-flex}.chip.on{background:var(--ink);color:#faf7f1;border-color:var(--ink)}.chip.good{color:var(--good);background:#eef5ef;border-color:#cfe2cf}.chip.warn{color:var(--warn);background:#fff3df;border-color:#f1dca4}.chip.bad{color:var(--accent);background:#fbeee7;border-color:#f0d1c1}.field{flex-direction:column;gap:6px;display:flex}.field label{font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.field input[type=text],.field input[type=email],.field input[type=number],.field select,.field textarea{font:inherit;border:1px solid var(--line);color:var(--ink);line-height:var(--dash-leading-normal);font-feature-settings:"kern","liga","tnum";background:#fff;border-radius:9px;outline:none;padding:10px 12px}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink)}.field .hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.switch{background:var(--line);cursor:pointer;border-radius:99px;flex-shrink:0;width:34px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.switch.on{background:var(--ink)}.switch.on:after{transform:translate(14px)}.footnote{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);border-top:1px dashed var(--line);justify-content:space-between;margin-top:30px;padding-top:12px;display:flex}.hero{grid-template-columns:1.25fr 1fr;gap:18px;width:100%;margin-bottom:18px;display:grid}.hero-left{flex-direction:column;justify-content:space-between;min-height:300px;display:flex}.greeting{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);margin:2px 0 6px}.greeting em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.subline{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);max-width:48ch}.hero-readout{align-items:flex-end;gap:22px;margin-top:18px;display:flex}.readout{flex-direction:column;display:flex}.readout .label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);margin-bottom:4px}.readout .big{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.readout .big small{font-size:var(--dash-text-xl);color:var(--muted);font-weight:var(--dash-weight-medium)}.readout .sub{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:6px}.readout .range{font-size:var(--dash-text-sm);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-relaxed)}.readout.amber .big{color:var(--accent)}.hero-meta{border-top:1px dashed var(--line);flex-wrap:wrap;gap:18px;margin-top:18px;padding-top:14px;display:flex}.meta{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-direction:column;gap:2px;display:flex}.meta b{color:var(--ink);font-weight:var(--dash-weight-medium);font-variant-numeric:tabular-nums lining-nums}.hero-right{flex-direction:column;align-items:center;gap:10px;display:flex}.meals-head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:8px;display:flex}.dash-grid{grid-template-columns:1.45fr 1fr;align-items:start;gap:18px;width:100%;display:grid}.stack{flex-direction:column;gap:18px;display:flex}@media (max-width:1180px){.hero,.dash-grid{grid-template-columns:1fr}}.daystrip{gap:6px;margin:6px 0 22px;display:flex}.day{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;gap:6px;min-width:0;padding:10px 12px 11px;display:flex}.day:hover{background:#fff}.day.today{background:var(--ink);color:var(--paper);border-color:var(--ink)}.day .dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug)}.day.today .dow{color:#cfc8b7}.day .dnum{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.day .dbar{background:var(--line-2);border-radius:3px;height:3px;overflow:hidden}.day.today .dbar{background:#2a271d}.day .dbar i{background:var(--ink-2);border-radius:3px;height:100%;display:block}.day.today .dbar i,.day.over .dbar i{background:var(--accent)}.day .dkcal{font-size:var(--dash-text-caption);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-snug)}.day.today .dkcal{color:#cfc8b7}.meals{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.meal{border-top:1px solid var(--line-2);cursor:pointer;grid-template-columns:64px 12px 1fr auto;align-items:center;gap:14px;padding:14px 18px;display:grid;position:relative}.meal:first-of-type{border-top:0}.meal:hover{background:#fff}.meal .time{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.meal .stripe{background:var(--accent);border-radius:3px;width:3px;height:38px}.meal.breakfast .stripe{background:#e0a93a}.meal.coffee .stripe{background:#6f4a2a}.meal.lunch .stripe{background:#2f6b3a}.meal.snack .stripe{background:#c5301e}.meal.dinner .stripe{background:#7e4cc4}.meal .title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug)}.meal .desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.meal .tag{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);background:var(--bg-2);border:1px solid var(--line);vertical-align:middle;line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-radius:999px;align-items:center;gap:4px;margin-left:8px;padding:2px 7px;display:inline-flex}.meal .right{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;display:flex}.meal .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.meal .kcal .unit{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium);margin-left:3px}.meal .macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);gap:8px;display:flex}.meal .macros b{font-weight:var(--dash-weight-medium)}.meal .macros .p{color:var(--pro)}.meal .macros .c{color:var(--carb)}.meal .macros .f{color:var(--fat)}.meal .actions{gap:4px;display:none;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.meal:hover .actions{display:flex}.meal:hover .right{visibility:hidden}.meal .actions button{border:1px solid var(--line);background:#fff;border-radius:7px;place-items:center;width:30px;height:30px;display:grid}.meal .actions button:hover{background:var(--bg-2)}.meal .actions svg{stroke-width:1.7px;width:14px;height:14px}.add-meal{border-top:1px dashed var(--line);background:var(--bg-2);color:var(--muted);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);width:100%;line-height:var(--dash-leading-snug);justify-content:center;align-items:center;gap:8px;padding:14px;display:flex}.add-meal:hover{color:var(--ink);background:#fff}.add-meal svg{stroke-width:1.8px;width:14px;height:14px}.ring-wrap{place-items:center;width:248px;height:248px;margin:8px 0 2px;display:grid;position:relative}.ring-wrap svg{width:100%;height:100%;display:block}.ring-center{text-align:center;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ring-center .ring-readout{line-height:var(--dash-leading-tight);flex-direction:column;justify-content:center;align-items:center;display:flex}.ring-center .pct{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.ring-center .ctx{font-size:var(--dash-text-sm);color:#9d9582;letter-spacing:var(--dash-tracking-wide);line-height:var(--dash-leading-snug);margin-top:2px}.macros-row{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;margin-top:6px;display:grid}.macro{background:#ffffff0a;border:1px solid #2a271d;border-radius:10px;align-items:center;gap:10px;padding:10px;display:flex}.macro .mring{flex-shrink:0;width:34px;height:34px}.macro .mtext{flex-direction:column;min-width:0;line-height:1.1;display:flex}.macro .mlabel{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:#9d9582;line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.macro .mval{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:#f3efe7;font-variant-numeric:tabular-nums lining-nums;line-height:var(--dash-leading-tight)}.macro .mval small{font-size:var(--dash-text-sm);color:#6f6857;font-family:var(--dash-font-mono);font-weight:var(--dash-weight-medium)}.chart{align-items:flex-end;gap:10px;height:140px;margin:10px 0 8px;display:flex}.bar{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;height:100%;display:flex}.bar .col{background:var(--line-2);border-radius:6px;width:100%;position:relative;overflow:hidden}.bar .col .fill{background:var(--ink);border-radius:6px;position:absolute;bottom:0;left:0;right:0}.bar.today .col .fill{background:var(--accent)}.bar.over .col .fill{background:#a8240f}.bar .col .goal{background:var(--muted);border-top:1px dashed var(--muted-2);height:1px;position:absolute;left:-2px;right:-2px}.bar .lbl{font-size:var(--dash-text-caption);color:var(--muted);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;line-height:var(--dash-leading-snug)}.bar.today .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.chart-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;display:flex}.legend{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);gap:14px;display:flex}.legend i{background:var(--ink);vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.legend i.dashed{border-top:1px dashed var(--muted-2);background:0 0;height:0}.legend i.accent{background:var(--accent)}.insight{border-top:1px solid var(--line-2);gap:12px;padding:13px 0;display:flex}.insight:first-of-type{border-top:0;padding-top:4px}.insight .ico{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.insight .ico svg{stroke-width:1.7px;width:15px;height:15px}.insight .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug)}.insight .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.insight .body .d b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.overview{--dash-text-hero:3.75rem}.overview .greeting{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.overview .greeting-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.overview .hero-left{min-height:300px}.overview .hero-readout{align-items:flex-end;gap:36px;margin-top:26px}.overview .readout-primary .big{font-size:var(--dash-text-hero);font-weight:var(--dash-weight-bold);color:var(--ink);letter-spacing:-.02em;line-height:1}.overview .readout-primary.is-positive .big,.overview .readout-primary.is-over .big{color:var(--accent)}.overview .readout-primary .big small{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-semibold)}.overview .readout-primary .range{font-weight:var(--dash-weight-medium);color:var(--ink-2)}.overview .readout-secondary{text-align:right;margin-left:auto}.overview .readout-secondary .big{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);color:var(--ink)}.overview .readout-secondary .big small{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-medium)}.overview .panel-eyebrow .accent{color:var(--accent);font-weight:var(--dash-weight-semibold)}.overview-status.on-track{color:var(--ink-2);font-weight:var(--dash-weight-semibold);background:var(--accent-2);border-color:#e44c3c38}.overview-status.on-track .dot{background:var(--accent);width:7px;height:7px}.overview-past-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);border-color:var(--line-2);background:color-mix(in oklch, var(--bg-2) 72%, var(--paper));margin-left:14px}.overview-back-today{font-weight:var(--dash-weight-semibold)}.overview-hero-past{background:color-mix(in oklch, var(--bg-2) 38%, var(--paper));border-color:var(--line-2);justify-content:flex-start;gap:4px;min-height:auto}.overview-hero-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:flex-end;gap:16px;margin-top:20px;padding-top:16px;display:flex}.overview-hero-note{max-width:42ch;font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);color:var(--ink-2);font-weight:var(--dash-weight-medium);margin:0}.overview-hero-foot-stat{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--muted);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;flex-shrink:0}.overview-hero-past .overview-past-kicker{color:var(--ink-2);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;font-size:var(--dash-text-caption)}.overview-hero-past .overview-past-meta{color:var(--muted);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium)}.overview-hero-past .greeting-muted{font-size:var(--dash-text-sm);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;margin-top:6px}.overview .hero-readout-past{border-top:1px solid color-mix(in oklch, var(--line) 80%, transparent);grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:end;gap:28px;padding-top:4px;display:grid}.overview .hero-readout-past .readout-secondary{text-align:left;margin-left:0}.overview .readout-past-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.overview .readout-status{border:1px solid var(--line);background:var(--paper);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-normal);text-transform:none;color:var(--ink-2);white-space:nowrap;border-radius:999px;align-items:center;padding:3px 8px;line-height:1.2;display:inline-flex}.overview .readout-status.is-under{color:var(--good);border-color:color-mix(in oklch, var(--good) 28%, var(--line));background:color-mix(in oklch, var(--good) 8%, var(--paper))}.overview .readout-status.is-over{color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, var(--line));background:color-mix(in oklch, var(--accent-2) 55%, var(--paper))}.overview .readout-status.is-on{color:var(--ink-2);border-color:var(--line-2);background:color-mix(in oklch, var(--bg-2) 60%, var(--paper))}.overview .readout-status.is-empty{color:var(--muted)}.overview .readout-past-gap{flex-wrap:wrap;align-items:baseline;gap:8px 10px;line-height:1.05;display:flex}.overview .readout-past-amount{font-size:var(--dash-text-hero);font-weight:var(--dash-weight-bold);letter-spacing:-.02em;font-variant-numeric:tabular-nums lining-nums}.overview .readout-past-direction{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink-2);letter-spacing:var(--dash-tracking-normal);text-transform:lowercase}.overview .readout-past.is-under .readout-past-amount{color:var(--ink)}.overview .readout-past.is-over .readout-past-amount{color:var(--accent)}.overview .readout-past.is-on .readout-past-amount{color:var(--ink)}.overview .readout-past.is-empty .readout-past-empty{font-size:var(--dash-text-4xl);color:var(--muted)}.overview .readout-past .range{max-width:26ch;color:var(--muted);font-weight:var(--dash-weight-regular);margin-top:8px}.overview .readout-secondary.readout-past .big small{font-size:var(--dash-text-lg);color:var(--muted)}.overview .readout-secondary.readout-past .range{max-width:34ch;line-height:var(--dash-leading-relaxed)}.overview .readout-primary.is-empty .big{color:var(--muted);font-size:var(--dash-text-4xl)}.overview .readout-primary.is-empty .range{color:var(--muted);max-width:16ch}.overview .overview-trend.is-muted{color:#8c8475}.overview-view-past .day.selected{outline:2px solid color-mix(in oklch, var(--ink) 18%, transparent);outline-offset:2px}.overview .day{appearance:none;font:inherit;text-align:left;width:100%}.overview .day.selected{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none}.overview .day.selected .dow{color:#cfc8b7}.overview .day.selected .dbar{background:#2a271d}.overview .day.selected .dbar i{background:var(--accent)}.overview .day.selected .dkcal{color:#cfc8b7;font-weight:var(--dash-weight-medium)}.overview .day.today:not(.selected){background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.overview .day.today:not(.selected) .dow,.overview .day.today:not(.selected) .dkcal{color:var(--muted)}.overview .day.today:not(.selected) .dbar{background:var(--line-2)}.overview .day.today:not(.selected) .dbar i{background:var(--ink-2)}.overview .day.over .dbar i{background:var(--accent)}.overview .day:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.panel.dark.overview-balance{color:#f3efe7;background:#1a1a18;border-color:#2a271d}.panel.dark.overview-balance .panel-eyebrow{color:#8c8475}.panel.dark.overview-balance .ring-track{stroke:#34322c}.overview .overview-trend{font-weight:var(--dash-weight-semibold);font-size:var(--dash-text-sm)}.overview .overview-trend.is-good{color:#7cb88a}.overview .ring-wrap{width:240px;height:240px;margin:6px auto 2px}.panel.dark.overview-balance .ring-center .pct{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);color:#f3efe7}.panel.dark.overview-balance .ring-center .pct-unit{font-size:var(--dash-text-2xl);color:#8c8475;font-weight:var(--dash-weight-semibold)}.panel.dark.overview-balance .ring-center .ctx{font-size:var(--dash-text-sm);color:#8c8475;font-weight:var(--dash-weight-medium);letter-spacing:var(--dash-tracking-wide);margin-top:4px}.panel.dark.overview-balance .macros-row{gap:10px;width:100%;margin-top:4px}.panel.dark.overview-balance .macro{background:#ffffff0a;border:1px solid #2a271d;border-radius:10px;padding:10px 9px}.panel.dark.overview-balance .macro .mlabel{color:#8c8475;font-weight:var(--dash-weight-semibold)}.panel.dark.overview-balance .macro .mval{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:#f3efe7}.panel.dark.overview-balance .macro .mval small{color:#6f6857;font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium)}.panel.dark.overview-balance .macro svg circle:first-of-type{stroke:#34322c}.panel.dark.overview-balance .macro-fill-p{stroke:var(--pro)}.panel.dark.overview-balance .macro-fill-c{stroke:var(--carb)}.panel.dark.overview-balance .macro-fill-f{stroke:var(--fat)}.panel.dark.overview-balance .macro-fill{opacity:1}.panel.dark.overview-balance .overview-micro-stats{width:100%;font-size:var(--dash-text-sm);color:#8c8475;line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);border-top:1px dashed #2a271d;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:8px;padding:8px 2px 0;display:flex}.overview .meal .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold)}.overview .next .ph{background:linear-gradient(135deg,#e0a93a,#c5301e)}.overview .next .ph:after{display:block}.overview .next .add{background:var(--accent)}.overview-suggest{color:var(--accent);font-weight:var(--dash-weight-semibold)}.overview-week-head{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:8px;display:flex}.overview-week-avg{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink)}.overview-week-unit{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-regular)}.overview-week-delta{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold)}.overview-week-delta.is-good{color:var(--good)}.overview-week-meta{font-size:var(--dash-text-sm);color:var(--muted);font-weight:var(--dash-weight-regular);line-height:var(--dash-leading-snug)}.overview .bar{appearance:none;font:inherit;background:0 0;border:0;padding:0}.overview .bar.selected .col .fill{background:var(--accent)}.overview .bar.today:not(.selected) .col .fill{background:var(--ink)}.overview .bar.selected .lbl,.overview .bar.today .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.overview .bar:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.overview .legend i.accent{background:var(--accent)}.overview .insight .ico{background:var(--bg-2);border-color:var(--line-2)}.overview .insight .body .t{font-weight:var(--dash-weight-semibold);color:var(--ink);font-size:var(--dash-text-base)}.overview .insight .body .d b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.overview .add-meal{font-weight:var(--dash-weight-semibold);color:var(--ink-2)}.overview .add-meal:hover{color:var(--accent);background:var(--bg-2)}.overview .meals-head .h2{font-size:var(--dash-text-3xl)}.overview .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.15s ease-in-out infinite overview-skeleton-shimmer}.overview-meal-skeleton-row{cursor:default;pointer-events:none;animation:.34s cubic-bezier(.22,1,.36,1) both overview-skeleton-row-in;animation-delay:var(--sk-delay,0s)}.overview-meal-skeleton-row .sk-time{width:44px;height:12px}.overview-meal-skeleton-row .sk-stripe{background:var(--line-2);border-radius:3px;width:3px;height:38px;animation:none}.overview-meal-skeleton-row .sk-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.overview-meal-skeleton-row .sk-title{width:min(72%,280px);height:14px}.overview-meal-skeleton-row .sk-desc{opacity:.85;width:min(48%,180px);height:12px}.overview-meal-skeleton-row .sk-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.overview-meal-skeleton-row .sk-kcal{width:64px;height:18px}.overview-meal-skeleton-row .sk-macros{opacity:.85;width:72px;height:10px}.overview-day-pending .hero-readout .readout-primary .big,.overview-day-pending .hero-readout .readout-secondary .big,.overview-day-pending .ring-center .pct{opacity:.88}@keyframes overview-skeleton-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes overview-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.overview-panel-pending .overview-day-skeleton{pointer-events:none;border-color:var(--line);background:var(--paper)}.overview-panel-pending .sk-dow{width:72%;height:10px;margin:0 auto}.overview-panel-pending .sk-dnum{width:40%;height:18px;margin:4px auto 0}.overview-panel-pending .sk-dbar{border-radius:3px;width:100%;height:3px;margin-top:8px}.overview-panel-pending .sk-crumb{vertical-align:middle;width:56px;height:12px;display:inline-block}.overview-panel-pending .sk-crumb-wide{width:132px}.overview-panel-pending .sk-eyebrow{width:min(68%,320px);height:12px;margin-bottom:14px}.overview-panel-pending .sk-greeting{width:min(88%,480px);height:34px;margin-bottom:12px}.overview-panel-pending .sk-subline{width:min(72%,380px);height:14px}.overview-panel-pending .sk-label{width:72px;height:10px;margin-bottom:10px}.overview-panel-pending .sk-big{width:min(100%,220px);height:52px}.overview-panel-pending .sk-big-short{width:min(100%,160px);height:36px}.overview-panel-pending .sk-ring{border-radius:50%;width:200px;height:200px;margin:12px auto}.overview-panel-pending .sk-mring{border-radius:50%;flex-shrink:0;width:34px;height:34px}.overview-panel-pending .sk-mval{flex:1;height:28px}.overview-panel-pending .sk-h2{width:min(72%,280px);height:28px}.overview-panel-pending .sk-chart{border-radius:12px;width:100%;height:180px}.diary-panel .miniyear.is-pending .my-grid{opacity:.72}.diary-panel .miniyear.is-pending .my-day.is-loading:after{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;width:4px;height:4px;animation:1.15s ease-in-out infinite overview-skeleton-shimmer}.diary-panel .sidestats.is-pending{opacity:.72}.diary-panel .sidestats.is-pending .v{color:var(--muted)}@media (prefers-reduced-motion:reduce){.overview-meal-skeleton-row,.overview .sk,.diary-panel .miniyear.is-pending .my-day.is-loading:after{animation:none}}.dashboard-panel-slot[hidden]{display:none!important}.dashboard-panel-region[aria-busy=true]{min-height:40vh}.reveal{opacity:0;transition:opacity .42s var(--ease-out-quint),transform .42s var(--ease-out-quint);transform:translateY(10px)}.reveal.reveal-in{opacity:1;transform:none}.reveal.reveal-in.reveal-instant{transition:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.overview .ring-progress,.overview .macro-ring-progress{transition:stroke-dashoffset .9s var(--ease-out-expo)}.overview.overview-ring-settled .ring-progress,.overview.overview-ring-settled .macro-ring-progress{transition-duration:.45s}.overview .ring-center .ring-readout{transition:opacity .55s var(--ease-out-quint) .35s,transform .55s var(--ease-out-quint) .35s;transform-origin:50%}.overview:not(.overview-animate-ring) .ring-center .ring-readout{opacity:.55;transform:scale(.97)}.overview .ring-center .pct{transition:none}.overview .readout-primary .big{transition:opacity .25s var(--ease-out-quint)}.overview .readout-primary .big.is-updating{opacity:.72}.overview .btn,.overview .iconbtn,.overview .add-meal,.overview .next .add{transition:background .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),color .18s var(--ease-out-quart),transform .12s var(--ease-out-quart),box-shadow .18s var(--ease-out-quart)}.overview .btn:active:not(:disabled),.overview .iconbtn:active,.overview .add-meal:active,.overview .next .add:active{transform:scale(.97)}.overview .btn.primary:hover{box-shadow:0 4px 14px #e44c3c2e}.overview .day{transition:background .18s var(--ease-out-quart),border-color .18s var(--ease-out-quart),transform .18s var(--ease-out-quart)}.overview .day:hover{transform:translateY(-1px)}.overview .day .dbar i{transition:transform .78s var(--ease-out-expo),background .12s var(--ease-out-quart);transform-origin:0;transform:scaleX(0)}.overview.overview-animate-days .day .dbar i{transform:scaleX(1)}.overview.overview-days-settled .day .dbar i{transition:background .12s var(--ease-out-quart);transform:scaleX(1)}.overview .bar .col .fill{transition:transform .72s var(--ease-out-expo),background .18s var(--ease-out-quart);transform-origin:bottom;transform:scaleY(0)}.overview.overview-animate-week .bar .col .fill{transform:scaleY(1)}.overview .bar:hover .col .fill{transform:scaleY(1)scaleX(1.04)}.overview-quickadd{animation:overview-slide-in .32s var(--ease-out-quint) both;transform-origin:top}@keyframes overview-slide-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.overview .meal.is-new{animation:overview-meal-in .34s var(--ease-out-quint) both}@keyframes overview-meal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.overview .meal .actions button{transition:background .15s var(--ease-out-quart),transform .12s var(--ease-out-quart)}.overview .meal .actions button:active{transform:scale(.94)}.next{border:1px dashed var(--line);background:var(--bg-2);border-radius:12px;align-items:center;gap:14px;margin-top:14px;padding:14px;display:flex}.next .ph{background:linear-gradient(135deg,#e0a93a,#c5301e);border-radius:10px;flex-shrink:0;width:54px;height:54px;position:relative;overflow:hidden}.next .ph:after{content:"";background:#ffffff1f;border-radius:6px;position:absolute;inset:6px}.next .body{flex:1;min-width:0}.next .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.next .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.next .body .meta{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:4px}.next .add{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.next .add svg{stroke-width:2px;width:14px;height:14px}.diary{grid-template-columns:300px 1fr;align-items:start;gap:24px;width:100%;display:grid}.sidecal{position:sticky;top:24px}.miniyear{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px}.my-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.my-head .m{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.my-head .navbtns{gap:4px;display:flex}.my-head button{border:1px solid var(--line);background:#fff;border-radius:6px;place-items:center;width:24px;height:24px;display:grid}.my-head svg{stroke-width:2px;width:11px;height:11px}.my-grid{grid-template-columns:repeat(7,1fr);gap:3px;display:grid}.my-dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-wide);text-transform:uppercase;color:var(--muted);text-align:center;line-height:var(--dash-leading-snug);padding:2px 0 4px}.my-day{aspect-ratio:1;font-size:var(--dash-text-sm);color:var(--ink-2);font-variant-numeric:tabular-nums;cursor:pointer;font:inherit;line-height:var(--dash-leading-snug);background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:relative}.my-day.muted{color:var(--muted-2)}.my-day.has{background:#2d2a200d}.my-day.has.over{color:var(--accent);background:#c5301e1f}.my-day.has.under{color:#2f6b3a;background:#2f6b3a1a}.my-day.today{background:var(--ink);color:#faf7f1;font-weight:600}.my-day.sel{outline:1.5px solid var(--ink);outline-offset:1px}.my-day:after{content:"";border-radius:50%;width:3px;height:3px;position:absolute;bottom:3px}.my-day.has:after{background:#2d2a2066}.my-day.today:after{background:#faf7f1}.my-legend{font-size:var(--dash-text-caption);color:var(--muted);border-top:1px dashed var(--line);line-height:var(--dash-leading-snug);gap:10px;margin-top:10px;padding-top:10px;display:flex}.my-legend i{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:4px;display:inline-block}.sidestats{background:var(--paper);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:14px}.stat-row{border-top:1px solid var(--line-2);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);justify-content:space-between;padding:7px 0;display:flex}.stat-row:first-of-type{border-top:0}.stat-row .v{font-variant-numeric:tabular-nums;font-weight:500}.stat-row .m{color:var(--muted)}.diary-feed{flex-direction:column;gap:24px;min-width:0;display:flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.diary-search{border:1px solid var(--line);background:var(--paper);border-radius:10px;flex:1;align-items:center;gap:8px;min-width:240px;padding:8px 12px;display:flex}.diary-search svg{stroke-width:1.7px;width:14px;height:14px;color:var(--muted);flex-shrink:0}.diary-search input{font:inherit;color:var(--ink);background:0 0;border:0;outline:none;flex:1;min-width:0}.diary-search input::placeholder{color:var(--muted-2)}.day-entry{background:var(--paper);border:1px solid var(--line);border-radius:16px;overflow:hidden}.day-head{border-bottom:1px solid var(--line-2);grid-template-columns:auto 1fr auto;align-items:center;gap:18px;padding:18px 22px;display:grid}.day-head .date{align-items:baseline;gap:10px;display:flex}.day-head .date .num{font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.day-head .date .mo{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted);line-height:var(--dash-leading-tight)}.day-head .date .dow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin-top:4px;display:block}.macsplit{align-items:center;gap:10px;min-width:0;display:flex}.macsplit .splitbar{background:var(--line-2);border-radius:4px;flex:1;max-width:260px;height:8px;display:flex;overflow:hidden}.macsplit .splitbar i{height:100%;display:block}.macsplit .splitbar i.p{background:var(--pro)}.macsplit .splitbar i.c{background:var(--carb)}.macsplit .splitbar i.f{background:var(--fat)}.macsplit .mac-legend{font-size:var(--dash-text-caption);color:var(--muted);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);flex-shrink:0;gap:8px;display:flex}.macsplit .mac-legend b{color:var(--ink);font-weight:var(--dash-weight-medium)}.day-totals{text-align:right;flex-shrink:0}.day-totals .kcal{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.day-totals .kcal .of{color:var(--muted);font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.day-totals .day-delta{font-size:var(--dash-text-sm);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);margin-top:2px}.day-delta.under{color:var(--good)}.day-delta.over{color:var(--accent)}.day-delta.on{color:var(--ink-2)}.meals-list .meal{border-top:1px solid var(--line-2);cursor:pointer;grid-template-columns:60px 12px 1fr auto;align-items:center;gap:14px;padding:12px 22px;display:grid;position:relative}.meals-list .meal:first-child{border-top:0}.meals-list .meal:hover{background:#fff}.meals-list .meal .time{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.meals-list .meal .stripe{background:var(--accent);border-radius:3px;width:3px;height:32px}.meals-list .meal.breakfast .stripe{background:#e0a93a}.meals-list .meal.coffee .stripe{background:#6f4a2a}.meals-list .meal.lunch .stripe{background:#2f6b3a}.meals-list .meal.snack .stripe{background:#c5301e}.meals-list .meal.dinner .stripe{background:#7e4cc4}.meals-list .title{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.meals-list .desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:1px}.meals-list .right{text-align:right}.meals-list .kcal{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.meals-list .kcal .unit{font-size:var(--dash-text-caption);color:var(--muted);font-weight:var(--dash-weight-regular);margin-left:2px}.meals-list .macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:3px}.meals-list .macros .p{color:var(--pro)}.meals-list .macros .c{color:var(--carb)}.meals-list .macros .f{color:var(--fat)}.day-note{background:var(--bg-2);border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted-2);font-style:italic;line-height:var(--dash-leading-relaxed);align-items:flex-start;gap:10px;padding:12px 22px;display:flex}.day-note svg{width:14px;height:14px;color:var(--muted);flex-shrink:0;margin-top:2px}.day-note span{color:var(--ink-2);font-style:normal;font-weight:var(--dash-weight-medium)}.day-foot{font-size:var(--dash-text-sm);color:var(--muted);background:var(--bg-2);line-height:var(--dash-leading-snug);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 22px;display:flex}.day-foot .acts{flex-wrap:wrap;gap:4px;display:flex}.month-divider{color:var(--muted);font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);align-items:center;gap:14px;margin:8px 0 -4px;display:flex}.month-divider:after{content:"";background:var(--line);flex:1;height:1px}.diary-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.diary-panel .pagehead .eyebrow{color:var(--accent)}.diary-panel .diary-head-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.diary-panel .pagehead .sub{max-width:52ch}.diary-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.diary-panel .pagehead-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.diary-panel .pagehead-note b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-stat-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);background:var(--bg-2);border-color:var(--line)}.diary-stat-pill .dot{background:var(--good)}.diary-panel .seg-quiet button.on{background:var(--ink);color:#faf7f1}.diary-panel .miniyear{color:#f3efe7;background:#1a1a18;border-color:#2a271d}.diary-panel .miniyear .my-head .m{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:#f3efe7;line-height:var(--dash-leading-tight)}.diary-panel .miniyear .my-head button{color:#cfc8b7;background:#2a271d;border-color:#34322c}.diary-panel .miniyear .my-head button:hover{background:#34322c}.diary-panel .miniyear .my-dow{color:#8c8475}.diary-panel .miniyear .my-day{color:#cfc8b7}.diary-panel .miniyear .my-day.muted{color:#5a5345}.diary-panel .miniyear .my-day.has{background:#ffffff0f}.diary-panel .miniyear .my-day.has.over{color:#f5c4bc;background:#e44c3c2e}.diary-panel .miniyear .my-day.has.under{color:#b8d4be;background:#7cb88a24}.diary-panel .miniyear .my-day.today{background:var(--paper);color:var(--ink);font-weight:var(--dash-weight-bold);box-shadow:none}.diary-panel .miniyear .my-day.today:after{background:var(--accent)}.diary-panel .miniyear .my-day.sel{outline:2px solid var(--accent);outline-offset:1px}.diary-panel .miniyear .my-legend{color:#8c8475;border-top-color:#2a271d}.diary-panel .miniyear .my-legend .leg-under{background:#7cb88a8c}.diary-panel .miniyear .my-legend .leg-on{background:#ffffff38}.diary-panel .miniyear .my-legend .leg-over{background:#e44c3c8c}.diary-panel .sidestats .stat-row .v{font-weight:var(--dash-weight-semibold);color:var(--ink)}.diary-panel .toolbar .chip.on{background:var(--ink);border-color:var(--ink);color:#faf7f1}.diary-panel .day-entry.is-today{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}.diary-panel .day-entry.is-today .diary-day-head{background:var(--bg-2)}.diary-panel .diary-day-head{border-bottom:1px solid var(--line-2);-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:22px 28px;display:flex;overflow-x:auto}.diary-panel .diary-day-head-stat{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.diary-panel .diary-day-head-date{min-width:0}.diary-panel .diary-day-head-remaining{border-left:1px solid var(--line-2);flex:none;padding-left:20px}.diary-panel .diary-day-head-icon{background:var(--bg-2);border:1px solid var(--line-2);width:42px;height:42px;color:var(--ink);border-radius:11px;flex-shrink:0;place-items:center;display:grid}.diary-panel .diary-day-head-icon svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.diary-panel .diary-day-head-copy{flex-direction:column;gap:0;min-width:0;line-height:1.15;display:flex}.diary-panel .diary-day-head-value{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;white-space:nowrap;line-height:1.15}.diary-panel .diary-day-head-date .diary-day-head-value{white-space:normal}.diary-panel .diary-day-head-label{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-regular);color:var(--muted);margin-top:1px;line-height:1.15}.diary-panel .diary-day-head-macros{flex:none;align-items:center;gap:12px;min-width:0;display:flex}.diary-panel .diary-macro-ring{flex:none;align-items:center;gap:10px;min-width:0;display:flex}.diary-panel .diary-macro-ring-svg{flex-shrink:0;width:42px;height:42px;display:block}.diary-panel .diary-macro-ring-svg circle{stroke-width:2.5px}.diary-panel .diary-macro-ring-track{stroke:currentColor;opacity:.28}.diary-panel .diary-macro-ring-fill{stroke:currentColor;opacity:1;transition:stroke-dashoffset .45s cubic-bezier(.22,1,.36,1)}.diary-panel .diary-macro-ring-letter{font-size:12px;font-weight:var(--dash-weight-semibold);fill:currentColor;font-family:var(--dash-font-mono)}.diary-panel .diary-macro-ring-p .diary-macro-ring-svg{color:#4f7fd4}.diary-panel .diary-macro-ring-c .diary-macro-ring-svg{color:#3d9b63}.diary-panel .diary-macro-ring-f .diary-macro-ring-svg{color:#e8a23a}.diary-panel .diary-day-head.is-skeleton .sk-icon{border-radius:11px;flex-shrink:0;width:42px;height:42px}.diary-panel .diary-day-head.is-skeleton .sk-title{border-radius:6px;width:112px;height:14px}.diary-panel .diary-day-head.is-skeleton .sk-sub{border-radius:5px;width:84px;height:10px;margin-top:2px}.diary-panel .diary-day-head.is-skeleton .diary-day-head-date .sk-title{width:148px;height:16px}.diary-panel .diary-day-head.is-skeleton .diary-day-head-date .sk-sub{width:96px}.diary-panel .diary-macro-ring-skeleton{flex:none;align-items:center;gap:10px;display:flex}.diary-panel .diary-macro-ring-skeleton .sk-ring{border-radius:50%;flex-shrink:0;width:42px;height:42px}.diary-panel .diary-macro-ring-skeleton .sk-mac-val{border-radius:6px;width:42px;height:14px}.diary-panel .diary-macro-ring-skeleton .sk-mac-pct{border-radius:5px;width:28px;height:10px;margin-top:4px}.diary-panel .day-entry.is-revealing .diary-day-head{animation:.36s cubic-bezier(.22,1,.36,1) both diary-head-in}.diary-panel .month-divider{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);margin:12px 0 0}.diary-panel .meals-list .title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold)}.diary-panel .meals-list .kcal{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold)}.diary-panel .meals-list .chip.bad{color:var(--accent);font-size:var(--dash-text-caption);font-weight:var(--dash-weight-medium);background:#fbeee7;border-color:#f0d1c1;padding:2px 6px}.diary-panel .day-note{color:var(--muted);font-style:normal}.diary-panel .day-note span{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-panel .diary-feed{gap:22px;min-height:100%}.diary-panel .diary{align-items:stretch}.diary-panel .sidecal{flex-direction:column;display:flex}.diary-panel .diary-feed-slot{flex-direction:column;flex:1;min-height:100%;animation:.42s cubic-bezier(.22,1,.36,1) both diary-day-enter;display:flex}.diary-panel .diary-feed-card,.diary-panel .day-entry{flex-direction:column;flex:1;min-height:100%;display:flex}.diary-panel .day-entry .meals-list{flex-direction:column;flex:1;display:flex}.diary-panel .day-entry-empty{text-align:center;color:var(--muted);border-top:0;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:28px 22px 40px;display:flex}.diary-panel .day-entry-empty.is-revealing{animation:.36s cubic-bezier(.22,1,.36,1) both diary-head-in}.diary-panel .day-entry-empty-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin:0}.diary-panel .day-entry-empty-title{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink);line-height:var(--dash-leading-snug);margin:8px 0 0}.diary-panel .day-entry-empty-copy{max-width:36ch;font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:8px 0 0}.diary-panel .day-entry-empty-actions{margin-top:16px}.diary-panel .diary-feed-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;justify-content:center}.diary-panel .day-entry{border-radius:14px}.diary-panel .day-entry.is-pending .diary-day-head .date{opacity:1}.diary-panel .day-entry.is-revealing .meals-list.is-revealing .diary-meal-reveal{animation:.38s cubic-bezier(.22,1,.36,1) both diary-meal-in;animation-delay:var(--meal-delay,0s)}.diary-panel .day-entry .diary-photo-body{flex-direction:column;flex:1;min-height:0;display:flex}.diary-panel .diary-photo-grid{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(128px,auto);gap:10px;padding:14px 16px 18px;display:grid}.diary-panel .diary-photo-card{background:color-mix(in oklch,var(--ink) 8%,var(--paper));isolation:isolate;border-radius:14px;min-height:128px;position:relative;overflow:hidden}.diary-panel .diary-photo-card.span-tall{grid-row:span 2}.diary-panel .diary-photo-card.span-wide{grid-column:span 2}.diary-panel .diary-photo-media{object-fit:cover;object-position:center;width:100%;height:100%;display:block;position:absolute;inset:0;transform:translateZ(0)}.diary-panel .diary-photo-media-fallback{background:radial-gradient(120% 80% at 20% 10%,color-mix(in oklch,var(--accent) 18%,transparent),transparent 55%), linear-gradient(145deg,color-mix(in oklch,var(--ink) 12%,var(--bg-2)),var(--bg-2))}.diary-panel .diary-photo-scrim{background:linear-gradient(to top,color-mix(in oklch,var(--ink) 78%,transparent) 0%,color-mix(in oklch,var(--ink) 18%,transparent) 42%,transparent 68%);pointer-events:none;position:absolute;inset:0}.diary-panel .diary-photo-badge{z-index:2;background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(10px);color:color-mix(in oklch,var(--paper) 96%,var(--ink));font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);border-radius:999px;align-items:center;gap:5px;padding:5px 10px 5px 8px;line-height:1;display:inline-flex;position:absolute;top:10px;left:10px}.diary-panel .diary-photo-badge svg{width:13px;height:13px;color:color-mix(in oklch,var(--paper) 82%,var(--ink));flex-shrink:0}.diary-panel .diary-photo-menu{z-index:2;background:color-mix(in oklch,var(--ink) 52%,transparent);-webkit-backdrop-filter:blur(10px);width:32px;height:32px;color:color-mix(in oklch,var(--paper) 96%,var(--ink));cursor:pointer;border:0;border-radius:10px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.diary-panel .diary-photo-menu svg{width:16px;height:16px}.diary-panel .diary-photo-menu:hover{background:color-mix(in oklch,var(--ink) 64%,transparent)}.diary-panel .diary-photo-foot{z-index:2;color:color-mix(in oklch,var(--paper) 96%,var(--ink));justify-content:space-between;align-items:flex-end;gap:12px;padding:12px 12px 13px;display:flex;position:absolute;bottom:0;left:0;right:0}.diary-panel .diary-photo-copy{flex:1;min-width:0}.diary-panel .diary-photo-slot{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;line-height:var(--dash-leading-snug)}.diary-panel .diary-photo-name{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.diary-panel .diary-photo-portion{font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);color:color-mix(in oklch,var(--paper) 72%,var(--ink));white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.diary-panel .diary-photo-stats{text-align:right;flex-shrink:0}.diary-panel .diary-photo-kcal{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.diary-panel .diary-photo-kcal .unit{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-regular);opacity:.82;margin-left:2px}.diary-panel .diary-photo-macros{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);line-height:var(--dash-leading-snug);justify-content:flex-end;gap:8px;margin-top:3px;display:flex}.diary-panel .diary-photo-macros .p{color:color-mix(in oklch,var(--pro) 88%,var(--paper))}.diary-panel .diary-photo-macros .c{color:color-mix(in oklch,var(--carb) 88%,var(--paper))}.diary-panel .diary-photo-macros .f{color:color-mix(in oklch,var(--fat) 88%,var(--paper))}.diary-panel .diary-photo-card-skeleton{background:linear-gradient(110deg,var(--bg-2) 8%,color-mix(in oklch,var(--paper) 70%,var(--bg-2)) 18%,var(--bg-2) 33%);background-size:200% 100%;animation:1.15s ease-in-out infinite diary-skeleton-shimmer}.diary-panel .diary-photo-empty{border-top:0;padding-top:36px;padding-bottom:44px}.diary-panel .day-entry.is-revealing .diary-photo-body.is-revealing .diary-photo-reveal{animation:.42s cubic-bezier(.22,1,.36,1) both diary-photo-in;animation-delay:var(--photo-delay,0s)}@keyframes diary-photo-in{0%{opacity:0;transform:scale(.985)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.diary-panel .sk{background:linear-gradient(90deg,var(--bg-2) 0%,var(--line-2) 50%,var(--bg-2) 100%);background-size:200% 100%;border-radius:8px;animation:1.15s ease-in-out infinite diary-skeleton-shimmer}.diary-meal-skeleton-row{cursor:default;pointer-events:none}.diary-meal-skeleton-row .sk-time{width:44px;height:12px}.diary-meal-skeleton-row .sk-stripe{background:var(--line-2);border-radius:3px;width:3px;height:32px;animation:none}.diary-meal-skeleton-row .sk-body{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.diary-meal-skeleton-row .sk-title{width:min(72%,280px);height:14px}.diary-meal-skeleton-row .sk-desc{opacity:.85;width:min(48%,180px);height:12px}.diary-meal-skeleton-row .sk-right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.diary-meal-skeleton-row .sk-kcal{width:64px;height:18px}.diary-meal-skeleton-row .sk-macros{opacity:.85;width:72px;height:10px}.diary-meal-skeleton-row{animation:.34s cubic-bezier(.22,1,.36,1) both diary-skeleton-row-in;animation-delay:var(--sk-delay,0s)}@keyframes diary-day-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-head-in{0%{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-meal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-skeleton-row-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes diary-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.diary-panel .diary-feed-slot,.diary-panel .day-entry.is-revealing .diary-day-head,.diary-panel .day-entry .meals-list.is-revealing .diary-meal-reveal,.diary-panel .day-entry.is-revealing .diary-photo-body.is-revealing .diary-photo-reveal,.diary-meal-skeleton-row,.diary-panel .sk,.diary-panel .diary-macro-ring-fill{transition:none;animation:none}}.diary-panel .macsplit .mac-legend b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.diary-load-more{justify-content:center;padding:8px 0 24px;display:flex}.stat-grid{grid-template-columns:repeat(4,1fr);gap:14px;width:100%;margin-bottom:22px;display:grid}.stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px}.stat .k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.stat .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums;margin:8px 0 4px}.stat .v small{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-medium)}.stat .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.stat .d .arrow{font-family:var(--dash-font-mono);font-weight:var(--dash-weight-semibold)}.stat.up .arrow{color:var(--accent)}.stat.down .arrow{color:var(--good)}.stat .spark{width:100%;height:36px;margin-top:10px;display:block}.grid2{grid-template-columns:2fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.grid12{grid-template-columns:1.2fr 1fr;align-items:start;gap:18px;width:100%;margin-bottom:18px;display:grid}.chartwrap{margin-top:10px;position:relative}.chartwrap svg{width:100%;height:auto;display:block}.chartwrap .tooltip{background:var(--ink);color:#faf7f1;font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);pointer-events:none;z-index:2;border-radius:10px;min-width:170px;padding:10px 12px;transition:left 80ms,opacity .12s;position:absolute;top:18px;transform:translate(-50%)}.chartwrap:not(.is-hovering) .tooltip{transform:translate(-50%)}.chartwrap .tooltip .tt-date{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:#8c8475;line-height:var(--dash-leading-snug);margin-bottom:4px}.chartwrap .tooltip .tt-val{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.chartwrap .tooltip .tt-mac{font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:#cfc8b7;line-height:var(--dash-leading-snug);margin-top:6px}.chartwrap .tooltip:after{content:"";border:6px solid #0000;border-top-color:var(--ink);width:0;height:0;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.chartwrap.weight-chart .tooltip{min-width:130px;font-size:var(--dash-text-sm);top:auto;bottom:calc(100% + 8px)}.chartwrap.weight-chart .tooltip .tt-val{font-size:var(--dash-text-xl)}.chartwrap.weight-chart .tooltip:after{border-top-color:var(--ink);border-right-color:#0000;top:auto;bottom:-6px}.stack-col.is-active .stack-bar{outline:2px solid var(--ink);outline-offset:2px}.stack-col.is-active .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.heat .cell:not(.empty){cursor:help}.tod .h{cursor:crosshair;transition:transform .1s}.tod .h.is-active{transform-origin:bottom;transform:scaleY(1.03)}.tod .h.is-active i{background:var(--accent)}.tod-tip{font-size:var(--dash-text-sm);color:var(--ink-2);font-family:var(--dash-font-mono);line-height:var(--dash-leading-snug);margin-top:8px}.stack-chart{align-items:flex-end;gap:10px;height:200px;margin-top:14px;display:flex}.stack-col{cursor:pointer;flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.stack-bar{background:var(--line-2);border-radius:6px;flex-direction:column-reverse;width:100%;display:flex;overflow:hidden}.stack-bar i{width:100%;display:block}.stack-bar .p{background:var(--pro)}.stack-bar .c{background:var(--carb)}.stack-bar .f{background:var(--fat)}.stack-col .lbl{font-size:var(--dash-text-caption);color:var(--muted);letter-spacing:var(--dash-tracking-wide);text-align:center;line-height:var(--dash-leading-snug)}.stack-foot{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:10px;padding-top:10px;display:flex}.stack-leg{flex-wrap:wrap;gap:14px;display:flex}.stack-leg i{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:5px;display:inline-block}.heat{grid-template-columns:60px repeat(7,1fr);gap:4px;margin-top:14px;display:grid}.heat .hd{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);place-items:center;display:grid}.heat .hr{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);align-items:center;display:flex}.heat .cell{aspect-ratio:1.4;font-size:var(--dash-text-caption);font-variant-numeric:tabular-nums;color:var(--ink-2);cursor:default;line-height:var(--dash-leading-snug);border-radius:6px;place-items:center;display:grid}.heat .cell.empty{background:repeating-linear-gradient(45deg,var(--line-2),var(--line-2) 3px,var(--paper) 3px,var(--paper) 6px);color:var(--muted-2)}.heat .cell.l1{color:var(--ink-2);background:#eef0e7}.heat .cell.l2{background:#d8dec3}.heat .cell.l3{color:#fff;background:#a8b685}.heat .cell.l4{color:#fff;background:#6f8146}.heat .cell.l5{color:#fff;background:#3f5022}.heat .cell.over{background:var(--accent);color:#fff}.heat .cell.today{outline:2px solid var(--ink);outline-offset:1px}.heat-leg{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin-top:14px;display:flex}.heat-leg i{border-radius:4px;width:14px;height:14px;display:inline-block}.tfoods .food-row{border-top:1px solid var(--line-2);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);grid-template-columns:30px 1fr auto 80px;align-items:center;gap:12px;padding:11px 0;display:grid}.tfoods .food-row:first-of-type{border-top:0;padding-top:0}.tfoods .food-row .rank{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums}.tfoods .food-row .name b{font-weight:var(--dash-weight-medium);display:block}.tfoods .food-row .name span{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.tfoods .food-row .count{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.tfoods .food-row .bar{background:var(--line-2);border-radius:3px;height:6px;overflow:hidden}.tfoods .food-row .bar i{background:var(--ink-2);border-radius:3px;height:100%;display:block}.tod{align-items:flex-end;gap:3px;height:120px;margin-top:14px;display:flex}.tod .h{background:var(--line-2);border-radius:3px;flex:1;min-height:4px;position:relative}.tod .h i{background:var(--ink-2);border-radius:3px;position:absolute;bottom:0;left:0;right:0}.tod .h.peak i{background:var(--accent)}.tod-labels{font-size:var(--dash-text-caption);color:var(--muted);line-height:var(--dash-leading-snug);justify-content:space-between;margin-top:6px;padding:0 2px;display:flex}.wlegend{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;display:flex}.wlegend i{vertical-align:middle;border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.wlegend i.actual{background:var(--ink)}.wlegend i.trend{background:var(--accent)}.insight-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;gap:14px;padding:16px;display:flex}.insight-card .ico{border-radius:9px;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid}.insight-card .ico svg{stroke-width:1.7px;width:18px;height:18px}.insight-card h4{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);margin:0 0 4px}.insight-card p{color:var(--muted);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);margin:0}.insight-card p b{color:var(--ink);font-weight:var(--dash-weight-medium)}.analytics-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.analytics-panel .pagehead .eyebrow{color:var(--accent)}.analytics-panel .analytics-head-muted{font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);color:var(--muted);letter-spacing:var(--dash-tracking-normal);line-height:var(--dash-leading-relaxed);margin-top:8px;display:block}.analytics-panel .pagehead .sub{max-width:52ch}.analytics-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.analytics-panel .analytics-adherence{font-family:var(--dash-font-mono);color:var(--ink);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-semibold)}.analytics-stat-pill{color:var(--ink-2);font-weight:var(--dash-weight-semibold);background:var(--bg-2);border-color:var(--line)}.analytics-panel .seg-quiet button.on{background:var(--ink);color:#faf7f1}.analytics-panel .stat{padding:18px}.analytics-panel .stat.stat-hero{color:#f3efe7;background:#1a1a18;border-color:#2a271d}.analytics-panel .stat.stat-hero .k{color:#8c8475}.analytics-panel .stat.stat-hero .v{color:#f3efe7}.analytics-panel .stat.stat-hero .v small,.analytics-panel .stat.stat-hero .d{color:#8c8475}.analytics-panel .stat.stat-hero .d b{color:#f3efe7}.analytics-panel .stat .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .stat.stat-hero .v{font-size:var(--dash-text-display)}.analytics-panel .stat .v small{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-semibold)}.analytics-panel .stat.down .arrow{color:var(--good);font-weight:var(--dash-weight-bold)}.analytics-panel .stat.up .arrow{color:var(--accent);font-weight:var(--dash-weight-bold)}.analytics-panel .stat .d b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .stat.stat-hero .arrow{color:#7cb88a}.analytics-panel .chip.good.analytics-chip{color:var(--good);font-weight:var(--dash-weight-semibold);background:#eef5ef;border-color:#cfe2cf}.analytics-panel .chip.warn.analytics-chip{color:var(--warn);font-weight:var(--dash-weight-semibold);background:#fff3df;border-color:#f1dca4}.analytics-panel .analytics-weight-foot{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--muted);flex-direction:column;align-items:flex-start;gap:4px;margin-top:10px;padding-top:10px}.analytics-panel .analytics-weekend-split{grid-template-columns:1fr 1fr;gap:12px;margin-top:6px;display:grid}.analytics-panel .analytics-weekend-k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug)}.analytics-panel .analytics-weekend-v{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-top:4px}.analytics-panel .analytics-sidebar{flex-direction:column;gap:18px;display:flex}.analytics-panel .analytics-chart-row{align-items:stretch}.analytics-panel .analytics-chart-row>.panel,.analytics-panel .analytics-chart-row>.analytics-sidebar{flex-direction:column;min-height:0;display:flex}.analytics-panel .analytics-chart-row .analytics-calories-panel,.analytics-panel .analytics-chart-row .analytics-weight-panel{flex-direction:column;flex:1;height:100%;display:flex}.analytics-panel .analytics-chart-row .chartwrap{flex-direction:column;flex:1;min-height:180px;margin-top:10px;display:flex}.analytics-panel .analytics-chart-row .chartwrap svg{flex:1;height:100%;min-height:180px}.analytics-panel .analytics-chart-row .analytics-calories-panel>.stack-foot,.analytics-panel .analytics-chart-row .analytics-weight-panel>.wlegend{margin-top:auto}.analytics-panel .analytics-metric-row{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.analytics-panel .analytics-metric-val{font-family:var(--dash-font);font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-metric-val-lg{font-size:var(--dash-text-display)}.analytics-panel .analytics-metric-unit{color:var(--muted);font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.analytics-panel .stack-foot b,.analytics-panel .analytics-heat-note b,.analytics-panel .analytics-tod-meta b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-macro-stat{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-macro-unit{color:var(--muted);font-size:var(--dash-text-base);font-weight:var(--dash-weight-regular);margin-left:4px}.analytics-panel .analytics-heat-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:4px 0 0}.analytics-panel .tfoods .food-row .rank{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--muted)}.analytics-panel .tfoods .food-row .bar i.is-over{background:var(--accent)}.analytics-panel .analytics-projection-goal{font-family:var(--dash-font);font-size:var(--dash-text-display);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums}.analytics-panel .analytics-projection-label{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.analytics-panel .analytics-projection-k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-projection-v{font-family:var(--dash-font);font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);color:var(--ink);font-variant-numeric:tabular-nums lining-nums;margin-top:4px}.analytics-panel .analytics-projection-foot{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed)}.analytics-panel .heat-leg .heat-l1{background:#eef0e7}.analytics-panel .heat-leg .heat-l2{background:#d8dec3}.analytics-panel .heat-leg .heat-l3{background:#a8b685}.analytics-panel .heat-leg .heat-l4{background:#6f8146}.analytics-panel .heat-leg .heat-l5{background:#3f5022}.analytics-panel .heat-leg .heat-over{background:var(--accent)}.analytics-panel .heat-over-label{margin-left:8px}.analytics-panel .stack-leg .leg-intake{background:var(--ink)}.analytics-panel .stack-leg .leg-trend{background:var(--accent);opacity:.75}.analytics-panel .stack-leg .leg-goal{border-top:1px dashed var(--muted-2);background:0 0;border-radius:0;width:10px;height:0}.analytics-panel .analytics-macro-summary{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.analytics-panel .stack-col.is-current .lbl{color:var(--accent);font-weight:var(--dash-weight-semibold)}.analytics-panel .stack-col.is-active .stack-bar{outline:2px solid var(--ink);outline-offset:1px}.analytics-panel .stack-col.is-active .lbl{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .tod .h.peak i,.analytics-panel .tod .h.is-active i{background:var(--accent)}.analytics-panel .analytics-tod-meta{color:var(--muted);border-top:1px dashed var(--line);font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:12px;padding-top:10px;display:flex}.analytics-panel .tfoods .food-row .bar i{background:var(--ink-2)}.analytics-panel .wlegend i.trend{background:var(--accent)}.analytics-panel .wlegend i.actual{background:var(--ink)}.analytics-panel .insight-card .ico{background:var(--bg-2);border:1px solid var(--line-2)}.analytics-panel .insight-card h4{font-weight:var(--dash-weight-semibold);color:var(--ink);font-size:var(--dash-text-base)}.analytics-panel .insight-card p b{color:var(--ink);font-weight:var(--dash-weight-semibold)}.analytics-panel .analytics-projection{flex-direction:column;gap:14px;margin-top:6px;display:flex}.analytics-panel .analytics-projection-divider{background:var(--line-2);height:1px}.analytics-panel .analytics-projection-row{justify-content:space-between;gap:12px;display:flex}.analytics-panel .analytics-projection-right{text-align:right}.analytics-panel .analytics-progress{background:var(--line-2);border-radius:4px;height:8px;overflow:hidden}.analytics-panel .analytics-progress-fill{background:var(--accent);border-radius:4px;height:100%}.analytics-panel .analytics-projection-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;display:flex}.analytics-panel .analytics-projection-btn{justify-content:center}.seg.sm button{font-size:var(--dash-text-sm);padding:5px 10px}.settings-layout{grid-template-columns:220px 1fr;align-items:start;gap:32px;width:100%;display:grid}.settings-toc{flex-direction:column;gap:2px;display:flex;position:sticky;top:24px}.settings-toc a,.settings-toc .toc-item{font-size:var(--dash-text-sm);color:var(--muted);cursor:pointer;font:inherit;text-align:left;width:100%;line-height:var(--dash-leading-snug);white-space:nowrap;font-weight:var(--dash-weight-regular);background:0 0;border:0;border-radius:8px;padding:8px 12px;display:block;position:relative}.settings-toc a:hover,.settings-toc .toc-item:hover{color:var(--ink);background:var(--bg-2)}.settings-toc a.active,.settings-toc .toc-item.active{color:var(--ink);background:var(--bg-2);font-weight:var(--dash-weight-medium)}.settings-toc a.active:before,.settings-toc .toc-item.active:before{content:"";background:var(--accent);border-radius:0 2px 2px 0;width:2px;position:absolute;top:8px;bottom:8px;left:0}.settings-toc .group{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium);padding:14px 12px 6px}.settings-sec{margin-bottom:32px;scroll-margin-top:24px}.settings-panel .settings-main{min-width:0}.settings-panel .settings-sec-active{outline:none;margin-bottom:0}.settings-panel .settings-sec-active:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:8px}.settings-sec-head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:18px;padding-bottom:14px;display:flex}.settings-sec-head h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);line-height:var(--dash-leading-tight);margin:0}.settings-sec-head .desc{color:var(--muted);font-size:var(--dash-text-sm);max-width:48ch;line-height:var(--dash-leading-relaxed)}.set-card{background:var(--paper);border:1px solid var(--line);border-radius:14px}.set-card+.set-card{margin-top:14px}.set-card-section{border-top:1px solid var(--line-2);padding:18px 22px}.set-card-section:first-child{border-top:0}.set-card-section h3{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);margin:0 0 4px}.set-card-section .p{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:0}.set-row{grid-template-columns:1fr auto;align-items:center;gap:18px;display:grid}.set-row .right{align-items:center;gap:10px;display:flex}.set-row+.set-row{margin-top:14px}.set-grid-2{grid-template-columns:1fr 1fr;gap:14px;display:grid}.set-grid-3{grid-template-columns:1fr 1fr 1fr;gap:14px;display:grid}.set-grid-4{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.profile-head{flex-wrap:wrap;align-items:center;gap:18px;padding:22px;display:flex}.big-avatar{background:linear-gradient(135deg,var(--accent),var(--brand-red-hover));color:#fff;width:72px;height:72px;font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);border-radius:50%;flex-shrink:0;place-items:center;display:grid;position:relative;overflow:hidden}.big-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.big-avatar .badge{background:var(--ink);color:#faf7f1;border:2px solid var(--paper);border-radius:50%;place-items:center;width:24px;height:24px;display:grid;position:absolute;bottom:-2px;right:-2px}.big-avatar .badge svg{stroke-width:2px;width:11px;height:11px}.profile-head .name{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight)}.profile-head .em{color:var(--muted);font-size:var(--dash-text-base);line-height:var(--dash-leading-relaxed);margin-top:4px}.profile-head .meta{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;margin-top:8px;display:flex}.profile-head .meta b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.goal-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:8px;padding:18px;display:flex}.goal-card.selected{border-color:var(--ink);outline:1.5px solid var(--ink);outline-offset:-1px}.goal-card .k{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);font-weight:var(--dash-weight-medium)}.goal-card.selected .k{color:var(--accent)}.goal-card .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);font-variant-numeric:tabular-nums lining-nums}.goal-card .v small{font-size:var(--dash-text-lg);color:var(--muted);font-weight:var(--dash-weight-medium)}.goal-card .edit{border-top:1px dashed var(--line);font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);justify-content:space-between;align-items:center;margin-top:auto;padding-top:10px;display:flex}.goal-card .edit button{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.macro-split{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.macro-split .splitbar{background:var(--line-2);border-radius:7px;flex:1;min-width:160px;height:14px;display:flex;overflow:hidden}.macro-split .splitbar i{height:100%;display:block}.macro-split .splitbar i.p{background:var(--pro)}.macro-split .splitbar i.c{background:var(--carb)}.macro-split .splitbar i.f{background:var(--fat)}.macro-split .nums{font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);flex-wrap:wrap;gap:14px;display:flex}.macro-split .nums b{font-size:var(--dash-text-lg);color:var(--ink);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);font-variant-numeric:tabular-nums lining-nums;font-family:inherit;display:block}.macro-split .nums span{color:var(--muted)}.set-notif{border-top:1px solid var(--line-2);align-items:center;gap:14px;padding:14px 0;display:flex}.set-notif:first-child{border-top:0;padding-top:0}.set-notif .ico{background:var(--bg-2);border:1px solid var(--line);border-radius:8px;flex-shrink:0;place-items:center;width:32px;height:32px;display:grid}.set-notif .ico svg{stroke-width:1.6px;width:14px;height:14px}.set-notif .body{flex:1;min-width:0}.set-notif .body .t{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug)}.set-notif .body .d{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:2px}.set-notif .switch{margin-left:auto}.set-card.danger{background:#fbeee7;border-color:#f0d1c1}.set-card.danger h3{color:var(--accent)}.btn.danger-btn{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.danger-btn:hover{background:var(--brand-red-hover)}.act-card{cursor:pointer;font:inherit;text-align:left;border:0;width:100%}.act-card input[type=radio]{float:right;accent-color:var(--accent)}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:50%;width:22px;height:22px;padding:0}.swatch.on{border:2px solid var(--ink);outline:2px solid var(--ink);outline-offset:2px}.inline-input{text-align:right;border:1px solid var(--line);width:64px;font:inherit;background:#fff;border-radius:9px;padding:7px 10px}.inline-input.wide{width:80px}.settings-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight)}.settings-panel .pagehead h1 em{color:var(--accent);font-style:normal;font-weight:var(--dash-weight-bold)}.settings-panel .pagehead .sub{max-width:48ch;font-size:var(--dash-text-base);color:var(--ink-2)}.settings-panel .pagehead .eyebrow{color:var(--accent);letter-spacing:var(--dash-tracking-caps);font-weight:var(--dash-weight-semibold)}.settings-panel .pagehead-meta{font-size:var(--dash-text-sm);color:var(--muted);flex-direction:column;align-items:flex-end;gap:10px;display:flex}.settings-panel .settings-status-pill{margin-left:14px}.settings-panel .settings-status-dot{background:var(--good)}.settings-panel .settings-status{font-weight:var(--dash-weight-medium);color:var(--good)}.settings-panel .settings-toc .toc-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px;color:var(--ink)}.settings-panel .settings-toc .toc-item.active:before{background:var(--accent);width:3px}.settings-panel .settings-toc .toc-item.active{font-weight:var(--dash-weight-semibold);color:var(--ink);background:var(--accent-2)}.settings-panel .settings-sec-head h2{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);color:var(--ink);line-height:var(--dash-leading-tight)}.settings-panel .settings-sec-head .desc{max-width:48ch;font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.settings-panel .settings-sec{margin-bottom:28px}.settings-panel .settings-sec-active.settings-sec-enter{animation:settings-panel-in .22s var(--ease-out-quint) both}@keyframes settings-panel-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.settings-panel .set-card-section h3{font-weight:var(--dash-weight-semibold);color:var(--ink)}.settings-panel .settings-profile-meta{flex:1;min-width:0}.settings-panel .settings-profile-hero{color:#f3efe7;background:#1a1a18;border-color:#2a271d;position:relative;overflow:hidden}.settings-panel .settings-profile-hero-glow{pointer-events:none;background:radial-gradient(ellipse 75% 55% at 100% 0%, color-mix(in oklch, var(--accent) 22%, transparent), transparent 68%);position:absolute;inset:0}.settings-panel .settings-profile-hero .profile-head{z-index:1;padding:24px 22px;position:relative}.settings-panel .settings-profile-hero .big-avatar{width:80px;height:80px;font-size:var(--dash-text-3xl);background:linear-gradient(145deg,var(--accent),var(--brand-red-hover));color:#f9f5f1;transition:transform .28s var(--ease-out-quart), box-shadow .28s var(--ease-out-quart);border:2px solid #34322c;box-shadow:0 10px 28px #e44c3c38}.settings-panel .settings-profile-hero .big-avatar:hover{transform:scale(1.03);box-shadow:0 12px 32px #e44c3c47}.settings-panel .settings-profile-hero .big-avatar .badge{color:#f3efe7;background:#2a271d;border-color:#1a1a18}.settings-panel .settings-profile-eyebrow{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--brand-red-soft);margin:0 0 8px}.settings-panel .settings-profile-hero .profile-head .name{font-size:var(--dash-text-3xl);font-weight:var(--dash-weight-bold);color:#f3efe7}.settings-panel .settings-profile-greeting{max-width:36ch;font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:#a39b8c;margin:6px 0 0}.settings-panel .settings-profile-hero .profile-head .em{color:#8c8475;font-size:var(--dash-text-sm);margin-top:10px}.settings-panel .settings-profile-chips{flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none;display:flex}.settings-panel .settings-profile-chip{font-size:var(--dash-text-sm);line-height:var(--dash-leading-snug);color:#b8b0a0;background:#ffffff0d;border:1px solid #34322c;border-radius:999px;align-items:center;gap:.3em;padding:7px 12px;display:inline-flex}.settings-panel .settings-profile-chip b{color:#f3efe7;font-weight:var(--dash-weight-semibold)}.settings-panel .settings-profile-chip--accent{border-color:color-mix(in oklch, var(--accent) 45%, #34322c);background:color-mix(in oklch, var(--accent) 14%, transparent);color:#e8e2d8}.settings-panel .settings-profile-chip--good{border-color:color-mix(in oklch, var(--good) 35%, #34322c);background:color-mix(in oklch, var(--good) 10%, transparent)}.settings-panel .settings-profile-chip--warm{border-color:color-mix(in oklch, var(--warn) 35%, #34322c);background:color-mix(in oklch, var(--warn) 10%, transparent)}.settings-panel .settings-profile-chip--muted{background:#ffffff08;border-color:#40403a}.settings-panel .settings-profile-hero .set-card-section{z-index:1;background:#ffffff05;border-top-color:#2a271d;position:relative}.settings-panel .settings-body-stats-title{font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);color:#f3efe7;margin:0 0 4px}.settings-panel .settings-body-stats-desc{color:#8c8475;margin:0 0 16px}.settings-panel .settings-body-stats-grid{margin-top:0}.settings-panel .settings-save-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.settings-panel .settings-save-btn.is-saving{opacity:.88;cursor:wait}@media (max-width:46.5rem){.settings-panel .settings-profile-hero .profile-head{flex-direction:column;align-items:flex-start;gap:16px}.settings-panel .settings-profile-hero .big-avatar{width:72px;height:72px}.settings-panel .settings-profile-greeting{max-width:none}.settings-panel .settings-save-row .btn{width:100%}}@media (prefers-reduced-motion:reduce){.settings-panel .settings-profile-hero .big-avatar,.settings-panel .settings-profile-hero .big-avatar:hover{transition:none;transform:none}}.settings-panel .settings-profile-hero .field label{color:#cfc8b7;font-weight:var(--dash-weight-medium)}.settings-panel .settings-profile-hero .field input,.settings-panel .settings-profile-hero .field select{color:#f3efe7;background:#141412;border-color:#34322c}.settings-panel .settings-profile-hero .field input:focus-visible,.settings-panel .settings-profile-hero .field select:focus-visible{border-color:var(--accent);outline-color:var(--accent)}.settings-panel .settings-profile-hero .field input[readonly]{opacity:.72}.settings-panel .settings-profile-hero .hint{color:#6f6857}.settings-panel .settings-goals-grid{margin-bottom:16px}.settings-panel .goal-card{border-radius:14px;padding:18px}.settings-panel .goal-card .k{font-weight:var(--dash-weight-semibold)}.settings-panel .goal-card .v{font-size:var(--dash-text-4xl);font-weight:var(--dash-weight-bold);letter-spacing:var(--dash-tracking-tight);color:var(--ink)}.settings-panel .goal-card .v.v-sm{font-size:var(--dash-text-2xl)}.settings-panel .goal-card .v.v-act{font-size:var(--dash-text-3xl);color:var(--accent)}.settings-panel .goal-card .v small{font-size:var(--dash-text-lg);font-weight:var(--dash-weight-medium)}.settings-panel .goal-card-hero{color:#f3efe7;background:#1a1a18;border-color:#2a271d;grid-column:span 1}.settings-panel .goal-card-hero .k{color:#8c8475}.settings-panel .goal-card-hero .v{font-size:var(--dash-text-5xl);color:#f3efe7}.settings-panel .goal-card-hero .v small,.settings-panel .goal-card-hero .goal-card-detail{color:#8c8475}.settings-panel .goal-card.selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-2)}.settings-panel .goal-card.selected .k{color:var(--accent)}.settings-panel .goal-card.selected .v{color:var(--ink)}.settings-panel .goal-card-detail{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.settings-panel .settings-macro-split{margin-top:16px}.settings-panel .macro-split .splitbar i{transition:width .35s var(--ease-out-expo)}.settings-panel .macro-split .splitbar{border-radius:7px;height:14px}.settings-panel .macro-split .nums b{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-bold);color:var(--ink)}.settings-panel .settings-macro-presets{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.settings-panel .settings-macro-presets .btn.primary{background:var(--accent);border-color:var(--accent);color:#f9f5f1}.settings-panel .settings-macro-presets .btn.primary:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}.settings-panel .settings-activity-grid{gap:12px}.settings-panel .act-card:focus-visible,.settings-panel .act-card:focus-within{outline:2px solid var(--accent);outline-offset:2px}.settings-panel .act-card input[type=radio]{accent-color:var(--accent)}.settings-panel .set-row-copy{min-width:0}.settings-panel .set-row-control{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.settings-panel .settings-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.settings-panel .set-notif .body .t{font-weight:var(--dash-weight-semibold);color:var(--ink)}.settings-panel .set-notif-plain.is-on{background:var(--accent-2);border-top-color:#0000;border-radius:10px;margin:2px 0;padding:12px 14px}.settings-panel .set-notif-plain.is-on+.set-notif{border-top-color:#0000}.settings-panel .set-notif-plain.is-on .body .t{color:var(--ink)}.settings-panel .settings-shortcut-card .settings-shortcut-lead{max-width:52ch;margin:0 0 16px}.settings-panel .settings-shortcut-actions{flex-wrap:wrap;gap:10px;display:flex}.settings-panel .settings-shortcut-note{max-width:52ch;margin:14px 0 0}.settings-panel .settings-footnote{color:var(--muted);justify-content:flex-start}.settings-panel .switch{min-width:34px;min-height:20px}.settings-panel .switch:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.settings-panel .switch.on{background:var(--accent)}.settings-panel .settings-lang-field{min-width:200px}.settings-panel .seg.sm button.on{background:var(--ink);color:var(--paper);font-weight:var(--dash-weight-semibold)}.settings-panel .seg.sm button:focus-visible,.settings-panel .settings-macro-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.settings-panel .set-card.danger{background:var(--accent-2);border-color:#f0d1c1}.settings-panel .set-card.danger h3{color:var(--accent);font-weight:var(--dash-weight-semibold)}.settings-panel .btn.danger-btn{background:var(--accent);color:#f9f5f1;border-color:var(--accent);font-weight:var(--dash-weight-semibold)}.settings-panel .btn.danger-btn:hover{background:var(--brand-red-hover);border-color:var(--brand-red-hover)}@media (min-width:900px){.settings-panel .goal-card-hero{grid-column:span 1}}@media (max-width:720px){.settings-panel .set-row{grid-template-columns:1fr;align-items:start;gap:10px}.settings-panel .set-row-control,.settings-panel .settings-row-actions{justify-content:flex-start}}@media (prefers-reduced-motion:reduce){.settings-panel .settings-sec-active.settings-sec-enter{animation:none}.settings-panel .macro-split .splitbar i{transition:none}}.settings-panel .settings-plan-pill{background:var(--accent-2);color:var(--accent);font-family:var(--dash-font-mono);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);letter-spacing:var(--dash-tracking-normal);border:1px solid #f0d1c1;border-radius:999px;align-items:center;padding:6px 12px;display:inline-flex}.connections-panel .pagehead h1{font-size:var(--dash-text-5xl);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-tight)}.connections-panel .pagehead .sub{max-width:52ch}.connections-panel .pagehead .eyebrow{color:var(--muted);letter-spacing:var(--dash-tracking-caps)}.connections-panel .conn-channels{flex-direction:column;gap:14px;max-width:760px;margin-top:24px;display:flex}.connections-panel .conn-ch{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:0;transition:border-color .2s,box-shadow .2s;display:block;position:relative;overflow:hidden}.connections-panel .conn-ch.is-expanded{border-color:var(--ink-2);box-shadow:0 10px 28px #1c19120f}.connections-panel .conn-ch.live.is-collapsed{background:linear-gradient(180deg,#fbfdfb 0%,var(--paper) 100%);border-color:#d8e8dc}.connections-panel .conn-ch-toggle{text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:16px;padding:18px 20px;display:flex}.connections-panel .conn-ch.featured .conn-ch-toggle{padding:22px 22px 20px}.connections-panel .conn-ch-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.connections-panel .conn-ch-toggle-icon{color:var(--muted);flex-shrink:0;place-items:center;margin-left:auto;display:grid}.connections-panel .conn-chevron{transition:transform .2s}.connections-panel .conn-chevron.is-open{transform:rotate(180deg)}.connections-panel .conn-ch-panel{border-top:1px solid var(--line)}.connections-panel .conn-ch-panel-inner{flex-direction:column;gap:20px;padding:20px 22px 22px;display:flex}.connections-panel .conn-ch:not(.featured) .conn-ch-panel-inner{padding:20px}.connections-panel .conn-ch-top-inline{padding-top:0}.connections-panel .conn-cta-inline{flex-shrink:0;margin-left:auto}.connections-panel .conn-cta-split{flex-wrap:wrap;justify-content:flex-start;width:100%}.connections-panel .conn-cta-split .btn{flex:160px;justify-content:center}.connections-panel .conn-linked-summary{flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:6px;display:flex}.connections-panel .conn-linked-handle{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);color:var(--ink-2);background:var(--bg-2);border:1px solid var(--line);line-height:var(--dash-leading-snug);border-radius:999px;padding:2px 9px}.connections-panel .conn-linked-date{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug)}.connections-panel .conn-linked-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%, color-mix(in oklch, var(--bg-2) 65%, var(--paper)) 100%);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1c19120a}.connections-panel .conn-linked-body{padding:16px 18px 18px}.connections-panel .conn-linked-card-main{flex:1;min-width:min(100%,240px)}.connections-panel .conn-linked-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.connections-panel .conn-linked-card-kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-linked-identity{margin-top:10px}.connections-panel .conn-linked-name{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);color:var(--ink);line-height:var(--dash-leading-tight)}.connections-panel .conn-linked-username{font-size:var(--dash-text-sm);color:var(--muted);font-family:var(--dash-font-mono);margin-top:2px}.connections-panel .conn-linked-meta{flex-wrap:wrap;align-items:baseline;gap:8px;margin-top:12px;display:flex}.connections-panel .conn-linked-meta-label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-linked-meta-value{font-size:var(--dash-text-sm);color:var(--ink-2)}.connections-panel .conn-linked-hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:48ch;margin:12px 0 0}.connections-panel .conn-linked-hint .mono{font-family:var(--dash-font-mono)}.connections-panel .conn-linked-foot{border-top:1px solid var(--line);background:color-mix(in oklch, var(--bg-2) 80%, var(--paper));flex-direction:column;align-items:stretch;gap:10px;padding:12px;display:flex}.connections-panel .conn-linked-foot-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.connections-panel .conn-linked-foot-actions .btn{flex:160px;justify-content:center}.connections-panel .conn-unpair{flex-direction:column;gap:6px;display:flex}.connections-panel .conn-unpair-btn{width:100%;color:var(--accent);border-color:color-mix(in oklch, var(--accent) 28%, var(--line));background:color-mix(in oklch, var(--accent-2) 45%, var(--paper));justify-content:center}.connections-panel .conn-unpair-btn:hover:not(:disabled){background:color-mix(in oklch, var(--accent-2) 70%, var(--paper));border-color:color-mix(in oklch, var(--accent) 40%, var(--line));color:var(--brand-red-hover)}.connections-panel .conn-unpair-btn:disabled{opacity:.7;cursor:wait}.connections-panel .conn-unpair-error{font-size:var(--dash-text-sm);color:var(--accent);text-align:center;line-height:var(--dash-leading-snug);margin:0}.connections-panel .conn-setup-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:0;display:flex}.connections-panel .conn-setup-copy{flex:1;min-width:min(100%,220px)}.connections-panel .conn-logo{color:#f9f5f1;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.connections-panel .conn-logo svg{width:22px;height:22px}.connections-panel .conn-logo.tg{background:linear-gradient(135deg,#37aee2,#08c)}.connections-panel .conn-logo.dc{background:linear-gradient(135deg,#5865f2,#3b46c4)}.connections-panel .conn-logo.wa{background:linear-gradient(135deg,#25d366,#128c7e)}.connections-panel .conn-info{flex:1;min-width:0}.connections-panel .conn-title{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;margin:0;display:flex}.connections-panel .conn-badge{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);background:var(--accent-2);font-weight:var(--dash-weight-medium);line-height:var(--dash-leading-snug);border:1px solid #f0d1c1;border-radius:999px;padding:2px 7px}.connections-panel .conn-badge.warn{color:var(--warn);background:#fff3df;border-color:#f1dca4}.connections-panel .conn-badge.locked{color:var(--muted);background:var(--bg-2);border-color:var(--line)}.connections-panel .conn-desc{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin-top:5px}.connections-panel .conn-desc b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-oauth-note{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);margin:8px 0 0}.connections-panel .conn-oauth-note b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-cta{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.connections-panel .conn-status{font-size:var(--dash-text-sm);color:var(--muted);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.connections-panel .conn-status:before{content:"";background:var(--muted-2);border-radius:50%;flex-shrink:0;width:7px;height:7px}.connections-panel .conn-ch.live .conn-status,.connections-panel .conn-status.is-live{color:var(--good)}.connections-panel .conn-ch.live .conn-status:before,.connections-panel .conn-status.is-live:before{background:var(--good);box-shadow:0 0 0 4px #2f6b3a1f}.connections-panel .conn-ch.featured{gap:0}.connections-panel .conn-ch-top{align-items:flex-start;gap:16px;display:flex}.connections-panel .conn-ch-top .conn-info{flex:1}.connections-panel .conn-ch-top .conn-cta{align-self:flex-start;padding-top:4px}.connections-panel .conn-steps{border-top:1px dashed var(--line);grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:16px;margin:0;padding:20px 0 0;display:grid}.connections-panel .conn-ch-panel-inner>.conn-steps:first-child{border-top:0;padding-top:0}.connections-panel .conn-step{flex-direction:column;gap:8px;display:flex}.connections-panel .conn-step-n{border:1px solid var(--line);width:24px;height:24px;font-family:var(--dash-font-mono);font-size:var(--dash-text-caption);color:var(--muted);background:var(--bg-2);border-radius:50%;place-items:center;display:grid}.connections-panel .conn-step-what{font-size:var(--dash-text-base);font-weight:var(--dash-weight-medium);color:var(--ink);line-height:var(--dash-leading-snug);margin-top:2px}.connections-panel .conn-step-what b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-step-how{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed)}.connections-panel .conn-step-how b{color:var(--ink-2);font-weight:var(--dash-weight-medium)}.connections-panel .conn-pairing-card{border:1px solid var(--line);background:linear-gradient(180deg,var(--paper) 0%, color-mix(in oklch, var(--bg-2) 65%, var(--paper)) 100%);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #1c19120a}.connections-panel .conn-pairing-card.is-locked{background:var(--bg-2)}.connections-panel .conn-pairing-body{padding:16px 18px 18px}.connections-panel .conn-code-label{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted)}.connections-panel .conn-code-empty{font-size:var(--dash-text-base);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:42ch;margin-top:8px}.connections-panel .conn-code-well{border:1px dashed color-mix(in oklch, var(--line) 85%, var(--accent));background:color-mix(in oklch, var(--accent-2) 55%, var(--paper));text-align:center;border-radius:11px;margin-top:12px;padding:14px 16px}.connections-panel .conn-pairing-card.is-locked .conn-code-well{background:var(--paper);border-style:solid;border-color:var(--line)}.connections-panel .conn-code-error{font-size:var(--dash-text-sm);color:var(--accent);margin-top:8px}.connections-panel .conn-code-hint{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-snug);margin-top:10px}.connections-panel .conn-code-linked .conn-code-val-status{font-family:var(--dash-font);letter-spacing:var(--dash-tracking-normal);font-size:var(--dash-text-xl)}.connections-panel .conn-code-val{font-family:var(--dash-font-mono);letter-spacing:.12em;color:var(--ink);font-variant-numeric:tabular-nums lining-nums;font-size:clamp(1.25rem,2.2vw,1.65rem);line-height:1.15;animation:.35s cubic-bezier(.22,1,.36,1) conn-code-in}.connections-panel .conn-pairing-foot{border-top:1px solid var(--line);background:color-mix(in oklch, var(--bg-2) 80%, var(--paper));flex-wrap:wrap;align-items:center;gap:10px;padding:12px;display:flex}.connections-panel .conn-pairing-card.has-code .conn-pairing-foot{padding:10px 12px}.connections-panel .conn-generate-cta{width:100%;min-height:46px;font-size:var(--dash-text-base);font-weight:var(--dash-weight-semibold);box-shadow:none;border-radius:10px;justify-content:center;gap:8px;transition:transform .18s cubic-bezier(.22,1,.36,1),filter .18s cubic-bezier(.22,1,.36,1)}.connections-panel .conn-generate-cta:hover:not(:disabled){filter:brightness(1.03);transform:translateY(-1px)}.connections-panel .conn-generate-cta:active:not(:disabled){filter:none;transform:translateY(0)}.connections-panel .conn-generate-cta:disabled{opacity:.62;cursor:not-allowed}.connections-panel .conn-copy-btn{flex:180px;justify-content:center;min-height:44px}.connections-panel .conn-code-new{flex:none;min-height:44px}.connections-panel .conn-copy-btn svg{flex-shrink:0;width:14px;height:14px}@keyframes conn-code-in{0%{opacity:0;letter-spacing:.06em;transform:translateY(6px)}to{opacity:1;letter-spacing:.12em;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.connections-panel .conn-code-val{animation:none}.connections-panel .conn-generate-cta{transition:none}.connections-panel .conn-generate-cta:hover:not(:disabled),.connections-panel .conn-generate-cta:active:not(:disabled){filter:none;transform:none}}.connections-panel .conn-footnote{max-width:760px}.connections-panel .conn-link{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.connections-panel .conn-link:hover{color:var(--ink-2)}.connections-panel .conn-inline-link{color:var(--ink-2);font-weight:var(--dash-weight-medium);text-underline-offset:2px;text-decoration:underline}.connections-panel .conn-inline-link:hover{color:var(--ink)}.connections-panel .sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:780px){.connections-panel .conn-steps{grid-template-columns:1fr}.connections-panel .conn-ch-toggle{flex-wrap:wrap;align-items:flex-start}.connections-panel .conn-ch-toggle-icon{margin-top:2px;margin-left:0}.connections-panel .conn-cta,.connections-panel .conn-cta-inline{justify-content:space-between;width:100%}.connections-panel .conn-ch-top{flex-direction:column}.connections-panel .conn-ch-top .conn-cta{align-self:stretch;padding-top:0}.connections-panel .conn-ch-top .conn-cta .btn{justify-content:center;width:100%}.connections-panel .conn-linked-foot-actions{flex-direction:column;align-items:stretch}.connections-panel .conn-linked-foot-actions .btn{width:100%}.connections-panel .conn-setup-row{flex-direction:column}.connections-panel .conn-pairing-foot{flex-direction:column;align-items:stretch}.connections-panel .conn-copy-btn,.connections-panel .conn-code-new{width:100%}.connections-panel .conn-ch-panel-inner{gap:16px;padding:16px}}@media (max-width:1080px){.settings-layout{grid-template-columns:1fr}.settings-toc{flex-flow:row;padding-bottom:4px;position:relative;top:auto;overflow-x:auto}.settings-toc a,.settings-toc .toc-item{flex-shrink:0;width:auto}.settings-toc .group{display:none}.settings-panel .settings-toc .toc-item{align-items:center;min-height:44px;padding-top:10px;padding-bottom:10px;display:inline-flex}.set-grid-2,.set-grid-3,.set-grid-4{grid-template-columns:1fr 1fr}}@media (max-width:1180px){.main{padding:24px 28px}.stat-grid{grid-template-columns:repeat(2,1fr)}.grid2,.grid3,.grid12{grid-template-columns:1fr}}@media (max-width:1080px){.diary{grid-template-columns:1fr}.sidecal{position:relative;top:auto}}@media (max-width:820px){:is(html:has(.app),body:has(.app)){overflow-x:clip}.app{flex-direction:column;width:100%;max-width:100vw;min-height:100dvh;display:flex}.nav-desktop{display:none}.dash-mobile-header{z-index:40;display:flex;position:sticky;top:0}.dash-bottom-nav{display:flex}.main{padding:16px 20px calc(20px + 64px + env(safe-area-inset-bottom,0px));flex:1;min-width:0;overflow-x:clip}.topbar{flex-wrap:wrap;gap:12px;margin-bottom:14px}.crumbs{flex-wrap:wrap;row-gap:4px}.crumbs .date-pill{margin-top:4px;margin-left:0}.top-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px;width:100%}.pagehead{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:18px;padding-bottom:14px}.pagehead h1{font-size:var(--dash-text-3xl)}.pagehead-meta{align-items:flex-start;width:100%}.pagehead .sub{font-size:var(--dash-text-sm)}.overview .greeting{font-size:var(--dash-text-3xl)}.overview .hero-left{min-height:auto}.overview .hero-readout{flex-direction:column;align-items:flex-start;gap:14px;margin-top:18px}.overview .hero-readout-past{grid-template-columns:1fr;gap:18px}.overview .readout-past-gap{align-items:flex-start}.overview .readout-past-amount{font-size:var(--dash-text-4xl)}.overview-hero-foot{flex-direction:column;align-items:flex-start;gap:8px}.overview .readout-primary .big{font-size:var(--dash-text-4xl)}.overview .readout-secondary{text-align:left;width:100%;margin-left:0}.overview .ring-wrap{aspect-ratio:1;width:min(240px,100%);height:auto}.overview-week-avg{font-size:var(--dash-text-3xl)}.daystrip{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;margin-right:-20px;padding-right:20px;overflow-x:auto}.daystrip::-webkit-scrollbar{display:none}.day{flex:none;min-width:72px}.meal,.meals-list .meal{grid-template-columns:48px 1fr auto;gap:8px 10px;padding:12px 14px}.meal .stripe,.meals-list .meal .stripe{display:none}.meal .actions,.meals-list .meal .actions{grid-area:1/3/span 2;align-self:center;display:flex;position:static;transform:none}.meal:hover .right,.meals-list .meal:hover .right{visibility:visible}.meal .title,.meals-list .title{font-size:var(--dash-text-sm);text-overflow:ellipsis;overflow:hidden}.meal .kcal,.meals-list .kcal{font-size:var(--dash-text-xl)}.day-head,.diary-panel .diary-day-head{flex-flow:column wrap;justify-content:flex-start;align-items:flex-start;gap:24px;padding:20px 22px;overflow-x:visible}.diary-panel .diary-day-head-macros{gap:12px;width:auto}.diary-panel .diary-day-head-remaining{border-left:0;border-top:1px solid var(--line-2);width:100%;padding-top:10px;padding-left:0}.diary-panel .diary-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(120px,auto);gap:8px;padding:12px 14px 16px}.diary-panel .diary-photo-card.span-wide{grid-column:span 2}.day-head .macsplit{flex-wrap:wrap;width:100%}.macsplit .splitbar{flex:100%;max-width:none}.day-totals{text-align:left}.day-totals .kcal{font-size:var(--dash-text-3xl)}.diary-search{flex:100%;min-width:0}.toolbar{width:100%}.stat-grid{grid-template-columns:1fr 1fr;gap:10px}.set-grid-2,.set-grid-3,.set-grid-4{grid-template-columns:1fr}.heat{-webkit-overflow-scrolling:touch;min-width:0;padding-bottom:4px;overflow-x:auto}.seg{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.seg button{white-space:nowrap;flex-shrink:0}.settings-panel .pagehead h1,.diary-panel .pagehead h1,.analytics-panel .pagehead h1,.connections-panel .pagehead h1{font-size:var(--dash-text-3xl)}.settings-panel .pagehead-meta,.diary-panel .pagehead-meta,.analytics-panel .pagehead-meta{align-items:flex-start}.settings-panel .settings-status-pill{margin-top:8px;margin-left:0}.analytics-panel .stat.stat-hero .v{font-size:var(--dash-text-4xl)}.tfoods .food-row{grid-template-columns:24px 1fr auto;gap:8px;padding:10px 0}.connections-panel .conn-channels{max-width:none}.analytics-panel .analytics-hero-kpi{font-size:var(--dash-text-4xl)}.iconbtn{min-width:40px;min-height:40px}.btn{min-height:40px}.panel{padding:16px}}@media (max-width:480px){.main{padding:14px 16px calc(18px + 64px + env(safe-area-inset-bottom,0px))}.stat-grid{grid-template-columns:1fr}.meal,.meals-list .meal{grid-template-rows:auto auto auto;grid-template-columns:1fr auto}.meal .time,.meals-list .meal .time{font-size:var(--dash-text-caption);grid-area:1/1}.meal>div:nth-child(3),.meals-list .meal>div:nth-child(3){grid-area:2/1/auto/-1}.meal .right,.meals-list .right{grid-area:1/2;align-items:flex-end}.meal .actions,.meals-list .meal .actions{grid-area:3/1/auto/-1;justify-content:flex-end;width:100%}.dash-bottom-nav button span{font-size:.625rem}.pagehead h1{font-size:var(--dash-text-2xl)}.overview .readout-primary .big{font-size:var(--dash-text-3xl)}}.dash-skip-link{z-index:100;background:var(--paper);color:var(--ink);border:1px solid var(--line);font-size:var(--dash-text-sm);font-weight:var(--dash-weight-medium);border-radius:8px;padding:10px 14px;position:absolute;top:-100px;left:12px;box-shadow:0 8px 24px #1c16141f}.dash-skip-link:focus{outline:2px solid var(--accent);outline-offset:2px;top:12px}.dash-truncate{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.dashboard-panel-region:focus{outline:none}.dash-activation-backdrop{z-index:200;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));pointer-events:none;place-items:center;display:grid;position:fixed;inset:0}.dash-activation-scrim{background:color-mix(in oklch, var(--ink) 32%, transparent);cursor:pointer;pointer-events:auto;border:0;animation:.24s cubic-bezier(.16,1,.3,1) both dash-activation-scrim-in;position:absolute;inset:0}@keyframes dash-activation-scrim-in{0%{opacity:0}to{opacity:1}}.dash-activation-dialog{z-index:1;border:1px solid var(--line);background:var(--paper);width:min(100%,24rem);max-height:min(92dvh,36rem);box-shadow:0 28px 56px -32px color-mix(in oklch, var(--ink) 50%, transparent);pointer-events:auto;border-radius:16px;padding:1.125rem 1.25rem;animation:.32s cubic-bezier(.16,1,.3,1) 40ms both dash-activation-in;position:relative;overflow:auto}@keyframes dash-activation-in{0%{opacity:0;transform:translateY(10px)scale(.97)}to{opacity:1;transform:none}}.dash-activation-preview{border:1px solid color-mix(in oklch, var(--ink) 10%, var(--line));background:var(--color-panel,#111);color:var(--color-on-dark,#f3efe7);border-radius:12px;margin-bottom:14px;padding:.625rem .75rem;animation:.48s cubic-bezier(.16,1,.3,1) .12s both dash-activation-preview-in}@keyframes dash-activation-preview-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash-activation-preview-head{font-size:var(--dash-text-caption);font-weight:var(--dash-weight-semibold);letter-spacing:.02em;color:color-mix(in oklch, var(--color-on-dark,white) 72%, transparent);align-items:center;gap:.4rem;margin-bottom:.5rem;display:flex}.dash-activation-preview-time{font-size:.6875rem;font-weight:var(--dash-weight-medium);color:color-mix(in oklch, var(--color-on-dark,white) 52%, transparent);text-transform:lowercase;margin-left:auto}.dash-activation-preview-time:before{content:"";vertical-align:.05em;background:#80dba2;background:lab(80.6998% -37.842 19.4584);border-radius:999px;width:.35rem;height:.35rem;margin-right:.3rem;display:inline-block}.dash-activation-preview-bubble{background:var(--color-panel-strong,#1a1a18);border-radius:.75rem .75rem .75rem .25rem;flex-direction:column;gap:.2rem;padding:.5rem .625rem;display:flex}.dash-activation-preview-status{font-size:.625rem;font-weight:var(--dash-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:color-mix(in oklch, #80dba2 88%, var(--color-on-dark,white))}@supports (color:lab(0% 0 0)){.dash-activation-preview-status{color:color-mix(in oklch, lab(80.6998% -37.842 19.4584) 88%, var(--color-on-dark,white))}}.dash-activation-preview-meal{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-semibold);color:var(--color-on-dark,#f3efe7);line-height:1.35}.dash-activation-preview-kcal{font-size:var(--dash-text-sm);font-weight:var(--dash-weight-bold);color:var(--accent)}.dash-activation-close{border-color:var(--line);background:var(--bg-2);width:32px;height:32px;padding:0;position:absolute;top:10px;right:10px}.dash-activation-close svg{width:16px;height:16px}.dash-activation-kicker{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--accent);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-snug);align-items:center;gap:.4rem;margin:0;display:inline-flex}.dash-activation-kicker.is-ready{color:color-mix(in oklch, #80dba2 82%, var(--ink))}@supports (color:lab(0% 0 0)){.dash-activation-kicker.is-ready{color:color-mix(in oklch, lab(80.6998% -37.842 19.4584) 82%, var(--ink))}}.dash-activation-kicker-dot{background:#80dba2;background:lab(80.6998% -37.842 19.4584);border-radius:999px;flex-shrink:0;width:.4rem;height:.4rem}.dash-activation-kicker-dot.is-live{animation:1.8s ease-in-out infinite dash-activation-pulse}@keyframes dash-activation-pulse{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.dash-activation-reveal{animation:.42s cubic-bezier(.16,1,.3,1) both dash-activation-rise}.dash-activation-reveal.is-delay-1{animation-delay:.18s}.dash-activation-reveal.is-delay-2{animation-delay:.26s}.dash-activation-reveal.is-delay-3{animation-delay:.34s}.dash-activation-reveal.is-delay-4{animation-delay:.4s}.dash-activation-reveal.is-delay-5{animation-delay:.46s}.dash-activation-reveal.is-delay-6{animation-delay:.52s}@keyframes dash-activation-rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.dash-activation-title{font-size:var(--dash-text-2xl);font-weight:var(--dash-weight-bold);line-height:var(--dash-leading-tight);letter-spacing:var(--dash-tracking-tight);color:var(--ink);margin:6px 0 0;padding-right:1.75rem}.dash-activation-lead{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--muted);margin:8px 0 0}.dash-activation-steps{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.dash-activation-step{font-size:var(--dash-text-sm);line-height:var(--dash-leading-relaxed);color:var(--ink-2);align-items:flex-start;gap:.625rem;display:flex}.dash-activation-step-n{background:color-mix(in oklch, var(--accent) 14%, var(--bg-2));width:1.25rem;height:1.25rem;color:var(--accent);font-size:.6875rem;font-weight:var(--dash-weight-bold);border-radius:999px;flex-shrink:0;place-items:center;line-height:1;display:grid}.dash-activation-actions{flex-direction:column;gap:8px;margin-top:16px;display:flex}.dash-activation-actions .btn{justify-content:center;width:100%}.dash-activation-connect{align-items:center;gap:.5rem;display:inline-flex}.dash-activation-connect-icon{flex-shrink:0;width:1rem!important;height:1rem!important}.dash-activation-connect:active:not(:disabled){transform:translateY(1px)}.dash-empty{border:1px dashed var(--line);background:var(--bg-2);border-radius:14px;flex-direction:column;align-items:flex-start;gap:10px;max-width:52ch;padding:28px 24px;display:flex}.dash-empty-inline{width:100%;max-width:none;margin:4px 0 8px}.dash-empty-eyebrow{font-size:var(--dash-text-caption);letter-spacing:var(--dash-tracking-caps);text-transform:uppercase;color:var(--muted);line-height:var(--dash-leading-snug);margin:0}.dash-empty-title{font-size:var(--dash-text-xl);font-weight:var(--dash-weight-semibold);line-height:var(--dash-leading-tight);color:var(--ink);margin:0}.dash-empty-copy{font-size:var(--dash-text-sm);color:var(--muted);line-height:var(--dash-leading-relaxed);max-width:48ch;margin:0}.dash-empty-actions{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.dash-error{border-style:solid;border-color:var(--line);background:var(--paper);justify-content:center;min-height:240px;margin-top:8px}.app :focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app button:focus:not(:focus-visible),.app a:focus:not(:focus-visible){outline:none}.app input:focus-visible,.app textarea:focus-visible,.app select:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-color:var(--accent)}.toast-viewport{top:max(1rem, env(safe-area-inset-top,0px));right:max(1rem, env(safe-area-inset-right,0px));z-index:500;pointer-events:none;justify-content:flex-end;width:min(22rem,100vw - 2rem);max-width:100%;display:flex;position:fixed;bottom:auto;left:auto}.toast{border:1px solid var(--line);background:var(--paper);width:100%;font-family:var(--dash-font,var(--font-cereal), ui-sans-serif, system-ui, sans-serif);font-size:var(--dash-text-base,1rem);line-height:var(--dash-leading-snug,1.35);color:var(--ink);opacity:0;transition:opacity .28s var(--ease-out-quart), transform .28s var(--ease-out-quart);pointer-events:auto;border-radius:12px;align-items:flex-start;gap:.625rem;padding:1rem 1rem 1rem .875rem;display:flex;transform:translate(1.25rem);box-shadow:0 4px 6px #1c16140a,0 16px 40px #1c161424}.toast.is-visible{opacity:1;transform:translate(0)}.toast-lead{background:var(--ink);border-radius:50%;flex-shrink:0;width:.5rem;height:.5rem;margin-top:.45rem}.toast--success{border-color:var(--line-2)}.toast--success .toast-lead{background:var(--good)}.toast--error{border-color:color-mix(in oklch, var(--accent) 55%, var(--line));background:var(--accent-2)}.toast--error .toast-lead{background:var(--accent)}.toast-message{font-weight:var(--dash-weight-bold,700);letter-spacing:var(--dash-tracking-tight,-.015em);flex:1;margin:0}.toast-dismiss{width:2rem;height:2rem;font-size:1.375rem;font-weight:var(--dash-weight-medium,500);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;flex-shrink:0;place-items:center;margin:-.25rem -.25rem 0 0;padding:0;line-height:1;display:grid}.toast-dismiss:hover{color:var(--ink);background:color-mix(in oklch, var(--ink) 6%, transparent)}.toast-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (max-width:46.5rem){.toast-viewport{top:max(.75rem, env(safe-area-inset-top,0px));right:max(.75rem, env(safe-area-inset-right,0px));left:max(.75rem, env(safe-area-inset-left,0px));width:auto}.toast{font-size:var(--dash-text-lg,1.125rem);padding:1.125rem 1rem 1.125rem .875rem;box-shadow:0 2px 4px #1c16140f,0 12px 32px #1c161429}.toast-dismiss{width:2.75rem;height:2.75rem;margin:-.375rem -.375rem 0 0;font-size:1.5rem}}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .15s var(--ease-out-quart);transform:none}.toast.is-visible{transform:none}.app *,.app :before,.app :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.overview .ring-progress,.overview .macro-ring-progress,.overview .bar .fill,.overview .day .dbar i{transition:none!important}}
