Files
goldeneye-pc-port/docs/_includes/head-custom.html
T
James Dansereau 64913054ce release: v0.4.0 site/README consistency + Web 1.0 re-skin
- Docs site: drop jekyll-theme-cayman for a hand-rolled _layouts/default.html
  (masthead band + middot text nav + footer with last-updated stamp and legal
  line; head re-plumbed with {% seo %}, viewport, favicon); head-custom.html
  fully rewritten to the chosen design tokens - charcoal/off-white/amber,
  Libre Baskerville headings over system sans, square corners, 1px borders,
  flat (no gradients/shadows), mermaid wrapper re-skinned.
- docs/index.md: v0.4.0 status (native widescreen, aim system, rebinding,
  crosshair, rumble, rebuilt overlay); Honest status replaced by the v0.4.0
  release-notes known issues; body anchor-nav line; legal footer moved to
  layout.
- security-and-fidelity-status.md: front matter so {% seo %} titles it.
- README.md: v0.4.0 truth pass (status, Working/Known issues, Deck preset
  2x MSAA / 250% per code, background stats 981 commits / 283 findings,
  comparison table, GEPD-default controls paragraph, earlier builds) plus
  markdown-native motifs matching the site: top anchor-nav line, --- section
  rules, last-updated footer stamp, license badge in the amber accent.
- release-notes: SFTP sideload mention (leftover from the Deck session).
2026-09-28 01:32:13 -04:00

263 lines
8.0 KiB
HTML

