/**
 * Arena documentation — Figma Rebrand design system
 * Source: figma.com/design/VQCFiCZz1Bej125K32hoJH/Rebrand (node 1060:9)
 *
 * Typography: Epilogue (headings) · Instrument Sans (UI/body) · Geist Mono (code/CTA)
 * Components: §02 Typography · §08 Buttons · §11 Alerts · §20 Tables · Cards · Tags
 */

/* ========================================================================== */
/* 0. Fonts                                                                   */
/* ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Epilogue:ital,wght@0,500;0,600;0,700;1,500&family=Geist+Mono:wght@400;600&family=Instrument+Sans:ital,wght@0,400;0,500;0,600;1,400&display=swap");

/* ========================================================================== */
/* 1. Design tokens                                                           */
/* ========================================================================== */

:root {
  /* Brand */
  --rb-primary: #00474a;
  --rb-primary-hover: #00393b;
  --rb-primary-muted-20: #336c6e;
  --rb-primary-muted-5: #0d5053;
  --rb-accent-teal: #00aead;
  --rb-accent-orange: #ff8333;
  --rb-surface-pale: #e3fdfd;
  --rb-text-on-dark: #ebfdf9;

  /* Neutrals */
  --rb-white: #ffffff;
  --rb-canvas: #f5fafa;
  --rb-surface-subtle: #e5eded;
  --rb-border-subtle: #e4eded;
  --rb-border-default: #c5d1d3;
  --rb-icon-muted: #8fa3a6;
  --rb-text-primary: #0a1f21;
  --rb-text-secondary: #5c6a6c;

  /* Table (§20) */
  --rb-table-line: #ededef;
  --rb-table-header-bg: #fafafa;

  /* Semantic */
  --rb-error: #d92d20;
  --rb-error-surface: #fef2f2;
  --rb-warning: #c2410c;
  --rb-warning-surface: #fff7ed;
  --rb-success: #0f766e;
  --rb-success-surface: #ecfeff;
  --rb-info: #0e7490;
  --rb-info-surface: #e0f2fe;

  /* Radius & spacing (§03–04) */
  --rb-radius-sm: 6px;
  --rb-radius-md: 8px;
  --rb-radius-lg: 10px;
  --rb-space-1: 4px;
  --rb-space-2: 8px;
  --rb-space-3: 12px;
  --rb-space-4: 16px;
  --rb-space-6: 24px;
  --rb-space-8: 32px;

  /* Elevation (§05) */
  --rb-shadow-xs: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
  --rb-shadow-card:
    0 0 0 1px rgba(18, 18, 23, 0.1),
    0 2px 4px 0 rgba(18, 18, 23, 0.04),
    0 5px 8px 0 rgba(18, 18, 23, 0.04),
    0 10px 18px 0 rgba(18, 18, 23, 0.03),
    0 24px 48px 0 rgba(18, 18, 23, 0.03);

  /* Typography families */
  --rb-font-heading: "Epilogue", "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  --rb-font-body: "Instrument Sans", ui-sans-serif, system-ui, sans-serif;
  --rb-font-mono: "Geist Mono", ui-monospace, Menlo, Monaco, Consolas, monospace;

  /* Furo overrides — applied on body so theme inherits */
  --font-stack: var(--rb-font-body);
  --font-stack--headings: var(--rb-font-heading);
  --font-stack--monospace: var(--rb-font-mono);
  --admonition-font-size: 14px;
  --admonition-title-font-size: 14px;
  --sidebar-item-font-size: 14px;
  --sidebar-caption-font-size: 11px;
  --sidebar-search-input-font-size: 14px;
  --sidebar-search-icon-size: 1.125rem;
  --toc-font-size: 13px;
  --code-font-size: 13px;
}

/* ========================================================================== */
/* 2. Global shell (page, sidebar, TOC, mobile header)                        */
/* ========================================================================== */

html {
  scroll-behavior: auto;
}

