/* Sport resource list (landing page). Uses each sport's theme.css colors: --accent is the book's dominant color. */
.tiles{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{display:flex;min-width:0}
.tile-in{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 8px 16px;border-radius:16px;background:var(--accent);color:var(--on-accent);text-decoration:none;box-shadow:var(--shadow);position:relative}
a.tile-in:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
a.tile-in:active{transform:scale(.98)}
.tile-ic{width:56px;height:56px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.tile-t{font-family:var(--display);font-weight:700;font-size:20px;line-height:1.1;letter-spacing:.01em}
.tile-d{display:none;font-size:14px;line-height:1.3;opacity:.92}
.tile.soon .tile-in{background:var(--surface2);color:var(--muted);box-shadow:none;border:1px dashed var(--line)}
.pill{font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.05em;text-transform:uppercase;background:var(--hl-soft);color:var(--ink);border:1px solid var(--hl);border-radius:999px;padding:1px 9px}
@media (min-width:600px){.tiles{gap:14px}.tile-in{padding:24px 14px 20px}.tile-d{display:block}.tile-ic{width:64px;height:64px}.tile-t{font-size:23px}}
.book{margin-top:22px}
.book-in{display:flex;gap:16px;align-items:center}
.book-in .cover{width:96px;height:auto;border-radius:6px;box-shadow:var(--shadow);flex:none}
.book h2{font-size:22px}
.book .btn{margin-top:8px}
@media print{.book .btn{display:none}}

/* Series page (all sports) */
.sports{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sports li{display:flex;min-width:0}
.sport{flex:1;display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px 10px 14px;border-radius:16px;background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--sc);color:var(--ink);text-decoration:none;box-shadow:0 1px 2px rgba(0,0,0,.06)}
.sport:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
.sport .cover{width:100%;max-width:150px;aspect-ratio:2/3;object-fit:cover;border-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.2)}
.sport-t{font-family:var(--display);font-weight:700;font-size:24px;line-height:1.1;margin-top:6px}
.sport-b{font-size:14px;color:var(--muted)}
.sport-go{margin-top:auto;padding-top:6px;font-family:var(--display);font-weight:700;font-size:16px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);border-bottom:3px solid var(--sc)}
.series{margin:20px 0 0;text-align:center}
@media (min-width:720px){.sports{grid-template-columns:repeat(4,1fr)}}
@media (prefers-color-scheme:dark){:root{
  --bg:#0E1620;--surface:#17222F;--surface2:#1F2D3D;--ink:#EAF0F6;--muted:#A3B1C2;--line:#2B3A4C;--accent:#7FB0E0;--accent-ink:#9CC3EA;--on-accent:#08141F;--accent-soft:#17283A;--hl:#7FB0E0;--hl-soft:#17283A;--focus:#FFFFFF;--hdr-bg:#0E1620;--hdr-ink:#EAF0F6;--hdr-sub:#A3B1C2;--strip:repeating-linear-gradient(90deg,#3A5675 0 38px,#2B4560 38px 40px);color-scheme:dark}}
