:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--muted:#6f6d68;--border:#0b0b0b1a;--grid:#e1e0d9;--axis:#c3c2b7;--accent:#1f6f5c;--accent-ink:#fff;--accent-wash:#e6f1ee;--good:#006300;--bad:#b42323;--warn-wash:#fdf3d8;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--chart-weight:#898781;--radius:14px;--gap:12px;-webkit-text-size-adjust:100%;font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:16px;line-height:1.4}*{box-sizing:border-box}body{background:var(--page);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0}h1{margin:4px 0 0;font-size:1.5rem}h2{margin:0;font-size:1rem}h3{color:var(--ink-2);margin:8px 0 0;font-size:.9rem}p{margin:0}a{color:var(--accent)}.muted{color:var(--muted);font-size:.85rem}.num{font-variant-numeric:tabular-nums;white-space:nowrap}.figure{font-size:1.6rem;font-weight:600}.error{color:var(--bad);font-size:.9rem}.screen{max-width:560px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px calc(env(safe-area-inset-bottom,0px) + 84px);gap:var(--gap);flex-direction:column;margin:0 auto;display:flex}.setup{padding-bottom:32px}.lede{color:var(--ink-2)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.stack{flex-direction:column;gap:12px;display:flex}.row{gap:10px;display:flex}.row>*{flex:1 1 0;min-width:0}.button-row{flex-wrap:wrap;gap:8px;display:flex}.tabs{background:var(--surface);border-top:1px solid var(--border);padding-bottom:env(safe-area-inset-bottom,0px);z-index:10;justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:140px;color:var(--muted);flex-direction:column;flex:1 1 0;align-items:center;gap:2px;padding:8px 0 6px;font-size:.72rem;text-decoration:none;display:flex}.tab svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.tab.active{color:var(--accent);font-weight:600}input,select,textarea,button{font:inherit;color:inherit}input[type=text],input[type=search],input[type=date],select,textarea{border:1px solid var(--axis);appearance:none;background:#fff;border-radius:10px;width:100%;min-height:44px;padding:8px 10px}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible,.file-button:focus-within{outline:2px solid var(--accent);outline-offset:2px}.field{flex-direction:column;gap:4px;min-width:0;display:flex}.field-label{color:var(--ink-2);font-size:.8rem;font-weight:600}.field-hint{color:var(--muted);font-size:.78rem}.input-wrap{display:block;position:relative}.input-wrap input{font-variant-numeric:tabular-nums;padding-right:44px}.input-wrap.invalid input{border-color:var(--bad)}.input-suffix{color:var(--muted);pointer-events:none;font-size:.85rem;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.button{border:1px solid var(--axis);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;min-height:44px;padding:0 16px;font-weight:600;display:inline-flex}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.button.quiet{color:var(--accent);background:0 0;border-color:#0000}.button.danger{background:var(--bad);border-color:var(--bad);color:#fff}.button.small{min-height:36px;padding:0 12px;font-size:.85rem}.button:disabled,.icon-button:disabled,.stepper button:disabled{opacity:.35;cursor:default}.file-button{position:relative;overflow:hidden}.file-button input{opacity:0;cursor:pointer;position:absolute;inset:0}.segmented{background:#eeede8;border-radius:10px;gap:3px;padding:3px;display:flex}.segmented button{min-height:38px;color:var(--ink-2);cursor:pointer;background:0 0;border:0;border-radius:8px;flex:1 1 0;font-size:.9rem;font-weight:600}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 0 0 1px var(--border)}.date-bar{align-items:center;gap:8px;display:flex}.icon-button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;width:44px;height:44px;font-size:1.5rem;line-height:1}.date-title{flex-direction:column;flex:1;align-items:center;font-size:1.25rem;font-weight:700;display:flex;position:relative}.date-title .muted{font-weight:400}.date-title input{opacity:0;cursor:pointer;min-height:0;position:absolute;inset:0}.back-today{align-self:center}.banner,.notice{background:var(--warn-wash);border-radius:var(--radius);flex-direction:column;gap:8px;padding:10px 12px;font-size:.9rem;display:flex}.banner{flex-direction:row;justify-content:space-between;align-items:center}.status-card{color:inherit;gap:4px;text-decoration:none}.status{align-items:baseline;gap:8px;font-weight:700;display:flex}.status.large{font-size:1.35rem}.status-icon{font-size:.8em}.status.ahead .status-icon{color:var(--good)}.status.behind .status-icon{color:var(--bad)}.status.on-track .status-icon{color:var(--accent)}.status-sub{color:var(--ink-2);font-size:.9rem;font-weight:400}.weigh-in{align-items:center;gap:12px;display:flex}.weigh-in .input-wrap{flex:0 180px}.weigh-in input{min-height:56px;font-size:1.5rem;font-weight:600}.cal-summary{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.meter{background:var(--accent-wash);border-radius:4px;height:8px;overflow:hidden}.meter span{background:var(--accent);border-radius:4px;height:100%;display:block}.meter.over{background:#f6dcdc}.meter.over span{background:var(--bad)}.entries,.food-matches,.food-list,.milestones{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.entries li{border-top:1px solid var(--grid);flex-direction:column;gap:6px;padding:10px 0;display:flex}.entry-main,.entry-controls{justify-content:space-between;align-items:center;gap:8px;display:flex}.food-name{overflow-wrap:anywhere;min-width:0}.stepper{align-items:center;gap:10px;display:inline-flex}.stepper button{border:1px solid var(--axis);cursor:pointer;background:#fff;border-radius:50%;width:36px;height:36px;font-size:1.2rem;line-height:1}.add-food{background:var(--accent-wash);border-radius:12px;flex-direction:column;gap:10px;padding:10px;display:flex}.search-row{gap:4px;display:flex}.new-food{flex-direction:column;gap:8px;display:flex}.new-food-title{overflow-wrap:anywhere;font-size:.9rem;font-weight:600}.food-matches,.food-list{border:1px solid var(--border);background:#fff;border-radius:10px;max-height:46vh;overflow-y:auto}.food-matches li+li,.food-list li+li{border-top:1px solid var(--grid)}.food-matches button,.food-row{text-align:left;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:48px;padding:8px 12px;display:flex}.food-edit{padding:12px}.milestones li{border-top:1px solid var(--grid);flex-direction:column;gap:6px;padding:12px 0;display:flex}.milestones li:first-child{border-top:0;padding-top:0}.milestone-foot{justify-content:space-between;align-items:center;gap:8px;display:flex}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.stat{flex-direction:column;min-width:0;display:flex}.stat-label{color:var(--muted);font-size:.78rem}.stat-value{font-size:1.05rem;font-weight:600}.stat-sub{color:var(--muted);font-size:.78rem}.chart{flex-direction:column;gap:8px;min-width:0;margin:0;display:flex}.chart-plot{min-width:0;height:320px}.chart-plot :focus{outline:none}.legend{flex-wrap:wrap;gap:6px;display:flex}.legend button{border:1px solid var(--border);min-height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border-radius:16px;align-items:center;gap:6px;padding:0 10px;font-size:.8rem;display:inline-flex}.legend button[aria-pressed=false]{color:var(--muted);text-decoration:line-through}.legend button[aria-pressed=false] .key{opacity:.25}.key{flex:none;display:inline-block}.key-line,.key-dashed{border-top:2px solid;width:16px}.key-dashed{border-top-style:dashed}.key-dot{background:currentColor;border-radius:50%;width:8px;height:8px}.key-bar{background:currentColor;border-radius:2px 2px 0 0;width:8px;height:12px}.chart-tooltip{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:3px;padding:8px 10px;font-size:.8rem;display:flex;box-shadow:0 4px 14px #00000014}.chart-tooltip-date{color:var(--ink-2);margin-bottom:2px}.chart-tooltip-row{color:var(--ink-2);align-items:center;gap:6px;display:flex}.chart-tooltip-row strong{color:var(--ink);font-variant-numeric:tabular-nums}.table-scroll{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}th,td{text-align:right;border-top:1px solid var(--grid);white-space:nowrap;padding:7px 6px}th:first-child,td:first-child{text-align:left;padding-left:0}th{color:var(--muted);border-top:0;font-size:.75rem;font-weight:600}.milestone-list{margin:0;padding:0;list-style:none}.milestone-list li{border-top:1px solid var(--grid);padding:10px 0}.milestone-list li:first-child{border-top:0;padding-top:0}.milestone-head{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.milestone-list dl{grid-template-columns:auto 1fr;gap:2px 12px;margin:6px 0 0;font-size:.85rem;display:grid}.milestone-list dt{color:var(--muted)}.milestone-list dd{font-variant-numeric:tabular-nums;margin:0}.toast{left:16px;right:16px;bottom:calc(env(safe-area-inset-bottom,0px) + 76px);background:var(--ink);color:#fff;border-radius:var(--radius);z-index:20;align-items:center;gap:8px;max-width:528px;margin:0 auto;padding:10px 12px;display:flex;position:fixed}.toast span{flex:1}.toast .button{color:var(--ink)}.toast .button.quiet{color:#fff}.check{align-items:center;gap:8px;font-size:.9rem;display:flex}
