.jam-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,520px),1fr));gap:22px}
.jam-card{display:grid;align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);border:1px solid var(--line);border-radius:16px;overflow:hidden;background:linear-gradient(180deg,rgba(18,34,52,.7),rgba(8,17,29,.9))}
.jam-art{background:#060d17}
.jam-art img{display:block;width:100%;height:auto;aspect-ratio:630/500;object-fit:cover}
.jam-body{padding:24px 24px 22px;display:flex;flex-direction:column}
.jam-genre{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#a5c2d8}
.jam-body h2{font-size:clamp(28px,2.6vw,38px);margin:10px 0 6px;line-height:1}
.jam-tag{font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:16px;line-height:1.45;color:#e3eaf3;margin:0 0 14px}
.jam-name{font-size:13px;color:#c3cfdb;margin:0 0 14px}
.jam-name a{color:#e6eef8;text-decoration:underline;text-underline-offset:3px}
.jam-rank{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:12px;background:rgba(255,227,168,.08);border:1px solid rgba(255,227,168,.32)}
.jam-rank-num{font-family:Impact,"Arial Narrow",Arial,sans-serif;font-size:44px;line-height:1;color:#ffe3a8;min-width:76px;text-align:center}
.jam-rank-of{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#e6d7b8;line-height:1.35}
.jam-rank.is-pending{background:rgba(80,186,255,.07);border-color:rgba(80,186,255,.32)}
.jam-rank.is-pending .jam-rank-num{color:#9fd6ff;font-size:34px}
.jam-rank.is-pending .jam-rank-of{color:#c9e8ff}
.jam-rank.is-none{background:rgba(255,255,255,.04);border-color:var(--line)}
.jam-rank.is-none .jam-rank-num{color:#9facbb}
.jam-rank.is-none .jam-rank-of{color:#c3cfdb}
.jam-best{font-size:13px;color:#c3cfdb;margin:10px 0 0;line-height:1.5}
.jam-best strong{color:#fff}
.jam-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:auto;padding-top:18px}
.jam-links .button{margin:0;min-height:46px;gap:14px}
.jam-links .text-link{margin:0;min-height:44px;box-sizing:border-box;padding-top:12px}
.jam-note{margin:26px 0 0;font-size:13px;color:var(--muted)}
@media (max-width:640px){.jam-card{grid-template-columns:1fr}.jam-art img{aspect-ratio:630/500;height:auto}}
