:root {
  color-scheme: dark light;
  --bg: #101418;
  --surface: #182028;
  --surface-2: #202a34;
  --surface-3: #273440;
  --text: #f5f7fa;
  --muted: #c1cad4;
  --border: #4c5a68;
  --accent: #7dd3fc;
  --accent-text: #062332;
  --focus: #facc15;
  --maintained: #86efac;
  --historical: #fbbf24;
  --unknown: #d1d5db;
  --max: 1180px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { font-size: 18px; background: var(--bg); }
body { margin: 0; background: var(--bg); color: var(--text); line-height: 1.65; }
a { color: var(--accent); text-underline-offset: 0.18em; }
a:hover { text-decoration-thickness: 0.14em; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 4px;
}
.shell { width: min(calc(100% - 2rem), var(--max)); margin-inline: auto; }
.site-header { border-bottom: 1px solid var(--border); padding: 4rem 0 3rem; background: linear-gradient(180deg, #17212a 0%, var(--bg) 100%); }
h1, h2, h3, h4, h5 { line-height: 1.2; letter-spacing: -0.02em; }
h1 { margin: 0.25rem 0 1rem; font-size: clamp(2.3rem, 6vw, 4.4rem); max-width: 16ch; }
h2 { font-size: clamp(1.65rem, 3vw, 2.35rem); }
h3 { margin: 0; font-size: 1.45rem; }
h4 { margin: 1.2rem 0 0.65rem; font-size: 1rem; }
h5 { margin: 1rem 0 0.5rem; font-size: 0.95rem; }
code { font-family: ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", monospace; }
.eyebrow { margin: 0; color: var(--accent); font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.lead { max-width: 78ch; font-size: 1.12rem; color: var(--muted); }
main { padding: 3rem 0 5rem; }
.section-heading { display: flex; gap: 1rem; align-items: end; justify-content: space-between; margin-bottom: 1.25rem; }
button, input, select { font: inherit; }
button { border: 2px solid var(--accent); border-radius: 0.6rem; background: var(--accent); color: var(--accent-text); padding: 0.72rem 1rem; font-weight: 800; cursor: pointer; min-height: 2.75rem; }
button:disabled { cursor: wait; opacity: 0.65; }
.filters { display: grid; grid-template-columns: minmax(0, 2fr) minmax(12rem, 1fr); gap: 1rem; border: 1px solid var(--border); border-radius: 0.9rem; background: var(--surface); padding: 1rem; }
.filter-field { display: grid; gap: 0.35rem; }
.filter-field label { font-weight: 800; }
.filter-field input, .filter-field select { width: 100%; min-height: 2.9rem; border: 1px solid var(--border); border-radius: 0.55rem; background: var(--surface-2); color: var(--text); padding: 0.6rem 0.75rem; }
.status { margin: 1rem 0 0.25rem; color: var(--muted); }
.results-count { margin: 0 0 1rem; font-weight: 800; }
.empty-state { border: 1px dashed var(--border); border-radius: 0.8rem; background: var(--surface); padding: 1.25rem; margin: 1rem 0; color: var(--muted); }
.extension-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 31rem), 1fr)); gap: 1.1rem; align-items: start; }
.extension-card { min-width: 0; border: 1px solid var(--border); border-radius: 0.9rem; background: var(--surface); padding: 1.35rem; }
.extension-header p, .extension-card p { color: var(--muted); }
.meta { display: grid; grid-template-columns: minmax(8.5rem, auto) 1fr; gap: 0.35rem 0.8rem; margin: 1rem 0; }
.meta dt { font-weight: 800; }
.meta dd { min-width: 0; margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.runtime-list { display: flex; flex-wrap: wrap; gap: 0.45rem; padding: 0; margin: 0; list-style: none; }
.runtime-item { border: 1px solid var(--border); border-radius: 999px; background: var(--surface-2); padding: 0.25rem 0.6rem; font-size: 0.84rem; }
.pg-heading { margin-bottom: 0.45rem; font-weight: 800; }
.pg-list { display: grid; gap: 0.6rem; padding: 0; list-style: none; }
.pg-version { border: 1px solid var(--border); border-radius: 0.7rem; background: var(--surface-2); overflow: visible; }
.pg-version-summary { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 0.8rem; cursor: pointer; padding: 0.8rem; font-weight: 800; }
.pg-version-summary:hover { background: var(--surface-3); }
.pg-version-title { display: inline-flex; align-items: center; gap: 0.45rem; }
.pg-version-body { border-top: 1px solid var(--border); padding: 0.85rem; }
.lifecycle-badge { border: 1px solid currentColor; border-radius: 999px; padding: 0.12rem 0.5rem; font-size: 0.78rem; font-weight: 800; line-height: 1.45; }
.lifecycle-badge--maintained { color: var(--maintained); }
.lifecycle-badge--historical { color: var(--historical); }
.lifecycle-badge--unknown { color: var(--unknown); }
.pg-version-detail, .pg-version-upstream { margin: 0.2rem 0 0.55rem; font-size: 0.9rem; }
.download-row { margin: 0.8rem 0; }
.download-link { display: inline-flex; min-height: 2.75rem; align-items: center; border-radius: 0.55rem; background: var(--accent); color: var(--accent-text); padding: 0.55rem 0.8rem; font-weight: 850; text-decoration: none; }
.download-link:hover { text-decoration: underline; }
.link-unavailable { color: var(--muted); }
.checksum-block { display: grid; gap: 0.4rem; margin: 0.8rem 0; }
.checksum-label { font-weight: 800; }
.checksum { display: block; max-width: 100%; border: 1px solid var(--border); border-radius: 0.45rem; background: var(--bg); padding: 0.55rem; overflow-wrap: anywhere; word-break: break-all; user-select: all; }
.copy-button { justify-self: start; min-height: 2.6rem; padding: 0.45rem 0.7rem; font-size: 0.85rem; }
.evidence { margin-top: 1rem; border-top: 1px solid var(--border); padding-top: 0.2rem; }
.evidence-note { margin: 0; }
.evidence-list { padding-left: 1.2rem; }
.capabilities { margin-top: 1rem; border: 1px solid var(--border); border-radius: 0.7rem; background: var(--surface-2); }
.capabilities > summary { cursor: pointer; padding: 0.75rem; font-weight: 850; }
.capabilities > summary:hover { background: var(--surface-3); }
.capabilities-body { border-top: 1px solid var(--border); padding: 0.2rem 0.85rem 0.85rem; }
.scenario-list { display: grid; gap: 0.65rem; padding-left: 1.2rem; }
.scenario-item { padding-left: 0.2rem; }
.scope-badge { display: inline-block; margin-left: 0.45rem; border: 1px solid var(--accent); border-radius: 999px; padding: 0.05rem 0.4rem; color: var(--accent); font-size: 0.75rem; font-weight: 800; }
.scenario-id { display: block; margin-top: 0.2rem; color: var(--muted); font-size: 0.8rem; overflow-wrap: anywhere; }
.coverage-list { display: grid; grid-template-columns: minmax(8rem, auto) 1fr; gap: 0.35rem 0.7rem; }
.coverage-list dt { font-weight: 800; }
.coverage-list dd { margin: 0; color: var(--muted); }
.coverage-status--not-covered { font-style: italic; }
.capability-source { overflow-wrap: anywhere; font-size: 0.83rem; }
.card-actions { display: flex; flex-wrap: wrap; gap: 0.85rem 1rem; margin-top: 1.15rem; }
.inline-link { overflow-wrap: anywhere; }
.info { margin-top: 4rem; border-top: 1px solid var(--border); padding-top: 2rem; max-width: 82ch; }
.lifecycle-notice { margin-top: 1.25rem; border: 1px solid var(--border); border-left: 0.35rem solid var(--accent); border-radius: 0.55rem; background: var(--surface); padding: 0.85rem 1rem; }
.lifecycle-notice p { margin: 0.35rem 0; }
.site-footer { border-top: 1px solid var(--border); padding: 2rem 0; }
.site-footer .shell { display: flex; flex-wrap: wrap; gap: 1.2rem; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

@media (prefers-color-scheme: light) {
  :root {
    --bg: #f5f7f9;
    --surface: #ffffff;
    --surface-2: #eef2f5;
    --surface-3: #e4ebf0;
    --text: #111820;
    --muted: #3f4d5a;
    --border: #697785;
    --accent: #0369a1;
    --accent-text: #ffffff;
    --focus: #92400e;
    --maintained: #166534;
    --historical: #92400e;
    --unknown: #4b5563;
  }
  .site-header { background: linear-gradient(180deg, #eaf2f7 0%, var(--bg) 100%); }
}

@media (max-width: 720px) {
  .section-heading { align-items: start; flex-direction: column; }
  .section-heading button { width: 100%; }
  .filters { grid-template-columns: 1fr; }
  .meta, .coverage-list { grid-template-columns: 1fr; gap: 0.15rem; }
  .meta dd, .coverage-list dd { margin-bottom: 0.45rem; }
  .pg-version-summary { align-items: flex-start; flex-direction: column; }
  .download-link, .copy-button { width: 100%; justify-content: center; }
}

@media (max-width: 420px) {
  html { font-size: 17px; }
  .shell { width: min(calc(100% - 1rem), var(--max)); }
  .extension-card { padding: 1rem; }
  .site-header { padding: 3rem 0 2rem; }
}

/* Landscape is a separate data source and never replaces the distribution Catalog. */
.landscape-section { margin-top: 3rem; border-top: 1px solid var(--border); padding-top: 2rem; }
.landscape-filters { grid-template-columns: repeat(3,minmax(0,1fr)); }
.landscape-disclaimer { border-inline-start: 3px solid var(--accent); padding-inline-start: 1rem; color: var(--muted); }
.landscape-card { overflow-wrap: anywhere; }
.landscape-card .meta { grid-template-columns: minmax(9rem,auto) minmax(0,1fr); }
.landscape-roadmap-label { font-size: 1.04rem; font-weight: 850; color: var(--text); border-inline-start: 4px solid var(--accent); padding-inline-start: 0.7rem; }
.landscape-status-label { display: inline-block; padding: 0.25rem 0.6rem; border: 1px solid var(--border); border-radius: 0.45rem; background: var(--surface-2); font-weight: 750; }
.landscape-sources { list-style: none; padding: 0; display: grid; gap: 0.8rem; }
.landscape-source { padding: 0.8rem; background: var(--surface-2); border: 1px solid var(--border); border-radius: 0.6rem; }
.landscape-source p { margin: 0.3rem 0; }
.landscape-source .source-provider { color: var(--text); font-weight: 800; }
.landscape-muted { color: var(--muted); }
@media (max-width: 800px) { .landscape-filters { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 600px) { .landscape-card .meta { grid-template-columns: minmax(0,1fr); } }

/* Independent language URLs share layout but never mix UI copy. */
.language-nav { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:0.5rem; margin-bottom:2rem; }
.language-nav a { display:inline-block; min-width:5.5rem; padding:0.45rem 0.8rem; text-align:center;
  border:2px solid var(--border); border-radius:0.55rem; font-weight:800; text-decoration:none; }
.language-nav a[aria-current="page"] { border-color:var(--accent); color:var(--accent-text); background:var(--accent); }
.language-nav a:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }

/* Catalog-first UX: spacious PostgreSQL-blue design, compact accessible lists. */
:root {color-scheme:light;--bg:#f3f7fb;--surface:#fff;--surface-2:#edf4fa;--surface-3:#e0ebf5;--text:#17324b;--muted:#42596f;--border:#c4d2df;--accent:#285c88;--accent-text:#fff;--focus:#b65b06;--maintained:#16673f;--historical:#9b600c;--unknown:#536577;--max:1320px}
html{background:var(--bg);scroll-behavior:smooth}body{background:var(--bg);line-height:1.6}
.shell{width:min(calc(100% - 3rem),var(--max))}
.site-header{padding:1.4rem 0 3.4rem;background:linear-gradient(125deg,#183955,#285b85 60%,#336791);border-bottom:5px solid #79a8c9;color:#fff}
.site-header h1{max-width:29ch;font-size:clamp(2rem,4.5vw,3.45rem)}
.site-header .lead{max-width:75ch;color:#e9f2fa;font-size:1.06rem}
.site-header .eyebrow{color:#c6e8fc}.language-nav{margin-bottom:2.2rem}
.language-nav a{color:#fff;border-color:#c7e3f4}
.language-nav a[aria-current=page]{background:#fff;border-color:#fff;color:#153e61}
.jump-nav{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}
.jump-nav a{display:inline-flex;align-items:center;min-height:2.7rem;padding:.5rem 1rem;border:1px solid #b3d0e7;color:#fff;text-decoration:none;border-radius:.65rem;font-weight:800}
.jump-nav a:hover{background:#ffffff22}.jump-nav-primary{background:#fff!important;color:#183e5e!important;border-color:#fff!important}
.skip-link{position:absolute;top:-7rem;left:1rem;z-index:10;padding:.6rem 1rem;background:#fff;color:#143955;font-weight:800}.skip-link:focus{top:1rem}
main{padding:3.7rem 0 6rem}main>section+section{margin-top:5rem}
.section-heading{align-items:center;margin-bottom:1.65rem}h2{font-size:clamp(1.6rem,2.5vw,2.2rem)}
.section-heading button{background:var(--surface);color:var(--accent);border-color:var(--border);font-size:.9rem;padding:.55rem .95rem}
.catalog-hint{border:1px solid #b5d1e7;border-left:5px solid #336791;border-radius:.8rem;padding:1rem 1.4rem;margin:0 0 1.7rem;background:#e9f2fa;color:#193954}
.catalog-hint p{margin:.35rem 0 0}
.filters{padding:1.4rem;gap:1.25rem;margin-bottom:1.1rem;box-shadow:0 2px 9px #204a7020}
.filter-field input,.filter-field select{min-height:3.1rem;padding:.65rem .9rem;background:var(--surface)}
.status{font-size:.85rem;margin:.6rem 0 .15rem}.results-count{font-size:.92rem;color:var(--muted)}
.extension-grid{grid-template-columns:minmax(0,1fr);gap:.78rem}
.extension-card{padding:0;border:1px solid var(--border);border-radius:.85rem;box-shadow:0 3px 15px #1b507010;overflow:hidden}
.extension-collapse,.landscape-collapse{min-width:0}
.extension-summary,.landscape-summary{display:grid;grid-template-columns:minmax(12rem,1fr) auto auto;align-items:center;gap:1rem 1.4rem;padding:1.15rem 1.35rem;cursor:pointer;list-style:none}
.extension-summary::-webkit-details-marker,.landscape-summary::-webkit-details-marker{display:none}
.extension-summary:hover,.landscape-summary:hover{background:var(--surface-2)}
.extension-summary:focus-visible,.landscape-summary:focus-visible{outline:3px solid var(--focus);outline-offset:-4px}
.extension-collapse[open]>summary,.landscape-collapse[open]>summary{background:#e7f1fa;border-bottom:1px solid var(--border)}
.extension-identity{display:grid;gap:.15rem;min-width:0}
.extension-title{font-size:1.16rem;font-weight:850;color:var(--accent);overflow-wrap:anywhere}
.extension-description{font-size:.87rem;color:var(--muted)}
.extension-summary-badges{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:24rem}
.summary-pg,.summary-release,.summary-roadmap{font-size:.77rem;font-weight:750;white-space:nowrap;border:1px solid var(--border);border-radius:.4rem;padding:.18rem .52rem;color:var(--text);background:var(--surface-2)}
.summary-release{color:#174769;background:#deeffb;border-color:#aacfe8}
.summary-affordance{font-size:.88rem;font-weight:800;color:var(--accent);white-space:nowrap}
.summary-affordance::after{content:"⌄";font-size:1.3rem;margin-left:.4rem;display:inline-block;vertical-align:middle}
[open]>summary .summary-affordance::after{transform:rotate(180deg)}
.extension-details-body,.landscape-detail-body{padding:1.5rem clamp(1rem,2.6vw,2.1rem) 2.1rem}
.extension-details-body>.extension-header{margin-top:2rem;border-top:1px solid var(--border);padding-top:1.5rem}
.binary-section h4{font-size:1.2rem;margin:0 0 .55rem}
.binary-intro,.binary-hint{font-size:.91rem;color:var(--muted);margin:.35rem 0 1rem}
.binary-hint{margin:.8rem 0 0}
.binary-table-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--border);border-radius:.7rem}
.binary-table{width:100%;border-collapse:collapse;text-align:left}
.binary-table thead{background:#e6f1fa}
.binary-table th,.binary-table td{padding:.85rem 1rem;border-bottom:1px solid var(--border);vertical-align:middle}
.binary-table tr:last-child>*{border-bottom:none}.binary-table tbody tr:nth-child(even){background:#f8fbfd}
.binary-table tbody th{white-space:nowrap}
.download-link--compact{min-height:2.3rem;padding:.35rem .65rem;font-size:.91rem}
.asset-name{display:block;font-size:.78rem;color:var(--muted);margin-top:.4rem;overflow-wrap:anywhere}
.supporting-links{display:flex;flex-wrap:wrap;gap:.35rem .8rem;font-size:.87rem}
.pg-list{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr))}
.landscape-status-label{margin:0;max-width:100%;font-size:.77rem}
.landscape-section{padding-top:3rem}.info{max-width:100%;padding-top:2.5rem}.info p{max-width:85ch}
.site-footer{background:#e7eef6;padding:2.4rem 0}
@media(prefers-color-scheme:dark){
:root{color-scheme:dark;--bg:#101d2b;--surface:#192c3e;--surface-2:#243d51;--surface-3:#305269;--text:#f1f7fb;--muted:#c8d9e7;--border:#607f98;--accent:#b0ddfa;--accent-text:#102c43;--focus:#facc15;--maintained:#a2ecbd;--historical:#f8cf8b;--unknown:#d4e0eb}
.catalog-hint{background:#1a3a50;color:#e7f5fd;border-color:#678aa6}
.extension-collapse[open]>summary,.landscape-collapse[open]>summary{background:#26455e}
.summary-release{background:#27506b;color:#ebf7ff;border-color:#73a4c4}
.binary-table thead{background:#284c65}.binary-table tbody tr:nth-child(even){background:#203649}
.site-header{background:linear-gradient(125deg,#122b44,#285b85)}
.site-footer{background:#172b3a}
}
@media(max-width:860px){.extension-summary,.landscape-summary{grid-template-columns:minmax(0,1fr) auto;gap:.55rem}.extension-identity{grid-column:1/-1}.extension-summary-badges{grid-column:1}.summary-affordance{grid-column:2}.shell{width:min(calc(100% - 2.25rem),var(--max))}}
@media(max-width:600px){.shell{width:min(calc(100% - 1.5rem),var(--max))}.site-header{padding:1rem 0 2.4rem}.site-header h1{font-size:clamp(1.85rem,8vw,2.6rem)}main{padding-top:2.25rem}main>section+section{margin-top:3.3rem}.section-heading button{width:auto}.filters{padding:1rem}.extension-summary,.landscape-summary{padding:1rem}.extension-details-body,.landscape-detail-body{padding:1.25rem 1rem 1.5rem}.binary-table th,.binary-table td{padding:.65rem;font-size:.85rem}.download-link--compact{width:auto}.language-nav{margin-bottom:1.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