body,
.skip-to-content {
  font-family: var(--rb-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  color: var(--rb-text-primary);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Main column — canvas shell (Figma Neutral/Canvas), not a boxed white rail */
.page,
.main {
  background: var(--rb-canvas);
}

.content {
  background: transparent;
  border: none;
  width: 100%;
  max-width: 45rem;
  flex: 1 1 auto;
  padding: var(--rb-space-8) var(--rb-space-6) !important;
}

article[role="main"] {
  background: transparent;
  line-height: 24px;
}

/* Sidebar — no smooth scroll; hidden until restore completes (base.html + arena-docs-sidebar-scroll.js) */
.sidebar-scroll {
  scroll-behavior: auto !important;
}

html.arena-docs-sidebar-restore .sidebar-scroll {
  visibility: hidden;
}

.sidebar-drawer {
  background: var(--rb-canvas);
}

.sidebar-brand {
  padding-top: var(--rb-space-4);
  padding-bottom: var(--rb-space-2);
}

.sidebar-brand-text {
  font-family: var(--rb-font-heading);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: var(--rb-text-primary);
}

.sidebar-tree .caption,
.sidebar-tree :not(.caption) > .caption-text {
  font-family: var(--rb-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--rb-icon-muted);
}

.sidebar-tree .reference {
  font-size: 14px;
  font-weight: 400;
  line-height: 20px;
  border-radius: var(--rb-radius-sm);
}

.sidebar-tree .toctree-l1 > .reference {
  font-weight: 500;
  color: var(--rb-text-primary);
}

.sidebar-tree .current > .reference {
  font-weight: 600;
  color: var(--rb-primary);
  background: var(--rb-surface-pale) !important;
}

/* Furo draws the magnifier on .sidebar-search-container::before; keep input transparent */
.sidebar-search-container {
  display: flex;
  align-items: center;
  position: relative;
  border-radius: var(--rb-radius-md);
  margin: 0 var(--rb-space-3) var(--rb-space-3);
  padding: 0;
  background: var(--rb-white) !important;
  border: 1px solid var(--rb-border-default) !important;
}

.sidebar-search-container:hover,
.sidebar-search-container:focus-within {
  border-color: var(--rb-primary) !important;
  background: var(--rb-white) !important;
  box-shadow: 0 0 0 3px rgba(0, 71, 74, 0.15);
}

.sidebar-search-container::before {
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  background-color: var(--rb-icon-muted);
}

.sidebar-search {
  font-family: var(--rb-font-body);
  font-size: 14px;
  height: 40px;
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  background: transparent !important;
}

.sidebar-search:focus {
  outline: none;
  box-shadow: none;
}

/* TOC (right rail) */
.toc-drawer {
  background: var(--rb-canvas);
  border-left: 1px solid var(--rb-border-subtle);
}

.toc-title {
  font-family: var(--rb-font-body);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
}

.toc-tree {
  border-left-color: var(--rb-border-subtle);
}

.toc-tree a.reference {
  font-size: 13px;
  line-height: 20px;
}

.toc-tree li.scroll-current > .reference {
  color: var(--rb-primary);
  font-weight: 600;
}

/* Mobile header */
.mobile-header {
  background: var(--rb-white);
  border-bottom: 1px solid var(--rb-border-subtle);
  font-family: var(--rb-font-heading);
  font-weight: 500;
}

/* Footer & prev/next */
.bottom-of-page {
  border-top-color: var(--rb-border-subtle);
  font-size: 13px;
  color: var(--rb-text-secondary);
}

.related-pages a {
  border-radius: var(--rb-radius-md);
  padding: var(--rb-space-3);
  transition: background 0.15s ease;
}

.related-pages a:hover {
  background: var(--rb-surface-subtle);
}

.related-pages .page-info .title {
  font-family: var(--rb-font-body);
  font-weight: 500;
  font-size: 14px;
  color: var(--rb-text-primary);
}

.related-pages a:hover .page-info .title {
  color: var(--rb-primary);
}

/* ========================================================================== */
/* 3. Typography (§02)                                                        */
/* ========================================================================== */

article[role="main"] h1,
article[role="main"] h2,
article[role="main"] h3,
article[role="main"] h4,
article[role="main"] h5,
article[role="main"] h6 {
  font-family: var(--rb-font-heading);
  font-weight: 500;
  line-height: 1.25;
  color: var(--rb-text-primary);
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
  border-radius: 0;
}

article[role="main"] h1 {
  font-size: 32px;
  line-height: 42px;
  font-weight: 500;
  margin-top: 0;
  margin-bottom: var(--rb-space-4);
  letter-spacing: -0.02em;
}

article[role="main"] h2 {
  font-size: 24px;
  line-height: 34px;
  margin-top: var(--rb-space-8);
  margin-bottom: var(--rb-space-3);
  padding-bottom: var(--rb-space-2);
  border-bottom: 1px solid var(--rb-border-subtle);
}

article[role="main"] h3 {
  font-size: 18px;
  line-height: 26px;
  font-weight: 700;
  margin-top: var(--rb-space-6);
  margin-bottom: var(--rb-space-2);
}

article[role="main"] h4 {
  font-size: 16px;
  line-height: 24px;
  font-weight: 600;
  margin-top: var(--rb-space-4);
}

article[role="main"] h5,
article[role="main"] h6 {
  font-size: 14px;
  line-height: 22px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--rb-text-secondary);
}

article[role="main"] p,
article[role="main"] li,
article[role="main"] dd {
  font-family: var(--rb-font-body);
  font-size: 14px;
  font-weight: 400;
  line-height: 24px;
  color: var(--rb-text-primary);
}

article[role="main"] .text-large,
article[role="main"] p.lead {
  font-size: 16px;
  line-height: 26px;
}

article[role="main"] strong {
  font-weight: 600;
}

/* Beat Furo's default underlined links */
.content a,
article[role="main"] a:not(.arena-btn):not(.muted-link):not(.headerlink) {
  color: var(--rb-primary);
  font-weight: 500;
  text-decoration: none !important;
  text-decoration-color: transparent !important;
  border-bottom: none;
  transition: color 0.15s ease;
}

.content a:hover,
article[role="main"] a:not(.arena-btn):not(.muted-link):not(.headerlink):hover {
  color: var(--rb-primary-hover);
  text-decoration: underline !important;
  text-decoration-color: var(--rb-primary-hover) !important;
}

article[role="main"] hr.docutils {
  border: none;
  border-top: 1px solid var(--rb-border-subtle);
  margin: var(--rb-space-8) 0;
}

article[role="main"] blockquote {
  margin: var(--rb-space-4) 0;
  padding: var(--rb-space-3) var(--rb-space-4);
  background: var(--rb-surface-pale);
  border: none;
  border-left: 4px solid var(--rb-primary);
  border-radius: 0 var(--rb-radius-md) var(--rb-radius-md) 0;
  color: var(--rb-text-secondary);
}

/* Lists */
article[role="main"] ul,
article[role="main"] ol {
  padding-left: 1.25rem;
  margin: var(--rb-space-3) 0 var(--rb-space-4);
}

article[role="main"] li > ul,
article[role="main"] li > ol {
  margin-top: var(--rb-space-1);
  margin-bottom: var(--rb-space-2);
}

/* ========================================================================== */
/* 4. Tables (§20 · Tables)                                                   */
/* ========================================================================== */

article[role="main"] .table-wrapper {
  overflow: auto;
  margin: var(--rb-space-4) 0 var(--rb-space-6);
  border-radius: var(--rb-radius-md);
  border: 1px solid var(--rb-table-line);
  background: var(--rb-white);
  box-shadow: var(--rb-shadow-card);
}

article[role="main"] table.docutils {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
  border-spacing: 0;
  border-style: hidden;
  font-family: var(--rb-font-body);
  font-size: 14px;
  line-height: 24px;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Furo wraps tables with its own shadow — shadow lives on .table-wrapper only */
article[role="main"] .table-wrapper.container {
  padding: 0;
  margin: var(--rb-space-4) 0 var(--rb-space-6);
}

article[role="main"] table.docutils tr {
  border: none;
}

article[role="main"] table.docutils th,
article[role="main"] table.docutils td {
  border: 1px solid var(--rb-table-line);
  padding: 0 var(--rb-space-3) !important;
  height: 56px;
  vertical-align: middle;
  text-align: left;
}

article[role="main"] table.docutils th p,
article[role="main"] table.docutils td p {
  margin: 0;
}

article[role="main"] table.docutils thead th,
article[role="main"] table.docutils th.head {
  background: var(--rb-table-header-bg);
  color: var(--rb-text-secondary);
  font-weight: 500;
  font-size: 14px;
}

article[role="main"] table.docutils tbody td {
  color: var(--rb-text-primary);
  font-weight: 400;
}

/* ========================================================================== */
/* 5. Buttons (§08 · Buttons)                                                 */
/* ========================================================================== */

a.arena-btn,
button.arena-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--rb-space-2);
  font-family: var(--rb-font-body);
  font-weight: 500;
  font-size: 14px;
  line-height: 20px;
  text-decoration: none !important;
  border-radius: var(--rb-radius-md);
  cursor: pointer;
  transition:
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease;
  box-sizing: border-box;
  white-space: nowrap;
}

