.census-public {
  --census-bg: #06131c;
  --census-panel: rgba(9, 27, 38, .96);
  --census-panel-raised: #0d2431;
  --census-line: #234757;
  --census-line-strong: #345463;
  --census-text: #e7f2f0;
  --census-muted: #91a8ad;
  --census-cyan: #45d8df;
  --census-amber: #f4b866;
  position: relative;
  isolation: isolate;
  min-height: calc(100svh - 54px);
  overflow: clip;
  padding: 24px 0 52px;
  color: var(--census-text);
  background:
    radial-gradient(circle at 84% 1%, rgba(19, 78, 96, .32), transparent 34rem),
    radial-gradient(circle at 8% 38%, rgba(10, 45, 60, .2), transparent 32rem),
    var(--census-bg);
}

.census-public::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: linear-gradient(rgba(65, 139, 151, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(65, 139, 151, .045) 1px, transparent 1px);
  background-position: center top;
  background-size: 56px 56px;
  content: '';
  mask-image: linear-gradient(to bottom, #000 0, rgba(0, 0, 0, .44) 38%, transparent 90%);
  pointer-events: none;
}

.census-public *,
.census-public *::before,
.census-public *::after { box-sizing: border-box; }

.census-public h1,
.census-public h2,
.census-public h3,
.census-public p { margin: 0; }

.census-public__inner {
  width: min(1360px, calc(100% - 48px));
  margin-inline: auto;
}

.census-public__breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin: 0 0 18px;
  color: var(--census-muted);
  font: 500 11px/1.4 var(--mono, 'IBM Plex Mono', monospace);
}

.census-public__breadcrumbs a { color: var(--census-muted); text-decoration: none; }
.census-public__breadcrumbs a:hover { color: var(--census-cyan); }
.census-public__breadcrumbs [aria-current="page"] { color: var(--census-text); }

.census-public-eyebrow {
  color: var(--census-cyan);
  font: 700 9px/1.25 var(--mono, 'IBM Plex Mono', monospace);
  letter-spacing: .14em;
  text-transform: uppercase;
}

.census-public__hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 340px);
  gap: 22px;
  align-items: stretch;
  padding: 22px;
  border: 1px solid var(--census-line);
  border-radius: 3px;
  background: linear-gradient(125deg, rgba(11, 32, 45, .98), rgba(7, 22, 32, .92));
}

.census-public__hero-copy { min-width: 0; align-self: center; }
.census-public__hero h1 {
  margin-top: 8px;
  color: var(--census-text);
  font: 650 clamp(30px, 4vw, 46px)/1.04 var(--display, 'Saira', sans-serif);
  letter-spacing: -.045em;
}

.census-public__lede {
  max-width: 700px;
  margin-top: 10px !important;
  color: #b3c7ca;
  font: 400 15px/1.55 var(--sans, 'IBM Plex Sans', sans-serif);
}

.census-public__period {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: baseline;
  margin-top: 17px !important;
  color: var(--census-muted);
  font: 500 11px/1.4 var(--mono, 'IBM Plex Mono', monospace);
}

.census-public__period strong { color: var(--census-text); font-weight: 650; }
body.core-dark .census-public__hero-action { display: inline-flex; width: fit-content; align-items: center; gap: 8px; margin-top: 13px; border: 1px solid var(--census-cyan); border-radius: 3px; padding: 9px 13px; color: #06131c; background: var(--census-cyan); font: 700 11px var(--display, 'Saira', sans-serif); text-decoration: none; }
.census-public__hero-action:hover { background: #9af8fc; }

.census-public__signal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  min-width: 0;
  border-left: 1px solid var(--census-line-strong);
  padding: 5px 0 5px 20px;
}

.census-public__signal-label,
.census-public__signal-detail > span {
  color: var(--census-muted);
  font: 700 9px/1.35 var(--mono, 'IBM Plex Mono', monospace);
  letter-spacing: .1em;
  text-transform: uppercase;
}

.census-public__signal-value {
  margin-top: 4px;
  color: var(--census-cyan);
  font: 650 clamp(25px, 3vw, 34px)/1.12 var(--display, 'Saira', sans-serif);
  letter-spacing: -.035em;
  overflow-wrap: anywhere;
}

.census-public__signal-caption {
  margin-top: 3px;
  color: var(--census-muted);
  font: 500 10px/1.4 var(--mono, 'IBM Plex Mono', monospace);
}

.census-public__signal-detail {
  display: grid;
  gap: 3px;
  width: 100%;
  margin-top: 13px;
  border-top: 1px solid rgba(52, 84, 99, .7);
  padding-top: 10px;
}

.census-public__signal-detail strong {
  color: var(--census-text);
  font: 600 13px/1.25 var(--sans, 'IBM Plex Sans', sans-serif);
  overflow-wrap: anywhere;
}

.census-public__signal-detail small { color: var(--census-amber); font: 500 10px/1.35 var(--mono, 'IBM Plex Mono', monospace); }

.census-public__metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 205px), 1fr));
  gap: 9px;
  margin: 10px 0;
}

