Files
EchoHub/docs/templates/echohub/public/main.css

381 lines
6.4 KiB
CSS

/* ============================================================
EchoHub DocFX Theme
Dark theme with gold accent (#E6C06E) from the Hue sigil
============================================================ */
:root,
html {
color-scheme: dark;
}
html:not([data-bs-theme]) {
--bs-body-bg: #0d1117;
--bs-body-color: #e6edf3;
}
[data-bs-theme="dark"] {
--bs-body-bg: #0d1117;
--bs-body-color: #e6edf3;
--bs-emphasis-color: #ffffff;
--bs-secondary-color: rgba(230, 237, 243, 0.7);
--bs-secondary-bg: #161b22;
--bs-tertiary-bg: #1c2128;
--bs-border-color: #30363d;
--bs-link-color: #E6C06E;
--bs-link-hover-color: #f0d48a;
--bs-code-color: #e6c06e;
--bs-primary-rgb: 230, 192, 110;
}
/* --- Navbar --- */
.navbar,
header.top-navbar {
background: #0d1117 !important;
border-bottom: 1px solid #30363d !important;
box-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
}
.navbar .navbar-brand {
color: #E6C06E !important;
font-weight: 600;
letter-spacing: 0.5px;
}
.navbar .navbar-brand:hover {
color: #f0d48a !important;
}
.navbar .navbar-brand img,
.navbar .navbar-brand svg {
height: 28px;
width: auto;
margin-right: 0.5em;
}
.navbar .nav-link {
color: #8b949e !important;
font-weight: 500;
transition: color 0.2s ease;
position: relative;
}
.navbar .nav-link:hover,
.navbar .nav-link:focus {
color: #E6C06E !important;
}
.navbar .nav-link.active {
color: #E6C06E !important;
}
.navbar .nav-link.active::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 60%;
height: 2px;
background: #E6C06E;
border-radius: 1px;
}
/* --- Sidebar / TOC --- */
.toc {
background: transparent;
border-right: 1px solid #30363d;
}
.toc .nav > li > a {
color: #8b949e;
padding: 6px 12px;
border-radius: 6px;
transition: all 0.2s ease;
}
.toc .nav > li > a:hover {
color: #e6edf3;
background: rgba(230, 192, 110, 0.06);
}
.toc .nav > li > a.active,
.toc .nav > li.active > a {
color: #E6C06E !important;
background: rgba(230, 192, 110, 0.1);
font-weight: 600;
border-left: 3px solid #E6C06E;
border-radius: 0 6px 6px 0;
}
.toc .nav > li > .expand-stub::before {
color: #8b949e;
}
.toc .nav > li.level1 > a {
font-weight: 600;
color: #e6edf3;
text-transform: uppercase;
font-size: 0.8rem;
letter-spacing: 0.05em;
margin-top: 8px;
}
/* --- Affix (right sidebar) --- */
.affix > h5,
.affix > nav > h5 {
color: #8b949e;
text-transform: uppercase;
font-size: 0.75rem;
letter-spacing: 0.05em;
}
.affix ul > li > a {
color: #8b949e;
}
.affix ul > li > a:hover {
color: #E6C06E;
}
.affix ul > li > a.active {
color: #E6C06E;
border-left-color: #E6C06E;
}
/* --- Content --- */
article {
color: #e6edf3;
}
article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
color: #ffffff;
font-weight: 600;
}
article h1 {
border-bottom: 1px solid #30363d;
padding-bottom: 0.3em;
}
article h2 {
border-bottom: 1px solid #21262d;
padding-bottom: 0.25em;
}
article a {
color: #E6C06E;
text-decoration: none;
}
article a:hover {
color: #f0d48a;
text-decoration: underline;
}
/* --- Code blocks --- */
[data-bs-theme="dark"] pre {
background: #161b22 !important;
border: 1px solid #30363d;
border-radius: 8px;
}
[data-bs-theme="dark"] code {
color: #e6c06e;
}
[data-bs-theme="dark"] pre code {
color: #e6edf3;
}
/* --- Tables --- */
.table,
table {
--bs-table-bg: transparent;
--bs-table-border-color: #30363d;
--bs-table-striped-bg: rgba(230, 192, 110, 0.03);
}
thead th {
background: #161b22 !important;
color: #e6edf3;
border-bottom-color: #E6C06E !important;
font-weight: 600;
}
/* --- Alerts --- */
.alert-info {
background: rgba(56, 139, 253, 0.08);
border-color: rgba(56, 139, 253, 0.3);
color: #e6edf3;
}
.alert-warning {
background: rgba(230, 192, 110, 0.08);
border-color: rgba(230, 192, 110, 0.3);
color: #e6edf3;
}
.alert-danger {
background: rgba(248, 81, 73, 0.08);
border-color: rgba(248, 81, 73, 0.3);
color: #e6edf3;
}
/* --- Search --- */
input[type="search"],
.form-control {
background: #0d1117;
border-color: #30363d;
color: #e6edf3;
}
input[type="search"]:focus,
.form-control:focus {
background: #161b22;
border-color: #E6C06E;
color: #e6edf3;
box-shadow: 0 0 0 3px rgba(230, 192, 110, 0.15);
}
/* --- Breadcrumb --- */
.breadcrumb-item a {
color: #8b949e;
}
.breadcrumb-item a:hover {
color: #E6C06E;
}
.breadcrumb-item.active {
color: #e6edf3;
}
.breadcrumb-item + .breadcrumb-item::before {
color: #484f58;
}
/* --- Buttons --- */
.btn-primary {
background: #E6C06E;
border-color: #E6C06E;
color: #0d1117;
}
.btn-primary:hover {
background: #f0d48a;
border-color: #f0d48a;
color: #0d1117;
}
.btn-outline-primary {
color: #E6C06E;
border-color: #E6C06E;
}
.btn-outline-primary:hover {
background: #E6C06E;
color: #0d1117;
}
/* --- Footer --- */
footer {
background: #0d1117 !important;
border-top: 1px solid #30363d !important;
}
.footer-custom {
text-align: center;
padding: 0;
}
.footer-inner {
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
flex-wrap: wrap;
}
.footer-brand {
color: #E6C06E;
font-weight: 600;
letter-spacing: 0.5px;
}
.footer-sep {
color: #484f58;
}
.footer-custom a {
color: #8b949e;
text-decoration: none;
transition: color 0.2s ease;
}
.footer-custom a:hover {
color: #E6C06E;
}
/* --- Scrollbar --- */
::-webkit-scrollbar {
width: 8px;
height: 8px;
}
::-webkit-scrollbar-track {
background: #0d1117;
}
::-webkit-scrollbar-thumb {
background: #30363d;
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: #484f58;
}
/* --- Selection --- */
::selection {
background: rgba(230, 192, 110, 0.25);
color: #ffffff;
}
/* --- API pages --- */
.memberList td {
border-color: #30363d;
}
.inheritance .level0,
.inheritance .level1,
.inheritance .level2 {
color: #8b949e;
}
.xref {
color: #E6C06E;
}
/* --- Landing page --- */
.landing h1 {
color: #E6C06E;
font-weight: 700;
}
/* --- Responsive --- */
@media (max-width: 768px) {
.footer-inner {
flex-direction: column;
gap: 6px;
}
.footer-sep {
display: none;
}
}