Align website docs with module-less entrypoint and zero-arity semantics
## Summary
Align the `kit-website` documentation with the current Kit behavior around module-less files, top-level execution, `main`, and zero-arity auto-invocation.
This is the website-side follow-up to the canonical language/docs item in `kit-lang/kit-lang#250`, which came from the Reddit interpreter-behavior report:
https://www.reddit.com/r/kit_lang/comments/1u6iwqp/interpreter_behaviour/
## Related Work
- `kit-lang/kit-lang#250`: canonical language/docs alignment item
- `kit-lang/kit-lang#249`: interpreter/compiler parity and crash bug for forward-referenced top-level zero-arity bindings
- `kit-lang/kit-website#2`: closed Hello World docs report where module-less `println` failed with T010
- `kit-lang/kit-lang#223`: zero-arity auto-call ergonomics and API traps
## Affected Website Areas
- `docs/2026.6.14/guide/diagnostics.html`: T010 currently describes missing module declarations as an imported-module issue, but current checking also rejects module-less executable files that do not define `main`.
- `docs/2026.6.14/guide/diagnostics.html`: W020 documents zero-arity auto-invocation, but not how it interacts with top-level final-expression execution or `main`.
- `docs/2026.6.14/guide/hello-world.html`: currently uses `module Hello`, which matches current behavior better than the repo README. Keep this aligned with whatever behavior is selected in `kit-lang/kit-lang#250`.
- `index.html`: says `kit run` and `kit build` have the same semantics. That should remain true as a product claim, but `kit-lang/kit-lang#249` currently shows a concrete parity break that needs fixing and regression coverage.
- CLI/entrypoint docs should clarify application manifest entrypoints versus file top-level execution where relevant.
## Current Behavior To Document Or Fix Upstream
A module-less top-level effect is rejected:
```kit
println "Hello, World!"
```
A `main` binding without a module declaration is accepted:
```kit
main = fn =>
println "Hello, Main!"
```
Source order changes what runs:
```kit
main = fn =>
println "Hello, Main!"
println "Hello, World!"
```
This prints only `Hello, World!`.
```kit
println "Hello, World!"
main = fn =>
println "Hello, Main!"
```
This prints both lines because the generated top-level entry returns the last top-level value, and a returned zero-arity closure is auto-invoked.
## Acceptance Criteria
- Website docs are aligned with the final behavior selected in `kit-lang/kit-lang#250`.
- T010 docs explain both imported-module and executable-file cases accurately.
- Zero-arity docs explain the program-entry/final-expression interaction or link to a page that does.
- Hello World docs remain consistent with actual `kit run` behavior.
- The homepage run/build same-semantics claim remains accurate after `kit-lang/kit-lang#249` is fixed, or is temporarily softened until the parity bug is resolved.
- Cross-links to the related work items above are preserved.
## Notes
No local machine names, local usernames, or absolute local paths are required for this issue.
issue