style(docs): align Docusaurus theme with fhirworx design system
Some checks failed
CI / lint (push) Successful in 37s
Deploy / notebooks (push) Has been skipped
Deploy / zotero (push) Has been skipped
Deploy / docs (push) Has been skipped
Deploy / api (push) Has been skipped
Deploy / mc (push) Has been skipped
Infra CI / notebooks (push) Failing after 16s
Infra CI / zotero (push) Successful in 15s
Infra CI / docs (push) Successful in 1m27s
Infra CI / api (push) Successful in 25s
Infra CI / mc (push) Successful in 15s
Deploy / report (push) Successful in 40s
CI / test (push) Has been cancelled

Replace hacker-dark monospace theme with the editorial palette:
- Playfair Display headings, Source Serif 4 body, JetBrains Mono code
- Light theme: warm off-white (#F7F5F0) + federal navy (#1C2B3A)
- Dark theme: deep navy (#0F1923) + teal accent (#5B8FA8)
- Amber (#C8702A) accent on active sidebar, footer, hero border
- Eyebrow-style breadcrumbs (mono, uppercase, letter-spaced)
- Editorial blockquotes with primary-color left border
This commit is contained in:
kert
2026-04-18 21:24:14 -04:00
parent 34fb8c8196
commit e0ac908a6c

View File

@@ -1,59 +1,171 @@
/* fhirworx design system — matches assets/css/inject.css */ /* fhirworx design system for Docusaurus
Matches the editorial palette from assets/css/fhirworx.css
Design: Federal Register Meets Data Journalism */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Source+Serif+4:ital,wght@0,300;0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500;600&display=swap');
/* ── Light theme (default) ─────────────────────────────────── */
:root { :root {
--ifm-color-primary: #4488dd; --ifm-color-primary: #1C2B3A;
--ifm-color-primary-dark: #2d5bb8; --ifm-color-primary-dark: #162230;
--ifm-color-primary-darker: #2a56ad; --ifm-color-primary-darker: #131e2a;
--ifm-color-primary-darkest: #23478f; --ifm-color-primary-darkest: #0e1620;
--ifm-color-primary-light: #4775d1; --ifm-color-primary-light: #253748;
--ifm-color-primary-lighter: #527dd4; --ifm-color-primary-lighter: #2d4052;
--ifm-color-primary-lightest: #7597dd; --ifm-color-primary-lightest: #3d5570;
--ifm-background-color: #0a1628;
--ifm-font-family-base: "IBM Plex Mono", "Fira Code", "Cascadia Code", --ifm-background-color: #F7F5F0;
ui-monospace, monospace; --ifm-background-surface-color: #FAFAF7;
--ifm-font-family-monospace: "IBM Plex Mono", "Fira Code", monospace; --ifm-font-color-base: #1A1A18;
--ifm-code-font-size: 90%; --ifm-heading-color: #1A1A18;
--ifm-link-color: #5B8FA8;
--ifm-navbar-background-color: #1C2B3A;
--ifm-navbar-link-color: #B8C5D0;
--ifm-navbar-link-hover-color: #F7F5F0;
--ifm-footer-background-color: #1C2B3A;
--ifm-footer-color: #B8C5D0;
--ifm-menu-color: #2D2D2B;
--ifm-toc-link-color: #6B6B68;
--ifm-code-background: #EDEBE6;
--ifm-hr-border-color: #D4D0C8;
--ifm-font-family-base: "Source Serif 4", Georgia, serif;
--ifm-font-family-monospace: "JetBrains Mono", "Fira Code", monospace;
--ifm-heading-font-family: "Playfair Display", Georgia, serif;
--ifm-code-font-size: 88%;
--ifm-font-size-base: 16px;
--ifm-line-height-base: 1.65;
--ifm-border-color: #D4D0C8;
--ifm-global-radius: 0.2rem;
--docusaurus-highlighted-code-line-bg: rgba(28, 43, 58, 0.08);
} }
/* ── Dark theme ────────────────────────────────────────────── */
[data-theme="dark"] { [data-theme="dark"] {
--ifm-background-color: #0a1628; --ifm-background-color: #0F1923;
--ifm-background-surface-color: #0d1e36; --ifm-background-surface-color: #152231;
--ifm-color-primary: #4488dd; --ifm-color-primary: #5B8FA8;
--ifm-color-primary-dark: #2d5bb8; --ifm-color-primary-dark: #4C7D96;
--ifm-color-primary-darker: #2a56ad; --ifm-color-primary-darker: #47768d;
--ifm-color-primary-darkest: #23478f; --ifm-color-primary-darkest: #3b6174;
--ifm-color-primary-light: #4775d1; --ifm-color-primary-light: #6BA0B8;
--ifm-color-primary-lighter: #527dd4; --ifm-color-primary-lighter: #72A5BC;
--ifm-color-primary-lightest: #7597dd; --ifm-color-primary-lightest: #8FB8CC;
--ifm-navbar-background-color: #0d1e36;
--ifm-footer-background-color: #060e1a; --ifm-font-color-base: #EEE9E0;
--ifm-font-color-base: #e8e0d4; --ifm-heading-color: #EEE9E0;
--ifm-heading-color: #e8e0d4; --ifm-link-color: #7BB8D0;
--ifm-link-color: #66aaff; --ifm-navbar-background-color: #0A1219;
--ifm-menu-color: #a0b0c8; --ifm-navbar-link-color: #B8C5D0;
--ifm-toc-link-color: #a0b0c8; --ifm-footer-background-color: #060D14;
--ifm-code-background: #111d30; --ifm-footer-color: #8898A8;
--ifm-hr-border-color: #1a2a44; --ifm-menu-color: #B8C5D0;
--docusaurus-highlighted-code-line-bg: rgba(51, 102, 204, 0.15); --ifm-toc-link-color: #8898A8;
--ifm-code-background: #1A2A3D;
--ifm-hr-border-color: #253748;
--ifm-border-color: #253748;
--docusaurus-highlighted-code-line-bg: rgba(91, 143, 168, 0.15);
} }
@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600;700&display=swap"); /* ── Typography ────────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6 {
font-family: var(--ifm-heading-font-family);
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
}
.markdown h1:first-child {
font-size: 2.2rem;
}
code, kbd, pre {
font-family: var(--ifm-font-family-monospace);
}
/* ── Navbar ────────────────────────────────────────────────── */
.navbar {
box-shadow: none;
border-bottom: 1px solid var(--ifm-border-color);
}
.navbar__title { .navbar__title {
font-family: var(--ifm-heading-font-family);
font-weight: 700; font-weight: 700;
letter-spacing: 0.05em; letter-spacing: 0.03em;
color: #F7F5F0;
} }
/* ── Sidebar ───────────────────────────────────────────────── */
.menu__link--active:not(.menu__link--sublist) {
border-left: 3px solid #C8702A;
font-weight: 600;
}
.menu__link:hover {
color: var(--ifm-color-primary);
}
/* ── Footer ────────────────────────────────────────────────── */
.footer--dark { .footer--dark {
border-top: 3px solid #ee5577; border-top: 3px solid #C8702A;
} }
/* Red accent bar on hero */ /* ── Hero / landing ────────────────────────────────────────── */
.hero { .hero {
border-bottom: 3px solid #ee5577; border-bottom: 3px solid #C8702A;
} }
/* Sidebar active link */ /* ── Code blocks ───────────────────────────────────────────── */
.menu__link--active:not(.menu__link--sublist) {
border-left: 3px solid #ee5577; .prism-code {
border: 1px solid var(--ifm-border-color);
border-radius: var(--ifm-global-radius);
}
/* ── Breadcrumbs (eyebrow style) ───────────────────────────── */
.breadcrumbs__link {
font-family: var(--ifm-font-family-monospace);
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.1em;
}
/* ── Table of contents ─────────────────────────────────────── */
.table-of-contents__link--active {
color: var(--ifm-color-primary);
font-weight: 600;
}
/* ── Blockquotes (editorial pull-quote style) ──────────────── */
blockquote {
border-left: 3px solid var(--ifm-color-primary);
background: transparent;
font-style: italic;
}
/* ── Admonitions ───────────────────────────────────────────── */
.alert {
border-radius: var(--ifm-global-radius);
}
/* ── Accent color: amber (#C8702A) for editorial emphasis ──── */
.table-of-contents__link--active,
.pagination-nav__link:hover {
border-color: #C8702A;
} }