/* Read the Docs theme adapter; palette and typography live in brand.css. */
body, .wy-body-for-nav, .wy-nav-content-wrap { background: var(--color-background); }
.wy-nav-content { background: var(--color-surface); max-width: 1100px; }
.wy-nav-side { background: var(--brand-blue); }
.wy-side-nav-search { background: var(--brand-white); color: var(--brand-blue); border-bottom: 4px solid var(--brand-orange); }
.wy-side-nav-search > a, .wy-side-nav-search .wy-dropdown > a { color: var(--brand-blue); font-family: var(--font-content); }
.wy-side-nav-search > a:hover { background: var(--brand-gray-light); }
.wy-side-nav-search a img.logo { width: 190px; max-width: 100%; height: auto; padding: 0; }
.wy-side-nav-search > div.version { color: var(--color-muted); }
.wy-side-nav-search input[type="text"] { font-family: var(--font-content); border: 1px solid var(--brand-gray); border-radius: 0.4rem; }
.wy-menu-vertical header, .wy-menu-vertical p.caption { color: var(--brand-orange-light); }
.wy-menu-vertical a { color: var(--brand-white); }
.wy-menu-vertical a:hover { background: var(--brand-blue-light); color: var(--brand-white); }
.wy-menu-vertical li.current { background: var(--color-background); }
.wy-menu-vertical li.current > a, .wy-menu-vertical li.current a { color: var(--brand-blue); border-color: var(--color-border); }
.wy-menu-vertical li.current a:hover { background: var(--brand-gray); color: var(--brand-blue); }
.wy-menu-vertical li.toctree-l1.current > a { border-left: 4px solid var(--brand-orange); }
.wy-nav-top { background: var(--brand-blue); color: var(--brand-white); }
.wy-nav-top a { color: var(--brand-white); }
.wy-nav-side a:focus-visible, .wy-nav-top a:focus-visible { outline-color: var(--brand-orange-light); outline-offset: -3px; }
.wy-side-nav-search a:focus-visible { outline-color: var(--brand-violet); }
.rst-content h1, .rst-content h2, .rst-content h3, .rst-content h4, .rst-content h5, .rst-content h6, .rst-content .toctree-wrapper p.caption { font-family: var(--font-content); color: var(--brand-blue); font-weight: 700; }
.rst-content h1 { border-bottom: 3px solid var(--brand-orange); padding-bottom: 0.6rem; }
.rst-content a, .wy-breadcrumbs a, footer a { color: var(--color-link); }
.rst-content a:hover, .wy-breadcrumbs a:hover, footer a:hover { color: var(--color-link-hover); text-decoration: underline; }
.rst-content a:visited { color: var(--brand-violet-medium); }
.rst-content code, .rst-content tt { color: var(--brand-violet); border-color: var(--color-border); }
.rst-content pre, .rst-content code, .rst-content tt, .rst-content .highlight pre { font-family: var(--font-code); }
.rst-content .note, .rst-content .seealso, .rst-content .tip { background: var(--color-background); }
.rst-content .note .admonition-title, .rst-content .seealso .admonition-title, .rst-content .tip .admonition-title { background: var(--brand-violet); }
.rst-content .warning, .rst-content .caution, .rst-content .attention { background: var(--brand-orange-soft); }
.rst-content .warning .admonition-title, .rst-content .caution .admonition-title, .rst-content .attention .admonition-title { background: var(--brand-orange); color: var(--brand-blue); }
.btn, .rst-content .btn:visited { font-family: var(--font-content); border-radius: 0.4rem; }
.btn-neutral, .rst-content .btn-neutral:visited { background: var(--brand-blue) !important; color: var(--brand-white) !important; border-color: var(--brand-blue); }
.btn-neutral:hover { background: var(--brand-violet) !important; }
footer { color: var(--color-muted); }
@media screen and (max-width: 768px) { .wy-nav-content { padding: 1.5rem; } }
.wy-menu-vertical a button.toctree-expand { color: var(--brand-orange-light); }
.wy-menu-vertical li.current a button.toctree-expand { color: var(--brand-blue); }
