:root{--bg:#f6f4ef;--card:#fff;--fg:#1f2421;--muted:#6b716c;--line:#e3e0d8;--sage:#528565;--sage-soft:#e6efe8;--warm:#e38c5c;--late:#cc4d40;
  --r:14px;font:16px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color-scheme:light dark}
@media (prefers-color-scheme:dark){:root{--bg:#141614;--card:#1d201e;--fg:#ecefe9;--muted:#9aa29b;--line:#2c312d;--sage:#88bf98;--sage-soft:#203026}}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg)}
a{color:var(--sage)}.wrap{max-width:680px;margin:0 auto;padding:24px 16px 64px}
header.top{display:flex;align-items:center;gap:10px;padding:14px 16px;max-width:680px;margin:0 auto}
.brand{font-weight:700;font-size:18px;color:var(--fg);text-decoration:none;display:flex;align-items:center;gap:8px}
.dot{width:22px;height:22px;border-radius:7px;background:var(--sage);display:inline-block}
h1{font-size:30px;line-height:1.15;margin:8px 0 12px}h2{font-size:20px;margin:28px 0 8px}
.muted{color:var(--muted)}.small{font-size:14px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin:12px 0}
.btn{appearance:none;border:0;border-radius:12px;background:var(--sage);color:#fff;font:600 16px/1 inherit;padding:14px 18px;cursor:pointer;width:100%}
.btn.ghost{background:transparent;color:var(--sage);border:1px solid var(--line)}
.btn:disabled{opacity:.5;cursor:default}
input,textarea,select{width:100%;font:inherit;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--card);color:var(--fg)}
textarea{min-height:90px;resize:vertical}label{display:block;font-size:14px;color:var(--muted);margin:12px 0 6px}
.row{display:flex;gap:8px;align-items:center}.grow{flex:1}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:6px 0 14px}.tabs button{flex:0 0 auto;border:1px solid var(--line);background:var(--card);color:var(--fg);border-radius:999px;padding:8px 14px;font:500 15px inherit;cursor:pointer}
.tabs button.on{background:var(--sage);border-color:var(--sage);color:#fff}
.item{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line)}.item:first-child{border-top:0}
.check{width:28px;height:28px;border-radius:50%;border:2px solid var(--line);flex:0 0 auto;cursor:pointer;background:none;display:grid;place-items:center;color:#fff;font-weight:700}
.check.done{background:var(--sage);border-color:var(--sage)}.check.skip{background:var(--muted);border-color:var(--muted)}
.late{color:var(--late)}.tag{font-size:12px;border-radius:999px;padding:2px 8px;background:var(--sage-soft);color:var(--sage)}
.bubble{background:var(--sage-soft);border-radius:14px;padding:10px 12px;margin:6px 0}.bubble.mine{background:var(--sage);color:#fff;margin-left:20%}
.err{color:var(--late);font-size:14px;min-height:20px;margin-top:8px}
.hidden{display:none!important}
footer{max-width:680px;margin:0 auto;padding:24px 16px;color:var(--muted);font-size:14px}
.prose p,.prose li{max-width:62ch}
