/* V38 public source guide. Presentation only. No script. */
.sg38-skip {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  transform: translateY(-150%);
  background: #fff;
  color: #102033;
  padding: 0.4rem 0.7rem;
  z-index: 2;
}
.sg38-skip:focus { transform: none; }
.sg38 { color: #102033; background: #fff; }
.sg38-wrap { max-width: 40rem; margin: 0 auto; padding: 1rem; }
.sg38 h1 { font-size: 1.6rem; line-height: 1.3; margin: 0 0 0.6rem; }
.sg38 h2 { font-size: 1.2rem; margin: 0 0 0.6rem; }
.sg38 h3 { font-size: 1rem; margin: 0 0 0.35rem; }
.sg38 a { color: #0b3a5b; }
.sg38 a:focus-visible, .sg38-entries a:focus-visible, .sg38-skip:focus-visible {
  outline: 3px solid #0b3a5b;
  outline-offset: 3px;
}
.sg38-lead, .sg38-notice, .sg38-card p { line-height: 1.5; }
.sg38-notice { border: 1px solid #8a5a00; background: #fff8e8; padding: 0.75rem 1rem; }
.sg38-entries { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 1rem 0; }
.sg38-entries a { text-decoration: none; }
.sg38-cards { display: grid; gap: 0.75rem; }
.sg38-card { border: 1px solid #d5dde6; padding: 0.75rem 1rem; }
.sg38-k { font-weight: 700; }
.sg38-day { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.sg38-block { margin: 1.5rem 0; }
.sg38-table { width: 100%; border-collapse: collapse; }
.sg38-table th, .sg38-table td {
  border: 1px solid #d5dde6;
  padding: 0.45rem 0.5rem;
  text-align: left;
  vertical-align: top;
  word-break: normal;
  overflow-wrap: break-word;
}
.sg38-table td[data-field] { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
.sg38-table caption { text-align: left; font-weight: 700; margin-bottom: 0.4rem; }
@media (max-width: 390px) {
  .sg38-wrap { max-width: none; padding: 0.75rem; }
  .sg38 h1 { font-size: 1.35rem; }
  .sg38-entries, .sg38-cards { display: block; }
  .sg38-entries a, .sg38-card { display: block; margin: 0 0 0.5rem; }
  .sg38-table, .sg38-table tbody, .sg38-table tr, .sg38-table th, .sg38-table td { display: block; width: auto; }
  .sg38-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sg38-table td[data-label] { white-space: normal; }
  .sg38-table td[data-label]::before {
    content: attr(data-label);
    display: block;
    font-weight: 700;
    margin-bottom: 0.15rem;
  }
  .sg38-table td[data-field] { white-space: nowrap; }
}
@media (min-width: 1440px) {
  .sg38-wrap { max-width: 76rem; padding: 1.5rem 2rem; }
  .sg38-cards { grid-template-columns: 1fr 1fr; }
}
@media print {
  .sg38-skip, .sg38-entries, .sg38-compare { display: none; }
  .sg38, .sg38-notice, .sg38-card { background: #fff; color: #000; }
  .sg38-card, .sg38-block { break-inside: avoid; page-break-inside: avoid; }
  .sg38-day { white-space: nowrap; word-break: keep-all; overflow-wrap: normal; }
  .sg38 a[href]::after { content: " (" attr(href) ")"; font-size: 0.85em; word-break: break-all; }
}
