
  .sp-top { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: var(--jp-s6); padding-block: var(--jp-s6) 0; align-items: start; }
  .sp-info { display: grid; gap: var(--jp-s4); min-width: 0; }
  .sp-info h1 { font-size: clamp(28px, 5vw, var(--jp-fs-3xl)); font-weight: 900; }
  .sp-crumb { font-size: var(--jp-fs-sm); color: var(--jp-muted); padding-top: var(--jp-s5); }
  .sp-crumb a:hover { color: var(--jp-ink); }
  .sp-about { color: var(--jp-muted); font-size: var(--jp-fs-sm); border: 1px dashed var(--jp-line); border-radius: var(--jp-r-md); padding: 12px 14px; }
  @media (max-width: 640px) {
    .sp-top { grid-template-columns: minmax(0, 1fr); gap: var(--jp-s4); }
    .sp-top > .jp-poster { width: 120px; }
    .jp-next .jp-next-when { font-size: var(--jp-fs-xl); }
  }
