:root{color-scheme:light dark;--bg: #fbfaf7;--surface: #ffffff;--text: #222222;--muted: #6b6a66;--border: #e4e1da;--accent: #2f5d50;--accent-contrast: #ffffff;--amber: #c47a2c;--danger: #a43a2c;--radius-card: 12px;--radius-input: 12px;--tap: 48px;--font: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}@media (prefers-color-scheme: dark){:root{--bg: #16191a;--surface: #1f2324;--text: #e8e6e1;--muted: #a09e98;--border: #33383a;--accent: #6fae9b;--accent-contrast: #10201b;--amber: #e0a050;--danger: #e58a7b}}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:1rem/1.5 var(--font);-webkit-font-smoothing:antialiased}h1{font-size:1.5rem;line-height:1.25;margin:0}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:1.5rem}.field{display:flex;flex-direction:column;gap:.375rem;font-weight:500}input{min-height:var(--tap);padding:0 .875rem;font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-input)}.btn-primary{min-height:var(--tap);padding:0 1.25rem;font:inherit;font-weight:600;color:var(--accent-contrast);background:var(--accent);border:0;border-radius:var(--radius-input);cursor:pointer;transition:filter .15s ease}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-primary:disabled{opacity:.6;cursor:default}.form-error{margin:0;color:var(--danger);font-weight:500}.status{padding:1rem;color:var(--muted)}.page{padding:1rem;max-width:40rem;margin:0 auto}.login{min-height:100dvh;display:grid;place-items:center;padding:1rem}.login-card{width:100%;max-width:24rem;display:flex;flex-direction:column;gap:1rem}@media (prefers-reduced-motion: reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.overview{max-width:35rem;padding:1.75rem 1rem 8rem}.overview-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.overview-head h1{font-weight:650;letter-spacing:-.01em}.saving{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;color:var(--muted)}.saving:before{content:"";width:.4rem;height:.4rem;border-radius:50%;background:var(--amber);animation:saving-pulse 1.6s ease-in-out infinite}@keyframes saving-pulse{50%{opacity:.35}}.quickadd{display:flex;flex-direction:column;gap:.625rem}.quickadd-input{width:100%;min-height:3.5rem;padding:0 1.125rem;font-size:1.125rem;background:var(--surface);border-radius:14px;transition:border-color .15s ease,box-shadow .15s ease}.quickadd-input::placeholder{color:var(--muted);opacity:1}.quickadd-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.quickadd-chips{display:flex;flex-wrap:wrap;gap:.5rem}.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 .875rem;font:inherit;font-size:.9375rem;color:var(--muted);background:transparent;border:1px dashed var(--border);border-radius:999px;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.chip[aria-expanded=true]{color:var(--accent);border-style:solid;border-color:var(--accent)}.chip-set{color:var(--text);border-style:solid;border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));padding-right:0;font-variant-numeric:tabular-nums;cursor:default}.chip-remove{min-width:44px;min-height:44px;padding:0;font:inherit;font-size:1.125rem;line-height:1;color:var(--muted);background:none;border:0;border-radius:999px;cursor:pointer}.chip-quiet{border-color:transparent}.picker,.quickadd-date{animation:unfold .16s ease-out}.picker{display:flex;flex-wrap:wrap;gap:.5rem;padding:.625rem;background:var(--surface);border:1px solid var(--border);border-radius:14px}.picker .chip{border-style:solid;color:var(--text)}.picker-custom,.quickadd-date{min-height:44px;background:var(--surface)}.quickadd-date{align-self:flex-start;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}@keyframes unfold{0%{opacity:0;transform:translateY(-4px)}}.group{margin-top:2rem}.group-head{display:flex;align-items:baseline;gap:.5rem;padding:0 .25rem .5rem}.group-head h2{margin:0;font-size:1rem;font-weight:600}.group-count{font-size:.875rem;color:var(--muted);font-variant-numeric:tabular-nums}.rows{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden}.rows :focus-visible{outline-offset:-3px}.row{display:flex;align-items:stretch;min-height:3.5rem}.row+.row{border-top:1px solid var(--border)}.check{flex:none;display:grid;place-items:center;width:3.25rem;min-height:3.5rem;padding:0;background:none;border:0;cursor:pointer}.check-mark{width:1.625rem;height:1.625rem;border:2px solid var(--muted);border-radius:50%;fill:none;stroke:transparent;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transition:border-color .15s ease,stroke .15s ease,background .15s ease}.row-checked .check-mark{background:var(--accent);border-color:var(--accent);stroke:var(--accent-contrast);stroke-dasharray:20;animation:tick-draw .28s ease-out both,tick-pop .32s cubic-bezier(.3,1.6,.5,1)}@keyframes tick-draw{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}@keyframes tick-pop{0%{transform:scale(.85)}to{transform:scale(1)}}.row-checked .row-main{animation:row-leave .35s ease-in .12s both}.row-checked .row-title{color:var(--muted);text-decoration:line-through;text-decoration-color:var(--muted)}@keyframes row-leave{to{opacity:.4}}.row-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem .75rem 0;font:inherit;color:inherit;text-align:left;background:none;border:0;cursor:pointer}.row-title{flex:1;min-width:0;overflow-wrap:anywhere}.row-hints{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:.125rem;font-size:.8125rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums}.empty{margin:4.5rem 0 0;text-align:center;color:var(--muted);font-size:1.0625rem}.empty:before{content:"";display:block;width:3rem;height:3rem;margin:0 auto 1rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 14%,transparent);box-shadow:0 0 0 .6rem color-mix(in srgb,var(--accent) 6%,transparent)}.toast{position:fixed;left:1rem;right:1rem;bottom:calc(1rem + env(safe-area-inset-bottom));max-width:33rem;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem;padding:0 .375rem 0 1.125rem;color:var(--bg);background:var(--text);border-radius:14px;box-shadow:0 8px 24px #0000002e;animation:toast-in .2s ease-out}.toast-undo{min-height:44px;padding:0 .875rem;font:inherit;font-weight:600;color:inherit;background:none;border:0;border-radius:10px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.toast-undo:focus-visible{outline-color:var(--bg)}@keyframes toast-in{0%{opacity:0;transform:translateY(.75rem)}}@media (hover: hover){button.chip:hover{color:var(--accent);border-color:var(--accent)}.chip-remove:hover{color:var(--text)}.check:hover .check-mark{border-color:var(--accent);stroke:color-mix(in srgb,var(--accent) 45%,transparent)}.toast-undo:hover{background:color-mix(in srgb,var(--bg) 12%,transparent)}}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:flex-end;justify-content:center;background:#0006;animation:sheet-fade .15s ease-out}.sheet{width:100%;max-width:35rem;max-height:92dvh;overflow-y:auto;display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem 1rem calc(1.25rem + env(safe-area-inset-bottom));background:var(--surface);border-radius:20px 20px 0 0;box-shadow:0 -8px 32px #0003;animation:sheet-up .2s ease-out}.sheet:focus{outline:none}@media (min-width: 40rem){.sheet-backdrop{align-items:center}.sheet{border-radius:20px;padding-bottom:1.25rem}}.sheet-title{width:100%;min-height:3.5rem;font-size:1.125rem;font-weight:600}.sheet-section{display:flex;flex-direction:column;align-items:flex-start;gap:.625rem}.sheet-section .picker{width:100%}.sheet-label{margin:0;font-size:.9375rem;font-weight:600;color:var(--muted)}.sheet-due{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.sheet-actions{display:flex;flex-direction:column;gap:.625rem}.btn-secondary,.btn-confirm{min-height:var(--tap);padding:0 1.25rem;font:inherit;font-weight:500;border-radius:var(--radius-input);cursor:pointer}.btn-secondary{color:var(--muted);background:none;border:1px solid var(--border)}.btn-confirm{color:var(--text);background:none;border:1px solid var(--muted);font-weight:600}.picker-custom-row{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.chip-confirm{color:var(--accent);border-style:solid;border-color:var(--accent)}.chip-confirm:disabled{opacity:.45;cursor:default}@keyframes sheet-up{0%{transform:translateY(2rem);opacity:0}}@keyframes sheet-fade{0%{opacity:0}}@media (prefers-reduced-motion: reduce){.sheet,.sheet-backdrop{animation:none}}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.push-prompt{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem;padding:1.125rem}.push-prompt-text{margin:0;font-weight:600}.push-prompt-tip{margin:0;font-size:.9375rem;color:var(--muted)}.push-prompt-actions{display:flex;flex-wrap:wrap;gap:.625rem}
