:root{color-scheme:light;--bg: #F4F1E8;--card: #FFFFFF;--tile: #FAF8F1;--ink: #1B2419;--muted: #6B7264;--faint: #98A08D;--border: #E7E2D5;--hair: #F0ECE1;--kcal: #3E7748;--prot: #C4622D;--money: #A8791F;--waste: #7D4F63;--caf: #6B5138;--fib: #3F6F73;--tint: #E6EEE1;--tint2: #F6EADF;--shadow: 0 1px 2px rgba(27, 36, 25, .05), 0 4px 14px rgba(27, 36, 25, .04);--frame: #1C2118}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #151810;--card: #1E2318;--tile: #252B1E;--ink: #EDEBE0;--muted: #9BA391;--faint: #7C846F;--border: #2F3628;--hair: #262C1F;--kcal: #79B183;--prot: #E29061;--money: #D6B058;--waste: #BC8CA0;--caf: #B4906D;--fib: #79A9AD;--tint: #27341F;--tint2: #33291F;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .25);--frame: #080A05}}:root[data-theme=dark]{color-scheme:dark;--bg: #151810;--card: #1E2318;--tile: #252B1E;--ink: #EDEBE0;--muted: #9BA391;--faint: #7C846F;--border: #2F3628;--hair: #262C1F;--kcal: #79B183;--prot: #E29061;--money: #D6B058;--waste: #BC8CA0;--caf: #B4906D;--fib: #79A9AD;--tint: #27341F;--tint2: #33291F;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 4px 14px rgba(0, 0, 0, .25);--frame: #080A05}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:Karla,Segoe UI,system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;font-variant-numeric:tabular-nums}h1,h2,h3,h4{font-family:Space Grotesk,Segoe UI,sans-serif;text-wrap:balance}button,input,textarea,select{font-family:inherit}a{color:var(--kcal)}:focus-visible{outline:2px solid var(--prot);outline-offset:2px}button,.item,.chip,.tab,.tl,a[role=button]{min-height:44px}.num,.n,.big,.ring .n,.tl .n,.stat .big,table.tb td.n{font-variant-numeric:tabular-nums}.app-shell{max-width:480px;margin:0 auto;min-height:100dvh;background:var(--bg);color:var(--ink);position:relative;display:flex;flex-direction:column}.scroll{flex:1;overflow-y:auto;padding:max(20px,env(safe-area-inset-top)) 18px calc(150px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:13px;scrollbar-width:none;min-height:100dvh}.scroll::-webkit-scrollbar{width:0}.phdr{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:1px}.phdr h2{font-size:25px;margin:0;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:6px}.phdr h2 svg{width:17px;height:17px;stroke:var(--faint);fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.phdr .sub{font-size:12.5px;font-weight:600;color:var(--muted);margin-top:2px}.avatar{width:38px;height:38px;border-radius:999px;background:var(--tint);color:var(--kcal);display:flex;align-items:center;justify-content:center;font-family:Space Grotesk;font-weight:700;font-size:14px;border:none;cursor:pointer;flex-shrink:0}.back{background:none;border:none;color:var(--kcal);font:inherit;font-weight:700;font-size:13px;cursor:pointer;padding:0;display:flex;align-items:center;gap:3px;margin-bottom:2px;min-height:auto}.back svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round}.ctx{display:flex;gap:8px}.ctx .c{flex:1;background:var(--card);border-radius:14px;padding:8px 11px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow);min-width:0}.ctx .dotico{width:26px;height:26px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.ctx .dotico svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.ctx .t{font-size:12.5px;font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ctx .s{font-size:10.5px;font-weight:600;color:var(--faint);line-height:1.2}.card{background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.card.pad0{padding:14px 0}.sec{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.5px;margin:6px 0 -4px 3px}.rings{display:flex;justify-content:space-around;align-items:flex-start;gap:4px}.ring{display:flex;flex-direction:column;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:0;flex:1}.ring .lab{font-size:11.5px;font-weight:700;color:var(--muted)}.ring .wrap2{position:relative;width:88px;height:88px}.ring .mid{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.ring .n{font-family:Space Grotesk;font-size:19px;font-weight:700;letter-spacing:-.4px}.ring .u{font-size:9.5px;font-weight:700;color:var(--faint);letter-spacing:.2px}.stat{background:var(--card);border-radius:18px;padding:13px 15px;box-shadow:var(--shadow);border:none;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;display:block}.stat .hd{display:flex;align-items:center;gap:6px;margin-bottom:7px}.stat .hd svg.i{width:14px;height:14px;stroke:var(--muted);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.stat .hd .lab{font-size:12px;font-weight:700;color:var(--muted);flex:1}.stat .hd .arr{width:15px;height:15px;stroke:var(--faint);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.stat .bd{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.stat .big{font-family:Space Grotesk;font-size:27px;font-weight:700;line-height:1.05;letter-spacing:-.9px;display:block}.stat .status{font-size:12px;font-weight:700;margin-top:1px;display:block}.tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tl{background:var(--card);border-radius:15px;padding:11px 13px;box-shadow:var(--shadow);display:flex;align-items:center;gap:8px;border:none;text-align:left;font:inherit;color:inherit;cursor:pointer}.tl .col{flex:1;min-width:0}.tl .lab{font-size:11px;font-weight:700;color:var(--muted);display:block}.tl .n{font-family:Space Grotesk;font-size:19px;font-weight:700;letter-spacing:-.5px;display:block;line-height:1.2}.tl .p{font-size:11px;font-weight:700;display:block}.sum{background:var(--card);border-radius:18px;padding:14px 16px;box-shadow:var(--shadow)}.sum h4{font-family:Space Grotesk;font-size:14.5px;margin:0 0 5px;font-weight:700}.sum p{margin:0;font-size:12.8px;line-height:1.5;color:var(--muted)}.item{background:var(--card);border-radius:15px;padding:11px 13px;display:flex;align-items:center;gap:11px;box-shadow:var(--shadow);cursor:pointer;border:none;text-align:left;width:100%;font:inherit;color:inherit}.item:hover{background:var(--tile)}.ico{width:34px;height:34px;border-radius:11px;background:var(--tint);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ico svg{width:17px;height:17px;stroke:var(--kcal);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.gr{flex:1;min-width:0}.t{font-size:13.5px;font-weight:700;display:block}.s{font-size:11.5px;font-weight:500;color:var(--muted);display:block;line-height:1.35}.num{font-family:Space Grotesk;font-size:13.5px;font-weight:700;white-space:nowrap}.lbl{font-size:11px;font-weight:700;color:var(--muted)}.badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;letter-spacing:.2px;white-space:nowrap;display:inline-block}.b-v{background:var(--tint);color:var(--kcal)}.b-e{background:var(--tile);color:var(--muted);border:1px solid var(--border)}.b-a{background:var(--tint2);color:var(--prot)}.chip{font-size:12px;font-weight:600;padding:7px 12px;border-radius:999px;border:1px solid var(--border);background:var(--card);color:var(--ink);cursor:pointer;font-family:inherit}.chip.on{background:var(--ink);color:var(--bg);border-color:var(--ink)}.chips{display:flex;gap:6px;flex-wrap:wrap}.btn{font:inherit;font-weight:700;font-size:13.5px;padding:12px 16px;border-radius:14px;border:none;cursor:pointer;background:var(--kcal);color:#fff;width:100%;min-height:44px}.btn:disabled{opacity:.55;cursor:default}.btn.gh{background:transparent;color:var(--kcal);border:1.5px solid var(--kcal)}.btn.sm{width:auto;padding:8px 13px;font-size:12.5px;min-height:36px}.input{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink);width:100%;min-height:44px}.input:focus-visible{outline:2px solid var(--kcal);outline-offset:1px}textarea.input{resize:none;min-height:78px;line-height:1.45;font-family:inherit}.dashed{border:1.5px dashed var(--border);border-radius:15px;padding:11px 14px;color:var(--kcal);font-weight:700;font-size:13px;text-align:center;background:transparent;cursor:pointer;width:100%;font-family:inherit}.note{font-size:11px;color:var(--faint);line-height:1.45;margin:0}.err{font-size:13px;font-weight:600;color:var(--prot);margin-top:10px;min-height:19px}.bar{height:7px;border-radius:999px;background:var(--tile);overflow:hidden}.bar i{display:block;height:100%;border-radius:999px}.hb{display:flex;align-items:center;gap:9px;font-size:12px}.hb .nm{width:92px;flex-shrink:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hb .bar{flex:1}.hb .v{font-family:Space Grotesk;font-weight:700;width:62px;text-align:right}table.tb{width:100%;border-collapse:collapse;font-size:12.5px}.tb td{padding:8px 0;border-top:1px solid var(--hair);vertical-align:middle}.tb tr:first-child td{border-top:none}.tb td.n{text-align:right;font-family:Space Grotesk;font-weight:700;white-space:nowrap}.step{display:flex;align-items:center;border:1px solid var(--border);border-radius:12px;overflow:hidden}.step button{width:44px;height:44px;border:none;background:var(--card);font-size:18px;color:var(--kcal);cursor:pointer;font-family:inherit}.step span{min-width:66px;text-align:center;font-family:Space Grotesk;font-weight:700;font-size:13px}.bottom-fixed{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;pointer-events:none;z-index:20}.bottom-fixed>.bottom-inner{width:100%;max-width:480px;position:relative;pointer-events:none}.ask{position:absolute;left:14px;right:14px;bottom:calc(78px + env(safe-area-inset-bottom));height:48px;border-radius:999px;background:var(--card);box-shadow:0 6px 22px #1b241924;display:flex;align-items:center;gap:9px;padding:0 6px 0 15px;cursor:pointer;border:1px solid var(--border);pointer-events:auto}.ask span{flex:1;font-size:13px;color:var(--faint);font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.ask .plus{width:36px;height:36px;border-radius:999px;background:var(--kcal);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ask .plus svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2.6;stroke-linecap:round}.tabbar{position:absolute;left:0;right:0;bottom:0;height:calc(70px + env(safe-area-inset-bottom));background:var(--card);border-top:1px solid var(--hair);display:flex;justify-content:space-around;align-items:flex-start;padding:7px 4px 0;pointer-events:auto}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:600;color:var(--faint);background:none;border:none;cursor:pointer;font-family:inherit;min-width:62px;text-decoration:none}.tab .pill{width:46px;height:27px;border-radius:999px;display:flex;align-items:center;justify-content:center}.tab svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.tab.on{color:var(--kcal)}.tab.on .pill{background:var(--tint)}.toast{position:fixed;left:50%;transform:translate(-50%);top:max(52px,calc(env(safe-area-inset-top) + 16px));width:calc(100% - 36px);max-width:444px;background:var(--ink);color:var(--bg);padding:11px 15px;border-radius:14px;font-weight:600;font-size:12.5px;z-index:40;box-shadow:0 8px 24px #00000040;text-align:center}.photo{aspect-ratio:4 / 3;border-radius:16px;background:linear-gradient(135deg,#5c6e4e,#3e4f36 42%,#8a6a3c 72%,#c99b5a);position:relative;overflow:hidden;border:none;width:100%;padding:0;cursor:pointer}.photo .tag{background:#ffffffeb;color:#1b2419;font-size:10.5px;font-weight:700;border-radius:8px;padding:3px 7px;position:absolute}@media (prefers-reduced-motion: no-preference){.item,.chip,.tab,.stat,.tl{transition:background .15s}}.center-page{min-height:100dvh;display:flex;align-items:center;padding:max(28px,env(safe-area-inset-top)) 20px max(28px,env(safe-area-inset-bottom))}
