.postgis-support-browser {
  margin-top: 1.5rem;
}

main.container:has(.postgis-support-browser) {
  max-width: 91rem;
}

main.container:has(.postgis-support-browser--full-history) {
  max-width: none;
  padding-left: 1.25rem;
  padding-right: 1.25rem;
  width: 100%;
}

main.container:has(.postgis-support-browser--full-history) .gdoc-page {
  flex: 1 1 auto;
  max-width: none;
  min-width: 0;
  width: 100%;
}

main.container:has(.postgis-support-browser--full-history) .gdoc-markdown {
  max-width: none;
  width: 100%;
}

.support-meta {
  color: #6b7784;
  font-size: 0.9rem;
}

.support-toolbar {
  align-items: stretch;
  background: transparent;
  border-bottom: 1px solid color-mix(in srgb, var(--code-accent-color) 58%, transparent);
  border-radius: 0;
  border-top: 1px solid color-mix(in srgb, var(--code-accent-color) 58%, transparent);
  border-color: var(--support-toolbar-border, color-mix(in srgb, var(--code-accent-color) 58%, transparent));
  display: flex;
  flex-direction: column;
  gap: 0.48rem;
  margin: 0.9rem 0 0.72rem;
  padding: 0.52rem 0;
  width: fit-content;
  max-width: 100%;
}

.support-toolbar-row {
  align-items: flex-start;
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem 1.1rem;
  max-width: 100%;
}

.support-toolgroup {
  align-items: center;
  display: inline-flex;
  flex: 0 0 auto;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-width: 0;
}

