/*
Welcome to Custom CSS!

To learn how this works, see http://wp.me/PEmnE-Bt
*/
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,700;0,900;1,700&family=Source+Serif+4:ital,opsz,wght@0,8..60,300;0,8..60,400;0,8..60,600;1,8..60,300;1,8..60,400&family=JetBrains+Mono:wght@400;600&display=swap');

  :root {
    --red: #C8102E;
    --navy: #1d2535;
    --cream: #F5F0E8;
    --silver: #B0B7C3;
    --gold: #C9A84C;
    --dark: #0f1520;
    --text: #1a1a2e;
    --muted: #5a6070;
    --green: #1a7a4a;
    --rose: #b02020;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }

  body {
    font-family: 'Source Serif 4', Georgia, serif;
    background: var(--cream);
    color: var(--text);
    font-size: 18px;
    line-height: 1.78;
  }

  /* ── HERO ── */
  .hero {
    background: var(--dark);
    color: white;
    padding: 80px 40px 64px;
    position: relative;
    overflow: hidden;
  }
  .hero::before {
    content: '';
    position: absolute; inset: 0;
    background: repeating-linear-gradient(
      90deg, transparent, transparent 60px,
      rgba(200,16,46,0.04) 60px, rgba(200,16,46,0.04) 61px
    );
    pointer-events: none;
  }
  .hero-inner { max-width: 800px; margin: 0 auto; position: relative; }
  .hero-eyebrow {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; letter-spacing: 3px; text-transform: uppercase;
    color: var(--red); margin-bottom: 20px;
  }
  .hero h1 {
    font-family: 'Playfair Display', serif;
    font-size: clamp(30px, 5vw, 54px);
    font-weight: 900; line-height: 1.1; color: white; margin-bottom: 24px;
  }
  .hero h1 em { color: var(--red); font-style: italic; }
  .hero-sub {
    font-size: 19px; color: var(--silver); font-style: italic;
    max-width: 640px; line-height: 1.6; margin-bottom: 32px;
  }
  .hero-meta {
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px; color: var(--silver); letter-spacing: 1px;
  }
  .hero-meta span { color: var(--gold); }

  /* ── BODY ── */
  .article-body { max-width: 800px; margin: 0 auto; padding: 60px 40px 100px; }
  p { margin-bottom: 24px; color: #2a2a3e; }
  strong { color: var(--navy); }

  h2 {
    font-family: 'Playfair Display', serif;
    font-size: 28px; font-weight: 700; color: var(--navy);
    margin: 56px 0 20px; padding-bottom: 12px;
    border-bottom: 2px solid var(--red); display: inline-block;
  }
  h3 {
    font-family: 'Playfair Display', serif;
    font-size: 21px; font-weight: 700; color: var(--navy);
    margin: 36px 0 14px; font-style: italic;
  }

  /* ── PULL QUOTE ── */
  .pullquote {
    border-left: 4px solid var(--red);
    margin: 40px 0; padding: 20px 32px;
    background: white; box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  }
  .pullquote p {
    font-family: 'Playfair Display', serif;
    font-size: 22px; font-style: italic;
    color: var(--navy); line-height: 1.5; margin: 0;
  }

  /* ── STAT CARDS ── */
  .stat-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 16px; margin: 36px 0;
  }
  .stat-card {
    background: var(--navy); color: white;
    padding: 24px 20px; text-align: center; position: relative; overflow: hidden;
  }
  .stat-card::after {
    content: ''; position: absolute; bottom: 0; left: 0; right: 0;
    height: 3px; background: var(--red);
  }
  .stat-num {
    font-family: 'JetBrains Mono', monospace;
    font-size: 30px; font-weight: 600; display: block; line-height: 1.1;
    color: var(--gold);
  }
  .stat-num.pos { color: #5ecb8f; }
  .stat-num.neg { color: #e06c6c; }
  .stat-label {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--silver); margin-top: 8px; display: block;
  }
  .stat-sub { font-size: 12px; color: #c0c8d8; margin-top: 5px; display: block; }

  /* ── TABLES ── */
  .table-wrap {
    overflow-x: auto; margin: 32px 0;
    border: 1px solid #ddd; box-shadow: 0 4px 24px rgba(0,0,0,0.07);
  }
  table { width: 100%; border-collapse: collapse; background: white; }
  thead tr { background: var(--navy); color: white; }
  thead th {
    padding: 12px 14px; text-align: left;
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 1.5px; text-transform: uppercase;
    font-weight: 600; white-space: nowrap;
  }
  thead th.r { text-align: right; }
  tbody tr { border-bottom: 1px solid #eee; transition: background 0.12s; }
  tbody tr:hover { background: #f0f4ff; }
  tbody tr.hl { background: #fff8e8; }
  tbody tr.hl:hover { background: #fef3d0; }
  tbody tr.bad { background: #fff0f0; }
  tbody tr.bad:hover { background: #ffe0e0; }
  tbody td {
    padding: 11px 14px;
    font-family: 'JetBrains Mono', monospace;
    font-size: 13px; white-space: nowrap;
  }
  tbody td.r { text-align: right; }
  tbody td.lineup {
    font-family: 'Source Serif 4', serif;
    font-size: 13px; white-space: normal;
    max-width: 340px; line-height: 1.4;
  }
  .pv { color: var(--green); font-weight: 700; }
  .nv { color: var(--rose); font-weight: 700; }
  .mv { color: var(--muted); }

  /* ── COMPARISON BLOCKS ── */
  .compare-grid {
    display: grid; grid-template-columns: 1fr 1fr;
    gap: 16px; margin: 32px 0;
  }
  .compare-block {
    padding: 24px 20px;
    border-top: 3px solid var(--red);
    background: white; box-shadow: 0 2px 12px rgba(0,0,0,0.06);
  }
  .compare-block.good { border-top-color: var(--green); }
  .compare-block.bad  { border-top-color: var(--rose); }
  .compare-block h4 {
    font-family: 'JetBrains Mono', monospace;
    font-size: 10px; letter-spacing: 2px; text-transform: uppercase;
    color: var(--muted); margin-bottom: 12px;
  }
  .compare-stat {
    font-family: 'JetBrains Mono', monospace;
    font-size: 28px; font-weight: 700; display: block;
  }
  .compare-stat.pos { color: var(--green); }
  .compare-stat.neg { color: var(--rose); }
  .compare-sub { font-size: 13px; color: var(--muted); margin-top: 6px; }

  /* ── CONTEXT BOX ── */
  .context-box {
    background: white; border: 1px solid #ddd;
    padding: 24px 28px; margin: 36px 0;
  }
  .context-box::before {
    content: 'METHODOLOGY & LIMITATIONS';
    font-family: 'JetBrains Mono', monospace;
    font-size: 9px; letter-spacing: 2px; color: var(--red);
    display: block; margin-bottom: 10px;
  }
  .context-box p {
    font-size: 15px; color: var(--muted);
    margin-bottom: 0; line-height: 1.65;
  }

  /* ── GAME LOG ── */
  .gamelog-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
    gap: 8px; margin: 24px 0;
  }
  .game-chip {
    background: white; border: 1px solid #ddd;
    padding: 10px 14px;
    font-family: 'JetBrains Mono', monospace; font-size: 12px;
  }
  .g-date { color: var(--muted); font-size: 10px; display: block; margin-bottom: 2px; }
  .g-opp  { color: var(--navy); font-weight: 600; }
  .g-pm   { float: right; font-weight: 700; font-size: 13px; }
  .g-pm.pos { color: var(--green); }
  .g-pm.neg { color: var(--rose); }

  /* ── VIZ BLOCK ── */
  .viz-block {
    background: var(--dark); padding: 32px; margin: 36px 0;
  }
  .viz-block img { max-width: 100%; height: auto; display: block; margin: 0 auto; }
  .viz-caption {
    font-family: 'JetBrains Mono', monospace;
    font-size: 11px; color: var(--silver);
    margin-top: 14px; letter-spacing: 1px; text-align: center;
  }

  /* ── FOOTER ── */
  .article-footer {
    background: var(--navy); color: var(--silver);
    padding: 48px 40px;
    font-family: 'JetBrains Mono', monospace; font-size: 12px; line-height: 1.8;
  }
  .article-footer-inner { max-width: 800px; margin: 0 auto; }
  .article-footer h4 {
    color: white; font-size: 13px; letter-spacing: 2px;
    text-transform: uppercase; margin-bottom: 16px;
  }
  .article-footer a { color: var(--gold); text-decoration: none; }

  hr { border: none; border-top: 1px solid #ddd; margin: 48px 0; }

  @media (max-width: 600px) {
    .hero { padding: 48px 24px 40px; }
    .article-body { padding: 40px 24px 60px; }
    .compare-grid { grid-template-columns: 1fr; }
    .stat-row { grid-template-columns: repeat(2, 1fr); }
  }