@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/d9fef5bf2f64cf9a-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(/_next/static/media/de42cfb9a3b980ae-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Figtree Fallback;src:local("Arial");ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.00%;size-adjust:100.72%}.__className_e2cc43{font-family:Figtree,Figtree Fallback;font-style:normal}.__variable_e2cc43{--font-body:"Figtree","Figtree Fallback"}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/630e0b819503bca7-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/6eed223b32d97b82-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/793968fa3513f5d6-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Lexend Fallback;src:local("Arial");ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.00%;size-adjust:109.91%}.__className_9d0602{font-family:Lexend,Lexend Fallback;font-style:normal}.__variable_9d0602{--font-display:"Lexend","Lexend Fallback"}:root{--bg:#faf7f8;--surface:#ffffff;--surface-2:#f4eff2;--ink:#1d1a1c;--muted:#6b6268;--line:#e9e1e6;--accent:#a8325a;--accent-soft:#f8e7ee;--accent-ink:#ffffff;--good:#2b7a4b;--good-soft:#e2f2e8;--warn:#9a6200;--warn-soft:#fbefd6;--bad:#b3261e;--bad-soft:#fbe5e3;--carbs:#c58a12;--protein:#4a6fa5;--lipids:#7d8f35;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px rgb(29 26 28/0.04),0 4px 16px rgb(29 26 28/0.04)}@media (prefers-color-scheme:dark){:root{--bg:#141113;--surface:#1d191c;--surface-2:#262125;--ink:#f2ebef;--muted:#a99ea5;--line:#322b30;--accent:#e9789f;--accent-soft:#3a2130;--accent-ink:#1d1a1c;--good:#72cf98;--good-soft:#1b3324;--warn:#e9b65c;--warn-soft:#382c15;--bad:#f28b82;--bad-soft:#3d1f1d;--carbs:#e2ab3f;--protein:#82a6dc;--lipids:#adc161;--shadow:none;color-scheme:dark}}*,:after,:before{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-size:16px;line-height:1.5}.app{--font-ui:var(--font-body),system-ui,-apple-system,"Segoe UI",sans-serif;--font-head:var(--font-display),var(--font-body),system-ui,sans-serif;font-family:var(--font-ui);min-height:100vh}dd,dl,h1,h2,h3,ol,p{margin:0}img{max-width:100%;height:auto}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input{font:inherit;color:inherit}.num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.app-header{background:var(--surface);border-bottom:1px solid var(--line)}.app-header__inner{max-width:1200px;margin:0 auto;padding-block:14px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));display:flex;align-items:center;gap:14px}.app-header__logo{flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:#ffffff;border:1px solid var(--line)}.app-header__title{font-family:var(--font-head);font-weight:600;font-size:1.25rem;letter-spacing:-.01em;line-height:1.2}.app-header__subtitle{color:var(--muted);font-size:.875rem}.layout{max-width:1200px;margin:0 auto;padding-block:24px 48px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));grid-template-columns:minmax(0,1fr);align-items:start}.layout,.layout__main{display:grid;grid-gap:20px;gap:20px}.layout__main{min-width:0}@media (min-width:900px){.layout{grid-template-columns:340px minmax(0,1fr);gap:28px}.layout__side{position:-webkit-sticky;position:sticky;top:20px}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px;display:grid;grid-gap:18px;gap:18px;min-width:0}.panel__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}.panel__title{font-family:var(--font-head);font-weight:600;font-size:1.0625rem;display:flex;align-items:center;gap:10px;text-wrap:balance}.panel__help{color:var(--muted);font-size:.875rem}.panel__help strong{color:var(--ink);font-weight:600}.step{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:.8125rem;font-weight:700;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.panel--placeholder{background:transparent;border-style:dashed;box-shadow:none;color:var(--muted)}.panel--placeholder .panel__title{color:var(--ink)}.panel--placeholder .step{background:var(--surface-2);color:var(--muted)}.empty{padding-block:32px}.empty p{max-width:60ch}.empty__steps{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;counter-reset:s}.empty__steps li{counter-increment:s;font-size:.875rem;padding:6px 12px 6px 6px;border-radius:999px;background:var(--surface-2);display:inline-flex;align-items:center;gap:8px}.empty__steps li:before{content:counter(s);display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--surface);font-weight:700;font-size:.75rem}.btn-ghost{background:none;border:none;padding:4px 2px;color:var(--accent);font-weight:600;font-size:.875rem;cursor:pointer;border-radius:6px}.btn-ghost:hover{text-decoration:underline;text-underline-offset:3px}fieldset{border:0;margin:0;padding:0;min-width:0}.field{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:6px;gap:6px;min-width:0}.field__label{padding:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.field__control{display:flex;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);min-width:0;transition:border-color .15s,box-shadow .15s}.field__control:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field__control input{flex:1 1;width:100%;min-width:0;border:0;background:transparent;padding:10px 0 10px 12px;font-size:1.125rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:none}.field__control input::placeholder{color:var(--muted);opacity:.5;font-weight:400}.field__unit{padding:0 12px 0 6px;color:var(--muted);font-size:.875rem}.patient__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.activity__option input,.option input,.segmented__option input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);grid-gap:4px;gap:4px;padding:4px;background:var(--surface-2);border-radius:var(--radius-sm)}.segmented--wrap{display:flex;flex-wrap:wrap}.segmented--wrap .segmented__option{flex:1 1 auto}.segmented__option{position:relative;display:flex}.segmented__option span{flex:1 1;text-align:center;padding:8px 10px;border-radius:7px;font-weight:500;font-size:.9375rem;color:var(--muted);cursor:pointer;transition:background .15s,color .15s}.segmented__option span:hover{color:var(--ink)}.segmented__option input:checked+span{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:0 1px 3px rgb(0 0 0/.12)}.segmented__option input:focus-visible+span{outline:2px solid var(--accent);outline-offset:1px}.activity{display:grid;grid-gap:6px;gap:6px}.activity__option{position:relative;display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.activity__option:hover{border-color:var(--muted)}.activity__option:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}.activity__option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.activity__body{flex:1 1;display:grid}.activity__label{font-weight:600}.activity__hint{font-size:.8125rem;color:var(--muted)}.activity__pct{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;font-size:.875rem;color:var(--muted)}.activity__option:has(input:checked) .activity__pct{color:var(--accent)}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px}@media (max-width:560px){.stats{gap:8px}.stat{padding:12px 10px}.stat__value{font-size:1.5rem}}.stat{display:grid;grid-gap:4px;gap:4px;align-content:start;padding:14px;background:var(--surface-2);border-radius:var(--radius-sm)}.stat dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.stat__value{font-family:var(--font-head);font-size:1.75rem;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat__unit{margin-left:4px;color:var(--muted);font-size:.875rem}.stat__note{color:var(--muted)}.chip,.stat__note{font-size:.8125rem}.chip{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;font-weight:600}.chip--good{background:var(--good-soft);color:var(--good)}.chip--warn{background:var(--warn-soft);color:var(--warn)}.chip--bad{background:var(--bad-soft);color:var(--bad)}.matrix{display:grid;grid-template-columns:minmax(110px,.7fr) repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;align-items:stretch}.matrix__row{display:contents}.matrix__colhead{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding-inline:4px}.matrix__rowhead{display:grid;align-content:center;font-weight:600}.matrix__weight{font-size:.875rem;font-weight:400;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.option{position:relative;display:grid;grid-gap:2px;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s}.option:hover{border-color:var(--muted)}.option:has(input:checked){border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.option:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.option__formula{display:none;font-size:.75rem;color:var(--muted);font-weight:600}.option__total{font-family:var(--font-head);font-size:1.375rem;font-weight:600;letter-spacing:-.01em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.option:has(input:checked) .option__total{color:var(--accent)}.option__unit{margin-left:4px;font-family:var(--font-ui);font-size:.8125rem;font-weight:500;color:var(--muted)}.option__breakdown{display:flex;flex-wrap:wrap;gap:2px 10px;font-size:.75rem;color:var(--muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.footnote{font-size:.75rem;color:var(--muted)}@media (max-width:560px){.matrix{grid-template-columns:repeat(2,minmax(0,1fr))}.matrix__colhead,.matrix__corner{display:none}.matrix__rowhead{grid-column:1/-1;display:flex;justify-content:space-between;align-items:baseline;padding-top:6px}.option__formula{display:block}}.split{display:flex;height:10px;border-radius:999px;overflow:hidden;gap:2px;background:var(--surface-2)}.split__seg{flex-basis:0;transition:flex-grow .25s ease}.dot--carbs,.split__seg--carbs{background:var(--carbs)}.dot--protein,.split__seg--protein{background:var(--protein)}.dot--lipids,.split__seg--lipids{background:var(--lipids)}.split__seg--empty{background:transparent}.table-wrap{overflow-x:auto;margin-inline:-4px}.macros{width:100%;border-collapse:collapse;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.macros td,.macros th{padding:10px 8px;text-align:left}.macros thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--line)}.macros .num{text-align:right}.macros tbody tr+tr td,.macros tbody tr+tr th{border-top:1px solid var(--line)}.macros tbody th{font-weight:600;white-space:nowrap}.macros__factor{display:block;margin-left:18px;font-size:.75rem;font-weight:400;color:var(--muted)}.macros__grams{font-weight:700;font-size:1.0625rem}.macros tfoot td,.macros tfoot th{border-top:2px solid var(--ink);font-weight:700}.dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:8px}.pct-input{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:8px;padding:4px 8px;background:var(--surface);transition:border-color .15s,box-shadow .15s}.pct-input:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.pct-input input{width:3ch;border:0;background:transparent;text-align:right;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;outline:none;padding:0}.pct-input span{color:var(--muted);font-size:.875rem}@media (max-width:560px){.table-wrap{margin-inline:0}.macros td,.macros th{padding:10px 4px}.macros .dot{margin-right:6px}.macros__factor{margin-left:16px}.pct-input{padding:4px 6px}}.macro-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}@media (prefers-reduced-motion:reduce){*{transition:none!important}}