:root {
  --black: #050505;
  --board: #20150f;
  --paper: #fff8cf;
  --green: #68ff58;
  --cyan: #44f4ff;
  --pink: #ff42c8;
  --yellow: #ffe94d;
  --red: #ff2b2b;
  --orange: #ff8a1f;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: #fff;
  background:
    radial-gradient(circle at 15% 20%, rgba(255,255,255,.045) 0 2px, transparent 3px),
    radial-gradient(circle at 80% 60%, rgba(255,255,255,.035) 0 1px, transparent 2px),
    repeating-linear-gradient(97deg, rgba(117,65,30,.09) 0 3px, transparent 3px 9px),
    linear-gradient(125deg, #090604, var(--board) 50%, #070504);
  background-size: 41px 41px, 29px 29px, auto, auto;
  font-family: "Trebuchet MS", Verdana, sans-serif;
  line-height: 1.5;
  min-height: 100vh;
}

a { color: var(--cyan); text-decoration-thickness: 2px; }
a:hover, a:focus-visible { color: var(--yellow); }
img { max-width: 100%; height: auto; }

.rainbow-bar {
  height: 8px;
  background: linear-gradient(90deg, var(--red), var(--yellow), var(--green), var(--cyan), var(--pink), var(--red));
  background-size: 200% 100%;
  animation: rainbow 4s linear infinite;
}

.site-header { background: rgba(0,0,0,.9); border-bottom: 4px dashed var(--red); }
.masthead { max-width: 1200px; margin: auto; padding: .7rem 1rem 1rem; }
.brand-row { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.brand {
  color: var(--yellow);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2rem, 7vw, 4.5rem);
  letter-spacing: .04em;
  line-height: .9;
  text-decoration: none;
  text-shadow: 4px 4px 0 var(--red), -2px -2px 0 #000;
  transform: rotate(-1deg);
}
.stamp {
  display: inline-block;
  border: 5px solid var(--red);
  color: var(--red);
  padding: .25rem .6rem;
  font: 900 clamp(1rem, 3vw, 1.7rem)/1 Impact, sans-serif;
  transform: rotate(7deg);
  text-transform: uppercase;
}
.nav { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.nav a {
  background: #111;
  border: 2px solid var(--cyan);
  color: #fff;
  font: 700 .83rem/1 "Courier New", monospace;
  padding: .55rem .7rem;
  text-decoration: none;
  text-transform: uppercase;
}
.nav a:hover, .nav a[aria-current="page"] { color: #000; background: var(--yellow); border-color: var(--red); }
.nav .scandals-link { color: var(--yellow); border-color: var(--red); animation: blink 1.1s steps(2,end) infinite; }

.beckslip {
  position: relative;
  overflow: hidden;
  border: 4px solid var(--pink);
  background: linear-gradient(135deg, #080808, #221025);
  padding: 1rem;
  box-shadow: 9px 9px 0 rgba(255,43,43,.72);
}
.beckslip::before { content: "ARCHIVED EVIDENCE"; position: absolute; right: -38px; top: 20px; transform: rotate(35deg); background: var(--yellow); color: #000; font: 700 .65rem "Courier New", monospace; padding: .15rem 3rem; }
.beckslip::before {
  content: "FROM THE ARCHIVES";
  position: static;
  display: inline-block;
  width: fit-content;
  margin: 0 0 .45rem;
  padding: .18rem .5rem;
  transform: rotate(-1deg);
  background: var(--yellow);
  color: #000;
  font: 800 .62rem "Courier New", monospace;
  letter-spacing: .08em;
}
.beckslip-label { color: var(--green); font: 900 1rem "Courier New", monospace; letter-spacing: .2em; }
.beckslip-quote { margin: .35rem 0; color: #fff; font-family: Georgia, serif; font-size: clamp(1.25rem, 3vw, 2.35rem); line-height: 1.15; }
.beckslip-meta { color: #ddd; font: .75rem "Courier New", monospace; }
.beckslip button { cursor: pointer; margin-top: .55rem; background: var(--cyan); border: 0; color: #000; font: 900 .72rem "Courier New", monospace; padding: .45rem .7rem; }
.beckslip.compact { padding: .7rem 1rem; box-shadow: 5px 5px 0 rgba(255,43,43,.65); }
.beckslip.compact .beckslip-quote { font-size: clamp(1rem, 2vw, 1.35rem); }

.ticker { overflow: hidden; white-space: nowrap; border-block: 3px solid var(--yellow); background: var(--red); color: #fff; font: 900 1rem "Courier New", monospace; padding: .35rem 0; }
.ticker span { display: inline-block; min-width: 100%; padding-left: 100%; animation: marquee 18s linear infinite; }

main { max-width: 1200px; margin: auto; padding: 1.25rem 1rem 4rem; }
.hero { display: grid; grid-template-columns: 1.35fr .65fr; gap: 1.3rem; align-items: start; margin-top: 1.4rem; }
.hero-copy { position: relative; padding: 1.2rem; border: 3px solid var(--green); background: rgba(0,0,0,.7); }
.hero h1, .page-title {
  margin: 0;
  color: var(--yellow);
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(3.3rem, 11vw, 8.5rem);
  line-height: .78;
  letter-spacing: -.015em;
  text-transform: uppercase;
  text-shadow: 6px 6px 0 var(--red), 10px 10px 0 #000;
}
.page-title { font-size: clamp(3rem, 8vw, 6.5rem); margin: 1rem 0; }
.hero-kicker { color: var(--cyan); font: 900 clamp(1rem,2.3vw,1.6rem) "Courier New", monospace; }
.hero p { font-size: 1.12rem; }
.hero-photo { background: #000; border: 8px solid var(--paper); padding: .55rem; color: #111; transform: rotate(2deg); box-shadow: 10px 10px 0 #000; }
.hero-photo img { display: block; filter: contrast(1.08) saturate(.85); }
.caption { color: #333; font: .7rem "Courier New", monospace; margin: .45rem 0 0; }
.evidence-tag { display: inline-block; padding: .25rem .5rem; background: var(--green); color: #000; font: 900 .75rem "Courier New", monospace; transform: rotate(-2deg); }
.lede { font-size: clamp(1.2rem, 2.5vw, 1.7rem); color: var(--paper); }

.section { margin: 3rem 0; position: relative; }
.section-title { color: var(--green); font: 900 clamp(2rem,5vw,4rem)/1 Impact, sans-serif; letter-spacing: .03em; text-transform: uppercase; border-bottom: 5px solid var(--red); padding-bottom: .35rem; }
.section-title::after { content: "// FOLLOW THE PLAYCALL"; color: var(--cyan); font: 700 .65rem "Courier New", monospace; margin-left: .8rem; }
.grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 1rem; }
.card { grid-column: span 4; border: 3px solid #fff; background: rgba(3,3,3,.86); padding: 1rem; box-shadow: 7px 7px 0 rgba(255,43,43,.58); }
.card:nth-child(2n) { transform: rotate(.5deg); border-color: var(--cyan); }
.card:nth-child(3n) { transform: rotate(-.45deg); border-color: var(--yellow); }
.card h3 { margin-top: 0; color: var(--yellow); font: 900 1.55rem Impact, sans-serif; letter-spacing: .03em; }
.card .big-number { color: var(--pink); font: 900 2.5rem Impact, sans-serif; }
.card.lead { grid-column: span 8; border-color: var(--orange); }
.card.photo-card { padding: .65rem; }
.card.photo-card img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }
.allegation { border-color: var(--orange) !important; background: linear-gradient(135deg, #231305, #090909); }
.allegation .label { display: inline-block; background: var(--orange); color: #000; font: 900 .8rem "Courier New", monospace; padding: .35rem .55rem; }

.fact-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: .8rem; }
.fact { background: var(--paper); color: #111; border: 3px solid #000; padding: .85rem; font-family: "Courier New", monospace; box-shadow: 6px 6px 0 var(--pink); }
.fact strong { display: block; color: #b50000; font-size: 1.55rem; }
.yarn-board { position: relative; isolation: isolate; }
.yarn-board::before, .yarn-board::after { content: ""; position: absolute; z-index: -1; height: 4px; background: var(--red); transform-origin: left center; box-shadow: 0 0 8px var(--red); }
.yarn-board::before { width: 77%; left: 7%; top: 32%; transform: rotate(13deg); }
.yarn-board::after { width: 68%; left: 25%; top: 72%; transform: rotate(-18deg); }

.quote-wall { columns: 3 280px; column-gap: 1rem; }
.quote-card { break-inside: avoid; margin: 0 0 1rem; background: var(--paper); color: #17100d; border: 2px solid #151515; padding: 1rem; box-shadow: 6px 6px 0 var(--red); transform: rotate(var(--tilt, -.4deg)); }
.quote-card:nth-child(2n) { --tilt: .6deg; background: #d9fbff; }
.quote-card:nth-child(3n) { --tilt: -.9deg; background: #ffe7f6; }
.quote-card blockquote { margin: 0 0 .65rem; font: 1.08rem/1.35 Georgia, serif; }
.quote-card cite { font: 700 .72rem "Courier New", monospace; }
.quote-card .reliability { color: #7c3500; font: 700 .62rem "Courier New", monospace; text-transform: uppercase; }

.dossier { margin: 1.4rem 0; padding: 1.2rem; background: rgba(0,0,0,.83); border-left: 10px solid var(--red); }
.dossier h2 { margin-top: 0; color: var(--yellow); font: 900 clamp(1.8rem,4vw,3rem) Impact, sans-serif; }
.dossier img { max-height: 560px; width: 100%; object-fit: cover; border: 5px solid var(--paper); }
.sources { font: .76rem/1.55 "Courier New", monospace; padding: .7rem; background: #111; border: 1px dashed var(--cyan); overflow-wrap: anywhere; }
.caveat { background: #1b1500; border: 3px solid var(--yellow); padding: 1rem; color: #fff4a8; }
.warning { background: var(--orange); color: #000; border: 4px solid #000; padding: .8rem; font: 900 .9rem "Courier New", monospace; }

.timeline { width: 100%; border-collapse: collapse; background: #080808; font-family: "Courier New", monospace; }
.timeline th, .timeline td { border: 2px solid var(--green); padding: .75rem; vertical-align: top; }
.timeline th { background: var(--green); color: #000; text-transform: uppercase; }
.timeline tr:nth-child(even) { background: #171717; }
.fired { color: var(--red); font-weight: 900; }
.demoted { color: var(--orange); font-weight: 900; }

.scoreboard { display: grid; grid-template-columns: 1fr auto 1fr; gap: 1rem; align-items: center; background: #020502; border: 6px solid #aaa; padding: 1rem; font: 900 clamp(1.5rem,4vw,3.5rem) "Courier New", monospace; text-align: center; box-shadow: inset 0 0 30px #000, 8px 8px 0 var(--red); }
.scoreboard .score { color: var(--red); text-shadow: 0 0 12px var(--red); }
.scoreboard .tbd { color: var(--yellow); }
.season-table { width: 100%; border-collapse: collapse; background: rgba(0,0,0,.8); }
.season-table th, .season-table td { border: 2px solid var(--cyan); padding: .65rem; }
.season-table th { color: #000; background: var(--cyan); }
.tbd-cell { color: var(--yellow); font-weight: 900; }

.portal-vortex { border: 8px dotted var(--pink); border-radius: 50%; aspect-ratio: 1; max-width: 460px; margin: 1rem auto; display: grid; place-items: center; text-align: center; background: repeating-radial-gradient(circle, #050505 0 14px, #ff2b8d 15px 22px, #00d9ef 23px 30px, #050505 31px 45px); animation: spin-bg 12s linear infinite; }
.portal-vortex span { background: #000; padding: 1rem; color: var(--yellow); font: 900 1.4rem Impact, sans-serif; transform: rotate(-4deg); }

.guestbook { max-width: 720px; margin: auto; padding: 1.3rem; background: var(--paper); color: #111; border: 6px ridge var(--pink); }
.guestbook label { display: block; margin-top: .8rem; font-weight: 900; }
.guestbook input, .guestbook textarea, .guestbook select { width: 100%; padding: .7rem; border: 3px inset #777; font: 1rem "Trebuchet MS", Verdana, sans-serif; }
.guestbook button { margin-top: 1rem; background: var(--green); border: 4px outset #fff; padding: .8rem 1.2rem; font: 900 1rem "Courier New", monospace; }
.fake-result { display: none; margin-top: 1rem; background: #000; color: var(--yellow); padding: .8rem; }
.fake-result.show { display: block; }

.identity-box { border: 5px double var(--cyan); background: #001316; padding: 1rem; }
.identity-box strong { color: var(--yellow); }
.cta { display: inline-block; background: var(--red); color: #fff; border: 4px solid var(--yellow); padding: .8rem 1rem; font: 900 1.2rem Impact, sans-serif; text-decoration: none; transform: rotate(-1deg); }
.blink { animation: blink 1s steps(2,end) infinite; }
.shake { animation: shake 3s ease-in-out infinite; }

.site-footer { border-top: 5px dashed var(--red); background: #000; padding: 2rem 1rem; color: #bbb; font: .77rem/1.6 "Courier New", monospace; }
.site-footer .inner { max-width: 1200px; margin: auto; }
.site-footer strong { color: var(--yellow); }

@keyframes marquee { to { transform: translateX(-200%); } }
@keyframes rainbow { to { background-position: 200% 0; } }
@keyframes blink { 50% { opacity: .3; } }
@keyframes shake { 0%,100% { transform: rotate(-.3deg); } 50% { transform: rotate(.5deg); } }
@keyframes spin-bg { to { filter: hue-rotate(360deg); } }

@media (max-width: 860px) {
  .hero { grid-template-columns: 1fr; }
  .card, .card.lead { grid-column: span 6; }
  .fact-grid { grid-template-columns: repeat(2,1fr); }
  .brand-row { align-items: flex-start; }
  .stamp { display: none; }
}

@media (max-width: 560px) {
  .masthead, main { padding-inline: .7rem; }
  .card, .card.lead { grid-column: 1 / -1; transform: none; }
  .fact-grid { grid-template-columns: 1fr; }
  .nav a { flex: 1 1 30%; text-align: center; padding-inline: .25rem; }
  .hero h1, .page-title { text-shadow: 3px 3px 0 var(--red), 6px 6px 0 #000; }
  .scoreboard { grid-template-columns: 1fr; }
  .timeline { font-size: .72rem; }
  .timeline th, .timeline td { padding: .4rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; }
}
/* Whack-a-Bull */
.game-page{background:radial-gradient(circle at 20% 10%,rgba(0,103,71,.22),transparent 34rem),linear-gradient(145deg,#071a15 0%,#040706 52%,#171107 100%);color:#f5f0df;min-height:100vh}.game-shell{width:min(1180px,94vw);margin:0 auto;padding:3rem 0 5rem}.game-hero{text-align:center;max-width:850px;margin:0 auto 2rem}.game-hero h1{font-size:clamp(3.4rem,10vw,8rem);line-height:.78;letter-spacing:-.06em;margin:.35rem 0 1.2rem;transform:skew(-4deg);text-shadow:5px 5px 0 #006747,9px 9px 0 #cfc493}.game-hero h1 span{color:#cfc493}.game-hero>p:last-child{font-size:clamp(1rem,2vw,1.35rem);max-width:680px;margin:auto}.game-dashboard{display:grid;grid-template-columns:repeat(4,1fr) auto auto;gap:.65rem;align-items:stretch;background:#f5f0df;color:#0a1713;border:3px solid #cfc493;padding:.7rem;box-shadow:10px 10px 0 #006747;margin-bottom:1.25rem}.game-dashboard>div{display:flex;flex-direction:column;justify-content:center;padding:.35rem .8rem;border-right:1px solid rgba(0,0,0,.2)}.game-dashboard span{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:800}.game-dashboard strong{font-size:1.75rem;line-height:1}.game-button{border:0;padding:.8rem 1rem;text-transform:uppercase;font:900 .8rem/1 inherit;letter-spacing:.08em;cursor:pointer}.game-button.primary{background:#006747;color:white}.game-button.primary:hover{background:#008959}.game-button:disabled{opacity:.5;cursor:not-allowed}.music-toggle{background:#171717;color:#cfc493;border:2px solid #cfc493}.game-status{text-align:center;min-height:1.5em;color:#cfc493;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.mole-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.55rem,1.4vw,1.1rem);padding:clamp(.8rem,2vw,1.5rem);background:repeating-linear-gradient(135deg,#006747 0,#006747 16px,#00553b 16px,#00553b 32px);border:4px solid #cfc493;box-shadow:0 20px 60px rgba(0,0,0,.45)}.mole-hole{position:relative;aspect-ratio:1/1;border:0;border-radius:50%;overflow:hidden;background:radial-gradient(ellipse at center,#010302 0 48%,#183329 50% 57%,#cfc493 59% 63%,#003c2a 65%);cursor:default;padding:0}.mole{position:absolute;inset:12% 13% 4%;border-radius:50% 50% 42% 42%;overflow:hidden;transform:translateY(118%) scale(.7);transition:transform .12s cubic-bezier(.2,.9,.25,1.2),filter .08s;background:#cfc493}.mole-hole.active{cursor:crosshair}.mole-hole.active .mole{transform:translateY(0) scale(1)}.mole-hole.hit .mole{transform:translateY(12%) scale(.86);filter:grayscale(1) contrast(1.4)}.mole img{width:100%;height:77%;object-fit:cover;object-position:top center;display:block;pointer-events:none}.mole>span{height:23%;display:flex;align-items:center;justify-content:space-between;padding:0 .6rem;background:#0a1713;color:white;font-size:clamp(.55rem,1vw,.78rem);font-weight:900;text-transform:uppercase;pointer-events:none}.mole>span b{color:#cfc493;font-size:1.15em}.game-lower{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.5rem}.leaderboard-card,.score-card,.target-key{background:#f5f0df;color:#0a1713;border-top:7px solid #cfc493;padding:1.5rem;box-shadow:6px 6px 0 #006747}.leaderboard-card h2,.score-card h2,.target-key h2{font-size:2rem;margin:.15rem 0 1rem}.leaderboard-card ol{list-style:none;padding:0;margin:0}.leaderboard-card li{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #c9c2ad;padding:.55rem .25rem}.leaderboard-card li span{display:flex;align-items:center;gap:.75rem}.leaderboard-card li span b{display:grid;place-items:center;width:1.7rem;height:1.7rem;background:#006747;color:white}.leaderboard-card li>strong{font-size:1.35rem}.loading-score{color:#685f4d;font-style:italic}.score-card label{display:block;font-weight:900;text-transform:uppercase;font-size:.75rem;letter-spacing:.08em;margin:.7rem 0 .35rem}.score-submit-row{display:flex;gap:.5rem}.score-submit-row input{min-width:0;flex:1;border:2px solid #0a1713;padding:.75rem;font:inherit;text-transform:uppercase}.submit-message{font-weight:800;color:#006747}.target-key{margin-top:1.2rem}.target-key>div{display:grid;grid-template-columns:repeat(4,1fr);gap:.7rem}.target-chip{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:.55rem;background:#10291f;color:white;padding:.4rem .7rem;border-left:5px solid #cfc493}.target-chip img{width:48px;height:48px;object-fit:cover;border-radius:50%}.target-chip b{font-size:.76rem;text-transform:uppercase}.target-chip.beck{border-color:#edbc2a}.target-chip.strong{border-color:#d94d36}.target-chip.scott{border-color:#45a5c9}.target-chip.genshaft{border-color:#cfc493}.game-page footer{text-align:center;background:#030605;color:#aaa;padding:2rem;font-size:.78rem}.game-page footer a{color:#cfc493}.game-page .eyebrow{color:#d8c984}
@media(max-width:850px){.game-dashboard{grid-template-columns:repeat(4,1fr)}.game-dashboard .game-button{grid-column:span 2}.mole-grid{grid-template-columns:repeat(3,1fr)}.game-lower{grid-template-columns:1fr}.target-key>div{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.game-shell{padding-top:1.5rem}.game-dashboard{grid-template-columns:1fr 1fr}.game-dashboard>div{border-bottom:1px solid rgba(0,0,0,.2)}.mole-grid{grid-template-columns:repeat(3,1fr)}.mole>span{justify-content:center}.mole>span b{display:none}.target-key>div{grid-template-columns:1fr}.score-submit-row{flex-direction:column}}

/* Mobile containment fixes */
@media (max-width:700px) {
  .site-header nav {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-width: 0;
    white-space: normal;
    gap: .1rem .55rem;
  }

  .site-header nav a {
    flex: 0 0 auto;
  }

  table.season-table {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
}
