:root{
  --tg-cream:#F6F0E2;
  --tg-cream-deep:#EDE4CD;
  --tg-white:#FFFFFF;
  --tg-maroon:#7E2A33;
  --tg-maroon-deep:#5E1F2A;
  --tg-maroon-bright:#B23A48;
  --tg-black:#1C1B19;
  --tg-grey:#8C8C8C;
  --tg-ink-60:#3A3835;
  --tg-ink-40:#8A8578;
  --tg-rule:#E5DDC9;

  --tg-font-display:'Graduate',serif;
  --tg-font-body:'Archivo',system-ui,sans-serif;
  --tg-font-ticker:'Oswald',sans-serif;
  --tg-font-mono:'IBM Plex Mono',monospace;

  --tg-border:3px solid var(--tg-black);
  --tg-radius:6px;
  --tg-max:1240px;
  --tg-gutter:40px;
}
@media (max-width:760px){ :root{ --tg-gutter:20px; } }

/* Google Fonts (self-host for performance if possible)
   Graduate, Archivo:wght@400;600;700;800, Oswald:wght@500;600, IBM+Plex+Mono:wght@500;700 */

body{margin:0;background:var(--tg-cream);color:var(--tg-black);font-family:var(--tg-font-body);}
a{color:var(--tg-maroon);text-decoration:none;}
a:hover{color:var(--tg-maroon-bright);}
:focus-visible{outline:3px solid var(--tg-maroon-bright);outline-offset:2px;}

.tg-title{font-family:var(--tg-font-display);color:var(--tg-maroon);text-shadow:3px 3px 0 var(--tg-black);letter-spacing:.02em;}
.tg-card{background:var(--tg-white);border:var(--tg-border);border-radius:var(--tg-radius);padding:24px;}
.tg-btn{display:inline-block;font-weight:800;font-size:15px;letter-spacing:.08em;padding:15px 28px;border-radius:4px;background:var(--tg-black);color:var(--tg-cream);}
.tg-btn--alt{background:transparent;color:var(--tg-maroon);border:3px solid var(--tg-maroon);}
.tg-bar{background:var(--tg-maroon-deep);color:#EAD9C4;font-size:13px;font-weight:600;letter-spacing:.08em;text-align:center;padding:8px 24px;}

/* Pennant bunting — full bleed */
.tg-pennants{display:flex;justify-content:center;gap:14px;overflow:hidden;padding-top:16px;}
.tg-pennant{width:0;height:0;flex-shrink:0;border-left:13px solid transparent;border-right:13px solid transparent;border-top:22px solid var(--tg-maroon);}
.tg-pennant:nth-child(3n+2){border-top-color:var(--tg-black);}
.tg-pennant:nth-child(3n+3){border-top-color:var(--tg-grey);}

/* Live ticker */
.tg-ticker{background:var(--tg-maroon);color:var(--tg-cream);font-family:var(--tg-font-ticker);font-weight:600;font-size:16px;letter-spacing:.1em;padding:12px 0;white-space:nowrap;overflow:hidden;border-top:var(--tg-border);border-bottom:var(--tg-border);min-height:46px;}
.tg-ticker__track{display:inline-flex;gap:60px;animation:tgTicker 45s linear infinite;}
@keyframes tgTicker{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tg-ticker__track{animation:none;}}

/* Game board */
.tg-board{background:var(--tg-white);border:var(--tg-border);border-radius:var(--tg-radius);overflow:hidden;}
.tg-board__head{display:grid;grid-template-columns:110px 1fr 200px 130px;background:var(--tg-black);color:var(--tg-cream);font-weight:800;font-size:12px;letter-spacing:.18em;padding:12px 24px;}
.tg-board__row{display:grid;grid-template-columns:110px 1fr 200px 130px;align-items:center;padding:14px 24px;border-bottom:1px solid var(--tg-rule);}
.tg-board__time{font-family:var(--tg-font-mono);font-weight:700;font-size:15px;color:var(--tg-maroon);}
.tg-board__game{font-weight:700;font-size:16px;letter-spacing:.04em;}
.tg-board__where{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--tg-ink-40);}
.tg-board__sound{font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--tg-maroon);text-align:right;}
@media (max-width:760px){
  .tg-board__head{display:none;}
  .tg-board__row{grid-template-columns:72px 1fr;grid-template-areas:"time game" "time where";row-gap:2px;}
  .tg-board__time{grid-area:time;}.tg-board__game{grid-area:game;}
  .tg-board__where{grid-area:where;}.tg-board__sound{display:none;}
}
