/* ===========================================================
   minnesotavikings.io — /matchups/vikings-vs-bengals/
   "Case file" treatment. Every selector is prefixed .cf-
   so nothing here can collide with another page stylesheet.
   =========================================================== */

.page-casefile{
  /* ---- palette (from the brief) ---- */
  --cf-purple:#4F2683;
  --cf-purple-deep:#3B1C63;
  --cf-gold:#FFC62F;
  --cf-orange:#FB4F14;          /* fill only — fails as text on light */
  --cf-orange-ink:#A83308;      /* darkened variant for orange TEXT on paper */
  --cf-black:#000000;
  --cf-paper:#E8E2D7;
  --cf-paper-2:#F1ECE3;
  --cf-paper-edge:#CFC7B7;
  --cf-film:#111216;
  --cf-film-2:#1A1C22;
  --cf-film-3:#22252D;
  --cf-film-line:#33373F;
  --cf-pencil:#42444A;
  --cf-pencil-soft:#5C5F67;
  --cf-red:#A63232;
  --cf-red-deep:#8C2828;

  --cf-line:#d2d2de;            /* table borders, site standard */
  --cf-zebra-a:#ecedf4;
  --cf-zebra-b:#e7e8f0;

  --cf-dark-text:#E8E2D7;
  --cf-dark-muted:#B7BCC7;

  --cf-r:3px;
  background:var(--cf-paper);
  color:var(--cf-pencil);
}

/* paper grain — kept very faint so it never touches contrast */
.page-casefile main{
  background-image:
    repeating-linear-gradient(0deg,rgba(66,68,74,.035) 0 1px,transparent 1px 4px),
    repeating-linear-gradient(90deg,rgba(66,68,74,.022) 0 1px,transparent 1px 6px);
}

/* focus: gold is too weak on the paper ground, so the page body gets a red ring
   and the dark film surfaces keep the sitewide gold one. Chrome is untouched. */
.page-casefile main :focus-visible{outline:3px solid var(--cf-red);outline-offset:2px;border-radius:2px}
.page-casefile .cf-dark :focus-visible{outline:3px solid var(--cf-gold);outline-offset:2px;border-radius:2px}

/* ---------- shared primitives ---------- */
.cf-sec > .wrap{padding-top:56px;padding-bottom:56px}   /* never a padding shorthand on .wrap */
.cf-sec-tight > .wrap{padding-top:36px;padding-bottom:36px}

.cf-h2{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(21px,2.5vw,31px);line-height:1.08;letter-spacing:.015em;
  color:#26272C;margin:0 0 6px;
}
.cf-h3{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(16px,1.7vw,20px);line-height:1.15;letter-spacing:.03em;
  color:#26272C;margin:0 0 8px;
}
.cf-h4{
  font-family:var(--display);font-weight:600;text-transform:uppercase;
  font-size:14px;letter-spacing:.09em;color:#26272C;margin:0 0 6px;
}
.cf-dark .cf-h2,.cf-dark .cf-h3,.cf-dark .cf-h4{color:var(--cf-dark-text)}

.cf-kicker{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cf-red);margin:0 0 10px;
}
.cf-dark .cf-kicker{color:var(--cf-gold)}

.cf-p{margin:0 0 14px;max-width:74ch;font-size:16.5px;line-height:1.62}
.cf-p:last-child{margin-bottom:0}
.cf-dark .cf-p{color:var(--cf-dark-muted)}

.cf-list{margin:0 0 14px;padding-left:20px;list-style:disc;max-width:74ch}
.cf-list li{margin-bottom:5px}

.cf-a{
  color:#3B1C63;text-decoration:underline;text-underline-offset:3px;
  text-decoration-thickness:2px;text-decoration-color:rgba(59,28,99,.4);
  font-weight:600;
}
.cf-a:hover{text-decoration-color:var(--cf-purple)}
.cf-dark .cf-a{color:var(--cf-gold);text-decoration-color:rgba(255,198,47,.5)}

.cf-note{font-size:14px;color:var(--cf-pencil-soft);margin:10px 0 0;max-width:74ch}
.cf-dark .cf-note{color:var(--cf-dark-muted)}

