.ref-page { overflow: auto; height: auto; min-height: 100vh; font-size: 14px; line-height: 1.6 }
.ref-page [hidden] { display: none !important }
.ref-page a { color: var(--blue); text-decoration: none }
.ref-page a:hover { text-decoration: underline }
.ref-page :focus-visible { outline: 2px solid var(--blue); outline-offset: 4px }
.ref-preview { color: var(--yellow, #d29922); font-size: 12px; border: 1px solid #665322; background: #d299220d; padding: 2px 9px; border-radius: 20px; white-space: nowrap }
.ref-layout { max-width: 1440px; margin: auto; display: grid; grid-template-columns: 286px minmax(0, 1fr); align-items: start }
.ref-home-layout { display: block; max-width: 1040px }
.ref-home-layout .ref-main { padding-top: 56px }
.ref-home-layout .ref-heading { margin-bottom: 28px }
.ref-home-search input { min-height: 56px; padding: 14px 40px 14px 16px; font-size: 16px }
.ref-home-search kbd { top: 16px; right: 18px }
.ref-home-layout .ref-versions { margin-bottom: 28px; padding-bottom: 24px }
.ref-home-browse { display: grid; grid-template-columns: 1fr 1fr 1.35fr; gap: 12px; margin-bottom: 36px }
.ref-home-browse a { display: grid; gap: 5px; border: 1px solid var(--border); border-radius: 6px; padding: 16px; background: var(--bg2) }
.ref-home-browse strong { font-size: 14px; font-weight: 500 }
.ref-home-browse span { color: var(--text2); font-size: 12px }
.ref-home-common { display: grid; grid-template-columns: 1fr 1.35fr; gap: 48px }
.ref-home-common h2 { font-size: 13px; font-weight: 500; color: var(--text2); margin-bottom: 12px }
.ref-home-common a { display: flex; align-items: baseline; gap: 12px; padding: 9px 8px; border-radius: 4px; color: var(--text); overflow-wrap: anywhere; font-size: 13px }
.ref-home-common a:hover { background: var(--bg2); text-decoration: none; color: var(--blue) }
.ref-home-common code { min-width: 32px; color: var(--blue) }
.ref-home-results { margin: 0 0 28px; padding: 10px 16px; background: var(--bg2); border: 1px solid var(--border); border-radius: 6px }
.ref-home-results small { margin-left: auto; color: var(--text2) }
@media(max-width: 640px) {
  .ref-home-layout .ref-main { padding: 32px 20px }
  .ref-home-browse { grid-template-columns: 1fr; gap: 8px; margin-bottom: 28px }
  .ref-home-browse a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 12px }
  .ref-home-common { grid-template-columns: 1fr; gap: 28px }
}
.ref-sidebar { padding: 32px 24px 48px; border-right: 1px solid var(--border); position: sticky; top: 0; max-height: 100vh; overflow-y: auto }
.ref-browse { display: block; font-size: 13px; margin-bottom: 24px }
.ref-kinds { display: flex; gap: 6px; margin-bottom: 20px; border: 1px solid var(--border); border-radius: 6px; padding: 4px }
.ref-kinds a { flex: 1; text-align: center; padding: 6px 3px; font-size: 11px; color: var(--text2); border-radius: 4px }
.ref-navigation > summary { cursor: pointer; color: var(--blue); font-size: 13px; padding: 10px 0; margin-bottom: 8px }
@media(min-width: 681px) { .ref-nav-ready > summary { display: none } }
.ref-kinds a[aria-current] { color: var(--blue); background: #58a6ff12 }
.ref-search label { display: block; font-weight: 500; font-size: 13px; margin-bottom: 8px }
.ref-search-input { position: relative }
.ref-search input { width: 100%; min-height: 42px; border: 1px solid var(--border); background: var(--bg2); color: var(--text); border-radius: 6px; padding: 10px 25px 10px 10px; font: inherit; font-size: 13px }
.ref-search kbd { position: absolute; right: 10px; top: 10px; color: var(--text2); pointer-events: none }
#ref-search-status { color: var(--text2); font-size: 12px; margin: 8px 0 24px; min-height: 19px }
.ref-shortcuts h2 { color: var(--text2); font-size: 12px; font-weight: 500; margin-bottom: 12px; text-transform: uppercase; letter-spacing: .08em }
.ref-shortcuts a, .ref-search-results a { display: flex; gap: 10px; padding: 7px 8px; margin: 0 -8px; border-radius: 4px; color: var(--text); font-size: 13px; overflow-wrap: anywhere }
.ref-shortcuts a:hover, .ref-search-results a:hover { background: var(--bg2); text-decoration: none; color: var(--blue) }
.ref-shortcuts code, .ref-search-results code { min-width: 32px; color: var(--text2); font-size: 12px }
.ref-sidebar-source { border-top: 1px solid var(--border); margin-top: 36px; padding-top: 20px; display: grid; gap: 7px; font-size: 12px }
.ref-sidebar-source span { color: var(--text2) }
.ref-main { padding: 28px 48px 60px; min-width: 0 }
.ref-versions { display: flex; flex-wrap: wrap; gap: 6px; border-bottom: 1px solid var(--border); padding-bottom: 22px; margin-bottom: 36px }
.ref-versions a, .ref-version-missing { padding: 6px 12px; border: 1px solid transparent; border-radius: 5px; font-size: 13px; color: var(--text2) }
.ref-versions a[aria-current] { background: #58a6ff12; border-color: #58a6ff55; color: var(--blue) }
.ref-version-missing { color: var(--text2); opacity: .7 }
.ref-version-missing small { display: block; font-size: 10px }
.ref-eyebrow { font-size: 12px; font-weight: 500; color: var(--text2); letter-spacing: .09em; margin-bottom: 8px }
.ref-eyebrow span { color: var(--cyan); font-weight: 700 }
.ref-heading { margin-bottom: 32px }
.ref-heading h1 { color: var(--text); font-size: clamp(26px, 3vw, 38px); line-height: 1.2; font-weight: 650; letter-spacing: -.04em; overflow-wrap: anywhere; margin: 0 }
.ref-title-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px }
.ref-copy, #ref-more { border: 1px solid var(--border); background: var(--bg2); color: var(--text2); font: inherit; font-size: 12px; padding: 5px 10px; border-radius: 5px; cursor: pointer }
.ref-copy:hover, #ref-more:hover { border-color: var(--blue); color: var(--blue) }
.ref-copy-status { font-size: 12px; color: var(--text2); min-width: 0; overflow-wrap: anywhere }
.ref-field-mention { text-decoration: underline !important; text-decoration-color: #58a6ff55 !important; text-underline-offset: 3px }
.ref-value-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 10px }
.ref-value-actions .ref-copy { background: transparent; padding: 3px 7px; font-size: 11px }
.ref-values tr { scroll-margin-top: 20px }
.ref-values tr:target td { background: #58a6ff18 }
.ref-values tr:target td:first-child { box-shadow: inset 3px 0 var(--blue) }
.ref-value-anchor { color: var(--cyan) !important }
.ref-value-result { display: block; color: var(--cyan); font-size: 12px; margin-top: 5px; white-space: pre-line; overflow-wrap: anywhere }
.ref-value-unknown { color: #e3b341 }
.ref-compare { border: 1px solid var(--border); border-radius: 6px; margin: 24px 0 32px; background: var(--bg2); overflow: hidden }
.ref-compare > summary { cursor: pointer; padding: 12px 16px; color: var(--blue); font-size: 13px }
.ref-compare[open] > summary { border-bottom: 1px solid var(--border) }
.ref-compare-control { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 16px 16px 0; font-size: 13px }
.ref-compare-control select { color: var(--text); background: var(--bg); padding: 7px 10px; border: 1px solid var(--border); border-radius: 5px; font: inherit; max-width: 100% }
.ref-compare-control button:disabled { opacity: .5; cursor: wait }
.ref-compare-note { color: var(--text2); padding: 14px 16px; font-size: 12px }
.ref-compare-body { padding: 0 16px 16px; overflow-wrap: anywhere; font-size: 14px }
.ref-compare-body h3 { font-size: 13px; font-weight: 500; margin: 22px 0 12px }
.ref-compare-body h3 span { color: var(--text2); margin-left: 8px }
.ref-compare-direction { color: var(--text); font-weight: 600; font-size: 13px; margin-bottom: 16px }
.ref-compare-direction span { color: var(--text2); margin: 0 7px }
.ref-compare-columns { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px }
.ref-compare-columns > div { border-left: 2px solid var(--border); padding-left: 12px }
.ref-compare-columns h4 { font-size: 12px; color: var(--text2); font-weight: 500; margin-bottom: 8px }
.ref-compare-columns p { font-size: 13px; white-space: pre-line }
.ref-compare-values ul { list-style: none; padding: 0; margin: 0 }
.ref-compare-values li { display: flex; gap: 14px; border-top: 1px solid var(--border); padding: 10px 0; font-size: 13px }
.ref-compare-values li code { color: var(--cyan); min-width: 32px }
.ref-compare-values small { display: block; color: #e3b341; margin-top: 6px }
.ref-diff-table { table-layout: fixed; font-size: 13px }
.ref-diff-table th:first-child, .ref-diff-table td:first-child { width: 90px }
.ref-diff-table td { white-space: pre-line }
.ref-compare-status:not(:empty) { font-size: 12px; color: #e3b341; padding: 0 16px 16px }
.ref-facts { display: flex; gap: 16px; flex-wrap: wrap; align-items: center; color: var(--text2); font-size: 12px; margin-top: 18px }
.ref-type { color: var(--cyan); border: 1px solid var(--border); border-radius: 4px; padding: 2px 8px; font-family: monospace; background: var(--bg2) }
.ref-subtitle { color: var(--text2); margin-top: 12px; font-size: 14px }
.ref-definition { margin-bottom: 32px; max-width: 78ch; font-size: 16px; line-height: 1.8 }
.ref-definition p { white-space: pre-line }
.ref-field-context { margin-bottom: 32px; max-width: 78ch; font-size: 16px; line-height: 1.8 }
.ref-context-note { border-left: 2px solid var(--border); padding-left: 16px; margin-top: 20px }
.ref-context-note h3 { font-size: 14px; font-weight: 500; margin: 0 0 8px; overflow-wrap: anywhere }
.ref-context-note p { white-space: pre-line; margin: 8px 0 }
.ref-definition ol, .ref-definition ul, .ref-values ol, .ref-values ul { margin: 12px 0; padding-left: 24px }
.ref-definition li, .ref-values li { margin: 6px 0 }
.ref-editorial-note { border-left: 2px solid var(--blue); padding: 10px 14px; background: #58a6ff08; margin: 18px 0; font-size: 13px; line-height: 1.7 }
.ref-editorial-note strong { color: var(--text); font-size: 13px }
.ref-editorial-label { font-size: 11px; color: var(--text2); margin-left: 10px }
.ref-editorial-note p { margin: 8px 0 }
.ref-original, .ref-source-detail { font-size: 13px; color: var(--text2); margin: 14px 0; overflow-wrap: anywhere }
.ref-original summary, .ref-source-detail summary { color: var(--blue); cursor: pointer; font-size: 12px }
.ref-original pre { white-space: pre-wrap; overflow-wrap: anywhere; font: inherit; font-size: 12px; padding-top: 10px }
.ref-source-detail > p, .ref-source-detail > ol, .ref-source-detail > ul { margin-top: 12px }
.ref-source-detail ul { list-style: disc; padding-left: 24px }
.ref-source-detail li { display: list-item; padding: 0; border: 0; margin: 6px 0 }
.ref-source-warning { color: #e3b341; border-left: 2px solid #d29922; padding-left: 10px; font-size: 12px }
.ref-quality-finding { margin: 18px 0; border: 1px solid var(--border); padding: 12px; border-radius: 5px }
.ref-quality-finding summary { cursor: pointer; color: var(--blue) }
.ref-quality-finding summary span { margin-left: 8px; color: var(--text2); font-size: 12px }
.ref-quality-finding ul { padding-left: 20px; font-size: 13px }
.ref-quality-finding li { margin: 18px 0; overflow-wrap: anywhere }
.ref-quality-finding small { color: var(--text2) }
.ref-quality-finding p { margin: 6px 0 !important }
.ref-main h2 { font-size: 14px; color: var(--text2); margin: 0 0 12px; font-weight: 500 }
.ref-main p + p { margin-top: 14px }
.ref-values h2 span { margin-left: 8px; color: var(--text2); background: var(--bg2); padding: 1px 6px; border-radius: 4px; font-size: 12px }
.ref-table-wrap { border: 1px solid var(--border); border-radius: 6px; overflow-x: auto; margin: 14px 0 22px }
.ref-table { border-collapse: collapse; width: 100%; font-size: 14px; text-align: left }
.ref-table th { font-size: 12px; font-weight: 500; color: var(--text2); background: var(--bg2); padding: 10px 16px }
.ref-table td { padding: 11px 16px; border-top: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere }
.ref-table td:first-child { width: 90px; font-family: monospace; color: var(--cyan) }
.ref-table td:last-child { color: var(--text2) }
.ref-table td a { color: var(--text) }
.ref-table td:first-child a { color: var(--cyan) }
.ref-table tr:hover td { background: #ffffff03 }
.ref-table p { white-space: pre-line }
.ref-quality-table { min-width: 760px }
.ref-quality-table th[scope="row"] { background: transparent; border-top: 1px solid var(--border); vertical-align: top; min-width: 130px; color: var(--text) }
.ref-quality-table td { overflow-wrap: normal }
.ref-quality-table small { color: var(--text2); font-size: 11px }
.ref-deprecated { display: inline-block; color: #e3b341; background: #e3b34110; padding: 1px 6px; border-radius: 4px; font-size: 11px; margin-left: 10px }
.ref-type-detail { margin: 24px 0 32px; border-bottom: 1px solid var(--border); padding-bottom: 22px; color: var(--text2) }
.ref-type-detail summary { cursor: pointer; font-size: 13px; color: var(--text) }
.ref-type-detail p { font-size: 14px; white-space: pre-line; margin-top: 12px }
.ref-related { margin: 32px 0 }
.ref-related a { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--border); font-size: 14px }
.ref-related a span { color: var(--text2); font-size: 12px }
.ref-footer { margin-top: 52px; padding-top: 20px; border-top: 1px solid var(--border); font-size: 12px; color: var(--text2); line-height: 1.8 }
.ref-footer p + p { margin-top: 4px }
.ref-notice { border-left: 2px solid #d29922; padding: 8px 14px; background: #d2992208; color: var(--text2); font-size: 13px; margin: 0 0 28px }
.ref-pagination { display: flex; justify-content: space-between; gap: 20px; margin-top: 20px; font-size: 13px; color: var(--text2) }
.ref-source-section { margin-top: 36px; border-top: 1px solid var(--border); padding-top: 24px }
.ref-source-section h2 { color: var(--text); font-size: 18px }
.ref-source-section dl { display: grid; grid-template-columns: 130px minmax(0, 1fr); gap: 10px; margin-bottom: 20px; font-size: 13px }
.ref-source-section dt { color: var(--text2) }
.ref-source-section dd { margin: 0; overflow-wrap: anywhere }
.ref-source-section pre { white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; margin-top: 15px; color: var(--text2) }
.ref-source-section details { margin-top: 20px }
.ref-version-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px }
.ref-version-cards > div { border: 1px solid var(--border); border-radius: 6px; padding: 22px; display: grid; gap: 10px; background: var(--bg2) }
.ref-version-cards strong { color: var(--text); font-size: 17px }
.ref-version-cards span { color: var(--text2); font-size: 13px }
.ref-skip { position: absolute; top: -100px; left: 10px; z-index: 100; background: var(--bg); padding: 12px }
.ref-skip:focus { top: 10px }
.ref-message-layout { margin-top: 32px }
.ref-message-layout h2 span { font-size: 12px; margin-left: 8px }
.ref-structure-note { font-size: 12px; color: var(--text2); line-height: 1.7; margin-bottom: 16px }
.ref-structure-tools { display: flex; flex-wrap: wrap; align-items: end; gap: 10px; margin: 20px 0 10px }
.ref-structure-tools label { display: grid; gap: 6px; flex: 1 1 240px; font-size: 12px; color: var(--text2) }
.ref-structure-tools > small { flex-basis: 100%; color: var(--text2); font-size: 12px }
@media(max-width: 640px) { .ref-structure-tools label { flex-basis: 100% } }
#ref-empty > a { display: block; margin-top: 8px }
#ref-empty > a > * + * { margin-left: 10px }
.ref-sidebar .ref-search-results a { flex-wrap: wrap; gap: 4px 8px }
.ref-sidebar .ref-search-results a > span { flex: 1; min-width: 100px }
.ref-sidebar .ref-search-results a > small { flex-basis: 100%; color: var(--text2); font-size: 11px }
.ref-structure-tools input { background: var(--bg2); border: 1px solid var(--border); border-radius: 5px; color: var(--text); padding: 8px 10px; font: inherit; font-size: 14px; width: 100% }
.ref-member-status { color: var(--text2); font-size: 12px; min-height: 20px; margin-bottom: 10px }
.ref-message-tree { border: 1px solid var(--border); border-radius: 6px; overflow: hidden }
.ref-message-tree .ref-member-list { list-style: none; padding: 0; margin: 0 }
.ref-message-tree .ref-member-list > li { border-top: 1px solid var(--border); padding: 11px 14px; scroll-margin-top: 20px; overflow-wrap: anywhere }
.ref-message-tree > ol > li:first-child { border-top: 0 }
.ref-message-tree li:target { background: #58a6ff12; box-shadow: inset 3px 0 var(--blue) }
.ref-message-tree .ref-member-list .ref-member-list { border-left: 2px solid var(--border); margin: 12px 0 0 4px }
.ref-member-row { display: grid; grid-template-columns: minmax(0, 1fr) 135px 90px; gap: 10px; align-items: start }
.ref-member-name { font-size: 14px; min-width: 0 }
.ref-member-name a { color: var(--text); display: grid; grid-template-columns: 42px minmax(0, 1fr); column-gap: 10px }
.ref-member-name strong { font-weight: 500 }
.ref-member-name code { color: var(--cyan); font-size: 12px }
.ref-member-kind, .ref-presence, .ref-required { font-size: 11px; color: var(--text2) }
.ref-required { color: var(--cyan) }
.ref-member-block > summary { cursor: pointer; color: var(--blue); list-style: none; position: relative }
.ref-member-block > summary::-webkit-details-marker { display: none }
.ref-member-block > summary::before { content: '▸'; position: absolute; left: 0; top: 0 }
.ref-member-block[open] > summary::before { content: '▾' }
.ref-member-block > summary .ref-member-name { padding-left: 52px }
.ref-group-count { display: block }
#corrections ul { padding-left: 20px; margin-top: 14px }
#corrections li { overflow-wrap: anywhere }
#scoped-corrections ul { padding-left: 20px; margin-top: 14px }
#scoped-corrections li { overflow-wrap: anywhere; margin-top: 12px }
#corrections li + li { margin-top: 12px }
.ref-member-notes { font-size: 12px; line-height: 1.7; color: var(--text2); white-space: pre-line; margin-top: 8px; max-width: 90ch }
.ref-member-notes p + p { margin-top: 8px }
.ref-member-description { font-size: 12px; color: var(--text2); margin-top: 10px; white-space: pre-line }
.ref-member-description summary { cursor: pointer; color: var(--blue) }
.ref-member-description p { margin-top: 10px }
.ref-component-link { font-size: 12px; margin: 12px 0 }
.ref-member-notes ol, .ref-member-notes ul, .ref-member-description ol, .ref-member-description ul { padding-left: 24px; margin: 12px 0 }
.ref-member-notes li, .ref-member-description li { margin: 6px 0 }
.ref-usage { margin: 28px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); padding: 16px 0 }
.ref-usage > summary { cursor: pointer; color: var(--blue); font-size: 14px }
.ref-usage > summary span { color: var(--text2); margin-left: 8px; font-size: 12px }
.ref-usage > p { margin: 14px 0 }
.ref-usage ul { list-style: none; margin: 0; padding: 0 }
.ref-usage li { border-top: 1px solid var(--border); padding: 10px 0 }
.ref-usage li > small { display: block; color: var(--text2); margin-top: 3px; overflow-wrap: anywhere }
.ref-usage code { font-size: 12px; margin-right: 10px; color: var(--cyan) }
.ref-usage li details { margin-top: 6px; color: var(--text2); font-size: 12px }
.ref-usage li details summary { cursor: pointer }
.ref-usage li details ul { margin: 8px 0 0 16px }
@media(max-width: 900px) { .ref-main { padding: 24px } .ref-layout { grid-template-columns: 245px minmax(0, 1fr) } }
@media(max-width: 680px) {
  .ref-member-row { grid-template-columns: minmax(0, 1fr) 76px; gap: 4px 8px }
  .ref-member-kind { grid-column: 1; grid-row: 2 }
  .ref-presence, .ref-required { grid-column: 2; grid-row: 1 / 3; text-align: right }
  .ref-message-tree .ref-member-list > li { padding: 10px 8px }
  .ref-message-tree .ref-member-list .ref-member-list { margin-left: 0 }
  .ref-member-name { font-size: 13px }
  .ref-member-name code { margin-right: 5px }
  .ref-kinds { max-width: none }
  .ref-compare-columns { grid-template-columns: minmax(0, 1fr) }
  .ref-diff-table th:first-child, .ref-diff-table td:first-child { width: 65px }
  .ref-layout { display: block }
  .ref-sidebar { position: static; max-height: none; padding: 16px 18px 0; border-right: 0 }
  .ref-sidebar-source, .ref-shortcuts { display: none } .ref-browse { margin-bottom: 14px }
  .ref-navigation { border-bottom: 1px solid var(--border); margin-bottom: 10px }
  .ref-navigation > summary { padding: 8px 0; margin: 0 }
  .ref-navigation[open] > summary { margin-bottom: 10px }
  .ref-sidebar #ref-search-status { margin-bottom: 4px }
  .ref-sidebar .ref-search-results { max-height: 45vh; overflow-y: auto; overscroll-behavior: contain; padding: 0 8px; margin: 8px -8px }
  /* Retain the query without burying the destination under its previous results.
     Focusing the search or a result brings them back, including for keyboard use. */
  .ref-sidebar:not(:focus-within) .ref-search-results { display: none }
  .ref-main { padding: 8px 18px 36px } .ref-versions { margin-bottom: 18px; padding-bottom: 12px }
  .ref-versions a, .ref-version-missing { padding: 5px 8px; font-size: 12px } .ref-definition { font-size: 16px }
  .ref-table th, .ref-table td { padding: 10px } .ref-table { font-size: 13px } .ref-table td:first-child { width: 58px }
  .ref-version-cards { grid-template-columns: 1fr } .ref-source-section dl { grid-template-columns: 1fr; gap: 4px }
  .ref-source-section dd { margin-bottom: 12px } .ref-footer { margin-top: 36px }
}
