.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.screen-reader-text:focus {
  clip: auto !important;
  clip-path: none;
  display: block;
  height: auto;
  left: 1rem;
  padding: 0.8rem 1rem;
  top: 1rem;
  width: auto;
  z-index: 100000;
  background: var(--paper);
  color: var(--ink);
  box-shadow: 0 0 0 3px var(--teal);
}

.desktop-nav ul,
.site-footer ul {
  display: contents;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav ul {
  display: grid;
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav li,
.mobile-nav li a {
  display: block;
}

.breadcrumbs {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.breadcrumbs ol {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  list-style: none;
  margin: 0;
  padding: 0;
  color: var(--muted);
  font-size: 0.82rem;
}

.breadcrumbs li:not(:last-child)::after {
  content: "/";
  margin-left: 0.45rem;
  color: var(--rule-strong);
}

.lower-main,
.article-main {
  min-height: 60vh;
}

.article-detail {
  max-width: 920px;
}

.entry-content {
  font-size: clamp(16px, calc(0.124272vw + 15.533981px), 17.92px);
  line-height: 1.9;
}

.entry-content > * {
  max-width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.entry-content > .alignwide {
  max-width: 1080px;
}

.entry-content > .article-research-table {
  margin-top: 2rem;
  margin-bottom: 0;
  overflow-x: visible;
}

.article-research-table table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid var(--rule-strong, #b7c2bf);
  table-layout: fixed;
  color: inherit;
  font-size: 0.9rem;
  line-height: 1.75;
}

.article-research-table caption {
  padding: 0 0 0.75rem;
  caption-side: top;
  color: var(--teal-dark, #075c68);
  font-size: 0.75rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-align: left;
}

.article-research-table th,
.article-research-table td {
  padding: 0.875rem 1rem;
  border: 0;
  border-bottom: 1px solid var(--rule, #d5dcda);
  vertical-align: top;
}

.article-research-table th {
  width: 9rem;
  background: var(--surface, #f3f6f4);
  font-weight: 700;
  text-align: left;
}

.article-research-table td {
  background: transparent;
  overflow-wrap: break-word;
  word-break: normal;
}

.article-research-table a {
  color: var(--teal-dark, #075c68);
  text-decoration: underline;
  text-underline-offset: 0.2em;
}

.entry-content img {
  height: auto;
  max-width: 100%;
}

.article-trust,
.article-note,
.empty-state,
.contact-content .caution-block {
  margin: 2rem 0;
  padding: clamp(20px, calc(0.776699vw + 17.087379px), 32px);
  border: 1px solid #cbd9df;
  background: #f7fafb;
}

.article-detail > .article-note {
  margin-block: 16px;
  padding: 12px 16px;
  line-height: 1.55 !important;
}

.article-detail > .article-note > h2 {
  margin: 0 0 6px;
  font-size: 1.125rem;
  line-height: 1.4;
}

.article-detail > .article-note > p {
  margin: 0;
  line-height: 1.55;
}

.article-trust dl {
  display: grid;
  gap: 0.75rem;
}

.article-trust dl div {
  display: grid;
  grid-template-columns: minmax(7rem, 0.28fr) 1fr;
  gap: 1rem;
}

.article-trust dt {
  font-weight: 700;
}

.judgement-block { border-left: 5px solid var(--teal); }
.caution-block { border-left: 5px solid #c8832b; }
.correction-block { border-left: 5px solid #64748b; }
.source-block { border-left: 5px solid #64748b; }

.article-row .entry-title {
  font-size: inherit;
}

.article-row .entry-title a {
  color: inherit;
  text-decoration: none;
}

.article-card-image {
  display: block;
}

.article-card-image img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.navigation.pagination,
.post-navigation {
  margin-top: 2.5rem;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  justify-content: center;
}

.nav-links a,
.nav-links span {
  padding: 0.65rem 0.9rem;
  border: 1px solid #cbd9df;
}

.nav-links .current {
  background: #173f4b;
  border-color: #173f4b;
  color: #fff;
}

.page-search-form {
  margin-bottom: 2.5rem;
}

.page-search-form > label {
  display: block;
  margin-bottom: 0.65rem;
  font-weight: 700;
}

.tag-directory {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 1rem;
}

.tag-directory a {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.15rem;
  border: 1px solid #cbd9df;
  text-decoration: none;
}

.primary-button {
  text-decoration: none;
}

@media (max-width: 768px) {
  .article-trust dl div {
    grid-template-columns: 1fr;
  }

}

.article-research-table table {
  font-size: clamp(14px, calc(0.02589vw + 13.902913px), 14.4px);
}

.article-research-table th,
.article-research-table td {
  padding-block: clamp(12px, calc(0.2589vw + 11.029126px), 16px);
  padding-inline: clamp(10px, calc(0.38835vw + 8.543689px), 16px);
}

.article-research-table th {
  width: clamp(112px, calc(2.071197vw + 104.23301px), 144px);
}

.article-trust dl div {
  gap: clamp(3.2px, calc(0.828479vw + 0.093204px), 16px);
}

.github-ranking-entry p strong {
  color: #075c68;
}

.github-ranking-entry a {
  text-decoration: underline;
}