/* ---------- "source incomplete" markers (the four gaps) ---------- */
.cf-gap{
  border:2px dashed var(--cf-red);background:rgba(166,50,50,.06);
  border-radius:var(--cf-r);padding:16px 18px;margin:18px 0;max-width:74ch;
}
.cf-gap-tag{
  display:inline-block;font-family:var(--display);font-weight:700;font-size:11px;
  letter-spacing:.18em;text-transform:uppercase;color:#fff;background:var(--cf-red-deep);
  padding:5px 10px;border-radius:2px;margin-bottom:9px;
}
.cf-gap p{margin:0 0 8px;font-size:15px;line-height:1.55;color:var(--cf-pencil)}
.cf-gap p:last-child{margin-bottom:0}
.cf-gap.cf-gap-wide{max-width:none}
.cf-dark .cf-gap{border-color:#D06A6A;background:rgba(208,106,106,.1)}
.cf-dark .cf-gap p{color:var(--cf-dark-text)}
.cf-dark .cf-gap-tag{background:#D06A6A;color:#1a0808}

/* ===========================================================
   1. OPENING SCREEN — film room + case folder
   =========================================================== */
.cf-open{
  position:relative;overflow:hidden;
  background:
    radial-gradient(120% 85% at 22% 8%,rgba(79,38,131,.42) 0%,transparent 58%),
    radial-gradient(90% 70% at 90% 94%,rgba(251,79,20,.14) 0%,transparent 60%),
    linear-gradient(178deg,#191A20 0%,var(--cf-film) 52%,#0C0D11 100%);
  border-bottom:4px solid var(--cf-purple);
}
.cf-open::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(0deg,rgba(255,255,255,.028) 0 1px,transparent 1px 3px);
}
.cf-open > .wrap{padding-top:38px;padding-bottom:52px;position:relative;z-index:1}

.cf-crumb{margin:0 0 22px;font-size:13px;color:var(--cf-dark-muted)}
.cf-crumb ol{display:flex;flex-wrap:wrap;gap:8px;align-items:center;list-style:none;margin:0;padding:0}
.cf-crumb li{display:flex;align-items:center;gap:8px;min-width:0}
.cf-crumb li > *{display:inline-flex;align-items:center;min-height:44px}
.cf-crumb li + li::before{content:"›";color:#6B7080}
.cf-crumb a{color:var(--cf-gold);text-decoration:underline;text-underline-offset:3px}
.cf-crumb [aria-current]{color:var(--cf-dark-text)}
.cf-crumb .cf-crumb-nolink{color:var(--cf-dark-muted)}

.cf-open .cf-crumb,
.cf-open h1,
.cf-open-sub{max-width:860px;margin-left:auto;margin-right:auto}
.cf-open h1{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(27px,4.6vw,58px);line-height:1.02;letter-spacing:.005em;
  color:#fff;margin:0 0 8px;max-width:860px;
  text-wrap:balance;
}
.cf-open-sub{
  color:var(--cf-dark-muted);font-size:16px;margin:0 0 30px;max-width:860px;
}

/* ---- the folder ---- */
.cf-folder{
  position:relative;max-width:760px;margin:0 auto;
  filter:drop-shadow(0 26px 44px rgba(0,0,0,.62));
}
.cf-folder-tab{
  display:inline-block;background:#C9BFA9;color:#2C2A25;
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;padding:9px 26px 8px;
  border-radius:6px 12px 0 0;margin-left:26px;position:relative;top:1px;
}
.cf-folder-body{
  background:linear-gradient(160deg,var(--cf-paper-2) 0%,var(--cf-paper) 62%,#DED7C9 100%);
  border:1px solid var(--cf-paper-edge);border-radius:0 var(--cf-r) var(--cf-r) var(--cf-r);
  padding:26px 24px 24px;position:relative;
}
.cf-folder-body::before{
  content:"";position:absolute;left:0;right:0;top:0;height:5px;
  background:linear-gradient(90deg,var(--cf-purple) 0 50%,var(--cf-orange) 50% 100%);
  border-radius:0 var(--cf-r) 0 0;
}
.cf-case-no{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--cf-pencil-soft);margin:0 0 16px;
}
.cf-score-rows{display:grid;gap:10px;margin:0 0 20px}
.cf-score-row{
  display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:16px;
  background:rgba(255,255,255,.55);border:1px solid var(--cf-paper-edge);
  border-radius:var(--cf-r);padding:12px 16px;min-width:0;
}
.cf-score-row > *{min-width:0}
.cf-score-spine{width:8px;height:100%;min-height:34px;border-radius:2px}
.cf-score-row.cf-cin .cf-score-spine{background:var(--cf-orange)}
.cf-score-row.cf-min .cf-score-spine{background:var(--cf-purple)}
.cf-score-team{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(17px,2.6vw,26px);letter-spacing:.05em;color:#26272C;line-height:1.1;
}
.cf-score-pts{
  font-family:var(--display);font-weight:700;
  font-size:clamp(32px,6vw,62px);line-height:.9;color:#1D1E22;
  font-variant-numeric:tabular-nums;
}
.cf-score-row.cf-min .cf-score-pts{color:var(--cf-purple)}
.cf-score-row.cf-cin .cf-score-pts{color:var(--cf-orange-ink)}

.cf-stamp{
  display:inline-block;transform:rotate(-5.5deg);
  border:3px solid var(--cf-red);border-radius:5px;
  padding:9px 18px;color:var(--cf-red);
  font-family:var(--display);font-weight:700;font-size:clamp(13px,1.7vw,19px);
  letter-spacing:.14em;text-transform:uppercase;line-height:1.15;text-align:center;
  background:rgba(255,255,255,.32);
}
.cf-stamp small{display:block;font-size:11px;letter-spacing:.16em;margin-top:3px;font-weight:600}
.cf-folder-foot{display:flex;flex-wrap:wrap;align-items:center;gap:18px;justify-content:space-between}
.cf-folder-foot > *{min-width:0}
.cf-folder-meta{font-size:13.5px;color:var(--cf-pencil);margin:0}
.cf-folder-meta b{color:#26272C}

/* ---- evidence tabs ---- */
.cf-evidence{margin:30px auto 0;max-width:760px}
.cf-evidence h2{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.2em;
  text-transform:uppercase;color:var(--cf-dark-muted);margin:0 0 12px;text-align:center;
}
.cf-evidence ul{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;list-style:none;margin:0;padding:0}
.cf-evidence li{min-width:0;display:flex}
.cf-evidence li > .cf-ev-tab{width:100%}
.cf-ev-tab{
  display:flex;align-items:center;justify-content:center;gap:9px;text-align:center;
  min-height:56px;padding:10px 12px;border-radius:8px 8px 2px 2px;
  background:#262A33;border:1px solid var(--cf-film-line);border-bottom:3px solid var(--cf-gold);
  color:var(--cf-dark-text);font-family:var(--display);font-weight:600;font-size:12.5px;
  letter-spacing:.1em;text-transform:uppercase;line-height:1.2;
  transition:background var(--t),transform var(--t);
}
.cf-ev-tab:hover{background:#323744;transform:translateY(-2px)}
.cf-ev-ico{width:17px;height:17px;flex:0 0 auto;color:var(--cf-gold)}

/* ===========================================================
   2. BANNER (film-room treatment — see swap note below)
   =========================================================== */
.cf-banner-wrap > .wrap{padding-top:0;padding-bottom:0}
.cf-banner{
  /* >>> BANNER SWAP LINE <<< replace `none` with url("/assets/img/casefile-banner.webp") */
  --cf-banner-img:none;
  position:relative;width:100%;aspect-ratio:24/9;min-height:210px;max-height:540px;
  overflow:hidden;background:#0B0C0F;border-block:1px solid var(--cf-film-line);
}
.cf-banner::after{
  content:"";position:absolute;inset:0;z-index:3;
  background-image:var(--cf-banner-img);background-size:cover;background-position:50% 42%;
}
.cf-banner-svg{position:absolute;inset:0;z-index:1;width:100%;height:100%;display:block}
.cf-banner-glow{
  position:absolute;inset:0;z-index:2;pointer-events:none;
  background:
    radial-gradient(38% 60% at 30% 42%,rgba(120,64,190,.34) 0%,transparent 70%),
    radial-gradient(26% 44% at 74% 56%,rgba(251,79,20,.16) 0%,transparent 72%),
    repeating-linear-gradient(0deg,rgba(0,0,0,.16) 0 2px,transparent 2px 4px);
}
.cf-banner-cap{
  font-size:13.5px;color:var(--cf-pencil-soft);margin:10px 0 0;
}

/* ===========================================================
   3. TABLES (light paper surfaces)
   =========================================================== */
.cf-tablebox{
  border:1px solid var(--cf-line);border-radius:var(--cf-r);background:#fff;
  overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 0 6px;max-width:100%;
}
.cf-table{width:100%;border-collapse:collapse;font-size:15px;min-width:440px}
.cf-table caption{
  text-align:left;padding:12px 14px;font-family:var(--display);font-weight:700;
  font-size:13px;letter-spacing:.11em;text-transform:uppercase;color:#26272C;
  background:#F4F4F8;border-bottom:1px solid var(--cf-line);
}
.cf-table th,.cf-table td{
  padding:10px 14px;border-bottom:1px solid var(--cf-line);text-align:left;
  vertical-align:top;color:var(--cf-pencil);
}
.cf-table thead th{
  background:#E9E9F1;color:#26272C;font-family:var(--display);font-weight:600;
  font-size:12px;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;
  border-bottom:2px solid var(--cf-line);
}
.cf-table tbody tr:nth-child(odd){background:var(--cf-zebra-a)}
.cf-table tbody tr:nth-child(even){background:var(--cf-zebra-b)}
.cf-table tbody tr:last-child th,.cf-table tbody tr:last-child td{border-bottom:0}
.cf-table .cf-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cf-table tbody th{font-weight:700;color:#26272C;white-space:nowrap}
.cf-scrollhint{font-size:12.5px;color:var(--cf-pencil-soft);margin:0 0 18px}

/* six-numbers strip */
.cf-numbers{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:12px;margin:0 0 8px;
}
.cf-number{
  min-width:0;background:#fff;border:1px solid var(--cf-line);
  border-left:5px solid var(--cf-purple);border-radius:var(--cf-r);padding:14px 16px;
}
.cf-number b{
  display:block;font-family:var(--display);font-weight:700;font-size:38px;line-height:1;
  color:var(--cf-purple);font-variant-numeric:tabular-nums;margin-bottom:6px;
}
.cf-number span{display:block;font-size:14px;line-height:1.4;color:var(--cf-pencil)}

/* ===========================================================
   4. DARK DATA CONSOLE — box score
   =========================================================== */
.cf-dark{
  background:linear-gradient(180deg,#0F1014 0%,var(--cf-film) 100%);
  color:var(--cf-dark-text);border-block:4px solid var(--cf-purple-deep);
}
.cf-console{
  border:1px solid var(--cf-film-line);border-radius:var(--cf-r);
  background:var(--cf-film-2);overflow:hidden;
}
.cf-console-head{
  display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  padding:14px 16px;background:#15171D;border-bottom:1px solid var(--cf-film-line);
}
.cf-console-head > *{min-width:0}
.cf-console-title{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--cf-gold);margin:0;
}
.cf-console-sub{font-size:13px;color:var(--cf-dark-muted);margin:0}

.cf-tabs{
  display:flex;flex-wrap:wrap;gap:6px;padding:12px 16px;
  background:#15171D;border-bottom:1px solid var(--cf-film-line);
}
.cf-tab{
  min-height:44px;padding:10px 16px;border-radius:2px;
  background:var(--cf-film-3);border:1px solid var(--cf-film-line);
  color:var(--cf-dark-text);font-family:var(--display);font-weight:600;
  font-size:12.5px;letter-spacing:.1em;text-transform:uppercase;
  transition:background var(--t),color var(--t);
}
.cf-tab:hover{background:#2F343E}
.cf-tab[aria-selected="true"]{background:var(--cf-gold);color:#231800;border-color:var(--cf-gold)}
.cf-tab .cf-tab-n{opacity:.72;margin-left:7px;font-variant-numeric:tabular-nums}

.cf-filters{
  position:sticky;top:58px;z-index:5;
  display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  padding:11px 16px;background:#191C23;border-bottom:1px solid var(--cf-film-line);
}
.cf-filters > *{min-width:0}
.cf-filters-lab{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--cf-dark-muted);margin:0 6px 0 0;
}
.cf-filt{
  min-height:44px;padding:9px 15px;border-radius:2px;
  background:transparent;border:1px solid #454B57;color:var(--cf-dark-text);
  font-family:var(--display);font-weight:600;font-size:12.5px;letter-spacing:.08em;
  text-transform:uppercase;transition:background var(--t),border-color var(--t),color var(--t);
}
.cf-filt:hover{background:#262A33}
.cf-filt[aria-pressed="true"]{background:var(--cf-dark-text);color:#15171D;border-color:var(--cf-dark-text)}
.cf-filt[data-team="MIN"][aria-pressed="true"]{background:var(--cf-purple);color:#fff;border-color:#7A4BC0}
.cf-filt[data-team="CIN"][aria-pressed="true"]{background:var(--cf-orange);color:#1A0A02;border-color:var(--cf-orange)}

.cf-panel{padding:0}
.cf-panel[hidden]{display:none}
.cf-tablescroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}

.cf-dtable{width:100%;border-collapse:collapse;font-size:14.5px;min-width:560px}
.cf-dtable caption{
  text-align:left;padding:12px 16px;font-size:13px;color:var(--cf-dark-muted);
  border-bottom:1px solid var(--cf-film-line);
}
.cf-dtable th,.cf-dtable td{
  padding:11px 14px;text-align:left;border-bottom:1px solid #262A31;color:var(--cf-dark-text);
}
.cf-dtable thead th{
  background:#15171D;font-family:var(--display);font-weight:600;font-size:11.5px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--cf-dark-muted);
  white-space:nowrap;padding:0;border-bottom:2px solid var(--cf-film-line);
}
.cf-dtable thead th .cf-sort{
  display:flex;align-items:center;gap:7px;width:100%;min-height:44px;padding:8px 14px;
  color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;text-align:left;
}
.cf-dtable thead th.cf-num .cf-sort{justify-content:flex-end}
.cf-dtable thead th .cf-sort:hover{background:#1F232B;color:var(--cf-dark-text)}
.cf-dtable thead th[aria-sort] .cf-sort{color:var(--cf-gold)}
.cf-sort-ico{width:12px;height:12px;flex:0 0 auto;opacity:.55}
.cf-dtable thead th[aria-sort] .cf-sort-ico{opacity:1}
.cf-dtable thead th[aria-sort="descending"] .cf-sort-ico{transform:rotate(180deg)}
.cf-dtable tbody tr{background:#1A1C22}
.cf-dtable tbody tr.alt{background:#1F222A}
.cf-dtable tbody tr[hidden]{display:none}
.cf-dtable .cf-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.cf-dtable .cf-na{color:#8E94A1}

.cf-teamchip{
  display:inline-block;padding:3px 9px;border-radius:2px;
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.12em;
}
.cf-teamchip.cf-min{background:var(--cf-purple);color:#fff}
.cf-teamchip.cf-cin{background:var(--cf-orange);color:#1A0A02}

.cf-playerbtn{
  display:flex;align-items:center;gap:9px;min-height:44px;padding:2px 0;
  color:var(--cf-dark-text);font:inherit;font-weight:700;text-align:left;
}
.cf-playerbtn:hover{color:var(--cf-gold)}
.cf-playerbtn .cf-chev{width:12px;height:12px;flex:0 0 auto;opacity:.7;transition:transform var(--t)}
.cf-playerbtn[aria-expanded="true"] .cf-chev{transform:rotate(90deg)}
.cf-playerbtn[aria-expanded="true"]{color:var(--cf-gold)}

tr.cf-detail{background:#101318 !important}
tr.cf-detail[hidden]{display:none}
tr.cf-detail td{padding:0;border-bottom:1px solid var(--cf-film-line)}
.cf-detail-in{padding:16px 16px 18px;border-left:4px solid var(--cf-gold)}
.cf-detail-in h3,.cf-detail-in h4{
  font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cf-dark-text);margin:0 0 8px;
}
.cf-detail-in p{margin:0 0 8px;font-size:14.5px;line-height:1.55;color:var(--cf-dark-muted);max-width:78ch}
.cf-detail-in p:last-child{margin-bottom:0}
.cf-detail-in .cf-kv{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px;padding:0;list-style:none}
.cf-detail-in .cf-kv li{
  min-width:0;background:#1D2028;border:1px solid var(--cf-film-line);border-radius:2px;
  padding:6px 11px;font-size:13px;color:var(--cf-dark-text);
}
.cf-detail-in .cf-kv b{color:var(--cf-gold);font-variant-numeric:tabular-nums}

.cf-empty{
  padding:26px 18px;text-align:left;border-left:4px solid var(--cf-red);
  background:#16181E;margin:0;
}
.cf-empty[hidden]{display:none}
.cf-empty h3,.cf-empty h4{
  font-family:var(--display);font-weight:700;font-size:14px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cf-dark-text);margin:0 0 8px;
}
.cf-empty p{margin:0 0 8px;font-size:14.5px;line-height:1.55;color:var(--cf-dark-muted);max-width:74ch}
.cf-empty p:last-child{margin-bottom:0}
.cf-empty ul{margin:0 0 8px;padding-left:20px;list-style:disc;color:var(--cf-dark-muted);font-size:14.5px}

/* ===========================================================
   5. RETURN DIAGRAM
   =========================================================== */
.cf-rd{margin:0;padding:0}
.cf-rd-box{
  background:var(--cf-film-2);border:1px solid var(--cf-film-line);
  border-radius:var(--cf-r);padding:18px 16px;
}
.cf-rd-svg{display:block;width:100%;height:auto;aspect-ratio:800/360}
.cf-rd-stack{display:none;margin:0;padding:0;list-style:none}
.cf-rd-item{margin:0 0 18px}
.cf-rd-item:last-child{margin-bottom:0}
.cf-rd-item h4{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cf-dark-text);margin:0 0 4px;
}
.cf-rd-item p{margin:0 0 8px;font-size:14px;color:var(--cf-dark-muted)}
.cf-rd-meter{
  position:relative;height:26px;background:#15171D;border:1px solid var(--cf-film-line);
  border-radius:2px;overflow:hidden;
}
.cf-rd-fill{
  position:absolute;left:0;top:0;bottom:0;background:var(--cf-purple);
  display:flex;align-items:center;justify-content:flex-end;padding-right:8px;
  font-family:var(--display);font-weight:700;font-size:12px;color:#fff;letter-spacing:.06em;
}
.cf-rd-fill.cf-rd-alt{background:repeating-linear-gradient(135deg,var(--cf-purple) 0 9px,#63339F 9px 18px)}
.cf-rd-ff{
  display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0;
}
.cf-rd-ff li{
  min-width:0;display:flex;align-items:center;gap:8px;
  background:#1D2028;border:1px solid var(--cf-gold);border-radius:2px;
  padding:8px 12px;font-size:13px;color:var(--cf-dark-text);
}
.cf-rd-ff .cf-dia{width:12px;height:12px;flex:0 0 auto;color:var(--cf-gold)}
.cf-rd-legend{
  display:flex;flex-wrap:wrap;gap:14px 22px;list-style:none;margin:14px 0 0;padding:0;
  font-size:13px;color:var(--cf-dark-muted);
}
.cf-rd-legend li{display:flex;align-items:center;gap:8px;min-width:0}
.cf-rd-sw{width:22px;height:11px;border-radius:2px;flex:0 0 auto}
.cf-rd-sw.a{background:var(--cf-purple)}
.cf-rd-sw.b{background:repeating-linear-gradient(135deg,var(--cf-purple) 0 7px,#63339F 7px 14px)}
.cf-rd-sw.c{background:var(--cf-gold)}

/* ===========================================================
   6. TURNOVER FILE / SCOUTING SHEETS
   =========================================================== */
.cf-duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.cf-duo > *{min-width:0}

.cf-sheet{
  background:#fff;border:1px solid var(--cf-line);border-radius:var(--cf-r);
  padding:0;overflow:hidden;min-width:0;
}
.cf-sheet-head{padding:14px 16px;border-bottom:1px solid var(--cf-line);background:#F4F4F8}
.cf-sheet.cf-team-min .cf-sheet-head{border-left:6px solid var(--cf-purple)}
.cf-sheet.cf-team-cin .cf-sheet-head{border-left:6px solid var(--cf-orange)}
.cf-sheet-team{
  font-family:var(--display);font-weight:700;font-size:11px;letter-spacing:.18em;
  text-transform:uppercase;margin:0 0 4px;
}
.cf-sheet.cf-team-min .cf-sheet-team{color:var(--cf-purple)}
.cf-sheet.cf-team-cin .cf-sheet-team{color:var(--cf-orange-ink)}
.cf-sheet-name{
  font-family:var(--display);font-weight:700;font-size:22px;letter-spacing:.02em;
  text-transform:uppercase;color:#26272C;margin:0;line-height:1.1;
}
.cf-sheet-body{padding:16px}
.cf-sheet-stats{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0 0 14px;padding:0}
.cf-sheet-stats li{
  min-width:0;background:var(--cf-zebra-a);border:1px solid var(--cf-line);border-radius:2px;
  padding:7px 11px;font-size:13.5px;color:var(--cf-pencil);
}
.cf-sheet-stats b{color:#26272C;font-variant-numeric:tabular-nums}
.cf-sheet-body p{margin:0 0 10px;font-size:15px;line-height:1.6}
.cf-sheet-body p:last-child{margin-bottom:0}

/* ===========================================================
   7. OVERTIME TWINS
   =========================================================== */
.cf-twins-head{
  font-family:var(--display);font-weight:700;text-transform:uppercase;
  font-size:clamp(19px,3.2vw,40px);line-height:1.05;letter-spacing:.02em;
  color:#26272C;margin:0 0 8px;max-width:22ch;
}
.cf-twins{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:24px;align-items:stretch}
.cf-twins > *{min-width:0}
.cf-twin{
  background:#fff;border:1px solid var(--cf-line);border-top:6px solid var(--cf-orange);
  border-radius:var(--cf-r);padding:20px 20px 18px;position:relative;min-width:0;
}
.cf-twin-year{
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.22em;
  text-transform:uppercase;color:var(--cf-pencil-soft);margin:0 0 10px;
}
.cf-twin-score{
  font-family:var(--display);font-weight:700;font-size:clamp(34px,5.4vw,54px);
  line-height:.95;color:var(--cf-orange-ink);margin:0 0 4px;letter-spacing:.01em;
}
.cf-twin-won{
  display:inline-block;background:var(--cf-orange);color:#1A0A02;border-radius:2px;
  font-family:var(--display);font-weight:700;font-size:11.5px;letter-spacing:.13em;
  text-transform:uppercase;padding:5px 10px;margin:0 0 14px;
}
.cf-twin dl{margin:0 0 12px;display:grid;grid-template-columns:auto 1fr;gap:5px 12px;font-size:14.5px}
.cf-twin dt{font-family:var(--display);font-weight:600;letter-spacing:.09em;text-transform:uppercase;font-size:11.5px;color:var(--cf-pencil-soft);align-self:center}
.cf-twin dd{margin:0;color:var(--cf-pencil);min-width:0}
.cf-twin > p:not([class]){margin:0;font-size:14.5px;line-height:1.55}
.cf-venue-note{
  margin-top:20px;background:#fff;border:1px solid var(--cf-line);border-left:5px solid var(--cf-purple);
  border-radius:var(--cf-r);padding:14px 16px;font-size:15px;
}

/* ===========================================================
   8. ARCHIVE — index cards
   =========================================================== */
.cf-balance{
  background:#fff;border:1px solid var(--cf-line);border-radius:var(--cf-r);
  padding:18px 18px 20px;margin:0 0 24px;
}
.cf-balance h3{margin-bottom:12px}
.cf-bal-bar{display:flex;height:44px;border-radius:2px;overflow:hidden;border:1px solid var(--cf-line)}
.cf-bal-seg{
  flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.1em;
  text-transform:uppercase;
}
.cf-bal-seg.cf-min{background:var(--cf-purple);color:#fff}
.cf-bal-seg.cf-cin{background:var(--cf-orange);color:#1A0A02}
.cf-bal-legend{display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0 0;padding:0;list-style:none;font-size:14.5px}
.cf-bal-legend li{min-width:0}
.cf-bal-legend b{font-variant-numeric:tabular-nums;color:#26272C}

.cf-decade{
  border:1px solid var(--cf-line);border-radius:var(--cf-r);background:#fff;
  margin:0 0 16px;overflow:hidden;
}
.cf-decade > summary{
  list-style:none;cursor:pointer;min-height:52px;display:flex;align-items:center;
  justify-content:space-between;gap:12px;padding:12px 16px;background:#F4F4F8;
  font-family:var(--display);font-weight:700;font-size:13px;letter-spacing:.15em;
  text-transform:uppercase;color:#26272C;
}
.cf-decade > summary::-webkit-details-marker{display:none}
.cf-decade > summary .cf-dec-n{font-weight:600;color:var(--cf-pencil-soft);letter-spacing:.06em}
.cf-decade[open] > summary{border-bottom:1px solid var(--cf-line)}
.cf-cards{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:16px;
  padding:16px;
}
.cf-cards > *{min-width:0}
.cf-card{
  background:var(--cf-paper-2);border:1px solid var(--cf-paper-edge);border-radius:var(--cf-r);
  padding:0;min-width:0;overflow:hidden;
  background-image:repeating-linear-gradient(180deg,transparent 0 27px,rgba(66,68,74,.09) 27px 28px);
}
.cf-card-top{padding:14px 16px 12px;border-bottom:1px solid var(--cf-paper-edge)}
.cf-card.cf-w-min .cf-card-top{background:var(--cf-purple);color:#fff}
.cf-card.cf-w-cin .cf-card-top{background:var(--cf-orange);color:#1A0A02}
.cf-card-season{
  font-family:var(--display);font-weight:700;font-size:12px;letter-spacing:.2em;
  text-transform:uppercase;margin:0 0 6px;opacity:.9;
}
.cf-card-score{
  font-family:var(--display);font-weight:700;font-size:31px;line-height:1;margin:0 0 6px;
  font-variant-numeric:tabular-nums;
}
.cf-card-won{
  display:inline-block;font-family:var(--display);font-weight:700;font-size:11px;
  letter-spacing:.11em;text-transform:uppercase;padding:4px 9px;border-radius:2px;margin:0;
}
.cf-card.cf-w-min .cf-card-won{background:#fff;color:var(--cf-purple)}
.cf-card.cf-w-cin .cf-card-won{background:#1A0A02;color:#FFD9C7}
.cf-card-ot{
  display:inline-block;margin-left:6px;font-family:var(--display);font-weight:700;font-size:11px;
  letter-spacing:.11em;text-transform:uppercase;padding:4px 9px;border-radius:2px;
  background:rgba(255,255,255,.24);border:1px solid currentColor;
}
.cf-card-body{padding:12px 16px 14px}
.cf-card-body dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:14px}
.cf-card-body dt{
  font-family:var(--display);font-weight:600;font-size:11px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--cf-pencil-soft);align-self:center;
}
.cf-card-body dd{margin:0;color:var(--cf-pencil);min-width:0}
.cf-card-body dd.cf-nodoc{color:#54575E;font-style:italic}
.cf-card-more{margin-top:12px}
.cf-card-more > summary{
  list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;gap:8px;
  font-family:var(--display);font-weight:600;font-size:12px;letter-spacing:.11em;
  text-transform:uppercase;color:var(--cf-purple);
}
.cf-card-more > summary::-webkit-details-marker{display:none}
.cf-card-more .cf-chev{width:12px;height:12px;flex:0 0 auto;transition:transform var(--t)}
.cf-card-more[open] .cf-chev{transform:rotate(90deg)}
.cf-card-more p{margin:0 0 8px;font-size:14px;line-height:1.55}
.cf-card-more p:last-child{margin-bottom:0}
.cf-archive-missing{
  background:#fff;border:1px dashed var(--cf-pencil-soft);border-radius:var(--cf-r);
  padding:16px;margin:16px;font-size:14.5px;grid-column:1/-1;
}

/* ===========================================================
   9. FAQ + related links
   =========================================================== */
.cf-faq{max-width:820px}
.cf-faq-item{
  background:#fff;border:1px solid var(--cf-line);border-radius:var(--cf-r);
  padding:18px 20px;margin:0 0 14px;
}
.cf-faq-q{
  font-family:var(--display);font-weight:700;font-size:17px;letter-spacing:.02em;
  color:#26272C;margin:0 0 8px;
}
.cf-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(226px,1fr));gap:12px}
.cf-links > *{min-width:0}
.cf-link{
  display:flex;align-items:center;gap:11px;min-height:56px;min-width:0;
  background:#fff;border:1px solid var(--cf-line);border-left:5px solid var(--cf-purple);
  border-radius:var(--cf-r);padding:12px 15px;color:#26272C;
  font-family:var(--display);font-weight:600;font-size:14px;letter-spacing:.05em;
  text-transform:uppercase;transition:background var(--t),transform var(--t);
}
.cf-link:hover{background:#F4F4F8;transform:translateX(2px)}
.cf-link .cf-ar{width:15px;height:15px;flex:0 0 auto;margin-left:auto;color:var(--cf-purple)}
.cf-sources{margin:20px 0 0;padding:0;list-style:none;font-size:14.5px}
.cf-sources li{margin-bottom:8px;padding-left:18px;position:relative}
.cf-sources li::before{content:"›";position:absolute;left:0;color:var(--cf-red);font-weight:700}

/* ===========================================================
   10. RESPONSIVE
   =========================================================== */
@media (max-width:1024px){
  .cf-duo{grid-template-columns:1fr}
  .cf-twins{grid-template-columns:1fr}
}
@media (max-width:768px){
  .cf-sec > .wrap{padding-top:38px;padding-bottom:38px}
  .cf-open > .wrap{padding-top:26px;padding-bottom:36px}
  .cf-evidence ul{grid-template-columns:1fr}          /* vertical evidence stack */
  .cf-ev-tab{justify-content:flex-start;text-align:left;border-radius:2px;border-bottom-width:3px}
  .cf-folder-body{padding:20px 16px 18px}
  .cf-score-row{grid-template-columns:6px 1fr auto;gap:12px;padding:10px 12px}
  .cf-folder-foot{gap:14px}
  .cf-rd-svg{display:none}                            /* no wide field on mobile */
  .cf-rd-stack{display:block}
  .cf-cards{grid-template-columns:1fr;padding:14px}
  .cf-banner{aspect-ratio:16/9;min-height:180px}
  .cf-filters{top:58px}
}
@media (max-width:520px){
  .cf-open h1{font-size:clamp(23px,7vw,32px)}
  .cf-numbers{grid-template-columns:1fr}
  .cf-links{grid-template-columns:1fr}
  .cf-console-head{flex-direction:column;align-items:flex-start}
  .cf-tabs{padding:10px 12px}
  .cf-tab{padding:10px 12px;font-size:11.5px}
  .cf-filt{padding:9px 12px}
  .cf-stamp{transform:rotate(-3deg)}
}

@media (prefers-reduced-motion:reduce){
  .page-casefile *,
  .page-casefile *::before,
  .page-casefile *::after{
    animation-duration:.001ms !important;animation-iteration-count:1 !important;
    transition-duration:.001ms !important;scroll-behavior:auto !important;
  }
  .cf-ev-tab:hover,.cf-link:hover{transform:none}
}

@media print{
  .cf-open{background:#fff;color:#000}
  .cf-tab,.cf-filt{display:none}
}
