:root{color-scheme:light;--bg: #f6f3ee;--surface: #ffffff;--ink: #1e2421;--ink-2: #47504b;--muted: #646b66;--line: #e2ddd3;--primary: #1f5f57;--primary-ink: #ffffff;--primary-soft: #e3efec;--ok: #1d6b3b;--ok-soft: #e3f1e7;--late: #9a3412;--late-soft: #fdebdd;--gap: #7a4a00;--gap-soft: #fff0d4;--focus: #1f5f57;--radius: 16px;--shadow: 0 1px 2px rgba(30, 36, 33, .06), 0 4px 16px rgba(30, 36, 33, .05)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #111413;--surface: #1b1f1d;--ink: #eef1ef;--ink-2: #c4cbc7;--muted: #9aa39e;--line: #2d3330;--primary: #6cc5b4;--primary-ink: #0d1a17;--primary-soft: #1c302c;--ok: #7fd39a;--ok-soft: #173023;--late: #ffad85;--late-soft: #3a2017;--gap: #ffcf73;--gap-soft: #362a12;--focus: #6cc5b4;--shadow: none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font:18px/1.5 Atkinson Hyperlegible,system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:6px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app{max-width:560px;margin:0 auto;min-height:100dvh;padding:0 16px calc(96px + env(safe-area-inset-bottom))}.top{padding:20px 0 8px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.top h1{font-size:1.5rem;line-height:1.2;margin:0}.top .sub{margin:2px 0 0;color:var(--muted);font-size:.95rem}.demo-banner{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--primary-soft);color:var(--ink);font-size:.9rem;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.offline{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:var(--gap-soft);color:var(--gap);font-weight:700}section{margin-top:20px}h2{font-size:1.15rem;margin:0 0 8px;display:flex;justify-content:space-between;align-items:baseline;gap:8px}h2 .count{font-size:.9rem;font-weight:400;color:var(--muted)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.list{list-style:none;margin:0;padding:0}.list>li{padding:14px 16px;border-top:1px solid var(--line)}.list>li:first-child{border-top:0}.muted{color:var(--muted)}.small{font-size:.88rem}.empty{padding:20px 16px;color:var(--muted);text-align:center}.btn{min-height:48px;padding:10px 18px;border-radius:12px;border:2px solid transparent;background:var(--primary);color:var(--primary-ink);font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}a.btn{text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:transparent;color:var(--primary);border-color:var(--primary)}.btn.ghost{background:transparent;color:var(--primary);border-color:transparent;padding-inline:10px}.btn.block{width:100%}.link{background:none;border:0;color:var(--primary);text-decoration:underline;cursor:pointer;padding:4px;min-height:44px}.pill{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-weight:700;padding:3px 10px;border-radius:99px;white-space:nowrap}.pill.ok{background:var(--ok-soft);color:var(--ok)}.pill.late{background:var(--late-soft);color:var(--late)}.pill.gap{background:var(--gap-soft);color:var(--gap)}.pill.due{background:var(--primary-soft);color:var(--primary)}.pill.neutral{background:var(--bg);color:var(--muted)}.dose{display:grid;grid-template-columns:64px 1fr auto;gap:4px 12px;align-items:center}.dose .time{font-size:1.25rem;font-weight:700;font-variant-numeric:tabular-nums}.dose .what b{display:block}.dose .what span{color:var(--muted);font-size:.9rem}.dose .meta{grid-column:2 / -1;font-size:.9rem;color:var(--ink-2);display:flex;gap:8px;flex-wrap:wrap;align-items:center}.dose.is-late{background:var(--late-soft)}.dose.is-given .time{color:var(--muted)}.summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.summary div{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}.summary b{display:block;font-size:1.5rem;line-height:1.1}.summary span{font-size:.85rem;color:var(--muted)}.shift-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.shift-row .who{display:flex;flex-direction:column}.day-head{padding:12px 16px 4px;font-weight:700;color:var(--ink-2);border-top:1px solid var(--line)}.day-head:first-child{border-top:0}form.stack{display:grid;gap:14px}label.field{display:grid;gap:6px;font-weight:700}label.field small{font-weight:400;color:var(--muted)}input,select,textarea{min-height:48px;padding:10px 12px;border-radius:12px;border:2px solid var(--line);background:var(--surface);width:100%}input:focus,select:focus,textarea:focus{border-color:var(--primary);outline:none}.error{color:var(--late);font-weight:700;margin:0}details.add{margin-top:12px}details.add>summary{list-style:none;cursor:pointer}details.add>summary::-webkit-details-marker{display:none}.task{display:flex;gap:12px;align-items:flex-start}.task input[type=checkbox]{width:28px;height:28px;min-height:0;flex:none;margin-top:2px;accent-color:var(--primary)}.task.done .title{text-decoration:line-through;color:var(--muted)}.code{font-size:2rem;letter-spacing:.18em;font-weight:700;font-variant-numeric:tabular-nums;text-align:center;padding:16px}.tabs{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}.tabs ul{max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0}.tabs a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 2px 10px;min-height:60px;color:var(--muted);text-decoration:none;font-size:.78rem;font-weight:700}.tabs a[aria-current=page]{color:var(--primary)}.tabs svg{width:26px;height:26px}.badge{min-width:20px;height:20px;border-radius:10px;background:var(--late);color:var(--surface);font-size:.75rem;display:inline-grid;place-items:center;padding:0 5px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(84px + env(safe-area-inset-bottom));width:min(520px,calc(100% - 32px));background:var(--ink);color:var(--bg);border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;box-shadow:0 8px 24px #0003;animation:rise .2s ease-out}.toast .link{color:var(--bg);font-weight:700}@keyframes rise{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.entry{max-width:440px;margin:0 auto;padding:48px 16px}.entry h1{font-size:2rem;line-height:1.15;margin:16px 0 8px}.entry .lede{color:var(--ink-2);margin:0 0 24px}.mark{width:56px;height:56px;border-radius:16px;background:var(--primary);color:var(--primary-ink);display:grid;place-items:center}.choices{display:grid;gap:12px}.note{margin-top:24px;font-size:.85rem;color:var(--muted)}.skeleton{height:72px;border-radius:var(--radius);background:linear-gradient(90deg,var(--surface),var(--line),var(--surface));background-size:200% 100%;animation:shimmer 1.2s infinite;margin-top:16px}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.toast,.skeleton{animation:none}}
