:root{--bg:#f8f5ef;--surface:#fffefa;--field:#fcfaf6;--text:#403a33;--muted:#706457;--border:#e7e1d6;--input-border:#b9b3a5;--accent:#526b53;--accent-text:#fff;--accent-soft:#edf1e8;--accent-ink:#435a43;--hero:#eeeadd;--danger:#b42318;--warn-bg:#fff3dc;--warn-text:#7a4b00;--shadow:0 2px 12px #4c3c270a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;font-size:16px;line-height:1.6}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1d1714;--surface:#2a221d;--field:#231c18;--text:#f3eae2;--muted:#c4b2a5;--border:#3d322b;--input-border:#5a4a40;--accent:#b4c9a5;--accent-text:#1c2b1b;--accent-soft:#303c2d;--accent-ink:#c1d5b4;--hero:#34352a;--danger:#ff8a80;--warn-bg:#3d3115;--warn-text:#ffd58a;--shadow:0 1px 2px #0000004d, 0 6px 20px #00000040}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);accent-color:var(--accent);-webkit-tap-highlight-color:transparent;margin:0}h1{letter-spacing:.02em;font-size:1.3rem}h2{letter-spacing:.02em;margin:0 0 .75rem;font-size:1.05rem}h3{margin:0 0 .75rem;font-size:1rem}header.top{z-index:1;background:var(--surface);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem max(.75rem,50% - 19rem);display:flex;position:sticky;top:0}.brand{align-items:center;gap:.6rem;min-width:0;display:flex}.brand h1{margin:0;font-size:1rem;line-height:1.3}.brand .muted{text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;display:block;overflow:hidden}.brand>div{min-width:0}.top-actions{flex:none;align-items:center;gap:.25rem;display:flex}.top-actions button{padding:.5rem .6rem}select.lang-top{width:auto;min-height:44px;padding:.3rem .35rem;font-size:.85rem}.version{text-align:center;color:var(--muted);margin:1.5rem 0 0;font-size:.8rem}.cats{flex:none;width:3rem;height:auto}.pair{width:min(15rem,100%);margin:0 auto .75rem}.pair img{width:100%;height:auto;display:block}.pair figcaption{letter-spacing:.12em;color:var(--muted);margin-top:.35rem;font-size:.8rem}.cat-welcome{background:var(--hero);border-radius:1.25rem;grid-template-columns:minmax(0,1fr) 7rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.85rem 1rem;display:grid}.cat-welcome img{width:100%;height:auto;display:block}.cat-welcome p{margin:0}.cat-welcome .cat-names{letter-spacing:.08em;color:var(--muted);margin-bottom:.2rem;font-size:.7rem}.cat-greeting{font-size:1.05rem;font-weight:700;line-height:1.4}.cat-welcome .cat-caption{color:var(--muted);margin-top:.35rem;font-size:.8rem;line-height:1.5}button.quiet{color:var(--muted);background:0 0;border-color:#0000;flex:none}.welcome{text-align:center;margin:1rem 0 1.5rem}.login-page{max-width:28rem;padding-bottom:2rem}.welcome h1{margin:.5rem 0 .25rem}.welcome p{color:var(--muted);margin:0}button.wide{width:100%}.lang-login{max-width:14rem;margin:0 auto}main{max-width:40rem;margin:0 auto;padding:1rem 1rem 6.5rem}nav.tabs{z-index:2;padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -1px 0 var(--border), 0 -4px 16px #4c3c270a;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs a{min-width:0;min-height:52px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:.1rem;font-size:.8rem;text-decoration:none;display:flex}nav.tabs svg{border-radius:999px;width:2.75rem;height:1.75rem;padding:.2rem .6rem}nav.tabs a[aria-current=page]{color:var(--accent-ink);font-weight:700}nav.tabs a[aria-current=page] svg{background:var(--accent-soft)}button,input,select,textarea{font:inherit;font-size:1rem}input,select,textarea{border:1px solid var(--input-border);background:var(--field);width:100%;min-height:46px;color:var(--text);border-radius:.75rem;padding:.5rem .8rem}input[type=radio],input[type=checkbox]{width:1.1rem;height:1.1rem;min-height:0;margin:0}button{border:1px solid var(--input-border);background:var(--surface);min-height:44px;color:var(--text);cursor:pointer;border-radius:999px;padding:.5rem 1.1rem}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);padding-inline:1.4rem;font-weight:700}button:disabled{opacity:.55;cursor:not-allowed}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:0;border-color:var(--accent)}label,legend{margin-bottom:.3rem;font-weight:700;display:block}fieldset{border:0;margin:0;padding:0}.field{margin-bottom:1rem}.card{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:1.25rem;margin-bottom:1rem;padding:1.25rem}.error{color:var(--danger)}.banner{background:var(--warn-bg);color:var(--warn-text);margin:0;padding:.6rem 1rem}.muted{color:var(--muted)}.hint{color:var(--muted);margin:.3rem 0 0;font-size:.9rem}.field>.error,fieldset>.error{margin:.3rem 0 0}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--danger)}.ok{color:var(--accent-ink)}.big{margin:0;font-size:1.2rem;font-weight:700}.row{grid-template-columns:1fr 1fr;gap:0 .75rem;display:grid}.row>*{min-width:0}@media (width<=340px){.row{grid-template-columns:1fr}}.quick{flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem;display:flex}button.chip{min-height:44px;padding:.3rem .85rem;font-size:.95rem}button.chip[aria-pressed=true]{border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink)}.quick-edit .list>li.quick-row{align-items:center;gap:.5rem;display:flex}.quick-row .name{overflow-wrap:anywhere;flex:1 1 0;min-width:0}.quick-row .actions{flex:none;gap:.35rem;display:flex}.quick-row .actions button{min-width:2.75rem;padding:.3rem .6rem}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.batch{margin:0 0 .75rem;padding:0;list-style:none}.batch-row{border-top:1px solid var(--border);padding:.6rem 0}.batch-line{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.batch-line>select:first-child{flex:0 8.5rem;width:auto}.batch-line .time-compact{flex:1;min-width:0}@media (width<=380px){.batch-line:has(.time-compact){grid-template-columns:minmax(0,1fr) auto;display:grid}.batch-line:has(.time-compact)>select:first-child{grid-column:1/-1;width:100%}}.batch-line .grow{flex:1;min-width:0}.batch-line input.amount{flex:0 0 5rem}.batch-line button.unit{flex:none;min-width:2.8rem}.batch-line button.quiet{flex:none;min-width:2.5rem;padding:.3rem}.batch-row input.note{min-height:40px}.time-pick{align-items:center;gap:.3rem;display:flex}.time-pick select{flex:1;min-width:0;padding-inline:.5rem}.choices{flex-wrap:wrap;gap:.5rem;display:flex}label.choice{border:1px solid var(--input-border);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:.45rem;min-height:44px;margin:0;padding:0 1rem;font-weight:400;display:flex}label.choice:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent-ink);font-weight:700}.segmented{background:var(--accent-soft);border-radius:999px;gap:.25rem;margin-bottom:1rem;padding:.25rem;display:flex}.segmented button{color:var(--accent-ink);background:0 0;border-color:#0000;flex:1}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--accent-ink);font-weight:700;box-shadow:0 1px 3px #6e462826}details>summary{min-height:44px;color:var(--muted);cursor:pointer;align-items:center;display:flex}.actions{flex-wrap:wrap;gap:.5rem;margin-top:.75rem;display:flex}.actions+label{margin-top:1rem}.list button.pending-title{font-weight:700}.history-day{border-top:2px solid var(--border);padding-top:.75rem}.history-day h3{margin:0 0 .25rem}textarea{resize:vertical;line-height:1.6}h2+.hint{margin:-.5rem 0 1rem}.conflict{border:1px solid var(--danger);border-radius:.9rem;margin:.75rem 0;padding:.75rem 1rem}.conflict p{margin:0 0 .5rem}.confirm{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}button.danger{border-color:var(--danger);color:var(--danger);font-weight:700}.list{margin:0 0 1rem;padding:0;list-style:none}.list>li{border-top:1px solid var(--border);padding:.25rem 0}.list button.row-text{width:100%;min-height:44px;color:var(--text);text-align:left;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:0;padding:.2rem 0}.list button.row-text:active{background:var(--accent-soft)}.list button.row-text[aria-expanded=true]{font-weight:700}.list .row-head>span.row-text{overflow-wrap:anywhere;flex:1 1 0;min-width:0;padding:.35rem 0}.list .row-head>.actions{flex:none;gap:.4rem;display:flex}.list .row-head>.actions button{min-height:36px;padding:.2rem .8rem}.list>li>.actions{gap:.5rem;margin-top:.3rem;display:flex}.list .row-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.voided{color:var(--muted);text-decoration:line-through}.subform{background:var(--bg);border-radius:1rem;margin-top:.75rem;padding:1rem}#insulin .subform{background:0 0;margin-top:0;padding:0}.token{font-family:ui-monospace,Cascadia Mono,Consolas,monospace}
