:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,sans-serif;color:#202622;background:#f6f5f2;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--bg: #f6f5f2;--surface: #fff;--soft: #f8f8f6;--text: #202622;--muted: #68736c;--line: #eceeea;--accent: #397b68;--accent-soft: #e7f1ec;--shadow: 0 8px 28px rgba(35, 49, 40, .035)}:root[data-theme=dark]{color-scheme:dark;--bg: #171a18;--surface: #222724;--soft: #292f2b;--text: #eff2ef;--muted: #a1aaa4;--line: #363d38;--accent: #80b9a4;--accent-soft: #293c33;--shadow: 0 8px 28px rgba(0, 0, 0, .12)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--bg);color:var(--text)}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 45%,transparent);outline-offset:2px}input:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.app-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:240px;background:var(--surface);border-right:1px solid var(--line);padding:29px 17px 22px;display:flex;flex-direction:column;z-index:3}.brand{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:650;letter-spacing:-.3px;padding:0 12px}.brand-mark{width:28px;height:28px;border-radius:9px;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:22px;font-weight:400}.sidebar nav{display:grid;gap:6px;margin-top:45px}.nav-item{height:45px;border:0;background:none;color:var(--muted);border-radius:12px;display:flex;align-items:center;gap:13px;text-align:left;padding:0 12px;font-size:14px}.nav-item:hover,.tabbar button:hover{background:var(--soft)}.nav-item.active{color:var(--accent);background:var(--accent-soft);font-weight:600}.nav-icon{font-size:20px;width:21px;text-align:center}.nav-dot{margin-left:auto;width:5px;height:5px;border-radius:9px;background:var(--accent)}.sidebar-foot{margin-top:auto;display:flex;align-items:center;gap:8px;padding:0 11px;color:var(--muted);font-size:11px}.sidebar-foot i,footer i{width:7px;height:7px;border-radius:9px;background:#78a88f}.main{margin-left:240px;min-height:100vh}.topbar{height:70px;padding:0 42px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.spacer{flex:1}.date-button,.avatar{border:1px solid var(--line);background:var(--surface);padding:8px 12px;border-radius:10px;font-size:12px}.date-button span{color:var(--muted);padding-left:5px}.avatar{margin-left:10px;border:0;border-radius:50%;width:35px;height:35px;padding:0;font-size:10px;color:var(--accent);background:var(--accent-soft)}.mobile-brand{display:none}.content{max-width:1120px;margin:auto;padding:36px 42px 28px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:25px}.eyebrow{text-transform:uppercase;letter-spacing:1.1px;color:var(--muted);font-size:10px;font-weight:650;margin:0 0 7px}h1{font-size:30px;line-height:1.1;letter-spacing:-1px;margin:0;font-weight:670}.primary{border:0;border-radius:11px;background:var(--accent);color:#fff;font-weight:600;padding:11px 15px;font-size:13px;box-shadow:0 3px 9px color-mix(in srgb,var(--accent) 20%,transparent)}.summary-grid{display:grid;grid-template-columns:1.2fr .9fr .9fr;gap:14px}.card{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}.summary-grid .card{min-height:210px;padding:20px}.card-head{display:flex;justify-content:space-between;align-items:center}.card-head label{display:block;font-weight:620;font-size:13px;margin-bottom:5px}.card-head small{color:var(--muted);font-size:11px}.badge{width:33px;height:33px;border-radius:11px;display:grid;place-items:center;font-size:19px}.green{color:var(--accent);background:var(--accent-soft)}.purple{color:#8875b2;background:#f0ecf8}.blue{color:#5e88ab;background:#eaf1f7}.calorie-value{margin-top:18px;font-size:34px;line-height:1;font-weight:650;letter-spacing:-1px}.calorie-value small{font-size:12px;font-weight:500;color:var(--muted);letter-spacing:0}.progress{height:6px;background:var(--soft);border-radius:9px;margin:16px 0 9px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:var(--accent)}.between{display:flex;justify-content:space-between}.between small,.hint{color:var(--muted);font-size:10px}.link{padding:0;border:0;background:none;color:var(--accent);font-size:10px;font-weight:550}.hint{margin:12px 0 0}.macro-list{display:grid;gap:12px;margin:19px 0 15px}.macro{display:flex;align-items:center;gap:8px;font-size:10px}.macro i{width:7px;height:7px;border-radius:50%}.macro i.violet{background:#9684c5}.macro i.orange{background:#df9f64}.macro i.blue{background:#6599bd}.macro span{color:var(--muted)}.macro strong{margin-left:auto;font-size:10px;font-weight:600}.activity-numbers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;gap:8px;margin:23px 0 12px}.activity-numbers div{display:grid;min-width:0;gap:4px}.activity-numbers strong{font-size:18px}.activity-numbers small{font-size:9px;color:var(--muted);line-height:1.3}.activity-numbers>i{display:none}.activity-numbers>i{height:29px;width:1px;background:var(--line)}.meals{margin-top:32px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.section-head h2{font-size:16px;margin:0}.section-head p{color:var(--muted);font-size:11px;margin:5px 0 0}.quiet{border:1px solid var(--line);background:var(--surface);border-radius:9px;padding:7px 10px;color:var(--muted);font-size:10px}.meal-list{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:0 17px;box-shadow:var(--shadow)}.meal{min-height:66px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--line)}.meal:last-child{border:0}.meal-icon{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--accent-soft);color:var(--accent)}.meal-icon.m1{color:#bd874f;background:#f8f0e8}.meal-icon.m2{color:#7c709f;background:#f0edf6}.meal-icon.m3{color:#648ba6;background:#edf3f6}.meal>div{display:grid;gap:4px}.meal strong{font-size:12px;font-weight:590}.meal small{font-size:10px;color:var(--muted)}.meal-kcal{margin-left:auto;color:var(--muted);font-size:10px}.meal button{margin-left:8px;width:28px;height:28px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--accent);font-size:16px}.notice{margin-top:14px;min-height:42px;border:1px solid var(--line);border-radius:11px;background:var(--soft);padding:9px 12px;display:flex;align-items:center;gap:9px;color:var(--muted);font-size:10px}.notice>b{width:15px;height:15px;display:grid;place-items:center;border:1px solid var(--muted);border-radius:50%;font-size:9px}.notice button{margin-left:auto;border:0;background:none;color:var(--muted);font-size:17px}footer{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:24px;color:var(--muted);font-size:10px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.settings-card{padding:22px}.setting-title{display:flex;gap:11px;align-items:flex-start;margin-bottom:21px}.setting-title h2{font-size:14px;margin:0}.setting-title p{color:var(--muted);font-size:11px;margin:5px 0 0}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.theme{position:relative;border:1px solid var(--line);border-radius:12px;padding:8px 6px;background:var(--surface);display:grid;justify-items:center;gap:7px;font-size:10px}.theme.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);color:var(--accent)}.theme>b{position:absolute;right:6px;top:4px}.preview{display:flex;width:48px;height:34px;border:1px solid #dfe3df;border-radius:6px;background:#fff;padding:5px;gap:3px}.preview i{flex:1;background:#eee;border-radius:2px}.preview i:first-child{background:#78a891}.preview.dark{background:#252a27;border-color:#454b47}.preview.dark i{background:#393f3b}.preview.system{background:linear-gradient(90deg,#fff 50%,#252a27 50%)}.setting-row{min-height:39px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:11px}.setting-row small{color:var(--muted)}.pill{border-radius:99px;background:var(--accent-soft);padding:5px 8px;color:var(--accent);font-size:9px}.lock-button{margin-top:15px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent);padding:9px 12px;font-size:11px;font-weight:600}.empty{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px}.empty>b{width:46px;height:46px;border-radius:15px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;font-size:23px}.empty h2{font-size:19px;margin:16px 0 0}.empty p{color:var(--muted);font-size:12px;max-width:350px;line-height:1.6}.empty span{color:var(--accent);background:var(--accent-soft);border-radius:99px;font-size:10px;padding:6px 10px}.tabbar{display:none}.vault-loading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:13px}.vault-screen{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(ellipse at 50% 10%,var(--accent-soft),transparent 46%),var(--bg)}.vault-panel{width:min(100%,420px);padding:34px;border:1px solid var(--line);border-radius:22px;background:var(--surface);box-shadow:var(--shadow)}.vault-panel .brand{padding:0;justify-content:center}.vault-lock-icon{margin:30px auto 20px;width:54px;height:54px;display:grid;place-items:center;border-radius:17px;color:var(--accent);background:var(--accent-soft);font-size:28px}.vault-panel .eyebrow,.vault-panel h1,.vault-copy{text-align:center}.vault-panel h1{font-size:25px;letter-spacing:-.7px}.vault-copy{margin:12px 0 24px;color:var(--muted);font-size:12px;line-height:1.6}.vault-form{display:grid;gap:9px}.vault-form label{margin-top:4px;font-size:11px;font-weight:600}.vault-form input{width:100%;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);padding:0 12px;font:inherit;font-size:13px}.vault-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.vault-submit{min-height:43px;margin-top:9px}.vault-submit:disabled{opacity:.65;cursor:wait}.form-success{color:var(--accent);background:var(--accent-soft);border-radius:9px;padding:9px 11px;margin:3px 0;font-size:11px;line-height:1.45}.form-error{color:#aa4545;background:#faeeee;border-radius:9px;padding:9px 11px;margin:3px 0;font-size:11px;line-height:1.45}.vault-footnote{margin:19px 0 0;text-align:center;color:var(--muted);font-size:10px;line-height:1.5}.vault-footnote i{display:inline-block;width:6px;height:6px;margin-right:5px;vertical-align:1px;border-radius:50%;background:var(--accent)}.vault-recovery{margin-top:20px;padding-top:14px;border-top:1px solid var(--line);font-size:11px}.vault-recovery summary{cursor:pointer;color:var(--accent);font-weight:600}.vault-recovery p{color:var(--muted);font-size:10px;line-height:1.55}.vault-recovery .stack-form{margin-top:12px}.date-input{border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text);padding:8px 10px;font:inherit;font-size:12px}.stack{display:grid;gap:15px}.inline-form,.food-results,.chart-card{padding:21px}.inline-form h2,.food-results h2,.chart-card h2{margin:0;font-size:15px}.muted{margin:6px 0 16px;color:var(--muted);font-size:11px;line-height:1.5}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:12px;margin-top:12px}.form-grid label,.stack-form label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:600}.form-grid input,.form-grid select,.stack-form input,.stack-form select,.food-card input{min-width:0;width:100%;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}.primary,.secondary,.quiet,.lock-button{min-height:39px}.secondary{width:max-content;max-width:100%;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent);padding:9px 13px;font-size:11px;font-weight:600}.secondary:disabled,.primary:disabled{opacity:.55;cursor:not-allowed}.create-food{margin-top:17px;border-top:1px solid var(--line);padding-top:13px;color:var(--accent);font-size:11px}.create-food summary{cursor:pointer;font-weight:600}.create-food form{margin-top:10px}.food-results{display:grid;gap:8px}.food-card{display:grid;grid-template-columns:minmax(0,1fr) 74px 14px auto;align-items:center;gap:8px;padding:11px 0;border-top:1px solid var(--line)}.food-card>div{min-width:0;display:grid;gap:4px}.food-card strong{font-size:12px;font-weight:620}.food-card small,.recipe-card p{color:var(--muted);font-size:10px}.food-card .secondary{min-height:34px;padding:7px 10px}.source-note{margin:12px 0 0;color:var(--muted);font-size:10px;line-height:1.5}.source-note a,.inline-form>a{color:var(--accent)}.food-provenance{margin-top:5px;color:var(--muted);font-size:10px;line-height:1.5}.food-provenance summary{width:max-content;cursor:pointer;color:var(--accent)}.food-provenance p{margin:6px 0;white-space:normal}.off-review-card{padding:13px 0;border-bottom:1px solid var(--line)}.off-review-card:last-child{border-bottom:0}.off-review-heading{display:grid;gap:5px}.off-review-heading strong{font-size:12px}.off-review-heading small{color:var(--muted);font-size:10px}.food-review{margin-top:9px;color:var(--accent);font-size:11px}.food-review summary{cursor:pointer;font-weight:600}.food-review .form-grid{margin-top:12px}.food-review .review-confirm{grid-column:1/-1;display:flex;align-items:center;gap:8px;color:var(--text)}.food-review .review-confirm input{width:16px;height:16px;flex:none}.food-review .source-note{display:block;margin-top:12px}.off-review-card.compact .food-review{margin-top:8px}.recipe-card{border-top:1px solid var(--line);padding:15px 0}.recipe-card h3{margin:0;font-size:14px}.recipe-card p{margin:5px 0 0}.recipe-card .section-head{margin:0}.nutrient-chips{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.nutrient-chips span{border-radius:99px;background:var(--soft);color:var(--muted);padding:6px 9px;font-size:9px}.data-list{display:grid;margin-top:10px}.data-row{display:flex;align-items:center;gap:9px;min-height:38px;border-top:1px solid var(--line);font-size:11px}.data-row span{min-width:0;flex:1}.data-row strong{font-size:10px;font-weight:600}.data-row small{margin-left:7px;color:var(--muted)}.icon-button{width:27px;height:27px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:17px}.meal-info{min-width:0;flex:1;display:grid;gap:4px}.meal-info small{white-space:normal}.meal-info details{color:var(--muted);font-size:10px}.meal-info summary{width:max-content;margin-top:2px;cursor:pointer;color:var(--accent)}.meal-info .data-row{gap:5px}.micro-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.micro-grid>div{display:grid;gap:5px;padding:11px;background:var(--soft);border-radius:10px}.micro-grid small{color:var(--muted);font-size:9px}.micro-grid strong{font-size:12px}.profile-measures{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.profile-measure{display:grid;gap:6px;min-width:0;padding:14px;border-radius:12px;background:var(--soft)}.profile-measure small,.profile-measure span{color:var(--muted);font-size:10px}.profile-measure strong{font-size:17px;font-weight:650}.profile-guidance{grid-column:1/-1;margin:0}.water-log .section-head{align-items:center}.water-progress{height:8px;overflow:hidden;border-radius:99px;background:var(--soft)}.water-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .2s ease}.water-quick-add{display:flex;flex-wrap:wrap;gap:8px;margin-top:13px}.water-custom-form{grid-template-columns:minmax(140px,220px) auto;align-items:end;margin-top:11px}.water-history{max-width:320px}.activity-map-card{min-width:0}.activity-map-controls{grid-template-columns:minmax(160px,260px)}.activity-map-scroll{overflow-x:auto;padding:7px 0 12px;scrollbar-width:thin}.activity-map-months{display:grid;column-gap:3px;height:20px;margin-left:34px;color:var(--muted);font-size:10px}.activity-map-months span{white-space:nowrap}.activity-map-layout{display:grid;grid-template-columns:27px max-content;gap:7px}.activity-map-weekdays{display:grid;grid-template-rows:repeat(7,12px);row-gap:3px;color:var(--muted);font-size:9px;line-height:12px}.activity-map-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,12px);grid-auto-columns:12px;gap:3px}.activity-map-cell{width:12px;height:12px;min-width:12px;padding:0;border:1px solid var(--line);border-radius:3px;background:var(--soft)}.activity-map-cell:not(.outside-range){cursor:pointer}.activity-map-cell:hover{outline:2px solid var(--muted);outline-offset:1px}.activity-map-cell.selected{outline:2px solid var(--text);outline-offset:1px}.activity-map-cell.outside-range{visibility:hidden;border-color:transparent;background:transparent}.activity-map-cell.level-none{background:var(--bg)}.activity-map-cell.level-1{background:color-mix(in srgb,var(--accent) 25%,var(--surface))}.activity-map-cell.level-2{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.activity-map-cell.level-3{background:color-mix(in srgb,var(--accent) 68%,var(--surface))}.activity-map-cell.level-4{background:var(--accent)}.activity-map-legend{display:flex;align-items:center;gap:5px;margin-top:5px;color:var(--muted);font-size:9px}.activity-map-legend span:first-child{margin-right:4px}.activity-map-legend span:last-child{margin-left:4px}.activity-map-legend i{width:12px;height:12px;border:1px solid var(--line);border-radius:3px}.activity-map-legend .level-none{background:var(--bg)}.activity-map-legend .level-1{background:color-mix(in srgb,var(--accent) 25%,var(--surface))}.activity-map-legend .level-2{background:color-mix(in srgb,var(--accent) 45%,var(--surface))}.activity-map-legend .level-3{background:color-mix(in srgb,var(--accent) 68%,var(--surface))}.activity-map-legend .level-4{background:var(--accent)}.activity-map-selected{margin:10px 0 0;color:var(--muted);font-size:10px}.food-search-panel>.section-head{margin-bottom:16px}.food-search-modes{display:inline-flex;gap:4px;width:max-content;max-width:100%;padding:4px;border-radius:12px;background:var(--soft)}.food-search-modes button{display:grid;gap:3px;min-width:126px;padding:9px 12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--muted);font-size:11px;font-weight:600}.food-search-modes button small{color:var(--muted);font-size:9px;font-weight:450}.food-search-modes button.selected{border-color:var(--line);background:var(--surface);color:var(--text);box-shadow:0 2px 8px #141e180f}.food-search-controls{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:end;gap:9px;margin-top:14px}.food-search-controls>label{display:grid;gap:6px;min-width:0;color:var(--muted);font-size:10px;font-weight:600}.food-search-controls input{min-width:0;width:100%;height:43px;padding:0 13px;border:1px solid var(--line);border-radius:11px;background:var(--bg);color:var(--text);font:inherit;font-size:14px}.clear-search{grid-column:2;justify-self:end;width:35px;height:38px;border:0;border-radius:9px;background:var(--soft);color:var(--muted);font-size:20px}.search-action{min-height:43px;white-space:nowrap}.search-status{margin:8px 0;padding:10px 12px;border-radius:10px;background:var(--accent-soft);color:var(--text);font-size:11px;line-height:1.45}.meal-choice{grid-template-columns:minmax(150px,220px) 1fr;align-items:center;padding-top:11px;border-top:1px solid var(--line)}.meal-choice>.muted{margin:0;text-align:right}.empty-search{display:grid;justify-items:start;gap:8px;padding:5px 0}.empty-search p{margin:0;color:var(--muted);font-size:11px;line-height:1.5}.entry-editor{border-top:1px solid var(--line)}.entry-editor>details>summary,.measurement-entry>summary{width:max-content;max-width:100%;margin:2px 0 8px;cursor:pointer;color:var(--accent);font-size:10px}.entry-editor .form-grid,.measurement-entry .form-grid{padding:0 0 8px}.measurement-history{display:grid;gap:0;margin-top:18px}.measurement-history h3{margin:0 0 7px;font-size:12px}.measurement-entry{padding:9px 0;border-top:1px solid var(--line)}.destructive-link{color:#923737}.measurement-day,.trend-month{border-top:1px solid var(--line)}.measurement-day>summary,.trend-month>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 2px;cursor:pointer;color:var(--text);font-size:11px;font-weight:620;list-style-position:inside}.measurement-day>summary span,.trend-month>summary span{color:var(--muted);font-size:10px;font-weight:500}.measurement-day>div,.trend-month>div{padding-left:12px}.trend-history{margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.trend-chart{width:100%;height:auto;margin:12px 0;overflow:visible}.trend-chart line{stroke:var(--line);stroke-width:1}.trend-chart polyline{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.trend-chart circle{fill:var(--accent)}.trend-chart text{fill:var(--muted);font-size:10px}.chart-card>.muted{padding:20px 0}.settings-card{min-width:0}.settings-card.data-tools{grid-column:1/-1}.stack-form{display:grid;gap:12px}.toast{position:fixed;z-index:7;inset:auto 20px 82px auto;max-width:calc(100vw - 40px);padding:10px 14px;border:1px solid var(--line);border-radius:11px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:11px}.download-link{display:inline-flex;align-items:center;justify-content:center;width:max-content;max-width:100%;min-height:39px;margin-top:10px;border-radius:10px;background:var(--accent);color:#fff;padding:9px 13px;text-decoration:none;font-size:11px;font-weight:600}.restore-confirm{display:flex!important;align-items:center;gap:9px;color:var(--text)!important}.restore-confirm input{width:18px!important;height:18px!important;flex:none}.today-quick-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.today-quick-actions button{min-height:36px;padding:8px 11px;font-size:11px}.food-quick-groups{display:grid;gap:12px;margin:12px 0 18px}.food-quick-groups h3{margin:0 0 4px;font-size:12px}.food-quick-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:0 12px}.food-quick-list .food-card{padding:8px 0}.food-card{grid-template-columns:minmax(0,1fr) 28px minmax(125px,160px) auto}.food-card-info{min-width:0;display:grid;gap:4px}.food-card-info strong{overflow-wrap:anywhere}.food-card-info small{color:var(--muted);font-size:10px}.food-card .favorite-toggle{width:28px;height:28px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--muted);font-size:17px}.food-card .favorite-toggle.active{color:#a36c17;background:color-mix(in srgb,#f1c96b 18%,var(--surface))}.food-amount{display:grid;grid-template-columns:minmax(0,1fr) 15px;align-items:center;gap:4px;color:var(--muted);font-size:10px}.food-amount input{width:100%;min-width:0;height:34px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);padding:0 7px;font:inherit}.food-amount-shortcuts{grid-column:1/-1;display:flex;gap:3px}.food-amount-shortcuts button{flex:1;padding:4px 2px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);font-size:9px}.catalogue-filter,.recipe-search,.history-filter{display:grid;grid-template-columns:auto minmax(150px,240px);align-items:center;gap:9px;margin:8px 0;color:var(--muted);font-size:10px}.catalogue-filter select,.history-filter select,.recipe-search input{min-width:0;height:36px;border:1px solid var(--line);border-radius:8px;padding:0 9px;background:var(--bg);color:var(--text);font:inherit}.recipe-search{grid-template-columns:1fr;margin:12px 0}.recipe-search input{width:100%}.profile-context-note,.backup-status{margin:0 0 10px;padding:10px 12px;border-radius:9px;background:var(--soft);color:var(--muted);font-size:10px;line-height:1.5}.backup-status{margin-top:12px}.journal-history-toggle{cursor:pointer;list-style-position:inside}.journal-history-toggle span{display:inline-grid;gap:4px;vertical-align:middle}.journal-history-toggle strong{font-size:14px}.journal-history-toggle small{color:var(--muted);font-size:10px;font-weight:400}.history-filter{margin:14px 0 8px}.history-days,.history-day-content{display:grid}.history-day{border-top:1px solid var(--line)}.history-day>summary{display:flex;justify-content:space-between;gap:10px;padding:11px 2px;cursor:pointer;font-size:11px;font-weight:620}.history-day>summary span{color:var(--muted);font-size:10px;font-weight:500}.history-day-content{padding-left:10px}.history-day-content .link{justify-self:start;margin:2px 0 8px}.history-day-content .entry-editor{padding:4px 0}.trend-incomplete{margin:8px 0}.trend-incomplete b{flex:none}@media(max-width:720px){.today-quick-actions{gap:6px}.today-quick-actions button{flex:1 1 calc(50% - 6px)}.food-quick-list{grid-template-columns:1fr}.food-card{grid-template-columns:minmax(0,1fr) 26px 112px auto;gap:5px}.food-card .secondary{min-height:34px}.food-amount-shortcuts button{font-size:8px}.catalogue-filter,.history-filter{grid-template-columns:1fr}}.vault-reset{margin-top:14px;border-top:1px solid var(--line);padding-top:13px}.vault-reset>summary{cursor:pointer;color:#a33b36;font-size:11px;font-weight:650}.vault-reset-warning{margin:12px 0;padding:12px;border:1px solid color-mix(in srgb,#b54a43 35%,var(--line));border-radius:11px;background:color-mix(in srgb,#b54a43 6%,var(--surface))}.vault-reset-warning h2{margin:0 0 7px;color:#9a3934;font-size:13px}.vault-reset-warning p{margin:7px 0 0;color:var(--text);font-size:10px;line-height:1.55}.vault-reset-warning p.vault-reset-risk{color:#9a3934;font-weight:650}.reset-confirm{display:flex!important;align-items:flex-start;gap:9px!important;color:var(--text)!important;font-weight:500!important;line-height:1.45}.reset-confirm input{width:17px;height:17px;flex:none;margin:0}.danger-button{min-height:40px;width:100%;border:0;border-radius:10px;background:#a33b36;color:#fff;padding:10px 13px;font-size:11px;font-weight:650}.danger-button:disabled{opacity:.45;cursor:not-allowed}.activity-map-toolbar{display:grid;grid-template-columns:minmax(170px,250px) 1fr;align-items:end;gap:12px}.activity-map-toolbar>label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:600}.activity-map-toolbar select{height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit}.activity-map-view-control{display:flex;justify-self:end;gap:3px;padding:4px;border-radius:10px;background:var(--soft)}.activity-map-view-control button{min-height:31px;padding:6px 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:10px;font-weight:600}.activity-map-view-control button.active{border-color:var(--line);background:var(--surface);color:var(--text);box-shadow:0 1px 4px #0000000f}.activity-map-period{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;margin:12px 0 5px}.activity-map-period button{min-height:34px;width:38px;padding:4px;font-size:18px}.activity-map-period strong{text-align:center;font-size:12px}.activity-map-period button:disabled{opacity:.4;cursor:not-allowed}.activity-map-scroll-hint{margin:0 0 5px;color:var(--muted);font-size:9px}.activity-map-months{align-items:center}.activity-map-months span{overflow:visible;font-size:9px}.activity-map-cell.level-zero,.activity-month-day.level-zero,.activity-week-day.level-zero,.activity-day-detail.level-zero,.activity-map-legend .level-zero{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--muted) 22%,var(--surface)) 0 3px,var(--surface) 3px 6px)}.activity-month-grid{max-width:520px;margin:10px auto}.activity-month-weekdays,.activity-month-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.activity-month-weekdays{margin-bottom:5px;color:var(--muted);text-align:center;font-size:9px}.activity-month-day,.activity-month-blank{min-width:0;aspect-ratio:1/1}.activity-month-day{display:grid;align-content:space-between;justify-items:start;padding:6px;border:1px solid var(--line);border-radius:8px;color:var(--text);text-align:left}.activity-month-day small{font-size:10px}.activity-month-day strong{font-size:9px;font-weight:550}.activity-month-day.selected,.activity-week-day.selected{outline:2px solid var(--text);outline-offset:1px}.activity-month-day:disabled,.activity-week-day:disabled{opacity:.35;cursor:not-allowed}.activity-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:15px 0}.activity-week-day{min-width:0;min-height:92px;display:grid;align-content:start;justify-items:center;gap:7px;padding:9px 3px;border:1px solid var(--line);border-radius:10px;background:var(--surface);color:var(--text)}.activity-week-day small{color:var(--muted);font-size:9px}.activity-week-day strong{font-size:16px}.activity-week-day span{overflow-wrap:anywhere;font-size:9px;text-align:center}.activity-day-detail{display:grid;justify-items:center;gap:7px;margin:14px auto;padding:20px;border:1px solid var(--line);border-radius:13px;text-align:center}.activity-day-detail>span,.activity-day-detail small{color:var(--muted);font-size:10px}.activity-day-detail>strong{font-size:20px}.activity-day-detail .primary{margin-top:7px}.activity-map-selected{display:flex;flex-wrap:wrap;gap:4px}.activity-map-legend{flex-wrap:wrap}.activity-map-legend .level-zero{display:inline-block}.activity-map-legend i.level-1:after,.activity-map-legend i.level-2:after,.activity-map-legend i.level-3:after,.activity-map-legend i.level-4:after{content:""}@media(max-width:720px){.activity-map-toolbar{grid-template-columns:1fr}.activity-map-view-control{justify-self:stretch;justify-content:space-between}.activity-map-view-control button{flex:1;padding-inline:5px}.activity-week-grid{gap:3px}.activity-week-day{min-height:80px;padding:7px 2px;border-radius:7px}.activity-week-day span{font-size:8px}.activity-month-weekdays,.activity-month-days{gap:3px}.activity-month-day{padding:4px}.activity-month-day strong{font-size:8px}.activity-map-period{margin-top:10px}}.history-years,.history-months,.history-weeks,.history-week-days{display:grid}.history-year,.history-month,.history-week{border-top:1px solid var(--line)}.history-year>summary,.history-month>summary,.history-week>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;list-style:none}.history-year>summary::-webkit-details-marker,.history-month>summary::-webkit-details-marker,.history-week>summary::-webkit-details-marker{display:none}.history-year>summary:before,.history-month>summary:before,.history-week>summary:before{content:"›";width:12px;flex:none;color:var(--accent);font-size:16px;line-height:1}.history-year[open]>summary:before,.history-month[open]>summary:before,.history-week[open]>summary:before{content:"⌄"}.history-year>summary{padding:12px 2px;font-size:12px;font-weight:650}.history-month>summary{padding:10px 4px 10px 15px;font-size:11px;font-weight:620}.history-week>summary{padding:9px 4px 9px 27px;color:var(--muted);font-size:10px;font-weight:600}.history-year>summary span,.history-month>summary span,.history-week>summary span{margin-left:auto;color:var(--muted);font-size:9px;font-weight:450}.history-months,.history-weeks,.history-week-days{margin-left:8px;border-left:1px solid var(--line)}.history-week-days{padding-left:10px}.history-week-days .history-day{margin-left:7px}.history-day>summary{list-style:none}.history-day>summary::-webkit-details-marker{display:none}.history-day>summary:before{content:"›";width:12px;flex:none;color:var(--accent);font-size:15px}.history-day[open]>summary:before{content:"⌄"}.history-day>summary{display:flex;align-items:center;justify-content:flex-start;padding-left:36px;font-size:10px}.history-day>summary span{margin-left:auto}@media(max-width:720px){.inline-form,.food-results,.chart-card{padding:16px}.form-grid{grid-template-columns:1fr 1fr;gap:9px}.form-grid label{min-width:0}.food-card{grid-template-columns:minmax(0,1fr) 28px minmax(90px,112px) auto;gap:5px}.food-card .secondary{padding:6px 8px}.micro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.meal-info{flex-basis:calc(100% - 100px)}.meal-info details{grid-column:1/-1}.settings-card.data-tools{grid-column:auto}.toast{inset:auto 12px calc(75px + env(safe-area-inset-bottom)) 12px;text-align:center}.food-search-modes{display:grid;grid-template-columns:1fr 1fr;width:100%}.food-search-modes button{min-width:0}.food-search-controls{grid-template-columns:minmax(0,1fr) auto}.food-search-controls>label{grid-column:1/-1}.search-action{grid-column:1/-1;width:100%}.meal-choice{grid-template-columns:1fr 1fr}}@media(max-width:380px){.form-grid{grid-template-columns:1fr}.food-card strong{font-size:11px}}@media(max-width:1050px){.sidebar{width:205px}.main{margin-left:205px}.content{padding:30px}.topbar{padding:0 30px}.summary-grid{grid-template-columns:1fr 1fr}.activity{grid-column:span 2}.summary-grid .activity{min-height:160px}}@media(max-width:720px){.sidebar{display:none}.main{margin:0;padding-bottom:calc(72px + env(safe-area-inset-bottom))}.topbar{height:57px;padding:0 17px}.mobile-brand{display:block}.mobile-brand .brand{font-size:15px;padding:0}.mobile-brand .brand-mark{width:25px;height:25px}.date-button{margin-left:auto;margin-right:9px;padding:7px 9px;font-size:11px}.avatar{width:31px;height:31px;margin:0}.content{padding:25px 17px 19px}.page-heading{margin-bottom:20px}h1{font-size:27px}.summary-grid{grid-template-columns:1fr 1fr;gap:10px}.summary-grid .card{min-height:188px;padding:15px 13px;border-radius:15px}.summary-grid .calorie,.summary-grid .activity{grid-column:span 2}.summary-grid .calorie{min-height:190px}.meals{margin-top:27px}.meal-list{padding:0 12px}.meal{min-height:61px;gap:9px}.meal-icon{width:30px;height:30px}.section-head p{max-width:225px;line-height:1.4}.settings-grid{grid-template-columns:1fr}.settings-card{padding:18px}.tabbar{display:grid;position:fixed;inset:auto 0 0;z-index:4;grid-template-columns:repeat(6,1fr);min-height:calc(64px + env(safe-area-inset-bottom));padding:6px 5px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 95%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tabbar button{border:0;border-radius:10px;background:none;display:grid;justify-items:center;align-content:center;gap:3px;color:var(--muted);font-size:10px}.tabbar button span{font-size:19px}.tabbar button.active{color:var(--accent);font-weight:620}.notice{align-items:flex-start;line-height:1.4}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}.activity-map-card{--map-color: #2878c7}.activity-map-card[data-metric=steps]{--map-color: #398455}.activity-map-card[data-metric=exercise]{--map-color: #cf791e}.activity-map-card[data-metric=meals]{--map-color: #8058b7}.activity-map-cell.level-1,.activity-month-day.level-1,.activity-week-day.level-1,.activity-day-detail.level-1,.activity-map-legend .level-1{background:color-mix(in srgb,var(--map-color) 24%,var(--surface))}.activity-map-cell.level-2,.activity-month-day.level-2,.activity-week-day.level-2,.activity-day-detail.level-2,.activity-map-legend .level-2{background:color-mix(in srgb,var(--map-color) 46%,var(--surface))}.activity-map-cell.level-3,.activity-month-day.level-3,.activity-week-day.level-3,.activity-day-detail.level-3,.activity-map-legend .level-3{background:color-mix(in srgb,var(--map-color) 70%,var(--surface))}.activity-map-cell.level-4,.activity-month-day.level-4,.activity-week-day.level-4,.activity-day-detail.level-4,.activity-map-legend .level-4{background:var(--map-color)}.activity-map-legend{gap:7px;font-size:10px}.activity-map-legend span:first-child,.activity-map-legend span:last-child{margin:0}.activity-map-legend small{flex-basis:100%;color:var(--muted);font-size:9px}.history-date-jump{display:flex;align-items:end;gap:9px;margin:12px 0 5px}.history-date-jump label{display:grid;gap:6px;max-width:230px;color:var(--muted);font-size:10px;font-weight:600}.history-date-jump input{height:36px;padding:0 9px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--text);font:inherit}@media(max-width:720px){.history-date-jump{align-items:stretch}.history-date-jump label{flex:1;min-width:0}.activity-map-legend small{flex-basis:100%}}.recipe-library-filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(145px,190px) minmax(130px,170px);gap:10px;margin:12px 0}.recipe-ingredient-picker{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.recipe-ingredient-picker h3{margin:0 0 11px;font-size:13px}.recipe-ingredient-picker .food-search-modes{width:100%}.recipe-ingredient-picker .food-search-modes button{flex:1}.recipe-ingredient-picker .food-search-controls{grid-template-columns:minmax(0,1fr) auto auto}.recipe-ingredient-results{margin-top:14px}.recipe-ingredient-results .section-head{margin-bottom:8px}.recipe-ingredient-results h4{margin:0;font-size:12px}.recipe-ingredient-result{display:flex;align-items:center;gap:12px;padding:9px 0;border-top:1px solid var(--line)}.recipe-ingredient-result>div{display:grid;min-width:0;flex:1;gap:4px}.recipe-ingredient-result strong{overflow-wrap:anywhere;font-size:11px}.recipe-ingredient-result small,.recipe-ingredient-selection span{color:var(--muted);font-size:9px;line-height:1.4}.recipe-ingredient-result .secondary{flex:none;min-width:78px;text-align:center}.recipe-ingredient-off{border-top:1px solid var(--line)}.recipe-ingredient-selection{display:grid;grid-template-columns:minmax(0,1fr) minmax(100px,150px) auto;align-items:end;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.recipe-ingredient-selection>div,.recipe-ingredient-selection label{display:grid;min-width:0;gap:5px}.recipe-ingredient-selection>div strong,.recipe-ingredient-selection label{font-size:10px;font-weight:600}.recipe-ingredient-selection label{color:var(--muted)}.recipe-ingredient-selection input{width:100%;min-width:0;height:39px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit;font-size:12px}.recipe-ingredient-selection .primary{white-space:nowrap}.recipe-library-filters label{display:grid;gap:6px;color:var(--muted);font-size:10px;font-weight:600}.recipe-library-filters input,.recipe-library-filters select{min-width:0;width:100%;height:37px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:inherit}.recipe-meal-group,.recipe-food-group{border-top:1px solid var(--line)}.recipe-meal-group>summary,.recipe-food-group>summary{display:flex;align-items:center;gap:9px;padding:12px 3px;cursor:pointer;list-style:none;font-size:12px;font-weight:650}.recipe-meal-group>summary::-webkit-details-marker,.recipe-food-group>summary::-webkit-details-marker{display:none}.recipe-meal-group>summary:before,.recipe-food-group>summary:before{content:"›";width:12px;color:var(--accent);font-size:16px;line-height:1}.recipe-meal-group[open]>summary:before,.recipe-food-group[open]>summary:before{content:"⌄"}.recipe-meal-group>summary span,.recipe-food-group>summary span{margin-left:auto;color:var(--muted);font-size:10px;font-weight:450}.recipe-food-groups{margin-left:10px;padding-left:10px;border-left:1px solid var(--line)}.recipe-food-group>summary{padding:9px 3px;font-size:11px;font-weight:600}.recipe-food-group>div{padding-left:13px}.recipe-tags-field small{color:var(--muted);font-size:9px;font-weight:400}.recipe-organize{margin:8px 0}.recipe-organize>summary{width:max-content;max-width:100%;cursor:pointer;color:var(--accent);font-size:10px}.recipe-organize .form-grid{margin-top:8px}.recipe-tag-list{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0}.recipe-tag-list span{padding:4px 8px;border-radius:99px;background:var(--accent-soft);color:var(--text);font-size:9px}@media(max-width:720px){.recipe-ingredient-picker .food-search-modes{display:grid;grid-template-columns:1fr 1fr}.recipe-ingredient-picker .food-search-controls{grid-template-columns:minmax(0,1fr) auto}.recipe-ingredient-picker .food-search-controls>label{grid-column:1/-1}.recipe-ingredient-picker .search-action{grid-column:1/-1;width:100%}.recipe-ingredient-selection{grid-template-columns:minmax(0,1fr) 112px}.recipe-ingredient-selection .primary{grid-column:1/-1}.recipe-library-filters{grid-template-columns:1fr 1fr}.recipe-library-filters label:first-child{grid-column:1/-1}}@media(max-width:380px){.recipe-library-filters{grid-template-columns:1fr}.recipe-library-filters label:first-child{grid-column:auto}}
