:root{--ink:#172a26;--muted:#6f7d78;--paper:#f5f3ec;--card:#fffef9;--green:#397e72;--green-dark:#285e56;--green-soft:#dcece6;--line:#dedfd7;--warm:#df8e65;--yellow:#e9c96c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 90% 0%, #dbe9df99, transparent 28rem), var(--paper);color:var(--ink);min-height:100vh;margin:0;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif}button,a{font:inherit}button{color:inherit}.app-frame{min-height:100vh;padding-bottom:94px}.topbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:10;background:#f5f3ecc7;border-bottom:1px solid #172a261a;justify-content:space-between;align-items:center;height:70px;padding:0 clamp(20px,5vw,72px);display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.03em;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:0;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-size:19px;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{background:var(--green);width:34px;height:34px;color:var(--on-accent);border-radius:11px;place-items:center;display:grid;box-shadow:0 6px 18px #397e7233}.profile-switcher{position:relative}.profile-button{border:1px solid var(--line);cursor:pointer;background:#fffef9b8;border-radius:12px;place-items:center;width:40px;height:40px;display:grid}.profile-menu{z-index:20;background:var(--card);border:1px solid #172a261f;border-radius:16px;width:220px;padding:8px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 16px 42px #172a2629}.profile-menu>p{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:4px 8px 7px;font-size:10px;font-weight:800}.profile-option{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:10px;width:100%;padding:8px;display:flex}.profile-option.active{background:var(--surface)}.profile-option-copy{flex-direction:column;gap:1px;display:flex}.profile-option-copy strong{font-size:13px}.profile-option-copy small{color:var(--muted);font-size:10px}.page-shell{width:min(700px,100% - 40px);margin:0 auto;padding:24px 0}h2{letter-spacing:-.045em;margin:0;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif}.avatar{width:27px;height:27px;color:var(--on-accent);border-radius:9px;place-items:center;font-size:11px;display:grid}.avatar-current{background:#477a71}.profile-menu-divider{background:var(--line);height:1px;margin:6px 4px}.profile-sign-out{color:var(--lightningcss-light,#805348)var(--lightningcss-dark,#f0a89b)}.profile-sign-out-icon{background:var(--surface);border-radius:9px;place-items:center;width:27px;height:27px;display:grid}.card{background:#fffef9eb;border:1px solid #172a261a;border-radius:22px;box-shadow:0 13px 36px #2a3c360e}.overview-card{width:min(100%,700px);margin-inline:auto;padding:clamp(24px,4vw,42px)}.overview-status{border-bottom:1px solid var(--line);grid-template-columns:46px 1fr 46px;align-items:center;gap:14px;padding-bottom:27px;display:grid}.overview-status h2{text-align:center;font-size:clamp(21px,2.3vw,28px);font-weight:680}.overview-status-spacer{width:46px;height:1px}.overview-status-icon{border-radius:15px;flex:none;place-items:center;width:46px;height:46px;display:grid}.overview-status-icon.on-track{background:var(--green-soft);color:var(--green-dark)}.overview-status-icon.steady{background:var(--surface);color:var(--lightningcss-light,#756323)var(--lightningcss-dark,#b8cbbd)}.overview-status-icon.off-track{background:var(--surface);color:var(--lightningcss-light,#8a4936)var(--lightningcss-dark,#f0a89b)}.overview-status-icon.calories{background:var(--surface);color:var(--lightningcss-light,#9a672d)var(--lightningcss-dark,#f0a89b)}.overview-status-icon.sports{background:var(--surface);color:var(--lightningcss-light,#4f7188)var(--lightningcss-dark,#b8cbbd)}.overview-status-icon.measurements{background:var(--surface);color:var(--lightningcss-light,#527057)var(--lightningcss-dark,#b8cbbd)}.overview-status-icon.water{background:var(--surface);color:var(--lightningcss-light,#3f7883)var(--lightningcss-dark,#b8cbbd)}.overview-status-icon.last-meal{background:var(--surface);color:var(--lightningcss-light,#735b82)var(--lightningcss-dark,#b8cbbd)}.meal-timers-panel{touch-action:pan-y;flex-direction:column;justify-content:center;min-height:390px;padding:28px clamp(4px,2vw,18px) 0;display:flex}.meal-timer-list{border-block:1px solid var(--line);width:min(100%,430px);margin-inline:auto}.meal-timer-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;min-height:132px;padding:20px 4px;display:grid}.meal-timer-row+.meal-timer-row{border-top:1px solid var(--line)}.meal-timer-label{flex-direction:column;gap:4px;display:flex}.meal-timer-label span{color:var(--ink);font-size:15px;font-weight:800}.meal-timer-label small{color:var(--muted);font-size:11px;font-weight:700}.meal-timer-row>strong{color:var(--lightningcss-light,#4f3f5e)var(--lightningcss-dark,#b8cbbd);font-variant-numeric:tabular-nums;letter-spacing:-.05em;text-align:center;white-space:nowrap;justify-self:center;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-size:clamp(26px,5vw,36px)}.meal-timer-reset{background:var(--surface);color:var(--lightningcss-light,#654f74)var(--lightningcss-dark,#b8cbbd);cursor:pointer;border:1px solid var(--lightningcss-light,#d9d1df)var(--lightningcss-dark,#476052);border-radius:15px;flex-direction:column;justify-content:center;justify-self:end;align-items:center;gap:2px;min-width:62px;min-height:48px;font-size:10px;font-weight:800;display:flex}.meal-timer-reset:disabled{cursor:wait;opacity:.6}.meal-timer-error{text-align:center;margin:17px auto 0}.snapshot-category-rail{background:var(--surface);border-radius:14px;gap:5px;margin-top:20px;padding:5px;display:flex}.snapshot-category-button{min-width:0;min-height:39px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;gap:5px;padding:0 7px;font-size:10px;font-weight:800;display:flex;overflow:hidden}.snapshot-category-button svg{flex:none}.snapshot-category-label{opacity:1;max-width:90px;transition:max-width .22s,opacity .18s;overflow:hidden}.snapshot-category-button.active{background:var(--card);color:var(--ink);box-shadow:0 2px 9px #172a2614}.overview-content{touch-action:pan-y;grid-template-rows:minmax(205px,1fr) 100px;grid-template-areas:"ring""measurements";place-items:center;gap:32px;min-height:390px;padding:30px clamp(6px,3vw,34px) 0;display:grid}.overview-content>.progress-ring{grid-area:ring}.overview-measurements{grid-area:measurements;grid-template-columns:1fr 1fr;align-items:center;width:min(100%,420px);height:100%;display:grid}.overview-measurement{padding:14px clamp(12px,3vw,33px) 14px 0}.overview-measurement+.overview-measurement{border-left:1px solid var(--line);padding-left:clamp(20px,4vw,42px)}.overview-measurement p{color:var(--muted);margin:0 0 5px;font-size:12px;font-weight:700}.overview-measurement strong{letter-spacing:-.06em;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-size:clamp(38px,5vw,54px)}.overview-measurement>span{font-size:14px;font-weight:800}.measurement-snapshot-grid{touch-action:pan-y;grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:390px;padding-top:24px;display:grid}.measurement-snapshot-tile{color:var(--lightningcss-light,#68716c)var(--lightningcss-dark,#b8cbbd);text-align:center;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;min-width:0;padding:15px 8px;display:flex}.measurement-snapshot-tile:not(:nth-child(4n)){border-right:1px solid var(--line)}.measurement-snapshot-tile:nth-child(-n+4){border-bottom:1px solid var(--line)}.measurement-snapshot-tile.lower{color:var(--lightningcss-light,#33766a)var(--lightningcss-dark,#b8cbbd)}.measurement-snapshot-tile.higher{color:var(--lightningcss-light,#a65248)var(--lightningcss-dark,#f0a89b)}.measurement-snapshot-tile p{color:currentColor;text-overflow:ellipsis;white-space:nowrap;width:100%;margin:0 0 10px;font-size:11px;font-weight:800;line-height:1.15;overflow:hidden}.measurement-snapshot-value{justify-content:center;align-items:baseline;gap:3px;display:flex}.measurement-snapshot-value strong{letter-spacing:-.055em;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-size:clamp(23px,4vw,31px);line-height:1}.measurement-snapshot-value span{font-size:10px;font-weight:800}.measurement-snapshot-change{justify-content:center;align-items:center;gap:2px;min-height:14px;margin-top:9px;font-size:9px;font-weight:800;line-height:1;display:flex}.ring-action-controls{grid-area:ring;grid-template-rows:auto 16px;grid-template-columns:46px auto 46px;justify-content:center;align-items:center;gap:8px 16px;width:min(100%,345px);display:grid}.snapshot-adjust-button{background:var(--surface);color:var(--lightningcss-light,#4d7b83)var(--lightningcss-dark,#b8cbbd);cursor:pointer;border:1px solid var(--lightningcss-light,#cddcdd)var(--lightningcss-dark,#476052);border-radius:50%;place-items:center;width:46px;height:46px;padding:0;display:grid;box-shadow:0 5px 14px #3f788314}.snapshot-adjust-button.add{color:#fff;background:#438b98;border-color:var(--lightningcss-light,#438b98)var(--lightningcss-dark,#476052)}.snapshot-adjust-button:disabled{cursor:default;opacity:.38;box-shadow:none}.sports-controls .snapshot-adjust-button{background:var(--surface);color:var(--lightningcss-light,#557e92)var(--lightningcss-dark,#b8cbbd);border-color:var(--lightningcss-light,#d1dce3)var(--lightningcss-dark,#476052)}.sports-controls .snapshot-adjust-button.add{color:#fff;background:#557e92;border-color:var(--lightningcss-light,#557e92)var(--lightningcss-dark,#476052)}.ring-action-controls .progress-ring{grid-area:1/2}.snapshot-action-note{color:var(--lightningcss-light,#4d7b83)var(--lightningcss-dark,#b8cbbd);text-align:center;grid-area:2/1/auto/-1;min-height:16px;margin:0;font-size:10px;font-weight:700}.sports-controls .snapshot-action-note{color:var(--lightningcss-light,#557e92)var(--lightningcss-dark,#b8cbbd)}.snapshot-action-note.error{color:var(--lightningcss-light,#9d4c43)var(--lightningcss-dark,#f0a89b)}.progress-ring{--progress:0deg;--progress-color:var(--green);--progress-transition-color:#8eada3;--ring-gap:14deg;--main-progress-length:0;--transition-length:0;aspect-ratio:1;border-radius:50%;place-items:center;width:clamp(160px,18vw,205px);display:grid;position:relative}.progress-ring.on-track{--progress-color:var(--lightningcss-light,#397e72)var(--lightningcss-dark,#b8cbbd);--progress-transition-color:var(--lightningcss-light,#8eada3)var(--lightningcss-dark,#b8cbbd)}.progress-ring.steady{--progress-color:var(--lightningcss-light,#a8814d)var(--lightningcss-dark,#f0a89b);--progress-transition-color:var(--lightningcss-light,#c5b79f)var(--lightningcss-dark,#b8cbbd)}.progress-ring.off-track{--progress-color:var(--lightningcss-light,#bf6258)var(--lightningcss-dark,#f0a89b);--progress-transition-color:var(--lightningcss-light,#d1a39e)var(--lightningcss-dark,#f0a89b)}.progress-ring.calories{--progress-color:var(--lightningcss-light,#c98743)var(--lightningcss-dark,#f0a89b);--progress-transition-color:var(--lightningcss-light,#d6b58d)var(--lightningcss-dark,#b8cbbd)}.progress-ring.sports{--progress-color:var(--lightningcss-light,#557e92)var(--lightningcss-dark,#b8cbbd);--progress-transition-color:var(--lightningcss-light,#9bb1bb)var(--lightningcss-dark,#b8cbbd)}.progress-ring.water{--progress-color:var(--lightningcss-light,#438b98)var(--lightningcss-dark,#b8cbbd);--progress-transition-color:var(--lightningcss-light,#9bc1c7)var(--lightningcss-dark,#b8cbbd)}.progress-ring-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible;transform:rotate(-76deg)}.progress-ring-track,.progress-ring-value,.progress-ring-transition{fill:none;stroke-width:7px;stroke-linecap:round}.progress-ring-track{stroke:var(--ring-track);stroke-dasharray:92.222 7.778}.progress-ring-value{stroke:var(--progress-color);stroke-dasharray:var(--main-progress-length) 100}.progress-ring-transition{stroke:var(--progress-color);stroke-dasharray:var(--transition-length) calc(100 - var(--transition-length));stroke-dashoffset:calc(-1 * var(--main-progress-length))}.measurements-ring .progress-ring-track{stroke:#dfe6df}.measurements-ring-center{color:var(--lightningcss-light,#527057)var(--lightningcss-dark,#b8cbbd)}.measurements-ring-center span{text-align:center;max-width:78px;line-height:1.15}.progress-ring:before{content:"";background:var(--card);border-radius:50%;position:absolute;inset:13px}.progress-flow{z-index:2;pointer-events:none;-webkit-mask-image:radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px)), conic-gradient(transparent 0deg calc(var(--ring-gap) + 12deg), #000 calc(var(--ring-gap) + 12deg) calc(var(--progress) - 12deg), transparent calc(var(--progress) - 12deg) 360deg);-webkit-mask-composite:source-in;-webkit-mask-image:radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px)), conic-gradient(transparent 0deg calc(var(--ring-gap) + 12deg), #000 calc(var(--ring-gap) + 12deg) calc(var(--progress) - 12deg), transparent calc(var(--progress) - 12deg) 360deg);mask-image:radial-gradient(farthest-side, transparent calc(100% - 14px), #000 calc(100% - 13px)), conic-gradient(transparent 0deg calc(var(--ring-gap) + 12deg), #000 calc(var(--ring-gap) + 12deg) calc(var(--progress) - 12deg), transparent calc(var(--progress) - 12deg) 360deg);border-radius:50%;position:absolute;inset:0;overflow:hidden;-webkit-mask-composite:source-in;mask-composite:intersect}.flow-arrows{border-radius:50%;position:absolute;inset:0}.flow-arrows i{color:#ffffff8f;offset-path:circle(43% at 50% 50%);offset-rotate:auto;width:12px;height:12px;position:absolute}.flow-arrows i:before{content:"";border:1.5px solid;border-width:0 1.5px 1.5px 0;width:5px;height:5px;margin:3px;display:block;transform:rotate(-45deg)}.flow-arrows i:first-child{offset-distance:0%}.flow-arrows i:nth-child(2){offset-distance:16.666%}.flow-arrows i:nth-child(3){offset-distance:33.333%}.flow-arrows i:nth-child(4){offset-distance:50%}.flow-arrows i:nth-child(5){offset-distance:66.666%}.flow-arrows i:nth-child(6){offset-distance:83.333%}.progress-ring.on-track .flow-arrows{animation:14s linear infinite flow-clockwise}.progress-ring.off-track .flow-arrows{animation:14s linear infinite flow-counterclockwise}.progress-ring.off-track .flow-arrows i{offset-rotate:auto 180deg}.progress-ring.steady{animation:5s ease-in-out infinite steady-ring}.progress-ring.steady .flow-arrows{display:none}.progress-ring-center{z-index:1;flex-direction:column;align-items:center;display:flex;position:relative}.progress-ring-center strong{letter-spacing:-.055em;font-family:Avenir Next,Avenir,Segoe UI,Helvetica,Arial,sans-serif;font-size:37px;line-height:1}.progress-ring-center span{color:var(--muted);margin-top:5px;font-size:11px;font-weight:700}.section-placeholder{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:420px;padding:42px;display:flex}.section-placeholder-icon{background:var(--green-soft);width:52px;height:52px;color:var(--green-dark);border-radius:16px;place-items:center;margin-bottom:15px;display:grid}.section-placeholder h2{font-size:28px}.section-placeholder p{color:var(--muted);margin:8px 0 0;font-size:13px}.settings-card{min-height:420px;padding:clamp(24px,4vw,38px)}.settings-heading{align-items:center;gap:14px;display:flex}.settings-heading .section-placeholder-icon{flex:none;margin:0}.settings-heading p{color:var(--green-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:10px;font-weight:800}.settings-heading h2{font-size:clamp(24px,4vw,30px)}.settings-back-button{border:1px solid var(--line);width:52px;height:52px;color:var(--green-dark);background:var(--card);cursor:pointer;border-radius:16px;flex:none;place-items:center;display:grid}.settings-menu-list{gap:12px;margin-top:30px;display:grid}.settings-menu-button{border:1px solid var(--line);width:100%;min-height:76px;color:var(--ink);background:var(--card);text-align:left;cursor:pointer;border-radius:17px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px;display:grid}.settings-menu-icon{width:46px;height:46px;color:var(--green-dark);background:var(--green-soft);border-radius:14px;place-items:center;display:grid}.settings-menu-icon.food{color:var(--lightningcss-light,#956f31)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.statistics-menu-icon.weight{color:var(--lightningcss-light,#2e7468)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.statistics-menu-icon.measurements{color:var(--lightningcss-light,#8b6b31)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.statistics-menu-icon.calories{color:var(--lightningcss-light,#a66737)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.statistics-menu-icon.water{color:var(--lightningcss-light,#41758a)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.statistics-menu-icon.gym{color:var(--lightningcss-light,#526f88)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.settings-menu-copy{gap:4px;display:grid}.settings-menu-copy strong{font-size:14px}.settings-menu-copy small{color:var(--muted);font-size:11px}.settings-menu-chevron{color:var(--muted)}.settings-menu-button:hover,.settings-menu-button:focus-visible{background:var(--surface);border-color:var(--lightningcss-light,#a9c8c0)var(--lightningcss-dark,#476052)}.settings-back-button:focus-visible,.settings-menu-button:focus-visible{outline-offset:2px;outline:3px solid #3987782e}.settings-danger-zone{background:var(--surface);border:1px solid var(--lightningcss-light,#e7d2cc)var(--lightningcss-dark,#476052);border-radius:18px;grid-template-columns:42px minmax(0,1fr);gap:14px;margin-top:30px;padding:20px;display:grid}.settings-danger-icon{color:var(--lightningcss-light,#914f41)var(--lightningcss-dark,#f0a89b);background:var(--surface);border-radius:13px;place-items:center;width:42px;height:42px;display:grid}.settings-danger-copy strong{font-size:14px}.settings-danger-copy p{color:var(--muted);margin:6px 0 0;font-size:11px;line-height:1.55}.settings-reset-button,.settings-cancel-button{cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:7px;min-height:42px;padding:0 15px;font-size:12px;font-weight:800;display:inline-flex}.settings-reset-button{background:var(--input-surface);color:var(--lightningcss-light,#87483c)var(--lightningcss-dark,#f0a89b);border:1px solid var(--lightningcss-light,#d9a89c)var(--lightningcss-dark,#476052);grid-column:2;justify-self:start}.settings-reset-button.destructive{color:#fff;background:#9d5647;border-color:var(--lightningcss-light,#9d5647)var(--lightningcss-dark,#476052)}.settings-reset-button:disabled{cursor:wait;opacity:.65}.settings-cancel-button{border:1px solid var(--line);background:var(--input-surface);color:var(--muted)}.settings-reset-confirmation{grid-column:2;gap:11px;display:grid}.settings-reset-confirmation>span{color:var(--lightningcss-light,#87483c)var(--lightningcss-dark,#f0a89b);align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex}.settings-reset-confirmation>div{flex-wrap:wrap;gap:8px;display:flex}.settings-reset-error{color:var(--lightningcss-light,#87483c)var(--lightningcss-dark,#f0a89b);grid-column:2;margin:0;font-size:11px;font-weight:700}.statistics-menu-list{gap:10px}.statistics-menu-button{min-height:70px}.statistics-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:280px;display:flex}.statistics-empty-state .settings-menu-icon{border-radius:17px;width:54px;height:54px;margin-bottom:14px}.statistics-empty-state p{color:var(--muted);margin:0;font-size:11px}.weight-statistics-content{gap:24px;margin-top:28px;display:grid}.weight-statistics-chart-card{background:0 0;border:0;min-width:0;padding:0}.weight-statistics-chart-card+.weight-statistics-chart-card{border-top:1px solid var(--line);padding-top:24px}.weight-statistics-chart-heading{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;display:grid}.weight-statistics-chart-heading>span{display:none}.weight-statistics-chart-heading h3{color:var(--ink);font-family:var(--display-font);font-weight:var(--display-weight);letter-spacing:-.025em;margin:0;font-size:21px}.weight-statistics-chart-heading p{color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.45}.weight-statistics-latest{justify-items:end;gap:2px;display:grid}.weight-statistics-latest strong{color:var(--ink);font-family:var(--display-font);font-weight:var(--display-weight);font-variant-numeric:tabular-nums;font-size:26px;line-height:1}.weight-statistics-latest strong small{color:var(--muted);font-family:Segoe UI,Arial,sans-serif;font-size:11px}.weight-statistics-latest>span{color:var(--muted);margin-top:5px;font-size:11px;font-weight:400}.weight-chart-preview-button{cursor:zoom-in;background:0 0;border:0;border-radius:0;width:100%;padding:0;position:relative}.weight-chart-preview-button:focus-visible{outline:2px solid var(--green);outline-offset:5px}.weight-chart-expand-hint{color:var(--green-dark);justify-content:flex-end;align-items:center;gap:5px;padding-top:8px;font-size:11px;font-weight:400;display:flex}.weight-chart{width:100%;height:auto;margin-top:8px;display:block;overflow:visible}.weight-chart.expanded{max-width:none;margin:0}.weight-chart-grid{stroke:var(--line);stroke-width:.65px}.weight-chart-area-top{stop-color:var(--green);stop-opacity:.1}.weight-chart-area-bottom{stop-color:var(--green);stop-opacity:0}.weight-chart-line{fill:none;stroke:var(--green);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px}.weight-chart-point-halo{fill:#0000}.weight-chart-point{fill:var(--card);stroke:var(--green);stroke-width:1.6px}.weight-chart-point.selected{fill:var(--green);stroke:var(--card);stroke-width:2px}.weight-chart-selection-line{stroke:var(--green);stroke-opacity:.4;stroke-width:1px;stroke-dasharray:3 4}.weight-chart-interactive-point{cursor:pointer;outline:none}.weight-chart-interactive-point:focus .weight-chart-point{fill:var(--green);stroke:var(--ink);stroke-width:3px}.weight-chart-y-label,.weight-chart-x-label{fill:var(--muted);font-family:Segoe UI,Arial,sans-serif;font-size:10px;font-weight:400}.weight-chart-y-label{text-anchor:end}.weight-chart-empty{min-height:145px;color:var(--muted);place-items:center;font-size:11px;display:grid}.weight-chart-modal{z-index:100;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#121f1c9e;place-items:center;display:grid;position:fixed;inset:0}.weight-chart-modal-panel{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--card);grid-template-rows:auto auto auto minmax(0,1fr);width:min(980px,100%);max-height:100%;padding:22px;display:grid;overflow:hidden;box-shadow:0 24px 80px #11231f47}.weight-chart-modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.weight-chart-modal-header p{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:500}.weight-chart-modal-header h2{font-family:var(--display-font);font-weight:var(--display-weight);margin:0;font-size:clamp(23px,4vw,32px)}.weight-chart-modal-header span{color:var(--muted);margin-top:4px;font-size:10px;display:block}.weight-chart-modal-header button{border:1px solid var(--line);border-radius:var(--ui-radius);width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;flex:none;place-items:center;display:grid}.weight-chart-modal-header button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.weight-chart-selected-value{align-items:baseline;gap:12px;min-height:50px;margin-top:12px;display:flex}.weight-chart-selected-value strong{font-family:var(--display-font);font-weight:var(--display-weight);color:var(--ink);flex:none;font-size:30px}.weight-chart-selected-value strong small,.weight-chart-selected-value span{color:var(--muted);font-size:10px}.weight-chart-scroll-hint{color:var(--muted);align-items:center;gap:6px;margin:2px 0 8px;font-size:11px;font-weight:400;display:flex}.weight-chart-scroll{overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-color:var(--green) var(--surface);scrollbar-width:thin;min-height:0;overflow:auto hidden}.weight-chart-scroll::-webkit-scrollbar{height:7px}.weight-chart-scroll::-webkit-scrollbar-track{background:var(--surface);border-radius:999px}.weight-chart-scroll::-webkit-scrollbar-thumb{background:var(--green);border-radius:999px}.food-database-content{gap:16px;margin-top:24px;display:grid}.food-database-toolbar{gap:10px;display:grid}.food-database-action-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.food-database-action-row>span{color:var(--muted);font-size:11px;font-weight:700}.food-search-field{border:1px solid var(--line);min-height:46px;color:var(--muted);background:var(--input-surface);border-radius:14px;align-items:center;gap:10px;padding:0 14px;display:flex}.food-search-field:focus-within{border-color:var(--lightningcss-light,#86b5aa)var(--lightningcss-dark,#476052);box-shadow:0 0 0 3px #3987781c}.food-search-field input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:13px}.food-search-field input::placeholder{color:var(--lightningcss-light,#9ba39e)var(--lightningcss-dark,#b8cbbd)}.food-add-toggle,.food-save-button{min-height:42px;color:var(--green-dark);background:var(--green-soft);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;gap:7px;padding:0 15px;font-size:12px;font-weight:800;display:inline-flex}.food-add-toggle{justify-self:end}.food-add-toggle:hover,.food-add-toggle:focus-visible{background:var(--surface)}.food-save-button{color:var(--on-accent);background:var(--green)}.food-add-form{border:1px solid var(--line);background:var(--surface);border-radius:17px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.food-form-heading,.food-form-name,.food-save-button,.food-form-message{grid-column:1/-1}.food-form-heading{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.food-form-heading strong{font-size:14px}.food-form-heading span{color:var(--muted);font-size:10px}.food-author-note{color:var(--muted);grid-column:1/-1;margin:0;font-size:11px;line-height:1.5}.food-form-field{gap:6px;display:grid}.food-form-field span{color:var(--muted);font-size:10px;font-weight:800}.food-form-field input{border:1px solid var(--line);background:var(--input-surface);width:100%;min-width:0;height:42px;font:inherit;border-radius:11px;outline:0;padding:0 11px;font-size:13px}.food-form-field input:focus{border-color:var(--lightningcss-light,#86b5aa)var(--lightningcss-dark,#476052);box-shadow:0 0 0 3px #3987781a}.food-save-button{width:100%}.food-save-button:disabled{cursor:wait;opacity:.65}.food-form-message{color:var(--green-dark);text-align:center;margin:0;font-size:11px;font-weight:700}.food-form-message.error{color:var(--lightningcss-light,#9b5044)var(--lightningcss-dark,#f0a89b)}.label-scanner{border-bottom:1px solid var(--line);grid-column:1/-1;gap:12px;min-width:0;margin-bottom:4px;padding-bottom:18px;display:grid}.label-scanner-title{color:var(--green-dark);align-items:center;gap:8px;font-size:14px;display:flex}.label-scanner-title>span{color:var(--muted);margin-left:auto;font-size:10px;font-weight:600}.label-scanner p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.label-photo-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.label-photo-choice{background:var(--surface);color:var(--green-dark);cursor:pointer;border:1px solid var(--lightningcss-light,#d5e4dc)var(--lightningcss-dark,#476052);border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:7px;padding:14px 7px;font-size:12px;font-weight:750;display:flex;position:relative}.label-photo-choice:focus-within{outline:2px solid var(--green-dark);outline-offset:3px}.label-photo-choice:has(input:disabled){opacity:.55;cursor:wait}.label-photo-choice input{opacity:0;width:100%;height:100%;cursor:inherit;position:absolute;inset:0}.label-photo-preview{background:var(--surface);border-radius:12px;position:relative;overflow:hidden}.label-photo-preview img{object-fit:contain;width:100%;height:200px;display:block}.label-photo-preview button{border:1px solid var(--line);background:var(--input-surface);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;display:grid;position:absolute;top:8px;right:8px}.label-scanner .label-privacy{font-size:10px}.label-review{gap:12px;min-width:0;display:grid}.label-review>strong{font-size:13px}.label-review-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.label-warnings{background:var(--surface);color:var(--lightningcss-light,#795c30)var(--lightningcss-dark,#f0a89b);border-radius:10px;margin:0;padding:10px 10px 10px 26px;font-size:11px;line-height:1.5}.label-scanner .food-form-message.error{color:var(--lightningcss-light,#9b5044)var(--lightningcss-dark,#f0a89b)}.food-results-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.food-results-heading strong{font-size:13px}.food-results-heading span{color:var(--muted);font-size:10px}.food-result-list{display:grid}.food-result-row{border:0;border-top:1px solid var(--line);text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:13px 2px;display:grid}.food-result-row:hover{background:#dcece647}.food-result-row:focus-visible{outline:2px solid var(--green);outline-offset:2px;border-radius:8px}.food-result-icon{color:var(--lightningcss-light,#956f31)var(--lightningcss-dark,#f0a89b);background:var(--surface);border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.food-result-copy{gap:4px;min-width:0;display:grid}.food-result-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.food-result-copy span{color:var(--muted);overflow-wrap:anywhere;font-size:10px;font-weight:500;line-height:1.4}.food-result-calories{justify-items:end;display:grid}.food-result-calories strong{font-size:17px}.food-result-calories span{color:var(--muted);font-size:8px}.food-result-macros{color:var(--muted);grid-column:2/-1;gap:12px;font-size:9px;display:flex}.food-results-state{border-top:1px solid var(--line);color:var(--muted);text-align:center;margin:0;padding:28px 10px;font-size:12px}.food-results-state.error{color:var(--lightningcss-light,#9b5044)var(--lightningcss-dark,#f0a89b)}.food-details-dialog{border:1px solid var(--line);background:var(--card);width:min(460px,100vw - 28px);max-width:none;max-height:min(760px,100dvh - 32px);color:var(--ink);overscroll-behavior:contain;scrollbar-width:thin;border-radius:26px;margin:auto;padding:0;box-shadow:0 24px 80px #172a2638}.food-details-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#172a265c}.food-details-sheet{padding:22px}.food-details-header{z-index:1;background:var(--card);grid-template-columns:42px minmax(0,1fr) 36px;align-items:start;gap:12px;margin:-22px -22px 0;padding:22px;display:grid;position:sticky;top:0}.food-details-icon{background:var(--green-soft);width:42px;height:42px;color:var(--green-dark);border-radius:14px;place-items:center;display:grid}.food-details-header>div>span{color:var(--muted);margin-bottom:5px;font-size:11px;font-weight:650;display:block}.food-details-header h2{letter-spacing:-.025em;overflow-wrap:anywhere;margin:0;font-size:17px;font-weight:750;line-height:1.3}.food-details-close{border:1px solid var(--line);width:36px;height:36px;color:var(--muted);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.food-details-close:focus-visible{outline:2px solid var(--green);outline-offset:3px}.food-details-energy{justify-content:center;align-items:baseline;gap:6px;margin:24px 0 18px;display:flex}.food-details-energy strong{color:var(--green-dark);letter-spacing:-.05em;font-size:46px;line-height:1}.food-details-energy span{color:var(--muted);font-size:14px}.food-details-macros{border-bottom:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));padding-bottom:22px;display:grid}.food-details-macros>div{text-align:center;gap:5px;display:grid}.food-details-macros>div+div{border-left:1px solid var(--line)}.food-details-macros span{color:var(--muted);font-size:11px}.food-details-macros strong{font-variant-numeric:tabular-nums;font-size:17px}.food-details-section-heading{justify-content:space-between;gap:12px;margin:20px 0 6px;display:flex}.food-details-section-heading strong{font-size:13px}.food-details-section-heading span{color:var(--muted);font-size:10px}.food-details-dialog dl{margin:0}.food-details-dialog dl>div{border-bottom:1px solid #dedfd78c;grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:16px;padding:9px 0;font-size:12px;line-height:1.4;display:grid}.food-details-dialog dt{color:var(--muted);overflow-wrap:anywhere}.food-details-dialog dd{text-align:right;font-variant-numeric:tabular-nums;margin:0;font-weight:650}.food-details-dialog dd.unavailable{color:var(--muted);font-size:10px;font-weight:400}.food-details-all{margin-top:16px}.food-details-all summary{color:var(--green-dark);cursor:pointer;padding:10px 0;font-size:12px;font-weight:650}.food-details-source{border-top:1px solid var(--line);color:var(--muted);overflow-wrap:anywhere;gap:10px;margin-top:20px;padding-top:16px;font-size:11px;line-height:1.5;display:grid}.food-details-source a{color:var(--green-dark);text-underline-offset:3px;align-items:center;gap:6px;display:flex}.food-details-state{color:var(--muted);padding:18px 0;font-size:12px}.food-details-state.error{color:var(--lightningcss-light,#9b5044)var(--lightningcss-dark,#f0a89b)}.log-card{min-height:520px;padding:clamp(24px,4vw,38px)}.log-heading p,.quick-log-heading p{color:var(--green-dark);letter-spacing:.1em;text-transform:uppercase;margin:0 0 5px;font-size:10px;font-weight:800}.log-heading h2{font-size:clamp(24px,4vw,32px)}.log-type-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-top:28px;display:grid}.log-type-button{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;border-radius:17px;flex-direction:column;align-items:flex-start;min-height:124px;padding:15px;display:flex}.log-type-button strong{margin-top:10px;font-size:15px}.log-type-button small{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.35}.log-type-icon{background:var(--green-soft);width:40px;height:40px;color:var(--green-dark);border-radius:13px;place-items:center;display:grid}.log-type-icon.measurement{background:var(--surface);color:var(--lightningcss-light,#806937)var(--lightningcss-dark,#b8cbbd)}.log-type-icon.meal{background:var(--surface);color:var(--lightningcss-light,#9a672d)var(--lightningcss-dark,#f0a89b)}.log-type-icon.workout{background:var(--surface);color:var(--lightningcss-light,#4f7188)var(--lightningcss-dark,#b8cbbd)}.log-type-icon.water{background:var(--surface);color:var(--lightningcss-light,#397287)var(--lightningcss-dark,#b8cbbd)}.log-type-icon.last-meal{background:var(--surface);color:var(--lightningcss-light,#8a5949)var(--lightningcss-dark,#f0a89b)}.quick-log-heading{border-bottom:1px solid var(--line);grid-template-columns:40px 40px 1fr;align-items:center;gap:11px;padding-bottom:20px;display:grid}.quick-log-heading h2{font-size:24px}.quick-log-back{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;place-items:center;width:40px;height:40px;padding:0;display:grid}.quick-log-form{margin-top:26px}.quick-log-fields{gap:15px;display:grid}.log-field{gap:7px;display:grid}.log-field>span:first-child{color:var(--muted);font-size:11px;font-weight:750}.log-field input,.log-field select,.measurement-row input{border:1px solid var(--line);background:var(--surface);width:100%;height:48px;color:var(--ink);font:inherit;border-radius:12px;outline:0;padding:0 13px;font-size:15px}.log-field input:focus,.log-field select:focus,.measurement-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #397e721f}.measurement-list{gap:6px;display:grid}.measurement-row{border-bottom:1px solid #dedfd7bf;grid-template-columns:1fr minmax(105px,.75fr);align-items:center;gap:12px;min-height:42px;padding-bottom:6px;display:grid}.measurement-row:last-child{border-bottom:0;padding-bottom:0}.measurement-row>span:first-child{color:var(--ink);font-size:12px;font-weight:700}.measurement-row input{height:38px}.input-with-unit{display:block;position:relative}.input-with-unit input{padding-right:54px}.input-with-unit small{color:var(--muted);font-size:11px;font-weight:750;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.save-log-button{background:var(--ink);width:100%;height:48px;color:var(--on-accent);cursor:pointer;border:0;border-radius:13px;margin-top:22px;font-weight:750}.save-log-button:disabled{cursor:wait;opacity:.65}.log-save-note{min-height:15px;color:var(--muted);text-align:center;margin:10px 0 0;font-size:10px}.log-save-note.saved{color:var(--green-dark);font-weight:750}.log-save-note.error{color:var(--lightningcss-light,#9a4e3d)var(--lightningcss-dark,#f0a89b);font-weight:750}.app-navigation{z-index:15;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffef9f0;border:1px solid #172a261c;border-radius:19px;grid-template-columns:repeat(5,1fr);width:min(620px,100% - 32px);height:64px;padding:6px;display:grid;position:fixed;bottom:18px;left:50%;transform:translate(-50%);box-shadow:0 14px 38px #172a2624}.app-navigation-item{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:3px;display:flex}.app-navigation-item span{font-size:10px;font-weight:750}.app-navigation-item.active{background:var(--green-soft);color:var(--green-dark)}@keyframes flow-clockwise{to{transform:rotate(360deg)}}@keyframes flow-counterclockwise{to{transform:rotate(-360deg)}}@keyframes steady-ring{0%,to{filter:drop-shadow(0 0 #a8814d00)}50%{filter:drop-shadow(0 0 5px #a8814d2e)}}button,.snapshot-category-button{transition:transform .16s,box-shadow .16s,background .16s,flex-basis .22s}button:hover{transform:translateY(-1px)}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #397e7259}@media (max-width:800px){.page-shell{width:min(100% - 26px,620px);padding:18px 0}.overview-content{gap:28px}.progress-ring{width:160px}}@media (max-width:560px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}.app-frame{grid-template-rows:62px minmax(0, 1fr) calc(68px + env(safe-area-inset-bottom));width:100%;height:100dvh;min-height:0;padding:0;display:grid;overflow:hidden}.topbar{height:62px;padding:0 14px}.brand{font-size:17px}.page-shell{width:calc(100% - 20px);height:100%;min-height:0;padding:8px 0;overflow:hidden}.overview-card{border-radius:20px;flex-direction:column;height:100%;min-height:0;padding:18px;display:flex}.overview-status{grid-template-columns:40px 1fr 40px}.overview-status-icon{border-radius:13px;width:40px;height:40px}.overview-status-spacer{width:40px}.snapshot-category-rail{gap:4px;margin-top:14px}.snapshot-category-button{flex:0 0 36px;gap:4px;min-height:39px;padding-inline:0;font-size:10px}.snapshot-category-button:not(.active) .snapshot-category-label{opacity:0;max-width:0}.snapshot-category-button.active{flex:auto;padding-inline:9px}.snapshot-category-button.long-label.active{letter-spacing:-.015em;padding-inline:6px;font-size:8px}.overview-status{padding-bottom:16px}.overview-content{flex:1;grid-template-rows:minmax(150px,1fr) 82px;gap:18px;min-height:0;padding-top:18px}.measurement-snapshot-grid,.meal-timers-panel{flex:1;min-height:0;padding-top:18px}.meal-timer-list{width:100%}.meal-timer-row{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:6px;min-height:116px;padding:16px 2px}.meal-timer-label span{font-size:13px}.meal-timer-row>strong{font-size:clamp(23px,7.2vw,29px)}.meal-timer-reset{border-radius:14px;min-width:56px;min-height:46px}.measurement-snapshot-tile{padding:8px 4px}.measurement-snapshot-tile p{margin-bottom:8px;font-size:clamp(8px,2.5vw,10px)}.measurement-snapshot-value{gap:2px}.measurement-snapshot-value strong{font-size:clamp(19px,6vw,26px)}.measurement-snapshot-value span{font-size:8px}.measurement-snapshot-change{margin-top:8px;font-size:8px}.overview-measurements{width:100%}.overview-measurement{text-align:center;padding:8px 12px}.overview-measurement+.overview-measurement{padding-left:12px}.overview-measurement strong{font-size:clamp(32px,10vw,40px)}.progress-ring{width:clamp(150px,43vw,175px)}.ring-action-controls{grid-template-columns:42px auto 42px;column-gap:11px}.snapshot-adjust-button{width:42px;height:42px}.section-placeholder{height:100%;min-height:0;padding:24px}.settings-card{overscroll-behavior:contain;scrollbar-width:none;height:100%;min-height:0;padding:20px;overflow-y:auto}.settings-card::-webkit-scrollbar{display:none}.settings-menu-list{margin-top:22px}.settings-danger-zone{grid-template-columns:38px minmax(0,1fr);gap:11px;margin-top:22px;padding:16px}.settings-danger-icon{width:38px;height:38px}.settings-reset-button{justify-self:stretch;width:100%}.settings-reset-confirmation>div{grid-template-columns:1fr 1.35fr;display:grid}.food-database-content{gap:14px;margin-top:20px}.food-add-toggle{padding:0 12px}.log-card{height:100%;min-height:0;padding:20px;overflow:hidden}.quick-log-card{overscroll-behavior:contain;scrollbar-width:none;overflow-y:auto}.quick-log-card::-webkit-scrollbar{display:none}.log-heading h2{font-size:clamp(22px,6.5vw,28px)}.log-type-grid{gap:10px;height:calc(100% - 72px);margin-top:20px}.log-type-button{text-align:center;justify-content:center;align-items:center;min-height:0;padding:10px}.log-type-button .log-type-icon{border-radius:11px;width:36px;height:36px}.log-type-button strong{margin-top:7px;font-size:14px}.log-type-button small{margin-top:2px;font-size:9px}.quick-log-form{margin-top:20px}.app-navigation{width:100%;height:calc(68px + env(safe-area-inset-bottom));padding:5px 5px env(safe-area-inset-bottom);border-width:1px 0 0;border-radius:0;position:relative;bottom:auto;left:auto;transform:none;box-shadow:0 -8px 24px #172a2612}.app-navigation-item{border-radius:11px}.app-navigation-item span{font-size:clamp(8px,2.5vw,10px)}}@media (max-width:340px){.snapshot-category-button{flex-basis:30px}.snapshot-category-button.long-label.active{padding-inline:4px;font-size:7.25px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.auth-page,.onboarding-page{background:radial-gradient(circle at 15% 12%, #dcece6e6, transparent 22rem), radial-gradient(circle at 92% 88%, #e7dbc373, transparent 25rem), var(--paper);place-items:center;width:100%;min-height:100dvh;padding:30px 20px;display:grid;overflow-y:auto}.auth-panel,.onboarding-panel{background:#fffef9f0;border:1px solid #172a261a;border-radius:28px;width:min(100%,440px);padding:34px;box-shadow:0 26px 70px #2137301a}.auth-brand{letter-spacing:-.035em;justify-content:center;align-items:center;gap:11px;font-size:20px;font-weight:800;display:flex}.auth-brand-mark,.onboarding-icon{background:var(--green);width:45px;height:45px;color:var(--on-accent);border-radius:15px;place-items:center;display:grid;box-shadow:0 9px 24px #397e723d}.auth-heading,.onboarding-heading{text-align:center;margin-top:30px}.auth-heading p,.onboarding-heading p{color:var(--green-dark);letter-spacing:.12em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:850}.auth-heading h1,.onboarding-heading h1{letter-spacing:-.055em;margin:0;font-size:clamp(29px,7vw,36px);line-height:1.04}.auth-heading>span,.onboarding-heading>span{max-width:320px;color:var(--muted);margin:12px auto 0;font-size:14px;line-height:1.5;display:block}.auth-mode-switch{background:var(--surface);border-radius:14px;grid-template-columns:1fr 1fr;gap:5px;margin-top:28px;padding:5px;display:grid}.auth-mode-switch button{min-height:41px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;font-size:13px;font-weight:800}.auth-mode-switch button.active{color:var(--ink);background:var(--card);box-shadow:0 3px 12px #172a2614}.auth-form{gap:17px;margin-top:24px;display:grid}.auth-field{gap:7px;display:grid}.auth-field>span:first-child{font-size:12px;font-weight:800}.auth-input-wrap{border:1px solid var(--line);background:var(--surface);min-height:50px;color:var(--muted);border-radius:14px;align-items:center;gap:10px;padding:0 14px;transition:border-color .16s,box-shadow .16s,background .16s;display:flex}.auth-input-wrap:focus-within{background:var(--card);border-color:#397e72b8;box-shadow:0 0 0 4px #397e721a}.auth-input-wrap input{width:100%;min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;font-size:15px}.auth-input-wrap input::placeholder{color:var(--lightningcss-light,#a6aeaa)var(--lightningcss-dark,#b8cbbd)}.password-toggle{width:32px;height:32px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;flex:none;place-items:center;display:grid}.auth-feedback,.onboarding-feedback{border-radius:12px;margin:0;padding:11px 13px;font-size:12px;font-weight:700;line-height:1.4}.auth-feedback.error,.onboarding-feedback{color:var(--lightningcss-light,#87483c)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.auth-feedback.success{color:var(--green-dark);background:var(--green-soft)}.auth-submit,.onboarding-submit{background:var(--green);min-height:52px;color:var(--on-accent);cursor:pointer;border:0;border-radius:15px;font-size:14px;font-weight:850;box-shadow:0 10px 24px #397e723b}.auth-submit:disabled,.onboarding-submit:disabled{cursor:wait;opacity:.68}.auth-privacy,.onboarding-note{color:var(--muted);text-align:center;margin:22px 0 0;font-size:11px;line-height:1.45}.onboarding-panel{padding-top:24px}.onboarding-stages{grid-template-columns:1fr 1fr;gap:9px;width:136px;margin:0 auto 19px;display:grid}.onboarding-stages span{background:var(--surface);border-radius:999px;height:5px;transition:background .22s,transform .22s}.onboarding-stages span.active,.onboarding-stages span.complete{background:var(--green)}.onboarding-stages span.active{transform:scaleX(1.04)}.onboarding-icon{border-radius:17px;width:51px;height:51px;margin:6px auto 0}.onboarding-heading{margin-top:23px}.onboarding-form{gap:12px;margin-top:28px;display:grid}.onboarding-preferences{gap:22px;display:grid}.preference-group{border:0;min-width:0;margin:0;padding:0}.preference-group legend{color:var(--ink);margin-bottom:10px;font-size:12px;font-weight:850}.preference-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.preference-option{border:1px solid var(--line);background:var(--surface);min-width:0;min-height:112px;color:var(--ink);text-align:left;cursor:pointer;border-radius:17px;grid-template-columns:38px minmax(0,1fr) 18px;align-items:start;gap:10px;padding:14px;transition:border-color .16s,box-shadow .16s,background .16s;display:grid}.preference-option:hover{border-color:#397e7266}.preference-option.selected{border-color:var(--green);background:var(--surface);box-shadow:0 0 0 3px #397e7217}.preference-option>span:nth-child(2){flex-direction:column;gap:5px;min-width:0;display:flex}.preference-option strong{font-size:13px}.preference-option small{color:var(--muted);font-size:10px;line-height:1.35}.preference-option>svg{color:var(--green-dark);margin-top:10px}.preference-icon{width:38px;height:38px;color:var(--green-dark);background:var(--green-soft);border-radius:12px;place-items:center;display:grid}.preference-icon.imperial{color:var(--lightningcss-light,#8a632d)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.preference-icon.calendar{color:var(--lightningcss-light,#536c83)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.preference-options.compact .preference-option{align-items:center;min-height:86px}.preference-options.compact .preference-option>svg{margin-top:0}.metric-field{border:1px solid var(--line);background:var(--surface);border-radius:17px;grid-template-columns:42px minmax(0,1fr) 105px;align-items:center;gap:11px;min-height:76px;padding:12px 13px;display:grid}.metric-field:focus-within{border-color:#397e72ad;box-shadow:0 0 0 4px #397e7217}.metric-field-icon{width:42px;height:42px;color:var(--green-dark);background:var(--green-soft);border-radius:13px;place-items:center;display:grid}.metric-field-icon.goal{color:var(--lightningcss-light,#8a632d)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.metric-field-icon.timeline{color:var(--lightningcss-light,#536c83)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.metric-field-icon.calories{color:var(--lightningcss-light,#9a513c)var(--lightningcss-dark,#f0a89b);background:var(--surface)}.metric-field-icon.water{color:var(--lightningcss-light,#3f7883)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.metric-field-icon.exercise{color:var(--lightningcss-light,#536a46)var(--lightningcss-dark,#b8cbbd);background:var(--surface)}.metric-field-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.metric-field-copy strong{font-size:13px}.metric-field-copy small{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.metric-input{background:var(--card);border:1px solid var(--lightningcss-light,#d9dcd5)var(--lightningcss-dark,#476052);border-radius:12px;align-items:center;height:45px;padding:0 10px;display:flex}.metric-input input{width:100%;min-width:0;color:var(--ink);font:inherit;text-align:right;background:0 0;border:0;outline:0;font-size:16px;font-weight:800}.metric-input input::placeholder{color:var(--lightningcss-light,#aab1ad)var(--lightningcss-dark,#b8cbbd)}.metric-input small{color:var(--muted);margin-left:5px;font-size:11px;font-weight:800}.metric-field.height-imperial{grid-template-columns:42px minmax(0,1fr) 148px}.metric-input.dual{gap:4px}.metric-input.dual input{width:34px}.metric-input.dual small{margin-left:0}.onboarding-submit{justify-content:center;align-items:center;gap:9px;margin-top:8px;padding:0 18px;display:flex}.onboarding-actions{grid-template-columns:auto minmax(0,1fr);gap:10px;margin-top:8px;display:grid}.onboarding-actions .onboarding-submit{margin-top:0}.onboarding-back{border:1px solid var(--line);background:var(--surface);min-height:52px;color:var(--muted);cursor:pointer;border-radius:15px;justify-content:center;align-items:center;gap:3px;padding:0 14px;font-size:13px;font-weight:800;display:flex}@media (max-width:560px){.auth-page,.onboarding-page{align-items:center;height:100dvh;min-height:0;padding:12px}.auth-panel,.onboarding-panel{border-radius:22px;padding:24px 20px;box-shadow:0 18px 50px #21373014}.auth-heading{margin-top:22px}.auth-heading h1,.onboarding-heading h1{font-size:clamp(27px,8vw,33px)}.auth-mode-switch{margin-top:22px}.auth-form{gap:14px;margin-top:20px}.auth-input-wrap{min-height:48px}.auth-submit{min-height:49px}.auth-privacy{margin-top:16px}.onboarding-panel{padding-top:19px}.onboarding-page{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;align-items:start;height:100dvh;min-height:0;overflow-y:auto}.onboarding-stages{margin-bottom:15px}.onboarding-icon{margin-top:3px}.onboarding-heading{margin-top:18px}.onboarding-form{margin-top:22px}.metric-field{grid-template-columns:40px minmax(0,1fr) 96px;gap:9px;min-height:69px;padding:9px 10px}.metric-field.height-imperial{grid-template-columns:40px minmax(0,1fr) 132px}.metric-field-icon{width:40px;height:40px}.metric-field-copy small{display:none}.metric-input{padding:0 8px}.onboarding-note{margin-top:15px}}@media (max-width:390px){.preference-options{grid-template-columns:1fr}.preference-option{align-items:center;min-height:78px}.preference-option>svg{margin-top:0}}.progress-ring-track,.progress-ring-value,.progress-ring-transition{stroke-width:2.8px}.snapshot-category-button{transition:flex-grow .35s,flex-basis .35s,padding .35s,background-color .25s}.snapshot-category-label{transition:max-width .35s,opacity .25s}.snapshot-pager{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;width:100%;min-width:0;height:430px;display:flex;overflow:auto hidden}.snapshot-pager::-webkit-scrollbar{display:none}.snapshot-slide{scroll-snap-align:start;scroll-snap-stop:always;flex-direction:column;flex:0 0 100%;min-width:0;height:100%;display:flex;overflow-y:auto}.snapshot-slide>[role=tabpanel]{flex:1;width:100%;min-height:0}.food-snapshot-panel{container-type:size}.food-progress-grid{grid-template-rows:auto repeat(3,minmax(0,1fr));gap:6px;height:100%;padding:12px 0;display:grid}.food-progress-heading{text-align:center;margin:0;font-size:13px}.food-progress-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(24px,6vw,40px);width:min(100%,440px);min-height:0;margin-inline:auto;display:grid}.food-progress-shape{aspect-ratio:1;justify-self:center;width:min(86.6%,118px,25cqh);position:relative;container-type:inline-size}.food-progress-shape.calories,.food-progress-shape.protein{aspect-ratio:1}.food-progress-shape.carbs svg{width:114.144%;max-width:none;margin-left:-7.07203%}.food-progress-shape svg{width:100%;height:100%;display:block;overflow:visible}.food-shape-track,.food-shape-fill{fill:none;stroke-width:4px;stroke-linecap:round;stroke-linejoin:round}.food-shape-track{stroke:var(--line)}.food-shape-fill{stroke:var(--green-dark);transition:stroke-dasharray .65s}.food-shape-value{flex-direction:column;justify-content:center;align-items:center;gap:1px;font-size:clamp(9px,9cqw,12px);display:flex;position:absolute;inset:0}.food-shape-value strong{font-family:Georgia,serif;font-size:clamp(17px,22cqw,29px);font-weight:400;line-height:1}.food-shape-value small{font-size:clamp(8px,8cqw,11px)}.food-progress-shape.carbs .food-shape-value{padding-top:20%;font-size:clamp(8px,8cqw,11px)}.food-progress-shape.carbs strong{font-size:clamp(15px,18cqw,24px)}.food-progress-detail{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:6px;font-size:11px;display:flex}.food-progress-detail strong{color:var(--ink);font-family:Georgia,serif;font-size:clamp(20px,5vw,29px);font-weight:400}.food-progress-detail strong small{font-size:.65em}.meal-clock-actions{flex-direction:column;align-items:center;gap:8px;display:flex}.meal-clock-stop{color:var(--muted);cursor:pointer;background:0 0;border:0;min-height:34px;font-size:11px}.meal-clock-stop:disabled{opacity:.4;cursor:default}.goal-settings-form{gap:10px;margin-top:20px;display:grid}.goal-setting-row{grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:16px;font-size:13px;display:grid}.goal-setting-row input{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:10px}.goal-help,.goal-settings-form [role=status]{color:var(--muted);font-size:12px}@media (max-width:560px){.snapshot-pager{flex:1;height:auto;min-height:0}.snapshot-slide>.overview-content{grid-template-rows:minmax(0,1fr) 82px}.snapshot-slide>.measurement-snapshot-grid{grid-template-rows:repeat(4,minmax(0,1fr))}.snapshot-category-button{flex:1 1 0}.snapshot-category-button.active{flex:2.7 1 0}.snapshot-category-button.long-label.active{font-size:9px}.snapshot-slide .meal-timer-row{min-height:0}.snapshot-slide .meal-timer-list{grid-template-rows:1fr 1fr;height:100%;display:grid}.food-progress-detail{gap:4px}}@media (prefers-reduced-motion:reduce){.snapshot-category-button,.snapshot-category-label,.food-shape-fill{transition:none}}.snapshot-slide>[role=tabpanel]{touch-action:pan-x pan-y}.meal-timer-list{border-bottom:0}html[data-theme=nocturne] :is(.food-shape-value strong,.food-progress-detail strong),html[data-theme=atelier] :is(.food-shape-value strong,.food-progress-detail strong){font-family:Arial,sans-serif}
:root,html[data-theme=journal]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f5f2e9;--card:#faf8f1;--ink:#263b30;--muted:#687267;--green:#42634f;--green-dark:#34513e;--green-soft:#e4e9dc;--line:#d8dace;--surface:#efeee5;--input-surface:#fdfcf7;--on-accent:#fff;--danger:#a14d43;--danger-soft:#f6e8e2;--ring-track:#e0e3d7;--display-font:Georgia, "Times New Roman", serif;--display-weight:400;--ui-radius:12px}html[data-theme=nocturne]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#182c2a;--card:#1e3330;--ink:#f0eee4;--muted:#b3bdb0;--green:#c7ce9c;--green-dark:#d3dbac;--green-soft:#344b3e;--line:#3d534a;--surface:#263e37;--input-surface:#203832;--on-accent:#182c2a;--danger:#f0a89b;--danger-soft:#4b3430;--ring-track:#395046;--display-font:"Avenir Next", "Segoe UI", Arial, sans-serif;--display-weight:500;--ui-radius:10px}html[data-theme=atelier]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fafaf7;--card:#fff;--ink:#252725;--muted:#676c61;--green:#6b7052;--green-dark:#555a3e;--green-soft:#eceee3;--line:#dcdfd7;--surface:#f1f2ec;--input-surface:#fff;--on-accent:#fff;--danger:#a14d43;--danger-soft:#f6e8e2;--ring-track:#e5e8df;--display-font:"Avenir Next", "Segoe UI", Arial, sans-serif;--display-weight:400;--ui-radius:5px}html[data-theme] body{background:var(--paper)}html[data-theme] :is(input,textarea,select){color:var(--ink)}html[data-theme] :is(input,textarea)::placeholder{color:var(--muted);opacity:.8}html[data-theme] .topbar{background:var(--paper);border-color:var(--line);-webkit-backdrop-filter:none;backdrop-filter:none}html[data-theme] .brand{font-weight:500}html[data-theme] .brand-mark{color:var(--ink);box-shadow:none;background:0 0}html[data-theme] .profile-button{background:0 0;border-radius:50%}html[data-theme] .card{background:var(--card);border-color:var(--line);box-shadow:none;border-radius:var(--ui-radius)}html[data-theme] .overview-card{background:var(--paper);border:0}html[data-theme] .overview-status{border:0;padding-bottom:20px;display:block}html[data-theme] .overview-status-icon,html[data-theme] .overview-status-spacer{display:none}html[data-theme] .overview-status h2{text-align:left;font-family:var(--display-font);font-weight:var(--display-weight);letter-spacing:-.045em;font-size:clamp(27px,7.5vw,38px)}html[data-theme] .snapshot-category-rail{border-bottom:1px solid var(--line);background:0 0;border-radius:0;margin-top:0;padding:0}html[data-theme] .snapshot-category-button{border-bottom:2px solid #0000;border-radius:0;min-height:44px;font-weight:500}html[data-theme] .snapshot-category-button.active{border-bottom-color:var(--green);box-shadow:none;background:0 0}html[data-theme] .progress-ring:before{background:var(--paper)}html[data-theme] .progress-ring-track{stroke:var(--ring-track)}html[data-theme] .progress-ring.on-track{--progress-color:var(--green);--progress-transition-color:color-mix(in srgb, var(--green), var(--ring-track) 55%)}html[data-theme] .progress-ring-center strong{font-family:var(--display-font);font-weight:var(--display-weight);font-size:46px}html[data-theme] .progress-ring-center span{font-weight:400}html[data-theme] .overview-measurement strong{font-family:var(--display-font);font-weight:var(--display-weight)}html[data-theme] .overview-measurement p{font-weight:400}html[data-theme] .overview-measurements{border-top:1px solid var(--line)}html[data-theme] .app-navigation{background:var(--paper);border-color:var(--line);box-shadow:none}html[data-theme] .app-navigation-item{border-radius:0;position:relative}html[data-theme] .app-navigation-item.active{color:var(--ink);background:0 0}html[data-theme] .app-navigation-item.active:after{content:"";background:var(--green);border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}html[data-theme] .app-navigation-item span{font-weight:500}html[data-theme] .settings-heading h2,html[data-theme] .log-heading h2{font-family:var(--display-font);font-weight:var(--display-weight)}html[data-theme] :is(.settings-overview,.statistics-overview){background:var(--paper);border:0;border-radius:0;padding:20px 24px}:is(.settings-overview,.statistics-overview) .settings-heading p{color:var(--muted);letter-spacing:normal;text-transform:none;margin:0;font-size:11px;font-weight:500;line-height:16px}:is(.settings-overview,.statistics-overview) .settings-heading h2{letter-spacing:-.045em;font-size:28px;line-height:33px}html[data-theme] :is(.settings-overview,.statistics-overview) .settings-menu-list{margin-top:18px}html[data-theme] .settings-overview .settings-menu-list{gap:0}html[data-theme] .settings-overview .settings-menu-button{background:0 0;border-width:0 0 1px;border-radius:0;grid-template-columns:24px minmax(0,1fr) 24px;gap:16px;min-height:56px;padding:8px 0}html[data-theme] .settings-overview .settings-menu-icon{width:24px;height:24px;color:var(--green);background:0 0;border-radius:0}.settings-overview .settings-menu-icon svg,.settings-overview .settings-menu-chevron{width:24px;height:24px}:is(.settings-overview,.statistics-overview) .settings-menu-copy{gap:0}.settings-overview .settings-menu-copy strong{font-size:14px;font-weight:500;line-height:21px}:is(.settings-overview,.statistics-overview) .settings-menu-copy small{font-size:11px;line-height:16.5px}html[data-theme] .statistics-overview .statistics-menu-list{gap:10px}html[data-theme] .statistics-overview .statistics-menu-button{border:1px solid var(--line);background:var(--card);border-radius:17px;min-height:70px;padding:12px}.statistics-overview .settings-menu-copy strong{font-size:13px;font-weight:500;line-height:18px}html[data-theme] .statistics-overview .statistics-menu-icon{background:var(--paper)}html[data-theme] :is(.settings-overview,.statistics-overview) .settings-menu-button:hover{background:var(--surface)}html[data-theme] .log-type-button{border-radius:var(--ui-radius);background:var(--card);box-shadow:none}html[data-theme] .auth-page,html[data-theme] .onboarding-page{background:var(--paper)}html[data-theme] .auth-panel,html[data-theme] .onboarding-panel{background:var(--card);border-color:var(--line);border-radius:var(--ui-radius);box-shadow:none}html[data-theme] .auth-heading h1,html[data-theme] .onboarding-heading h1{font-family:var(--display-font);font-weight:var(--display-weight)}html[data-theme] button:hover{transform:none}html[data-theme=nocturne] .measurement-snapshot-tile{color:var(--muted)}html[data-theme=nocturne] .measurement-snapshot-tile.lower{color:#b4d5ac}html[data-theme=nocturne] .measurement-snapshot-tile.higher{color:var(--danger)}html[data-theme=nocturne] .meal-timer-row>strong{color:var(--ink)}html[data-theme=nocturne] .progress-ring.steady{--progress-color:#d5b27b;--progress-transition-color:#8d896c}html[data-theme=nocturne] .progress-ring.off-track{--progress-color:#ed9b8c;--progress-transition-color:#9b7b69}html[data-theme=nocturne] .progress-ring.calories{--progress-color:#e3b479;--progress-transition-color:#8f9074}html[data-theme=nocturne] .progress-ring.sports,html[data-theme=nocturne] .progress-ring.water{--progress-color:#98c4c7;--progress-transition-color:#719991}.theme-settings{margin-top:24px}.theme-intro{color:var(--muted);margin:0 0 22px;font-size:13px;line-height:1.6}.theme-options{gap:12px;display:grid}.theme-option{border:1px solid var(--line);border-radius:var(--ui-radius);background:var(--card);text-align:left;cursor:pointer;grid-template-columns:82px minmax(0,1fr) 22px;align-items:center;gap:15px;width:100%;padding:12px;display:grid}.theme-option[aria-pressed=true]{border-color:var(--green);outline:1px solid var(--green)}.theme-option-copy{gap:7px;display:grid}.theme-option-copy strong{font-size:15px;font-weight:500}.theme-option-copy small{color:var(--muted);font-size:12px;line-height:1.5}.theme-selection{color:var(--green-dark)}.theme-preview{border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:104px;display:flex}.theme-preview-journal{color:#42634f;background:#f5f2e9;font-family:Georgia,serif}.theme-preview-nocturne{color:#c7ce9c;background:#182c2a;font-family:Arial,sans-serif}.theme-preview-atelier{color:#6b7052;background:#fafaf7;border:1px solid #dcdfd7;font-family:Arial,sans-serif}.theme-preview-heading{font-size:11px}.theme-preview-ring{border:2px solid;border-top-color:#0000;border-radius:50%;justify-content:center;align-items:center;width:45px;height:45px;font-size:17px;display:flex}.theme-preview-ring>span{font-size:10px}.theme-preview-rule{opacity:.3;border-top:1px solid;width:45px}.theme-feedback{min-height:20px;color:var(--green-dark);font-size:12px}@media (max-width:560px){html[data-theme] .page-shell{width:calc(100% - 24px)}html[data-theme] .overview-card{padding:18px 10px}html[data-theme] .overview-content{padding-inline:0}html[data-theme] .settings-card{padding:20px 14px}.theme-option{grid-template-columns:70px minmax(0,1fr) 18px;gap:10px;padding:10px}}html[data-theme] .log-overview{background:var(--paper);border:0;border-radius:0;padding:20px 24px;overflow-y:auto}.log-overview .log-heading p{color:var(--muted);letter-spacing:normal;text-transform:none;margin:0;font-size:11px;font-weight:500;line-height:16px}.log-overview .log-heading h2{letter-spacing:-.045em;font-size:28px;line-height:33px}.log-overview .log-type-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 12px;height:auto;margin-top:18px}html[data-theme] .log-overview .log-type-button{min-height:111px;color:var(--ink);text-align:center;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;padding:16px}.log-overview .log-type-button strong{margin:0;font-size:13px;font-weight:500;line-height:18px}.log-overview .log-type-button small{margin:0;font-size:11px;line-height:16.5px}.log-overview .log-type-button .log-type-icon{background:0 0;border-radius:0;width:24px;height:24px}.log-overview .log-type-icon.weight{color:var(--lightningcss-light,#16816b)var(--lightningcss-dark,#66d5b4)}.log-overview .log-type-icon.measurement{color:var(--lightningcss-light,#b47b13)var(--lightningcss-dark,#f3c75f)}.log-overview .log-type-icon.meal{color:var(--lightningcss-light,#c56430)var(--lightningcss-dark,#ffab76)}.log-overview .log-type-icon.workout{color:var(--lightningcss-light,#8054ba)var(--lightningcss-dark,#c2a0f0)}.log-overview .log-type-icon.water{color:var(--lightningcss-light,#1686b0)var(--lightningcss-dark,#64cceb)}.log-overview .log-type-icon.last-meal{color:var(--lightningcss-light,#ba5277)var(--lightningcss-dark,#f59ab8)}.log-overview .log-type-button:hover{background:var(--surface)}.log-overview .log-type-button:focus-visible{outline:2px solid var(--green);outline-offset:3px}@media (max-width:560px){html[data-theme] .log-overview{padding-inline:14px}}