/* Medium (default) — 40px */
a.arena-btn,
button.arena-btn {
  min-height: 40px;
  padding: 10px 16px;
}

a.arena-btn--primary,
button.arena-btn--primary {
  background: var(--rb-primary);
  color: var(--rb-text-on-dark) !important;
  border: 1px solid transparent;
  box-shadow: var(--rb-shadow-xs);
}

a.arena-btn--primary:hover,
button.arena-btn--primary:hover {
  background: var(--rb-primary-hover);
  color: var(--rb-text-on-dark) !important;
}

a.arena-btn--secondary,
button.arena-btn--secondary {
  background: var(--rb-white);
  color: var(--rb-text-primary) !important;
  border: 1px solid var(--rb-border-default);
  box-shadow: var(--rb-shadow-xs);
}

a.arena-btn--secondary:hover,
button.arena-btn--secondary:hover {
  background: var(--rb-canvas);
}

a.arena-btn--tertiary,
button.arena-btn--tertiary {
  background: var(--rb-surface-subtle);
  color: var(--rb-text-primary) !important;
  border: 1px solid transparent;
}

a.arena-btn--tertiary:hover,
button.arena-btn--tertiary:hover {
  background: var(--rb-surface-pale);
}

a.arena-btn--ghost,
button.arena-btn--ghost {
  background: transparent;
  color: var(--rb-text-primary) !important;
  border: 1px solid var(--rb-border-default);
  box-shadow: none;
}

