/* ============================================================================
   AE LEAGUE plug-ins: cup (cu-), divisions (dv-), history (hs-), digest (dg-), pitch (pt-).
   One file, same tokens and spacing scale as league.css. Nothing here restyles a core class.
   Mind the countdown: league.css owns .cu, .cu-d, .cu-h, .cu-m and .cu-s, so every cup class below
   has a longer name on purpose.
   ========================================================================== */

/* ------------------------------------------------------------------- cup -- */
.cu-strip { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); padding: var(--s4) var(--s5); border: 1px solid rgba(201,162,39,.45); border-left: 3px solid var(--gold); border-radius: var(--rl); background: var(--panel); color: var(--ink); }
.cu-strip:hover { border-color: var(--gold); color: var(--ink); }
.cu-strip .eyebrow { margin: 0; }
.cu-strip b { font: 700 20px/1 var(--fd); letter-spacing: .04em; text-transform: uppercase; }
.cu-bracket { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: var(--s4); overflow-x: auto; padding-bottom: var(--s3); align-items: start; }
.cu-round { display: flex; flex-direction: column; gap: var(--s3); min-width: 0; }
.cu-rh { font: 700 12px/1 var(--fd); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-3); padding-bottom: var(--s2); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; gap: var(--s2); }
.cu-rh .muted { font: 500 11px/1 var(--fm); letter-spacing: .04em; text-transform: none; }
.cu-group { display: block; background: var(--panel); border: 1px solid var(--line); border-radius: var(--rl); color: var(--ink); overflow: hidden; transition: border-color .12s, transform .12s; }
.cu-group:hover { border-color: var(--line-3); color: var(--ink); transform: translateY(-1px); }
.cu-group.st-live { border-color: rgba(47,191,107,.45); }
.cu-group.st-finished .cu-gh { background: var(--panel-2); }
.cu-gh { display: flex; align-items: center; gap: var(--s2); height: 36px; padding: 0 var(--s3); border-bottom: 1px solid var(--line); font-size: 12px; }
.cu-gh .muted { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cu-team { display: flex; align-items: center; gap: var(--s2); height: 40px; padding: 0 var(--s3); border-bottom: 1px solid var(--line); }
.cu-team:last-of-type { border-bottom: 0; }
.cu-team.cu-win { background: var(--gold-dim); }
.cu-seed { width: 20px; flex: none; text-align: right; color: var(--ink-4); }
.cu-name { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cu-win .cu-name { color: var(--gold-2); font-weight: 600; }
.cu-score { color: var(--ink-2); }
.cu-through { font: 700 9px/1 var(--fd); letter-spacing: .14em; text-transform: uppercase; color: #12100a; background: var(--gold); padding: 3px var(--s1); border-radius: 2px; }
.cu-gf { display: flex; justify-content: space-between; gap: var(--s2); height: 32px; align-items: center; padding: 0 var(--s3); border-top: 1px solid var(--line); font-size: 12px; }
.cu-bye { display: flex; align-items: center; gap: var(--s2); min-height: 40px; padding: var(--s2) var(--s3); border: 1px dashed var(--line-2); border-radius: var(--rl); font-size: 14px; }
.cu-bye .tn { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cu-later { opacity: .7; }
.cu-champ { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); padding: var(--s4) var(--s5); margin-bottom: var(--s4); border: 1px solid rgba(201,162,39,.5); border-radius: var(--rl); background: linear-gradient(180deg, var(--gold-dim), var(--panel)); }
.cu-champ .eyebrow { margin: 0; }
.cu-champ b { font: 700 24px/1 var(--fd); letter-spacing: .04em; text-transform: uppercase; }
.cu-admin { margin-top: var(--s5); }
@media (max-width: 720px) { .cu-bracket { grid-auto-columns: minmax(260px, 85vw); } }

/* ------------------------------------------------------------- divisions -- */
.dv-wrap { margin-top: var(--s6); }
.dv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: var(--s4); align-items: start; }
.dv-cols > * { min-width: 0; }
.dv-note { margin-top: var(--s3); }
@media (max-width: 900px) { .dv-cols { grid-template-columns: 1fr; } }

/* --------------------------------------------------------------- history -- */
.hs-champ { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s3); padding: var(--s4) var(--s5); margin-bottom: var(--s4); border: 1px solid rgba(201,162,39,.5); border-radius: var(--rl); background: linear-gradient(180deg, var(--gold-dim), var(--panel)); }
.hs-champ .eyebrow { margin: 0; }
.hs-champ b { font: 700 24px/1 var(--fd); letter-spacing: .04em; text-transform: uppercase; }
.hs-honours { list-style: none; margin: 0; padding: 0; }
.hs-honours li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s2); min-height: 38px; padding: var(--s1) 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.hs-honours li:last-child { border-bottom: 0; }
.hs-past { margin: 0; }

/* ---------------------------------------------------------------- digest -- */
.dg-body .h3 { margin-top: var(--s4); }
.dg-body .h3:first-child { margin-top: 0; }
.dg-list { margin: 0 0 var(--s3); padding-left: 20px; }
.dg-list li { padding: var(--s1) 0; font-size: 14px; }
.dg-issues { list-style: none; margin: 0; padding: 0; }
.dg-issues li { display: flex; justify-content: space-between; align-items: center; gap: var(--s3); min-height: 44px; padding: 0 var(--s4); border: 1px solid var(--line); border-radius: var(--rl); background: var(--panel); margin-bottom: var(--s2); font-size: 14px; }
.dg-line { margin: 0; }

/* ----------------------------------------------------------------- pitch -- */
.pt-card { max-width: 760px; }
.pt-pitch p { font-size: 15px; color: var(--ink-2); }
.pt-facts { margin-top: var(--s3); }
.pt-form { margin-top: var(--s4); max-width: none; }
.pt-form textarea { height: auto; min-height: 120px; padding: var(--s3); line-height: 1.5; resize: vertical; }
.pt-form textarea:focus { outline: none; border-color: var(--gold); background: var(--bg); }
.pt-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--s3); }
.pt-rec { padding: var(--s3) var(--s4); border: 1px solid var(--line); border-radius: var(--rl); background: var(--panel-2); min-width: 0; }
.pt-rec-t { display: flex; justify-content: space-between; align-items: center; gap: var(--s2); font-size: 15px; }
.pt-rec-t .tn { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pt-rec-m { margin-top: var(--s1); }
