:root{--bg:#090c11;--bg-elev:#121820;--surface:#161d27;--surface-2:#1d2733;--line:#ffffff14;--line-strong:#ffffff29;--text:#e9eef4;--text-dim:#9aa7b6;--text-faint:#64717f;--deficit:#3ddc97;--surplus:#ffb020;--food:#ff7a59;--activity:#3ddc97;--water:#4fa8ff;--mood:#b989ff;--weight:#e8c468;--protein:#34d399;--carb:#fbbf24;--fat:#f472b6;--alcohol:#a78bfa;--danger:#ff5c5c;--r-sm:10px;--r-md:16px;--r-lg:22px;--pad:16px;--nav-h:64px;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--font:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--num:ui-rounded, "SF Pro Rounded", "Segoe UI Variable Display", var(--font);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0;font-size:16px;line-height:1.45}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}h1,h2,h3,p{margin:0}.app{max-width:560px;min-height:100%;padding-top:var(--safe-top);padding-bottom:calc(var(--nav-h) + var(--safe-bottom) + 12px);margin:0 auto}.screen{padding:8px var(--pad) 24px;flex-direction:column;gap:14px;animation:.22s fade-in;display:flex}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}.screen-title{letter-spacing:.08em;text-transform:uppercase;color:var(--text-faint);padding:10px 2px 0;font-size:13px;font-weight:600}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px}.card-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.card-title{color:var(--text-dim);letter-spacing:.02em;font-size:14px;font-weight:600}.tank{background:linear-gradient(168deg, var(--bg-elev), var(--surface));border:1px solid var(--line);border-radius:var(--r-lg);text-align:center;padding:22px 18px 18px;position:relative;overflow:hidden}.tank:after{content:"";background:linear-gradient(90deg, transparent, var(--tank-accent), transparent);opacity:.7;height:1px;position:absolute;inset:0 0 auto}.app-title{letter-spacing:-.005em;-webkit-user-select:none;user-select:none;justify-content:center;align-items:baseline;margin:0;padding:10px 0 2px;font-size:17px;display:flex}.app-title .wm-a{color:var(--text-dim);font-weight:500}.app-title .wm-b{color:var(--deficit);font-weight:800}.app-title .wm-c{color:var(--text-faint);font-weight:500}.tank-value{font-family:var(--num);letter-spacing:-.03em;color:var(--tank-accent);font-variant-numeric:tabular-nums;white-space:nowrap;justify-content:center;align-items:baseline;gap:4px;margin:6px 0 2px;font-size:clamp(40px,12.5vw,60px);font-weight:700;line-height:1.02;display:flex}.tank-decimal{opacity:.55;font-size:.38em;font-weight:600}.tank-unit{color:var(--text-faint);letter-spacing:.06em;font-size:.22em;font-weight:600}.tank-caption{color:var(--text-dim);margin-top:2px;font-size:13px}.tank-zero{color:var(--tank-accent);font-variant-numeric:tabular-nums;opacity:.78;margin-top:6px;font-size:13px;font-weight:600}.tank-remaining{opacity:1;margin-top:8px;font-size:15px;font-weight:700}.tank-rate{border:1px solid var(--line);color:var(--text-dim);font-variant-numeric:tabular-nums;background:#ffffff0d;border-radius:999px;align-items:center;gap:6px;margin-top:12px;padding:5px 11px;font-size:12px;display:inline-flex}.pulse{background:var(--tank-accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.pulse{opacity:.8;animation:none}.screen{animation:none}}.day-bar{background:#ffffff12;border-radius:2px;height:3px;margin-top:16px;overflow:hidden}.day-bar>span{background:var(--tank-accent);opacity:.65;border-radius:2px;height:100%;transition:width .4s linear;display:block}.day-bar-caption{color:var(--text-faint);font-variant-numeric:tabular-nums;justify-content:space-between;margin-top:7px;font-size:11px;display:flex}.quick-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.quick-btn{border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);text-align:left;align-items:center;gap:11px;padding:15px 14px;font-size:15px;font-weight:600;transition:transform .12s,background .12s;display:flex}.quick-btn:active{background:var(--surface-2);transform:scale(.975)}.quick-text{flex-direction:column;gap:2px;min-width:0;display:flex}.quick-label{font-size:15px;font-weight:600;line-height:1.2}.quick-value{color:var(--text-faint);font-variant-numeric:tabular-nums;font-size:12px;font-weight:600;line-height:1.3;overflow:hidden}.quick-icon{background:color-mix(in srgb, var(--tint) 18%, transparent);width:34px;height:34px;color:var(--tint);border-radius:10px;flex:0 0 34px;place-items:center;font-size:17px;display:grid}.btn{border-radius:var(--r-md);background:var(--surface-2);border:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:14px 18px;font-size:16px;font-weight:650;transition:transform .12s,opacity .12s;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--text);color:#0b0f14;border-color:#0000}.btn-full{width:100%}.btn-ghost{color:var(--text-dim);background:0 0}.btn-danger{border-color:color-mix(in srgb, var(--danger) 40%, transparent);color:var(--danger);background:0 0}.chip-row{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--surface-2);border:1px solid var(--line);font-variant-numeric:tabular-nums;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:600;transition:transform .12s}.chip:active{transform:scale(.95)}.chip[aria-pressed=true]{background:color-mix(in srgb, var(--tint,var(--text)) 20%, transparent);border-color:color-mix(in srgb, var(--tint,var(--text)) 55%, transparent);color:var(--tint,var(--text))}.water-total{font-family:var(--num);font-variant-numeric:tabular-nums;color:var(--water);font-size:26px;font-weight:650}.water-goal{color:var(--text-faint);font-size:13px}.water-track{background:#ffffff12;border-radius:4px;height:8px;margin:12px 0 14px;overflow:hidden}.water-fill{background:linear-gradient(90deg, color-mix(in srgb, var(--water) 55%, transparent), var(--water));border-radius:4px;height:100%;transition:width .35s}.water-entry{align-items:stretch;gap:8px;display:flex}.water-input{text-align:center;font-variant-numeric:tabular-nums;flex:1;min-width:0;padding:11px 12px;font-weight:600}.water-seg{flex:none;padding:3px}.water-seg button{padding:7px 11px;font-size:13px}.water-seg button[aria-pressed=true]{background:color-mix(in srgb, var(--water) 24%, transparent);color:var(--water)}.water-add{flex:none;padding:11px 18px;font-size:15px}.bac-value{font-family:var(--num);font-variant-numeric:tabular-nums;align-items:baseline;gap:6px;font-size:38px;font-weight:700;line-height:1.05;display:flex}.bac-unit{color:var(--text-faint);letter-spacing:.04em;font-size:14px;font-weight:600}.bac-band{margin-top:4px;font-size:13px;font-weight:600}.note{border-top:1px solid var(--line);margin-top:14px;padding-top:11px}.note>summary{cursor:pointer;color:var(--text-faint);align-items:center;gap:6px;font-size:12px;font-weight:600;list-style:none;display:inline-flex}.note>summary::-webkit-details-marker{display:none}.note>summary:before{content:"›";font-size:15px;line-height:1;transition:transform .15s}.note[open]>summary:before{transform:rotate(90deg)}.note p{color:var(--text-faint);margin-top:8px;font-size:12px;line-height:1.55}.tank-note{text-align:left;margin-top:16px}.tank-note>summary{justify-content:center;width:100%}.tank-note .dist-legend{justify-content:center}.tank-note p{text-align:center}.scale-row{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.scale-btn{aspect-ratio:1;border-radius:var(--r-sm);background:var(--surface-2);border:1px solid var(--line);place-items:center;font-size:22px;transition:transform .12s;display:grid}.scale-btn:active{transform:scale(.93)}.scale-btn[aria-pressed=true]{background:color-mix(in srgb, var(--mood) 22%, transparent);border-color:color-mix(in srgb, var(--mood) 60%, transparent)}.field-label{color:var(--text-dim);margin-bottom:8px;font-size:13px;font-weight:600;display:block}.input,.select,.textarea{border-radius:var(--r-sm);background:var(--bg-elev);border:1px solid var(--line);outline:none;width:100%;padding:14px;transition:border-color .15s}.input:focus,.select:focus,.textarea:focus{border-color:var(--line-strong)}.input-lg{font-family:var(--num);text-align:center;font-variant-numeric:tabular-nums;padding:16px;font-size:30px;font-weight:650}.textarea{resize:none;min-height:72px}.field{margin-bottom:14px}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.seg{background:var(--bg-elev);border:1px solid var(--line);border-radius:var(--r-sm);grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.seg button{color:var(--text-dim);border-radius:7px;padding:10px 6px;font-size:14px;font-weight:600;transition:background .15s,color .15s}.seg button[aria-pressed=true]{background:var(--surface-2);color:var(--text)}.hint{color:var(--text-faint);font-size:12px;line-height:1.5}.sheet-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:40;background:#0009;animation:.2s fade;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.sheet{z-index:50;background:var(--bg-elev);border-radius:var(--r-lg) var(--r-lg) 0 0;border-top:1px solid var(--line-strong);max-width:560px;max-height:88dvh;padding-bottom:var(--safe-bottom);flex-direction:column;margin:0 auto;animation:.26s cubic-bezier(.32,.72,0,1) slide-up;display:flex;position:fixed;bottom:0;left:0;right:0}@keyframes slide-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.sheet{animation:none}}.sheet-grip{background:var(--line-strong);border-radius:2px;flex:none;width:38px;height:4px;margin:10px auto 4px}.sheet-head{flex:none;justify-content:space-between;align-items:center;padding:8px 16px 12px;display:flex}.sheet-head h2{font-size:18px;font-weight:650}.sheet-body{-webkit-overflow-scrolling:touch;padding:0 16px 16px;overflow-y:auto}.sheet-foot{padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:var(--bg-elev);flex:none}.act-list{flex-direction:column;gap:6px;display:flex}.act-item{border-radius:var(--r-sm);background:var(--surface);text-align:left;border:1px solid #0000;align-items:center;gap:12px;width:100%;padding:12px;display:flex}.act-item[aria-pressed=true]{border-color:var(--activity);background:color-mix(in srgb, var(--activity) 12%, var(--surface))}.act-name{flex:1;min-width:0;font-size:15px;font-weight:600}.act-sub{color:var(--text-faint);font-size:12px;font-weight:500}.met-badge{font-variant-numeric:tabular-nums;background:color-mix(in srgb, var(--tint) 18%, transparent);color:var(--tint);border-radius:7px;flex:none;padding:4px 9px;font-size:12px;font-weight:700}.cat-scroller{scrollbar-width:none;padding:2px 0 10px;gap:7px;margin:0 -16px;padding-inline:16px;display:flex;overflow-x:auto}.cat-scroller::-webkit-scrollbar{display:none}.cat-chip{background:var(--surface);border:1px solid var(--line);white-space:nowrap;color:var(--text-dim);border-radius:999px;flex:none;padding:8px 13px;font-size:13px;font-weight:600}.cat-chip[aria-pressed=true]{background:var(--text);color:var(--bg);border-color:#0000}.calc-preview{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);margin-top:14px;padding:14px}.calc-value{font-family:var(--num);color:var(--activity);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1.1}.calc-math{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px;line-height:1.6}.bands{color:var(--text-faint);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:5px 16px;margin-top:10px;font-size:12px;display:flex}.dist-legend{color:var(--text-dim);font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:center;gap:5px 18px;margin-top:8px;font-size:12px;display:flex}.bands span,.dist-legend span{align-items:center;gap:6px;display:inline-flex}.bands i,.dist-legend i{border-radius:3px;flex:none;width:9px;height:9px;display:inline-block}.macro-bar{border-radius:4px;gap:2px;height:8px;margin-bottom:14px;display:flex;overflow:hidden}.macro-bar>i{border-radius:2px;height:100%;transition:width .3s;display:block}.macro-inputs{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.macro-input{flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.macro-input .input{text-align:center;font-variant-numeric:tabular-nums;padding:11px 10px}.macro-dot{vertical-align:middle;border-radius:2px;width:8px;height:8px;margin-right:8px;display:inline-block}.log-card{padding:2px 16px}.log-card[open]{padding-bottom:8px}.macro-card[open]{padding-bottom:14px}.log-summary{cursor:pointer;color:var(--text-dim);align-items:center;gap:8px;padding:14px 0;font-size:14px;font-weight:600;list-style:none;display:flex}.log-summary::-webkit-details-marker{display:none}.log-summary:before{content:"›";color:var(--text-faint);font-size:15px;line-height:1;transition:transform .15s}.log-card[open] .log-summary:before{transform:rotate(90deg)}.log-count{color:var(--text-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px;font-weight:600}.timeline{flex-direction:column;display:flex}.tl-item{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:12px 0;display:flex}.tl-item:last-child{border-bottom:none}.tl-dot{background:color-mix(in srgb, var(--tint) 16%, transparent);border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-size:15px;display:grid}.tl-open{text-align:left;border-radius:var(--r-sm);flex:1;align-items:center;gap:12px;min-width:0;transition:opacity .12s;display:flex}.tl-open:active{opacity:.6}.tl-main{flex-direction:column;flex:1;min-width:0;display:flex}.tl-title{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;display:block;overflow:hidden}.tl-detail{color:var(--text-faint);font-size:12px;display:block}.tl-kcal{font-family:var(--num);font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:650}.tl-del{width:30px;height:30px;color:var(--text-faint);border-radius:8px;flex:none;place-items:center;font-size:16px;display:grid}.tl-del:active{background:var(--surface-2);color:var(--danger)}.empty{text-align:center;color:var(--text-faint);padding:26px 16px;font-size:14px}.bars{grid-auto-columns:1fr;grid-auto-flow:column;align-items:end;gap:7px;height:132px;margin-bottom:8px;display:grid}.bar-col{flex-direction:column;justify-content:flex-end;gap:5px;height:100%;display:flex}.bar-wrap{flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.bar{border-radius:5px;min-height:3px;transition:height .3s}.bar-axis{background:var(--line-strong);height:1px}.bar-label{color:var(--text-faint);text-align:center;font-variant-numeric:tabular-nums;font-size:10px}.legend{color:var(--text-faint);justify-content:center;gap:14px;margin-top:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:9px;height:9px;display:inline-block}.stat-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px}.stat dt{text-transform:uppercase;letter-spacing:.05em;color:var(--text-faint);margin-bottom:5px;font-size:11px}.stat dd{font-family:var(--num);font-variant-numeric:tabular-nums;margin:0;font-size:23px;font-weight:650}.spark{align-items:flex-end;gap:4px;height:40px;margin-top:10px;display:flex}.spark i{background:var(--mood);opacity:.75;border-radius:3px 3px 0 0;flex:1;min-height:2px}.nav{z-index:30;max-width:560px;height:calc(var(--nav-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin:0 auto;display:grid;position:fixed;bottom:0;left:0;right:0}.nav button{letter-spacing:.03em;color:var(--text-faint);flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:10px;font-weight:600;transition:color .15s;display:flex}.nav button[aria-current=page]{color:var(--text)}.nav .nav-icon{font-size:19px;line-height:1}.onboard{max-width:560px;min-height:100dvh;padding:calc(var(--safe-top) + 28px) var(--pad) calc(var(--safe-bottom) + 28px);flex-direction:column;gap:20px;margin:0 auto;display:flex}.onboard-hero h1{letter-spacing:-.02em;font-size:30px;font-weight:700;line-height:1.15}.onboard-hero p{color:var(--text-dim);margin-top:10px;font-size:15px}.bmr-readout{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:16px}.bmr-readout strong{font-family:var(--num);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;display:block}.divider{background:var(--line);height:1px;margin:4px 0}.row-between{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:13px 0;display:flex}.row-between:last-child{border-bottom:none}.row-key{color:var(--text-dim);font-size:15px}.row-val{font-variant-numeric:tabular-nums;font-size:15px;font-weight:600}.search-row{gap:8px;display:flex}.search-row .input{flex:1;min-width:0}.btn-scan{flex:none;padding:0 16px}.food-hits{border:1px solid var(--line);border-radius:12px;max-height:232px;margin:10px 0 0;padding:0;list-style:none;overflow-y:auto}.food-hits li+li{border-top:1px solid var(--line)}.food-hits button{text-align:left;width:100%;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:3px;padding:10px 12px;display:flex}.food-hits button:active{background:var(--surface-2)}.fh-name{font-size:13px;line-height:1.35}.fh-count{color:var(--text-faint)}.fh-macro{color:var(--text-dim);font-variant-numeric:tabular-nums;font-size:12px}.scan-view{margin-top:10px}.scan-view video{object-fit:cover;background:#000;border-radius:12px;width:100%;max-height:240px}.bac-warning{color:#ffb3b3;background:#ff5c5c1f;border:1px solid #ff5c5c73;border-radius:12px;margin:14px 0 0;padding:11px 13px;font-size:12.5px;line-height:1.5}
