:root{--bg: #14171a;--panel: #1b1f24;--panel-2: #22272e;--line: #2d333b;--text: #e6edf3;--muted: #9aa7b2;--bad: #f8766d;--warn: #e3b341;--calm: #6cb6ff;--ok: #57ab5a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f6f8fa;--panel: #ffffff;--panel-2: #f0f3f6;--line: #d8dee4;--text: #1f2328;--muted: #5a6670;--bad: #cf222e;--warn: #9a6700;--calm: #0969da;--ok: #1a7f37;color-scheme:light}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}main{max-width:54rem;margin:0 auto;padding:1rem 1rem calc(2rem + env(safe-area-inset-bottom))}.state{padding:3rem 1rem;text-align:center;color:var(--muted)}header .title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem}header h1{font-size:1.5rem;margin:.25rem 0}header .totals{margin:0 0 .75rem;color:var(--muted);font-size:.95rem}header .totals strong{color:var(--text)}.counters{display:grid;grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:.5rem;list-style:none;margin:0 0 1rem;padding:0}.counter{background:var(--panel);border:1px solid var(--line);border-radius:.6rem;padding:.5rem .4rem;text-align:center}.counter .value{display:block;font-size:1.3rem;font-weight:650;line-height:1.1}.counter .label{display:block;font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.counter.bad .value{color:var(--bad)}.counter.warn .value{color:var(--warn)}.filters{display:flex;gap:.4rem;margin-bottom:1rem;overflow-x:auto}.filters button{flex:0 0 auto;background:var(--panel);color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.45rem .9rem;font-size:.88rem;cursor:pointer}.filters button.active{background:var(--panel-2);color:var(--text);border-color:var(--calm)}.group{margin-bottom:.75rem}.group-head{width:100%;display:flex;align-items:center;gap:.5rem;background:var(--panel);border:1px solid var(--line);border-radius:.6rem;padding:.6rem .75rem;color:var(--text);font-size:.95rem;text-align:left;cursor:pointer}.chevron{color:var(--muted);width:1rem}.group-name{font-weight:600;flex:1}.group-counts{display:flex;gap:.5rem}.group-counts em{font-style:normal;font-size:.78rem;color:var(--muted)}.group-counts em.bad{color:var(--bad)}.group-counts em.warn{color:var(--warn)}.tasks{list-style:none;margin:.5rem 0 0;padding:0;display:flex;flex-direction:column;gap:.4rem}.task{display:flex;gap:.6rem;align-items:flex-start;background:var(--panel);border:1px solid var(--line);border-left:3px solid transparent;border-radius:.5rem;padding:.6rem .7rem}.task.overdue{border-left-color:var(--bad)}.tick{flex:0 0 auto;width:1.9rem;height:1.9rem;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:1rem;cursor:pointer}.tick:hover:not(:disabled){color:var(--ok);border-color:var(--ok)}.tick:disabled{opacity:.5;cursor:default}.task .body{flex:1;min-width:0;cursor:pointer}.task .title{margin:0 0 .3rem;font-size:.95rem;line-height:1.35}.task .meta{margin:0;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;font-size:.75rem;color:var(--muted)}.pill{border:1px solid var(--line);border-radius:999px;padding:.1rem .45rem;text-transform:lowercase}.pill.p-now{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 45%,var(--line))}.pill.p-next{color:var(--calm);border-color:color-mix(in srgb,var(--calm) 40%,var(--line))}.pill.p-later{color:var(--muted)}.pill.warn{color:var(--warn)}.project{color:var(--muted)}.due.bad{color:var(--bad);font-weight:600}.due.warn{color:var(--warn);font-weight:600}.detail{margin:.55rem 0 0;padding:.55rem;background:var(--panel-2);border-radius:.4rem;font-size:.78rem;line-height:1.45;white-space:pre-wrap;word-break:break-word;color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;max-height:22rem;overflow-y:auto}.empty{color:var(--muted);padding:1.5rem 0;text-align:center}.error{color:var(--bad)}.error.banner{background:color-mix(in srgb,var(--bad) 12%,var(--panel));border:1px solid color-mix(in srgb,var(--bad) 35%,var(--line));border-radius:.5rem;padding:.6rem .75rem;font-size:.85rem}footer{margin-top:1.5rem;color:var(--muted);font-size:.72rem}footer p{margin:.15rem 0}.signin{padding:2.5rem 1rem;text-align:center}
