/* 技术手册 — ArduPilot / Sphinx-RTD inspired BookStack theme */
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,400;0,700;1,400&family=Roboto+Mono:wght@400;500&display=swap");

:root {
  --ap-topbar: #171717;
  --ap-topbar-hover: #232323;
  --ap-active: #c00000;
  --ap-sidebar: #343131;
  --ap-sidebar-text: #d9d9d9;
  --ap-sidebar-hover: #4e4a4a;
  --ap-link: #2980b9;
  --ap-link-hover: #3091d1;
  --ap-text: #404040;
  --ap-muted: #6c6c6c;
  --ap-border: #e1e4e5;
  --ap-bg: #fcfcfc;
  --ap-code-bg: #f8f8f8;
  --ap-content-max: 860px;
  --color-primary: #2980b9 !important;
  --color-primary-light: rgba(41, 128, 185, 0.12) !important;
  --color-link: #2980b9 !important;
}

html, body {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
  color: var(--ap-text);
  background: var(--ap-bg) !important;
}

/* —— Top bar (ArduPilot #cssmenu) —— */
#header.primary-background,
header#header {
  background: var(--ap-topbar) !important;
  color: #dddddd !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  min-height: 44px;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#header a,
#header .links a,
#header .logo-text,
#header .button,
#header svg {
  color: #dddddd !important;
  fill: currentColor;
}

#header .logo-text {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 13px !important;
}

#header .links a {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px !important;
  letter-spacing: 0.03em;
  padding: 12px 14px !important;
  border-radius: 0 !important;
}

#header .links a:hover,
#header a:hover {
  background: var(--ap-topbar-hover) !important;
  color: #fff !important;
}

#header .search-box,
#header input[type="search"],
#header input[type="text"] {
  background: #2a2a2a !important;
  border: 1px solid #3a3a3a !important;
  color: #eee !important;
  border-radius: 2px !important;
  box-shadow: none !important;
}

#header .search-box:focus-within,
#header input:focus {
  border-color: var(--ap-link) !important;
}

/* —— Buttons —— */
.button.primary,
a.button.primary,
input.button.primary,
button.primary {
  background: var(--ap-link) !important;
  border-color: var(--ap-link) !important;
  border-radius: 2px !important;
  box-shadow: none !important;
  text-transform: none;
  font-weight: 700;
}
.button.primary:hover {
  background: var(--ap-link-hover) !important;
}

/* —— Cards → flat docs panels —— */
.card,
.content-wrap.card,
.grid-card,
.book-grid-item,
.entity-list-item {
  box-shadow: none !important;
  border: 1px solid var(--ap-border) !important;
  border-radius: 0 !important;
  background: #fff !important;
}

.grid-card:hover,
.book-grid-item:hover {
  border-color: #c9c9c9 !important;
  box-shadow: none !important;
}

/* —— Home —— */
body.dashboard #content,
#content > .container,
.container.px-xl {
  max-width: 1100px;
}

.grid.half, .grid.third, .grid.quarter {
  gap: 1.25rem;
}

h1, h2, h3, h4 {
  font-family: "Lato", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700;
  color: #2980b9;
}