.support-toolgroup-label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.support-toolgroup-caption {
  color: var(--support-muted-text, #627181);
  font-size: 0.76rem;
  font-weight: 700;
  line-height: 1.2;
  margin-right: 0.18rem;
  white-space: nowrap;
}

.support-toolgroup--segments {
  flex: 0 1 auto;
}

.support-toolgroup--toggles {
  flex: 0 1 auto;
}

.support-toolgroup--toggles .support-segments,
.support-toolgroup--row-detail .support-segments {
  align-items: center;
}

.support-toolgroup--row-detail {
  border-left: 1px solid color-mix(in srgb, var(--code-accent-color) 72%, transparent);
  padding-left: 0.85rem;
}

.support-segments {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.22rem;
}

.support-segment {
  background: var(--support-control-bg, color-mix(in srgb, var(--body-background) 88%, var(--code-background) 12%));
  border: 1px solid var(--support-control-border, var(--code-accent-color));
  border-radius: 0.28rem;
  color: var(--support-control-text, var(--body-font-color));
  cursor: pointer;
  font-size: 0.88rem;
  font-weight: 600;
  min-height: 2.12rem;
  padding: 0.28rem 0.7rem;
}

.support-segment--active {
  background: var(--support-control-active-bg, color-mix(in srgb, var(--header-font-color) 22%, var(--body-background) 78%));
  border-color: var(--support-control-active-border, color-mix(in srgb, var(--header-font-color) 58%, var(--code-accent-color) 42%));
  color: var(--support-control-active-text, var(--header-font-color));
}

.support-control-hint {
  color: var(--support-muted-text, #627181);
  font-size: 0.75rem;
  line-height: 1.35;
  margin: -0.12rem 0 0;
}

.support-matrix-shell {
  --support-cell-height: 4.75rem;
  --support-cell-width: 4.2rem;
  --support-series-group-width: 4.25rem;
  --support-series-head-width: 8.75rem;
  -webkit-overflow-scrolling: touch;
  margin-top: 0.55rem;
  overflow: auto;
  overscroll-behavior-x: contain;
  touch-action: pan-x pan-y;
}

.support-matrix-shell:not(:has(.support-patch-row)) {
  --support-series-head-width: 6.25rem;
}

.support-matrix-shell--compact {
  --support-series-group-width: 4rem;
}

@media (hover: hover) and (pointer: fine) {
  .support-matrix-shell--draggable {
    cursor: grab;
  }

  .support-matrix-shell--dragging {
    cursor: grabbing;
    user-select: none;
  }
}

.support-matrix {
  border-collapse: separate;
  border-spacing: 0;
  font-size: 0.86rem;
  margin: 0;
  min-width: max-content;
  table-layout: auto;
  width: max-content;
}

.gdoc-markdown table.support-matrix:not(.lntable):not(.highlight) {
  margin: 0;
}

main.container:has(.postgis-support-browser) .support-matrix-shell {
  max-width: 100%;
  width: fit-content;
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-matrix {
  max-width: none;
  min-width: max-content;
  table-layout: auto;
  width: max-content;
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-matrix th,
main.container:has(.postgis-support-browser) .support-matrix-shell .support-matrix td {
  padding: 0.38rem 0.28rem;
}

main.container:has(.postgis-support-browser) .support-matrix-shell--compact .support-matrix th,
main.container:has(.postgis-support-browser) .support-matrix-shell--compact .support-matrix td {
  padding-left: 0.18rem;
  padding-right: 0.18rem;
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-corner,
main.container:has(.postgis-support-browser) .support-matrix-shell .support-series-head {
  width: var(--support-series-head-width);
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-series-group {
  width: var(--support-series-group-width);
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-column-head,
main.container:has(.postgis-support-browser) .support-matrix-shell .support-cell {
  min-width: var(--support-cell-width);
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-matrix thead th:not(.support-corner) {
  min-width: var(--support-cell-width);
  width: var(--support-cell-width);
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-cell {
  max-width: var(--support-cell-width);
  width: var(--support-cell-width);
}

main.container:has(.postgis-support-browser) .support-matrix-shell .support-column-life,
main.container:has(.postgis-support-browser) .support-matrix-shell .support-column-date {
  overflow-wrap: normal;
  white-space: nowrap;
}

.support-matrix th,
.support-matrix td {
  border-bottom: 1px solid rgba(0, 0, 0, 0.16);
  border-right: 1px solid rgba(0, 0, 0, 0.12);
  padding: 0.38rem 0.28rem;
  position: relative;
  text-align: left;
  vertical-align: middle;
}

.support-matrix tr > :first-child {
  border-left: 1px solid rgba(0, 0, 0, 0.16);
}

.support-matrix thead tr:first-child > * {
  border-top: 1px solid rgba(0, 0, 0, 0.16);
}

.support-matrix th {
  background: var(--accent-color-lite);
}

.support-matrix thead {
  position: sticky;
  top: 0;
  z-index: 5;
}

.support-matrix .support-corner {
  left: 0;
  position: sticky;
  z-index: 6;
}

.support-matrix tbody .support-series-group,
.support-matrix tbody .support-series-head {
  box-sizing: border-box;
  position: sticky;
}

.support-matrix tbody .support-series-group {
  left: 0;
  min-width: var(--support-series-group-width);
  width: var(--support-series-group-width);
  z-index: 3;
}

.support-matrix tbody .support-series-head {
  left: var(--support-series-group-width);
  min-width: var(--support-series-head-width);
  overflow: hidden;
  width: var(--support-series-head-width);
  z-index: 2;
}

.support-group-head {
  background: var(--support-group-bg, color-mix(in srgb, var(--accent-color-lite) 88%, var(--body-font-color) 12%)) !important;
  color: var(--support-group-text, var(--body-font-color));
  font-size: 0.72rem;
  letter-spacing: 0;
  padding: 0 !important;
  text-align: left !important;
}

.support-group-head-label {
  align-items: center;
  display: inline-flex;
  justify-content: center;
  left: calc(var(--support-series-group-width) + var(--support-series-head-width));
  min-height: 2.4rem;
  min-width: var(--support-cell-width);
  padding: 0.35rem 0.45rem;
  position: sticky;
  width: max-content;
}

.support-corner--overview {
  vertical-align: bottom !important;
}

.support-matrix .support-column--eol,
.support-matrix .support-row--eol > th {
  background: color-mix(in srgb, var(--accent-color-lite) 70%, #6c757d 30%);
}

.support-cell--column-eol,
.support-cell--row-eol {
  filter: saturate(0.62) brightness(0.9);
}

.support-cell--column-eol.support-cell--row-eol {
  filter: saturate(0.5) brightness(0.82);
}

.support-matrix .support-cell--hover-row {
  box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.08);
}

.support-matrix .support-cell--hover-column {
  box-shadow: inset 0 0 0 9999px rgba(255, 255, 255, 0.12);
}

.support-matrix .support-cell--hover-row.support-cell--hover-column {
  box-shadow:
    inset 0 0 0 9999px rgba(255, 255, 255, 0.16),
    inset 0 0 0 2px rgba(255, 255, 255, 0.26);
}

.support-matrix thead .support-cell--hover-column {
  background: var(--support-hover-column-bg, color-mix(in srgb, var(--accent-color-lite) 70%, #ffcc5c 30%));
  box-shadow: var(--support-hover-column-shadow,
    inset 0 0 0 9999px rgba(255, 204, 92, 0.14),
    inset 0 -3px 0 #d08300,
    inset 0 0 0 1px rgba(208, 131, 0, 0.35));
  z-index: 4;
}

.support-matrix tbody th.support-cell--hover-row {
  background: var(--support-hover-row-bg, color-mix(in srgb, var(--accent-color-lite) 86%, #ffcc5c 14%));
  box-shadow: var(--support-hover-row-shadow,
    inset 2px 0 0 rgba(208, 131, 0, 0.78),
    inset 0 0 0 9999px rgba(255, 204, 92, 0.045));
}

.support-matrix thead th {
  font-size: 0.78rem;
  letter-spacing: 0;
  text-align: center;
  white-space: normal;
}

.support-matrix thead th[data-column-index] {
  vertical-align: top;
}

.support-column-head {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.16rem;
  justify-content: flex-start;
  line-height: 1.1;
  min-width: 0;
  width: 100%;
  white-space: nowrap;
}

.support-column-head strong {
  font-size: clamp(1.95rem, calc(var(--support-cell-width) * 0.5), 3.6rem);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 0.9;
}

.support-column-source,
.support-patch-source {
  color: inherit;
  text-decoration: none;
}

.support-column-source:hover,
.support-column-source:focus,
.support-patch-source:hover,
.support-patch-source:focus {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.12rem;
}

.support-column-life,
.support-column-date {
  border-radius: 0.28rem;
  display: inline-block;
  font-size: 0.56rem;
  line-height: 1.15;
  overflow-wrap: normal;
  padding: 0.04rem 0.2rem;
  white-space: nowrap;
}

.support-column-life {
  background: var(--support-life-bg, transparent);
  color: var(--support-control-text, inherit);
}

.support-column-life--supported {
  background: var(--support-stable-bg, #dff3e8);
  color: var(--support-stable-text, #24563d);
}

.support-column-life--current,
.support-column-life--recent {
  background: var(--support-stable-bg, #dff3e8);
  color: var(--support-stable-text, #24563d);
}

.support-column-life--historical {
  background: var(--support-historical-bg, #e9ecef);
  color: var(--support-historical-text, #495057);
}

.support-column-life--development {
  background: var(--support-development-bg, #dbeafe);
  color: var(--support-development-text, #164d85);
}

.support-column-life--eol {
  background: var(--support-eol-bg, #f8d7da);
  color: var(--support-eol-text, #842029);
  font-weight: bold;
}

.support-column-date {
  color: var(--support-meta-text, #5f6b76);
}

.support-column-final {
  color: var(--support-final-text, #7a4b00);
}

.support-corner {
  text-align: left !important;
  width: 10.5rem;
}

.support-series-head {
  min-width: var(--support-series-head-width);
  width: var(--support-series-head-width);
}

.support-matrix .support-series-group {
  background: color-mix(in srgb, var(--accent-color-lite) 78%, var(--body-background) 22%);
  min-width: var(--support-series-group-width);
  text-align: center !important;
  vertical-align: top;
  width: var(--support-series-group-width);
}

.support-series-group--hover {
  background: var(--support-hover-row-bg, color-mix(in srgb, var(--accent-color-lite) 84%, var(--body-background) 16%)) !important;
  box-shadow: var(--support-hover-group-shadow,
    inset 3px 0 0 rgba(208, 131, 0, 0.9),
    inset 0 0 0 1px rgba(208, 131, 0, 0.16));
}

.support-series-group strong {
  display: block;
  font-size: 2.35rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
  padding-top: 0.62rem;
}

.support-series-group--hover strong {
  color: var(--support-hover-group-text, color-mix(in srgb, var(--body-font-color) 82%, #d08300 18%));
}

.support-series-name {
  align-items: end;
  display: grid;
  gap: 0.08rem 0.42rem;
  grid-template-columns: max-content minmax(0, 1fr);
  margin-bottom: 0.38rem;
}

.support-series-name strong,
.support-series-name span {
  display: block;
}

.support-series-name strong {
  font-size: 2.35rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 0.9;
}

.support-series-name span {
  color: #aeb8c2;
  font-size: 0.78rem;
  font-weight: normal;
  line-height: 1.1;
  min-width: 0;
  overflow-wrap: normal;
  white-space: nowrap;
}

.support-series-detail-name {
  display: block;
  margin-bottom: 0.32rem;
}

.support-series-detail-name span {
  color: var(--support-series-version-text, #667786);
  font-size: 0.86rem;
  font-weight: 600;
}

.support-patch-row > th,
.support-patch-row > td {
  padding-bottom: 0.18rem;
  padding-top: 0.18rem;
}

.support-patch-row .support-series-head {
  background: color-mix(in srgb, var(--accent-color-lite) 82%, var(--body-background) 18%);
  padding-left: 1.1rem;
}

.support-patch-name {
  align-items: baseline;
  display: flex;
  flex-wrap: wrap;
  gap: 0.08rem 0.42rem;
  margin-bottom: 0;
}

.support-patch-name > * {
  min-width: 0;
}

.support-patch-name .support-patch-source {
  flex: 0 0 auto;
}

.support-patch-name strong {
  font-size: 0.98rem;
  font-weight: 800;
  line-height: 1;
}

.support-patch-name span {
  color: #6b7784;
  font-size: 0.66rem;
}

.support-patch-row .support-cell {
  height: 1.75rem;
}

.support-cell {
  color: transparent;
  font-weight: bold;
  height: var(--support-cell-height);
  min-width: 3.2rem;
  position: relative;
  text-align: center !important;
  width: 3.2rem;
}

.support-cell-symbol {
  align-items: center;
  color: inherit;
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
}

.support-cell--supported,
.support-cell--feature-limited,
.support-cell--known-compatible,
.support-cell--packaged,
.support-cell--unsupported,
.support-cell--not-applicable,
.support-cell--unknown {
  color: #ffffff;
}

.support-cell--supported {
  background: #2f9e62;
}

.support-cell--known-compatible {
  background: #d89b16;
}

.support-cell--feature-limited {
  background: #c66d1f;
}

.support-cell--packaged {
  background: #8c6dd8;
}

.support-cell--unknown {
  background: #343b41;
  background-image: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.08) 25%,
    transparent 25%,
    transparent 50%,
    rgba(255, 255, 255, 0.08) 50%,
    rgba(255, 255, 255, 0.08) 75%,
    transparent 75%,
    transparent
  );
  background-size: 0.65rem 0.65rem;
  color: #cfd6dd;
}

.support-cell--unsupported {
  background: #b73a3a;
}

.support-cell--not-applicable {
  background: var(--support-not-applicable-bg, #d8dee3);
  color: var(--support-not-applicable-text, #56616b);
  font-size: 0.74rem;
}

.support-cell-popover {
  background: rgba(18, 26, 34, 0.97);
  border: 1px solid rgba(148, 163, 184, 0.42);
  border-radius: 0.25rem;
  box-shadow: 0 0.55rem 1.4rem rgba(0, 0, 0, 0.32);
  color: #f1f5f9;
  display: none;
  font-size: 0.74rem;
  font-weight: normal;
  left: 0;
  line-height: 1.45;
  padding: 0.45rem 0.55rem;
  pointer-events: none;
  position: fixed;
  text-align: left;
  top: 0;
  white-space: pre-line;
  z-index: 40;
}

.support-cell-popover--active {
  display: block;
}

.support-lifecycle {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  margin-bottom: 0.24rem;
}

.support-lifecycle-pill {
  background: var(--support-life-bg, var(--code-background));
  border: 1px solid var(--support-life-border, var(--code-accent-color));
  border-radius: 0.35rem;
  color: var(--support-control-text, inherit);
  display: inline-block;
  font-size: 0.66rem;
  line-height: 1.25;
  padding: 0.05rem 0.22rem;
  white-space: nowrap;
}

.support-lifecycle-pill--eol {
  background: var(--support-eol-bg, #f8d7da);
  border-color: var(--support-eol-border, #e0a4aa);
  color: var(--support-eol-text, #842029);
  font-weight: bold;
}

.support-lifecycle-pill--stable {
  background: var(--support-stable-bg, #dff3e8);
  border-color: var(--support-stable-border, #adddc3);
  color: var(--support-stable-text, #24563d);
}

.support-lifecycle-pill--development {
  background: var(--support-development-bg, #dbeafe);
  border-color: var(--support-development-border, #9ec5fe);
  color: var(--support-development-text, #164d85);
}

.support-legend {
  align-items: flex-start;
  border-top: 0;
  display: inline-flex;
  flex: 0 1 auto;
  flex-wrap: wrap;
  gap: 0.3rem 0.72rem;
  margin: 0;
  min-width: 0;
  padding: 0.06rem 0 0;
}

.support-legend-item {
  align-items: center;
  background: var(--support-life-bg, transparent);
  border: 0;
  border-color: var(--support-life-border, currentColor);
  border-radius: 0;
  color: var(--support-control-text, inherit);
  display: inline-flex;
  font-size: 0.82rem;
  gap: 0.34rem;
  line-height: 1.2;
  min-height: 1.35rem;
  padding: 0;
}

.support-swatch {
  align-items: center;
  border-radius: 0.24rem;
  display: inline-flex;
  font-size: 0.7rem;
  font-weight: bold;
  height: 1.25rem;
  justify-content: center;
  min-width: 1.25rem;
  padding: 0 0.18rem;
}

.support-swatch--supported {
  background: #2f9e62;
  color: #ffffff;
}

.support-swatch--known-compatible {
  background: #d89b16;
  color: #ffffff;
}

.support-swatch--feature-limited {
  background: #c66d1f;
  color: #ffffff;
}

.support-swatch--packaged {
  background: #8c6dd8;
  color: #ffffff;
}

.support-swatch--unknown {
  background: rgba(127, 135, 144, 0.12);
  border: 1px solid var(--code-accent-color);
  color: transparent;
}

.support-swatch--unsupported {
  background: #b73a3a;
  color: #ffffff;
}

.support-swatch--not-applicable {
  background: #495057;
  color: #ffffff;
}

.support-warning {
  background: #fff3cd;
  border: 1px solid #d89b16;
  border-left-width: 0.35rem;
  color: #5f4700;
  margin: 0.8rem 0 1rem;
  padding: 0.55rem 0.7rem;
}

.support-warning p {
  margin: 0.3rem 0 0;
}

.support-warning-title {
  color: inherit;
  font-weight: bold;
  text-decoration-color: color-mix(in srgb, currentColor 48%, transparent);
  text-underline-offset: 0.12rem;
}

.support-current-value {
  color: var(--support-current-text, #1f2d3a);
  display: inline-grid;
  gap: 0.06rem;
  line-height: 1.2;
}

.support-current-value strong {
  font-size: 0.98rem;
}

.support-current-value span {
  color: var(--support-meta-text, #6b7784);
  font-size: 0.66rem;
  font-weight: normal;
}

.support-current-packaged {
  align-items: center;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.12rem;
  text-decoration: none;
  vertical-align: middle;
}

.support-current-packaged:hover,
.support-current-packaged:focus {
  text-decoration: none;
}

.support-current-package {
  background: var(--support-package-bg, #1677c6);
  border: 1px solid var(--support-package-border, rgba(0, 0, 0, 0.12));
  color: var(--support-package-text, #ffffff);
  display: inline-block;
  font-size: 0.66rem;
  line-height: 1.2;
  padding: 0.08rem 0.22rem;
}

.support-current-package--development {
  background: var(--support-package-development-bg, #6f7d8a);
  color: var(--support-control-text, #ffffff);
}

.support-current-package--same {
  background: var(--support-package-same-bg, #2f9e62);
  border-color: var(--support-package-same-border, rgba(0, 0, 0, 0.12));
  color: var(--support-package-same-text, #ffffff);
}

.support-provenance {
  border-top: 1px solid var(--code-accent-color);
  color: #687582;
  font-size: 0.78rem;
  margin-top: 1.3rem;
  padding-top: 0.8rem;
}

.support-provenance a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.14rem;
}

.support-dependency-graph {
  border-top: 1px solid var(--code-accent-color);
  margin-top: 1.35rem;
  max-width: 76rem;
  padding-top: 0.9rem;
  width: 100%;
}

.support-dependency-header {
  align-items: baseline;
  display: flex;
  gap: 0.8rem 2rem;
  justify-content: space-between;
}

.support-dependency-heading {
  min-width: 0;
}

.support-dependency-graph h2 {
  color: var(--support-section-heading, #8f1d1d);
  font-family: Roboto Slab, serif;
  font-size: 1.04rem;
  margin: 0 0 0.32rem;
}

.support-dependency-graph p {
  font-size: 0.82rem;
  margin: 0;
}

.support-dependency-snapshot {
  color: var(--support-muted-text, #70808f);
  flex: 0 0 auto;
  font-size: 0.72rem;
  white-space: nowrap;
}

.support-dependency-group {
  margin-top: 1.4rem;
}

.support-dependency-group-head {
  align-items: baseline;
  display: flex;
  gap: 0.55rem;
  justify-content: flex-start;
}

.support-dependency-group-head h3 {
  color: var(--support-content-text, #2e3a45);
  font-family: Roboto Slab, serif;
  font-size: 0.96rem;
  margin: 0;
}

.support-dependency-group-head span {
  color: var(--support-muted-text, #70808f);
  font-size: 0.72rem;
  font-variant-numeric: tabular-nums;
}

.support-dependency-group-note {
  color: var(--support-muted-text, #63717f);
  max-width: 48rem;
}

.support-dependency-index {
  column-gap: 2.4rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0.45rem;
}

.support-dependency-item {
  border-top: 1px solid var(--support-item-border, #d9e0e7);
  border-color: var(--support-item-border, #d9e0e7);
  color: var(--support-content-text, #2f3a44);
  min-width: 0;
}

.support-dependency-summary {
  cursor: pointer;
  display: grid;
  gap: 0.14rem 0.75rem;
  grid-template-areas:
    "identity primary marker"
    "identity secondary marker";
  grid-template-columns: minmax(0, 1fr) minmax(8.5rem, auto) 0.55rem;
  list-style: none;
  min-height: 4.05rem;
  padding: 0.6rem 0 0.62rem;
}

.support-dependency-summary::-webkit-details-marker {
  display: none;
}

.support-dependency-summary::after {
  align-self: center;
  border-bottom: 1.5px solid #7a8793;
  border-right: 1.5px solid #7a8793;
  content: "";
  grid-area: marker;
  height: 0.34rem;
  justify-self: end;
  transform: rotate(-45deg);
  transition: transform 120ms ease;
  width: 0.34rem;
}

.support-dependency-item[open] .support-dependency-summary::after {
  transform: rotate(45deg);
}

.support-dependency-item--vendored .support-dependency-summary {
  grid-template-areas:
    "identity marker"
    "primary marker"
    "secondary marker";
  grid-template-columns: minmax(0, 1fr) 0.55rem;
}

.support-dependency-item--vendored .support-dependency-primary,
.support-dependency-item--vendored .support-dependency-secondary {
  justify-self: start;
  text-align: left;
}

.support-dependency-summary:hover .support-dependency-name strong,
.support-dependency-summary:focus .support-dependency-name strong {
  color: var(--header-font-color);
}

.support-dependency-identity {
  align-self: center;
  display: grid;
  gap: 0.16rem;
  grid-area: identity;
  min-width: 0;
}

.support-dependency-name {
  align-items: baseline;
  display: flex;
  gap: 0.42rem;
  min-width: 0;
}

.support-dependency-name strong {
  flex: 0 1 auto;
  font-size: 0.9rem;
  min-width: 0;
}

.support-dependency-name strong a {
  color: inherit;
  text-decoration: none;
}

.support-dependency-name strong a:hover,
.support-dependency-name strong a:focus {
  text-decoration: underline;
  text-underline-offset: 0.14rem;
}

.support-dependency-kind {
  color: var(--support-muted-text, #748290);
  flex: 0 0 auto;
  font-size: 0.66rem;
  line-height: 1.2;
  white-space: nowrap;
}

.support-dependency-role {
  color: var(--support-muted-text, #63717f);
  font-size: 0.72rem;
  line-height: 1.32;
  overflow-wrap: anywhere;
}

.support-dependency-primary {
  align-self: center;
  grid-area: primary;
  justify-self: end;
  min-width: 0;
  text-align: right;
}

.support-dependency-primary .support-current-value {
  color: var(--support-current-text, inherit);
}

.support-dependency-primary a.support-current-value {
  text-decoration: none;
}

.support-dependency-primary a.support-current-value:hover strong,
.support-dependency-primary a.support-current-value:focus strong {
  text-decoration: underline;
  text-underline-offset: 0.14rem;
}

.support-dependency-primary .support-current-value strong {
  font-size: 1.12rem;
  font-variant-numeric: tabular-nums;
}

.support-dependency-secondary {
  align-items: center;
  color: var(--support-muted-text, #63717f);
  display: flex;
  flex-wrap: wrap;
  font-size: 0.68rem;
  gap: 0.12rem 0.3rem;
  grid-area: secondary;
  justify-self: end;
  line-height: 1.25;
  min-width: 0;
  text-align: right;
}

.support-current-packaged-label {
  color: #8793a0;
  font-weight: 700;
}

.support-dependency-secondary .support-current-packaged {
  gap: 0.12rem 0.3rem;
  margin: 0;
}

.support-dependency-secondary .support-current-package {
  background: transparent;
  border: 0;
  color: var(--support-package-link, #426b92);
  font-size: inherit;
  padding: 0;
}

.support-dependency-secondary .support-current-package--same {
  color: var(--support-success-text, #247649);
  font-weight: 700;
}

.support-dependency-secondary .support-current-package--development {
  color: var(--support-package-link, #6a7580);
}

.support-dependency-details {
  border-left: 2px solid var(--support-detail-border, #c6d1db);
  border-color: var(--support-detail-border, #c6d1db);
  display: grid;
  gap: 0.3rem;
  margin: 0 0 0.72rem;
  padding: 0.12rem 0 0.08rem 0.85rem;
}

.support-dependency-detail {
  display: grid;
  gap: 0.6rem;
  grid-template-columns: 5.3rem minmax(0, 1fr);
}

.gdoc-markdown .support-dependency-detail dt {
  color: var(--support-detail-muted, #71808e);
  font-size: 0.65rem;
  font-weight: 700;
  margin: 0;
}

.gdoc-markdown .support-dependency-detail dd {
  color: var(--support-content-text, #3f4c57);
  font-size: 0.72rem;
  line-height: 1.35;
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

.support-dependency-detail--evidence dd {
  color: var(--support-detail-muted, #667482);
  font-size: 0.68rem;
}

.support-dependency-detail dd a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  text-underline-offset: 0.12rem;
}

.support-dependency-detail-meta {
  color: #7c8995;
  display: block;
  font-size: 0.64rem;
  margin-top: 0.08rem;
}

.support-vendored-summary {
  color: inherit;
  display: inline-grid;
  gap: 0.06rem;
  line-height: 1.2;
  text-decoration: none;
}

.support-vendored-version {
  font-size: 1.02rem;
  font-variant-numeric: tabular-nums;
}

.support-vendored-state {
  color: var(--support-detail-muted, #667482);
  font-size: 0.65rem;
  font-weight: normal;
}

.support-vendored-summary--current .support-vendored-state {
  color: var(--support-success-text, #247649);
}

.support-vendored-summary--behind .support-vendored-state {
  color: var(--support-danger-text, #a33227);
}

.support-vendored-summary--tracked-unversioned .support-vendored-state,
.support-vendored-summary--unknown .support-vendored-state {
  color: var(--support-warning-text, #9a6a00);
}

.support-maintenance {
  border-top: 1px solid var(--code-accent-color);
  margin-top: 1.5rem;
  max-width: 76rem;
  padding-top: 0.9rem;
}

.support-maintenance h2 {
  color: var(--support-section-heading, #8f1d1d);
  font-family: Roboto Slab, serif;
  font-size: 1.04rem;
  margin: 0 0 0.32rem;
}

.support-maintenance > p {
  font-size: 0.82rem;
  margin: 0;
}

.support-maintenance-list {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0;
}

.support-maintenance-item {
  border-top: 1px solid var(--support-item-border, #d9e0e7);
  display: grid;
  gap: 0.16rem 1.2rem;
  grid-template-columns: minmax(10rem, 15rem) minmax(12rem, 1fr);
  padding: 0.58rem 0 0.62rem;
}

.support-maintenance-item p {
  font-size: 0.74rem;
  margin: 0;
}

.support-maintenance-heading {
  align-self: start;
  display: grid;
  gap: 0.08rem;
  grid-row: span 3;
}

.support-maintenance-heading strong {
  font-size: 0.9rem;
}

.support-maintenance-heading span,
.support-maintenance-guidance {
  color: var(--support-detail-muted, #63717f);
}

.support-maintenance-summary {
  color: var(--support-content-text, #2f3a44);
  font-variant-numeric: tabular-nums;
  font-weight: 700;
}

.support-maintenance-links a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  text-underline-offset: 0.12rem;
}

@media (max-width: 64rem) {
  .support-dependency-index {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .support-matrix-shell {
    max-height: min(70svh, 38rem);
  }

  .support-matrix-shell--compact {
    --support-series-group-width: 3.8rem;
    --support-series-head-width: 6.6rem;
  }

  .support-matrix-shell--compact .support-series-group strong {
    font-size: 1.55rem;
  }

  .support-matrix-shell--compact .support-series-name {
    gap: 0.12rem;
    grid-template-columns: 1fr;
  }

  .support-matrix-shell--compact .support-series-name strong {
    font-size: 1.55rem;
  }

  .support-matrix-shell--compact .support-column-head,
  .support-matrix-shell--compact .support-column-life,
  .support-matrix-shell--compact .support-column-date {
    overflow-wrap: normal;
    white-space: nowrap;
  }

  .support-dependency-header {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.35rem;
  }

  .support-dependency-snapshot {
    white-space: normal;
  }

  .support-dependency-summary {
    grid-template-areas:
      "identity marker"
      "primary marker"
      "secondary marker";
    grid-template-columns: minmax(0, 1fr) 0.55rem;
    min-height: 0;
  }

  .support-dependency-primary,
  .support-dependency-secondary {
    justify-self: start;
    text-align: left;
  }

  .support-dependency-details {
    margin-right: 0;
  }

  .support-dependency-detail {
    gap: 0.08rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .support-maintenance-item {
    gap: 0.16rem;
    grid-template-columns: minmax(0, 1fr);
  }

  .support-maintenance-heading {
    grid-row: auto;
  }

  .support-toolbar {
    gap: 0.5rem 0.7rem;
  }

  .support-toolgroup--segments,
  .support-toolgroup--row-detail,
  .support-legend {
    flex-basis: 100%;
  }

  .support-toolgroup--row-detail {
    border-left: 0;
    padding-left: 0;
  }

  .support-segment {
    flex: 1 1 auto;
  }
}

:root[color-theme="dark"] .postgis-support-browser {
  --support-life-bg: #26313a;
  --support-life-border: #42505b;
  --support-control-text: #d7dee5;
  --support-stable-bg: #19382a;
  --support-stable-border: #2f7d55;
  --support-stable-text: #9ce3ba;
  --support-development-bg: #17334d;
  --support-development-border: #3d7fba;
  --support-development-text: #9cc9f2;
  --support-historical-bg: #303943;
  --support-historical-text: #c1c9d1;
  --support-eol-bg: #472328;
  --support-eol-border: #8f4e58;
  --support-eol-text: #f0b6bd;
  --support-meta-text: #9aa7b3;
  --support-final-text: #e4ad55;
  --support-toolbar-border: #47515a;
  --support-control-bg: #333b41;
  --support-control-border: #42505b;
  --support-control-active-bg: #263f54;
  --support-control-active-border: #6fa4d4;
  --support-control-active-text: #b9dbf7;
  --support-muted-text: #a9b4bf;
  --support-group-bg: #223445;
  --support-group-text: #cfe4f8;
  --support-series-version-text: #b9c5cf;
  --support-not-applicable-bg: #3b4650;
  --support-not-applicable-text: #d7dee5;
  --support-section-heading: #ffb3a8;
  --support-content-text: #d6dde4;
  --support-item-border: #3d4852;
  --support-detail-border: #4b5965;
  --support-detail-muted: #9eabb7;
  --support-package-link: #91bce1;
  --support-success-text: #78c99d;
  --support-danger-text: #ff9e91;
  --support-warning-text: #ffe9af;
  --support-current-text: #edf3f8;
  --support-package-bg: #245a86;
  --support-package-border: #3c6d94;
  --support-package-text: #dceeff;
  --support-package-same-bg: #1e6f49;
  --support-package-same-border: #2f8a61;
  --support-package-same-text: #dff3e8;
  --support-package-development-bg: #33414d;
  --support-hover-column-bg: #3b2f18;
  --support-hover-column-shadow:
    inset 0 0 0 9999px rgba(255, 204, 92, 0.1),
    inset 0 -3px 0 #ffcc5c,
    inset 0 0 0 1px rgba(255, 204, 92, 0.34);
  --support-hover-row-bg: #30383b;
  --support-hover-row-shadow:
    inset 2px 0 0 rgba(255, 204, 92, 0.72),
    inset 0 0 0 9999px rgba(255, 204, 92, 0.04);
  --support-hover-group-shadow:
    inset 3px 0 0 rgba(255, 204, 92, 0.78),
    inset 0 0 0 1px rgba(255, 204, 92, 0.12);
  --support-hover-group-text: #e2e8ee;
}

@media (prefers-color-scheme: dark) {
  :root:not([color-theme="light"]) .postgis-support-browser {
    --support-life-bg: #26313a;
    --support-life-border: #42505b;
    --support-control-text: #d7dee5;
    --support-stable-bg: #19382a;
    --support-stable-border: #2f7d55;
    --support-stable-text: #9ce3ba;
    --support-development-bg: #17334d;
    --support-development-border: #3d7fba;
    --support-development-text: #9cc9f2;
    --support-historical-bg: #303943;
    --support-historical-text: #c1c9d1;
    --support-eol-bg: #472328;
    --support-eol-border: #8f4e58;
    --support-eol-text: #f0b6bd;
    --support-meta-text: #9aa7b3;
    --support-final-text: #e4ad55;
    --support-toolbar-border: #47515a;
    --support-control-bg: #333b41;
    --support-control-border: #42505b;
    --support-control-active-bg: #263f54;
    --support-control-active-border: #6fa4d4;
    --support-control-active-text: #b9dbf7;
    --support-muted-text: #a9b4bf;
    --support-group-bg: #223445;
    --support-group-text: #cfe4f8;
    --support-series-version-text: #b9c5cf;
    --support-not-applicable-bg: #3b4650;
    --support-not-applicable-text: #d7dee5;
    --support-section-heading: #ffb3a8;
    --support-content-text: #d6dde4;
    --support-item-border: #3d4852;
    --support-detail-border: #4b5965;
    --support-detail-muted: #9eabb7;
    --support-package-link: #91bce1;
    --support-success-text: #78c99d;
    --support-danger-text: #ff9e91;
    --support-warning-text: #ffe9af;
    --support-current-text: #edf3f8;
    --support-package-bg: #245a86;
    --support-package-border: #3c6d94;
    --support-package-text: #dceeff;
    --support-package-same-bg: #1e6f49;
    --support-package-same-border: #2f8a61;
    --support-package-same-text: #dff3e8;
    --support-package-development-bg: #33414d;
    --support-hover-column-bg: #3b2f18;
    --support-hover-column-shadow:
      inset 0 0 0 9999px rgba(255, 204, 92, 0.1),
      inset 0 -3px 0 #ffcc5c,
      inset 0 0 0 1px rgba(255, 204, 92, 0.34);
    --support-hover-row-bg: #30383b;
    --support-hover-row-shadow:
      inset 2px 0 0 rgba(255, 204, 92, 0.72),
      inset 0 0 0 9999px rgba(255, 204, 92, 0.04);
    --support-hover-group-shadow:
      inset 3px 0 0 rgba(255, 204, 92, 0.78),
      inset 0 0 0 1px rgba(255, 204, 92, 0.12);
    --support-hover-group-text: #e2e8ee;
  }
}
