:root {
  --mineral-deep: #101310;
  --mineral-pale: #f2efe7;
  --mineral-paper: #f8f6f0;
  --mineral-paper-deep: #ebe7dd;
  --mineral-line: rgba(16, 19, 16, 0.14);
  --mineral-line-strong: rgba(16, 19, 16, 0.26);
  --mineral-muted: #666b65;
  --mineral-muted-2: #82867f;
  --verdigris: #52756b;
  --verdigris-deep: #33574e;
  --clay: #8b5e49;
  --mustard: #9b7d31;
  --rail-max: 1540px;
  --rail-pad: clamp(22px, 3.4vw, 56px);
  --sidebar-width: 286px;
  --sans: "Geist Variable", "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mono: "Geist Mono Variable", "Geist Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--mineral-pale); }
body {
  margin: 0;
  background: var(--mineral-pale);
  color: var(--mineral-deep);
  font-family: var(--sans);
  font-size: 16.5px;
  line-height: 1.62;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; }
button, input { font: inherit; }
code, pre, kbd, samp { font-family: var(--mono); }
::selection { background: rgba(82,117,107,.2); }

.skip-link {
  position: fixed;
  top: 8px;
  left: 8px;
  z-index: 10000;
  transform: translateY(-160%);
  padding: 10px 14px;
  background: var(--mineral-deep);
  color: var(--mineral-pale);
  border-radius: 2px;
  font-weight: 650;
}
.skip-link:focus { transform: translateY(0); }

.reference-rail {
  width: min(var(--rail-max), 100%);
  min-height: 72px;
  margin: 0 auto;
  padding: 0 var(--rail-pad);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  border-bottom: 1px solid var(--mineral-line-strong);
}
.reference-brand {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 15px;
  text-decoration: none;
}
.reference-brand img { display: block; width: 126px; height: auto; }
.reference-property {
  padding-left: 15px;
  border-left: 1px solid var(--mineral-line-strong);
  font-size: 14.5px;
  font-weight: 610;
  letter-spacing: -.012em;
  white-space: nowrap;
}
.reference-rail-actions {
  display: flex;
  align-items: center;
  gap: 21px;
  font-size: 14px;
  font-weight: 590;
}
.reference-rail-actions a { text-decoration: none; border-bottom: 1px solid transparent; }
.reference-rail-actions a:hover,
.reference-rail-actions a:focus-visible { border-color: currentColor; }
.reference-edition { color: var(--verdigris-deep); font-weight: 690; }
.mobile-nav-toggle {
  display: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font-weight: 640;
  cursor: pointer;
}

