:root{--bg:#fbfaf7;--surface:#fff;--surface-2:#f3f1ec;--fg:#1f2328;--muted:#646a72;--line:#e4e1da;--accent:#2f6f5e;--accent-fg:#fff;--accent-soft:#e3efe9;--warn:#9a5b13;--warn-soft:#fbf0df;--stop:#a23b3b;--stop-soft:#f8e5e3;--radius:14px;--radius-sm:10px;--shadow:0 1px 2px #0000000d, 0 2px 8px #0000000a;--tap:52px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--fg);background:var(--bg);-webkit-text-size-adjust:100%;font:17px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#15171a;--surface:#1d2024;--surface-2:#24282d;--fg:#e8e8e6;--muted:#9aa0a6;--line:#2e3238;--accent:#6cc4a8;--accent-fg:#0d1f19;--accent-soft:#1d332c;--warn:#e2a65a;--warn-soft:#33281a;--stop:#e58a8a;--stop-soft:#3a2222}}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{min-height:100dvh}h1{letter-spacing:-.01em;margin:0 0 .5rem;font-size:1.6rem;line-height:1.2}h2{margin:1.5rem 0 .5rem;font-size:1.2rem}h3{margin:1rem 0 .25rem;font-size:1rem}p{margin:.4rem 0}a{color:var(--accent)}.muted{color:var(--muted)}.small{font-size:.875rem}.center{text-align:center}.stack>*+*{margin-top:.75rem}.row{align-items:center;gap:.5rem;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1}.screen{max-width:560px;padding:1rem 1rem calc(5.5rem + env(safe-area-inset-bottom));margin:0 auto}.screen.has-actions{padding-bottom:calc(12.5rem + env(safe-area-inset-bottom))}.topbar{align-items:center;gap:.5rem;min-height:48px;margin-bottom:.5rem;display:flex}.topbar .title{flex:1;font-weight:600}.bottom-actions{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:linear-gradient(to top, var(--bg) 70%, transparent);position:fixed;bottom:0;left:0;right:0}.bottom-actions>.inner{gap:.5rem;max-width:560px;margin:0 auto;display:grid}button,.btn{font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--fg);min-height:var(--tap);border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:.5rem;padding:0 1.1rem;text-decoration:none;transition:transform 60ms;display:inline-flex}button:active{transform:scale(.98)}button:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-fg);border-color:var(--accent);font-weight:600}.btn-quiet{color:var(--accent);background:0 0;border-color:#0000;min-height:44px;padding:0 .5rem}.btn-block{width:100%}.btn-danger{color:var(--stop)}.icon-btn{background:0 0;border-color:#0000;min-width:44px;min-height:44px;padding:0;font-size:1.3rem}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem}.card.soft{background:var(--accent-soft);box-shadow:none;border-color:#0000}.card.warn{background:var(--warn-soft);box-shadow:none;border-color:#0000}.card.stop{background:var(--stop-soft);box-shadow:none;border-color:#0000}.card-link{color:inherit;text-decoration:none;display:block}.chips{flex-wrap:wrap;gap:.5rem;display:flex}.chip{border:1px solid var(--line);background:var(--surface);border-radius:999px;min-height:44px;padding:0 .9rem;font-size:.95rem}.chip[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.choice-grid{grid-template-columns:1fr 1fr;gap:.6rem;display:grid}.choice{border-radius:var(--radius);flex-direction:column;gap:.15rem;min-height:72px;font-weight:600}.choice .sub{color:var(--muted);font-size:.8rem;font-weight:400}.choice[aria-pressed=true]{outline:3px solid var(--accent);outline-offset:-3px}label.field{display:block}label.field>span{margin-bottom:.3rem;font-weight:600;display:block}input[type=text],input[type=date],input[type=datetime-local],input[type=number],textarea,select{font:inherit;width:100%;min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);color:var(--fg);padding:.6rem .8rem}textarea{resize:vertical;min-height:88px}.stepper{align-items:center;gap:.25rem;display:inline-flex}.stepper button{border-radius:999px;min-width:44px;min-height:44px;padding:0;font-size:1.2rem}.stepper output{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;font-weight:700}.progress{background:var(--surface-2);border-radius:999px;height:8px;overflow:hidden}.progress>div{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.badge{background:var(--surface-2);color:var(--muted);border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge.accent{background:var(--accent-soft);color:var(--accent)}.badge.warn{background:var(--warn-soft);color:var(--warn)}.timer{font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:3rem;font-weight:700}.sheet-backdrop{z-index:20;background:#00000059;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--bg);width:100%;max-width:560px;padding:1rem 1rem calc(1rem + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;max-height:90dvh;margin:0 auto;overflow:auto}.checklist{margin:0;padding:0;list-style:none}.checklist li{align-items:flex-start;gap:.6rem;padding:.4rem 0;display:flex}.checklist .tick{border:2px solid var(--line);border-radius:50%;flex:none;place-items:center;width:1.4rem;height:1.4rem;font-size:.8rem;display:grid}.checklist .tick.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.photo-thumb{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-2);width:100%}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