.census-public__metrics > div {
  display: grid;
  gap: 5px;
  min-width: 0;
  border: 1px solid var(--census-line);
  border-radius: 3px;
  padding: 12px 14px;
  background: var(--census-panel);
}

.census-public__metrics span {
  color: var(--census-muted);
  font: 700 9px/1.3 var(--mono, 'IBM Plex Mono', monospace);
  letter-spacing: .09em;
  text-transform: uppercase;
}

.census-public__metrics strong {
  color: var(--census-text);
  font: 600 19px/1.15 var(--display, 'Saira', sans-serif);
  overflow-wrap: anywhere;
}

.census-public__metrics small { color: var(--census-muted); font: 500 10px/1.35 var(--mono, 'IBM Plex Mono', monospace); }

.census-public-chart,
.census-public__rank-section,
.census-public__peers,
.census-public__directory {
  margin-top: 12px;
  border: 1px solid var(--census-line);
  border-radius: 3px;
  background: var(--census-panel);
}

.census-public-chart { padding: 16px 16px 13px; }
.census-public-chart__heading,
.census-public__section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
}

.census-public-chart__heading h2,
.census-public__section-heading h2 {
  margin-top: 4px;
  color: var(--census-text);
  font: 600 21px/1.15 var(--display, 'Saira', sans-serif);
  letter-spacing: -.02em;
}

.census-public-chart__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 16px;
  color: #c6d7d8;
  font: 500 10px/1.35 var(--sans, 'IBM Plex Sans', sans-serif);
}

.census-public-chart__legend > span { display: inline-flex; align-items: center; gap: 7px; }
.census-public-chart__swatch { width: 9px; height: 9px; border-radius: 1px; }
.census-public-chart__swatch--imports { background: var(--census-cyan); }
.census-public-chart__swatch--exports { background: var(--census-amber); }

.census-public-chart__plot {
  margin-top: 9px;
  overflow-x: auto;
  scrollbar-color: var(--census-line-strong) transparent;
}