.reference-layout {
  width: min(var(--rail-max), 100%);
  margin: 0 auto;
  padding: 0 var(--rail-pad);
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  column-gap: clamp(42px, 5.5vw, 96px);
}
.reference-sidebar {
  min-width: 0;
  border-right: 1px solid var(--mineral-line);
}
.sidebar-inner {
  position: sticky;
  top: 0;
  max-height: 100vh;
  padding: 42px 28px 52px 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(16,19,16,.22) transparent;
}
.reference-nav { font-size: 13.5px; line-height: 1.34; }
.reference-search { display: block; margin-bottom: 30px; }
.reference-search span {
  display: block;
  margin-bottom: 8px;
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 680;
  letter-spacing: .035em;
}
.reference-search input {
  width: 100%;
  height: 40px;
  padding: 0 0 1px;
  border: 0;
  border-bottom: 1px solid var(--mineral-line-strong);
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--mineral-deep);
  font-size: 14px;
}
.reference-search input:focus { border-color: var(--verdigris); }
.reference-search input::placeholder { color: var(--mineral-muted-2); }
.nav-overview { display: grid; margin-bottom: 31px; }
.nav-overview a {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
  text-decoration: none;
  font-weight: 630;
}
.nav-overview a span { color: var(--mineral-muted); font-size: 11.5px; font-weight: 560; }
.nav-group { margin: 0 0 30px; }
.nav-group > h2 {
  margin: 0 0 10px;
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 720;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.nav-tag { border-top: 1px solid rgba(16,19,16,.09); }
.nav-tag:last-child { border-bottom: 1px solid rgba(16,19,16,.09); }
.nav-tag summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 12px;
  align-items: baseline;
  padding: 10px 17px 10px 0;
  list-style: none;
  cursor: pointer;
  font-weight: 615;
}
.nav-tag summary::-webkit-details-marker { display: none; }
.nav-tag summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 9px;
  color: var(--mineral-muted);
  font-weight: 450;
}
.nav-tag[open] summary::after { content: "−"; }
.nav-tag summary span { color: var(--mineral-muted); font-size: 11.5px; font-weight: 520; }
.nav-tag > div { padding: 0 0 11px; }
.nav-tag a {
  display: grid;
  grid-template-columns: 35px minmax(0, 1fr);
  gap: 8px;
  padding: 6px 8px 6px 0;
  color: #4e534e;
  text-decoration: none;
}
.nav-tag a:hover,
.nav-tag a:focus-visible,
.nav-tag a[aria-current="true"] { color: var(--mineral-deep); }
.nav-tag a[aria-current="true"] span:last-child { font-weight: 650; }
.nav-method {
  color: var(--verdigris-deep);
  font-family: var(--mono);
  font-size: 9.8px;
  font-weight: 760;
  letter-spacing: .025em;
}
.nav-tag a[data-search-hidden="true"] { display: none; }
.nav-tag[data-search-empty="true"],
.nav-group[data-search-empty="true"] { display: none; }
.nav-empty { margin: 24px 0; color: var(--mineral-muted); }

.reference-content { min-width: 0; padding-bottom: 74px; }
.reference-overview {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(250px, .58fr);
  gap: clamp(54px, 7vw, 112px);
  align-items: end;
  padding: clamp(78px, 9vw, 138px) 0 clamp(72px, 8vw, 118px);
}
.eyebrow {
  margin: 0 0 17px;
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 720;
  letter-spacing: .075em;
  text-transform: uppercase;
}
.reference-overview h1 {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(54px, 6.2vw, 86px);
  line-height: .94;
  letter-spacing: -.058em;
  font-weight: 720;
  text-wrap: balance;
}
.overview-lede {
  max-width: 34ch;
  margin: 27px 0 0;
  font-size: clamp(20px, 1.7vw, 24px);
  line-height: 1.48;
  letter-spacing: -.018em;
}
.overview-description { max-width: 69ch; margin-top: 28px; color: #4f554f; }
.overview-description p { margin: 0 0 14px; }
.overview-description p:nth-child(n+2) { font-size: 15.5px; }
.overview-facts { margin: 0; }
.overview-facts > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 16px;
  padding: 13px 0 14px;
  border-top: 1px solid var(--mineral-line);
}
.overview-facts > div:last-child { border-bottom: 1px solid var(--mineral-line); }
.overview-facts dt {
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 660;
}
.overview-facts dd { margin: 0; font-size: 14.5px; font-weight: 590; }
.overview-facts code { font-size: .93em; }
.reference-rule { border-top: 1px solid var(--mineral-line-strong); }

.tag-section { padding: clamp(86px, 9vw, 132px) 0 0; }
.tag-header {
  max-width: 830px;
  margin-bottom: 59px;
}
.tag-header h2,
.registry-header h2 {
  margin: 0;
  font-size: clamp(38px, 4.2vw, 58px);
  line-height: 1.01;
  letter-spacing: -.048em;
  font-weight: 700;
  text-wrap: balance;
}
.tag-header > p:last-child,
.registry-header > p:last-child {
  max-width: 68ch;
  margin: 18px 0 0;
  color: #555b55;
  font-size: 17px;
  line-height: 1.65;
}
.compatibility-section { opacity: .91; }
.compatibility-section .tag-header h2 { font-size: clamp(34px, 3.7vw, 49px); }

