.progress-axis{min-height:18px;position:relative}.progress-now{white-space:nowrap;color:var(--ink);font-weight:650;position:absolute;top:0}:root:is(html,[data-theme]) .progress-week li.today{border-width:2px;border-color:var(--ink)}:root:is(html,[data-theme]) .progress-back:focus-visible{outline:2px solid var(--focus,var(--green));outline-offset:2px}.progress-weighins>summary{cursor:pointer;min-height:44px;color:var(--ink);justify-content:space-between;align-items:center;font-weight:600;list-style:none;display:flex}.progress-weighins>summary::-webkit-details-marker{display:none}.progress-weighins>summary:after{content:"";border-bottom:2px solid;border-right:2px solid;flex:none;width:7px;height:7px;margin:0 6px 3px 0;transform:rotate(45deg)}.progress-weighins[open]>summary:after{margin:3px 6px 0 0;transform:rotate(225deg)}.progress-weighins ul{margin:8px 0 0;padding:0;list-style:none}.progress-weighins li{border-top:1px solid var(--line);align-items:center;gap:12px;min-height:48px;display:flex}.progress-weighins li>span{min-width:0;color:var(--text);flex:1}.progress-weighins li>b{color:var(--ink);font-variant-numeric:tabular-nums}.progress-weighins .icon-button{min-width:44px;min-height:44px}:root:is(html,[data-theme]) .panel.progress-review{background:var(--mint);border-color:#0000}.progress-review p{color:var(--text);font-size:14px;line-height:1.55}.progress-review p.progress-lead{color:var(--ink);font-size:16px}:root:is(html,[data-theme]) .panel.progress-check{background:var(--mint);color:var(--ink);border-color:#0000;margin:0;font-size:14px;line-height:1.55}.what-next{gap:4px;display:grid}.what-next-lead{color:var(--ink);font-size:14px;line-height:1.5}.what-next .food-row{padding:10px 4px}.what-next .food-title{flex-direction:column;justify-content:center;min-height:44px;display:flex}.what-next .food-title b{font-size:14px}.what-next .food-title small{color:var(--muted);font-size:12px}.streak-chip{min-height:44px;color:var(--muted);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 10px 0 7px;font-size:15px;font-weight:750;display:inline-flex}.streak-chip.lit{color:#c2410c;background:#ffeedb}:root[data-theme=dark] .streak-chip.lit{color:#ffb46b;background:#3b2616}@media (prefers-color-scheme:dark){:root[data-theme=system] .streak-chip.lit{color:#ffb46b;background:#3b2616}}.streak-chip:focus-visible{outline:2px solid var(--focus,var(--green));outline-offset:2px}.streak-flame{transform-origin:50% 90%;flex:none}.streak-chip.lit .streak-flame,.streak-hero .streak-flame{animation:.7s cubic-bezier(.3,1.6,.5,1) streak-pop}@keyframes streak-pop{0%{transform:scale(.5)}60%{transform:scale(1.2)}to{transform:scale(1)}}@media (prefers-reduced-motion:reduce){.streak-chip.lit .streak-flame,.streak-hero .streak-flame{animation:none}}.streak-hero{align-items:center;gap:14px;display:flex}.streak-hero strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:46px;font-weight:800;line-height:1;display:block}.streak-hero span{color:var(--muted);margin-top:2px;font-size:14px;display:block}.streak-rows{grid-template-columns:1fr 1fr}.streak-next{gap:6px;display:grid}.streak-next small{color:var(--muted);font-size:12px}.streak-bar{background:var(--mint);border-radius:999px;height:10px;overflow:hidden}.streak-bar i{border-radius:inherit;background:linear-gradient(90deg,#ffb52e,#ff7b1c);min-width:10px;height:100%;display:block}.streak-badges{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 8px;margin:4px 0 0;padding:0;list-style:none;display:grid}.streak-badges li{color:var(--muted);flex-direction:column;align-items:center;gap:5px;display:flex}.streak-badges li small{font-size:12px}.streak-medal{background:var(--mint);border:2px dashed var(--line);opacity:.75;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:58px;height:58px;display:flex}.streak-medal b{font-variant-numeric:tabular-nums;font-size:15px;font-weight:800;line-height:1.1}.streak-badges li.earned{color:#a4400d}.streak-badges li.earned .streak-medal{opacity:1;border:3px solid var(--surface);background:radial-gradient(circle at 35% 28%,#fff6cc 0,#ffd166 45%,#ff9f43 100%);box-shadow:0 0 0 2px #f59e0b,0 4px #c2410c33}.streak-badges li.earned .streak-medal b{color:#5b2a06}:root[data-theme=dark] .streak-badges li.earned{color:#ffb46b}@media (prefers-color-scheme:dark){:root[data-theme=system] .streak-badges li.earned{color:#ffb46b}}.zone-trio{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.zone-count{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.zone-count b{font-variant-numeric:tabular-nums;width:72px;height:72px;animation:.45s cubic-bezier(.2,.9,.3,1.2) both bite-pop;animation-delay:calc(var(--i,0) * 80ms);border-radius:50%;place-items:center;font-size:28px;font-weight:800;display:grid}.zone-count span{color:var(--muted);font-size:13px;line-height:1.3}.zone-count.tone-good b{background:var(--lime);color:var(--lime-ink)}.zone-count.tone-under b{background:var(--tone-under);color:#2e1c00}.zone-count.tone-over b{background:var(--tone-over);color:#fff}.zone-month{grid-template-columns:repeat(7,minmax(0,1fr));justify-self:center;gap:6px;width:100%;max-width:300px;margin:0;padding:0;list-style:none;display:grid}.zone-month li{aspect-ratio:1;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:50%;place-items:center;font-size:12px;font-weight:600;display:grid}.zone-month li.blank{box-shadow:none}.zone-month li.logged{color:var(--ink)}.zone-month li.future{opacity:.45}.zone-month li.today{box-shadow:inset 0 0 0 1.5px var(--line),0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.zone-month li.tone-good{background:var(--lime);color:var(--lime-ink);box-shadow:none}.zone-month li.tone-under{box-shadow:inset 0 0 0 3px var(--tone-under);color:var(--ink)}.zone-month li.tone-over{background:var(--tone-over);color:#fff;box-shadow:none}.zone-month li.today:is(.tone-good,.tone-over){box-shadow:0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.zone-month li.today.tone-under{box-shadow:inset 0 0 0 3px var(--tone-under),0 0 0 2px var(--paper),0 0 0 3.5px var(--ink)}.zone-rows{grid-template-columns:repeat(3,minmax(0,1fr))}.zone-rows span{align-items:center;gap:4px;display:inline-flex}@media (prefers-reduced-motion:reduce){.zone-count b{animation:none}}
