:root{--bg:#f6f6f3;--surface:#fff;--text:#1c1c1a;--muted:#6b6b66;--line:#e4e4de;--accent:#1f6feb;--accent-soft:#1f6feb1f;--good:#1a7f37;--good-soft:#1a7f3729;--warn:#9a6700;--warn-soft:#d4a72c38;--bad:#cf222e;--bad-soft:#cf222e29;--band:#1a7f3714;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#111110;--surface:#1c1c1a;--text:#ecece8;--muted:#9a9a94;--line:#2e2e2b;--accent:#4c8dff;--accent-soft:#4c8dff2e;--good:#3fb950;--good-soft:#3fb95033;--warn:#d29922;--warn-soft:#d2992240;--bad:#f85149;--bad-soft:#f8514933;--band:#3fb9501a;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0}body{-webkit-tap-highlight-color:transparent;font-family:-apple-system,SF Pro Text,Segoe UI,Arial,sans-serif;font-size:16px;line-height:1.45}button{font:inherit;color:inherit}h1{margin:4px 0 8px;font-size:24px}h2{margin:22px 0 8px;font-size:18px}h3{margin:0 0 8px;font-size:16px}.main{padding-bottom:calc(84px + env(safe-area-inset-bottom));padding-top:env(safe-area-inset-top)}.page{flex-direction:column;gap:10px;max-width:640px;margin:0 auto;padding:12px 16px;display:flex}.page.narrow{max-width:420px;padding-top:48px}.center{text-align:center}.muted{color:var(--muted)}.small{font-size:13px}.ltr{text-align:left;direction:ltr}.error{color:var(--bad);background:var(--bad-soft);border-radius:8px;margin:0;padding:8px 10px}.warn-text{color:var(--warn)}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.row-gap{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.grid2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field{color:var(--muted);flex-direction:column;gap:4px;font-size:14px;display:flex}.input{font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--line);appearance:none;border-radius:10px;width:100%;padding:11px 12px}.input.big{text-align:center;font-size:28px;font-weight:600}.input.inline{width:auto;padding:7px 10px}.check{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.btn{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:12px;padding:12px 14px;font-weight:600}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.danger{color:var(--bad);border-color:var(--bad-soft);background:0 0}.btn.small{border-radius:10px;padding:6px 12px;font-size:14px}.btn.round{border-radius:50%;width:56px;height:56px;padding:0;font-size:26px}.btn:disabled{opacity:.45}.link{color:var(--accent);text-align:start;cursor:pointer;background:0 0;border:none;padding:0;font-size:14px}.seg{background:var(--line);border-radius:10px;gap:3px;padding:3px;display:flex}.seg button{background:0 0;border:none;border-radius:8px;flex:1;padding:8px 6px;font-size:14px}.seg button.on{background:var(--surface);font-weight:600;box-shadow:0 1px 2px #00000014}.seg.small button{padding:6px;font-size:13px}.toolbar{justify-content:space-between;align-items:center;gap:8px;display:flex}.toolbar .seg{flex:1}.stepper{justify-content:center;align-items:center;gap:22px;padding:10px 0;display:flex}.stepper-value{color:var(--muted);text-align:center;min-width:110px;font-size:18px}.stepper-value .num{color:var(--text);font-size:48px;font-weight:700}.hero{background:var(--surface);text-align:center;border:1px solid var(--line);border-radius:18px;padding:18px}.hero-value{direction:ltr;justify-content:center;align-items:center;gap:10px;display:flex}.hero-value .num{font-size:64px;font-weight:700;line-height:1}.hero-value .arrow{font-size:40px}.hero.ok .num{color:var(--good)}.hero.high .num{color:var(--warn)}.hero.low .num{color:var(--bad)}.hero.stale .num{opacity:.45}.hero-sub{color:var(--muted);margin-top:6px;font-size:14px}.hero-iob{margin-top:8px;font-size:15px}.chart{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px}.chart svg{display:block}.chart .band,.spark .band{fill:var(--band)}.chart .grid{stroke:var(--line);stroke-width:.6px}.chart .axis{fill:var(--muted);font-size:9px}.chart .line{fill:none;stroke:var(--accent);stroke-width:1.8px;stroke-linejoin:round}.chart .finger{fill:var(--surface);stroke:var(--bad);stroke-width:2px}.chart .meal-line,.spark .meal-line{stroke:var(--muted);stroke-dasharray:3 3;stroke-width:.8px}.chart .meal-dot{fill:var(--warn-soft);stroke:var(--warn);stroke-width:1px}.chart .marker-text{fill:var(--text);font-size:8.5px;font-weight:700}.chart .dose-chip{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1px}.chart .dose-chip.cand{fill:none;stroke:var(--muted);stroke-dasharray:2.5 2}.chart .pin{stroke-width:2px}.chart .pin-pre{fill:var(--accent);stroke:var(--accent)}.chart .pin-post{fill:var(--surface);stroke:var(--accent)}.chart .pin-peak{fill:var(--surface);stroke:var(--bad)}.chart .pin-label{fill:var(--text);paint-order:stroke;stroke:var(--surface);stroke-width:3px;font-size:9px;font-weight:700}.chart .tap{cursor:pointer}.spark .line{fill:none;stroke:var(--muted);stroke-width:1.5px}.spark .line.strong{stroke:var(--accent);stroke-width:2px}.list,.table{flex-direction:column;gap:6px;display:flex}.meal-row,.trow{text-align:start;background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.meal-main,.tcol-main{flex:1;min-width:0}.meal-title{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.meal-meta{color:var(--muted);font-size:13px}.acc{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:0 4px;font-size:11px;font-weight:600}.chip{text-align:center;border-radius:999px;min-width:52px;padding:4px 8px;font-size:14px;font-weight:700}.chip.good{background:var(--good-soft)}.chip.warn{background:var(--warn-soft)}.chip.bad{background:var(--bad-soft)}.chip.none{background:var(--line);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.card.pick{border-color:var(--accent)}.stats{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.stat{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:12px;padding:8px}.stat-label{color:var(--muted);font-size:12px}.stat-value{font-size:22px;font-weight:700}.stat-extra{color:var(--muted);font-size:11px}.stat.high .stat-value{color:var(--warn)}.stat.low .stat-value{color:var(--bad)}.stat.rise.good{background:var(--good-soft)}.stat.rise.warn{background:var(--warn-soft)}.stat.rise.bad{background:var(--bad-soft)}.dose-row{background:var(--surface);border:1px solid var(--line);border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.dose-row.linked{border-color:var(--accent)}.dose-row.cand{border-style:dashed}.tabbar{inset-inline:0;background:var(--surface);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0}.tabbar button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:center;padding:4px 10px;font-size:12px;display:flex}.tabbar button.on{color:var(--accent);font-weight:600}.tabbar .ti{font-size:20px;line-height:1.1}.tabbar .plus{background:var(--accent);color:#fff;border-radius:50%;justify-content:center;width:54px;height:54px;margin-top:-18px;font-size:30px;line-height:1;box-shadow:0 2px 8px #0000002e}.sheet-backdrop{z-index:10;background:#00000059;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;padding:12px 16px calc(16px + env(safe-area-inset-bottom));border-radius:18px 18px 0 0;flex-direction:column;gap:8px;display:flex}.sheet-item{background:var(--surface);border:1px solid var(--line);text-align:start;cursor:pointer;border-radius:12px;padding:16px;font-size:18px}.sheet-item.cancel{text-align:center;color:var(--muted)}textarea.input{resize:vertical;min-height:54px}.actions{flex-wrap:wrap;gap:6px;display:flex}.actions .btn{flex:auto}.thumb{object-fit:cover;border:1px solid var(--line);border-radius:12px;width:100%;max-height:220px}.items{flex-direction:column;gap:8px;display:flex}.item-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:6px;padding:10px;display:flex}.item-name{flex:1;padding:7px 9px;font-weight:600}.item-carbs{white-space:nowrap;font-size:20px;font-weight:700}.item-carbs small{color:var(--muted);font-size:12px;font-weight:400}.x{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:4px 6px;font-size:18px}.item-fields{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.item-fields label{color:var(--muted);flex-direction:column;gap:2px;font-size:12px;display:flex}.small-num{text-align:center;width:92px;padding:7px 9px}.chip-toggle{border:1px dashed var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;padding:6px 10px;font-size:12px}.chip-toggle.on{border-style:solid;border-color:var(--good);color:var(--good)}.acc-A{color:var(--good);border-color:var(--good)}.acc-B{color:var(--accent);border-color:var(--accent)}.acc-C{color:var(--warn);border-color:var(--warn)}.acc-D{color:var(--bad);border-color:var(--bad)}.item-fields .acc{margin-inline-start:auto;padding:2px 8px;font-size:14px}.total-box{background:var(--accent-soft);border-radius:12px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.total-num{font-size:22px;font-weight:700}.sheet.tall{max-height:85vh}.list.scroll{max-height:55vh;overflow-y:auto}.sheet-item.small{padding:12px;font-size:15px}
