.credits-page { background: radial-gradient(ellipse at 90% 10%, #ffdfa5, transparent 48%), #fff6dd; }
.credits-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-block: 24px; }
.credits-header img { width: 150px; height: auto; transform: rotate(-3deg); }
.credits-header .store-badge { font-weight: 900; }
.credits-content { max-width: 1000px; padding-block: 42px 72px; }
.credits-intro { max-width: 650px; }
.credits-intro h1 { font-size: clamp(56px, 8vw, 90px); margin-bottom: 24px; }
.credits-intro p { color: #795947; font-size: 18px; }
.credits-nav { display: flex; flex-wrap: wrap; gap: 15px; margin-block: 34px 48px; }
.credits-nav a { padding: 11px 24px; font-family: "Lilita One", sans-serif; font-size: 21px; color: #783c27; border: 2px solid #a66531; border-radius: 16px 13px 15px 12px; background: linear-gradient(#ffdf73, #ffc34e); box-shadow: inset 0 2px 0 #ffeda5, 0 4px 0 #a66531; }
.credits-nav a:hover { background: #ffe28a; }
.credits-category { padding: 36px 0; border-top: 2px solid #e4bf8e; scroll-margin-top: 24px; }
.credits-category h2 { font-size: clamp(34px, 5vw, 46px); -webkit-text-stroke-width: 3px; text-shadow: 0 3px 0 #482945; }
.credits-description { color: #795947; margin-top: 16px; font-size: 16px; }
.credits-list { margin-top: 24px; }
.credits-pending { padding: 23px 26px; background: #fffbef; border: 2px dashed #ccaa78; border-radius: 18px; color: #82634f; font-size: 15px; }
/* Ready for real attributions once the source URLs are supplied. */
.credit-entry { padding: 24px 0; border-bottom: 1px solid #e4c9a2; overflow-wrap: anywhere; }
.credit-entry h3 { font-size: 25px; color: #59384d; }
.credit-group-title { margin: 30px 0 0; padding-top: 18px; color: #8b432d; font-size: 18px; text-transform: uppercase; letter-spacing: .08em; }
.credit-entry p { margin-top: 8px; color: #795947; }
.credit-entry a { text-decoration: underline; text-underline-offset: 3px; color: #8b432d; }
.credits-page .footer { border-top: 2px solid #e4bf8e; }
.legal-content { max-width: 820px; padding-block: 40px 80px; }
.legal-content h1 { font-size: clamp(32px, 4vw, 48px); margin: 22px 0 12px; }
.simple-page .legal-content h2 { color: #59384d; font-size: 18px !important; line-height: 1.3 !important; letter-spacing: -0.01em; margin: 28px 0 8px; }
.legal-content p { color: #795947; font-size: 17px; line-height: 1.7; }
.legal-content a { color: #8b432d; text-decoration: underline; text-underline-offset: 3px; }
.legal-updated { color: #98765d !important; font-size: 14px !important; margin-bottom: 30px; }
.legal-note { margin-top: 42px; font-size: 14px !important; }
.legal-footer { border-top: 2px solid #e4bf8e; margin-top: 24px; padding-top: 28px; padding-bottom: 28px; }
@media (max-width: 600px) {
  .credits-header { gap: 16px; padding-block: 20px; }
  .credits-header img { width: 110px; }
  .credits-header .store-badge { padding: 10px 12px; font-size: 12px; }
  .credits-content { padding-top: 26px; padding-bottom: 42px; }
  .credits-intro p { font-size: 16px; }
  .credits-nav { gap: 10px; }
  .credits-nav a { font-size: 19px; padding: 10px 16px; }
}
