.reference-hero {
  padding-block: 65px 45px;
  border-bottom: 1px solid var(--line);
}
.reference-hero .eyebrow { margin-bottom: 15px; }
.reference-hero h1 { font-size: clamp(45px, 6vw, 78px); font-weight: 650; }
.reference-hero > p:not(.eyebrow) { font-size: 17px; color: var(--muted); margin-top: 20px; }
.reference-switch { display: flex; gap: 28px; margin-top: 24px; font-size: 12px; }
.reference-switch a:first-child { color: var(--accent); font-weight: 700; }
.reference-layout { display: grid; grid-template-columns: 235px minmax(0, 1fr); gap: 70px; padding-block: 45px 80px; align-items: start; }
.reference-sidebar { position: sticky; top: 25px; max-height: calc(100vh - 50px); overflow-y: auto; padding-right: 14px; font-size: 12px; }
.reference-sidebar nav { display: flex; flex-direction: column; gap: 3px; }
.reference-sidebar nav > .mono { font-size: 9px; color: var(--muted); margin-bottom: 13px; }
.reference-sidebar nav > a { padding: 7px 10px; border-left: 2px solid transparent; color: #526748; line-height: 1.5; }
.reference-sidebar nav > a:hover, .reference-sidebar nav > a[aria-current] { background: #e6eedc; border-color: #6d904b; color: #2b4e14; }
.reference-search { margin-bottom: 28px; }
.reference-search label { display: block; font-size: 11px; font-weight: 600; margin-bottom: 9px; }
.search-field { display: flex; border: 1px solid #b6c5a8; background: white; }
.search-field input { min-width: 0; width: 100%; border: 0; background: transparent; color: var(--text); padding: 10px; font: 11px var(--mono); border-radius: 0; }
.search-field input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.search-field button { background: transparent; color: var(--muted); font-size: 21px; padding: 4px 10px; }
.reference-search > p { font: 9px var(--mono); color: var(--muted); margin-top: 9px; }
.back-to-top { display: inline-block; font-size: 11px; margin-top: 25px; color: var(--accent); }
.reference-main { min-width: 0; }
.reference-intro > p { font-size: 15px; color: #53684a; }
.reference-intro > p:first-child { margin-top: 0; }
.reference-section { padding-top: 38px; margin-top: 38px; border-top: 1px solid var(--line); }
.reference-section:first-child { padding-top: 0; margin-top: 0; border-top: 0; }
.reference-section h2 { font-size: 31px; letter-spacing: -.04em; line-height: 1.2; margin-bottom: 22px; scroll-margin-top: 30px; overflow-wrap: anywhere; }
.reference-section h3 { font-size: 22px; letter-spacing: -.03em; line-height: 1.3; margin-block: 35px 16px; scroll-margin-top: 30px; overflow-wrap: anywhere; }
.reference-section p, .reference-intro p { font-size: 14px; line-height: 1.85; margin-block: 17px; color: #43563b; }
.reference-section ul, .reference-section ol { padding-left: 21px; font-size: 14px; line-height: 1.85; color: #43563b; }
.reference-section li { margin-block: 8px; }
.reference-section p > code, .reference-section li > code, .reference-intro p > code { background: #e7eede; padding: 2px 5px; font-size: .88em; border: 1px solid #d6e0cd; border-radius: 3px; overflow-wrap: anywhere; }
.reference-section a:not(.heading-anchor), .reference-intro a { color: #3a6818; text-decoration: underline; text-decoration-color: #b0c59e; text-underline-offset: 3px; }
.heading-anchor { font-family: var(--mono); font-size: .6em; margin-left: 12px; color: #718c60; opacity: .6; }
.heading-anchor:hover { opacity: 1; }
.reference-code { margin-block: 22px; }
.reference-code .code-heading { min-height: 44px; }
.reference-code pre { padding: 18px 20px 23px; }
.reference-code pre code { font-size: 12px; line-height: 1.9; white-space: pre; }
.reference-table { overflow-x: auto; position: relative; border: 1px solid #cdd8c2; background: white; margin-block: 24px; }
.reference-table:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.reference-table table { border-collapse: collapse; width: 100%; min-width: 580px; text-align: left; font-size: 12px; }
.reference-table th { padding: 13px 16px; background: #eaf0e2; font-size: 11px; font-weight: 700; color: #32482a; border-bottom: 1px solid #cdd8c2; }
.reference-table td { padding: 15px 16px; vertical-align: top; border-bottom: 1px solid #e1e8d9; color: #43563b; line-height: 1.75; }
.reference-table tr:last-child td { border-bottom: 0; }
.reference-table th:first-child, .reference-table td:first-child { width: 27%; }
.reference-table td > code { font-size: 11px; overflow-wrap: anywhere; color: #294718; }
.reference-table td:first-child > code { font-weight: 600; }
.reference-empty { padding: 30px; border: 1px solid var(--line); color: var(--muted); background: white; font-size: 14px; }
@media (max-width: 1100px) {
  .reference-layout { grid-template-columns: 205px minmax(0, 1fr); gap: 35px; }
}
@media (max-width: 800px) {
  .reference-layout { grid-template-columns: 1fr; gap: 25px; padding-top: 30px; }
  .reference-sidebar { position: static; max-height: none; overflow: visible; padding-right: 0; }
  .reference-sidebar nav { flex-direction: row; flex-wrap: wrap; gap: 7px; }
  .reference-sidebar nav > .mono { width: 100%; margin-bottom: 3px; }
  .reference-sidebar nav > a { border: 1px solid #cbd8bd; font-size: 11px; padding: 6px 9px; background: #edf2e6; }
  .reference-sidebar nav > a[aria-current] { border-color: #6d904b; }
  .reference-search { max-width: 440px; margin-bottom: 22px; }
  .back-to-top { display: none; }
  .reference-hero { padding-block: 45px 30px; }
  .reference-section { padding-top: 30px; margin-top: 30px; }
}
@media (max-width: 520px) {
  .reference-hero h1 { font-size: clamp(34px, 10vw, 48px); }
  .reference-hero > p:not(.eyebrow) { font-size: 14px; }
  .reference-switch { flex-direction: column; gap: 10px; font-size: 11px; }
  .reference-section h2 { font-size: 27px; }
  .reference-section h3 { font-size: 20px; }
  .reference-section p, .reference-section li { font-size: 13px; }
  .reference-code pre { padding: 15px; }
  .reference-code pre code { font-size: 11px; }
  .reference-sidebar nav > a { font-size: 10px; }
  .reference-section p, .reference-intro p, .reference-section li { overflow-wrap: anywhere; }
}
