:root{--bg: #EEF3EC;--surface: #FAFCF8;--line: #D3DDD0;--fg: #172519;--muted: #5A6B5C;--leaf: #2F7A3A;--leaf-soft: #DCEBD9;--water: #23677F;--water-soft: #D6E8EE;--ok: #2F7A3A;--warn: #A5610B;--warn-soft: #F7E7CE;--crit: #B3261E;--crit-soft: #F6D9D6;--info: #23677F;--f-display: "Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;--f-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, sans-serif;--f-mono: "JetBrains Mono", ui-monospace, Consolas, monospace;--r: 12px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #111812;--surface: #18221A;--line: #2A382C;--fg: #E4EDE2;--muted: #9AAC9B;--leaf: #7CC287;--leaf-soft: #223A26;--water: #72B7CF;--water-soft: #1B3039;--ok: #7CC287;--warn: #E8AE5B;--warn-soft: #3A2C16;--crit: #F08A80;--crit-soft: #3E1D1A;--info: #72B7CF;color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg)}body{font-family:var(--f-body);font-size:16px;line-height:1.45;padding-top:env(safe-area-inset-top,0px)}.wrap{max-width:760px;margin:0 auto;padding-inline:16px;padding-block:18px 104px;display:flex;flex-direction:column;gap:18px}h1,h2,h3{font-family:var(--f-display);margin:0;text-wrap:balance;letter-spacing:-.01em}h1{font-size:1.9rem;font-weight:800}h2{font-size:1.25rem;font-weight:800}h3{font-size:1.02rem;font-weight:600}.eyebrow{font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700}.muted{color:var(--muted)}.small{font-size:.86rem}.strong{font-weight:700;cursor:pointer}.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}.minw0{min-width:0}.mt{margin-top:10px}header.top{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.acct{width:180px}.stack{display:flex;flex-direction:column;gap:10px}.stack-lg{display:flex;flex-direction:column;gap:22px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.gap-s{gap:6px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}button,.btn{font:inherit;font-weight:700;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--fg);padding:9px 14px;cursor:pointer;min-height:42px;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button:disabled{opacity:.6;cursor:default}button.primary,.btn.primary{background:var(--leaf);border-color:var(--leaf);color:var(--surface)}button.ghost{background:transparent}button.small{min-height:34px;padding:5px 10px;font-size:.88rem}button.danger{color:var(--crit);border-color:var(--crit)}button.wide{width:100%}button.linklike{border:none;background:none;padding:0;min-height:0;color:var(--leaf);text-decoration:underline;font-weight:700}:focus-visible{outline:3px solid var(--water);outline-offset:2px}label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700;color:var(--muted);min-width:0}input,select,textarea{font:inherit;font-size:1rem;color:var(--fg);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 10px;min-height:44px;width:100%}select.inline{width:auto;min-height:34px;padding:4px 8px}textarea{min-height:64px;resize:vertical}.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.form .full{grid-column:1 / -1}details summary{cursor:pointer}.task{display:grid;grid-template-columns:6px 1fr;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}.task .stripe{background:var(--sev)}.task .body{padding:12px 12px 12px 0;display:flex;flex-direction:column;gap:4px;min-width:0}.task .ttl{font-weight:700}.sev-crit{--sev: var(--crit)}.sev-warn{--sev: var(--warn)}.sev-info{--sev: var(--info)}.pill{display:inline-flex;align-items:center;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px;background:var(--leaf-soft);color:var(--leaf)}.pill.warn{background:var(--warn-soft);color:var(--warn)}.pill.crit{background:var(--crit-soft);color:var(--crit)}.pill.water{background:var(--water-soft);color:var(--water)}.readings{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.readings.three,.readings.six{grid-template-columns:repeat(3,minmax(0,1fr))}.readings.two{grid-template-columns:repeat(2,minmax(0,1fr))}.rd{background:var(--bg);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:2px;min-width:0}.rd .v{font-family:var(--f-mono);font-weight:700;font-size:1.15rem;font-variant-numeric:tabular-nums}.rd .k{font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:700}.rd .t{font-size:.72rem;color:var(--muted)}.rd.bad .v{color:var(--crit)}.rd.meh .v{color:var(--warn)}.rd.good .v{color:var(--ok)}.lid{display:flex;gap:10px;flex-wrap:wrap;background:var(--water-soft);border-radius:10px;padding:12px}.lid.tray{background:var(--leaf-soft);gap:8px}.cup{width:92px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;background:none;border:none;padding:0;min-height:0;font-weight:400;color:var(--fg)}.cup .ring{width:64px;height:64px;border-radius:50%;border:3px dashed var(--water);display:grid;place-items:center;font-family:var(--f-mono);font-weight:700;font-size:.95rem;background:var(--surface)}.lid.tray .cup{width:62px}.lid.tray .ring{width:44px;height:44px;border-radius:8px;font-size:.78rem}.cup.filled .ring{border-style:solid;border-color:var(--leaf);background:var(--leaf-soft);color:var(--leaf)}.cup.filled.waiting .ring{border-style:dashed;background:var(--surface)}.cup.sel .ring{outline:3px solid var(--fg);outline-offset:2px}.cup .cap{font-size:.75rem;line-height:1.2;color:var(--muted)}nav.tabs{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom,0px);z-index:5}nav.tabs button{flex:1;max-width:130px;border:none;border-radius:0;background:transparent;color:var(--muted);font-size:.8rem;padding:10px 2px;min-height:56px}nav.tabs button[aria-selected=true]{color:var(--leaf);box-shadow:inset 0 3px 0 var(--leaf)}.tl{display:flex;height:34px;border-radius:8px;overflow:hidden;border:1px solid var(--line)}.tl div{display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;overflow:hidden;white-space:nowrap;padding:0 3px;min-width:0}.tl div:nth-child(1){background:var(--water-soft)}.tl div:nth-child(2){background:var(--leaf-soft)}.tl div:nth-child(3){background:color-mix(in srgb,var(--leaf) 35%,var(--surface))}.tl div:nth-child(4){background:color-mix(in srgb,var(--leaf) 55%,var(--surface))}.tl div:nth-child(5){background:var(--warn-soft)}.tblwrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.88rem}th,td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}td.num{font-family:var(--f-mono);font-variant-numeric:tabular-nums;white-space:nowrap}ul.steps{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.seg{display:flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}.seg button{border:none;border-radius:0;flex:1}.seg button[aria-pressed=true]{background:var(--leaf);color:var(--surface)}.empty{border:1px dashed var(--line);border-radius:var(--r);padding:18px;text-align:center;color:var(--muted)}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(72px + env(safe-area-inset-bottom,0px));background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:10px;font-weight:700;z-index:9;max-width:calc(100% - 32px)}.chart svg{width:100%;height:auto;display:block}.chart svg text{font-family:var(--f-mono)}.logitem{display:grid;grid-template-columns:1fr auto;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.logitem:last-child{border-bottom:none}.keybox{background:var(--bg);border-radius:8px;padding:10px;display:flex;flex-direction:column;gap:8px}.wrapcode{font-family:var(--f-mono);font-size:.82rem;word-break:break-all;flex:1}pre.code{font-family:var(--f-mono);font-size:.78rem;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px;overflow-x:auto;margin:0}.signin{max-width:440px;padding-block:12vh 40px}.signin .brand{font-size:2.8rem;color:var(--leaf)}.signin .lede{font-size:1.1rem;margin:0}.signin .btn{width:100%}@media (max-width: 460px){.readings,.readings.six{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion: reduce){*{transition:none!important;scroll-behavior:auto!important}}
