/* Hill Climber Documentation Custom Styles - Dark Mode */

/* Color scheme: dark grey (#1a1a1a, #2a2a2a), light text (#e0e0e0), orange/red (#ff4b4b) */

/* Global background */
body,
html {
    background-color: #1a1a1a !important;
}

/* Main document wrapper */
.wy-grid-for-nav {
    background-color: #1a1a1a !important;
}

/* Main content background and text */
.wy-nav-content-wrap {
    background-color: #1a1a1a !important;
}

.wy-nav-content {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
    max-width: 100% !important;
}

.rst-content {
    color: #e0e0e0 !important;
    background-color: #1a1a1a !important;
}

/* Sidebar and navigation */
.wy-side-nav-search {
    background-color: #34383C !important;
}

.wy-nav-side {
    background-color: #34383C !important;
}

/* Top navigation bar (breadcrumbs and page source) */
nav[role="navigation"],
.wy-nav-top {
    background-color: #1a1a1a !important;
    border-bottom: none !important;
}

div[role="navigation"][aria-label="Page navigation"] {
    margin-bottom: 30px !important;
}

nav[role="navigation"] *,
.wy-nav-top * {
    background-color: #1a1a1a !important;
}

/* Hide the hr divider inside the navigation */
nav[role="navigation"] hr,
div[role="navigation"] hr,
.wy-breadcrumbs + hr {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.wy-breadcrumbs {
    background-color: #1a1a1a !important;
    border-bottom: none !important;
}

.wy-breadcrumbs li,
.wy-breadcrumbs li a {
    color: #e0e0e0 !important;
}

.wy-side-nav-search input[type=text] {
    border-color: #ff4b4b !important;
    background-color: #000000 !important;
    color: #ffffff !important;
    box-shadow: none !important;
}

.wy-side-nav-search input[type=text]:focus {
    border-color: #ff4b4b !important;
    box-shadow: none !important;
    outline: none !important;
}

.wy-menu-vertical a {
    color: #cccccc !important;
}

.wy-menu-vertical a:hover {
    background-color: #3a3a3a !important;
    color: #ff4b4b !important;
}

.wy-menu-vertical li.current a {
    color: #ff4b4b !important;
    border-right: solid 2px #ff4b4b !important;
    background-color: #34383C !important;
}

.wy-menu-vertical li.toctree-l1.current > a {
    background-color: #3a3a3a !important;
    border-bottom: solid 1px #ff4b4b !important;
    border-top: solid 1px #ff4b4b !important;
}

.wy-menu-vertical li.toctree-l2.current > a {
    background-color: #3a3a3a !important;
}

.wy-menu-vertical li.toctree-l2.current li.toctree-l3 > a {
    background-color: #3a3a3a !important;
}

/* Additional menu states to ensure consistent dark grey backgrounds */
.wy-menu-vertical li.current {
    background-color: #34383C !important;
}

.wy-menu-vertical li.toctree-l1.current {
    background-color: #34383C !important;
}

.wy-menu-vertical li.toctree-l2 a,
.wy-menu-vertical li.toctree-l3 a,
.wy-menu-vertical li.toctree-l4 a {
    background-color: #34383C !important;
}

.wy-menu-vertical li.toctree-l2.current li.toctree-l3 {
    background-color: #34383C !important;
}

.wy-menu-vertical li ul li a {
    background-color: #34383C !important;
}

.wy-menu-vertical li ul {
    background-color: #34383C !important;
}

/* Sidebar caption (CONTENTS header) */
.wy-menu-vertical p.caption {
    color: #ff4b4b !important;
}

.wy-side-nav-search > a img.logo,
.wy-side-nav-search .wy-dropdown > a img.logo {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0.5rem 0 !important;
}

/* Links */
a {
    color: #ff4b4b !important;
}

a:hover {
    color: #ff6b6b !important;
}

a:visited {
    color: #ff4b4b !important;
}

.rst-content a {
    color: #ff4b4b !important;
}

/* Headings - titles, subtitles, and section headings */
h1, h2, h3, h4, h5, h6 {
    color: #ff4b4b !important;
}

.rst-content h1,
.rst-content h2,
.rst-content h3,
.rst-content h4,
.rst-content h5,
.rst-content h6 {
    color: #ff4b4b !important;
}

.rst-content .section > h1,
.rst-content .section > h2,
.rst-content .section > h3,
.rst-content .section > h4,
.rst-content .section > h5,
.rst-content .section > h6 {
    color: #ff4b4b !important;
}

.rst-content .toctree-wrapper p.caption {
    color: #ff4b4b !important;
}

.wy-nav-content h1,
.wy-nav-content h2,
.wy-nav-content h3,
.wy-nav-content h4,
.wy-nav-content h5,
.wy-nav-content h6 {
    color: #ff4b4b !important;
}

/* Code blocks and literals */
.highlight {
    background-color: #0a0a0a !important;
}

.highlight pre {
    background-color: #0a0a0a !important;
    color: #e0e0e0 !important;
}

code.literal {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
    border: 1px solid #3a3a3a !important;
}

.rst-content code.literal,
.rst-content tt.literal {
    color: #ff4b4b !important;
    background-color: #2a2a2a !important;
}

.rst-content pre.literal-block,
.rst-content div[class^='highlight'] {
    background-color: #0a0a0a !important;
    border: 1px solid #3a3a3a !important;
}

/* Admonitions */
.rst-content .note {
    background-color: #2a2a2a !important;
    border-left: 3px solid #ff4b4b !important;
}

.rst-content .note .admonition-title {
    background-color: #3a3a3a !important;
    color: #ff4b4b !important;
}

.rst-content .warning {
    background-color: #2a2a2a !important;
    border-left: 3px solid #ff4b4b !important;
}

.rst-content .warning .admonition-title {
    background-color: #3a3a3a !important;
    color: #ff4b4b !important;
}

.rst-content .tip {
    background-color: #2a2a2a !important;
    border-left: 3px solid #ff4b4b !important;
}

.rst-content .tip .admonition-title {
    background-color: #3a3a3a !important;
    color: #ff4b4b !important;
}

/* Tables */
.rst-content table.docutils {
    border: 1px solid #3a3a3a !important;
}

.rst-content table.docutils thead {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
}

.rst-content table.docutils tbody tr {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

.rst-content table.docutils tbody tr:nth-child(odd) {
    background-color: #252525 !important;
}

.rst-content table.docutils td,
.rst-content table.docutils th {
    border-color: #3a3a3a !important;
}

/* Version selector */
.rst-versions {
    background-color: #1a1a1a !important;
    border-top: 2px solid #ff4b4b !important;
}

.rst-versions a {
    color: #cccccc !important;
}

.rst-versions .rst-current-version {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
}

.rst-versions .rst-current-version:hover {
    background-color: #3a3a3a !important;
}

/* Buttons */
.btn-neutral {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
    border-color: #ff4b4b !important;
}

.btn-neutral:hover {
    background-color: #ff4b4b !important;
    color: #1a1a1a !important;
}

.btn-neutral:visited {
    color: #ff4b4b !important;
}

/* Search results */
.search li:first-child {
    border-top-color: #ff4b4b !important;
}

.search li {
    border-bottom-color: #3a3a3a !important;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
    color: #e0e0e0 !important;
}

.rst-content h1 {
    border-bottom: 3px solid #ff4b4b !important;
    border-top: none !important;
}

.rst-content h2 {
    border-bottom: 2px solid #ff4b4b !important;
}

hr {
    border-color: #ff4b4b !important;
    background-color: #ff4b4b !important;
}

.rst-content hr {
    border-color: #ff4b4b !important;
}

.rst-content .section h1,
.rst-content .section h2,
.rst-content .section h3,
.rst-content .section h4,
.rst-content .section h5,
.rst-content .section h6 {
    color: #e0e0e0 !important;
}

/* Top navigation bar */
.wy-nav-top {
    background-color: #1a1a1a !important;
    color: #e0e0e0 !important;
}

/* Footer */
.rst-footer-buttons {
    border-top: none !important;
    margin-bottom: 30px !important;
}

/* Hide the hr divider inside footer buttons and footer */
.rst-footer-buttons hr,
footer hr {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Add a horizontal line at the end of content */
.document::after {
    content: "";
    display: block;
    height: 2px;
    background-color: #ff4b4b;
    margin-top: 30px;
    margin-bottom: 30px;
}

footer {
    color: #cccccc !important;
    margin-top: 30px !important;
}

footer span.commit code {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
}

/* Breadcrumbs */
.wy-breadcrumbs {
    background-color: #1a1a1a !important;
    border-bottom: none !important;
}

.wy-breadcrumbs ul {
    background-color: #1a1a1a !important;
}

.wy-breadcrumbs li {
    color: #e0e0e0 !important;
    background-color: #1a1a1a !important;
}

.wy-breadcrumbs li a {
    color: #ff4b4b !important;
}

.wy-breadcrumbs-aside a {
    color: #ff4b4b !important;
}

/* Paragraphs and general text */
.rst-content p,
.rst-content li,
.rst-content dd,
.rst-content dt {
    color: #e0e0e0 !important;
}

/* Definition lists */
.rst-content dl dt {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
    border-top: solid 3px #3a3a3a !important;
}

.rst-content dl dd {
    background-color: #1a1a1a !important;
}

/* API documentation */
.rst-content dl.py dt {
    background-color: #2a2a2a !important;
    color: #ff4b4b !important;
}

.rst-content dl.py dd {
    background-color: #1a1a1a !important;
}
