:root{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#202b25;background:#f5f7f5;font-size:16px;font-synthesis:none;--accent:#42644e;--border:#dfe5df;--muted:#59665e;--radius:12px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--border);background:#fff;color:inherit;border-radius:8px;padding:8px 12px}button:hover{border-color:var(--accent)}button[aria-pressed=true],nav button[aria-current]{background:#e8efe9;border-color:var(--accent);color:#274d36}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5a80c1;outline-offset:3px}button:disabled,fieldset:disabled{opacity:.6;cursor:default}.app{max-width:1600px;margin:auto}.sidebar{position:fixed;top:0;bottom:0;width:224px;background:#eef2ee;border-right:1px solid var(--border);padding:28px 20px;display:flex;flex-direction:column}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px}.brand img{width:36px;height:36px;border-radius:8px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:12px;margin-top:3px}.sidebar .muted{font-size:14px;margin:20px 0 30px}nav{display:flex;flex-direction:column;gap:8px}nav button{display:flex;align-items:center;gap:12px;text-align:left;background:transparent;border-color:transparent;font-weight:600}nav button span{font-size:22px;width:24px}.sidebar-footer{margin-top:auto;font-size:14px;color:var(--muted);line-height:1.7}main{margin-left:224px;padding:30px 32px 20px;min-width:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--accent)}h1{font-size:28px;margin:4px 0 0;letter-spacing:-.04em}h2{font-size:19px;margin:0}h3{font-size:17px;margin:0 0 16px}.mobile-brand{display:none}.log-layout{display:grid;grid-template-columns:minmax(285px,360px) minmax(0,1fr);gap:24px;align-items:start}.panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:20px;margin-bottom:16px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px}.section-heading h3{margin:0}.section-heading .muted{font-size:12px}.section-heading button{padding:4px 12px;margin-left:4px;font-size:23px}.calendar{padding:18px 14px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.weekday{font-size:11px;text-align:center;color:var(--muted);padding:8px 0}.day{padding:5px 0;min-height:47px;border:1px solid transparent;border-radius:8px;display:flex;align-items:center;flex-direction:column;gap:5px;background:transparent;font-size:14px}.day.selected{border:2px solid var(--accent);background:#eef3ed}.day.today span{font-weight:800}.dot{display:inline-block;flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#c9d1ca}.green{background:#237645}.amber{background:#b77709}.red{background:#bd4945}.neutral{background:#c9d1ca}.legend{margin-top:18px;padding-top:14px;border-top:1px solid var(--border);display:grid;grid-template-columns:1fr 1fr;gap:10px;font-size:10px;color:#45574b}.legend span{display:flex;align-items:center;gap:5px}.text-button{background:transparent;border:0;padding:8px 0;color:#345e42;font-size:13px;text-align:left}.date-heading{display:flex;align-items:center;gap:8px;margin-bottom:18px}.date-heading>div{flex:1}.date-heading .muted{font-size:12px;display:block;margin-top:6px}.daily-form{border:0;padding:0;margin:0;min-width:0}.measurements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}label{display:block;font-size:14px;font-weight:500}label .muted{font-weight:400;font-size:12px}input,select{display:block;width:100%;border:1px solid #bac8bd;border-radius:7px;background:#fff;color:#202b25;min-height:44px;padding:8px 10px;margin:8px 0 2px}label small{display:block;line-height:1.5;font-weight:400}.activity-buttons{display:flex;flex-wrap:wrap;gap:8px}.activity-buttons button{font-size:14px}.no-exercise{margin-top:14px;font-size:14px}.duration{display:flex;align-items:center;gap:10px;margin-top:10px}.duration input{width:85px;margin-left:auto}.duration span{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}p.muted{font-size:12px;line-height:1.6;margin-bottom:0}footer{font-size:11px;color:var(--muted);margin:24px 0}.error{padding:14px;border:1px solid #bd4945;background:#fff4f2;border-radius:8px;margin-bottom:20px;font-size:14px}.error button{margin-left:12px}.error p{font-size:12px;line-height:1.5}.planned{max-width:650px;line-height:1.7}.planned h2{margin-bottom:12px}@media(min-width:1600px){.sidebar{left:calc((100vw - 1600px)/2)}}@media(max-width:1100px)and (min-width:761px){.sidebar{width:185px;padding:24px 14px}.brand{font-size:15px}.brand img{width:28px;height:28px}main{margin-left:185px;padding:24px 18px}.log-layout{grid-template-columns:1fr}.calendar{max-width:440px}.daily-fields{max-width:650px}}@media(max-width:760px){.sidebar{position:static;width:auto;padding:0;border:0}.sidebar>.brand,.sidebar>.muted,.sidebar-footer{display:none}.sidebar nav{position:fixed;z-index:10;bottom:0;left:0;right:0;background:#fff;border-top:1px solid var(--border);display:flex;flex-direction:row;justify-content:space-around;gap:8px;padding:7px 12px calc(7px + env(safe-area-inset-bottom))}.sidebar nav button{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;font-size:11px;padding:4px;min-height:48px;border-radius:8px}.sidebar nav button span{font-size:20px;text-align:center}main{margin:0;padding:18px 14px 90px}header{display:block;margin-bottom:18px}.mobile-brand{display:block;font-size:16px;font-weight:700;margin-bottom:22px}.mobile-brand small{font-weight:400;font-size:11px;color:var(--muted)}.eyebrow{font-size:10px}h1{font-size:26px}.log-layout{display:flex;flex-direction:column;gap:0}.calendar,.daily-fields{width:100%}.calendar{padding:16px 12px}.calendar-grid{gap:2px}.day{min-height:45px;font-size:14px}.legend{display:flex;flex-wrap:wrap;gap:10px;font-size:9px}.panel{padding:16px;margin-bottom:14px}.calendar .section-heading{margin-bottom:8px}.date-heading{margin:8px 0 16px}.date-heading h2{font-size:17px}.date-heading button{padding:8px 13px}.measurements{gap:8px}.measurements label{font-size:12px}.measurements input{padding:8px}.measurements label .muted{display:block;font-size:11px}.two-columns{gap:16px}.section-heading .muted{font-size:10px}.activity-buttons{gap:7px}.activity-buttons button{padding:8px 10px;font-size:13px}h3{font-size:16px}footer{font-size:10px}}@media(prefers-reduced-motion:no-preference){button{transition:background-color .12s}}:root{--accent:#3d8252;background:#f5f8f6}.log-layout{grid-template-columns:minmax(0,1fr) minmax(285px,360px);gap:22px}.calendar{grid-column:2;grid-row:1}.daily-fields{grid-column:1;grid-row:1}.panel{padding:16px;margin-bottom:12px;box-shadow:0 2px 4px #203d2810}h3,.section-heading{margin-bottom:12px}.food-scores{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:6px}.food-scores button{padding:8px 0}.food-scores button[aria-pressed=true],.activity-buttons button[aria-pressed=true]{background:var(--accent);color:#fff}.activity-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.activity-buttons button{border-radius:24px}.settings{max-width:720px}.settings h2{font-size:17px}.order-list{list-style:none;padding:0;margin:12px 0}.order-list li{display:flex;align-items:center;gap:6px;border-bottom:1px solid var(--border);padding:6px 0}.order-list li>span,.order-list li>label{flex:1;min-width:0;overflow-wrap:anywhere}.order-list input[type=checkbox]{display:inline-block;width:20px;min-height:20px;margin:0 8px 0 0;vertical-align:middle;accent-color:var(--accent)}.add-activity{display:flex;gap:8px;align-items:center}.add-activity input{min-width:0}.order-list button{padding:6px 12px}.duration{overflow-wrap:anywhere}.duration input{flex-shrink:0}@media(max-width:1100px)and (min-width:761px){.log-layout{grid-template-columns:minmax(0,1fr) minmax(270px,.8fr)}.food-scores{grid-template-columns:repeat(5,minmax(0,1fr))}.activity-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){main{padding-top:14px}header{position:relative;margin-bottom:14px}.mobile-brand{margin-bottom:12px;padding-right:100px}header .eyebrow{display:none}header h1{font-size:22px}.log-layout{display:flex}.food-scores{grid-template-columns:repeat(5,minmax(0,1fr))}.calendar{order:0}.daily-fields{order:1}.panel{padding:14px}.order-list{font-size:14px}.order-list button{padding:6px 10px}}.account-screen{max-width:38rem;margin:2rem auto;padding:1rem}.account-screen input{width:100%}.account-screen form{margin-block:1rem}html{scroll-padding-top:calc(var(--header-height,140px) + 12px)}main>header{position:sticky;top:0;z-index:20;background:#f5f8f6;padding-block:12px;margin-top:-12px;border-bottom:1px solid var(--border)}.sidebar{max-height:100dvh;overflow-y:auto;padding-top:max(24px,env(safe-area-inset-top))}.brand{flex-wrap:wrap}.data-status{display:inline-flex;position:relative;vertical-align:middle;flex-shrink:0}.data-status-button{display:inline-flex;align-items:center;justify-content:center;padding:0;width:36px;min-height:36px;background:transparent;border:0;border-radius:50%}.data-status-button .dot{width:9px;height:9px}.data-status-explanation{display:none;position:fixed;padding:10px;background:#20382a;color:#fff;font-size:12px;font-weight:400;line-height:1.5;border-radius:6px;z-index:1000;text-align:left;max-height:calc(100dvh - 16px);overflow-y:auto;overflow-wrap:anywhere}.data-status-explanation.open{display:block}@media(max-width:760px){.sidebar{overflow:visible;max-height:none;padding-top:0}main{padding-inline:max(14px,env(safe-area-inset-left)) max(14px,env(safe-area-inset-right));padding-bottom:calc(100px + env(safe-area-inset-bottom))}main>header{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:10px;top:0}.mobile-brand{display:flex;align-items:center;gap:4px;padding-right:0;margin-bottom:6px;flex-wrap:wrap}}@media(max-height:450px){main>header .eyebrow{display:none}main>header{padding-block:4px}.mobile-brand{margin-bottom:0}}.sidebar .brand{font-size:15px;flex-wrap:nowrap;gap:6px}.sidebar .brand img{width:32px;height:32px}.sidebar .data-status-button{width:24px;min-height:28px}.alcohol-controls{display:flex;align-items:center;gap:4px;margin-top:8px;min-width:0}.alcohol-controls input{flex:1 1 0;min-width:0;width:0;margin:0;min-height:44px}.alcohol-controls button{flex:0 0 auto;min-width:44px;min-height:44px;padding:8px;font-size:1.25em;line-height:1.2}
