Newbie CSS question. I thought `width:auto` for a `display:block` element meant 'fill available space'. However for an `<input>` element this doesn't seem to be the case. For example:

```html
<body>
  <form style='background:red'>
    <input type='text' style='background:green; display:block; width:auto'>
  </form>
</body>
```

Two questions then:

1. Is there a definition of exactly what `width:auto` does mean? The CSS spec seems vague to me, but maybe I missed the relevant section.
2. Is there a way to achieve my expected behavior for a input field - ie. fill available space like other block level elements do?

Thanks!