/* THE CREDITS (js/credits.js) — the crawl under the set, the line under a
   portrait, the list on the Thanks Wall. */

/* under a character's portrait: who made the picture */
.pf-credit { margin-top: 8px; font-family: var(--font-mono, "Space Mono", monospace); font-size: 0.66rem; line-height: 1.45; letter-spacing: 0.02em; color: var(--ink-dim, #cbb488); max-width: 30ch; }
.pf-credit a { color: inherit; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(255, 176, 32, 0.5); }
.pf-credit a:hover, .pf-credit a:focus-visible { color: var(--neon-cyan-soft, #ffd8a0); }

/* the crawl: the set's brand plate, rolling */
.tv__brandplate.has-crawl { overflow: hidden; white-space: nowrap; text-align: left;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.bp-crawl { display: block; color: inherit; text-decoration: none; }
.bp-crawl:hover, .bp-crawl:focus-visible { color: var(--neon-cyan-soft, #ffd8a0); outline: none; }
.bp-crawl__track { display: inline-block; white-space: nowrap; will-change: transform; animation: bp-roll 60s linear infinite; }
.bp-crawl:hover .bp-crawl__track, .bp-crawl:focus-visible .bp-crawl__track { animation-play-state: paused; }
.bp-crawl__item::after { content: "\2726"; margin: 0 1.6em; color: var(--neon-cyan, #ffb020); }
@keyframes bp-roll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* popped out, the plate is the handle you drag the set by: it holds still */
.tv--float .bp-crawl { pointer-events: none; }
.tv--float .bp-crawl__track, .fx-off .bp-crawl__track { animation: none; }
@media (prefers-reduced-motion: reduce) {
  .bp-crawl__track { animation: none; display: block; overflow: hidden; text-overflow: ellipsis; }
  .bp-crawl__item:nth-child(n+3) { display: none; }
  .tv__brandplate.has-crawl { text-align: center; -webkit-mask-image: none; mask-image: none; }
}

/* the Thanks Wall list */
.credits { display: grid; gap: 10px; margin-top: 16px; }
.credit { padding: 12px 14px; border: 1px solid rgba(255, 176, 32, 0.2); border-radius: 12px; background: rgba(21, 12, 5, 0.6); }
.credit header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.credit__who { font-weight: 700; color: #ffd08a; text-underline-offset: 3px; overflow-wrap: anywhere; }
.credit__n { flex: none; min-width: 2.2em; padding: 2px 8px; border-radius: 999px; text-align: center; font-family: "Space Mono", monospace; font-weight: 700; font-size: 12.5px; color: #1a1002; background: rgba(255, 208, 138, 0.82); }
/* the names: one per tag, easy to scan, nothing underlined until it is pointed at */
.credit__names { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 6px; font-size: 13.5px; line-height: 1.3; }
.credit__names a { color: rgba(244, 230, 198, 0.9); text-decoration: none; padding: 4px 9px; border-radius: 999px; border: 1px solid rgba(255, 176, 32, 0.22); background: rgba(31, 19, 8, 0.7); }
.credit__names a:hover, .credit__names a:focus-visible { color: #ffd08a; border-color: #ffd08a; }
/* the crawl lands on /thanks#credits: the heading clears the sticky bar */
#credits { scroll-margin-top: 84px; }
@media (max-width: 520px) { #credits { scroll-margin-top: 124px; } }
/* the crawl on a phone: big enough to read as it rolls */
@media (max-width: 640px) { .tv__brandplate.has-crawl { font-size: 0.64rem; letter-spacing: 0.08em; } }
