/* Matchday Almanac — goaloong.net
   Scoreboard-derived editorial system: dark ink ground, one vivid pitch-green
   accent, condensed display face over a serif reading face, hairline rules
   instead of cards, mono metadata. Layout comes from Bootstrap 5; this file is
   brand tokens, typography and small structural tweaks only. */

:root{
  --ink:#0d1411; --ink-2:#141d19; --ink-3:#1c2823;
  --paper:#f3f5f2; --paper-2:#e7ebe6;
  --pitch:#35d07f; --pitch-dk:#16794a; --amber:#f0a437;
  --chalk:#eef2ee; --chalk-dim:#9aa8a1; --slate:#2a3831;
  --line:rgba(238,242,238,.14); --line-dark:rgba(13,20,17,.14);
  --measure:34rem;
  --font-display:"Barlow Condensed",system-ui,sans-serif;
  --font-body:"Source Serif 4",Georgia,serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
}

html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  background:var(--ink); color:var(--chalk);
  font-family:var(--font-body); font-size:1.0625rem; line-height:1.72;
  font-synthesis-weight:none;
}
img{max-width:100%;height:auto;display:block}

/* Safeguard: content is never hidden waiting on JS. Any reveal animation is
   progressive enhancement only. (No scroll-reveal library is loaded here — this
   rule exists so that adding one later cannot blank the site.) */
[data-aos]{opacity:1 !important;transform:none !important;}

a{color:var(--pitch);text-underline-offset:.18em;text-decoration-thickness:.06em}
a:hover,a:focus-visible{color:#7ce6ad}
:focus-visible{outline:2px solid var(--pitch);outline-offset:3px}

.skip{position:absolute;left:-9999px;top:0;background:var(--pitch);color:#04120a;
  padding:.6rem 1rem;font-family:var(--font-mono);font-size:.8rem;z-index:1200}
.skip:focus{left:.5rem;top:.5rem}

/* ---------- masthead ---------- */
.mast{background:var(--ink);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:1030}
.mast .navbar{padding-block:.55rem}
.brand{display:flex;align-items:center;gap:.6rem;text-decoration:none}
.brand-mark{width:22px;height:22px;border:2.5px solid var(--pitch);position:relative;flex:0 0 auto}
.brand-mark::after{content:"";position:absolute;inset:4px;background:var(--pitch)}
.brand-word{font-family:var(--font-display);font-weight:700;font-size:1.32rem;letter-spacing:.06em;
  text-transform:uppercase;color:var(--chalk);line-height:1}
.brand-word span{color:var(--pitch)}
.navbar-toggler{border-color:var(--line);padding:.3rem .55rem}
.navbar-toggler:focus{box-shadow:none}
.mast .nav-link{font-family:var(--font-mono);font-size:.775rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--chalk-dim);padding:.45rem .85rem !important;position:relative}
.mast .nav-link:hover,.mast .nav-link:focus{color:var(--chalk)}
.mast .nav-link.active{color:var(--pitch)}
.mast .navbar-nav{min-width:0;flex-wrap:wrap}

/* ---------- section strip (nod to the original's sport tabs) ---------- */
.strip{background:var(--ink-2);border-bottom:1px solid var(--line);overflow-x:auto}
.strip ul{display:flex;gap:0;margin:0;padding:0;list-style:none;min-width:max-content}
.strip a{display:block;padding:.6rem 1rem;font-family:var(--font-mono);font-size:.72rem;
  letter-spacing:.13em;text-transform:uppercase;color:var(--chalk-dim);text-decoration:none;
  border-right:1px solid var(--line);white-space:nowrap}
.strip a:hover{color:var(--chalk);background:var(--ink-3)}
.strip a[aria-current="page"]{color:var(--ink);background:var(--pitch);font-weight:500}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--ink-2);border-bottom:1px solid var(--line)}
.hero-media{position:relative;aspect-ratio:2752/1536;max-height:64vh;overflow:hidden}
.hero-media img{width:100%;height:100%;object-fit:cover;filter:saturate(.9) contrast(1.05)}
.hero-media::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(13,20,17,.35) 0%,rgba(13,20,17,.72) 55%,var(--ink) 100%)}
.hero-body{position:relative;margin-top:-9rem;padding-bottom:2.5rem;z-index:2}
@media (max-width:767.98px){.hero-body{margin-top:-5rem}.hero-media{max-height:42vh}}

.kicker{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--pitch);margin-bottom:.85rem;display:flex;align-items:center;gap:.6rem}
.kicker::before{content:"";width:1.6rem;height:2px;background:var(--pitch);flex:0 0 auto}

h1,h2,h3{font-family:var(--font-display);font-weight:700;letter-spacing:.005em;text-wrap:balance}
h1{font-size:clamp(2.35rem,6.2vw,4.15rem);line-height:1.02;text-transform:uppercase;
  letter-spacing:.008em;margin:0 0 1rem}
.lede{font-size:clamp(1.08rem,2.1vw,1.32rem);line-height:1.6;color:var(--chalk);
  max-width:44rem;margin:0}