/* BookStack content headings inside pages */
.page-content h1,
.page-content h2,
.page-content h3 {
  color: #2980b9 !important;
  border-bottom: 1px solid var(--ap-border);
  padding-bottom: 0.3em;
  margin-top: 1.4em;
}
.page-content h1 { font-size: 1.85rem; }
.page-content h2 { font-size: 1.45rem; color: #2980b9 !important; }
.page-content h3 { font-size: 1.15rem; color: #404040 !important; border-bottom: none; }

/* —— Tri-layout / sidebars (RTD-like) —— */
.tri-layout-container {
  background: var(--ap-bg);
}

.tri-layout-sides,
.tri-layout-left,
.tri-layout-right,
aside.tri-layout-left,
aside.tri-layout-right {
  background: transparent;
}

/* Left nav panel */
.tri-layout-left .card,
.tri-layout-left .entity-list,
.book-tree,
.sidebar-page-nav,
.activity-list-card {
  background: var(--ap-sidebar) !important;
  border: none !important;
  color: var(--ap-sidebar-text) !important;
}

.tri-layout-left .card a,
.tri-layout-left a,
.book-tree a,
.sidebar-page-nav a {
  color: var(--ap-sidebar-text) !important;
}

.tri-layout-left .card a:hover,
.book-tree a:hover,
.sidebar-page-nav a:hover {
  background: var(--ap-sidebar-hover) !important;
  color: #fff !important;
}

.tri-layout-left .card h5,
.tri-layout-left .card .text-muted,
.tri-layout-left .text-muted,
.book-tree .chapter-title {
  color: #b3b3b3 !important;
}

/* Active/current page in sidebar */
.book-tree .page-visible > a,
.sidebar-page-nav a.active,
.entity-list-item.active {
  background: #c00000 !important;
  color: #fff !important;
  font-weight: 700;
}

/* Main content column */
.tri-layout-middle .content-wrap.card,
main.content-wrap.card {
  border: none !important;
  max-width: var(--ap-content-max);
  padding: 1.5rem 2rem 3rem !important;
}

.page-content {
  font-size: 16px;
  line-height: 1.65;
  color: var(--ap-text);
}

.page-content a {
  color: var(--ap-link) !important;
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
.page-content a:hover {
  color: var(--ap-link-hover) !important;
  border-bottom-color: var(--ap-link-hover);
}

.page-content p { margin: 0 0 1em; }

/* Code */
.page-content code,
.page-content pre,
.code-base {
  font-family: "Roboto Mono", Menlo, Consolas, monospace !important;
  background: var(--ap-code-bg) !important;
  border: 1px solid var(--ap-border);
  border-radius: 0 !important;
  color: #404040 !important;
}
.page-content pre {
  padding: 12px !important;
  overflow-x: auto;
}
.page-content code {
  padding: 2px 5px;
  font-size: 0.9em;
  border: 1px solid #e1e4e5;
}
.page-content pre code {
  border: none;
  padding: 0;
  background: transparent !important;
}

/* Tables */
.page-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 1em 0 1.5em;
  border: 1px solid var(--ap-border);
}
.page-content th,
.page-content td {
  border: 1px solid var(--ap-border) !important;
  padding: 8px 16px !important;
  background: #fff !important;
}
.page-content th {
  background: #f3f6f6 !important;
  font-weight: 700;
  color: #404040;
}

/* Callouts / callout-like blocks */
.page-content blockquote,
.callout,
.content-wrap .callout {
  border-left: 4px solid var(--ap-link) !important;
  background: #e7f2fa !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  color: var(--ap-text);
}

/* Breadcrumbs */
.breadcrumbs,
.breadcrumbs a {
  color: var(--ap-muted) !important;
  font-size: 13px;
}
.breadcrumbs a:hover { color: var(--ap-link) !important; }

/* Entity lists on home — denser manual index feel */
.entity-list .entity-list-item {
  border-bottom: 1px solid var(--ap-border) !important;
  border-left: none !important;
  border-right: none !important;
  border-top: none !important;
  padding: 0.75rem 0.25rem !important;
}
.entity-list .entity-list-item:hover {
  background: #f5f5f5 !important;
}

/* Footer */
#footer, footer {
  background: #fcfcfc !important;
  border-top: 1px solid var(--ap-border) !important;
  color: var(--ap-muted) !important;
  font-size: 13px;
}

/* Dark mode: keep readable, still docs-like */
.dark-mode body,
html.dark-mode body {
  background: #1a1a1a !important;
}
.dark-mode .card,
.dark-mode .content-wrap.card {
  background: #222 !important;
  border-color: #333 !important;
}
.dark-mode .page-content { color: #ddd; }
.dark-mode .page-content h1,
.dark-mode .page-content h2 { color: #6cb2eb !important; border-color: #333; }

/* Login page */
body.login #content .card,
.auth-form-card {
  border: 1px solid var(--ap-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Soften BookStack default blue blobs */
.primary-background:not(#header) {
  background: var(--ap-link) !important;
}

/* Mobile header */
@media (max-width: 1000px) {
  #header .links a {
    text-transform: none;
    font-weight: 600;
  }
  .tri-layout-left .card,
  .book-tree {
    background: #fff !important;
    color: var(--ap-text) !important;
    border: 1px solid var(--ap-border) !important;
  }
  .tri-layout-left .card a,
  .book-tree a {
    color: var(--ap-text) !important;
  }
}


/* —— Stronger RTD-like left column (BookStack class variants) —— */
.tri-layout-left,
.tri-layout-left > *,
aside[class*="tri-layout-left"] {
  background: transparent !important;
}
.tri-layout-left .card,
.tri-layout-left .body-card,
.tri-layout-left .entity-list,
.tri-layout-left .book-tree-container,
.tri-layout-left .activity-list-card,
.tri-layout-left .page-nav,
.tri-layout-left nav,
.book-tree,
.sidebar-page-nav,
[refs*="book-tree"] {
  background: #343131 !important;
  color: #d9d9d9 !important;
  border: none !important;
  box-shadow: none !important;
}
.tri-layout-left a,
.tri-layout-left .text-page,
.tri-layout-left .text-chapter,
.tri-layout-left .text-book,
.book-tree a,
.sidebar-page-nav a {
  color: #d9d9d9 !important;
}
.tri-layout-left .card h5,
.tri-layout-left h5,
.tri-layout-left .text-muted {
  color: #b3b3b3 !important;
  text-transform: uppercase;
  font-size: 12px !important;
  letter-spacing: 0.04em;
}
.tri-layout-left a:hover,
.book-tree a:hover {
  background: #4e4a4a !important;
  color: #fff !important;
}
/* current page highlight like ArduPilot active */
.book-tree .entity-list-item.selected,
.book-tree a[aria-current="page"],
.sidebar-page-nav a[aria-current="page"] {
  background: #c00000 !important;
  color: #fff !important;
}