.census-public-chart__plot svg { display: block; width: 100%; min-width: 680px; height: auto; overflow: visible; }
.census-public-chart__gridline line { stroke: rgba(88, 137, 151, .34); stroke-dasharray: 2 4; }
.census-public-chart__gridline text { fill: #93abb0; font: 9px var(--mono, 'IBM Plex Mono', monospace); }
.census-public-chart__axis { stroke: #5b7780; stroke-width: 1; }
.census-public-chart__bar--imports { fill: #45d8df; }
.census-public-chart__bar--exports { fill: #f4b866; }
.census-public-chart__month,
.census-public-chart__year { fill: #adbec1; font: 9px var(--mono, 'IBM Plex Mono', monospace); }
.census-public-chart__year { fill: #d2dede; font-size: 8px; }

.census-public-chart__table-wrap {
  max-height: 360px;
  margin-top: 6px;
  overflow: auto;
  border: 1px solid var(--census-line);
  border-radius: 3px;
  scrollbar-color: var(--census-line-strong) transparent;
}

.census-public-chart table { width: 100%; border-collapse: collapse; font: 500 11px/1.35 var(--mono, 'IBM Plex Mono', monospace); }
.census-public-chart caption { padding: 9px 11px; color: var(--census-text); text-align: left; font: 600 12px/1.35 var(--sans, 'IBM Plex Sans', sans-serif); }
.census-public-chart th,
.census-public-chart td { padding: 7px 11px; border-top: 1px solid rgba(35, 71, 87, .74); text-align: right; white-space: nowrap; }
.census-public-chart thead th { position: sticky; top: 0; z-index: 1; color: var(--census-muted); background: #102534; font-size: 9px; letter-spacing: .05em; text-transform: uppercase; }
.census-public-chart th:first-child,
.census-public-chart td:first-child { text-align: left; }
.census-public-chart tbody th { color: #c9d8d9; font-weight: 550; }
.census-public-chart tbody td:nth-child(2) { color: var(--census-cyan); }
.census-public-chart tbody td:nth-child(3) { color: var(--census-amber); }

.census-public__rank-section,
.census-public__peers,
.census-public__directory { padding: 15px 16px; }
.census-public__section-heading { margin-bottom: 11px; }
.census-public__section-heading > span { color: var(--census-muted); font: 500 9px/1.35 var(--mono, 'IBM Plex Mono', monospace); text-align: right; }

.census-public__rank-list,
.census-public__peers ul { margin: 0; padding: 0; list-style: none; }
.census-public__rank-list li {
  display: grid;
  grid-template-columns: 32px minmax(120px, 1fr) minmax(120px, auto) 75px;
  align-items: center;
  gap: 12px;
  min-height: 51px;
  border-top: 1px solid rgba(35, 71, 87, .72);
}

.census-public__rank-number { color: #6e909a; font: 600 10px var(--mono, 'IBM Plex Mono', monospace); }
.census-public__rank-name { display: grid; gap: 3px; min-width: 0; }
.census-public__rank-name a,
.census-public__rank-name > span { color: var(--census-text); font: 550 12px/1.3 var(--sans, 'IBM Plex Sans', sans-serif); text-decoration: none; }
.census-public__rank-name a:hover { color: var(--census-cyan); }
.census-public__rank-name small { color: var(--census-muted); font: 500 9px var(--mono, 'IBM Plex Mono', monospace); }
.census-public__rank-list li > strong { color: #dce8e7; font: 550 11px var(--mono, 'IBM Plex Mono', monospace); text-align: right; }
.census-public__rank-share { color: var(--census-cyan); font: 550 10px var(--mono, 'IBM Plex Mono', monospace); text-align: right; }

.census-public__peers ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 7px; }
.census-public__peers li { min-width: 0; }
.census-public__peers li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  border: 1px solid rgba(35, 71, 87, .8);
  border-radius: 3px;
  padding: 9px 11px;
  text-decoration: none;
  background: rgba(13, 36, 49, .68);
}

.census-public__peers li a:hover { border-color: var(--census-cyan); }
.census-public__peers li a > span { display: grid; gap: 3px; font: 550 11px var(--sans, 'IBM Plex Sans', sans-serif); }
.census-public__peers li small { color: var(--census-muted); font: 500 9px var(--mono, 'IBM Plex Mono', monospace); }
.census-public__peers li strong { color: var(--census-cyan); font: 550 10px var(--mono, 'IBM Plex Mono', monospace); text-align: right; }
.census-public__compare-link { display: inline-flex; align-items: center; gap: 6px; margin-top: 12px; color: var(--census-cyan); font: 700 10px var(--display, 'Saira', sans-serif); text-decoration: none; }
.census-public__compare-link:hover { color: #9af8fc; }

.census-public__source {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
  border-top: 1px solid var(--census-line);
  padding-top: 12px;
}

.census-public__source a { color: var(--census-cyan); font: 600 11px var(--sans, 'IBM Plex Sans', sans-serif); text-decoration: none; }
.census-public__source a:hover { color: #a3fbff; }
.census-public__source a span { margin-left: 4px; }

.census-public__official-name { margin-top: 12px; border: 1px solid var(--census-line); border-radius: 3px; padding: 11px 13px; background: var(--census-panel); }
.census-public__official-name summary { color: var(--census-cyan); cursor: pointer; font: 600 11px var(--sans, 'IBM Plex Sans', sans-serif); }
.census-public__official-name p { margin-top: 8px; color: #c2d2d4; font: 400 12px/1.5 var(--sans, 'IBM Plex Sans', sans-serif); }

.census-public__empty,
.census-public__directory-limit { padding: 12px 0; color: var(--census-muted); font: 500 11px/1.45 var(--sans, 'IBM Plex Sans', sans-serif); }

.census-public__search { margin: 10px 0 14px; }
.census-public__search label { display: block; margin-bottom: 6px; color: var(--census-muted); font: 600 10px var(--sans, 'IBM Plex Sans', sans-serif); }
.census-public__search > div { display: flex; flex-wrap: wrap; gap: 7px; }
.census-public__search input {
  flex: 1 1 260px;
  min-width: 180px;
  min-height: 38px;
  border: 1px solid var(--census-line-strong);
  border-radius: 3px;
  padding: 8px 11px;
  color: var(--census-text);
  background: #081923;
  font: 500 12px var(--sans, 'IBM Plex Sans', sans-serif);
}

.census-public__search button,
.census-public__search a {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--census-line-strong);
  border-radius: 3px;
  padding: 7px 13px;
  color: var(--census-text);
  background: #102534;
  font: 650 11px var(--display, 'Saira', sans-serif);
  text-decoration: none;
}

.census-public__search button { border-color: var(--census-cyan); color: #06131c; background: var(--census-cyan); cursor: pointer; }
.census-public__search button:hover { background: #9af8fc; }

.census-public__port-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.census-public__port-card { min-width: 0; border: 1px solid var(--census-line); border-radius: 3px; padding: 13px; background: rgba(13, 36, 49, .78); }
.census-public__port-card h3 { margin: 4px 0 11px; font: 600 17px/1.2 var(--display, 'Saira', sans-serif); }
.census-public__port-card h3 a { display: flex; justify-content: space-between; gap: 8px; color: var(--census-text); text-decoration: none; }
.census-public__port-card h3 a:hover { color: var(--census-cyan); }
.census-public__port-card h3 a span { color: var(--census-cyan); font-size: 13px; }
.census-public__port-card > div { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid rgba(35, 71, 87, .72); padding: 7px 0; }
.census-public__port-card > div span { color: var(--census-muted); font: 600 9px var(--mono, 'IBM Plex Mono', monospace); text-transform: uppercase; }
.census-public__port-card > div strong { color: var(--census-cyan); font: 550 10px var(--mono, 'IBM Plex Mono', monospace); text-align: right; }
.census-public__port-card > div:nth-of-type(2) strong { color: var(--census-amber); }
.census-public__port-card > small { display: block; margin-top: 7px; color: var(--census-muted); font: 500 9px var(--mono, 'IBM Plex Mono', monospace); }
.census-public__pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin: 13px 0 2px; color: var(--census-muted); font: 600 10px var(--mono, 'IBM Plex Mono', monospace); }
.census-public__pagination a,
.census-public__pagination > span { display: inline-flex; min-height: 34px; align-items: center; justify-content: center; border: 1px solid var(--census-line-strong); border-radius: 3px; padding: 7px 12px; }
.census-public__pagination a { color: var(--census-cyan); background: #102534; text-decoration: none; }
.census-public__pagination a:hover { border-color: var(--census-cyan); color: #f0fdff; }
.census-public__pagination > span[aria-disabled="true"] { opacity: .45; }

.census-public--state .census-public__inner { display: grid; gap: 10px; min-height: 40vh; align-content: center; }
.census-public--state h1 { color: var(--census-text); font: 650 clamp(26px, 3vw, 38px)/1.1 var(--display, 'Saira', sans-serif); }
.census-public--state p { color: var(--census-muted); font: 400 14px/1.5 var(--sans, 'IBM Plex Sans', sans-serif); }
.census-public--state a { width: fit-content; color: var(--census-cyan); font: 600 12px var(--sans, 'IBM Plex Sans', sans-serif); }

.census-public .sr-only,
.census-public-chart__summary.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

@media (max-width: 900px) {
  .census-public__hero { grid-template-columns: minmax(0, 1fr) minmax(210px, 280px); }
  .census-public__port-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .census-public { padding-top: 18px; }
  .census-public__inner { width: min(100% - 28px, 1360px); }
  .census-public__hero { grid-template-columns: 1fr; gap: 15px; padding: 16px; }
  .census-public__hero h1 { font-size: clamp(29px, 9vw, 39px); }
  .census-public__signal { border-top: 1px solid var(--census-line-strong); border-left: 0; padding: 13px 0 0; }
  .census-public__signal-detail { margin-top: 9px; padding-top: 8px; }
  .census-public-chart { padding: 13px 11px 11px; }
  .census-public-chart__heading { align-items: flex-start; flex-direction: column; gap: 9px; }
  .census-public-chart__heading h2 { font-size: 19px; }
  .census-public__rank-section,
  .census-public__peers,
  .census-public__directory { padding: 13px 11px; }
  .census-public__section-heading { align-items: flex-start; }
  .census-public__section-heading h2 { font-size: 18px; }
  .census-public__section-heading > span { max-width: 43%; }
  .census-public__rank-list li { grid-template-columns: 25px minmax(0, 1fr) auto; gap: 8px; padding: 7px 0; }
  .census-public__rank-share { grid-column: 3; }
  .census-public__port-grid { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .census-public__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .census-public__metrics > div { padding: 10px; }
  .census-public__metrics strong { font-size: 16px; }
  .census-public__rank-list li > strong { font-size: 10px; }
}