/* ---------- page head (inner pages) ---------- */
.pagehead{padding:3.25rem 0 2rem;border-bottom:1px solid var(--line);background:
  linear-gradient(180deg,var(--ink-2) 0%,var(--ink) 100%)}
.pagehead h1{font-size:clamp(2rem,4.6vw,3.2rem)}
.leadfig{margin:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.leadfig img{width:100%;aspect-ratio:2752/1536;object-fit:cover;max-height:52vh}
.leadfig figcaption{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;
  text-transform:uppercase;color:var(--chalk-dim);padding:.65rem .25rem 0}

/* ---------- article ---------- */
.article{padding:3rem 0 1rem}
.prose{max-width:var(--measure);font-size:1.0625rem}
.prose>h1{display:none}
.prose h2{counter-increment:sec;font-size:clamp(1.35rem,2.7vw,1.85rem);text-transform:uppercase;
  letter-spacing:.02em;margin:3.1rem 0 1rem;padding-top:1.5rem;border-top:1px solid var(--line);
  position:relative}
.prose h2::before{content:counter(sec,decimal-leading-zero);position:absolute;top:1.5rem;left:0;
  transform:translateY(-2.15rem);font-family:var(--font-mono);font-size:.72rem;font-weight:400;
  letter-spacing:.18em;color:var(--pitch)}
.prose h3{font-size:1.15rem;text-transform:uppercase;letter-spacing:.05em;margin:2rem 0 .6rem;
  color:var(--chalk)}
.prose p{margin:0 0 1.15rem;color:#dbe3dd}
.prose p:first-of-type{font-size:1.15rem;line-height:1.65;color:var(--chalk)}
.prose ul,.prose ol{margin:0 0 1.4rem;padding-left:0;list-style:none}
.prose ul li{position:relative;padding-left:1.5rem;margin-bottom:.7rem;color:#dbe3dd}
.prose ul li::before{content:"";position:absolute;left:0;top:.72em;width:.55rem;height:.55rem;
  border:1.5px solid var(--pitch)}
.prose ol{counter-reset:ol;padding-left:0}
.prose ol li{position:relative;padding-left:1.9rem;margin-bottom:.7rem;counter-increment:ol}
.prose ol li::before{content:counter(ol,decimal-leading-zero);position:absolute;left:0;top:.15em;
  font-family:var(--font-mono);font-size:.78rem;color:var(--pitch)}
.prose strong{color:#fff;font-weight:600}
.prose .note{border-left:2px solid var(--amber);background:rgba(240,164,55,.07);
  padding:.95rem 1.15rem;margin:0 0 1.6rem;font-size:.98rem;color:#e8ddc9}
.prose .note strong{color:var(--amber)}
main{counter-reset:sec}

/* ---------- related ---------- */
.related{border-top:1px solid var(--line);background:var(--ink-2);padding:3rem 0 3.25rem;margin-top:3.5rem}
.related h2{font-size:1.1rem;text-transform:uppercase;letter-spacing:.16em;color:var(--chalk-dim);
  margin:0 0 1.75rem;font-family:var(--font-mono);font-weight:500}
.rcard{display:block;height:100%;padding:1.4rem 1.4rem 1.5rem;background:var(--ink);
  border:1px solid var(--line);text-decoration:none;transition:border-color .18s,transform .18s}
.rcard:hover{border-color:var(--pitch);transform:translateY(-3px)}
.rcard .rt{font-family:var(--font-display);font-weight:600;font-size:1.22rem;text-transform:uppercase;
  letter-spacing:.02em;color:var(--chalk);line-height:1.15;margin:0 0 .6rem}
.rcard:hover .rt{color:var(--pitch)}
.rcard .rd{font-size:.94rem;line-height:1.55;color:var(--chalk-dim);margin:0}

/* ---------- footer ---------- */
.foot{background:#080d0b;border-top:2px solid var(--pitch);padding:3.25rem 0 0;font-size:.95rem}
.foot h2{font-family:var(--font-mono);font-weight:500;font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:var(--pitch);margin:0 0 1rem}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:.45rem}
.foot a{color:var(--chalk-dim);text-decoration:none}
.foot a:hover{color:var(--chalk);text-decoration:underline}
.foot p{color:var(--chalk-dim);margin:0 0 1rem}
.disclaimer{border-top:1px solid var(--line);margin-top:2.5rem;padding:1.5rem 0;
  font-size:.82rem;line-height:1.6;color:#7d8a84}
.colophon{border-top:1px solid var(--line);padding:1.1rem 0 1.4rem;font-family:var(--font-mono);
  font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:#66736d}

/* ---------- frame-safe pages (rendered inside third-party iframes) ---------- */
body.frame-safe .pagehead{padding:2.25rem 0 1.5rem}
body.frame-safe h1{font-size:clamp(1.65rem,4vw,2.4rem)}
body.frame-safe .article{padding-top:2.25rem}

/* ---------- 404 ---------- */
.nf{min-height:58vh;display:flex;align-items:center;text-align:center}
.nf .code{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.3em;color:var(--pitch);
  margin-bottom:1rem}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important}
  html{scroll-behavior:auto}
}