.operation {
  position: relative;
  padding: 48px 0 68px;
  border-top: 1px solid var(--mineral-line-strong);
  scroll-margin-top: 18px;
}
.operation-header { max-width: 900px; }
.operation-route {
  display: flex;
  align-items: baseline;
  gap: 14px;
  margin-bottom: 14px;
}
.method {
  min-width: 45px;
  font-family: var(--mono);
  font-size: 11.5px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .035em;
}
.method-get { color: #356354; }
.method-post { color: #315e6b; }
.method-put, .method-patch { color: var(--mustard); }
.method-delete { color: var(--clay); }
.operation-route code {
  overflow-wrap: anywhere;
  color: #4f554f;
  font-size: 14.5px;
  line-height: 1.5;
}
.operation h3 {
  max-width: 28ch;
  margin: 0;
  font-size: clamp(29px, 3.1vw, 39px);
  line-height: 1.06;
  letter-spacing: -.037em;
  font-weight: 680;
  text-wrap: balance;
}
.operation-id {
  margin: 10px 0 0;
  color: var(--mineral-muted);
  font-family: var(--mono);
  font-size: 11.5px;
}
.operation-description {
  max-width: 72ch;
  margin-top: 23px;
  color: #474d47;
  font-size: 16.5px;
  line-height: 1.67;
}
.operation-description p { margin: 0 0 12px; }
.operation-description code,
.schema-table code,
.parameter-table code,
.schema-reference code {
  font-size: .91em;
  background: rgba(16,19,16,.05);
  padding: .08em .24em;
}
.operation-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 0 27px;
  margin: 31px 0 0;
  padding: 0;
}
.operation-facts > div {
  display: flex;
  gap: 8px;
  align-items: baseline;
  padding: 7px 0;
}
.operation-facts dt {
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 660;
}
.operation-facts dd {
  margin: 0;
  font-size: 13.5px;
  font-weight: 590;
}
.operation-facts code { font-size: .92em; }
.operation-section { margin-top: 44px; }
.operation-section > h4,
.section-heading-row h4,
.responses-section > h4 {
  margin: 0 0 17px;
  font-size: 17px;
  line-height: 1.25;
  letter-spacing: -.018em;
  font-weight: 690;
}
.section-heading-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 16px;
}
.section-heading-row h4 { margin: 0; }
.section-heading-row > span {
  color: var(--mineral-muted);
  font-family: var(--mono);
  font-size: 11.5px;
}

