:root{--paper:#f6f5ef;--card:#fffefa;--ink:#253b34;--muted:#7b857d;--line:#e6e9df;--green:#285d49;--green-light:#eaf0e5;--orange:#c77c4c;--error:#a84137;--radius:24px;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b5c8a8;outline-offset:3px}button{border:0}a{color:inherit}h1,h2,h3,p{margin:0}h1{font-size:clamp(42px,4.2vw,64px);line-height:1.35;letter-spacing:-2px;font-weight:600}h2{font-size:28px;letter-spacing:-.7px;font-weight:600}h3{font-size:18px;font-weight:600}label{display:block;font-size:14px;font-weight:500;margin:22px 0 9px}input,textarea{width:100%;border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fffefa;color:var(--ink);font-size:16px}input{min-height:50px}textarea{resize:vertical;line-height:1.8}textarea::placeholder,input::placeholder{color:#a2a89f}input:focus,textarea:focus{border-color:#91ac90;outline-color:#dce7d6}input[type=date]{min-width:0;-webkit-appearance:none}input[readonly],textarea[readonly]{background:#f0f0e8}.topbar{height:112px;max-width:1240px;margin:auto;padding:0 48px;display:flex;align-items:center;gap:20px}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:24px;font-weight:600;letter-spacing:1px}.brand-icon{background:var(--green);color:#f9f8ee;font-family:serif;font-weight:400;width:44px;height:44px;display:grid;place-items:center;border-radius:14px;font-size:25px}.brand-sub{display:block;font-size:8px;letter-spacing:2.2px;font-weight:500;color:var(--muted);margin-top:4px}.private-badge{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}.private-badge i,.live-dot:before{width:6px;height:6px;display:inline-block;background:#90a880;border-radius:100%}.account-button{margin-left:auto;background:none;padding:0}.account-button span{width:40px;height:40px;border:1px solid #ccd8c3;border-radius:100%;display:grid;place-items:center;background:#e7eddd;color:var(--green)}.login-layout{max-width:1144px;margin:52px auto 90px;display:grid;grid-template-columns:1fr 440px;gap:85px;align-items:center;padding:0 24px}.eyebrow{font-size:11px;letter-spacing:2.2px;color:var(--muted);margin-bottom:20px}.intro h1{margin-bottom:24px}.accent{color:var(--orange)}.intro-copy{color:var(--muted);font-size:15px;line-height:1.95}.illustration{width:340px;height:250px;position:relative;margin:25px 0 10px}.plate{height:214px;width:214px;border:1px solid #d8e0ce;border-radius:100%;position:absolute;left:35px;top:8px;background:#edf0e5;box-shadow:12px 16px 0 #eeede3}.plate-inner{position:absolute;inset:22px;border-radius:100%;background:var(--paper);border:1px solid #d8e0ce}.leaf{position:absolute;width:58px;height:90px;border-radius:80% 15% 80% 15%;background:#839c6f;transform:rotate(28deg);top:26px;left:25px}.leaf:after{content:'';position:absolute;left:50%;top:10px;bottom:12px;border-left:1px solid #c9d4bc;transform:rotate(9deg)}.leaf-two{width:40px;height:68px;background:#b4c29c;top:42px;left:60px;transform:rotate(70deg)}.grain{width:42px;height:28px;position:absolute;right:29px;top:43px;border-radius:50%;background:#e7cb94;transform:rotate(-35deg)}.grain-two{top:73px;right:19px;transform:rotate(-10deg)}.tomato{position:absolute;width:44px;height:44px;background:#ca855d;border-radius:100%;right:42px;bottom:21px;border:6px solid #d79a75}.note-tag{position:absolute;right:0;bottom:48px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 20px;transform:rotate(-7deg);font-size:12px;box-shadow:0 5px 20px #303e2410}.spark{position:absolute;font-size:46px;color:#b7bd97;right:23px;top:14px;font-weight:300}.intro-steps{display:flex;gap:22px;color:var(--muted);font-size:11px;align-items:center}.intro-steps b{font-weight:400;color:#a0ad94;margin-right:7px;font-family:Georgia,serif;font-size:17px}.login-card{background:var(--card);border:1px solid #e7e7db;border-radius:28px;padding:40px 36px;box-shadow:0 12px 48px #263a2610}.small-mark{color:var(--orange);font-size:30px;display:block;margin-bottom:20px;line-height:1}.login-card h2{font-size:25px;margin-bottom:12px}.muted{color:var(--muted);font-size:13px;line-height:1.8}.login-card>.muted{font-size:13px}.password-wrap{position:relative}.password-wrap input{padding-right:65px}.password-wrap button{position:absolute;right:9px;top:6px;background:none;color:var(--muted);font-size:12px;height:38px;width:48px}.primary{background:var(--green);color:white;min-height:48px;border-radius:12px;padding:13px 22px;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:20px;font-weight:500;transition:background .15s}.primary:hover{background:#1c4b38}.primary span{font-size:20px;font-weight:400}.login-submit{margin-top:26px;width:100%;justify-content:space-between}.text-button{background:none;color:var(--muted);font-size:12px;padding:14px 0;min-height:44px}.login-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:8px;display:flex;gap:8px;align-items:center;font-size:11px;color:#8a9186}.login-foot span{color:#839979;font-size:18px}.journal-layout{max-width:1144px;margin:30px auto 70px;padding:0 24px;display:grid;grid-template-columns:290px minmax(0,660px);gap:90px}.journal-aside{padding-top:42px}.journal-aside h1{font-size:40px;line-height:1.5;margin:0 0 20px}.journal-aside .eyebrow{font-size:10px}.aside-card{background:#e9eddf;border-radius:20px;padding:26px;margin-top:44px}.aside-card h3{font-size:15px;margin-bottom:12px}.aside-card p{font-size:12px;line-height:1.9;color:#7e8878}.aside-card .small-mark{margin-bottom:14px}.aside-bottom{font-size:10px;color:#9bA28f;margin-top:30px;letter-spacing:.4px}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px;gap:16px}.section-heading .eyebrow{margin-bottom:10px;letter-spacing:1px;font-size:11px}.section-heading h2{font-size:28px}.live-dot{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.live-dot:before{content:''}.live-dot.offline:before{background:var(--orange)}.summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:20px;padding:23px 12px;background:#f1f2e9;margin-bottom:22px}.summary>div{padding-left:22px;border-left:1px solid #dfe4d5}.summary>div:first-child{border:0}.summary span{font-size:11px;color:var(--muted);display:block;margin-bottom:8px}.summary b{font-family:Georgia,serif;font-size:34px;font-weight:400;line-height:1.2}.summary small{font-size:10px;color:#9ba28f;display:block;margin-top:8px}.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}.compose{padding:26px}.card-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.mini-label{font-size:10px;letter-spacing:1px;color:#929b8d}.compose textarea{border:0;background:#f7f7f1;padding:16px;min-height:150px;font-size:15px;resize:vertical}.voice-hint{font-size:11px;color:#979e90;margin:12px 0 20px;display:flex;gap:7px;align-items:center}.voice-hint span{font-size:18px;color:#8b9b7e}.compose-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.date-control{display:flex;align-items:center;gap:10px;font-size:11px;color:var(--muted);margin:0;white-space:nowrap}.date-control input{width:140px;padding:9px 8px;min-height:42px;font-size:13px;background:#fffefa;border-color:var(--line);border-radius:9px}.compose .primary{padding:11px 18px;gap:14px}.form-message{font-size:12px;line-height:1.8;margin:14px 0 0;color:var(--green);white-space:pre-wrap}.form-message.error{color:var(--error)}.draft-hint{font-size:10px;color:#9b9c86;margin-top:10px}.records-section{margin-top:32px}.records-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.records-heading h3{font-size:17px}.day-nav{display:flex;align-items:center;gap:4px}.day-nav button{font-size:24px;background:none;color:var(--muted);width:36px;height:44px}.day-nav input{width:132px;font-size:12px;padding:8px;border:0;min-height:40px;background:none;color:var(--muted)}.filter-row{display:flex;justify-content:space-between;margin:16px 0 12px;align-items:center;gap:8px}.filters{display:flex;background:#eaece2;border-radius:10px;padding:4px;gap:3px}.filters button{font-size:11px;color:var(--muted);background:none;padding:8px 13px;min-height:34px;border-radius:7px}.filters button.selected{background:var(--card);color:var(--green);box-shadow:0 1px 4px #27392108}.refresh{font-size:20px;background:none;color:var(--muted);padding:7px;min-height:40px}.refresh span{font-size:11px;vertical-align:middle;margin-left:3px}.sync-caption{font-size:10px;color:#929a8a;margin-bottom:12px;line-height:1.7}.entries{display:grid;gap:12px}.entry{padding:21px 22px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.entry-top{display:flex;align-items:center;gap:8px;margin-bottom:12px}.entry-time{font-size:10px;color:#929b8b}.status{font-size:10px;border-radius:6px;padding:5px 8px;background:#f2eadb;color:#9b7947}.status.processed{background:#e5eddf;color:#597748}.status.needs_info,.status.failed{background:#f5e7e0;color:#a3644b}.status.processing{background:#e7ebf0;color:#68798f}.edit-button{margin-left:auto;font-size:11px;background:none;color:var(--muted);padding:8px;min-height:36px}.entry-text{font-size:14px;line-height:1.85;white-space:pre-wrap;overflow-wrap:anywhere}.entry-info{font-size:12px;color:#9b6d43;padding-top:12px;margin-top:14px;border-top:1px dashed var(--line);white-space:pre-wrap}.entry-result{font-size:12px;color:var(--green);padding-top:12px;margin-top:14px;border-top:1px dashed var(--line);white-space:pre-wrap}.empty{border:1px dashed #d8dece;border-radius:20px;text-align:center;padding:39px 20px 35px;background:#f2f3eb}.empty-icon{font-size:34px;color:#a9b897;display:block;margin-bottom:15px}.empty h4{font-size:14px;font-weight:500;margin:0 0 9px}.empty p{font-size:12px;color:var(--muted);line-height:1.9}.page-foot{font-size:10px;text-align:center;color:#a3aa99;margin-top:30px}.notice{background:#f3eadc;color:#986b42;font-size:12px;padding:13px 16px;border-radius:12px;margin-bottom:18px;line-height:1.8}.boot{min-height:100dvh;display:grid;place-items:center;color:var(--muted);font-size:14px}.toast{position:fixed;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--green);color:white;padding:14px 22px;border-radius:14px;box-shadow:0 8px 30px #173a2630;font-size:13px;max-width:calc(100% - 32px);width:max-content;z-index:50}dialog{border:1px solid var(--line);border-radius:24px;background:var(--card);color:var(--ink);width:min(460px,calc(100% - 32px));padding:28px;max-height:calc(100dvh - 48px);overflow:auto;box-shadow:0 24px 90px #18322625}dialog::backdrop{background:#243d3040;backdrop-filter:blur(4px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.dialog-heading h2{font-size:22px}.icon-close{width:40px;height:40px;border-radius:100%;background:#f0f1e9;color:var(--muted);font-size:25px}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:24px}.secondary{min-height:46px;border:1px solid #dce1d2;background:var(--card);color:var(--green);border-radius:12px;font-size:13px;padding:12px 20px}.full{width:100%}.link-button{text-decoration:none}.account-email{font-size:16px;margin:8px 0 24px;overflow-wrap:anywhere}.account-detail{border-top:1px solid var(--line);padding:16px 0;display:flex;justify-content:space-between;gap:12px;font-size:12px}.account-detail span{color:var(--muted)}.account-detail b{font-weight:500}.account-tip{margin:12px 0 24px}.help-steps{font-size:13px;line-height:1.9;color:var(--ink);padding-left:20px;margin:20px 0}.help-steps li{margin-bottom:8px}.small{font-size:11px;margin-top:12px}.skip{position:fixed;top:-80px;left:10px;z-index:100;background:white;padding:12px}.skip:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
@media(min-width:1450px){.login-layout{margin-top:80px}.journal-layout{margin-top:48px}}
@media(max-width:900px){.login-layout{gap:35px;grid-template-columns:1fr 390px;padding:0 32px}.intro h1{font-size:43px}.illustration{transform:scale(.85);transform-origin:left center;width:290px;margin-left:-10px}.intro-steps{gap:12px;flex-wrap:wrap}.journal-layout{grid-template-columns:200px minmax(0,1fr);gap:35px;padding:0 32px}.journal-aside h1{font-size:32px}.topbar{padding:0 32px}.login-card{padding:30px}}
@media(max-width:680px){.topbar{height:86px;padding:0 22px}.brand{font-size:21px;gap:10px}.brand-icon{width:38px;height:38px;border-radius:12px;font-size:23px}.brand-sub{font-size:7px}.private-badge{font-size:10px}.login-layout{display:block;margin:24px auto 42px;padding:0 22px;max-width:480px}.intro .eyebrow{font-size:10px;margin-bottom:14px}.intro h1{font-size:38px;line-height:1.4;letter-spacing:-1px;margin-bottom:16px}.intro h1 br{display:none}.intro-copy{font-size:13px}.illustration,.intro-steps{display:none}.login-card{margin-top:28px;padding:28px 24px;border-radius:24px;box-shadow:0 8px 28px #263a2607}.login-card .small-mark{font-size:25px;margin-bottom:16px}.login-card h2{font-size:23px}.login-card label{margin-top:20px}.journal-layout{display:block;margin:20px auto 48px;padding:0 18px;max-width:560px}.journal-aside{display:none}.section-heading{margin-bottom:22px;padding:0 4px}.section-heading h2{font-size:26px}.section-heading .eyebrow{font-size:10px}.summary{padding:20px 8px;margin-bottom:18px;border-radius:18px}.summary>div{padding-left:20px}.summary b{font-size:31px}.summary span{font-size:10px}.compose{padding:22px 18px;border-radius:21px}.card-heading{margin-bottom:16px}.compose textarea{padding:14px;font-size:16px;min-height:162px}.voice-hint{font-size:10px;line-height:1.7;margin-bottom:18px}.compose-footer{gap:10px}.date-control{display:block;font-size:10px}.date-control span{display:block;margin-bottom:4px}.date-control input{font-size:12px;width:136px;min-height:38px;padding:7px}.compose .primary{min-height:47px;margin-top:16px;padding:11px 16px;font-size:13px;gap:8px}.records-section{margin-top:25px}.records-heading{padding:0 3px}.entry{padding:17px 18px}.entries{gap:10px}.page-foot{margin-top:25px}.filters button{padding:8px 12px}.account-button span{width:36px;height:36px}dialog{padding:23px}.dialog-heading h2{font-size:20px}.toast{font-size:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.settings-nav{display:flex;gap:10px;margin-bottom:16px}.settings-nav button{flex:1}.target-panel{border:1px solid var(--line);background:#edf1e7;border-radius:18px;padding:20px 24px;margin-bottom:22px}.target-panel h3{font-size:13px;margin:0 0 12px}.target-panel strong{font-size:28px;font-weight:500;color:var(--green)}.target-panel p{font-size:13px;line-height:1.8;margin:8px 0}.target-panel small{font-size:11px;color:var(--muted)}.settings-dialog{width:min(660px,calc(100% - 24px))}.settings-dialog form>.primary{margin-top:18px;width:100%}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setting-field{display:flex;flex-direction:column;gap:8px;font-size:12px;margin:16px 0 0;min-width:0}.setting-field input,.setting-field select,.setting-field textarea{width:100%;min-width:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fffef9;font:inherit;font-size:16px;color:var(--ink);min-height:46px;box-sizing:border-box}.setting-field:has(textarea){grid-column:1/-1}.estimate-note{white-space:pre-wrap;line-height:1.9;background:#edf1e7;border-radius:12px;padding:14px;font-size:13px;margin-top:18px}.estimate-note:empty{display:none}.recipe-list{display:grid;gap:14px;margin-top:20px}.recipe-card{border:1px solid var(--line);border-radius:16px;padding:18px;overflow-wrap:anywhere}.recipe-card h3{margin-top:0}.recipe-card p,.recipe-card summary{font-size:12px;line-height:1.8}.recipe-card .secondary{margin-top:14px}.ingredient-card{border:1px solid var(--line);border-radius:14px;padding:12px 16px;margin:16px 0;min-width:0}.ingredient-card legend{font-size:13px;color:var(--green)}.settings-dialog .muted{line-height:1.9}.settings-dialog button{min-height:44px}.settings-dialog input:disabled,.settings-dialog select:disabled{opacity:.7}@media(max-width:420px){.settings-dialog{padding:20px 16px}.settings-grid{gap:10px}.setting-field{font-size:11px}.ingredient-card{padding:10px}.target-panel{padding:18px}}
.capture-note{font-size:11px;line-height:1.9;color:var(--muted);margin:14px 0 0;padding-top:12px;border-top:1px dashed var(--line)}
.workbench-dialog{width:min(850px,calc(100% - 24px))}.workbench-dialog>button{margin-top:14px}.workbench-dialog>details{margin:18px 0;font-size:13px}.processing-raw,.processing-preview{font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;padding:16px;background:#edf1e7;border-radius:12px;margin:18px 0}.processing-preview:empty{display:none}.workbench-dialog textarea{font-family:ui-monospace,monospace;font-size:12px}.workbench-dialog>.primary{width:100%}.settings-nav{flex-wrap:wrap}.settings-nav button{white-space:nowrap}@media(max-width:420px){.settings-nav{gap:6px}.settings-nav button{padding:10px 8px;font-size:12px}}
.result-details{font-size:11px;line-height:1.9;color:var(--muted);margin-top:12px;overflow-wrap:anywhere}.result-details summary{cursor:pointer;color:var(--green)}
.daily-dashboard{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:25px 26px;margin:0 0 20px;box-shadow:0 8px 28px #263a2605}.intake-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.intake-heading h3{font-size:17px;font-weight:500;margin:0}.intake-badge{font-size:10px;color:var(--muted);padding:5px 9px;border-radius:30px;border:1px solid var(--line)}.energy-layout{display:flex;gap:30px;align-items:center;padding:0 4px 24px}.energy-ring{--progress:0%;width:144px;height:144px;border-radius:50%;background:conic-gradient(from -90deg,#5f8064 var(--progress),#e9eee2 0);padding:11px;flex-shrink:0;box-sizing:border-box}.energy-ring.over{background:conic-gradient(#b98752 100%,#e9eee2 0)}.ring-inner{border-radius:50%;background:var(--card);width:100%;height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px}.ring-inner strong{font-size:28px;font-weight:500;color:var(--green);font-variant-numeric:tabular-nums}.ring-inner small{font-size:10px;color:var(--muted)}.energy-numbers{min-width:0}.intake-label{font-size:12px;color:var(--muted);margin:0 0 7px}.energy-total{display:flex;align-items:baseline;gap:8px}.energy-total strong{font-size:40px;font-weight:500;letter-spacing:-1.5px;line-height:1.1;font-variant-numeric:tabular-nums}.energy-total span{font-size:12px;color:var(--muted)}.intake-target{font-size:12px;margin:9px 0 0;color:var(--muted)}.energy-remaining{display:inline-block;font-size:11px;color:var(--green);background:#edf2e6;padding:6px 10px;margin:12px 0 0;border-radius:8px}.macro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.macro-card{--macro-color:#65826c;background:#f0f3eb;padding:15px 13px;border-radius:13px;min-width:0}.macro-card.fat{--macro-color:#c2945d;background:#f7f0e6}.macro-card.carb{--macro-color:#8f94af;background:#f0f0f5}.macro-top{display:flex;align-items:center;justify-content:space-between;gap:5px}.macro-top h4{font-size:12px;font-weight:500;margin:0}.macro-top>span{font-size:10px;color:var(--macro-color);font-variant-numeric:tabular-nums}.macro-value{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;margin:13px 0 10px}.macro-value strong{font-size:23px;font-weight:500;letter-spacing:-.5px;font-variant-numeric:tabular-nums}.macro-value>span{font-size:10px;color:var(--muted);white-space:nowrap}.macro-track{height:5px;background:#dce3d6;border-radius:8px;overflow:hidden}.fat .macro-track{background:#ebdfcb}.carb .macro-track{background:#dfdfeb}.macro-track>span{display:block;height:100%;background:var(--macro-color);border-radius:inherit;max-width:100%}.macro-card>small{display:block;font-size:9px;color:var(--muted);margin-top:9px;line-height:1.7}.intake-foot{border-top:1px dashed var(--line);margin-top:20px;padding-top:12px}.intake-foot p{font-size:10px;line-height:1.8;color:var(--muted);margin:0}.daily-dashboard[aria-busy=true] .macro-track,.daily-dashboard[aria-busy=true] .energy-ring{opacity:.6}@media(max-width:680px){.daily-dashboard{padding:20px 18px;border-radius:21px}.intake-heading{margin-bottom:20px}.intake-heading h3{font-size:16px}.intake-badge{font-size:9px;padding:4px 7px}.energy-layout{gap:22px;padding:0 0 22px}.energy-ring{width:126px;height:126px;padding:10px}.energy-total strong{font-size:35px}.macro-grid{gap:8px}.macro-card{padding:13px 10px}.macro-top h4{font-size:11px}.macro-top>span{font-size:9px}.macro-value{gap:2px}.macro-value strong{font-size:21px}.macro-value>span{font-size:9px}}@media(max-width:370px){.daily-dashboard{padding:18px 13px}.energy-ring{width:106px;height:106px;padding:9px}.energy-layout{gap:17px}.ring-inner strong{font-size:24px}.energy-total strong{font-size:30px}.macro-card{padding:12px 8px}.macro-value{flex-direction:column;gap:3px}.intake-target{font-size:11px}}
.weight-card{background:var(--card);border:1px solid var(--line);border-radius:24px;padding:24px 26px;margin-bottom:20px;box-shadow:0 8px 28px #263a2605}.weight-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.weight-heading .eyebrow{font-size:9px;margin:0 0 7px;letter-spacing:1.5px}.weight-heading h3{margin:0;font-size:17px;font-weight:500}.weight-heading>.text-button{margin:0;padding:8px 0;min-height:44px;font-size:12px;color:var(--green)}.weight-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}.weight-stats>div{min-width:0;border-right:1px solid var(--line);padding-right:10px}.weight-stats>div:last-child{border:0}.weight-stats span,.weight-stats small{display:block;font-size:10px;color:var(--muted);line-height:1.7}.weight-stats strong{display:block;font-size:27px;font-weight:500;letter-spacing:-.5px;line-height:1.4;margin:6px 0;font-variant-numeric:tabular-nums}.weight-stats small{font-size:9px;overflow-wrap:anywhere}.weight-controls{display:flex;justify-content:space-between;align-items:center;gap:12px}.weight-ranges{display:flex;background:#eff1e9;border-radius:10px;padding:3px;gap:3px}.weight-ranges button{border-radius:8px;min-width:48px;min-height:34px;font-size:11px;color:var(--muted);background:transparent;padding:7px 12px}.weight-ranges button.selected{background:var(--card);color:var(--green);box-shadow:0 2px 7px #263a260b}.weight-refresh{font-size:23px;color:var(--muted);background:transparent;min-width:40px;min-height:40px}.weight-plot{margin-top:12px;min-width:0}.weight-plot svg{display:block;overflow:visible}.weight-axis{font-family:inherit;font-size:10px;fill:#89927e}.weight-grid-line{stroke:#e8ebdf;stroke-width:1;stroke-dasharray:3 5}.weight-actual-line{stroke:#62816b;stroke-width:2.2;stroke-linecap:round}.weight-average-line{stroke:#c09663;stroke-width:1.7;stroke-dasharray:4 4;stroke-linecap:round}.weight-actual-dot{fill:var(--card);stroke:#62816b;stroke-width:2}.weight-average-dot{fill:#c09663}.weight-hit{cursor:pointer}.weight-hit:focus{outline:none;stroke:#3e6048;stroke-width:1.5}.weight-legend{display:flex;justify-content:center;gap:22px;font-size:10px;color:var(--muted);margin:3px 0 12px}.weight-legend span{display:flex;align-items:center;gap:6px}.weight-legend span:before{content:'';display:inline-block;width:15px;border-top:2px solid #62816b}.weight-legend .legend-average:before{border-top:2px dashed #c09663}.weight-point-note{font-size:11px;text-align:center;line-height:1.8;color:var(--muted);font-variant-numeric:tabular-nums;margin:0 0 15px}.weight-empty{padding:22px 12px;text-align:center;background:#f3f4ed;border:1px dashed #dce1d2;border-radius:14px;margin-top:15px}.weight-empty-mark{font-size:33px;line-height:1;color:#a6b397}.weight-empty h4{font-size:13px;font-weight:500;margin:12px 0 8px}.weight-empty p,.weight-period-empty{font-size:12px;line-height:1.9;color:var(--muted);white-space:pre-line}.weight-period-empty{text-align:center;padding:30px 10px}.weight-history{font-size:11px;color:var(--muted);line-height:1.8;border-top:1px dashed var(--line);padding-top:12px}.weight-history summary{color:var(--green);cursor:pointer;min-height:30px}.weight-history table{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}.weight-history th,.weight-history td{text-align:left;border-bottom:1px solid var(--line);padding:8px 4px;font-weight:400}.weight-history th:last-child,.weight-history td:last-child{text-align:right}.weight-foot{border-top:1px dashed var(--line);padding-top:12px;margin-top:12px}.weight-foot p{font-size:10px;color:var(--muted);line-height:1.9;margin:0}.weight-foot .weight-target{color:var(--green);font-size:12px;margin-bottom:5px}@media(max-width:680px){.weight-card{padding:20px 18px;border-radius:21px}.weight-heading h3{font-size:16px}.weight-stats{gap:9px}.weight-stats>div{padding-right:7px}.weight-stats strong{font-size:24px}.weight-stats span{font-size:10px}.weight-stats small{font-size:9px}.weight-ranges button{min-width:42px;padding:7px 10px;min-height:38px}.weight-heading .eyebrow{font-size:8px}.weight-point-note{font-size:10px}}@media(max-width:370px){.weight-card{padding:18px 13px}.weight-stats strong{font-size:22px}.weight-stats small{font-size:8px}.weight-ranges button{min-width:40px;padding:7px 9px}}

.auth-links{display:flex;gap:8px 20px;flex-wrap:wrap;margin-top:8px}.auth-links .text-button{color:var(--green);font-size:12px;text-decoration:underline;text-underline-offset:4px}.login-card .notice{margin-top:20px;line-height:1.8}#change-password{margin-bottom:12px}
.photo-capture{margin:16px 0;padding:14px;border:1px dashed #cbd4c3;border-radius:14px;background:#f3f5ed}.photo-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.photo-actions button{font-size:13px;padding:10px 14px}.photo-remove{background:none;border:0;color:#73504b;text-decoration:underline}.meal-photo{display:block;width:100%;max-height:360px;object-fit:contain;border-radius:12px;margin:14px 0;background:#e9ede3}.meal-photo[hidden]{display:none}.photo-note{font-size:12px;line-height:1.8;color:#64705e;margin:12px 0 0}.photo-capture .muted:empty{display:none}
.period-energy{border:1px solid var(--line);border-radius:16px;background:#f1f4ec;padding:18px;margin:16px 0 20px}.period-energy-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:start}.period-energy-heading h4{font-size:14px;margin:0}.period-energy-heading label{font-size:11px;color:var(--muted);display:flex;flex-direction:column;gap:5px;max-width:100%}.period-energy-heading select{font-size:12px;max-width:100%;border:1px solid #d6dece;background:var(--card);border-radius:8px;padding:7px;color:var(--ink)}.period-energy-dates,.period-energy-label{font-size:12px;color:var(--muted);margin:12px 0 5px}.period-energy-total{display:flex;align-items:baseline;gap:8px}.period-energy-total strong{font-size:34px;font-weight:600;letter-spacing:-1px}.period-energy-total span{font-size:12px;color:var(--muted)}.period-energy-facts{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:12px;margin:12px 0}.period-energy-formula,.period-energy-note,.period-energy-caution{font-size:12px;line-height:1.8;color:#63705d;margin:7px 0}.period-energy-caution{padding-top:9px;border-top:1px dashed #d4dccb}.period-energy-details{font-size:12px;overflow-x:auto;margin-top:14px}.period-energy-details summary{cursor:pointer}.period-energy-details table{width:100%;border-collapse:collapse;margin-top:12px;white-space:nowrap}.period-energy-details th,.period-energy-details td{padding:8px 6px;text-align:left;border-bottom:1px solid #dbe2d3}.period-energy .muted{font-size:12px;line-height:1.8}
.period-energy-method{font-size:12px;line-height:1.8;margin-top:10px;color:#63705d}.period-energy-method summary{cursor:pointer}
.period-energy-heading label{margin:0}
.activity-estimator{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:14px;margin-top:8px;min-width:0}.activity-estimator summary{cursor:pointer;font-size:14px;color:var(--green)}.activity-estimator p{font-size:12px;line-height:1.8;overflow-wrap:anywhere}.activity-estimator>.secondary{margin:10px 8px 0 0}.activity-estimator a{display:inline-block;margin-left:6px;color:var(--green)}
