:root {
  --capsend-navy: #0e0229;
  --capsend-lavender: #e8e4ff;
  --capsend-sky: #5eb1e7;
  --capsend-text: #333142;
  --capsend-muted: #5f6170;
  --capsend-border: #d7cffc;
  --capsend-soft-border: #eceaf8;
  --capsend-code: #f6f4ff;
  --capsend-success-bg: #e7f8f0;
  --capsend-success-text: #0d5c3d;
}

html {
  background: var(--capsend-lavender);
}

body {
  color: var(--capsend-text);
  font-size: 18px;
  font-weight: 600;
}

.wy-nav-content {
  max-width: 980px;
  background: #ffffff;
  border-left: 1px solid var(--capsend-soft-border);
  border-right: 1px solid var(--capsend-soft-border);
  box-shadow: 0 24px 60px rgba(14, 2, 41, 0.10);
  min-height: 100vh;
}

.wy-side-nav-search {
  background: var(--capsend-navy);
  padding: 24px 16px;
}

.wy-side-nav-search > a,
.wy-side-nav-search .wy-dropdown > a {
  color: #ffffff;
  font-size: 22px;
  font-weight: 800;
  letter-spacing: 0;
}

.wy-side-nav-search input[type="text"] {
  border: 1px solid rgba(232, 228, 255, 0.35);
  border-radius: 6px;
  color: var(--capsend-navy);
  font-weight: 700;
}

.wy-nav-side {
  background: var(--capsend-navy);
}

.wy-menu-vertical a {
  color: #ffffff;
  font-weight: 700;
}

.wy-menu-vertical a:hover {
  background: rgba(94, 177, 231, 0.18);
  color: #ffffff;
}

.wy-menu-vertical li.current > a,
.wy-menu-vertical li.on a {
  background: var(--capsend-lavender);
  border-color: transparent;
  color: var(--capsend-navy);
  font-weight: 800;
}

.rst-content h1,
.rst-content h2,
.rst-content h3 {
  color: var(--capsend-navy);
  font-weight: 800;
  letter-spacing: 0;
}

.rst-content h1 {
  background: var(--capsend-navy);
  border-radius: 8px;
  color: #ffffff;
  font-size: 36px;
  line-height: 1.15;
  margin: 0 0 20px;
  padding: 28px 30px;
}

.rst-content h2 {
  color: var(--capsend-navy);
  font-size: 28px;
  font-weight: 800;
  border-top: 2px solid var(--capsend-lavender);
  padding-top: 28px;
  margin-top: 36px;
}

.rst-content h3 {
  color: var(--capsend-sky);
  font-size: 22px;
  font-weight: 800;
}

.rst-content p {
  color: var(--capsend-text);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.75;
}

.rst-content strong {
  color: var(--capsend-navy);
  display: inline-block;
  font-size: 19px;
  font-weight: 800;
  margin-top: 8px;
}

.rst-content table.docutils {
  border: 1px solid var(--capsend-border);
  border-radius: 8px;
  box-shadow: 0 12px 30px rgba(14, 2, 41, 0.06);
  overflow: hidden;
}

.rst-content table.docutils th {
  background: var(--capsend-lavender);
  border-color: var(--capsend-border);
  color: var(--capsend-navy);
  font-weight: 800;
}

.rst-content table.docutils td {
  border-color: var(--capsend-soft-border);
  color: var(--capsend-text);
  font-size: 16px;
  font-weight: 600;
}

.rst-content table.docutils td:first-child {
  color: var(--capsend-navy);
  font-weight: 800;
}

.rst-content code,
.rst-content tt {
  background: var(--capsend-code);
  border: 1px solid var(--capsend-border);
  border-radius: 5px;
  color: var(--capsend-navy);
  font-size: 96%;
  font-weight: 800;
  padding: 2px 6px;
}

.rst-content pre code,
.rst-content div[class^="highlight"] code,
.rst-content div.highlight code,
.rst-content .highlight code {
  background: transparent !important;
  border: 0;
  color: #ffffff !important;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.7;
  padding: 0;
}

.rst-content pre,
.rst-content div[class^="highlight"] pre,
.rst-content div.highlight pre,
.rst-content .highlight pre {
  background: var(--capsend-navy);
  border: 1px solid #2f2058;
  border-radius: 8px;
  color: #ffffff !important;
  padding: 18px;
  box-shadow: 0 18px 40px rgba(14, 2, 41, 0.18);
}

.rst-content .highlight {
  background: transparent;
}

.rst-content .highlight .n,
.rst-content .highlight .nx,
.rst-content .highlight .p,
.rst-content .highlight .s,
.rst-content .highlight .s2,
.rst-content .highlight .err {
  color: #ffffff !important;
}

.rst-content .highlight .k,
.rst-content .highlight .kd,
.rst-content .highlight .nt {
  color: var(--capsend-sky) !important;
  font-weight: 800;
}

.rst-content pre code.hljs,
.rst-content pre .hljs {
  background: transparent !important;
  color: #ffffff !important;
}

.rst-content .hljs-attr,
.rst-content .hljs-name,
.rst-content .hljs-variable {
  color: var(--capsend-sky) !important;
  font-weight: 800;
}

.rst-content .hljs-string,
.rst-content .hljs-number,
.rst-content .hljs-literal,
.rst-content .hljs-built_in,
.rst-content .hljs-symbol,
.rst-content .hljs-title {
  color: #ffffff !important;
  font-weight: 800;
}

.rst-content .hljs-keyword,
.rst-content .hljs-selector-tag,
.rst-content .hljs-meta {
  color: #e8e4ff !important;
  font-weight: 800;
}

.rst-content .hljs-comment,
.rst-content .hljs-quote {
  color: #b7acd8 !important;
  font-weight: 700;
}

.rst-content .hljs-punctuation,
.rst-content .hljs-operator {
  color: #e8e4ff !important;
  font-weight: 800;
}

.rst-content a {
  color: var(--capsend-sky);
  font-weight: 800;
}

.rst-content blockquote {
  border-left: 4px solid var(--capsend-sky);
  color: var(--capsend-text);
}

.rst-content .admonition,
.rst-content div.admonition {
  border: 1px solid var(--capsend-border);
  border-radius: 8px;
  box-shadow: none;
}

.rst-content .admonition-title {
  background: var(--capsend-success-bg);
  color: var(--capsend-success-text);
  font-weight: 800;
}

footer {
  font-size: 0;
}

footer .rst-footer-buttons {
  font-size: 14px;
}