.table-scroll { width: 100%; overflow-x: auto; }
.parameter-table,
.schema-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.parameter-table thead,
.schema-table thead { border-top: 1px solid var(--mineral-line-strong); border-bottom: 1px solid var(--mineral-line); }
.parameter-table th,
.parameter-table td,
.schema-table th,
.schema-table td {
  padding: 13px 14px 13px 0;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(16,19,16,.09);
  font-size: 13.5px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.parameter-table thead th,
.schema-table thead th {
  color: var(--mineral-muted);
  font-size: 11.5px;
  font-weight: 680;
  letter-spacing: .025em;
}
.parameter-table th:first-child,
.schema-table th:first-child { width: 21%; }
.parameter-table th:nth-child(2) { width: 11%; }
.parameter-table th:nth-child(3),
.schema-table th:nth-child(2) { width: 18%; }
.schema-table th:nth-child(4) { width: 20%; }
.parameter-table tbody th,
.schema-table tbody th { font-weight: 570; }
.required-mark {
  display: block;
  margin-top: 4px;
  color: var(--verdigris-deep);
  font-family: var(--sans);
  font-size: 10.5px;
  font-weight: 720;
  letter-spacing: .035em;
}
.schema-caption {
  margin: 0 0 9px;
  color: var(--mineral-muted);
  font-family: var(--mono);
  font-size: 11.5px;
}
.schema-reference { margin: 0; color: var(--mineral-muted); font-size: 14px; }
.schema-more td { color: var(--mineral-muted); font-style: italic; }

.inline-example,
.refusals {
  margin-top: 20px;
  border-top: 1px solid var(--mineral-line);
  border-bottom: 1px solid var(--mineral-line);
}
.inline-example summary,
.refusals summary {
  position: relative;
  list-style: none;
  cursor: pointer;
  padding: 12px 28px 12px 0;
  font-size: 13.5px;
  font-weight: 630;
}
.inline-example summary::-webkit-details-marker,
.refusals summary::-webkit-details-marker { display: none; }
.inline-example summary::after,
.refusals summary::after {
  content: "+";
  position: absolute;
  right: 1px;
  color: var(--mineral-muted);
}
.inline-example[open] summary::after,
.refusals[open] summary::after { content: "−"; }
.inline-example pre { margin: 0 0 16px; }

.technical-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 48px;
}
.technical-examples .code-plane:only-child { grid-column: 1 / -1; max-width: 920px; }
.code-plane {
  position: relative;
  min-width: 0;
  margin: 0;
  background: #0b0f0e;
  color: #d7e0d9;
  border: 1px solid #26302b;
}
.code-plane figcaption {
  min-height: 45px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 18px;
  border-bottom: 1px solid #26302b;
  color: #a8b4ad;
  font-size: 12px;
}
.code-plane figcaption span { color: #e3e9e4; font-weight: 630; }
.code-plane figcaption small { font-family: var(--mono); font-size: 10.5px; }
.code-plane pre,
.inline-example pre {
  margin: 0;
  padding: 21px 20px 25px;
  overflow-x: auto;
  background: #0b0f0e;
  color: #d7e0d9;
  font-size: 13px;
  line-height: 1.72;
  tab-size: 2;
  scrollbar-width: thin;
  scrollbar-color: #465149 transparent;
}
.code-plane code,
.inline-example pre code { font: inherit; color: inherit; }
.copy-code {
  position: absolute;
  right: 12px;
  bottom: 10px;
  border: 1px solid rgba(215,224,217,.18);
  background: rgba(11,15,14,.86);
  color: #b9c4bd;
  padding: 5px 8px;
  font-size: 11px;
  cursor: pointer;
}
.copy-code:hover,
.copy-code:focus-visible { color: #fff; border-color: rgba(215,224,217,.38); }

.response-primary { margin-top: 2px; }
.response-status {
  display: flex;
  gap: 14px;
  align-items: baseline;
  padding: 11px 0 13px;
  border-top: 1px solid var(--mineral-line-strong);
}
.response-status strong { color: var(--verdigris-deep); font-family: var(--mono); font-size: 13px; }
.response-status span { color: #515751; font-size: 13.5px; }
.response-primary .schema-caption { margin-top: 16px; }
.refusals summary { display: flex; gap: 8px; }
.refusals summary span { color: var(--mineral-muted); font-size: 11px; }
.refusal-list { padding: 2px 0 8px; }
.refusal-list > div {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr);
  gap: 14px;
  padding: 8px 0;
}
.refusal-list strong { color: var(--clay); font-family: var(--mono); font-size: 12px; }
.refusal-list span { color: #555b55; font-size: 13.5px; }
.operation-permalink {
  position: absolute;
  top: 49px;
  right: 0;
  color: var(--mineral-muted-2);
  text-decoration: none;
  font-family: var(--mono);
  font-size: 12px;
}
.compatibility-operation h3 { font-size: clamp(26px, 2.7vw, 35px); }
.compatibility-operation .operation-route,
.compatibility-operation .operation-id { opacity: .84; }

.schema-registry { padding: clamp(108px, 11vw, 160px) 0 0; }
.registry-header { max-width: 850px; margin-bottom: 55px; }
.schema-list { border-top: 1px solid var(--mineral-line-strong); }
.schema-entry { border-bottom: 1px solid var(--mineral-line); scroll-margin-top: 18px; }
.schema-entry > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, .72fr) minmax(0, 1.2fr);
  gap: 40px;
  align-items: baseline;
  list-style: none;
  cursor: pointer;
  padding: 18px 34px 18px 0;
}
.schema-entry > summary::-webkit-details-marker { display: none; }
.schema-entry > summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 18px;
  color: var(--mineral-muted);
}
.schema-entry[open] > summary::after { content: "−"; }
.schema-entry > summary > span:first-child { display: flex; gap: 13px; align-items: baseline; min-width: 0; }
.schema-entry > summary strong { font-family: var(--mono); font-size: 13px; font-weight: 650; overflow-wrap: anywhere; }
.schema-entry > summary small { color: var(--mineral-muted); font-family: var(--mono); font-size: 10.5px; }
.schema-summary-desc { color: #5a605a; font-size: 13.5px; }
.schema-entry-body { padding: 3px 0 27px; }
.reference-footer {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  margin-top: 92px;
  padding: 24px 0 0;
  border-top: 1px solid var(--mineral-line-strong);
  color: var(--mineral-muted);
  font-size: 12.5px;
}
.reference-footer p { margin: 0; }
.reference-footer a { text-decoration: none; font-weight: 620; }

/* Protocol guide: editorial companion, intentionally narrower than the reference. */
.reference-guide {
  width: min(1040px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(80px, 9vw, 132px) 0 110px;
}
.reference-guide-intro { max-width: 790px; margin-bottom: 72px; }
.reference-guide .eyebrow { margin-bottom: 15px; }
.reference-guide h1 {
  max-width: 13ch;
  margin: 0 0 26px;
  font-size: clamp(48px, 6.5vw, 78px);
  line-height: .94;
  letter-spacing: -.057em;
}
.reference-guide-intro > p:last-child { max-width: 66ch; color: #555b55; font-size: 18px; line-height: 1.68; }
.reference-guide section {
  display: grid;
  grid-template-columns: minmax(190px, 250px) minmax(0, 1fr);
  column-gap: clamp(40px, 7vw, 90px);
  padding: 38px 0 42px;
  border-top: 1px solid var(--mineral-line);
}
.reference-guide section:last-child { border-bottom: 1px solid var(--mineral-line); }
.reference-guide h2 { margin: 0; font-size: 20px; line-height: 1.2; letter-spacing: -.024em; }
.reference-guide section > p { grid-column: 2; max-width: 69ch; margin: 0 0 15px; line-height: 1.68; }
.reference-guide code { font-family: var(--mono); font-size: .91em; background: rgba(16,19,16,.05); padding: .08em .24em; }

.reference-failure { max-width: 780px; margin: 0 auto; padding: 110px 24px; }
.reference-failure h1 { max-width: 15ch; font-size: clamp(40px,5vw,64px); line-height:.98; letter-spacing:-.05em; }

@media (max-width: 1180px) {
  :root { --sidebar-width: 250px; }
  .reference-layout { column-gap: 42px; }
  .reference-overview { grid-template-columns: 1fr; gap: 44px; }
  .overview-facts { max-width: 650px; }
  .technical-examples { grid-template-columns: 1fr; }
  .technical-examples .code-plane:only-child { max-width: none; }
}

@media (max-width: 880px) {
  .reference-rail { min-height: 64px; }
  .reference-rail-actions > a { display: none; }
  .mobile-nav-toggle { display: inline; }
  .reference-layout { display: block; }
  .reference-sidebar {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: none;
    border: 0;
    background: rgba(16,19,16,.23);
  }
  .reference-sidebar[data-open="true"] { display: block; }
  .sidebar-inner {
    position: absolute;
    top: 0;
    right: 0;
    width: min(88vw, 410px);
    height: 100%;
    max-height: none;
    padding: 34px 30px 50px;
    overflow: auto;
    background: var(--mineral-paper);
    box-shadow: -20px 0 65px rgba(16,19,16,.18);
  }
  .reference-content { padding-top: 0; }
  .reference-overview { padding-top: 72px; }
  .operation-permalink { display: none; }
  .schema-entry > summary { grid-template-columns: 1fr; gap: 7px; }
  .schema-summary-desc { padding-right: 22px; }
}

@media (max-width: 700px) {
  body { font-size: 16px; }
  :root { --rail-pad: 18px; }
  .reference-brand { gap: 10px; }
  .reference-brand img { width: 112px; }
  .reference-property { padding-left: 10px; font-size: 13.5px; }
  .reference-edition { display: none; }
  .reference-overview { padding: 62px 0 70px; }
  .reference-overview h1 { font-size: 50px; }
  .overview-lede { font-size: 19px; }
  .overview-facts > div { grid-template-columns: 78px minmax(0,1fr); }
  .tag-section { padding-top: 78px; }
  .tag-header { margin-bottom: 43px; }
  .tag-header h2,
  .registry-header h2 { font-size: 38px; }
  .tag-header > p:last-child,
  .registry-header > p:last-child { font-size: 16px; }
  .operation { padding: 39px 0 54px; }
  .operation-route { display: grid; grid-template-columns: 1fr; gap: 8px; margin-bottom: 16px; }
  .operation-route .method { min-width: 0; }
  .operation-route code { font-size: 13.5px; line-height: 1.55; }
  .operation h3 { font-size: 30px; }
  .operation-description { font-size: 16px; }
  .operation-facts { display: block; margin-top: 25px; }
  .operation-facts > div { display: grid; grid-template-columns: 86px minmax(0,1fr); gap: 9px; padding: 5px 0; }
  .operation-section { margin-top: 37px; }
  .section-heading-row { display: block; }
  .section-heading-row > span { display: block; margin-top: 5px; }
  .table-scroll { overflow: visible; }
  .parameter-table,
  .schema-table { min-width: 0; table-layout: auto; }
  .parameter-table thead,
  .schema-table thead { display: none; }
  .parameter-table tbody,
  .schema-table tbody { display: block; border-top: 1px solid var(--mineral-line-strong); }
  .parameter-table tr,
  .schema-table tr { display: block; padding: 13px 0 14px; border-bottom: 1px solid rgba(16,19,16,.1); }
  .parameter-table th, .parameter-table td,
  .schema-table th, .schema-table td { display: block; width: auto !important; padding: 3px 0; border: 0; font-size: 13px; }
  .parameter-table tbody th,
  .schema-table tbody th { margin-bottom: 5px; font-size: 14px; }
  .parameter-table td::before,
  .schema-table td::before { display: inline-block; width: 82px; color: var(--mineral-muted); font-size: 11px; font-weight: 660; }
  .parameter-table td:nth-child(2)::before { content: "In"; }
  .parameter-table td:nth-child(3)::before { content: "Type"; }
  .parameter-table td:nth-child(4)::before { content: "Meaning"; }
  .schema-table td:nth-child(2)::before { content: "Type"; }
  .schema-table td:nth-child(3)::before { content: "Meaning"; }
  .schema-table td:nth-child(4)::before { content: "Constraint"; }
  .technical-examples { margin-top: 40px; }
  .code-plane pre,
  .inline-example pre { font-size: 12px; line-height: 1.7; padding: 18px 16px 22px; }
  .schema-registry { padding-top: 94px; }
  .schema-entry > summary { padding: 16px 28px 16px 0; }
  .schema-entry > summary > span:first-child { display: block; }
  .schema-entry > summary small { display: block; margin-top: 3px; }
  .reference-footer { display: block; }
  .reference-footer a { display: inline-block; margin-top: 9px; }
  .reference-guide { width: min(100% - 36px, 1040px); padding-top: 64px; }
  .reference-guide h1 { font-size: 48px; }
  .reference-guide section { grid-template-columns: 1fr; row-gap: 19px; }
  .reference-guide section > p { grid-column: 1; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

@media print {
  .reference-rail, .reference-sidebar, .copy-code { display: none !important; }
  .reference-layout { display: block; width: 100%; padding: 0; }
  .reference-content { padding: 0; }
  .operation, .schema-entry { break-inside: avoid; }
}

/* R34 optical elevation — long-form navigation, section boundaries, and rhythm. */
:root {
  --reference-chapter-gap: clamp(108px, 10vw, 154px);
  --reference-tag-gap: clamp(98px, 8vw, 136px);
  --reference-operation-pad-top: 54px;
  --reference-operation-pad-bottom: 78px;
}

.sidebar-inner { padding-top: 36px; }
.reference-nav { font-size: 14px; line-height: 1.38; }
.reference-search { margin-bottom: 22px; }

.nav-sections {
  margin: 0 0 32px;
  border-top: 1px solid var(--mineral-line-strong);
  border-bottom: 1px solid var(--mineral-line-strong);
}
.nav-sections > summary {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 11px;
  align-items: baseline;
  padding: 11px 20px 11px 0;
  list-style: none;
  cursor: pointer;
}
.nav-sections > summary::-webkit-details-marker { display: none; }
.nav-sections > summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 10px;
  color: var(--mineral-muted);
  font-weight: 450;
}
.nav-sections[open] > summary::after { content: "−"; }
.nav-sections > summary > span {
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 680;
  letter-spacing: .035em;
}
.nav-sections > summary > strong {
  overflow: hidden;
  color: var(--mineral-deep);
  font-size: 13.5px;
  font-weight: 650;
  text-align: right;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.nav-section-links {
  display: grid;
  padding: 3px 0 12px;
}
.nav-section-links a {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
  padding: 6px 12px 6px 0;
  color: #535853;
  text-decoration: none;
}
.nav-section-links a small {
  color: var(--mineral-muted-2);
  font-size: 10.5px;
  font-weight: 580;
}
.nav-section-links a:hover,
.nav-section-links a:focus-visible,
.nav-section-links a[aria-current="location"] { color: var(--mineral-deep); }
.nav-section-links a[aria-current="location"] { font-weight: 660; }
.nav-section-links a[aria-current="location"]::before {
  content: "";
  position: absolute;
  left: -13px;
  top: 8px;
  bottom: 8px;
  width: 2px;
  background: var(--verdigris);
}

#reference-nav-groups { border-top: 1px solid rgba(16,19,16,.09); }
.nav-group {
  margin: 0;
  border-bottom: 1px solid rgba(16,19,16,.12);
}
.nav-group > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: baseline;
  padding: 13px 18px 13px 0;
  list-style: none;
  cursor: pointer;
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 720;
  letter-spacing: .045em;
  text-transform: uppercase;
}
.nav-group > summary::-webkit-details-marker { display: none; }
.nav-group > summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 12px;
  color: var(--mineral-muted);
  font-size: 14px;
  font-weight: 450;
}
.nav-group[open] > summary::after { content: "−"; }
.nav-group > summary > span:last-child {
  padding-right: 12px;
  color: var(--mineral-muted-2);
  font-size: 10.5px;
  font-weight: 580;
  letter-spacing: 0;
}
.nav-group-body { padding: 0 0 13px; }
.nav-group .nav-tag { margin-left: 0; }
.nav-group .nav-tag:first-child { border-top-color: rgba(16,19,16,.07); }
.nav-tag summary { padding-top: 10px; padding-bottom: 10px; }
.nav-tag a {
  position: relative;
  padding-top: 6px;
  padding-bottom: 6px;
}
.nav-tag a[aria-current="true"] { color: var(--mineral-deep); }
.nav-tag a[aria-current="true"]::before {
  content: "";
  position: absolute;
  left: -13px;
  top: 7px;
  bottom: 7px;
  width: 2px;
  background: var(--verdigris);
}
.nav-group[data-search-empty="true"] { display: none; }

.api-domain {
  scroll-margin-top: 24px;
  padding-top: var(--reference-chapter-gap);
}
.reference-rule + .api-domain { padding-top: clamp(66px, 6vw, 88px); }
.api-domain + .api-domain {
  margin-top: var(--reference-chapter-gap);
  border-top: 1px solid var(--mineral-line-strong);
}
.api-domain-marker {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: clamp(68px, 6vw, 92px);
  padding-top: 20px;
  color: var(--mineral-muted);
  font-size: 12.5px;
  line-height: 1.35;
  scroll-margin-top: 24px;
}
.reference-rule + .api-domain > .api-domain-marker { padding-top: 0; }
.api-domain-marker > span:first-child {
  font-weight: 730;
  letter-spacing: .065em;
  text-transform: uppercase;
}
.api-domain-marker > span:last-child {
  color: var(--mineral-muted-2);
  font-size: 11.5px;
  font-weight: 580;
}

.tag-section { padding: 0; scroll-margin-top: 28px; }
.tag-section + .tag-section {
  margin-top: var(--reference-tag-gap);
  padding-top: clamp(72px, 7vw, 98px);
  border-top: 1px solid var(--mineral-line);
}
.tag-header { margin-bottom: clamp(54px, 5vw, 68px); }
.tag-header h2,
.registry-header h2 { max-width: 18ch; }

.operation {
  padding-top: var(--reference-operation-pad-top);
  padding-bottom: var(--reference-operation-pad-bottom);
  scroll-margin-top: 28px;
}
.operation-section { margin-top: 46px; }
.technical-examples { margin-top: 50px; }
.section-heading-row { margin-bottom: 18px; }

.schema-registry {
  margin-top: var(--reference-chapter-gap);
  padding-top: clamp(82px, 8vw, 116px);
  border-top: 1px solid var(--mineral-line-strong);
  scroll-margin-top: 24px;
}
.registry-header { max-width: none; margin-bottom: 46px; }
.registry-header > p:last-of-type {
  max-width: 68ch;
  margin: 18px 0 0;
  color: #555b55;
  font-size: 17px;
  line-height: 1.65;
}
.registry-tools {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 32px;
  max-width: 760px;
  margin-top: 36px;
  padding-top: 19px;
  border-top: 1px solid var(--mineral-line);
}
.registry-search { display: block; width: min(460px, 100%); }
.registry-search > span {
  display: block;
  margin-bottom: 8px;
  color: var(--mineral-muted);
  font-size: 12.5px;
  font-weight: 680;
  letter-spacing: .035em;
}
.registry-search input {
  width: 100%;
  height: 39px;
  padding: 0 0 1px;
  border: 0;
  border-bottom: 1px solid var(--mineral-line-strong);
  border-radius: 0;
  outline: none;
  background: transparent;
  color: var(--mineral-deep);
  font-size: 14px;
}
.registry-search input:focus { border-color: var(--verdigris); }
.registry-search input::placeholder { color: var(--mineral-muted-2); }
.registry-search-count {
  margin: 0 0 9px;
  color: var(--mineral-muted);
  font-size: 12px;
  font-weight: 610;
  white-space: nowrap;
}
.schema-entry[hidden] { display: none; }
.schema-empty {
  margin: 28px 0 0;
  color: var(--mineral-muted);
  font-size: 14px;
}

@media (max-width: 880px) {
  .nav-sections > summary > strong { text-align: left; }
  .api-domain + .api-domain { margin-top: 94px; }
  .api-domain { padding-top: 86px; }
  .reference-rule + .api-domain { padding-top: 64px; }
  .api-domain-marker { margin-bottom: 62px; }
  .tag-section + .tag-section { margin-top: 86px; padding-top: 68px; }
  .schema-registry { margin-top: 96px; padding-top: 76px; }
}

@media (max-width: 700px) {
  :root {
    --reference-operation-pad-top: 42px;
    --reference-operation-pad-bottom: 58px;
  }
  .api-domain-marker {
    display: block;
    margin-bottom: 48px;
    padding-top: 16px;
  }
  .api-domain-marker > span { display: block; }
  .api-domain-marker > span:last-child { margin-top: 6px; }
  .tag-section + .tag-section { margin-top: 72px; padding-top: 58px; }
  .tag-header { margin-bottom: 44px; }
  .operation-section { margin-top: 39px; }
  .technical-examples { margin-top: 42px; }
  .registry-tools { display: block; margin-top: 30px; }
  .registry-search { width: 100%; }
  .registry-search-count { margin-top: 12px; }
}

@media print {
  .nav-sections, .registry-tools { display: none !important; }
  .api-domain { padding-top: 42px; }
  .api-domain + .api-domain { margin-top: 42px; }
}

/* R34 optical correction: current chapter labels may wrap instead of truncating. */
.nav-sections > summary > strong {
  overflow: visible;
  line-height: 1.22;
  text-overflow: clip;
  white-space: normal;
  text-wrap: balance;
}
