:root{
  --canvas:#f2f1ec; --surface:#ffffff; --band:#e9e7df; --felt:#16211c;
  --ink:#161a17; --muted:#5c6360; --accent:#b03a2e; --status:#2f7d55;
  --rule:#c9c5b8; --shell:1300px;
  --display:"Oswald","Arial Narrow","Helvetica Neue Condensed",Arial,sans-serif;
  --body:"Open Sans",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.62 var(--body)}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(176,58,46,.35)}
a:hover{border-bottom-color:var(--accent)}
a:focus-visible,[tabindex]:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.shell{max-width:var(--shell);margin:0 auto;padding:0 18px}

/* 1 league utility */
.utility{background:var(--felt);color:#e6e9e6;font:600 12px/1 var(--body);letter-spacing:.08em;text-transform:uppercase}
.utility .shell{display:flex;flex-wrap:wrap;gap:8px 22px;align-items:center;min-height:38px;padding-top:8px;padding-bottom:8px}
.utility a{color:#fff;border-bottom-color:rgba(255,255,255,.4)}
.utility .sep{color:#6d7a72}

/* masthead */
.masthead{background:var(--surface);border-bottom:3px solid var(--felt)}
.masthead .shell{display:flex;align-items:center;gap:16px;padding-top:16px;padding-bottom:14px}
.mark{width:46px;height:46px;flex:0 0 46px}
.wordmark{font:600 30px/1 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--felt);border:0}
.wordmark span{color:var(--accent)}
.tagline{margin:5px 0 0;font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

/* 2 competition navigation */
.tabs{background:var(--surface);border-bottom:1px solid var(--rule)}
.tabs ul{display:flex;flex-wrap:wrap;gap:0 26px;margin:0;padding:0;list-style:none}
.tabs a{display:inline-block;padding:11px 0;font:600 12px/1.2 var(--body);letter-spacing:.09em;
  text-transform:uppercase;color:var(--felt);border-bottom:3px solid transparent}
.tabs a:hover{border-bottom-color:var(--rule)}
.tabs a[aria-current="page"]{border-bottom-color:var(--accent);color:var(--accent)}

/* 3 recent score ribbon */
.ribbon{background:var(--felt);color:#eef1ee}
.ribbon .shell{padding-top:0;padding-bottom:0}
.ribbon .strip{display:flex;overflow-x:auto;gap:0;min-height:50px;align-items:stretch}
.ribbon .cell{flex:0 0 auto;min-width:156px;padding:8px 18px;border-right:1px solid #2b3a33;display:flex;
  flex-direction:column;justify-content:center}
.ribbon .d{font:600 11px/1.3 var(--display);letter-spacing:.12em;text-transform:uppercase;color:#9db0a6;
  font-variant-numeric:tabular-nums}
.ribbon .n{font:600 15px/1.25 var(--display);letter-spacing:.03em;color:#fff}
.ribbon .n a{color:#fff;border:0}
.ribbon .s{font:600 10px/1.4 var(--body);letter-spacing:.1em;text-transform:uppercase;color:#8fbfa2}
.ribbon .s.done{color:#d9a79f}

/* grid */
.board{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:start;
  padding-top:26px;padding-bottom:34px}
.col-main{grid-column:1;min-width:0}
.rail{grid-column:2;min-width:0}

/* band headings */
.band{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding-bottom:7px;border-bottom:2px solid var(--felt)}
.band h2,.band h1{margin:0;font:600 20px/1.15 var(--display);letter-spacing:.06em;text-transform:uppercase;color:var(--felt)}
.band .pip{width:15px;height:15px;flex:0 0 15px}
.rail .band h2{font-size:16px}

/* 4 featured record */
.record{background:var(--surface);border:1px solid var(--rule);margin-bottom:30px}
.record .rec-head{background:var(--felt);color:#fff;padding:12px 18px}
.record .rec-label{font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:#9db0a6}
.record h1,.record .rec-title{margin:6px 0 0;font:600 40px/1.05 var(--display);letter-spacing:.02em;color:#fff}
.record .rec-body{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:0}
.record figure{margin:0;border-right:1px solid var(--rule);display:grid;grid-template-rows:1fr auto;min-height:0}
.record figure img{width:100%;height:100%;object-fit:cover;min-height:210px}
.record figcaption{padding:8px 14px;font:400 12px/1.5 var(--body);color:var(--muted);background:var(--band)}
.facts{width:100%;border-collapse:collapse;font-size:14px}
.facts th,.facts td{text-align:left;padding:9px 14px;border-bottom:1px solid var(--rule);vertical-align:top}
.facts th{width:30%;font:600 11px/1.5 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.facts td{font-variant-numeric:tabular-nums}
.record .rec-foot{padding:12px 18px;border-top:1px solid var(--rule);font-size:14px}

/* tables */
.tablewrap{overflow-x:auto;border:1px solid var(--rule);background:var(--surface);margin-bottom:30px}
table.board-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
table.board-table caption{text-align:left;padding:10px 14px;background:var(--band);border-bottom:1px solid var(--rule);
  font:400 12px/1.5 var(--body);color:var(--muted)}
table.board-table thead th{background:var(--felt);color:#fff;text-align:left;padding:9px 14px;
  font:600 11px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;white-space:nowrap}
table.board-table td{padding:9px 14px;border-bottom:1px solid var(--rule);vertical-align:top;
  font-variant-numeric:tabular-nums;height:36px}
table.board-table tbody tr:nth-child(even) td{background:var(--band)}
table.board-table td.date{white-space:nowrap;font-weight:600}
.status{font:600 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--status)}
.status.done{color:var(--accent)}
.rail table.board-table{min-width:0;font-size:13px}
.rail .tablewrap{margin-bottom:26px}
.rail td .who{font-weight:600;display:block}
.rail td .note{color:var(--muted);font-size:12px;line-height:1.5}

/* 6 reports */
.reports{margin-bottom:30px}
.reports ol{list-style:none;margin:0;padding:0;background:var(--surface);border:1px solid var(--rule)}
.reports li{padding:13px 16px;border-bottom:1px solid var(--rule)}
.reports li:last-child{border-bottom:0}
.reports .dateline{font:600 11px/1.4 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted);
  font-variant-numeric:tabular-nums}
.reports h3{margin:3px 0 4px;font:600 19px/1.25 var(--display);letter-spacing:.01em}
.reports h3 a{color:var(--ink);border:0}
.reports h3 a:hover{color:var(--accent)}
.reports p{margin:0;font-size:14px;color:var(--muted);line-height:1.55}

/* 8 catalogue ledger */
.ledger h3{margin:18px 0 8px;font:600 13px/1.3 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}
.ledger h3:first-child{margin-top:0}
.ledger ul{list-style:none;margin:0;padding:0;border:1px solid var(--rule);background:var(--surface)}
.ledger li{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-bottom:1px solid var(--rule);font-size:13px}
.ledger li:last-child{border-bottom:0}
.ledger .amt{font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}

/* 9 footer */
.season-footer{background:var(--felt);color:#cfd8d3;margin-top:10px}
.season-footer .shell{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px;
  padding-top:30px;padding-bottom:30px}
.season-footer h2{margin:0 0 10px;font:600 12px/1 var(--display);letter-spacing:.14em;text-transform:uppercase;color:#fff}
.season-footer ul{list-style:none;margin:0;padding:0}
.season-footer li{margin-bottom:6px;font-size:13px}
.season-footer a{color:#e6ebe8;border-bottom-color:rgba(230,235,232,.3)}
.season-footer p{margin:0;font-size:12.5px;line-height:1.6}
.season-footer .fine{border-top:1px solid #2b3a33;font-size:12px;color:#93a29a;padding:14px 0 26px}

/* detail pages */
.page-head{background:var(--surface);border-bottom:1px solid var(--rule)}
.page-head .shell{padding-top:20px;padding-bottom:18px}
.kicker{font:600 11px/1 var(--body);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.page-head h1{margin:9px 0 0;font:600 34px/1.12 var(--display);letter-spacing:.01em;color:var(--felt);max-width:30ch}
.page-head .meta{margin:9px 0 0;font:600 12px/1.5 var(--body);letter-spacing:.07em;text-transform:uppercase;
  color:var(--muted);font-variant-numeric:tabular-nums}
.prose{background:var(--surface);border:1px solid var(--rule);padding:26px 30px;margin-bottom:26px}
.prose>*:first-child{margin-top:0}
.prose p{max-width:66ch;margin:0 0 1.05em}
.prose li{max-width:64ch}
.prose h2{font:600 23px/1.2 var(--display);letter-spacing:.02em;margin:1.5em 0 .5em}
.prose h3{font:600 18px/1.25 var(--display);letter-spacing:.02em;margin:1.4em 0 .45em}
.prose ul,.prose ol{margin:0 0 1.05em;padding-left:1.25em}
.prose blockquote{margin:0 0 1.05em;padding:2px 0 2px 16px;border-left:3px solid var(--accent);color:var(--muted)}
.seq{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;font-size:13px;
  padding:12px 0 30px;border-top:1px solid var(--rule)}
.notefile{background:var(--band);border:1px solid var(--rule);border-left:3px solid var(--accent);
  padding:12px 16px;margin-bottom:26px;font-size:14px}
.notefile strong{font-weight:600}
.rail-note{background:var(--surface);border:1px solid var(--rule);padding:14px 16px;font-size:13px;
  line-height:1.6;color:var(--muted);margin-bottom:26px}
.roster-list{list-style:none;margin:0;padding:0}
.roster-list li{border-bottom:1px solid var(--rule);padding:14px 0}
.roster-list li:last-child{border-bottom:0}
.roster-list h2{margin:0 0 4px;font:600 20px/1.2 var(--display);letter-spacing:.02em}
.roster-list p{margin:0;font-size:14px;color:var(--muted);max-width:none}
.prose .roster-list p{max-width:none}
.pipmark{width:13px;height:13px;display:inline-block;vertical-align:-1px;margin-right:6px}

@media (max-width:1000px){
  .board{grid-template-columns:minmax(0,1fr);gap:0}
  .record figure img{min-height:0;max-height:320px}
  .col-main,.rail{grid-column:1}
  .record .rec-body{grid-template-columns:minmax(0,1fr)}
  .record figure{border-right:0;border-bottom:1px solid var(--rule)}
  .season-footer .shell{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:15px}
  .wordmark{font-size:23px}
  .record h1,.record .rec-title{font-size:30px}
  .page-head h1{font-size:27px}
  .band h2,.band h1{font-size:17px}
  .tabs ul{gap:0 18px}
  .prose{padding:18px 16px}
  .season-footer .shell{grid-template-columns:minmax(0,1fr)}
  .rail table.board-table{min-width:0}
  .rail table.board-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .rail table.board-table tr{display:block;border-bottom:1px solid var(--rule)}
  .rail table.board-table tr:last-child{border-bottom:0}
  .rail table.board-table td{display:block;border:0;height:auto;padding:4px 12px}
  .rail table.board-table td:first-child{padding-top:11px}
  .rail table.board-table td:last-child{padding-bottom:11px}
  .rail table.board-table td::before{content:attr(data-label) " ";font:600 10px/1.6 var(--body);
    letter-spacing:.1em;text-transform:uppercase;color:var(--muted);display:block}
  .rail table.board-table tbody tr:nth-child(even) td{background:transparent}
  .rail table.board-table tbody tr:nth-child(even){background:var(--band)}
}
