docs: modernise the manual stylesheet, add dark mode [skip ci]

Layer a modern look over the existing manual.css: system font stack,
larger base size and line-height, a flex header bar, lighter headings
without the blue bars, softer callouts, tables and code blocks, and a
tidier quickview sidebar, breadcrumb and footer. Content links stay
underlined (WCAG 1.4.1).

Dark mode follows the reader's OS setting via prefers-color-scheme and
is limited to screen media, so printing is unaffected.

CSS only: no markup, XML, translation or build changes.

Discussed on docs@httpd.apache.org (+1 from Rich Bowen).
Preview: https://httpd-docs-preview.jason-9eb.workers.dev/docs/trunk/bind.html
diff --git a/docs/manual/style/css/manual.css b/docs/manual/style/css/manual.css
index 4084e68..526cfa4 100644
--- a/docs/manual/style/css/manual.css
+++ b/docs/manual/style/css/manual.css
@@ -1243,3 +1243,150 @@
         display: none;
     }
 }
+
+
+/* ==========================================================================
+ * Modern restyle of the manual.
+ *
+ * These rules are layered on top of the rules above, so they use
+ * !important to win. Dark mode follows the reader's OS setting through
+ * prefers-color-scheme and needs no JavaScript.
+ * ========================================================================== */
+
+
+/* ---- modern (light) ---- */
+html { font-size: 16px !important; }
+body {
+  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
+  color: #2b3a45 !important; background: #ffffff !important; line-height: 1.65 !important;
+}
+/* header */
+#page-header {
+  background: #1f2d3d !important; margin: 0 !important; padding: 16px 28px !important;
+  display: flex !important; flex-wrap: wrap !important; align-items: center !important; gap: 6px 18px !important;
+}
+#page-header img { order: -1 !important; display: block !important; width: 168px !important; height: auto !important; margin: 0 !important; padding: 0 !important; }
+#page-header p.apache {
+  background: transparent !important; color: #dfe8f1 !important; padding: 0 !important; margin: 0 !important;
+  text-align: left !important; font-size: .95rem !important; font-weight: 600 !important; line-height: 1.3 !important;
+}
+#page-header p.menu { order: 9 !important; flex-basis: 100% !important; text-align: left !important; margin: 4px 0 0 !important; padding: 0 !important; font-size: .82rem !important; }
+#page-header p.menu a { color: #9db4cc !important; text-decoration: none !important; }
+#page-header p.menu a:hover { color: #ffffff !important; text-decoration: underline !important; }
+/* breadcrumb */
+#path { margin: 16px 28px 26px !important; font-size: .85rem !important; color: #6a737d !important; }
+#path a { color: #57606a !important; }
+/* content */
+#page-content { padding: 0 28px 64px 28px !important; max-width: none; }
+@media (min-width: 901px) { #page-content { margin-right: 15.5em !important; } }
+@media (max-width: 900px) {
+  #page-header { padding: 12px 16px !important; }
+  #page-header img { width: 140px !important; }
+  #page-content { padding: 0 16px 48px 16px !important; }
+  #path { margin: 14px 16px 20px !important; }
+  #footer { margin-left: 16px !important; }
+  h1 { font-size: 1.6rem !important; }
+}
+#preamble p { color: #57606a !important; font-size: 1.06rem !important; }
+h1 { border: none !important; color: #0b1f33 !important; font-size: 2rem !important; line-height: 1.25 !important; margin: 8px 0 18px !important; font-weight: 700 !important; }
+h2 { background: none !important; color: #0b1f33 !important; font-size: 1.32rem !important; font-weight: 650 !important;
+     border-bottom: 1px solid #e6e9ec !important; padding: 0 0 8px !important; margin: 42px 0 14px !important; }
+.section h2, .directive-section h2, .category h2 { background: none !important; color: #0b1f33 !important; }
+h3 { color: #12304a !important; font-size: 1.12rem !important; margin: 28px 0 8px !important; background: none !important; }
+h4 { color: #12304a !important; background: none !important; }
+p, li, dd, td { color: #2b3a45 !important; }
+a:link, a:visited { color: #0a66c2 !important; text-decoration: none !important; }
+a:hover { text-decoration: underline !important; }
+/* Restore the underline cue for links in page content (WCAG 1.4.1: not colour alone) */
+#page-content a:link, #page-content a:visited {
+  text-decoration-line: underline !important;
+  text-underline-offset: 2px !important;
+  text-decoration-thickness: 1px !important;
+  text-decoration-color: color-mix(in srgb, currentColor 50%, transparent) !important;
+}
+#page-content a:hover { text-decoration-color: currentColor !important; }
+/* ...but not where position already signals a link */
+#page-content .toplang p a,
+#page-content a.permalink,
+#page-content a.permalink:visited { text-decoration: none !important; }
+/* code */
+code, pre, tt, kbd, samp { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace !important; }
+code { background: #f2f4f6 !important; padding: 1px 5px !important; border-radius: 5px !important; font-size: .9em !important; }
+pre.prettyprint, pre { background: #f6f8fa !important; border: 1px solid #e3e8ee !important;
+     border-left: 4px solid #1f2d3d !important; border-radius: 0 8px 8px 0 !important;
+     padding: 14px 18px !important; margin: 1.25em 0 !important; font-size: .9rem !important;
+     line-height: 1.5 !important; overflow: auto !important; tab-size: 4 !important; }
+pre code { background: transparent !important; padding: 0 !important; }
+code.module, code.module a:link, code.module a:visited { color: #b45309 !important; }
+code.directive, code.directive a:link, code.directive a:visited { color: #0f7b3f !important; }
+/* notes / examples */
+div.note { background: #eef6ff !important; border: none !important; border-left: 4px solid #0a66c2 !important;
+     border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; color: #243b53 !important; margin: 18px 0 !important; }
+div.warning { background: #fff4f4 !important; border: none !important; border-left: 4px solid #d13438 !important;
+     border-radius: 0 8px 8px 0 !important; padding: 12px 16px !important; color: #4a1f1f !important; }
+div.example { background: #f6f8fa !important; border: 1px solid #e3e8ee !important; border-radius: 8px !important;
+     padding: 2px 14px !important; color: #24292f !important; }
+/* an example that exists only to hold a code block: let the <pre> be the panel */
+div.example:has(> pre) { background: transparent !important; border: 0 !important; border-radius: 0 !important;
+     padding: 0 !important; margin: 0 !important; }
+div.outofdate, div.retired { background: #fff8e1 !important; color: #5c4813 !important; border-radius: 6px !important; padding: 8px 12px !important; }
+/* tables */
+table { border: 1px solid #e3e8ee !important; border-collapse: collapse !important; }
+th, td { border-color: #e3e8ee !important; padding: 8px 12px !important; }
+tr.header th, tr.header { background: #f2f5f8 !important; color: #12304a !important; }
+tr.odd { background: #fafbfc !important; }
+table.qref td { border-color: #e3e8ee !important; }
+/* sidebar */
+#quickview { background: #f8fafc !important; border: 1px solid #e3e8ee !important; border-radius: 10px !important;
+     box-shadow: 0 1px 3px rgba(16,24,40,.06) !important; padding: 12px !important; }
+#quickview h3 { color: #12304a !important; font-size: .95rem !important; }
+#quickview li { font-size: .85rem !important; }
+#quickview a { color: #486581 !important; text-decoration: none !important; }
+#quickview a:hover { color: #0a66c2 !important; }
+/* footer + misc */
+#footer { border-top: 1px solid #e6e9ec !important; color: #6a737d !important; font-size: .82rem !important; margin-left: 28px !important; }
+#footer a { color: #57606a !important; }
+.toplang { background: #f2f5f8 !important; border-radius: 6px !important; padding: 6px 10px !important; font-size: .85rem !important; }
+.toplang p span { color: #57606a !important; }
+div.up, div.top { display: none !important; }
+.lang-toggle, .qv-toggle { background: #2f4a63 !important; color: #fff !important; border: none !important; border-radius: 999px !important; }
+
+@media screen and (prefers-color-scheme: dark) {
+
+/* ---- modern (dark) ---- */
+html { color-scheme: dark; }
+body { background: #0f1419 !important; color: #d7dde5 !important; }
+#page-header { background: #0b1117 !important; }
+h1, h2, h3, h4, .section h2,
+.directive-section h2, .category h2 { color: #e6edf3 !important; }
+h2 { border-bottom-color: #2a323c !important; }
+p, li, dd, td { color: #c3ccd6 !important; }
+#preamble p { color: #9aa7b4 !important; }
+a:link, a:visited { color: #6cb6ff !important; }
+#page-content a:link, #page-content a:visited {
+  text-decoration-color: color-mix(in srgb, currentColor 55%, transparent) !important;
+}
+#page-content a:hover { text-decoration-color: currentColor !important; }
+code { background: #1c232b !important; color: #e6edf3 !important; }
+pre, pre.prettyprint { background: #161b22 !important; border-color: #2a323c !important;
+     border-left-color: #4c7db8 !important; }
+.prettyprint .pln { color: #c9d1d9 !important; }
+.prettyprint .str, .prettyprint .atv { color: #a5d6a7 !important; }
+.prettyprint .kwd, .prettyprint .fun, .prettyprint .atn { color: #82aaff !important; }
+.prettyprint .com { color: #6b7681 !important; }
+.prettyprint .typ, .prettyprint .dec, .prettyprint .var { color: #f78c6c !important; }
+.prettyprint .lit, .prettyprint .tag { color: #7fdbca !important; }
+table, th, td, table.qref td { border-color: #2a323c !important; }
+tr.header th, tr.header { background: #182029 !important; color: #e6edf3 !important; }
+tr.odd { background: #141a20 !important; }
+div.note { background: #10202f !important; color: #c9d6e4 !important; border-left-color: #3d8bfd !important; }
+div.warning { background: #2a1416 !important; color: #f0c9c9 !important; border-left-color: #e05555 !important; }
+div.example { background: #161b22 !important; border-color: #2a323c !important; color: #d7dde5 !important; }
+div.outofdate, div.retired { background: #2e2712 !important; color: #e8d9a0 !important; }
+#quickview { background: #12181f !important; border-color: #2a323c !important; }
+#quickview h3 { color: #cbd6e2 !important; }
+#quickview a { color: #9db4cc !important; }
+#path, #footer { color: #8b98a5 !important; }
+#path a, #footer a { color: #9db4cc !important; }
+.toplang { background: #161d25 !important; }
+}