.source-credit {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: min(1120px, calc(100% - 32px));
  margin: 34px auto 24px;
  padding: 16px 18px;
  color: #173b3f;
  background: #f4fbf8;
  border: 1px solid #a9cec3;
  border-left: 5px solid #23806f;
  border-radius: 8px;
  font-family: "Noto Sans TC", sans-serif;
  line-height: 1.6;
}
.source-credit div { display: grid; gap: 2px; }
.source-credit strong { font-size: .98rem; }
.source-credit span { color: #466469; font-size: .88rem; }
.source-credit a { flex: 0 0 auto; color: #075f52; font-weight: 800; }
@media (max-width: 680px) {
  .source-credit { align-items: flex-start; flex-direction: column; gap: 10px; }
}
@media print {
  .source-credit { width: 100%; margin: 20px 0 0; break-inside: avoid; }
}
