/* Shared components; page-specific styles and mobile/desktop overrides follow. */
.site-share {
  max-width:1100px;
  margin:34px auto 22px;
  padding:0 20px;
  text-align:center;
  position:relative;
  z-index:1
}
.site-share-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:46px;
  padding:10px 24px;
  border:1px solid var(--gold-rule,rgba(138,104,32,.5));
  background:transparent;
  color:var(--ink,#1c1209);
  font-family:inherit;
  font-size:.88rem;
  letter-spacing:.06em;
  text-decoration:none;
  transition:background .22s,border-color .22s,color .22s,transform .22s;
  box-shadow:inset 0 0 0 3px var(--paper, #f5edd8),inset 0 0 0 4px var(--gold-dim,rgba(138,104,32,.1))
}
.site-share-link:hover {
  background:var(--ink,#1c1209);
  border-color:var(--ink,#1c1209);
  color:var(--paper,#f5edd8);
  transform:translateY(-1px)
}
.site-share-link:focus-visible {
  outline:2px solid var(--bordeaux,#8a2535);
  outline-offset:4px
}
.site-share-mark {
  font-family:Arial,sans-serif;
  font-weight:700;
  font-size:1.15rem;
  line-height:1;
  letter-spacing:0
}
.site-share-note {
  margin:10px 0 0;
  color:var(--muted,#7a6048);
  font-size:.72rem;
  letter-spacing:.04em;
  line-height:1.7
}
.related-records {
  max-width:1040px;
  margin:22px auto 0;
  padding:0 clamp(12px,3vw,24px);
  color:var(--muted,#7a6048);
}
.related-records h2 {
  margin:0 0 8px;
  font:400 .64rem var(--f-type,monospace);
  letter-spacing:.12em;
}
.related-records a {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  border-top:1px solid var(--border,rgba(80,55,30,.25));
  color:var(--ink,#30251c);
  font:400 .8rem/1.6 var(--f-jp,serif);
  text-decoration:none;
}
.related-records a::after { content:' →'; margin-left:8px; color:var(--bordeaux,#8a2535); }
.related-records a:hover,.related-records a:focus-visible { text-decoration:underline; text-underline-offset:4px; }
.article-pagination {
  max-width:1040px;
  margin:30px auto 26px;
  padding:14px clamp(12px,3vw,24px);
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  border-top:3px double var(--border-strong,rgba(80,55,30,.45));
  border-bottom:1px solid var(--border,rgba(80,55,30,.25));
  font-family:var(--f-type,monospace)
}
.article-pagination a {
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  padding:10px 12px;
  color:var(--ink,#30251c);
  text-decoration:none;
  border:1px solid var(--border,rgba(80,55,30,.25));
  background:rgba(245,237,216,.45);
  transition:background .2s,color .2s
}
.article-pagination a:hover,.article-pagination a:focus-visible {
  background:var(--ink,#30251c);
  color:var(--paper,#f5edd8)
}
.article-pagination .pagination-home {
  text-align:center;
  align-items:center;
  min-width:104px;
  border-color:var(--border-strong,rgba(80,55,30,.45))
}
.pagination-label {
  font-size:.58rem;
  letter-spacing:.08em;
  opacity:.8
}
.pagination-title {
  font-family:var(--f-jp,serif);
  font-size:.76rem;
  line-height:1.5;
  overflow-wrap:anywhere
}
.pagination-prev {
  text-align:left;
  align-items:flex-start
}
.pagination-next {
  text-align:right;
  align-items:flex-end
}
.article-pagination .is-empty {
  visibility:hidden;
  border:0;
  background:transparent
}
@media(max-width:600px) {
  .related-records { margin:18px 10px 0; padding:0; }
  .article-pagination {
    grid-template-columns:1fr 1fr;
    gap:8px;
    margin:22px 10px;
    padding:12px 0
  }
  .article-pagination .pagination-home {
    grid-column:1/-1;
    grid-row:1;
    min-width:0;
    min-height:44px
  }
  .article-pagination .pagination-prev,.article-pagination .pagination-next {
    min-height:58px;
    padding:9px
  }
  .pagination-title {
    font-size:.7rem
  }
  .pagination-label {
    font-size:.56rem
  }
}
@media(prefers-reduced-motion:reduce) {
  .article-pagination a {
    transition:none
  }
}
