@font-face{font-family:Fraunces;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/fraunces-latin-600-italic-O70d2LGK.woff2)format("woff2"),url(/assets/fraunces-latin-600-italic-BlP2rMdV.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/outfit-latin-400-normal-BGsTXAXT.woff2)format("woff2"),url(/assets/outfit-latin-400-normal-DMwTpYkH.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/outfit-latin-500-normal-DKnIMDSk.woff2)format("woff2"),url(/assets/outfit-latin-500-normal-ClnHRwRh.woff)format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/outfit-latin-600-normal-B7SfZ07L.woff2)format("woff2"),url(/assets/outfit-latin-600-normal-BEfTtDA7.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2)format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2)format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff)format("woff")}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#110e0c;--bg-deep:#070605;--card:#221c18;--card-2:#2a231e;--line:#ffd6aa29;--text:#f7f1e8;--muted:#cbbbaa;--faint:#a89484;--amber:#ffb01f;--amber-2:#ffd36a;--ink:#1a120c;--chili:#ff5d3a;--protein:#9fd4ff;--carbs:#ffd36a;--fat:#ffb09a;--water:#8fd4ff;--danger:#ff8d7a;--ok:#b7d7a8;--shadow:0 18px 50px #00000047;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,PingFang HK,Heiti TC,Noto Sans CJK TC,Microsoft JhengHei,sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{background:radial-gradient(900px 420px at 50% -10%, #ffb01f14, transparent 55%), var(--bg-deep);min-height:100dvh;color:var(--text);margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer}button,label.btn,.food-btn,.chip,.glass,.tab{touch-action:manipulation}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}img{max-width:100%;display:block}.app-frame{background:var(--bg);width:min(480px,100%);min-height:100dvh;margin:0 auto;position:relative;box-shadow:0 0 0 1px #ffd6aa14}.screen{min-height:100dvh;padding:calc(18px + env(safe-area-inset-top)) 16px calc(92px + env(safe-area-inset-bottom))}.boot{text-align:center;background:var(--bg);place-items:center;min-height:100dvh;padding:24px;display:grid}.brand{letter-spacing:-.05em;margin:0;font-family:Syne,Outfit,sans-serif;font-size:1.15rem;font-weight:800}.brand i{color:var(--amber);font-style:normal}.top{justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.top h1{letter-spacing:-.04em;margin:4px 0 0;font-family:Syne,Outfit,sans-serif;font-size:1.55rem}.tagline{color:var(--amber-2);text-align:right;max-width:11rem;margin:0;font-size:.92rem}.lede{color:var(--muted);margin:0 0 14px;line-height:1.45}.macro-card,.card,.quote,.install{border:1px solid var(--line);box-shadow:var(--shadow);background:radial-gradient(120% 90% at 100% 0,#ffb01f24,#0000 52%),linear-gradient(#2a221c 0%,#1b1613 100%);border-radius:22px;padding:16px}.card,.install{box-shadow:none;background:#1c1815}.stack{gap:12px;display:grid}.kicker{color:var(--amber-2);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem}.kcal-num{letter-spacing:-.06em;font-variant-numeric:tabular-nums;margin:6px 0 0;font-family:Syne,Outfit,sans-serif;font-size:clamp(4.2rem,20vw,5.6rem);font-weight:800;line-height:.84}.kcal-num span{letter-spacing:0;color:var(--amber);margin-left:8px;font-family:Outfit,sans-serif;font-size:1rem;font-weight:600}.meta-row,.split{color:var(--muted);justify-content:space-between;gap:8px;margin-top:8px;font-size:.92rem;display:flex}.bar{background:#fff1e814;border-radius:999px;height:12px;margin-top:14px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg,#ffd36a,#ffb01f);height:100%}.bar-fill.over{background:linear-gradient(90deg,#ffb01f,#ff5d3a)}.macros{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.macros div{background:#08060547;border-radius:14px;min-height:64px;padding:10px 8px}.macros b{font-variant-numeric:tabular-nums;font-family:Syne,Outfit,sans-serif;font-size:1.25rem;display:block}.macros span{color:var(--faint);font-size:.82rem}.macros .p b{color:var(--protein)}.macros .c b{color:var(--carbs)}.macros .f b{color:var(--fat)}.quote{border-left:4px solid var(--chili);background:#1a120f;border-radius:18px}.quote p{overflow-wrap:anywhere;margin:0;font-family:Fraunces,Iowan Old Style,Songti TC,PMingLiU,serif;font-size:clamp(1.28rem,4.6vw,1.6rem);font-style:italic;font-weight:600;line-height:1.35}.quote footer{color:var(--faint);margin-top:10px;font-family:Outfit,sans-serif;font-size:.85rem;font-style:normal}.mark{color:var(--chili);margin-right:4px;font-family:Fraunces,serif;font-style:italic}h2{letter-spacing:.02em;margin:18px 0 8px;font-size:1rem}.card h2{margin:0 0 8px}.hint{color:var(--muted);margin:0 0 10px;font-size:.88rem;line-height:1.4}.glasses{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.glass{min-height:48px;color:var(--water);background:0 0;border:1px solid #8fd4ff66;border-radius:14px;font-weight:700}.glass[aria-pressed=true]{background:var(--water);color:#102028;border-color:#0000}.weight-row,.inline{align-items:center;gap:8px;display:flex}.weight-row input,.field input,.search{border:1px solid var(--line);background:#14110f;border-radius:14px;width:100%;min-height:48px;padding:10px 12px;font-size:16px}.field{gap:6px;display:grid}.field span{color:var(--muted);font-size:.86rem}.btn{text-align:center;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:12px 14px;font-weight:650;text-decoration:none;display:inline-flex}.btn-primary{color:var(--ink);background:linear-gradient(#ffc44a,#ffb01f)}.btn-secondary{background:var(--card-2);color:var(--text);border-color:var(--line)}.btn-ghost{color:var(--amber-2);background:0 0;border-color:#ffb01f66}.btn-danger{color:var(--danger);background:0 0;border-color:#ff5d3a73}.btn-block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.capture-grid{gap:8px;display:grid}label.btn{position:relative;overflow:hidden}label.btn input[type=file]{opacity:0;cursor:pointer;width:100%;height:100%;font-size:16px;position:absolute;inset:0}.note,.error{border-radius:14px;margin:0;padding:10px 12px;font-size:.92rem;line-height:1.4}.note{color:var(--amber-2);background:#ffb01f14}.error{color:#ffd0c6;background:#ff5d3a1f}.preview{object-fit:cover;background:#000;border-radius:18px;width:100%;max-height:240px}.viewfinder{background:#000;border-radius:18px;gap:8px;padding:8px;display:grid}.viewfinder-video{object-fit:cover;background:#000;border-radius:12px;width:100%;max-height:320px}.video-parked{opacity:0;pointer-events:none;width:160px;height:120px;position:fixed;top:0;left:0}.chip-row{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);min-height:44px;color:var(--muted);white-space:nowrap;background:0 0;border-radius:999px;padding:8px 12px}.chip[aria-pressed=true]{background:var(--amber);color:var(--ink);border-color:#0000;font-weight:700}input[type=range]{width:100%;height:36px;accent-color:var(--amber)}.food-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.food-btn{text-align:left;border:1px solid var(--line);background:#1c1815;border-radius:16px;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:56px;padding:10px 12px;display:flex}.food-btn b{font-weight:650;display:block}.food-btn small{color:var(--faint)}.food-kcal{color:var(--amber-2);font-variant-numeric:tabular-nums;white-space:nowrap}.meal{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:10px 0;display:grid}.meal:last-child{border-bottom:0}.meal b{font-weight:650}.meal small{color:var(--faint);margin-top:2px;display:block}.actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.pill{min-height:28px;color:var(--muted);background:#fff1e814;border-radius:999px;align-items:center;padding:2px 8px;font-size:.78rem;display:inline-flex}.pills{flex-wrap:wrap;gap:6px;margin:8px 0;display:flex}details summary{cursor:pointer;min-height:44px;color:var(--amber-2);align-items:center;display:flex}details .stack{margin:8px 0 4px}.tabbar{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);width:min(480px,100%);padding-bottom:env(safe-area-inset-bottom);background:#110e0cf0;grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tab{min-height:56px;color:var(--faint);background:0 0;border:0;font-weight:650}.tab[aria-current=page]{color:var(--amber)}.toast{z-index:30;left:50%;bottom:calc(76px + env(safe-area-inset-bottom));width:min(440px,100% - 24px);color:var(--ink);background:#f7f1e8;border-radius:14px;padding:12px 14px;font-weight:650;position:fixed;transform:translate(-50%)}.live{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.linkish{color:var(--amber-2);background:0 0;border:0;min-height:44px;padding:0;font-weight:650}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
