/* /seasons and /season/:slug: the season cards. Heroes, facts and panels come from x-scrims.css and x-rulebook.css. Every class sn-. */
.sn-hero h1 { font-size: clamp(40px, 6vw, 80px); }
.sn-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: var(--s4); }
.sn-card { position: relative; overflow: hidden; display: flex; flex-direction: column; gap: var(--s3); padding: var(--s5); border: 1px solid var(--line-2); border-top: 3px solid var(--line-3); border-radius: var(--rl); background: linear-gradient(180deg, var(--panel) 0%, var(--panel-2) 100%); color: var(--ink); }
.sn-card.is-live { border-top-color: var(--gold); background: linear-gradient(180deg, rgba(201,162,39,.1), rgba(12,14,16,.94) 70%); }
.sn-card.is-live::before { content: ''; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(-45deg, rgba(255,255,255,.03) 0 2px, transparent 2px 14px); }
.sn-card > * { position: relative; }
.sn-top { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); }
.sn-top em { font: 700 11px/1 var(--fd); font-style: normal; letter-spacing: .2em; text-transform: uppercase; color: var(--gold-2); }
.sn-card > b { font: 800 34px/1 var(--fd); text-transform: uppercase; }
.sn-nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s2); margin-top: var(--s2); }
.sn-nums span { padding: var(--s3); border: 1px solid var(--line); border-radius: var(--r); background: rgba(8,9,10,.4); font: 700 10px/1 var(--fd); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-3); }
.sn-nums i { display: block; margin-bottom: 6px; font: 500 22px/1 var(--fm); font-style: normal; letter-spacing: -.02em; color: var(--ink); text-transform: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sn-card:hover, .sn-card:focus-visible { border-color: var(--gold-line); outline: none; box-shadow: 0 0 32px rgba(201,162,39,.1); }
