/* Mario Kart 2 stats - inside the site's own page (its header and footer): everything here is under .mk2, so none of
   it touches the rest of haxmods. The old Mario Kart page's colours: its red header bar, its blues. */
/* (the box itself is the site's .regularContainer - its background, padding and width, lined up with the header and
   footer: nothing here changes them) */
.mk2 { --mk2-panel: #2D3E4E; --mk2-panel2: #3C5268; --mk2-line: #46607a; --mk2-text: #f1f4f8; --mk2-muted: #a9b8c8;
  --mk2-gold: #ffd23f; --mk2-link: #9fe3ff; color: var(--mk2-text); }
.mk2 a { color: var(--mk2-link); text-decoration: none; }
.mk2 a:hover { text-decoration: underline; }
.mk2 .mk2-bar { display: flex; flex-wrap: wrap; gap: 4px 18px; align-items: center; padding: 8px 14px; background: var(--mk2-panel2); font-weight: 600; border-radius: 6px; }
.mk2 .mk2-bar a { color: var(--mk2-text); }
.mk2 .mk2-spacer { flex: 1; }
.mk2 .mk2-body { padding: 4px 4px 6px; }
.mk2 .mk2-crumb { margin-top: 10px; font-size: 13px; color: var(--mk2-muted); }
.mk2 .mk2-title { font-size: 24px; margin: 10px 0 12px; color: var(--mk2-text); }
.mk2 h2 { font-size: 17px; margin: 22px 0 8px; color: var(--mk2-text); text-transform: uppercase; letter-spacing: .03em; }
.mk2 .mk2-meta { color: var(--mk2-muted); margin-top: -4px; }
.mk2 .mk2-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 8px; margin: 6px 0; }
.mk2 .mk2-tiles div { background: var(--mk2-panel); border-radius: 8px; padding: 10px 12px; }
.mk2 .mk2-tiles b { display: block; font-size: 22px; color: var(--mk2-gold); }
.mk2 .mk2-tiles span { color: var(--mk2-muted); font-size: 13px; }
.mk2 .mk2-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
@media (max-width: 800px) { .mk2 .mk2-cols { grid-template-columns: 1fr; } }
.mk2 .mk2-scroll { overflow-x: auto; }
/* a players' table that lists everyone: about 20 rows show, the rest scroll, the heading stays */
.mk2 .mk2-tall { max-height: 690px; overflow-y: auto; border-radius: 8px; background: var(--mk2-panel); scrollbar-color: var(--mk2-line) var(--mk2-panel); }
.mk2 .mk2-tall table.mk2-list { overflow: visible; border-radius: 0; }
.mk2 .mk2-tall table.mk2-list thead th { position: sticky; top: 0; z-index: 1; }
.mk2 table.mk2-list { width: 100%; border-collapse: collapse; background: var(--mk2-panel); border-radius: 8px; overflow: hidden; margin: 0; }
.mk2 table.mk2-list th, .mk2 table.mk2-list td { padding: 6px 9px; text-align: left; border-bottom: 1px solid var(--mk2-line); white-space: nowrap; color: var(--mk2-text); background: transparent; }
.mk2 table.mk2-list th { color: var(--mk2-muted); font-weight: 700; font-size: 12px; text-transform: uppercase; background: var(--mk2-panel2); }
.mk2 table.mk2-list tr:last-child td { border-bottom: 0; }
.mk2 table.mk2-list tbody tr:hover td { background: #35495c; }
.mk2 .mk2-click { cursor: pointer; }
.mk2 .num { text-align: right !important; }
.mk2 .mk2-time { font-variant-numeric: tabular-nums; color: var(--mk2-gold); }
.mk2 .mk2-muted, .mk2 .mk2-empty { color: var(--mk2-muted); }
.mk2 .mk2-tag { font-size: 11px; color: var(--mk2-muted); border: 1px solid var(--mk2-line); border-radius: 4px; padding: 0 4px; }
.mk2 .mk2-tag.bot { color: #c9b6ff; border-color: #6b5aa8; }
.mk2 .mk2-tag.ranked { color: var(--mk2-gold); border-color: #8a7420; }
.mk2 .mk2-note { background: var(--mk2-panel); border-left: 3px solid #A41623; padding: 6px 10px; }
.mk2 .mk2-filters a { display: inline-block; margin: 0 6px 8px 0; padding: 3px 12px; border-radius: 999px; background: var(--mk2-panel); color: var(--mk2-text); }
.mk2 .mk2-filters a.on { background: #A41623; }
.mk2 .mk2-pager { margin-top: 10px; }
.mk2 .mk2-pager a, .mk2 .mk2-pager span { margin-right: 10px; }
.mk2 .mk2-button { display: inline-block; background: #A41623; color: #fff !important; font-weight: 700; padding: 7px 14px; border-radius: 6px; }
.mk2 .mk2-button:hover { text-decoration: none; filter: brightness(1.15); }
.mk2 .mk2-replay { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin: 8px 0 12px; }
.mk2 .mk2-foot { color: var(--mk2-muted); font-size: 13px; margin: 22px 0 0; }
@media (max-width: 600px) { .mk2 table.mk2-list th, .mk2 table.mk2-list td { padding: 5px 6px; font-size: 13px; } }
.mk2 .mk2-up { color: #5ee08a; font-weight: 700; }
.mk2 .mk2-down { color: #ff7b7b; font-weight: 700; }
.mk2 a.mk2-play { display: inline-block; margin-left: .25em; font-size: .85em; text-decoration: none; opacity: .8; }
.mk2 a.mk2-play:hover { opacity: 1; }
/* a track's banner (track_banner): its name on the left, its map fitted into the right - all the same shape */
.mk2 .mk2-banner { position: relative; height: 320px; margin: 12px 0 12px; border-radius: 12px; overflow: hidden; background: var(--bg); }
.mk2 .mk2-banner img { position: absolute; top: 0; right: 0; width: 66%; height: 100%; padding: 14px 18px; box-sizing: border-box; object-fit: contain; object-position: right center; }
.mk2 .mk2-banner::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--bg) 30%, transparent 60%); pointer-events: none; }
.mk2 .mk2-banner-text { position: absolute; left: 22px; bottom: 20px; right: 40%; z-index: 1; }
.mk2 .mk2-banner-text span { display: block; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.mk2 .mk2-banner-text h1 { margin: 2px 0 0; font-size: 34px; line-height: 1.1; color: #fff; text-shadow: 0 2px 10px rgba(0,0,0,.45); }
.mk2 .mk2-banner-text h1 a { color: inherit; }
.mk2 .mk2-banner.light .mk2-banner-text span { color: rgba(0,0,0,.6); }
.mk2 .mk2-banner.light .mk2-banner-text h1 { color: #1d1d1f; text-shadow: none; }
@media (max-width: 640px) {
  .mk2 .mk2-banner { height: 300px; }
  .mk2 .mk2-banner img { width: 100%; padding: 12px 12px 78px; object-position: center top; }
  .mk2 .mk2-banner::after { background: linear-gradient(0deg, var(--bg) 22%, transparent 34%); }
  .mk2 .mk2-banner-text { left: 16px; right: 16px; bottom: 14px; }
  .mk2 .mk2-banner-text h1 { font-size: 26px; }
}
/* polish: the top 3 of a leaderboard, little track pictures, the overview's intro, a race's winner and gaps, phones */
.mk2 tr.mk2-p1 td:first-child { box-shadow: inset 3px 0 0 #ffd23f; }
.mk2 tr.mk2-p2 td:first-child { box-shadow: inset 3px 0 0 #c9d3dd; }
.mk2 tr.mk2-p3 td:first-child { box-shadow: inset 3px 0 0 #d08a4e; }
.mk2 tr.mk2-p1 td { background: rgba(255, 210, 63, .06); }
.mk2 a.mk2-track { white-space: nowrap; }
.mk2 .mk2-thumb { width: 24px; height: 24px; object-fit: contain; vertical-align: middle; margin: -3px 7px 0 0; border-radius: 5px; background: #23262b; }
.mk2 .mk2-intro { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: center; justify-content: space-between; margin: 6px 0 14px;
  padding: 16px 18px; border-radius: 12px; background: var(--mk2-panel); border: 1px solid var(--mk2-line); border-left: 4px solid #A41623; }
.mk2 .mk2-intro h2 { margin: 0 0 4px; text-transform: none; letter-spacing: 0; font-size: 20px; }
.mk2 .mk2-intro p { margin: 0; color: var(--mk2-muted); max-width: 640px; }
.mk2 .mk2-intro .mk2-steps { display: flex; flex-wrap: wrap; gap: 8px; }
.mk2 .mk2-intro .mk2-steps span { background: rgba(0, 0, 0, .25); border: 1px solid var(--mk2-line); border-radius: 999px; padding: 4px 12px; font-size: 13px; white-space: nowrap; }
.mk2 .mk2-intro code { color: var(--mk2-gold); background: none; padding: 0; }
.mk2 .mk2-tiles b { font-variant-numeric: tabular-nums; }
.mk2 tr.mk2-win td { background: rgba(255, 210, 63, .08); }
.mk2 .mk2-gap { color: var(--mk2-muted); font-size: 12px; margin-left: 6px; font-variant-numeric: tabular-nums; }
@media (max-width: 640px) {
  .mk2 .mk2-hide-sm { display: none; }
  .mk2 table.mk2-list th, .mk2 table.mk2-list td { padding: 6px 6px; }
}