a.arena-btn--ghost:hover,
button.arena-btn--ghost:hover {
  background: var(--rb-canvas);
}

a.arena-btn--destructive,
button.arena-btn--destructive {
  background: var(--rb-error);
  color: var(--rb-white) !important;
  border: none;
}

a.arena-btn--destructive:hover,
button.arena-btn--destructive:hover {
  filter: brightness(0.92);
}

a.arena-btn--lg,
button.arena-btn--lg {
  min-height: 48px;
  padding: 12px 20px;
  font-size: 14px;
}

a.arena-btn--sm,
button.arena-btn--sm {
  min-height: 32px;
  padding: 8px 12px;
  font-size: 12px;
  line-height: 16px;
}

a.arena-btn:disabled,
button.arena-btn:disabled,
a.arena-btn[aria-disabled="true"],
button.arena-btn[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

/* Marketing / mono CTA */
a.arena-btn--mono,
button.arena-btn--mono {
  font-family: var(--rb-font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  min-height: 32px;
  padding: 8px 14px;
}

/* ========================================================================== */
/* 6. Badges & tags (§11a)                                                    */
/* ========================================================================== */

.arena-badge,
span.arena-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 10px;
  border-radius: var(--rb-radius-sm);
  font-family: var(--rb-font-body);
  font-size: 12px;
  font-weight: 500;
  line-height: 16px;
  white-space: nowrap;
}

.arena-badge--brand {
  background: var(--rb-primary);
  color: var(--rb-text-on-dark);
}

.arena-badge--neutral {
  background: var(--rb-surface-subtle);
  color: var(--rb-text-secondary);
}

.arena-badge--success {
  background: var(--rb-success-surface);
  color: var(--rb-success);
}

.arena-badge--warning {
  background: var(--rb-warning-surface);
  color: var(--rb-warning);
}

.arena-badge--error {
  background: var(--rb-error-surface);
  color: var(--rb-error);
}

.arena-badge--info {
  background: var(--rb-info-surface);
  color: var(--rb-info);
}

/* ========================================================================== */
/* 7. Inline code & code blocks                                               */
/* ========================================================================== */

article[role="main"] code.literal,
article[role="main"] p code.literal,
article[role="main"] li code.literal,
.sig-inline,
article[role="main"] p .sig-inline {
  font-family: var(--rb-font-mono);
  font-size: 13px;
  font-weight: 400;
  background: var(--rb-surface-pale);
  color: var(--rb-text-primary);
  border: 1px solid var(--rb-border-subtle);
  border-radius: 4px;
  padding: 2px 6px;
}

article[role="main"] div.highlight {
  border-radius: var(--rb-radius-md);
  margin: var(--rb-space-4) 0;
  border: 1px solid var(--rb-border-subtle);
  overflow: hidden;
  box-shadow: var(--rb-shadow-xs);
}

article[role="main"] pre,
article[role="main"] .highlight pre,
pre.literal-block {
  border-radius: var(--rb-radius-md);
  border: 1px solid var(--rb-border-subtle);
  box-shadow: none;
  font-family: var(--rb-font-mono);
  font-size: 13px;
  line-height: 1.55;
  background: var(--rb-white) !important;
  color: var(--rb-text-primary) !important;
  padding: var(--rb-space-4) !important;
}

/* GUI labels (keyboard shortcuts in prose) */
.guilabel,
.menuselection {
  font-family: var(--rb-font-body);
  font-size: 13px;
  font-weight: 500;
  background: var(--rb-surface-subtle);
  border: 1px solid var(--rb-border-subtle);
  border-radius: 4px;
  padding: 2px 6px;
  color: var(--rb-text-primary);
}

/* ========================================================================== */
/* 8. Admonitions / alerts (§11 · InlineNotification)                         */
/* ========================================================================== */

article[role="main"] .admonition,
article[role="main"] .topic {
  position: relative;
  margin: var(--rb-space-4) 0;
  padding: 14px 14px 14px 18px !important;
  border-radius: var(--rb-radius-md) !important;
  border: 1px solid var(--rb-border-subtle) !important;
  border-left-width: 4px !important;
  box-shadow: none !important;
  font-size: 14px;
  line-height: 24px;
  overflow: visible;
}

article[role="main"] .admonition::before,
article[role="main"] .topic::before {
  content: none;
}

article[role="main"] .admonition > .admonition-title,
article[role="main"] .admonition > p.admonition-title,
article[role="main"] .topic > .topic-title {
  font-family: var(--rb-font-body);
  font-size: 14px;
  font-weight: 600;
  line-height: 20px;
  margin: 0 0 4px 0 !important;
  padding: 0 0 0 1.5rem !important;
  background: transparent !important;
  border: none;
}

article[role="main"] .admonition > .admonition-title::before,
article[role="main"] .admonition > p.admonition-title::before {
  left: 0;
  top: 2px;
  width: 16px;
  height: 16px;
}

article[role="main"] .admonition > :not(.admonition-title):not(.topic-title) {
  margin: 0;
  padding: 0 0 0 1.5rem;
  color: var(--rb-text-secondary);
  font-size: 13px;
  line-height: 20px;
}

article[role="main"] .admonition > :not(.admonition-title):last-child {
  margin-bottom: 0;
}

/* Note / tip / info */
article[role="main"] .admonition.note,
article[role="main"] .admonition.tip,
article[role="main"] .admonition.hint,
article[role="main"] .admonition.seealso {
  background: var(--rb-info-surface) !important;
  border-left-color: var(--rb-info) !important;
}

article[role="main"] .admonition.note > .admonition-title,
article[role="main"] .admonition.tip > .admonition-title,
article[role="main"] .admonition.hint > .admonition-title {
  color: var(--rb-info);
}

article[role="main"] .admonition.note > .admonition-title::before,
article[role="main"] .admonition.tip > .admonition-title::before {
  background-color: var(--rb-info);
}

/* Success */
article[role="main"] .admonition.success {
  background: var(--rb-success-surface) !important;
  border-left-color: var(--rb-success) !important;
}

article[role="main"] .admonition.success > .admonition-title {
  color: var(--rb-success);
}

/* Warning / important */
article[role="main"] .admonition.warning,
article[role="main"] .admonition.important {
  background: var(--rb-warning-surface) !important;
  border-left-color: var(--rb-warning) !important;
}

article[role="main"] .admonition.warning > .admonition-title,
article[role="main"] .admonition.important > .admonition-title {
  color: var(--rb-warning);
}

article[role="main"] .admonition.warning > .admonition-title::before,
article[role="main"] .admonition.important > .admonition-title::before {
  background-color: var(--rb-warning);
}

/* Error / danger / caution */
article[role="main"] .admonition.error,
article[role="main"] .admonition.danger,
article[role="main"] .admonition.caution,
article[role="main"] .admonition.attention {
  background: var(--rb-error-surface) !important;
  border-left-color: var(--rb-error) !important;
}

article[role="main"] .admonition.error > .admonition-title,
article[role="main"] .admonition.danger > .admonition-title,
article[role="main"] .admonition.caution > .admonition-title {
  color: var(--rb-error);
}

article[role="main"] .admonition.error > .admonition-title::before,
article[role="main"] .admonition.danger > .admonition-title::before {
  background-color: var(--rb-error);
}

/* Compact alert utility (field-adjacent) */
.arena-alert {
  display: flex;
  gap: 11px;
  padding: 6px 10px;
  border-radius: var(--rb-radius-sm);
  border: 1px solid var(--rb-border-subtle);
  font-size: 12px;
  line-height: 16px;
  max-width: 400px;
}

.arena-alert::before {
  content: "";
  flex-shrink: 0;
  width: 3px;
  border-radius: 2px;
  align-self: stretch;
}

.arena-alert--info {
  background: var(--rb-info-surface);
}
.arena-alert--info::before {
  background: var(--rb-info);
}

.arena-alert--success {
  background: var(--rb-success-surface);
}
.arena-alert--success::before {
  background: var(--rb-success);
}

.arena-alert--warning {
  background: var(--rb-warning-surface);
}
.arena-alert--warning::before {
  background: var(--rb-warning);
}

.arena-alert--error {
  background: var(--rb-error-surface);
}
.arena-alert--error::before {
  background: var(--rb-error);
}

.arena-alert__title {
  font-weight: 600;
  font-size: 12px;
  color: var(--rb-text-primary);
  margin: 0;
}

.arena-alert__body {
  font-size: 11px;
  color: var(--rb-text-secondary);
  margin: 0;
}

/* ========================================================================== */
/* 9. Cards (§11 · Cards)                                                     */
/* ========================================================================== */

.arena-card {
  background: var(--rb-white);
  border: 1px solid var(--rb-border-subtle);
  border-radius: var(--rb-radius-md);
  box-shadow: var(--rb-shadow-card);
  padding: var(--rb-space-4);
  margin: var(--rb-space-4) 0;
}

.arena-card__title {
  font-family: var(--rb-font-body);
  font-size: 14px;
  font-weight: 500;
  color: var(--rb-text-primary);
  margin: 0 0 var(--rb-space-2);
}

.arena-card__body {
  font-size: 14px;
  line-height: 24px;
  color: var(--rb-text-secondary);
  margin: 0;
}

/* Sphinx sidebar topics */
article[role="main"] .sidebar {
  background: var(--rb-white);
  border: 1px solid var(--rb-border-subtle);
  border-radius: var(--rb-radius-md);
  box-shadow: var(--rb-shadow-xs);
}

article[role="main"] .sidebar .sidebar-title {
  font-family: var(--rb-font-body);
  font-weight: 600;
  font-size: 13px;
  border-bottom-color: var(--rb-border-subtle);
}

/* ========================================================================== */
/* 10. Header anchors & search highlights                                     */
/* ========================================================================== */

/* Figma has no permanent ¶ anchors — show on heading hover only */
article[role="main"] .headerlink {
  visibility: hidden;
  color: var(--rb-icon-muted) !important;
  font-weight: 400 !important;
  font-size: 14px;
  text-decoration: none !important;
  border: none !important;
  margin-left: 0.35rem;
}

article[role="main"] h1:hover > .headerlink,
article[role="main"] h2:hover > .headerlink,
article[role="main"] h3:hover > .headerlink,
article[role="main"] h4:hover > .headerlink,
article[role="main"] h5:hover > .headerlink,
article[role="main"] h6:hover > .headerlink,
article[role="main"] p.caption:hover > .headerlink,
article[role="main"] dt:hover > .headerlink {
  visibility: visible;
}

article[role="main"] :target > h1:first-of-type,
article[role="main"] :target > h2:first-of-type,
article[role="main"] :target > h3:first-of-type {
  background-color: var(--rb-surface-pale);
  border-radius: var(--rb-radius-sm);
}

[role="main"] .highlighted {
  background: var(--rb-surface-pale);
  color: var(--rb-text-primary);
}

/* ========================================================================== */
/* 11. Furo resets (defaults fight Rebrand)                                   */
/* ========================================================================== */

article[role="main"] h1,
article[role="main"] h2,
article[role="main"] h3,
article[role="main"] h4,
article[role="main"] h5,
article[role="main"] h6 {
  font-weight: 500;
}

article[role="main"] h3 {
  font-weight: 700;
}

article[role="main"] blockquote {
  background: var(--rb-surface-pale);
  border-left: 4px solid var(--rb-primary);
  border-radius: 0 var(--rb-radius-md) var(--rb-radius-md) 0;
}

article[role="main"] .admonition,
article[role="main"] .topic {
  border-left-width: 4px !important;
}

.sidebar-tree .current > .reference {
  font-weight: 600 !important;
}

.bottom-of-page {
  font-family: var(--rb-font-body);
  color: var(--rb-text-secondary);
}

/* ========================================================================== */
/* 13. Docs home logo                                                         */
/* ========================================================================== */

a.arena-docs-home-logo.image-reference,
.arena-docs-home-logo {
  display: block;
  width: min(500px, 100%);
  margin: 0 auto 1.25rem;
}

.arena-docs-home-logo img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* ========================================================================== */
/* 13b. Tutorial figures                                                      */
/* ========================================================================== */

article[role="main"] .figure img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0.75rem 0;
  border: 1px solid var(--rb-border, #d1d1db);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(10, 10, 12, 0.08);
}

/* ========================================================================== */
/* 14. Light mode only                                                        */
/* ========================================================================== */

html {
  color-scheme: light;
}

/* Hide Furo light/dark/auto toggle */
.theme-toggle-container {
  display: none !important;
}

/* Ignore OS dark preference while we only ship light (body data-theme=light) */
@media (prefers-color-scheme: dark) {
  body[data-theme="light"] {
    color-scheme: light;
  }
}
