:root{--bg:#f6f7f5;--surface:#ffffff;--text:#17201b;--muted:#5d6b63;--border:#dfe4e0;--accent:#0f6b4f;--accent-text:#ffffff;--error-bg:#fdecec;--error-text:#a01d1d;--radius:12px;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--bg:#101512;--surface:#18201b;--text:#e6ece8;--muted:#9aa8a0;--border:#2a352f;--accent:#3fb68b;--accent-text:#0b1410;--error-bg:#3a1717;--error-text:#ffb3b3}}*{box-sizing:border-box}body,html{margin:0}body{background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}a{color:var(--accent)}h1,h2{line-height:1.2;margin:0 0 .5rem}h1{font-size:2rem}h2{font-size:1.15rem}.muted{color:var(--muted);margin:0}.eyebrow{margin:0 0 .25rem;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.button{display:inline-block;margin-top:1.5rem;padding:.7rem 1.4rem;border-radius:999px;background:var(--accent);color:var(--accent-text);font-weight:600;text-decoration:none}.error{margin:1rem 0 0;padding:.6rem .8rem;border-radius:8px;background:var(--error-bg);color:var(--error-text)}.login{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-card{width:100%;max-width:380px;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);text-align:center}.topbar{justify-content:space-between;gap:1rem;padding:.9rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.nav,.topbar{display:flex;align-items:center}.nav{gap:1.25rem}.nav a{color:var(--text);text-decoration:none}.nav a[aria-current=page]{color:var(--accent);font-weight:600}.brand{font-weight:700}.account{display:flex;align-items:center;gap:1rem;font-size:.9rem;min-width:0}.account .muted{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page{max-width:960px;margin:0 auto;padding:2rem 1rem 3rem}.intro{margin-bottom:2rem}.areas{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.card{display:flex;flex-direction:column;gap:.25rem;padding:1.25rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.tag{align-self:flex-start;margin-top:.75rem;padding:.15rem .6rem;border-radius:999px;border:1px solid var(--border);font-size:.75rem;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page.narrow{max-width:680px}.card h2 a{color:inherit;text-decoration:none}.stat{margin:.25rem 0;font-size:1.05rem}.stat strong{font-size:1.6rem}.card-link{margin-top:auto;padding-top:.75rem;font-weight:600;text-decoration:none}.overdue{color:var(--error-text);font-weight:600}button.button{border:0;font:inherit;cursor:pointer;margin-top:0}button.button:disabled{opacity:.6;cursor:default}.button.secondary{background:transparent;color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.button.danger{background:transparent;color:var(--error-text);box-shadow:inset 0 0 0 1px var(--error-text)}.task-form{display:flex;flex-direction:column;gap:1rem}.task-form.quick{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:.6rem}.task-form.quick .error{flex-basis:100%;margin:0}.field{display:flex;flex-direction:column;gap:.3rem;font-size:.9rem;font-weight:600}.task-form.quick .field.grow{flex:1 1 220px}.field input,.field textarea{width:100%;padding:.6rem .7rem;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font:inherit;font-weight:400}.field textarea{resize:vertical}.button:focus-visible,.check:focus-visible,.field input:focus-visible,.field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.form-actions{display:flex;gap:.6rem}.task-form.quick .button{padding:.62rem 1.2rem}.add-task{margin:1rem 0 1.5rem}.tabs{display:flex;gap:.25rem;margin-bottom:.75rem;border-bottom:1px solid var(--border)}.tabs a{padding:.5rem .8rem;color:var(--muted);text-decoration:none;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a[aria-current=page]{color:var(--text);font-weight:600;border-bottom-color:var(--accent)}.tabs .count{color:var(--muted);font-weight:400;font-size:.85rem}.empty{padding:1.5rem 0}.task-list{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius)}.task{display:flex;align-items:flex-start;gap:.8rem;padding:.8rem 1rem}.task+.task{border-top:1px solid var(--border)}.check{flex:none;width:1.5rem;height:1.5rem;margin-top:.05rem;border:2px solid var(--muted);border-radius:50%;background:transparent;color:var(--accent-text);font-size:.85rem;line-height:1;cursor:pointer}.check:hover,.task.done .check{border-color:var(--accent)}.task.done .check{background:var(--accent)}.task-body{min-width:0;flex:1 1}.task-title{color:var(--text);font-weight:600;text-decoration:none;overflow-wrap:anywhere}.task-title:hover{text-decoration:underline}.task.done .task-title{color:var(--muted);text-decoration:line-through}.task-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .8rem;margin:.2rem 0 0;font-size:.85rem;color:var(--muted)}.task-meta .tag{margin:0}.notes-preview{min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-actions{display:flex;justify-content:space-between;gap:.75rem;margin-top:1rem}.page.narrow>.task-meta{margin-bottom:1rem}.topbar a{white-space:nowrap}@media (max-width:520px){.account .muted{display:none}}