:root{--bg:#f1f5f9;--card:#fff;--text:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#0284c7;--danger:#dc2626;color:var(--text);background:var(--bg);font-family:Arial,Helvetica,sans-serif}@media (prefers-color-scheme:dark){:root{--bg:#0b1220;--card:#111a2e;--text:#f1f5f9;--muted:#94a3b8;--border:#1e293b;--accent:#38bdf8}}*{box-sizing:border-box}body{background:var(--bg);place-items:start center;min-height:100vh;margin:0;padding:48px 16px;display:grid}.card{background:var(--card);border:1px solid var(--border);border-radius:16px;width:100%;max-width:560px;padding:28px}h1{margin:0;font-size:28px}.muted{color:var(--muted);font-size:14px}header p{margin:6px 0 20px}.add{gap:8px;margin-bottom:16px;display:flex}.add input{border:1px solid var(--border);color:var(--text);background:0 0;border-radius:8px;flex:1;padding:10px 12px;font-size:15px}button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:8px;padding:10px 16px;font-size:15px}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{color:var(--muted);background:0 0;padding:4px 8px}button.ghost:hover{color:var(--danger)}.error{color:var(--danger);font-size:14px}.tasks{margin:0;padding:0;list-style:none}.tasks li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.tasks label{cursor:pointer;align-items:center;gap:10px;display:flex}.tasks li.done span{color:var(--muted);text-decoration:line-through}.empty{text-align:center;padding:16px 0}footer{text-align:right;margin-top:20px;font-size:12px}
