:root{--paper:#f6f5f0;--card:#fffefa;--ink:#253e35;--muted:#647062;--line:#e8e9e1;--green:#2e5b48;--sage:#e6ecde;--orange:#c88359;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible{outline:3px solid #b99a63;outline-offset:4px}button:disabled{cursor:default;opacity:.45}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.topbar{height:88px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px}.brand{display:flex;align-items:center;gap:10px;font-size:20px;font-weight:650;letter-spacing:-.8px;color:var(--ink);text-decoration:none}.brand-dot{color:var(--orange);margin-left:-8px}.brand-mark{width:34px;height:34px;display:grid;place-items:center;background:var(--green);border-radius:50%;color:#e5ebdc}.brand-mark svg{width:20px}.local-tag{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.local-tag i{width:6px;height:6px;background:#82a479;border-radius:50%}main{max-width:1320px;padding:0 32px;margin:auto}.intro{display:flex;justify-content:space-between;align-items:center;padding:48px 0 38px}.eyebrow,.card-eyebrow{font-size:10px;letter-spacing:1.6px;font-weight:650;text-transform:uppercase}.eyebrow{color:var(--muted);margin-bottom:13px}h1{font:normal 46px/1.13 var(--serif);letter-spacing:-1.8px;margin:0}h1 span{color:#809078}h2{font-size:19px;line-height:1.3;margin:0;font-weight:600;letter-spacing:-.5px}p{margin:10px 0}.intro p{color:var(--muted);margin-top:18px;font-size:14px}.intro-note{display:flex;gap:16px;align-items:center;color:#859079;font:italic 17px/1.55 var(--serif);padding:10px 30px 0 15px}.intro-note svg{width:47px;height:47px;stroke-width:1}.card{background:var(--card);border:1px solid var(--line);border-radius:20px}.dashboard{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px}.log-card{padding:27px 25px}.card-eyebrow{color:#65735d;display:flex;align-items:center;gap:8px}.mini-dot{width:6px;height:6px;background:var(--orange);border-radius:50%}.log-card h2{margin-top:25px;font-size:22px}.muted{color:var(--muted);font-size:12px;line-height:1.65;margin:7px 0}.log-card form{margin-top:26px}label{display:block;font-size:11px;font-weight:600;margin:17px 0 8px;color:#637468}input{width:100%;min-width:0;border:1px solid #dfe4d9;background:transparent;border-radius:10px;color:var(--ink);padding:11px 13px;outline:none;font-size:14px}input:focus{border-color:#799a75;box-shadow:0 0 0 3px #e6ecde}input[type=date]{min-height:45px}.weight-field{display:flex;align-items:center;border:1px solid #dfe4d9;border-radius:12px;padding-right:20px}.weight-field:focus-within{border-color:#799a75;box-shadow:0 0 0 3px #e6ecde}.weight-field input{font-size:42px;font-weight:400;padding:4px 15px 5px;border:0;letter-spacing:-2px;box-shadow:none;background:transparent}.weight-field input::placeholder{color:#c0c8ba}.weight-field span{font-size:18px;color:#687461}.field-hint{color:var(--muted);font-size:10px;line-height:1.5;margin:9px 0 19px}.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;padding:12px 17px;border:1px solid transparent;border-radius:10px;font-size:12px;font-weight:600;transition:background .15s,transform .15s}.button:active{transform:translateY(1px)}.button-primary{background:var(--green);color:white}.button-primary:hover{background:#234b39}.log-card .button-primary{width:100%;margin-top:1px}.button-quiet{background:transparent;color:var(--ink)}.button-quiet:hover{background:#e9ede4}.button-outline{border-color:#cbd5c6;background:transparent;color:var(--ink)}.button-danger{background:#a34e3e;color:#fff}.full-width{width:100%;margin-top:10px}.text-button{border:0;padding:0;background:none;color:var(--green);font-size:11px;font-weight:600;display:inline-flex;align-items:center;gap:6px}.text-button:hover{text-decoration:underline}.text-button svg{width:16px;height:16px}.streak-line{border-top:1px solid var(--line);padding-top:22px;margin-top:23px;display:flex;align-items:center;gap:11px}.streak-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#f4eee2;color:#b98c4f}.streak-line strong{display:block;font-size:12px;font-weight:600}.streak-line small{font-size:10px;color:var(--muted)}.main-column{min-width:0}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:20px}.metric{padding:19px 19px 18px;border-radius:16px}.average-metric{background:#e9eee2;border-color:#e1e7d8}.metric-label{font-size:10px;color:#61735e;display:flex;align-items:center;justify-content:space-between;gap:5px}.metric-symbol{font-size:17px;color:#8b9b80}.metric-value{font-size:32px;letter-spacing:-1.1px;line-height:1.25;margin:13px 0 9px;font-weight:500;white-space:nowrap}.metric-value small{font-size:13px;letter-spacing:0;color:#66735f;font-weight:400}.metric-foot{font-size:10px;color:#67745f}.chart-card{padding:24px 25px 15px}.section-header{display:flex;justify-content:space-between;align-items:center;gap:18px}.segments{display:flex;background:#f1f3ec;padding:3px;border-radius:8px;gap:2px;flex-shrink:0}.segments button{border:0;background:transparent;padding:5px 9px;border-radius:6px;color:#89927f;font-size:10px;white-space:nowrap}.segments button[aria-pressed=true]{background:#fffefa;color:var(--green);box-shadow:0 1px 4px #26392812}.chart-legend{display:flex;gap:21px;justify-content:flex-end;font-size:10px;color:#67765f;margin:20px 0 0}.chart-legend span{display:flex;align-items:center;gap:7px}.legend-average{width:19px;height:3px;background:#56745a;border-radius:4px}.legend-weight{width:6px;height:6px;background:#ca9b78;border-radius:50%}.chart{height:235px;position:relative}.plot{width:100%;height:100%;overflow:visible;stroke:none;display:block}.chart-empty{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;background:repeating-linear-gradient(to bottom,transparent 0,transparent 54px,#eff0e8 55px,transparent 56px);gap:7px}.chart-empty svg{width:37px;height:37px;color:#93a38a;margin-bottom:5px}.chart-empty strong{font-weight:500;font-size:14px}.chart-empty p{font-size:11px;color:var(--muted);margin:0}.chart-caption{border-top:1px solid var(--line);padding-top:13px;display:flex;gap:8px;align-items:flex-start;font-size:9px;color:#697660;line-height:1.6}.caption-mark{border:1px solid #aab4a1;border-radius:50%;width:13px;height:13px;text-align:center;line-height:11px;font-size:9px;flex-shrink:0;margin-top:1px}.bottom-grid{display:grid;grid-template-columns:310px minmax(0,1fr);gap:22px;margin-top:22px}.goal-card{position:relative;overflow:hidden;min-height:270px;background:#284b3c;color:#eef1e5;padding:24px 25px;border-radius:20px}.goal-card .card-eyebrow{color:#b4c1a7}.goal-card .text-button{color:#c6d2ba}.goal-card h2{font:25px/1.25 var(--serif);max-width:210px;margin-top:27px}.goal-card>p{font-size:11px;color:#c0cbb7;max-width:220px;position:relative;z-index:1}.goal-card .goal-note{font-size:9px;color:#c3cfb7;margin-top:30px}.goal-art{position:absolute;right:-25px;bottom:-40px;width:135px;height:180px;opacity:.3;transform:rotate(12deg);pointer-events:none}.goal-art div{position:absolute;border:1px solid #a9bd92;width:100px;height:160px;border-radius:80px 80px 0 0}.goal-art div:nth-child(2){inset:18px 0 0 18px}.goal-art div:nth-child(3){inset:36px 0 0 36px}.goal-art span{position:absolute;top:-10px;left:37px;font-size:38px;color:#e0d5ad}.goal-value{font-size:33px;font-weight:400;letter-spacing:-1px;margin-top:15px}.goal-value small{font-size:14px;margin-left:5px;opacity:.65}.progress-track{height:5px;border-radius:6px;background:#57715c;margin-top:12px;overflow:hidden;max-width:100%;position:relative;z-index:1}.progress-fill{height:100%;background:#d1deb3;border-radius:6px;transition:width .4s}.goal-progress-label{display:flex;justify-content:space-between;font-size:10px;color:#cad5bd;margin-top:8px}.awards-card{padding:25px}.counter{font-size:11px;color:#7a886e;padding:5px 10px;background:#f0f3e9;border-radius:20px;white-space:nowrap}.awards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px;margin-top:29px}.award{text-align:center;min-width:0;position:relative}.award-medal{width:52px;height:58px;margin:0 auto 11px;display:grid;place-items:center;color:#aeb6a5;background:#f1f3ec;clip-path:polygon(50% 0,93% 24%,93% 76%,50% 100%,7% 76%,7% 24%)}.award-medal svg{width:23px;height:23px}.award.earned .award-medal{background:#e8edcf;color:#698250}.award.earned:nth-child(n+5) .award-medal{background:#f4e4c3;color:#b08a48}.award strong{font-size:10px;font-weight:500;display:block;line-height:1.35}.award small{color:#6d795f;font-size:9px;display:block;line-height:1.5;margin-top:5px}.award.earned small{color:#6f8658}.history-card{margin-top:22px;padding:25px}.history-empty{padding:34px 10px;text-align:center;font-size:12px;color:var(--muted)}table{width:100%;border-collapse:collapse;margin-top:20px;text-align:left;font-size:12px}th{color:#697660;font-size:10px;font-weight:500;padding:10px 13px;background:#f4f5ef}th:first-child{border-radius:7px 0 0 7px}th:last-child{border-radius:0 7px 7px 0}td{padding:14px 13px;border-bottom:1px solid #eff0e9}tbody tr:last-child td{border-bottom:0}td:last-child{text-align:right}.table-actions{display:flex;justify-content:flex-end;gap:16px}.delete-entry{color:#a67d67}.table-actions button{font-size:10px}td small{color:#697660;font-size:10px}.more-button{display:flex;margin:16px auto 0}footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:31px 0 34px;color:#9ba392;font-size:10px}.footer-brand{font-size:15px;font-weight:650;color:#84907b;letter-spacing:-.6px}footer>span:nth-child(2){display:flex;align-items:center;gap:7px}footer svg{width:12px;height:12px}footer .text-button{color:#65745b;font-size:10px}dialog{border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--ink);padding:28px;width:min(460px,calc(100vw - 32px));max-height:90vh;box-shadow:0 24px 90px #1f33252b}dialog::backdrop{background:#20352760;backdrop-filter:blur(4px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.close{border:0;background:#edf0e6;color:var(--green);width:29px;height:29px;line-height:25px;border-radius:50%;font-size:22px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}dialog p{font-size:12px;line-height:1.75}dialog form>.button-primary{width:100%;margin-top:15px}.backup-note{background:#edf1e4;padding:14px;border-radius:10px;font-size:11px;line-height:1.6;margin:18px 0}.form-error{font-size:11px;color:#a44636}.form-error:empty{display:none}.notice{padding:15px 18px;background:#f7e8d7;border:1px solid #edd6bb;border-radius:12px;font-size:12px;margin-bottom:20px}.toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#254b39;color:#fff;padding:13px 23px;border-radius:12px;box-shadow:0 5px 35px #20332430;z-index:20;font-size:12px;text-align:center;max-width:90vw;min-width:240px}.toast[hidden],[hidden]{display:none!important}
@media(min-width:1500px){main{padding:0 32px}.topbar{padding:0 7%}}
@media(max-width:1050px){main{padding:0 24px}.dashboard,.bottom-grid{grid-template-columns:270px minmax(0,1fr);gap:16px}.log-card,.chart-card,.awards-card,.goal-card{padding:21px}.metric{padding:17px 13px}.metric-value{font-size:29px}.chart-card .section-header{align-items:flex-start;flex-direction:column;gap:10px}.chart{height:239px}.awards{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:23px;margin-top:21px}.award-medal{width:43px;height:48px;margin-bottom:7px}.intro-note{padding-right:0}.metrics{gap:8px}}
@media(max-width:760px){.topbar{height:73px;padding:0 20px}.brand{font-size:18px}.local-tag{display:none}.topbar .button{font-size:11px;padding:9px 0}.topbar .button svg{width:17px}main{padding:0 18px}.intro{padding:32px 0 26px}.intro-note{display:none}h1{font-size:37px}.intro p{font-size:12px;margin-top:14px}.dashboard{grid-template-columns:1fr}.log-card{padding:22px}.log-card h2{margin-top:16px}.log-card form{margin-top:15px;display:grid;grid-template-columns:1.1fr 1fr;column-gap:14px}.log-card form>label:first-child{grid-column:1;grid-row:1}.weight-field{grid-column:1;grid-row:2}.log-card form>label[for=entry-date]{grid-column:2;grid-row:1}.log-card input[type=date]{grid-column:2;grid-row:2;font-size:13px}.weight-field input{font-size:33px}.log-card form .field-hint{grid-column:1/-1;margin:10px 0}.log-card form>.button{grid-column:1/-1}.log-card form .form-error{grid-column:1/-1}.streak-line{margin-top:18px;padding-top:16px}.metrics{margin-top:3px;margin-bottom:16px}.metric{padding:15px 10px;border-radius:13px}.metric-label{font-size:9px;line-height:1.4;min-height:27px}.metric-symbol{display:none}.metric-value{font-size:27px;margin:8px 0}.metric-value small{font-size:11px}.metric-foot{font-size:9px;min-height:27px}.chart-card{padding:20px 16px 15px}.chart-card .section-header{flex-direction:row;align-items:flex-start}.chart-card .section-header h2{font-size:17px}.chart-card .section-header .muted{font-size:10px;max-width:180px}.segments button{font-size:9px;padding:5px 6px}.chart-legend{font-size:9px;gap:16px}.chart{height:225px}.bottom-grid{grid-template-columns:1fr;gap:16px;margin-top:16px}.goal-card{min-height:230px}.goal-card h2{max-width:none;margin-top:22px}.goal-card>p{max-width:85%}.goal-art{right:10px;bottom:-35px}.goal-card .goal-note{margin-top:20px}.goal-card .progress-track{max-width:85%}.goal-progress-label{max-width:85%}.awards{grid-template-columns:repeat(4,minmax(0,1fr))}.awards-card{padding:22px 18px}.history-card{padding:22px 14px;margin-top:16px}.history-card h2{font-size:17px}.history-card .section-header{gap:8px}.history-card .section-header .text-button{font-size:10px;white-space:nowrap}th,td{padding:12px 5px;font-size:11px}.table-actions{gap:8px}.table-actions button{font-size:9px}th{font-size:9px}.history-average{display:none}footer{flex-wrap:wrap;gap:16px;padding:25px 3px}footer>span:nth-child(2){order:3;width:100%;font-size:9px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.auth-screen{max-width:560px;margin:45px auto;padding:0 18px}.auth-card{padding:32px}.auth-card h1{font-size:35px;margin:18px 0}.auth-tabs{margin:24px 0 18px;justify-content:space-between}.auth-tabs button{font-size:12px;padding:9px}.auth-card .field-hint{font-size:11px;margin-bottom:12px}.auth-card .muted{font-size:13px}.auth-card label{font-size:12px}#account-tools{display:flex;align-items:center;gap:12px}#account-name{font-size:12px}#new-recovery-code{display:block;overflow-wrap:anywhere;background:#edf1e4;padding:15px;margin:20px 0;border-radius:9px;font-size:16px}#migrate-notice>div{display:flex;gap:10px;margin-top:10px}@media(max-width:760px){.topbar{height:auto;min-height:74px;flex-wrap:wrap;padding-top:14px;padding-bottom:14px;gap:10px}.auth-card{padding:22px}.auth-card h1{font-size:30px}#account-tools{gap:4px}.auth-tabs button{font-size:10px}}
