Gold #FFD700 has 1.4:1 contrast ratio on white — barely visible. Replace with dark amber palette (#8B6508 primary, #7A5800 links) that passes WCAG AA (5.3:1 and 6.5:1 respectively). Changes: - :root primary palette → dark amber tones for light mode - Explicit light mode link colors (#7A5800 / #5A4100 hover) - Light mode sidebar active state with amber accent - Light mode table header/border styling - Footer hover color split by theme (gold for dark, amber for light) Dark mode is completely unchanged. Reported by @AbrahamMat7632
281 lines
7.1 KiB
CSS
281 lines
7.1 KiB
CSS
/**
|
|
* Hermes Agent — Custom Docusaurus Theme
|
|
* Matches the landing page branding: amber-on-dark, terminal aesthetic
|
|
* Colors from landingpage/style.css
|
|
*/
|
|
|
|
/* Import fonts to match landing page */
|
|
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap');
|
|
|
|
:root {
|
|
/* Dark amber palette for light mode — readable on white (WCAG AA compliant)
|
|
Current gold #FFD700 has only 1.4:1 contrast on white; these tones pass 4.5:1+ */
|
|
--ifm-color-primary: #8B6508;
|
|
--ifm-color-primary-dark: #7A5800;
|
|
--ifm-color-primary-darker: #6E4F00;
|
|
--ifm-color-primary-darkest: #5A4100;
|
|
--ifm-color-primary-light: #9E7410;
|
|
--ifm-color-primary-lighter: #B38319;
|
|
--ifm-color-primary-lightest: #C89222;
|
|
|
|
--ifm-font-family-base: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
--ifm-font-family-monospace: 'JetBrains Mono', 'Fira Code', 'Cascadia Code', monospace;
|
|
|
|
--ifm-code-font-size: 90%;
|
|
--ifm-heading-font-weight: 600;
|
|
|
|
--ifm-link-color: #7A5800;
|
|
--ifm-link-hover-color: #5A4100;
|
|
}
|
|
|
|
/* Dark mode — the PRIMARY mode, matches landing page */
|
|
[data-theme='dark'] {
|
|
--ifm-color-primary: #FFD700;
|
|
--ifm-color-primary-dark: #E6C200;
|
|
--ifm-color-primary-darker: #D9B700;
|
|
--ifm-color-primary-darkest: #B39600;
|
|
--ifm-color-primary-light: #FFDD33;
|
|
--ifm-color-primary-lighter: #FFE14D;
|
|
--ifm-color-primary-lightest: #FFEB80;
|
|
|
|
--ifm-background-color: #07070d;
|
|
--ifm-background-surface-color: #0f0f18;
|
|
--ifm-navbar-background-color: #07070dEE;
|
|
--ifm-footer-background-color: #050509;
|
|
--ifm-color-emphasis-100: #14142a;
|
|
--ifm-color-emphasis-200: #1a1a30;
|
|
|
|
--ifm-font-color-base: #e8e4dc;
|
|
--ifm-font-color-secondary: #9a968e;
|
|
|
|
--ifm-link-color: #FFD700;
|
|
--ifm-link-hover-color: #FFBF00;
|
|
|
|
--ifm-code-background: #0f0f18;
|
|
|
|
--ifm-toc-border-color: rgba(255, 215, 0, 0.08);
|
|
--ifm-hr-border-color: rgba(255, 215, 0, 0.08);
|
|
|
|
--docusaurus-highlighted-code-line-bg: rgba(255, 215, 0, 0.08);
|
|
}
|
|
|
|
/* Subtle dot grid background matching landing page */
|
|
[data-theme='dark'] .main-wrapper {
|
|
background-image: radial-gradient(rgba(255, 215, 0, 0.02) 1px, transparent 1px);
|
|
background-size: 32px 32px;
|
|
}
|
|
|
|
/* Navbar styling */
|
|
.navbar {
|
|
backdrop-filter: blur(12px);
|
|
border-bottom: 1px solid rgba(255, 215, 0, 0.08);
|
|
}
|
|
|
|
/* backdrop-filter creates a stacking context that hides
|
|
.navbar-sidebar menu content (Docusaurus #6996). Remove it
|
|
while the mobile sidebar is open — both classes live on the
|
|
same <nav> element. */
|
|
.navbar.navbar-sidebar--show {
|
|
backdrop-filter: none;
|
|
}
|
|
|
|
.navbar__title {
|
|
font-weight: 600;
|
|
letter-spacing: -0.02em;
|
|
}
|
|
|
|
/* Sidebar tweaks */
|
|
[data-theme='dark'] .menu {
|
|
background-color: transparent;
|
|
}
|
|
|
|
[data-theme='dark'] .menu__link--active:not(.menu__link--sublist) {
|
|
background-color: rgba(255, 215, 0, 0.08);
|
|
border-left: 3px solid #FFD700;
|
|
padding-left: calc(var(--ifm-menu-link-padding-horizontal) - 3px);
|
|
}
|
|
|
|
/* Light mode sidebar active */
|
|
[data-theme='light'] .menu__link--active:not(.menu__link--sublist) {
|
|
background-color: rgba(139, 101, 8, 0.08);
|
|
border-left: 3px solid #8B6508;
|
|
padding-left: calc(var(--ifm-menu-link-padding-horizontal) - 3px);
|
|
}
|
|
|
|
/* Code blocks */
|
|
[data-theme='dark'] .prism-code {
|
|
background-color: #0a0a12 !important;
|
|
border: 1px solid rgba(255, 215, 0, 0.06);
|
|
}
|
|
|
|
/* Text diagrams: preserve spacing, disable ligatures, and prefer box-drawing-safe fonts */
|
|
pre.prism-code.language-text,
|
|
pre.prism-code.language-plaintext,
|
|
pre.prism-code.language-txt,
|
|
pre.prism-code.language-ascii {
|
|
white-space: pre;
|
|
overflow-x: auto;
|
|
line-height: 1.35;
|
|
font-family: 'JetBrains Mono', 'Cascadia Mono', 'Cascadia Code', 'Fira Code', 'SFMono-Regular', 'DejaVu Sans Mono', 'Liberation Mono', monospace;
|
|
font-variant-ligatures: none;
|
|
font-feature-settings: "liga" 0, "calt" 0;
|
|
text-rendering: optimizeSpeed;
|
|
}
|
|
|
|
pre.prism-code.language-text code,
|
|
pre.prism-code.language-plaintext code,
|
|
pre.prism-code.language-txt code,
|
|
pre.prism-code.language-ascii code {
|
|
white-space: pre;
|
|
font-variant-ligatures: none;
|
|
font-feature-settings: "liga" 0, "calt" 0;
|
|
}
|
|
|
|
.theme-mermaid {
|
|
margin: 1.5rem 0;
|
|
text-align: center;
|
|
}
|
|
|
|
.theme-mermaid svg {
|
|
max-width: 100%;
|
|
height: auto;
|
|
}
|
|
|
|
.docs-terminal-figure {
|
|
display: block;
|
|
width: 100%;
|
|
max-width: 900px;
|
|
margin: 1.25rem auto 0.5rem;
|
|
border: 1px solid rgba(255, 215, 0, 0.08);
|
|
border-radius: 12px;
|
|
background: #0a0a12;
|
|
}
|
|
|
|
.docs-figure-caption {
|
|
margin-top: 0.35rem;
|
|
text-align: center;
|
|
color: var(--ifm-font-color-secondary);
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
/* Admonitions — gold-tinted */
|
|
[data-theme='dark'] .alert--info {
|
|
--ifm-alert-background-color: rgba(255, 215, 0, 0.05);
|
|
--ifm-alert-border-color: rgba(255, 215, 0, 0.15);
|
|
}
|
|
|
|
/* Table styling */
|
|
[data-theme='dark'] table {
|
|
border-collapse: collapse;
|
|
}
|
|
|
|
[data-theme='dark'] table th {
|
|
background-color: rgba(255, 215, 0, 0.06);
|
|
border-color: rgba(255, 215, 0, 0.12);
|
|
}
|
|
|
|
[data-theme='dark'] table td {
|
|
border-color: rgba(255, 215, 0, 0.06);
|
|
}
|
|
|
|
/* Light mode table styling */
|
|
[data-theme='light'] table th {
|
|
background-color: rgba(139, 101, 8, 0.06);
|
|
border-color: rgba(139, 101, 8, 0.15);
|
|
}
|
|
|
|
[data-theme='light'] table td {
|
|
border-color: rgba(139, 101, 8, 0.10);
|
|
}
|
|
|
|
/* Footer */
|
|
.footer {
|
|
border-top: 1px solid rgba(255, 215, 0, 0.08);
|
|
}
|
|
|
|
.footer a {
|
|
color: #9a968e;
|
|
transition: color 0.2s;
|
|
}
|
|
|
|
[data-theme='dark'] .footer a:hover {
|
|
color: #FFD700;
|
|
text-decoration: none;
|
|
}
|
|
|
|
[data-theme='light'] .footer a:hover {
|
|
color: #7A5800;
|
|
text-decoration: none;
|
|
}
|
|
|
|
/* Scrollbar */
|
|
[data-theme='dark'] ::-webkit-scrollbar {
|
|
width: 8px;
|
|
height: 8px;
|
|
}
|
|
|
|
[data-theme='dark'] ::-webkit-scrollbar-track {
|
|
background: #07070d;
|
|
}
|
|
|
|
[data-theme='dark'] ::-webkit-scrollbar-thumb {
|
|
background: #1a1a30;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
[data-theme='dark'] ::-webkit-scrollbar-thumb:hover {
|
|
background: #2a2a40;
|
|
}
|
|
|
|
/* Search bar */
|
|
[data-theme='dark'] .DocSearch-Button {
|
|
background-color: #0f0f18;
|
|
border: 1px solid rgba(255, 215, 0, 0.08);
|
|
}
|
|
|
|
/* ─── Mobile sidebar improvements ─────────────────────────────────────────── */
|
|
|
|
/* Larger touch targets on mobile */
|
|
@media (max-width: 996px) {
|
|
.menu__link {
|
|
padding: 0.6rem 0.75rem;
|
|
font-size: 0.95rem;
|
|
}
|
|
|
|
.menu__list-item-collapsible > .menu__link {
|
|
font-weight: 600;
|
|
font-size: 1rem;
|
|
padding: 0.75rem 0.75rem;
|
|
border-bottom: 1px solid rgba(255, 215, 0, 0.06);
|
|
}
|
|
|
|
/* Category caret — more visible */
|
|
.menu__caret::before {
|
|
background-size: 1.5rem 1.5rem;
|
|
}
|
|
|
|
/* Indent subcategories clearly */
|
|
.menu__list .menu__list {
|
|
padding-left: 0.75rem;
|
|
border-left: 1px solid rgba(255, 215, 0, 0.06);
|
|
margin-left: 0.5rem;
|
|
}
|
|
|
|
/* Sidebar overlay — slightly more opaque for readability */
|
|
.navbar-sidebar__backdrop {
|
|
background-color: rgba(0, 0, 0, 0.6);
|
|
}
|
|
|
|
/* Sidebar width on mobile — use more of the screen */
|
|
.navbar-sidebar {
|
|
width: 85vw;
|
|
max-width: 360px;
|
|
}
|
|
}
|
|
|
|
/* Hero banner for docs landing if needed */
|
|
.hero--hermes {
|
|
background: linear-gradient(135deg, #07070d 0%, #0f0f18 100%);
|
|
padding: 4rem 0;
|
|
}
|