/* /credits/ — contact sheet + photo ledger + trademark list */
.cr-hero > .kd-wrap { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
.cr-hero__links { display: flex; flex-wrap: wrap; gap: 4px 24px; }

/* Contact sheet instrument */
.cr-sheet__grid { list-style: none; margin: 0; padding: 12px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; background: var(--bay); border-radius: 12px; box-shadow: var(--well); }
.cr-sheet__grid li { min-width: 0; }
.cr-sheet__grid li:first-child { grid-column: span 2; grid-row: span 2; }
.cr-sheet__frame { position: relative; display: block; width: 100%; height: 100%; min-height: 44px; padding: 0; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--lcd); overflow: hidden; cursor: pointer; aspect-ratio: 4 / 3; transition: border-color .2s, box-shadow .2s; }
.cr-sheet__frame img { display: block; width: 100%; height: 100%; object-fit: cover; opacity: .82; filter: grayscale(.55) contrast(1.02); transition: opacity .3s var(--ease), filter .3s var(--ease); }
.cr-sheet__frame:hover img, .cr-sheet__frame[aria-pressed="true"] img { opacity: 1; filter: none; }
.cr-sheet__frame[aria-pressed="true"] { border-color: var(--ink); box-shadow: 0 0 0 2px var(--amber) ; }
.cr-sheet__frame:focus-visible { outline: 2px solid var(--focus); outline-offset: 3px; }
.cr-sheet__num { position: absolute; left: 6px; bottom: 6px; font: 500 .7rem/1 var(--f-mono); letter-spacing: .08em; color: var(--lcd-ink); background: rgba(28,31,36,.86); padding: 4px 5px; border-radius: 4px; }
.cr-sheet__frame[aria-pressed="true"] .cr-sheet__num::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 5px; border-radius: 50%; background: var(--amber-led); vertical-align: 1px; }

.cr-readout { margin-top: 12px; background: var(--lcd); color: var(--lcd-ink); border-radius: 12px; box-shadow: inset 0 2px 8px rgba(0,0,0,.55); padding: 14px 16px; display: grid; gap: 6px; }
.cr-readout__line { margin: 0; display: grid; grid-template-columns: 5.5em minmax(0, 1fr); gap: 10px; font: 500 .8rem/1.4 var(--f-mono); overflow-wrap: anywhere; }
.cr-readout__k { color: var(--lcd-dim); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.cr-readout__lic span:last-child { color: #fff; }

/* Ledger */
.cr-ledger-wrap { background: var(--panel); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--shadow-mod); padding: 4px clamp(10px, 1.6vw, 20px); }
.cr-ledger { width: 100%; border-collapse: collapse; font: 400 .94rem/1.45 var(--f-sans); color: var(--ink-dim); }
.cr-ledger thead th { text-align: left; font: 600 .74rem/1 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dimmer); padding: 14px 12px 12px; border-bottom: 1.5px solid var(--ink); }
.cr-ledger td, .cr-ledger tbody th { padding: 14px 12px; border-bottom: 1px dashed var(--line-strong); vertical-align: middle; text-align: left; }
.cr-ledger tbody tr:last-child > * { border-bottom: 0; }
.cr-ledger tbody tr:target { background: var(--elevated); }
.cr-ledger__thumb { width: 132px; }
.cr-ledger__thumb a { display: block; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); }
.cr-ledger__thumb img { display: block; width: 120px; height: 80px; object-fit: cover; }
.cr-ledger__title { font: 600 .98rem/1.3 var(--f-sans); color: var(--ink); }
.cr-ledger__file { display: block; margin-top: 4px; font: 400 .74rem/1.3 var(--f-mono); color: var(--ink-dimmer); letter-spacing: .02em; }
.cr-src { color: var(--ink); font-weight: 600; text-underline-offset: 3px; text-decoration-color: var(--line-strong); display: inline-flex; align-items: center; min-height: 44px; }
.cr-src:hover { color: var(--amber-text); text-decoration-color: currentColor; }
.cr-note { margin-top: 20px; }
.cr-page a:not(.kd-link):not(.kd-key) { text-underline-offset: 3px; }

/* Trademark notice + marks */
.cr-tm { max-width: 820px; }
.cr-tm p { margin: 0; font: 400 1rem/1.6 var(--f-sans); color: var(--ink-dim); }
.cr-tm a { color: var(--ink); font-weight: 600; }
.cr-page .cr-h3 { margin: clamp(32px, 4vw, 48px) 0 14px; }
.cr-marks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(250px, 100%), 1fr)); gap: 0 28px; }
.cr-mark { display: grid; grid-template-columns: 28px minmax(0, 1fr); column-gap: 14px; align-items: center; padding: 12px 0; border-top: 1px dashed var(--line-strong); }
.cr-mark__glyph { grid-row: span 2; width: 28px; height: 28px; opacity: .9; }
.cr-mark__name { font: 600 .95rem/1.3 var(--f-sans); color: var(--ink); }
.cr-mark__cat { font: 400 .76rem/1.35 var(--f-mono); color: var(--ink-dimmer); }
.cr-marks--word { margin-top: 14px; }
.cr-mark--word { grid-template-columns: minmax(0, 1fr); }
.cr-mark__word { display: none; }

.cr-plate { max-width: 980px; }
.cr-plate dl { grid-template-columns: 1fr; }
.cr-plate dl > div { grid-template-columns: 16em 1fr; }
.cr-plate dd { font: 400 .94rem/1.5 var(--f-sans); color: var(--ink-dim); }

@media (max-width: 960px) {
  .cr-hero > .kd-wrap { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .cr-ledger thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .cr-ledger, .cr-ledger tbody, .cr-ledger tr, .cr-ledger td, .cr-ledger tbody th { display: block; }
  .cr-ledger tr { display: grid; grid-template-columns: 96px minmax(0, 1fr); column-gap: 14px; padding: 14px 0; border-bottom: 1px dashed var(--line-strong); }
  .cr-ledger tbody tr:last-child { border-bottom: 0; }
  .cr-ledger td, .cr-ledger tbody th { padding: 0; border: 0; grid-column: 2; }
  .cr-ledger__thumb { grid-column: 1 !important; grid-row: 1 / span 4; width: auto; }
  .cr-ledger__thumb img { width: 96px; height: 72px; }
  .cr-ledger td[data-label] { display: grid; grid-template-columns: 5em minmax(0, 1fr); gap: 8px; align-items: center; margin-top: 6px; font-size: .9rem; overflow-wrap: anywhere; }
  .cr-ledger td[data-label]::before { content: attr(data-label); font: 600 .7rem/1 var(--f-cond); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-dimmer); }
  .cr-src { min-height: 36px; }
  .cr-plate dl > div { grid-template-columns: 1fr; gap: 4px; }
}
@media (max-width: 480px) {
  .cr-sheet__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 8px; gap: 8px; }
  .cr-sheet__grid li:first-child { grid-column: 1 / -1; grid-row: auto; }
  .cr-ledger tr { grid-template-columns: 72px minmax(0, 1fr); }
  .cr-ledger__thumb img { width: 72px; height: 54px; }
  .cr-ledger td[data-label] { grid-template-columns: 1fr; gap: 3px; }
}
@media (prefers-reduced-motion: reduce) {
  .cr-sheet__frame, .cr-sheet__frame img { transition: none; }
}
.cr-ledger td[data-label] > * { justify-self: start; }
