:root{--bg:#fbf7f2;--surface:#fff;--field:#fffaf6;--text:#3b2f2a;--muted:#7a6559;--border:#ece0d5;--input-border:#cbb5a4;--accent:#b4532a;--accent-text:#fff;--accent-soft:#fcefe6;--accent-ink:#9a4321;--danger:#b42318;--warn-bg:#fff3dc;--warn-text:#7a4b00;--shadow:0 1px 2px #6e46280f, 0 6px 20px #6e462812;--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:#f2a27c;--accent-text:#2a140a;--accent-soft:#43302a;--accent-ink:#f2a27c;--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(--bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:.5rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.brand{align-items:center;gap:.6rem;min-width:0;display:flex}.brand h1{margin:0;font-size:1.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:40px;padding:.3rem .35rem;font-size:.85rem}.version{text-align:center;color:var(--muted);margin:1.5rem 0 0;font-size:.8rem}.mark{flex:none;width:2.5rem;height:2.5rem}.cats{flex:none;display:flex}.cats>:first-child{z-index:1;position:relative}.cats>:last-child{margin-left:-.9rem}.pair{justify-content:center;gap:1.75rem;display:flex}.pair figure{margin:0}.pair figcaption{color:var(--muted);font-size:.85rem}button.quiet{color:var(--muted);background:0 0;border-color:#0000;flex:none}.welcome{text-align:center;margin:2rem 0 1.5rem}.welcome .mark{width:5rem;height:5rem}.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{padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -1px 0 var(--border), 0 -6px 20px #6e46280f;display:flex;position:fixed;bottom:0;left:0;right:0}nav.tabs a{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}}.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}.pending{border-top:1px solid var(--border);padding:.75rem 0}.pending-title{margin:0 0 .5rem;font-weight:700}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:.7rem 0}.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}
