@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#070b18;--card:#141c369e;--card-border:#8ca0ff1f;--card-hi:#ffffff0a;--text:#e8ecff;--muted:#8b95b8;--line:#ffffff14;--accent-a:#34f5c5;--accent-b:#7c6cff;--c-excellent-a:#34f5c5;--c-excellent-b:#22c3ff;--c-good-a:#ffd166;--c-good-b:#ff9f43;--c-low-a:#ff6b8b;--c-low-b:#ff8a5c;--radius:18px;--radius-sm:12px;--shadow:0 10px 40px #00000059;--font:"Inter Variable", "Inter", system-ui, sans-serif;--font-display:"Outfit Variable", "Outfit", "Inter Variable", sans-serif;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--tabbar-h:64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0}body{font-family:var(--font);color:var(--text);background:radial-gradient(1200px 700px at 10% -10%, #18204a 0%, transparent 60%), radial-gradient(900px 600px at 110% 10%, #241448 0%, transparent 55%), var(--bg);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;background-attachment:fixed;min-height:100dvh}button{font-family:inherit}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.bg-orbs span{opacity:.32;will-change:transform;border-radius:50%;animation:22s ease-in-out infinite float;position:absolute}.bg-orbs span:first-child{background:radial-gradient(circle,#34f5c58c,#0000 65%);width:520px;height:520px;top:50%;left:-200px}.bg-orbs span:nth-child(2){background:radial-gradient(circle,#7c6cff99,#0000 65%);width:480px;height:480px;animation-delay:-7s;top:-180px;right:-80px}.bg-orbs span:nth-child(3){background:radial-gradient(circle,#22c3ff73,#0000 65%);width:420px;height:420px;animation-delay:-14s;bottom:-180px;right:-120px}@keyframes float{0%,to{transform:translate(0)scale(1)}50%{transform:translate(40px,-30px)scale(1.08)}}@media (prefers-reduced-motion:reduce){.bg-orbs span,.card,.meal-item{animation:none!important}}.topbar{z-index:20;padding:calc(10px + var(--sat)) 14px 10px;-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#070b18;justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-width:0;display:flex}.logo svg{width:32px;height:32px;display:block}.brand h1{font-family:var(--font-display);letter-spacing:.2px;background:linear-gradient(90deg, var(--accent-a), var(--accent-b));color:#0000;-webkit-background-clip:text;background-clip:text;margin:0;font-size:1.2rem}.tagline{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:.72rem;overflow:hidden}.top-actions{align-items:center;gap:8px;display:flex}.poc-pill{color:var(--muted);border:1px dashed var(--card-border);border-radius:99px;padding:4px 10px;font-size:.72rem;display:none}.icon-btn{border:1px solid var(--line);width:38px;height:38px;color:var(--text);cursor:pointer;background:#ffffff0a;border-radius:50%;place-items:center;display:grid}.icon-btn svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;width:20px;height:20px}.icon-btn:active{transform:scale(.94)}.seg{border:1px solid var(--line);background:#ffffff0d;border-radius:99px;padding:3px;display:inline-flex}.seg-btn{color:var(--muted);font:600 .82rem var(--font);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:7px 13px;transition:all .2s}.seg-btn:hover{color:var(--text)}.seg-btn.active{color:var(--text);background:linear-gradient(90deg,#34f5c538,#7c6cff47);box-shadow:inset 0 0 0 1px #ffffff14}.layout{z-index:1;padding:14px 12px calc(var(--tabbar-h) + var(--sab) + 18px);max-width:1600px;margin:0 auto;position:relative}.view{flex-direction:column;gap:14px;min-width:0;animation:.25s both viewIn;display:none}.layout[data-tab=foods] [data-view=foods],.layout[data-tab=meal] [data-view=meal],.layout[data-tab=analysis] [data-view=analysis]{display:flex}@keyframes viewIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.tabbar{z-index:30;height:calc(var(--tabbar-h) + var(--sab));padding-bottom:var(--sab);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);background:#090d1c;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.tab{color:var(--muted);font:600 .7rem var(--font);cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;transition:color .2s;display:flex;position:relative}.tab svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;transition:transform .2s}.tab.active{color:var(--text)}.tab.active svg{stroke:var(--accent-a);transform:translateY(-1px)}.tab.active:before{content:"";background:linear-gradient(90deg, var(--accent-a), var(--accent-b));border-radius:0 0 3px 3px;height:3px;position:absolute;top:0;left:30%;right:30%}.badge{min-width:18px;height:18px;font:700 .64rem/18px var(--font);color:#071018;background:var(--accent-a);text-align:center;border-radius:99px;padding:0 5px;position:absolute;top:7px;left:calc(50% + 8px)}.badge.excellent{background:var(--c-excellent-a)}.badge.good{background:var(--c-good-a)}.badge.low{background:var(--c-low-a)}.badge.bump{animation:.35s bump}@keyframes bump{50%{transform:scale(1.3)}}.mobile-only{display:inline-flex}@media (min-width:1000px){.topbar{padding:14px 28px}.logo svg{width:38px;height:38px}.brand h1{font-size:1.35rem}.tagline{font-size:.8rem}.poc-pill{display:inline-block}.layout{grid-template-columns:320px minmax(320px,1fr) minmax(380px,1.2fr);align-items:start;gap:20px;padding:22px 28px 40px;display:grid}.layout .view{animation:none;display:flex}.col-left{position:sticky;top:86px}.tabbar,.mobile-only,.meal-summary{display:none!important}.food-list{max-height:calc(100vh - 280px)}}.card{background:linear-gradient(180deg, var(--card-hi), transparent 40%), var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;animation:.5s both rise}@media (min-width:1000px){.card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:18px}}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.card h2{font-family:var(--font-display);margin:0 0 10px;font-size:1.02rem;font-weight:600}.card-head{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.card-head h2{margin:0}.muted{color:var(--muted)}.small{font-size:.8rem}.profile-grid{grid-template-columns:1fr 1fr;gap:12px;margin:14px 0 18px;display:grid}.profile-grid label{color:var(--muted);flex-direction:column;gap:6px;font-size:.8rem;display:flex}input[type=number],.search{border:1px solid var(--line);width:100%;color:var(--text);font:500 1rem var(--font);background:#ffffff0d;border-radius:12px;outline:none;padding:11px 13px;transition:border-color .2s,box-shadow .2s}input[type=number]:focus,.search:focus{border-color:#34f5c580;box-shadow:0 0 0 3px #34f5c51f}.ghost{border:1px solid var(--line);color:var(--muted);font:500 .8rem var(--font);cursor:pointer;background:0 0;border-radius:99px;padding:7px 13px}.ghost:hover{color:var(--text);border-color:var(--card-border)}.chips{flex-wrap:wrap;gap:6px;margin:10px 0;display:flex}.chips.scroll-x{scrollbar-width:none;flex-wrap:nowrap;margin-left:-4px;margin-right:-4px;padding:2px 4px;overflow-x:auto}.chips.scroll-x::-webkit-scrollbar{display:none}@media (min-width:1000px){.chips.scroll-x{flex-wrap:wrap;overflow:visible}}.chip{border:1px solid var(--line);color:var(--muted);font:500 .8rem var(--font);cursor:pointer;white-space:nowrap;background:#ffffff08;border-radius:99px;flex:none;padding:7px 12px;transition:all .2s}.chip:hover{color:var(--text)}.chip:active{transform:scale(.96)}.chip.active{color:var(--text);background:#34f5c51a;border-color:#34f5c573}.presets{margin-bottom:6px}.presets .chips{margin-top:6px}.food-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.food-list::-webkit-scrollbar{width:6px}.food-list::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:6px}.food-item{cursor:pointer;border-radius:12px;align-items:center;gap:12px;min-height:56px;padding:11px 8px;transition:background .15s,transform .15s;display:flex}.food-item:hover{background:#ffffff0d}.food-item:active{background:#34f5c514;transform:scale(.99)}.food-item .fi-name{flex:1;font-size:.94rem;line-height:1.3}.food-item .fi-meta{color:var(--muted);font-size:.74rem}.food-item .fi-add{width:30px;height:30px;color:var(--accent-a);background:#34f5c51a;border-radius:50%;place-items:center;font-size:1.1rem;font-weight:700;display:grid}.food-item.in-meal .fi-add{background:var(--accent-a);color:#071018}@media (min-width:1000px){.food-item .fi-add{opacity:0;transition:opacity .15s}.food-item:hover .fi-add,.food-item.in-meal .fi-add{opacity:1}}.pill{font:600 .74rem var(--font);text-align:center;border-radius:99px;flex:none;min-width:44px;padding:4px 8px}.pill.excellent{color:var(--c-excellent-a);background:#34f5c524}.pill.good{color:var(--c-good-a);background:#ffd16624}.pill.low{color:var(--c-low-a);background:#ff6b8b24}.meal-items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.meal-item{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff09;padding:12px;animation:.3s both rise}.mi-top{align-items:center;gap:8px;display:flex}.mi-name{flex:1;font-size:.95rem;font-weight:600}.mi-remove{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;font-size:1.3rem;line-height:1}.mi-remove:hover,.mi-remove:active{color:var(--c-low-a);background:#ff6b8b1a}.mi-controls{align-items:center;gap:10px;margin-top:10px;display:flex}.mi-controls input[type=range]{flex:1;min-width:0}.mi-controls input[type=number]{text-align:right;width:82px;padding:8px 10px}.mi-unit{color:var(--muted);font-size:.8rem}.mi-foot{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:.78rem;display:flex}.mi-foot>span:first-child{align-items:center;gap:6px;display:inline-flex}.mini-seg{border:1px solid var(--line);border-radius:99px;display:inline-flex;overflow:hidden}.mini-seg button{color:var(--muted);font:500 .74rem var(--font);cursor:pointer;background:0 0;border:0;padding:5px 10px}.mini-seg button.active{color:var(--text);background:#7c6cff40}.empty{color:var(--muted);text-align:center;border:1px dashed var(--line);border-radius:var(--radius-sm);flex-direction:column;align-items:center;gap:12px;padding:26px 14px;font-size:.9rem;display:flex}.empty[hidden]{display:none}.empty p{margin:0}.meal-summary{bottom:calc(var(--tabbar-h) + var(--sab) + 10px);z-index:5;cursor:pointer;text-align:left;width:100%;color:var(--text);font:500 .86rem var(--font);background:linear-gradient(135deg,#34f5c529,#7c6cff33),#0c1226f2;border:1px solid #34f5c54d;border-radius:16px;align-items:center;gap:12px;padding:12px 14px;display:flex;position:sticky;box-shadow:0 12px 30px #00000073}.meal-summary[hidden]{display:none}.meal-summary .ms-main{flex-direction:column;flex:1;display:flex}.meal-summary .ms-main b{font:700 1rem var(--font-display)}.meal-summary .ms-go{color:var(--accent-a);font-size:1.3rem}input[type=range]{appearance:none;background:linear-gradient(90deg, var(--accent-a) var(--p,0%), #ffffff1a var(--p,0%));touch-action:pan-y;border-radius:6px;outline:none;height:6px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .15s;box-shadow:0 0 0 5px #34f5c540}input[type=range]:active::-webkit-slider-thumb{transform:scale(1.15)}input[type=range]::-moz-range-thumb{background:#fff;border:0;border-radius:50%;width:22px;height:22px;box-shadow:0 0 0 5px #34f5c540}.conf{font:600 .7rem var(--font);white-space:nowrap;border:1px solid;border-radius:99px;padding:2px 8px}.conf.A{color:#8af7d9;border-color:#34f5c559}.conf.B{color:var(--c-good-a);border-color:#ffd16659}.conf.C{color:var(--c-low-a);border-color:#ff6b8b59}.conf-row{justify-content:center;min-height:20px;margin-top:-6px;display:flex}.results-hero{text-align:center}.gauge-wrap{max-width:320px;margin:0 auto}.gauge{width:100%;display:block;overflow:visible}.g-seg{fill:none;stroke-width:16px;stroke-linecap:butt;opacity:.16}.g-seg.low{stroke:var(--c-low-a)}.g-seg.good{stroke:var(--c-good-a)}.g-seg.excellent{stroke:var(--c-excellent-a)}.g-progress{fill:none;stroke-width:16px;stroke-linecap:round}.g-knob{fill:#fff;stroke:#ffffff40;stroke-width:6px}.g-tick{fill:var(--muted);font:500 10px var(--font);text-anchor:middle;dominant-baseline:middle}.g-value{fill:var(--text);font:800 54px var(--font-display);text-anchor:middle}.g-label{fill:var(--muted);font:600 11px var(--font);letter-spacing:3px;text-anchor:middle}.g-sub{font:700 14px var(--font-display);text-anchor:middle}.g-sub.excellent{fill:var(--c-excellent-a)}.g-sub.good{fill:var(--c-good-a)}.g-sub.low{fill:var(--c-low-a)}.stats{text-align:left;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;display:grid}@media (min-width:1600px){.stats{grid-template-columns:repeat(4,1fr)}}.stat{border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff09;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.stat.accent{background:linear-gradient(135deg,#34f5c51f,#7c6cff1f);border-color:#34f5c540}.stat-label{color:var(--muted);text-transform:uppercase;letter-spacing:.6px;font-size:.68rem}.stat-value{font:700 1.3rem var(--font-display)}.stat-hint{color:var(--muted);font-size:.68rem}.target{text-align:left;margin-top:16px}.target-head{justify-content:space-between;margin-bottom:8px;font-size:.84rem;font-weight:600;display:flex}.bar{background:#ffffff12;border-radius:99px;height:10px;position:relative}.bar-fill{background:linear-gradient(90deg, var(--accent-b), var(--accent-a));border-radius:99px;width:0;height:100%;transition:width .6s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 16px #34f5c559}.bar-mark{background:#fff9;border-radius:2px;width:2px;height:18px;position:absolute;top:-4px}.target p{margin:8px 0 0}.radar-wrap{max-width:400px;margin:0 auto}.radar{width:100%;display:block;overflow:visible}.r-grid{fill:none;stroke:#ffffff12}.r-ref{fill:#ffffff05;stroke:#ffffff73;stroke-dasharray:4 4}.r-spoke{stroke:#ffffff12}.r-poly-0{fill:#34f5c52e;stroke:var(--accent-a);stroke-width:2px}.r-poly-1{fill:#7c6cff29;stroke:var(--accent-b);stroke-width:2px;stroke-dasharray:5 3}.r-dot-0{fill:var(--accent-a)}.r-dot-1{fill:var(--accent-b)}.r-label{fill:var(--text);font:600 13px var(--font);text-anchor:middle;dominant-baseline:middle}.r-val{fill:var(--muted);font:500 11.5px var(--font);text-anchor:middle;dominant-baseline:middle}.r-label.lim,.r-val.lim{fill:var(--c-low-a)}.limiting{border-radius:var(--radius-sm);background:#ff6b8b12;border:1px solid #ff6b8b33;margin-top:6px;padding:12px 14px;font-size:.88rem;line-height:1.45}.limiting.ok{background:#34f5c512;border-color:#34f5c538}.limiting strong{color:var(--c-low-a)}.limiting.ok strong{color:var(--c-excellent-a)}.suggestions{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.sug{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff09;align-items:center;gap:10px;padding:10px 12px;display:flex}.sug-text{flex:1;min-width:0;font-size:.88rem}.sug-text b{font-weight:600}.sug-delta{font:700 .82rem var(--font-display);color:var(--c-excellent-a)}.btn-add{font:600 .82rem var(--font);color:#071018;background:linear-gradient(90deg, var(--accent-a), #22c3ff);cursor:pointer;border:0;border-radius:99px;justify-content:center;padding:9px 15px;transition:transform .15s,box-shadow .15s}.btn-add:hover{box-shadow:0 6px 20px #34f5c54d}.btn-add:active{transform:scale(.96)}.btn-add.block{width:100%;padding:13px;font-size:.95rem;display:flex}.compare{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cmp-col{border-radius:var(--radius-sm);border:1px solid var(--line);background:#ffffff09;min-width:0;padding:12px}.cmp-col h4{font-family:var(--font-display);margin:0 0 8px}.cmp-col.a h4{color:var(--accent-a)}.cmp-col.b h4{color:var(--accent-b)}.cmp-row{border-bottom:1px solid var(--line);justify-content:space-between;gap:6px;padding:5px 0;font-size:.82rem;display:flex}.cmp-row:last-child{border-bottom:0}.cmp-win{color:var(--c-excellent-a);font-weight:700}.footer{color:var(--muted);padding:4px 4px 0;font-size:.8rem}.footer h3{font-family:var(--font-display);color:var(--text);margin-bottom:4px;font-size:.95rem}.footer p{line-height:1.55}.toast{left:50%;bottom:calc(var(--tabbar-h) + var(--sab) + 16px);z-index:40;opacity:0;pointer-events:none;max-width:calc(100% - 32px);color:var(--text);font:500 .86rem var(--font);white-space:nowrap;text-overflow:ellipsis;background:#141c36f7;border:1px solid #34f5c559;border-radius:99px;padding:10px 16px;transition:all .25s;position:fixed;overflow:hidden;transform:translate(-50%,20px);box-shadow:0 10px 30px #00000080}.toast.show{opacity:1;transform:translate(-50%)}@media (min-width:1000px){.toast{bottom:24px}}.sheet{border:1px solid var(--card-border);padding:20px 18px calc(20px + var(--sab));color:var(--text);background:#0e1530;border-radius:22px 22px 0 0;width:100%;max-width:520px;margin:auto auto 0;box-shadow:0 -20px 60px #00000080}.sheet::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#03060f99}.sheet[open]{animation:.28s cubic-bezier(.2,.8,.2,1) sheetUp}.sheet h2{font-family:var(--font-display);margin:0 0 4px;font-size:1.15rem}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:none}}@media (min-width:1000px){.sheet{border-radius:22px;margin:auto}}.layout[data-tab=chat] [data-view=chat]{display:flex}.desktop-only{display:none!important}.view-chat{gap:10px}.chat-card{flex-direction:column;gap:10px;display:flex}.chat-title{align-items:center;gap:8px;display:flex}.chat-head-actions{align-items:center;gap:6px;display:flex}.ai-orb{background:conic-gradient(from 0deg, var(--accent-a), #22c3ff, var(--accent-b), var(--accent-a));border-radius:50%;flex:none;width:14px;height:14px;animation:6s linear infinite spin;box-shadow:0 0 12px #34f5c58c}@keyframes spin{to{transform:rotate(360deg)}}.ai-notice{color:var(--muted);background:#7c6cff14;border:1px solid #7c6cff2e;border-radius:10px;margin:0;padding:8px 10px;font-size:.74rem;line-height:1.45}.chat-context{color:var(--accent-a);align-items:center;gap:6px;font-size:.76rem;display:flex}.chat-context:before{content:"";background:var(--accent-a);width:7px;height:7px;box-shadow:0 0 8px var(--accent-a);border-radius:50%}.chat-log{flex-direction:column;gap:10px;min-height:80px;display:flex}.chat-log:empty{display:none}.bubble{overflow-wrap:anywhere;border-radius:16px;max-width:92%;padding:10px 13px;font-size:.9rem;line-height:1.5;animation:.25s both rise}.bubble p{margin:0 0 6px}.bubble p:last-child{margin-bottom:0}.bubble ul,.bubble ol{margin:4px 0 8px;padding-left:20px}.bubble li{margin:2px 0}.bubble code{background:#ffffff14;border-radius:5px;padding:1px 5px;font-size:.82em}.bubble.user{white-space:pre-wrap;background:linear-gradient(135deg,#34f5c538,#7c6cff47);border:1px solid #34f5c540;border-bottom-right-radius:5px;align-self:flex-end}.bubble.model{border:1px solid var(--line);background:#ffffff0b;border-bottom-left-radius:5px;align-self:flex-start}.bubble.error{color:var(--c-low-a);background:#ff6b8b14;border:1px solid #ff6b8b40;align-self:center;font-size:.8rem}.bubble.typing{gap:5px;padding:14px 16px;display:flex}.bubble.typing span{background:var(--muted);border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot}.bubble.typing span:nth-child(2){animation-delay:.15s}.bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.tools-used{color:var(--muted);margin-top:8px;font-size:.7rem}.proposal{background:#34f5c512;border:1px solid #34f5c540;border-radius:12px;align-items:center;gap:10px;margin-top:10px;padding:10px;display:flex}.proposal-text{flex-direction:column;flex:1;gap:2px;min-width:0;font-size:.84rem;display:flex}.proposal .btn-add{flex:none}.btn-add:disabled{opacity:.6;cursor:default;color:var(--text);background:#34f5c540}.chat-starters{flex-direction:column;gap:6px;display:flex}.chat-starters[hidden]{display:none}.chat-starters .chip{white-space:normal;text-align:left;border-radius:14px;padding:10px 13px;font-size:.84rem}.chat-form{bottom:calc(var(--tabbar-h) + var(--sab) + 8px);z-index:6;border:1px solid var(--card-border);background:#0c1226f5;border-radius:22px;align-items:flex-end;gap:8px;padding:8px;display:flex;position:sticky;box-shadow:0 10px 30px #00000073}.chat-form textarea{resize:none;color:var(--text);font:400 1rem var(--font);background:0 0;border:0;outline:none;flex:1;max-height:140px;padding:8px 6px}.send-btn{cursor:pointer;background:linear-gradient(135deg, var(--accent-a), #22c3ff);color:#071018;border:0;border-radius:50%;flex:none;place-items:center;width:42px;height:42px;transition:transform .15s;display:grid}.send-btn:active{transform:scale(.92)}.send-btn svg{fill:currentColor;width:20px;height:20px}#btn-chat-close svg{fill:none;stroke:currentColor;stroke-width:2px}@media (min-width:1000px){.icon-btn.desktop-only{display:grid!important}.ai-fab.desktop-only{display:flex!important}.layout .view-chat{display:none}body.chat-open .layout .view-chat{z-index:35;width:420px;padding:0;animation:.3s cubic-bezier(.2,.8,.2,1) drawerIn;display:flex;position:fixed;top:76px;bottom:16px;right:16px}body.chat-open .chat-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#0e142af7;flex:1;overflow:auto}body.chat-open .chat-form{position:static}body.chat-open .ai-fab{display:none!important}.ai-fab{z-index:34;cursor:pointer;color:var(--text);font:600 .9rem var(--font);background:linear-gradient(135deg,#34f5c533,#7c6cff47),#0c1226f2;border:1px solid #34f5c559;border-radius:99px;align-items:center;gap:10px;padding:12px 18px;position:fixed;bottom:22px;right:22px;box-shadow:0 12px 30px #00000073}.ai-fab:hover{transform:translateY(-2px)}}@keyframes drawerIn{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.btn-share{color:#38bdf8;cursor:pointer;background:#38bdf814;border:1px solid #38bdf840;border-radius:10px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:14px;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:500;transition:all .2s;display:flex}.btn-share:hover{background:#38bdf829;border-color:#38bdf880;transform:translateY(-1px)}.btn-share:active{transform:translateY(0)}.btn-install-pwa{color:#38bdf8;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#38bdf826,#6366f12e);border:1px solid #38bdf873;border-radius:99px;align-items:center;gap:6px;padding:6px 12px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s;animation:2.5s infinite pulse-pwa;display:inline-flex}.btn-install-pwa:hover{background:linear-gradient(135deg,#38bdf847,#6366f14d);border-color:#38bdf8;transform:translateY(-1px)}.btn-install-pwa:active{transform:translateY(0)}@keyframes pulse-pwa{0%,to{box-shadow:0 0 #38bdf859}50%{box-shadow:0 0 0 5px #38bdf800}}@media (max-width:600px){.btn-install-pwa{padding:5px 9px;font-size:.75rem}}.btn-pro{color:#fbbf24;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#f59e0b29,#d9770638);border:1px solid #f59e0b73;border-radius:99px;align-items:center;gap:5px;padding:5px 12px;font-family:inherit;font-size:.78rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 0 10px #f59e0b26}.btn-pro:hover{background:linear-gradient(135deg,#f59e0b47,#d9770659);border-color:#fbbf24;transform:translateY(-1px);box-shadow:0 0 14px #f59e0b4d}.btn-pro.is-pro{color:#0b101b;background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf24;box-shadow:0 0 12px #f59e0b66}.meal-tabs-wrapper{align-items:center;gap:6px;display:flex}.btn-add-meal{border:1px solid var(--border);width:30px;height:30px;color:var(--text-dim);cursor:pointer;background:#ffffff0d;border-radius:8px;justify-content:center;align-items:center;font-size:1.1rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-add-meal:hover{color:#38bdf8;background:#38bdf826;border-color:#38bdf866}.action-buttons-row{gap:8px;width:100%;margin-top:14px;display:flex}.action-buttons-row .btn-share,.action-buttons-row .btn-export{flex:1;margin-top:0}.btn-export{color:#e2e8f0;border:1px solid var(--border);cursor:pointer;background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-family:inherit;font-size:.86rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-export:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-1px)}.pro-sheet{color:#f1f5f9;background:#0f172a;border:1px solid #f59e0b59;border-radius:16px;width:92%;max-width:490px;padding:0;box-shadow:0 25px 50px -12px #000000b3,0 0 30px #f59e0b26}.pro-sheet::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#070b18d9}.pro-modal-content{padding:24px}.pro-modal-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.pro-title-wrap{align-items:center;gap:10px;display:flex}.pro-title-wrap h2{font-family:var(--font-display);color:#fff;margin:0;font-size:1.4rem}.pro-badge{color:#0b101b;letter-spacing:.5px;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:800}.pro-subtitle{color:#94a3b8;margin:0 0 18px;font-size:.9rem;line-height:1.4}.pro-features-list{flex-direction:column;gap:10px;margin:0 0 22px;padding:0;list-style:none;display:flex}.pro-features-list li{color:#cbd5e1;align-items:flex-start;gap:10px;font-size:.88rem;line-height:1.45;display:flex}.pro-check{color:#38bdf8;font-size:1rem;font-weight:800;line-height:1.2}.pro-buy-box{text-align:center;background:#ffffff08;border:1px solid #ffffff14;border-radius:12px;padding:16px}.btn-buy-pro{box-sizing:border-box;color:#fff;background:linear-gradient(135deg,#7047eb,#8b5cf6);border-radius:10px;width:100%;padding:12px 20px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;display:block;box-shadow:0 4px 14px #7047eb66}.btn-buy-pro:hover{background:linear-gradient(135deg,#6032e6,#7c3aed);transform:translateY(-1px);box-shadow:0 6px 18px #7047eb8c}.pro-buy-hint{color:#94a3b8;margin:10px 0 0;font-size:.78rem}.pro-divider{text-align:center;color:#64748b;text-transform:uppercase;letter-spacing:.8px;align-items:center;margin:20px 0 16px;font-size:.76rem;display:flex}.pro-divider:before,.pro-divider:after{content:"";border-bottom:1px solid #ffffff1a;flex:1}.pro-divider span{padding:0 10px}.pro-redeem-box{text-align:left}.pro-label{color:#cbd5e1;margin-bottom:8px;font-size:.82rem;font-weight:500;display:block}.pro-redeem-row{gap:8px;display:flex}.pro-key-input{color:#fff;background:#0f172acc;border:1px solid #ffffff26;border-radius:8px;flex:1;padding:9px 12px;font-family:monospace;font-size:.85rem}.pro-key-input:focus{border-color:#38bdf8;outline:none;box-shadow:0 0 0 2px #38bdf833}.btn-redeem{color:#38bdf8;cursor:pointer;background:#38bdf826;border:1px solid #38bdf866;border-radius:8px;padding:9px 16px;font-size:.84rem;font-weight:600;transition:all .2s}.btn-redeem:hover{background:#38bdf840;border-color:#38bdf8}.pro-key-status{min-height:18px;margin-top:8px;font-size:.82rem}.pro-key-status.success{color:#34d399}.pro-key-status.error{color:#f87171}@media print{body{color:#000!important;background:#fff!important}.topbar,.tabbar,.bg-orbs,.btn-install-pwa,.btn-pro,#btn-ai-fab,.action-buttons-row,#foods-card,.chat-view,dialog{display:none!important}.layout,.col-right{display:block!important}.card{page-break-inside:avoid;color:#000!important;box-shadow:none!important;background:#fff!important;border:1px solid #ccc!important}}