<meta name="google-site-verification" content="UlOGMwqwnUbviaX7-HY3f-fXedkSHyxAPTO0zNHNrfc" />
<meta name="msvalidate.01" content="E819A8FD183E027D96725C924D4822BD" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Libre+Baskerville:ital,wght@0,400;0,700;1,400&display=swap" rel="stylesheet">
<style>
/* ----------------------------------------------------------------------
Hand-rolled site theme (replaces jekyll-theme-cayman, 2026-09-28).
Look: committed charcoal/off-white/amber "night desk" — flat and square,
serif display type (Libre Baskerville) over a system sans body, thin
amber rules between sections, text navigation separated by middots.
No gradients, no shadows, no rounded corners, no theme switcher.
--------------------------------------------------------------------- */
:root {
--bg: #1b1b1d; /* charcoal page */
--bg-soft: #232326; /* code / alt rows */
--bg-deep: #141416; /* code blocks, masthead */
--ink: #e8e6e3; /* off-white body text */
--ink-soft: #b5b1a9; /* secondary text */
--ink-mute: #8d897f; /* captions, footer */
--line: #3a3a3e; /* 1px borders */
--accent: #ffb454; /* amber/gold */
--accent-hi: #ffd08a; /* link hover */
--measure: 44rem;
}
html { background: var(--bg); }
body {
margin: 0;
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
"Helvetica Neue", Arial, sans-serif;
font-size: 16.5px;
line-height: 1.7;
color: var(--ink);
background: var(--bg);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}
/* ---- Masthead -------------------------------------------------------- */
.site-masthead {
background: var(--bg-deep);
border-bottom: 1px solid var(--accent);
}
.masthead-inner {
max-width: 52rem;
margin: 0 auto;
padding: 2.6rem 1.5rem 1.6rem;
text-align: center;
}
.masthead-title {
display: inline-block;
font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
font-weight: 700;
font-size: 2.1rem;
line-height: 1.25;
color: var(--ink);
text-decoration: none;
letter-spacing: 0.01em;
}
.masthead-title:hover { color: var(--accent); }
.masthead-tagline {
margin-top: 0.5rem;
color: var(--ink-mute);
font-size: 0.95rem;
}
.masthead-nav {
margin-top: 1.3rem;
font-size: 0.9rem;
}
.masthead-nav a {
color: var(--accent);
text-decoration: none;
padding: 0.1rem 0.15rem;
}
.masthead-nav a:hover { color: var(--accent-hi); text-decoration: underline; }
.nav-sep { color: var(--ink-mute); padding: 0 0.35rem; }
/* ---- Content ---------------------------------------------------------- */
.doc-content {
max-width: 52rem;
margin: 0 auto;
padding: 2.5rem 1.5rem 1rem;
}
.doc-content p,
.doc-content ul,
.doc-content ol,
.doc-content blockquote { max-width: var(--measure); }
.doc-content h1,
.doc-content h2,
.doc-content h3,
.doc-content h4 {
font-family: "Libre Baskerville", Georgia, "Times New Roman", serif;
font-weight: 700;
line-height: 1.35;
color: var(--ink);
margin-top: 2.4rem;
margin-bottom: 0.9rem;
}
.doc-content h1 { font-size: 1.75rem; }
.doc-content h2 { font-size: 1.35rem; }
.doc-content h3 { font-size: 1.1rem; }
.doc-content > h1:first-child { margin-top: 0.5rem; }
.doc-content a {
color: var(--accent);
text-decoration: underline;
text-decoration-color: rgba(255, 180, 84, 0.45);
text-underline-offset: 2px;
}
.doc-content a:hover {
color: var(--accent-hi);
text-decoration-color: currentColor;
}
.doc-content hr {
border: 0;
height: 1px;
background: var(--accent);
opacity: 0.5;
margin: 2.5rem 0;
}
.doc-content blockquote {
color: var(--ink-soft);
border-left: 3px solid var(--accent);
padding: 0.2rem 0 0.2rem 1.1rem;
margin-left: 0;
font-style: normal;
}
/* Lead paragraph on doc pages (the italic summary under the H1) */
.doc-content > p > em:only-child {
font-style: normal;
color: var(--ink-soft);
font-size: 1.05rem;
}
/* ---- Code ------------------------------------------------------------ */
.doc-content code {
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
font-size: 0.86em;
background: var(--bg-soft);
border: 1px solid var(--line);
padding: 0.12em 0.4em;
color: var(--ink);
}
.doc-content pre {
background: var(--bg-deep);
border: 1px solid var(--line);
padding: 1rem 1.15rem;
max-width: var(--measure);
overflow-x: auto;
line-height: 1.55;
}
.doc-content pre code {
background: transparent;
border: 0;
padding: 0;
color: var(--ink);
font-size: 0.84rem;
}
/* ---- Tables ----------------------------------------------------------- */
.doc-content table {
border-collapse: collapse;
width: 100%;
max-width: var(--measure);
margin: 1.5rem 0;
font-size: 0.92rem;
}
.doc-content table th,
.doc-content table td {
border: 1px solid var(--line);
padding: 0.5rem 0.75rem;
text-align: left;
}
.doc-content table th { background: var(--bg-soft); font-weight: 600; }
.doc-content table tr:nth-child(2n) { background: #1f1f22; }
/* ---- Images & gallery -------------------------------------------------- */
.doc-content img {
border: 1px solid var(--line);
border-radius: 0;
max-width: 100%;
}
.doc-content details {
max-width: var(--measure);
border: 1px solid var(--line);
background: var(--bg-soft);
padding: 0.6rem 0.9rem;
margin: 1.5rem 0;
}
.doc-content summary { cursor: pointer; color: var(--accent); }
/* ---- Footer ------------------------------------------------------------- */
.site-footer {
max-width: 52rem;
margin: 3rem auto 0;
padding: 1.5rem 1.5rem 2.5rem;
border-top: 1px solid var(--line);
}
.footer-inner { max-width: var(--measure); }
.footer-stamp {
color: var(--ink-soft);
font-size: 0.88rem;
margin: 0 0 0.8rem;
}
.footer-stamp a { color: var(--accent); text-decoration: none; }
.footer-stamp a:hover { color: var(--accent-hi); text-decoration: underline; }
.footer-legal {
color: var(--ink-mute);
font-size: 0.8rem;
line-height: 1.6;
margin: 0;
}
@media (max-width: 42rem) {
.masthead-title { font-size: 1.7rem; }
.masthead-inner { padding: 2rem 1rem 1.2rem; }
.doc-content { padding-top: 1.8rem; }
}
/* ---- Mermaid diagrams ---------------------------------------------------- */
/* Kramdown renders ```mermaid fences as <pre><code class="language-mermaid">.
The script below hands their text to mermaid and swaps in the SVG. Keep
the pre unstyled (no code-block background) while it waits to render. */
.doc-content pre.mermaid,
.doc-content pre > code.language-mermaid {
background: transparent;
border: 0;
color: var(--ink);
padding: 0;
}
.doc-content pre.mermaid { text-align: center; overflow-x: auto; }
.doc-content pre.mermaid:not([data-processed]) { visibility: hidden; }
</style>
<script type="module">
import mermaid from "https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs";
// Move each ```mermaid code block's text into a <pre class="mermaid"> that
// mermaid.run() recognises.
document.querySelectorAll("pre > code.language-mermaid").forEach((code) => {
const pre = document.createElement("pre");
pre.className = "mermaid";
pre.textContent = code.textContent;
code.parentElement.replaceWith(pre);
});
mermaid.initialize({
startOnLoad: false,
securityLevel: "loose", // our own docs; needed for <br/> in node labels
theme: "dark",
});
mermaid.run({ querySelector: "pre.mermaid" });
</script>