:root{--bg:#f3f6f0;--surface:#fff;--surface-2:#eef2ea;--ink:#1b241d;--muted:#66716a;--line:#dde3d8;--accent:#2f7a46;--accent-ink:#235e34;--accent-soft:#e4efe4;--ring-track:#e2e8dc;--good:#3f9d5c;--warn:#ab6529;--warn-soft:#f3e6d8;--flame:#e8a417;--flame-core:#ffe08c;--flame-hot:#ff4d15;--danger:#b23b3b;--radius:16px;--radius-sm:11px;--shadow:0 1px 2px #1428190a, 0 8px 24px -14px #1428192e;--font-ui:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Menlo, Consolas, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#10140f;--surface:#191e17;--surface-2:#222a20;--ink:#e9eee4;--muted:#9aa693;--line:#2c342a;--accent:#6fbf87;--accent-ink:#a9d9b6;--accent-soft:#1d281e;--ring-track:#2b3327;--good:#74c98d;--warn:#d59a63;--warn-soft:#2c2418;--flame:#f7c34a;--flame-core:#fff2c2;--flame-hot:#ff6a30;--danger:#e07a7a;--shadow:0 1px 2px #0000004d, 0 10px 28px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#10140f;--surface:#191e17;--surface-2:#222a20;--ink:#e9eee4;--muted:#9aa693;--line:#2c342a;--accent:#6fbf87;--accent-ink:#a9d9b6;--accent-soft:#1d281e;--ring-track:#2b3327;--good:#74c98d;--warn:#d59a63;--warn-soft:#2c2418;--flame:#f7c34a;--flame-core:#fff2c2;--flame-hot:#ff6a30;--danger:#e07a7a;--shadow:0 1px 2px #0000004d, 0 10px 28px -16px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:15px;line-height:1.5}button{font:inherit;color:inherit;cursor:pointer}input,textarea{font:inherit;color:inherit}h1,h2,h3,p{margin:0}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.app{background:var(--bg);flex-direction:column;width:100%;max-width:480px;min-height:100dvh;margin-inline:auto;display:flex}@media (width>=500px){.app{border-inline:1px solid var(--line)}}.topbar{z-index:20;padding:10px 14px;padding-top:max(10px, env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:8px;display:flex}.brand__mark{background:var(--accent);color:#fff;border-radius:8px;place-items:center;width:26px;height:26px;display:grid}:root[data-theme=dark] .brand__mark,:root:not([data-theme=light]) .brand__mark{color:#10140f}@media (prefers-color-scheme:dark){.brand__mark{color:#10140f}}.brand__mark svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.brand__name,.brand__input{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink);font-size:18px;font-weight:600;line-height:1.3}.brand__name{border:none;border-bottom:1px dashed color-mix(in srgb, var(--muted) 45%, transparent);text-overflow:ellipsis;white-space:nowrap;background:0 0;border-radius:2px;max-width:42vw;padding:0 1px 1px;overflow:hidden}.brand__name:hover{border-bottom-color:var(--accent)}.brand__input{border:none;border-bottom:1px solid var(--accent);background:0 0;outline:none;min-width:7ch;max-width:42vw;padding:0 1px}.topbar__right{align-items:center;gap:8px;display:flex}.iconbtn{width:34px;height:34px;color:var(--muted);background:0 0;border:none;border-radius:9px;place-items:center;font-size:19px;display:grid}.iconbtn:hover{background:var(--surface-2);color:var(--ink)}.main{padding:14px 14px calc(80px + env(safe-area-inset-bottom));flex:1}.view{flex-direction:column;gap:13px;display:flex}.view__head{padding:4px 2px 2px}.view__head h1{font-family:var(--font-display);text-wrap:balance;font-size:27px;font-weight:600;line-height:1.12}.view__sub{color:var(--muted);margin-top:3px;font-size:13.5px}.muted{color:var(--muted)}.small{font-size:12.5px}.center{text-align:center}.u{color:var(--muted);font-weight:500}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:15px}.card__head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:11px;display:flex}.card__head h2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:14px;font-weight:600}.card__stat{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:17px;font-weight:500}.card__stat--muted{font-family:var(--font-ui);color:var(--muted);font-size:12.5px;font-weight:500}.card__stat.is-down{color:var(--good)}.card__stat.is-up{color:var(--warn)}.btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:9px 14px;font-size:14px;font-weight:600;transition:transform 40ms}.btn:active{transform:scale(.985)}.btn--solid{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.btn--solid{color:#10140f}}:root[data-theme=dark] .btn--solid{color:#10140f}.btn--ghost{background:var(--surface-2);color:var(--ink);border-color:#0000}.btn--danger{border-color:color-mix(in srgb, var(--danger) 45%, var(--line));color:var(--danger);background:0 0}.btn--wide{width:100%;display:block}.btn--sm{border-radius:8px;padding:6px 11px;font-size:13px}.btn:disabled{opacity:.45;pointer-events:none}.datenav{align-items:center;gap:8px;display:flex}.datenav__arrow{border:1px solid var(--line);background:var(--surface);width:38px;height:38px;color:var(--ink);border-radius:11px;flex:none;place-items:center;font-size:18px;display:grid}.datenav__arrow:disabled{opacity:.3;pointer-events:none}.datenav__label{text-align:center;flex-direction:column;flex:1;gap:1px;display:flex}.datenav__day{font-family:var(--font-display);font-size:16px;font-weight:500}.datenav__today{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-size:11px;font-weight:700}.datenav__jump{color:var(--muted);text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:11.5px;font-weight:600;text-decoration:underline}.card--hero{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 22%, var(--line));flex-direction:column;gap:12px;display:flex}.hero__top{align-items:center;gap:10px;display:flex}.hero__streak{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:1px;min-height:96px;display:flex}.hero__flame{line-height:.9;font-size:calc(28px + var(--heat,0) * 26px);--sway:calc(1.5deg + var(--heat,0) * 3.5deg);place-items:center;display:grid;position:relative}.hero__flame:before{content:"";background:radial-gradient(circle, color-mix(in srgb, var(--flame) calc(45% + var(--heat,0) * 40%), transparent) 0%, color-mix(in srgb, var(--flame-hot) calc(14% + var(--heat,0) * 26%), transparent) 42%, transparent 70%);filter:blur(5px);width:1.6em;height:1.6em;animation:flameGlow calc(2.6s - var(--heat,0) * 1.2s) ease-in-out infinite;border-radius:50%;position:absolute}.lflame{transform-origin:50% 88%;animation:flameSway calc(2.3s - var(--heat,0) * 1s) ease-in-out infinite;position:relative;overflow:visible}.lflame__body{fill:color-mix(in oklab, var(--flame), var(--flame-hot) calc(var(--heat,0) * 55%));transform-origin:50% 88%;animation:flameLick calc(1.7s - var(--heat,0) * .85s) ease-in-out infinite}.lflame__core{fill:var(--flame-core);transform-origin:50% 90%;animation:flameCore calc(1.05s - var(--heat,0) * .45s) ease-in-out infinite}.hero__sparks{pointer-events:none;position:absolute;inset:0}.hero__sparks span{background:var(--flame-core);opacity:0;border-radius:50%;width:.09em;height:.09em;animation:1.5s ease-out infinite spark;position:absolute;bottom:34%;left:50%}.hero__sparks span:nth-child(2){--dx:-.28em;animation-delay:.5s}.hero__sparks span:nth-child(3){--dx:.24em;animation-delay:1s}@keyframes spark{0%{opacity:0;transform:translate(0)scale(1)}18%{opacity:1}to{transform:translate(var(--dx,.1em), -1.1em) scale(.3);opacity:0}}@keyframes flameSway{0%,to{transform:rotate(0)translateY(0)}25%{transform:rotate(calc(var(--sway) * -1)) translateY(-.6px)}60%{transform:rotate(var(--sway)) translateY(-1.1px)}80%{transform:rotate(calc(var(--sway) * -.4)) translateY(-.3px)}}@keyframes flameLick{0%,to{transform:scale(1)}35%{transform:scale(.96,1.07)}70%{transform:scale(1.05,.95)}}@keyframes flameCore{0%,to{opacity:.9;transform:scale(1)}40%{opacity:1;transform:scale(.86,1.16)}75%{opacity:.78;transform:scale(1.1,.9)}}@keyframes flameGlow{0%,to{opacity:.5;transform:scale(.94)}45%{opacity:.95;transform:scale(1.16)}}.hero__streaknum{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--ink);font-size:30px;font-weight:600;line-height:1.05}.hero__streakcap{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:700}.hero__streak.is-cold .hero__flame:before{display:none}.hero__streak.is-cold .lflame,.hero__streak.is-cold .lflame__body,.hero__streak.is-cold .lflame__core{animation:none}.hero__streak.is-cold .lflame__body{fill:var(--ring-track)}.hero__streak.is-cold .lflame__core{fill:#0000}.hero__streak.is-cold .hero__streaknum{color:var(--muted)}.ring{flex:none;place-items:center;display:grid;position:relative}.ring__fill{transition:stroke-dashoffset .5s cubic-bezier(.22,1,.36,1)}.ring__label{flex-direction:column;justify-content:center;align-items:center;gap:1px;display:flex;position:absolute;inset:0}.hero__num{font-family:var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-ink);font-size:30px;font-weight:600;line-height:1}.hero__den{color:var(--muted);font-size:16px}.hero__cap{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:600}.hero__side{flex-direction:column;gap:4px;display:flex}.hero__title{font-size:14.5px;font-weight:700}.hero__fact{color:var(--muted);font-size:12.5px;line-height:1.5}.hero__factlink{border-bottom:1px dotted color-mix(in srgb, var(--accent) 55%, transparent);width:fit-content;text-decoration:none}.hero__factlink:hover{border-bottom-style:solid}.hero__facteyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);margin-bottom:2px;font-size:9.5px;font-weight:700;display:block}.target{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:0 4px;font-size:12.5px;display:flex}.target b{font-family:var(--font-display);color:var(--ink);font-size:15px;font-weight:600}.target__aim{margin-left:auto;font-size:11.5px}.gap{background:var(--warn-soft);color:var(--warn);border-radius:10px;margin-top:-4px;padding:8px 12px;font-size:12.5px;font-weight:500}.nudge{text-align:left;border-radius:var(--radius-sm);border:1px dashed color-mix(in srgb, var(--accent) 45%, var(--line));background:var(--accent-soft);flex-direction:column;gap:2px;width:100%;padding:12px 14px;display:flex}.nudge__title{color:var(--accent-ink);font-size:13.5px;font-weight:700}.nudge__sub{color:var(--muted);font-size:12.5px}.hint{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--line);color:var(--muted);align-items:flex-start;gap:9px;padding:11px 13px;font-size:12.5px;line-height:1.45;display:flex}.hint__icon{color:var(--accent-ink);flex:none;margin-top:1px;font-size:15px}.meals{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.meal{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);width:100%;box-shadow:var(--shadow);align-items:stretch;transition:border-color .15s,background .15s;display:flex;overflow:hidden}.meal__main{text-align:left;background:0 0;border:none;flex:1;align-items:flex-start;gap:12px;min-width:0;padding:13px 4px 13px 14px;display:flex}.meal__main:disabled{cursor:default}.meal__edit{border:none;border-left:1px solid var(--line);width:42px;color:var(--muted);background:0 0;flex:none;place-items:center;font-size:17px;display:grid}.meal__edit:hover{background:var(--surface-2);color:var(--ink)}.meal.is-done{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 30%, var(--line))}.meal.is-skipped{background:var(--surface-2);border-style:dashed}.meal.is-skipped .meal__text{color:var(--muted);font-style:italic}.meal__macros{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11.5px}.tag--shift{background:var(--accent-soft);color:var(--accent-ink)}.mealedit{border-radius:var(--radius-sm);border:1px solid var(--accent);background:var(--surface);flex-direction:column;gap:2px;margin-top:7px;padding:13px 14px;display:flex}.detect{flex-direction:column;gap:7px;padding:2px 0 4px;display:flex}.detect__chips{flex-wrap:wrap;gap:6px;display:flex}.dchip{background:var(--accent-soft);color:var(--accent-ink);border-radius:999px;align-items:baseline;gap:6px;padding:4px 9px;font-size:12.5px;font-weight:600;display:inline-flex}.dchip i{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;font-style:normal;font-weight:500}.detect__none{color:var(--muted);font-size:12px}.detect__warn{color:var(--warn);background:var(--warn-soft);border-radius:9px;padding:7px 10px;font-size:12px;font-weight:600}.detect .seg{margin-top:-2px}.meal__was{color:var(--muted);opacity:.85;margin-top:1px;font-size:11px;display:block}.mealedit__row{gap:8px;margin-top:4px;display:flex}.mealedit__row .btn{flex:1}.card--rest{background:var(--surface);border-color:color-mix(in srgb, var(--accent) 22%, var(--line))}.rest__nums{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px;display:grid}.rest__nums>div{flex-direction:column;gap:1px;display:flex}.rest__v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:21px;font-weight:600}.rest__nums>div:nth-child(2) .rest__v{color:var(--accent-ink)}.rest__k{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.rest__bar{background:var(--ring-track);border-radius:999px;height:7px;margin-bottom:10px;overflow:hidden}.rest__fill{background:var(--accent);border-radius:999px;height:100%;transition:width .45s cubic-bezier(.22,1,.36,1);display:block}.rest__note{color:var(--muted);font-size:12.5px}.daylog__meals li.is-skipped .daylog__what{font-style:italic}.daylog__what .tag{margin-left:6px}.meal__check{border:1.75px solid var(--line);background:var(--surface);border-radius:7px;flex:none;place-items:center;width:22px;height:22px;margin-top:1px;transition:background .15s,border-color .15s;display:grid}.meal__check svg{fill:none;stroke:#fff;stroke-width:2.6px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:26;stroke-dashoffset:26px;width:15px;height:15px;transition:stroke-dashoffset .28s 20ms}.meal.is-done .meal__check{background:var(--accent);border-color:var(--accent)}.meal.is-done .meal__check svg{stroke-dashoffset:0}.meal__body{flex-direction:column;gap:2px;min-width:0;display:flex}.meal__label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-items:center;gap:7px;font-size:11px;font-weight:700;display:flex}.meal__text{color:var(--ink);font-size:14.5px}.meal.is-done .meal__text{color:var(--accent-ink)}.tag{letter-spacing:.05em;text-transform:uppercase;background:var(--surface-2);color:var(--muted);letter-spacing:.04em;border-radius:999px;padding:2px 6px;font-size:9.5px;font-weight:700}.tag--meat{background:var(--warn-soft);color:var(--warn)}.pips{flex-wrap:wrap;gap:6px;margin-bottom:13px;display:flex}.pip{background:var(--surface-2);border:1px solid var(--line);border-radius:5px;width:15px;height:22px;transition:background .2s,border-color .2s}.pip.is-full{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 55%, #7cc9e0), var(--accent));border-color:var(--accent)}.counter{justify-content:space-between;align-items:center;gap:12px;display:flex}.counter__btn{border:1px solid var(--line);background:var(--surface-2);width:46px;height:40px;color:var(--ink);border-radius:11px;font-size:22px;font-weight:500;line-height:1}.counter__btn--plus{background:var(--accent);border-color:var(--accent);color:#fff}@media (prefers-color-scheme:dark){.counter__btn--plus{color:#10140f}}:root[data-theme=dark] .counter__btn--plus{color:#10140f}.counter__val{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:19px}.field{flex-direction:column;gap:5px;margin-bottom:11px;display:flex}.field--row{flex-direction:row;justify-content:space-between;align-items:center}.field__label{color:var(--muted);font-size:12.5px;font-weight:600}.field input{border:1px solid var(--line);background:var(--surface-2);font-variant-numeric:tabular-nums;border-radius:10px;width:100%;padding:10px 12px}.field--row input{text-align:right;width:96px}.field input:focus{background:var(--surface)}.notes{border:1px solid var(--line);background:var(--surface-2);resize:vertical;border-radius:11px;width:100%;min-height:44px;padding:11px 12px}.notes:focus{background:var(--surface)}.mono{font-family:var(--font-mono);font-size:11.5px;line-height:1.45}.plan{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.plan__day{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:13px 14px}.plan__day.is-current{border-color:color-mix(in srgb, var(--accent) 40%, var(--line))}.plan__day.is-editing{border-color:var(--accent)}.plan__dayhead{justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px;display:flex}.plan__dayhead h2{font-family:var(--font-display);align-items:center;gap:8px;font-size:17px;font-weight:600;display:flex}.plan__actions{gap:7px;display:flex}.plan__actions .btn{padding:6px 12px;font-size:13px}.plan__meals{flex-direction:column;gap:8px;margin:0;display:flex}.plan__meal{grid-template-columns:74px 1fr;align-items:start;gap:10px;display:grid}.plan__meal dt{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);padding-top:3px;font-size:10.5px;font-weight:700}.plan__meal dd{margin:0;font-size:14px}.plan__meal textarea{border:1px solid var(--line);background:var(--surface-2);resize:vertical;border-radius:9px;width:100%;padding:8px 10px;font-size:13.5px}.plan__macros{border-top:1px dashed var(--line);color:var(--muted);font-variant-numeric:tabular-nums;margin-top:9px;padding-top:9px;font-size:11.5px}.segwrap{flex-direction:column;gap:6px;display:flex}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:11px;gap:4px;padding:3px;display:flex}.seg__btn{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1;padding:8px 6px;font-size:13px;font-weight:600}.seg__btn.is-on{background:var(--surface);color:var(--accent-ink);box-shadow:var(--shadow)}.readout{background:var(--accent-soft);border-radius:12px;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 8px;display:grid}.readout>div{flex-direction:column;align-items:center;gap:1px;display:flex}.readout__v{font-family:var(--font-display);color:var(--accent-ink);font-variant-numeric:tabular-nums;font-size:19px;font-weight:600}.readout__k{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.card--rules h2{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-size:13px;font-weight:600}.card--rules ul{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.card--rules li{grid-template-columns:7px 1fr;align-items:start;gap:10px;display:grid}.rule__dot{background:var(--accent);border-radius:999px;width:7px;height:7px;margin-top:6px}.rule__main{font-size:13.5px;display:block}.rule__sub{color:var(--muted);margin-top:1px;font-size:11.5px;display:block}.weekbars{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:13px;display:grid}.weekbars__col{background:0 0;border:none;flex-direction:column;align-items:center;gap:6px;padding:0;display:flex}.weekbars__track{background:var(--surface-2);outline-offset:1px;border-radius:7px;outline:2px solid #0000;align-items:flex-end;width:100%;height:72px;transition:outline-color .15s;display:flex;overflow:hidden}.weekbars__col.is-sel .weekbars__track{outline-color:var(--accent)}.weekbars__fill{border-radius:7px 7px 0 0;width:100%;transition:height .4s cubic-bezier(.22,1,.36,1)}.weekbars__lbl{color:var(--muted);font-size:11px;font-weight:600}.weekbars__lbl.is-today{color:var(--accent-ink)}.chips{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.chip{background:var(--surface-2);text-align:center;border-radius:11px;flex-direction:column;gap:2px;padding:10px 8px;display:flex}.chip__v{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.chip__k{letter-spacing:.03em;text-transform:uppercase;color:var(--muted);font-size:10.5px;font-weight:600}.weekbars__fill.is-good{background:var(--accent)}.weekbars__fill.is-ok{background:color-mix(in srgb, var(--accent) 45%, var(--warn))}.weekbars__fill.is-low{background:var(--warn)}.weekbars__fill.is-none{background:0 0}.tiles{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.tile{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;align-items:center;gap:3px;padding:9px 3px 8px;transition:border-color .15s,background .15s;display:flex}.tile.is-sel{border-color:var(--accent);background:var(--accent-soft)}.tile.is-empty{opacity:.5}.tile__when{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);white-space:nowrap;font-size:9.5px;font-weight:700}.tile__score{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:18px;font-weight:600;line-height:1.1}.tile__score.is-good{color:var(--accent-ink)}.tile__score.is-ok,.tile__score.is-low{color:var(--warn)}.tile__score.is-none{color:var(--muted)}.tile__dots{gap:3px;display:flex}.tile__dots i{background:var(--ring-track);border-radius:999px;width:5px;height:5px}.tile__dots i.on{background:var(--accent)}.expandbtn{justify-content:center;align-items:center;gap:6px;margin-top:10px;display:inline-flex}.expandbtn__chev{place-items:center;transition:transform .2s;display:inline-grid}.expandbtn__chev.is-up{transform:rotate(180deg)}.expandbtn__chev svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.daydetail{border-top:1px solid var(--line);flex-direction:column;gap:11px;margin-top:12px;padding-top:13px;display:flex}.daydetail__head{justify-content:space-between;align-items:center;gap:10px;display:flex}.daydetail__head h3{font-family:var(--font-display);font-size:17px;font-weight:600}.daylog__score{font-family:var(--font-display);font-variant-numeric:tabular-nums;text-align:center;border-radius:8px;min-width:42px;padding:2px 7px;font-size:16px;font-weight:600}.daylog__score.is-good{background:var(--accent-soft);color:var(--accent-ink)}.daylog__score.is-ok,.daylog__score.is-low{background:var(--warn-soft);color:var(--warn)}.daylog__score.is-none{color:var(--muted)}.daylog__meals{flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.daylog__meals li{color:var(--muted);grid-template-columns:18px 66px 1fr;align-items:start;gap:8px;font-size:13px;display:grid}.daylog__tick{border:1.5px solid var(--line);border-radius:5px;place-items:center;width:16px;height:16px;margin-top:1px;display:grid}.daylog__meals li.is-eaten .daylog__tick{background:var(--accent);border-color:var(--accent)}.daylog__tick svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;width:11px;height:11px}.daylog__slot{letter-spacing:.05em;text-transform:uppercase;padding-top:2px;font-size:10px;font-weight:700}.daylog__meals li.is-eaten .daylog__what{color:var(--ink)}.daylog__stats{color:var(--muted);border-top:1px dashed var(--line);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 14px;padding-top:10px;font-size:12px;display:flex}.daylog__stats b{color:var(--ink);font-weight:600}.daylog__bd{flex-direction:column;gap:5px;display:flex}.bd{color:var(--muted);grid-template-columns:58px 1fr 44px;align-items:center;gap:8px;font-size:11px;display:grid}.bd__k{font-weight:600}.bd__track{background:var(--ring-track);border-radius:999px;height:5px;overflow:hidden}.bd__fill{background:var(--accent);border-radius:999px;height:100%;display:block}.bd__v{text-align:right;font-variant-numeric:tabular-nums}.bd__v i{opacity:.55;font-style:normal}.daylog__notes{color:var(--muted);font-size:12.5px;font-style:italic}.tabbar{z-index:20;width:100%;max-width:480px;padding:7px 10px calc(7px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);grid-template-columns:repeat(3,1fr);gap:2px;display:grid;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.tabbar__btn{letter-spacing:.02em;color:var(--muted);background:0 0;border:none;border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:5px 0;font-size:10.5px;font-weight:600;display:flex}.tabbar__icon{place-items:center;font-size:21px;display:grid}.tabbar__btn.is-active{color:var(--accent-ink)}.sheet{z-index:40;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet__scrim{background:#0a140c6b;border:none;animation:.18s fade;position:absolute;inset:0}.sheet__panel{background:var(--bg);border:1px solid var(--line);border-bottom:none;border-radius:22px 22px 0 0;flex-direction:column;width:100%;max-width:480px;max-height:88dvh;animation:.26s cubic-bezier(.22,1,.36,1) slideup;display:flex;position:relative}.sheet__grip{background:var(--line);border-radius:999px;width:38px;height:4px;margin:9px auto 0}.sheet__bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:8px 14px 10px;display:flex}.sheet__bar h2{font-family:var(--font-display);font-size:19px;font-weight:600}.sheet__scroll{padding:14px 14px calc(20px + env(safe-area-inset-bottom));flex-direction:column;gap:20px;display:flex;overflow-y:auto}.set{flex-direction:column;gap:9px;display:flex}.set h3{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom));background:var(--ink);color:var(--bg);white-space:nowrap;border-radius:999px;padding:9px 16px;font-size:13px;font-weight:600;animation:.2s fade;position:absolute;transform:translate(-50%)}@keyframes fade{0%{opacity:0}}@keyframes slideup{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}
