/*! FCL Live Dashboard 1.9.4 */
.fcl-dash {
  --fd-bg: #f4f4f2; --fd-card: #ffffff; --fd-ink: #1b1b1a; --fd-mut: #66655f; --fd-line: rgba(0,0,0,.09);
  --fd-accent: #b3261e; --fd-blue: #1d5fbf; --fd-red: #c62828; --fd-ok: #2e7d32; --fd-warn: #9a5b00;
  --fd-fin: #2f6fd1; --fd-on: #e59a1a; --fd-x: #cf3a32; --fd-track: #ebebe7;
  --fd-alert-bg: #fdecea; --fd-alert-ink: #8e1b14;
  box-sizing: border-box; max-width: 1240px; margin: 0 auto; padding: 16px;
  font: 15px/1.45 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: var(--fd-ink); -webkit-font-smoothing: antialiased;
}
.fcl-dash *, .fcl-dash *::before, .fcl-dash *::after { box-sizing: border-box; }
body.fcl-dash-page { margin: 0; background: var(--fd-bg, #f4f4f2); }
body.fcl-dash-page .fcl-dash { background: transparent; }
@media (prefers-color-scheme: dark) {
  body.fcl-dash-page { background: #141413; }
  body.fcl-dash-page .fcl-dash {
    --fd-bg: #141413; --fd-card: #1f1f1d; --fd-ink: #ecebe6; --fd-mut: #a3a29b; --fd-line: rgba(255,255,255,.10);
    --fd-track: #2c2c29; --fd-alert-bg: #3a1714; --fd-alert-ink: #ffb4ab; --fd-blue: #7fb0ff; --fd-red: #ff8a80; --fd-ok: #81c784; --fd-warn: #f0b85a;
  }
}
.fcl-dash h1, .fcl-dash h2, .fcl-dash h3, .fcl-dash p { margin: 0; padding: 0; border: 0; color: inherit; font-family: inherit; letter-spacing: normal; text-transform: none; }
.fcl-dash h1 { font-size: 22px; line-height: 1.2; font-weight: 650; }
.fcl-dash h2 { font-size: 15px; font-weight: 650; }
.fcl-dash h3 { font-size: 13px; font-weight: 600; color: var(--fd-mut); margin: 12px 0 4px; }
.fcl-dash button { font: inherit; }
.fcl-dash .fd-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fcl-dash .fd-muted { color: var(--fd-mut); }
.fcl-dash .fd-small { font-size: 12.5px; }
.fcl-dash .fd-warn { color: var(--fd-warn); }
.fcl-dash .fcl-loading { padding: 40px; text-align: center; color: #777; }

/* header */
.fcl-dash .fd-head { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; margin-bottom: 10px; }
.fcl-dash .fd-sub { color: var(--fd-mut); font-size: 13px; margin-top: 2px; }
.fcl-dash .fd-headr { display: flex; gap: 8px; align-items: center; flex-shrink: 0; }
.fcl-dash .fd-status { font-size: 12.5px; white-space: nowrap; }
.fcl-dash .fd-status.ok { color: var(--fd-ok); }
.fcl-dash .fd-status.ok::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.fcl-dash .fd-status.warn { color: var(--fd-warn); }
.fcl-dash .fd-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 1px solid var(--fd-line); border-radius: 8px; background: var(--fd-card); color: var(--fd-ink); cursor: pointer; text-decoration: none; font-size: 13.5px; line-height: 1.2; }
.fcl-dash .fd-btn:hover { border-color: var(--fd-mut); }
.fcl-dash .fd-btn.danger { background: var(--fd-accent); color: #fff; border-color: var(--fd-accent); }
.fcl-dash .fd-btn:focus-visible, .fcl-dash .fd-day:focus-visible, .fcl-dash .fd-tab:focus-visible, .fcl-dash input:focus-visible { outline: 2px solid var(--fd-blue); outline-offset: 2px; }

/* QR */
.fcl-dash .fd-qr { display: flex; gap: 16px; align-items: center; background: var(--fd-card); border: 1px solid var(--fd-line); border-radius: 12px; padding: 14px; margin-bottom: 10px; }
.fcl-dash .fd-qr[hidden] { display: none; }
.fcl-dash .fd-qrimg { width: 140px; flex-shrink: 0; background: #fff; padding: 6px; border-radius: 8px; }
.fcl-dash .fd-qrimg svg { display: block; width: 100%; height: auto; }
.fcl-dash .fd-qrt { font-weight: 650; }
.fcl-dash .fd-url { word-break: break-all; font-size: 13px; margin: 2px 0 10px; }
.fcl-dash .fd-qrb { display: flex; gap: 8px; flex-wrap: wrap; }

/* days */
.fcl-dash .fd-days { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 2px; margin-bottom: 10px; scrollbar-width: none; }
.fcl-dash .fd-day { flex: 1 0 auto; min-width: 64px; display: flex; flex-direction: column; align-items: center; padding: 7px 10px; border-radius: 10px; border: 1px solid var(--fd-line); background: var(--fd-card); color: var(--fd-ink); cursor: pointer; }
.fcl-dash .fd-day.sel { background: var(--fd-ink); color: var(--fd-card); border-color: var(--fd-ink); }
.fcl-dash .fd-dn { font-weight: 650; font-size: 14px; }
.fcl-dash .fd-dd { font-size: 11.5px; opacity: .75; }
.fcl-dash .fd-livedot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--fd-accent); vertical-align: 2px; }

/* weather + alerts */
.fcl-dash .fd-wx { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: var(--fd-mut); padding: 7px 12px; border-radius: 10px; background: var(--fd-card); border: 1px solid var(--fd-line); margin-bottom: 10px; }
.fcl-dash .fd-wx .fd-adv { color: var(--fd-warn); }
.fcl-dash .fd-alert { display: flex; gap: 12px; align-items: center; background: var(--fd-alert-bg); color: var(--fd-alert-ink); border: 1px solid currentColor; border-radius: 12px; padding: 12px 14px; margin-bottom: 8px; }
.fcl-dash .fd-ai { font-size: 22px; line-height: 1; }
.fcl-dash .fd-asub { font-size: 12.5px; opacity: .9; margin-top: 2px; }
.fcl-dash .fd-clock { margin-left: auto; font-size: 28px; font-weight: 700; font-variant-numeric: tabular-nums; }
.fcl-dash .fd-adminbar { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; padding: 8px 12px; border: 1px dashed var(--fd-accent); border-radius: 10px; margin-bottom: 10px; font-size: 13px; }

/* cards */
.fcl-dash .fd-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 12px; margin-bottom: 12px; }
.fcl-dash .fd-card { background: var(--fd-card); border: 1px solid var(--fd-line); border-radius: 14px; padding: 14px 16px; min-width: 0; }
.fcl-dash .fd-oncourse { border-top: 3px solid var(--fd-accent); }
.fcl-dash .fd-ch { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin-bottom: 8px; flex-wrap: wrap; }

/* lanes */
.fcl-dash .fd-lane { display: flex; gap: 10px; align-items: flex-start; padding: 7px 0; border-bottom: 1px solid var(--fd-line); }
.fcl-dash .fd-lane:last-of-type { border-bottom: 0; }
.fcl-dash .fd-tag { font-size: 11px; font-weight: 700; padding: 2px 7px; border-radius: 5px; color: #fff; flex-shrink: 0; margin-top: 2px; }
.fcl-dash .fd-tag.blue { background: #1d5fbf; }
.fcl-dash .fd-tag.red { background: #c62828; }
.fcl-dash .fd-lb { flex: 1; min-width: 0; }
.fcl-dash .fd-ln { font-weight: 650; }
.fcl-dash .fd-ls { font-size: 13px; color: var(--fd-mut); }
.fcl-dash .fd-lm { font-size: 12.5px; color: var(--fd-mut); }
.fcl-dash .fd-res { font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fcl-dash .fd-res.bad { color: var(--fd-x); }
.fcl-dash .fd-now { color: var(--fd-on); font-weight: 650; }
.fcl-dash .fd-next { border-top: 1px solid var(--fd-line); margin-top: 8px; }
.fcl-dash .fd-nx { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 0 10px; padding: 6px 0; border-bottom: 1px solid var(--fd-line); font-size: 13.5px; }
.fcl-dash .fd-nx:last-child { border-bottom: 0; }
.fcl-dash .fd-nxl { grid-column: 1 / -1; font-size: 12.5px; }
.fcl-dash .fd-race { font-weight: 650; }
.fcl-dash .fd-nxt { white-space: nowrap; text-align: right; }
.fcl-dash .fd-vs { color: var(--fd-mut); font-size: 12px; }

/* schedule + search */
.fcl-dash .fd-delta { font-weight: 700; }
.fcl-dash .fd-delta.ok { color: var(--fd-ok); }
.fcl-dash .fd-delta.warn { color: var(--fd-warn); }
.fcl-dash .fd-search input { width: 100%; margin-top: 10px; padding: 10px 12px; font-size: 16px; border-radius: 10px; border: 1px solid var(--fd-line); background: var(--fd-bg); color: var(--fd-ink); }
.fcl-dash .fd-results { margin-top: 8px; }
.fcl-dash .fd-hit { border: 1px solid var(--fd-line); border-radius: 10px; padding: 10px 12px; margin-top: 8px; }
.fcl-dash .fd-pill { font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 999px; background: var(--fd-track); }
.fcl-dash .fd-pill.c2 { background: #e3ecfb; color: #1d4f9c; }
.fcl-dash .fd-pill.c3 { background: #fbe9e7; color: #9c2a1d; }
.fcl-dash .fd-runs { width: 100%; border-collapse: collapse; margin-top: 6px; font-size: 13.5px; }
.fcl-dash .fd-runs td { padding: 5px 4px; border-top: 1px solid var(--fd-line); vertical-align: top; }
.fcl-dash .fd-runs td:first-child { width: 44px; color: var(--fd-mut); }
.fcl-dash .fd-runs tr.today td { background: rgba(229,154,26,.08); }
.fcl-dash .fd-rt { text-align: right; white-space: nowrap; }

/* rounds */
.fcl-dash .fd-round { margin-bottom: 10px; }
.fcl-dash .fd-rh { display: flex; justify-content: space-between; gap: 8px; font-size: 13.5px; margin-bottom: 4px; flex-wrap: wrap; }
.fcl-dash .fd-bar { display: flex; height: 12px; border-radius: 6px; overflow: hidden; background: var(--fd-track); }
.fcl-dash .fd-bar.est { background: transparent; border: 1px dashed var(--fd-mut); }
.fcl-dash .fd-bar i, .fcl-dash .fd-legend i { display: block; height: 100%; }
.fcl-dash .fd-bar .f, .fcl-dash .fd-legend .f { background: var(--fd-fin); }
.fcl-dash .fd-bar .o, .fcl-dash .fd-legend .o { background: var(--fd-on); }
.fcl-dash .fd-bar .x, .fcl-dash .fd-legend .x { background: var(--fd-x); }
.fcl-dash .fd-legend { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--fd-mut); margin-top: 6px; }
.fcl-dash .fd-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; margin-right: 5px; vertical-align: -1px; }
.fcl-dash .fd-legend .e { border: 1px dashed var(--fd-mut); }

/* youtube */
.fcl-dash .fd-video { position: relative; aspect-ratio: 16 / 9; background: #000; border-radius: 10px; overflow: hidden; }
.fcl-dash .fd-video iframe, .fcl-dash .fd-chat iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.fcl-dash .fd-novid { display: flex; align-items: center; justify-content: center; text-align: center; padding: 20px; color: #ccc; font-size: 13.5px; }
.fcl-dash .fd-chat { position: relative; height: 340px; margin-top: 10px; border-radius: 10px; overflow: hidden; border: 1px solid var(--fd-line); }
.fcl-dash .fd-chatlink { margin-top: 10px; }
.fcl-dash .fd-yt .fd-small { margin-top: 4px; }

/* categories */
.fcl-dash .fd-tabs { display: flex; gap: 4px; }
.fcl-dash .fd-tab { padding: 6px 12px; border-radius: 8px; border: 1px solid var(--fd-line); background: transparent; color: var(--fd-ink); cursor: pointer; font-size: 13.5px; }
.fcl-dash .fd-tab.sel { background: var(--fd-ink); color: var(--fd-card); border-color: var(--fd-ink); }
.fcl-dash .fd-tablewrap { overflow-x: auto; }
.fcl-dash .fd-table { width: 100%; border-collapse: collapse; font-size: 13.5px; font-variant-numeric: tabular-nums; margin: 0; }
.fcl-dash .fd-table th { text-align: left; font-weight: 600; font-size: 12px; color: var(--fd-mut); padding: 6px 8px; border-bottom: 1px solid var(--fd-line); white-space: nowrap; background: transparent; }
.fcl-dash .fd-table td { padding: 6px 8px; border-bottom: 1px solid var(--fd-line); white-space: nowrap; background: transparent; }
.fcl-dash .fd-table td:first-child { white-space: normal; min-width: 170px; }
.fcl-dash .fd-open { font-size: 11px; color: var(--fd-ok); margin-left: 4px; }
.fcl-dash .fd-star { color: var(--fd-accent); font-weight: 700; margin-left: 2px; }
.fcl-dash #fd-cats p { margin-top: 8px; }
.fcl-dash .fd-foot { text-align: center; font-size: 12px; color: var(--fd-mut); padding: 14px 0 4px; }

@media (max-width: 900px) {
  .fcl-dash .fd-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
  .fcl-dash { padding: 10px; font-size: 14.5px; }
  .fcl-dash h1 { font-size: 18px; }
  .fcl-dash .fd-head { flex-direction: column; }
  .fcl-dash .fd-card { padding: 12px; }
  .fcl-dash .fd-qr { flex-direction: column; text-align: center; }
  .fcl-dash .fd-qrb { justify-content: center; }
  .fcl-dash .fd-clock { font-size: 22px; }
  .fcl-dash .fd-table td:first-child { min-width: 130px; }
}

/* category standings dropdown */
.fcl-dash .fd-catbtn { display: inline-flex; align-items: baseline; gap: 6px; padding: 0; margin: 0; border: 0; background: none; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.fcl-dash .fd-catbtn:hover { color: var(--fd-blue); }
.fcl-dash .fd-chev { width: 10px; color: var(--fd-mut); font-size: 11px; }
.fcl-dash .fd-table tr.fd-standrow > td { white-space: normal; background: var(--fd-bg); padding: 10px 12px 12px; }
.fcl-dash .fd-sw { display: inline-flex; border: 1px solid var(--fd-line); border-radius: 8px; overflow: hidden; margin-bottom: 8px; }
.fcl-dash .fd-swb { padding: 5px 12px; border: 0; background: var(--fd-card); color: var(--fd-ink); cursor: pointer; font-size: 13px; }
.fcl-dash .fd-swb.sel { background: var(--fd-ink); color: var(--fd-card); }
.fcl-dash .fd-stand { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; }
.fcl-dash .fd-stand th { text-align: left; font-size: 11.5px; font-weight: 600; color: var(--fd-mut); padding: 4px 6px; border-bottom: 1px solid var(--fd-line); }
.fcl-dash .fd-stand td { padding: 5px 6px; border-bottom: 1px solid var(--fd-line); vertical-align: top; white-space: nowrap; }
.fcl-dash .fd-stand td:nth-child(2) { white-space: normal; width: 100%; }
.fcl-dash .fd-stand td:first-child { color: var(--fd-mut); width: 28px; }
.fcl-dash .fd-stand tr.outq td { color: var(--fd-mut); }
.fcl-dash .fd-stand tr.cutline td { border-bottom: 2px solid var(--fd-accent); }

/* divisions + minimums */
.fcl-dash .fd-table tr.fd-grp td { font-size: 11.5px; font-weight: 700; color: var(--fd-mut); text-transform: uppercase; letter-spacing: .04em; padding-top: 12px; background: transparent; }
.fcl-dash .fd-table tr.low td { background: rgba(229,154,26,.10); }
.fcl-dash .fd-low { color: var(--fd-warn); font-size: 11.5px; font-weight: 700; white-space: nowrap; }

/* requests */
.fcl-dash #fd-req { margin-top: 12px; }
.fcl-dash .fd-reqform { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 14px; margin-top: 12px; }
.fcl-dash .fd-reqform[hidden], .fcl-dash .fd-f[hidden] { display: none; }
.fcl-dash .fd-f { display: flex; flex-direction: column; gap: 4px; font-size: 13px; color: var(--fd-mut); }
.fcl-dash .fd-full { grid-column: 1 / -1; }
.fcl-dash .fd-f input, .fcl-dash .fd-f select, .fcl-dash .fd-f textarea { font: inherit; font-size: 16px; color: var(--fd-ink); background: var(--fd-bg); border: 1px solid var(--fd-line); border-radius: 8px; padding: 9px 10px; width: 100%; }
.fcl-dash .fd-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fcl-dash .fd-reqfoot { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.fcl-dash .fd-err { color: var(--fd-x); }
.fcl-dash .fd-ok { margin-top: 10px; padding: 10px 12px; border-radius: 10px; background: rgba(46,125,50,.10); color: var(--fd-ok); }
.fcl-dash .fd-linkbtn { border: 0; background: none; padding: 0; margin: 4px 0 0; color: var(--fd-blue); font-size: 12.5px; cursor: pointer; text-decoration: underline; }
@media (max-width: 600px) { .fcl-dash .fd-reqform { grid-template-columns: minmax(0, 1fr); } }
.fcl-dash .fd-sunw { display: inline-flex; align-items: center; gap: 4px; }
.fcl-dash .fd-sun { width: 18px; height: 18px; flex-shrink: 0; }
.fcl-dash .fd-reslink { color: var(--fd-blue); font-weight: 600; font-size: 13.5px; }
.fcl-dash .fd-resbtn { display: flex; flex-direction: column; align-items: center; gap: 2px; margin: 12px 0 0; padding: 18px 16px; border-radius: 14px; background: var(--fd-blue); color: #fff; text-decoration: none; text-align: center; }
.fcl-dash .fd-resbtn:hover { filter: brightness(1.08); color: #fff; }
.fcl-dash .fd-resbt { font-size: 20px; font-weight: 700; line-height: 1.25; }
.fcl-dash .fd-ressub { font-size: 14px; opacity: .9; }
@media (max-width: 600px) { .fcl-dash .fd-resbt { font-size: 17px; } }

/* 1.5.0: banner, soft logo background, lane chips, weather label */
.fcl-dash { position: relative; isolation: isolate; }
.fcl-dash::before {
  content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: url("worlds-logo.webp") center 55% / min(78vmin, 640px) no-repeat;
  opacity: .16;
}
@media (prefers-color-scheme: dark) { body.fcl-dash-page .fcl-dash::before { opacity: .10; } }
.fcl-dash .fd-card, .fcl-dash .fd-wx, .fcl-dash .fd-day { background: color-mix(in srgb, var(--fd-card) 86%, transparent); }
.fcl-dash .fd-day.sel { background: var(--fd-ink); }
.fcl-dash .fd-bannerwrap { margin: -16px -16px 14px; overflow: hidden; background: #0b0f17; }
.fcl-dash .fd-banner { display: block; width: 100%; height: auto; max-height: 220px; object-fit: cover; object-position: center; }
@media (max-width: 600px) { .fcl-dash .fd-bannerwrap { margin: -10px -10px 10px; } }
.fcl-dash .fd-chip { display: inline-block; padding: 2px 8px; border-radius: 6px; color: #fff; font-weight: 600; line-height: 1.35; margin: 1px 0; }
.fcl-dash .fd-chip.blue { background: #1d5fbf; }
.fcl-dash .fd-chip.red { background: #c62828; }
.fcl-dash .fd-nxn { line-height: 1.9; }
.fcl-dash .fd-wxl { font-weight: 700; color: var(--fd-ink); }
.fcl-dash .fd-wx.fc { border-style: dashed; }
.fcl-dash .fd-resbtn { margin: 14px 0 0; }

/* 1.5.1 */
.fcl-dash .fd-wxt { display: inline-flex; border: 1px solid var(--fd-line); border-radius: 7px; overflow: hidden; }
.fcl-dash .fd-wxt button { border: 0; background: transparent; color: var(--fd-mut); font-size: 12px; padding: 2px 9px; cursor: pointer; }
.fcl-dash .fd-wxt button.sel { background: var(--fd-ink); color: var(--fd-card); }
.fcl-dash .fd-uplist { max-height: 580px; overflow-y: auto; overscroll-behavior: contain; margin-right: -6px; padding-right: 6px; scroll-behavior: auto; }
.fcl-dash .fd-uplist .up-d { opacity: .62; }
.fcl-dash .fd-uplist .up-o { background: rgba(229,154,26,.10); border-radius: 8px; padding-left: 6px; padding-right: 6px; }
.fcl-dash .fd-chip b { font-weight: 700; margin-left: 2px; }
.fcl-dash .fd-vsline { margin-top: 3px; line-height: 1.9; }
.fcl-dash .fd-vsline .fd-chip { font-size: 12.5px; }
.fcl-dash .fd-resbtn { background: #e2001a; }
.fcl-dash .fd-resbtn:hover { background: #b80015; filter: none; }

/* 1.5.4: clickable lane chips, athlete / team card, moved for minimum not met */
.fcl-dash button.fd-chip { border: 0; font: inherit; font-weight: 600; cursor: pointer; text-align: left; }
.fcl-dash button.fd-chip:hover { filter: brightness(1.12); }
.fcl-dash button.fd-chip:focus-visible, .fcl-dash button.fd-tag:focus-visible, .fcl-dash .fd-namebtn:focus-visible, .fcl-dash .fd-popx:focus-visible { outline: 2px solid var(--fd-ink); outline-offset: 2px; }
.fcl-dash button.fd-tag { border: 0; font-family: inherit; cursor: pointer; }
.fcl-dash .fd-namebtn { border: 0; background: none; padding: 0; margin: 0; font: inherit; font-weight: 600; color: inherit; cursor: pointer; text-align: left; text-decoration: underline; text-decoration-color: var(--fd-line); text-underline-offset: 3px; }
.fcl-dash .fd-namebtn:hover { text-decoration-color: currentColor; }
.fcl-dash .fd-mvdot { font-size: 11px; }
.fcl-dash .fd-mv { color: var(--fd-warn); font-size: 11.5px; font-weight: 700; white-space: nowrap; }
.fcl-dash .fd-mvnote { color: var(--fd-warn); font-size: 12px; margin-top: 1px; }
.fcl-dash .fd-mvtag { font-size: 11px; font-weight: 600; color: var(--fd-warn); border: 1px solid currentColor; border-radius: 999px; padding: 0 6px; margin-left: 4px; white-space: nowrap; }
.fcl-dash .fd-pop { position: absolute; z-index: 50; background: var(--fd-card); color: var(--fd-ink); border: 1px solid var(--fd-line); border-radius: 12px; box-shadow: 0 10px 30px rgba(0,0,0,.18); padding: 12px 14px; font-size: 13.5px; }
.fcl-dash .fd-poph { display: flex; align-items: center; gap: 6px; }
.fcl-dash .fd-popx { margin-left: auto; border: 0; background: none; font-size: 20px; line-height: 1; padding: 0 2px; color: var(--fd-mut); cursor: pointer; }
.fcl-dash .fd-popn { font-weight: 700; font-size: 16px; margin: 8px 0 4px; }
.fcl-dash .fd-popmv { margin-bottom: 6px; }
.fcl-dash .fd-popdl { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 3px 12px; margin: 6px 0 10px; }
.fcl-dash .fd-popdl dt { color: var(--fd-mut); font-size: 12.5px; }
.fcl-dash .fd-popdl dd { margin: 0; }
.fcl-dash .fd-popb { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.fcl-dash .fd-popb .fd-linkbtn { margin: 0; }

/* 1.5.5: moved out, unranked rows */
.fcl-dash .fd-mvnote { font-weight: 600; }
.fcl-dash .fd-mvout { font-size: 11.5px; font-weight: 700; color: #fff; background: var(--fd-warn); border-radius: 999px; padding: 1px 8px; margin-left: 4px; white-space: nowrap; }
.fcl-dash .fd-stand .fd-grp td { font-size: 11.5px; text-transform: uppercase; letter-spacing: .04em; color: var(--fd-mut); padding-top: 10px; }
.fcl-dash .fd-stand .fd-unr td { color: var(--fd-ink); }
@media (max-width: 600px) { .fcl-dash .fd-mvout, .fcl-dash .fd-mvtag { white-space: normal; } }
.fcl-dash .fd-subh { margin-top: 2px; }

/* 1.6.0: language picker */
.fcl-dash .fd-lang { position: relative; display: inline-flex; align-items: center; }
.fcl-dash .fd-langi { position: absolute; left: 9px; font-size: 14px; pointer-events: none; }
.fcl-dash .fd-lang select { appearance: none; -webkit-appearance: none; font: inherit; font-size: 14px; color: var(--fd-ink); background: var(--fd-card); border: 1px solid var(--fd-line); border-radius: 8px; padding: 6px 26px 6px 30px; cursor: pointer; line-height: 1.3;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: right 12px center, right 7px center; background-size: 5px 5px; background-repeat: no-repeat; }
.fcl-dash .fd-lang select:focus-visible { outline: 2px solid var(--fd-ink); outline-offset: 2px; }
.fcl-dash .fd-headr { flex-wrap: wrap; justify-content: flex-end; }

/* 1.6.1: class-only teams */
.fcl-dash .fd-co { display: inline-block; font-size: 11px; font-weight: 700; color: #6a3fb5; border: 1px solid currentColor; border-radius: 999px; padding: 0 6px; margin-left: 4px; white-space: nowrap; vertical-align: 1px; }
@media (prefers-color-scheme: dark) { body.fcl-dash-page .fcl-dash .fd-co { color: #c3a6ff; } }
.fcl-dash .fd-stand .fd-corow td { background: rgba(106,63,181,.05); }

/* 1.6.3: by category / by name toggle */
.fcl-dash .fd-cath { flex-wrap: wrap; gap: 8px; align-items: center; }
.fcl-dash .fd-viewsw { margin-bottom: 0; }
.fcl-dash .fd-namebtn { background: none; border: 0; padding: 0; font: inherit; font-weight: 600; color: var(--fd-ink); cursor: pointer; text-align: left; text-decoration: underline dotted; text-underline-offset: 3px; }
.fcl-dash .fd-namebtn:hover, .fcl-dash .fd-namebtn:focus-visible { color: #1d5fbf; }
.fcl-dash .fd-inslot { color: var(--fd-ok); font-weight: 600; }
.fcl-dash .fd-jump { display: flex; flex-wrap: wrap; gap: 3px; margin: 4px 0 8px; }
.fcl-dash .fd-jumpb { min-width: 26px; padding: 3px 6px; border: 1px solid var(--fd-line); border-radius: 6px; background: var(--fd-card); color: var(--fd-ink); font-size: 12px; font-weight: 600; cursor: pointer; }
.fcl-dash .fd-jumpb:hover { background: var(--fd-ink); color: var(--fd-card); }
.fcl-dash .fd-byname tr.fd-grp td { scroll-margin-top: 12px; }
.fcl-dash .fd-byname td { vertical-align: top; }
@media (max-width: 640px) {
  .fcl-dash .fd-byname thead { display: none; }
  .fcl-dash .fd-byname tbody tr:not(.fd-grp) { display: grid; grid-template-columns: 1fr auto; column-gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--fd-line); }
  .fcl-dash .fd-byname tbody tr:not(.fd-grp) td { border: 0; padding: 1px 0; }
  .fcl-dash .fd-byname td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .fcl-dash .fd-byname td:nth-child(2) { grid-column: 1; grid-row: 2; font-size: 13px; }
  .fcl-dash .fd-byname td:nth-child(3) { grid-column: 2; grid-row: 1; text-align: right; white-space: nowrap; }
  .fcl-dash .fd-byname td:nth-child(4) { grid-column: 2; grid-row: 2; text-align: right; white-space: nowrap; font-size: 13px; }
  .fcl-dash .fd-byname td:nth-child(5) { grid-column: 1 / -1; grid-row: 3; font-size: 13px; }
  .fcl-dash .fd-byname td:nth-child(5):empty { display: none; }
  .fcl-dash .fd-byname tr.fd-grp { display: block; }
  .fcl-dash .fd-byname tr.fd-grp td { display: block; }
}

/* 1.7.0: guide links, penalties, check-in, FD Showdown, related rules */
.fcl-dash .fd-guide { font-size: 12px; white-space: nowrap; color: #1d5fbf; text-decoration: none; margin-left: 2px; }
.fcl-dash .fd-guide:hover { text-decoration: underline; }
.fcl-dash .fd-pen { display: inline-block; margin-left: 4px; padding: 0 6px; border: 1px solid #e0a100; border-radius: 10px; background: #fff7e0; color: #7a5200; font: 600 11.5px/1.6 inherit; font-family: inherit; cursor: pointer; vertical-align: 1px; white-space: nowrap; }
.fcl-dash .fd-pen.dq { border-color: #c62828; background: #fdecec; color: #a01919; }
.fcl-dash .fd-pen:hover, .fcl-dash .fd-pen:focus-visible { filter: brightness(.95); outline: 2px solid currentColor; outline-offset: 1px; }
.fcl-dash .fd-poptitle { font-weight: 700; }
.fcl-dash .fd-penlist { margin: 6px 0 8px; padding-left: 18px; font-size: 13px; }
.fcl-dash .fd-penlist li { margin: 4px 0; }
.fcl-dash .fd-nc { display: inline-block; margin-left: 4px; padding: 0 6px; border-radius: 10px; background: #fdecec; color: #a01919; font-size: 11.5px; font-weight: 600; line-height: 1.6; white-space: nowrap; }
.fcl-dash .fd-sdh { margin: 14px 0 6px; font-size: 15px; }
.fcl-dash .fd-sd td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; }
.fcl-dash .fd-sdms { min-width: 220px; }
.fcl-dash .fd-sdm { display: block; margin: 1px 0; color: var(--fd-mut); }
.fcl-dash .fd-sdm .fd-namebtn { font-weight: 500; color: inherit; }
.fcl-dash .fd-sdm.cnt { color: var(--fd-ink); }
.fcl-dash .fd-sdm.cnt .fd-namebtn, .fcl-dash .fd-sdm.cnt .fd-res { font-weight: 700; }
.fcl-dash .fd-inel { color: #a01919; font-weight: 600; }
.fcl-dash tr.fd-inelrow td { background: #fff4f4; }
.fcl-dash .fd-reqrules { border: 1px solid var(--fd-line); border-left: 4px solid #1d5fbf; border-radius: 8px; padding: 8px 12px; background: var(--fd-card); }
.fcl-dash .fd-rulesh { margin: 0 0 6px; font-weight: 700; font-size: 13.5px; }
.fcl-dash .fd-rule { margin: 6px 0 10px; font-size: 13px; }
.fcl-dash .fd-rule p { margin: 2px 0 0; line-height: 1.45; }
.fcl-dash .fd-rule mark { background: #ffe58a; color: inherit; padding: 0 1px; border-radius: 2px; }
@media (prefers-color-scheme: dark) {
  body.fcl-dash-page .fcl-dash .fd-pen { background: #3a2e0a; color: #ffd36b; border-color: #8a6a10; }
  body.fcl-dash-page .fcl-dash .fd-pen.dq, body.fcl-dash-page .fcl-dash .fd-nc { background: #3d1616; color: #ff9b9b; border-color: #8a2a2a; }
  body.fcl-dash-page .fcl-dash tr.fd-inelrow td { background: #2a1717; }
  body.fcl-dash-page .fcl-dash .fd-inel { color: #ff9b9b; }
  body.fcl-dash-page .fcl-dash .fd-rule mark { background: #6b5500; }
  body.fcl-dash-page .fcl-dash .fd-guide { color: #7fb0ff; }
}
.fcl-dash .fd-sd { table-layout: fixed; }
.fcl-dash .fd-sd th:nth-child(1), .fcl-dash .fd-sd td:nth-child(1) { width: 36px; }
.fcl-dash .fd-sd th:nth-child(2) { width: 38%; }
.fcl-dash .fd-sd th:nth-child(4) { width: 90px; }
@media (max-width: 640px) {
  .fcl-dash .fd-sd, .fcl-dash .fd-sd tbody { display: block; width: 100%; min-width: 0; table-layout: auto; }
  .fcl-dash .fd-sd thead { display: none; }
  .fcl-dash .fd-sd tbody tr { display: grid; grid-template-columns: 28px minmax(0, 1fr) auto; column-gap: 8px; padding: 8px 0; border-bottom: 1px solid var(--fd-line); }
  .fcl-dash .fd-sd tbody td { border: 0; padding: 1px 0; width: auto !important; }
  .fcl-dash .fd-sd td:nth-child(1) { grid-column: 1; grid-row: 1; }
  .fcl-dash .fd-sd td:nth-child(2) { grid-column: 2; grid-row: 1; min-width: 0; }
  .fcl-dash .fd-sd .fd-ln { white-space: normal; }
  .fcl-dash .fd-sd td:nth-child(4) { grid-column: 3; grid-row: 1; text-align: right; white-space: nowrap; }
  .fcl-dash .fd-sd td:nth-child(3) { grid-column: 2 / -1; grid-row: 2; font-size: 13px; min-width: 0; }
  .fcl-dash .fd-cath .fd-tab { padding-left: 10px; padding-right: 10px; }
}

/* 1.7.2: check-in */
.fcl-dash .fd-ncbar { margin: 4px 0 8px; padding: 8px 10px; border-radius: 8px; background: #fdecec; color: #8f1414; font-size: 13px; font-weight: 600; border-left: 4px solid #c62828; }
.fcl-dash .fd-popnc { margin: -2px 0 8px; }
.fcl-dash .fd-nxn .fd-nc { vertical-align: 1px; }
@media (prefers-color-scheme: dark) { body.fcl-dash-page .fcl-dash .fd-ncbar { background: #3d1616; color: #ffb4ab; } }

/* 1.7.3: please see the timer / check-in tent */
.fcl-dash .fd-see { display: inline-block; margin-left: 4px; padding: 0 7px; border-radius: 10px; font-size: 11.5px; font-weight: 700; line-height: 1.6; white-space: nowrap; color: #fff; }
.fcl-dash .fd-seet { background: #b35c00; }
.fcl-dash .fd-seec { background: #5a2ea6; }
.fcl-dash .fd-seebar { margin: 4px 0 8px; padding: 8px 10px; border-radius: 8px; background: #fff3e0; color: #7a3d00; font-size: 13px; font-weight: 600; border-left: 4px solid #b35c00; }
@media (prefers-color-scheme: dark) { body.fcl-dash-page .fcl-dash .fd-seebar { background: #3a2a10; color: #ffcf8a; } }

/* 1.7.7: search the guide */
.fcl-dash .fd-gsearch input { margin-top: 4px; }
.fcl-dash .fd-gres:not(:empty) { margin-top: 8px; border: 1px solid var(--fd-line); border-left: 4px solid #1d5fbf; border-radius: 8px; padding: 6px 12px; max-height: 480px; overflow-y: auto; }

/* 1.7.8: searches first; Guide to the Challenge card */
.fcl-dash .fd-col { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.fcl-dash .fd-col > .fd-card { margin: 0; }
.fcl-dash .fd-searchrow { align-items: start; }
.fcl-dash .fd-guidecard .fd-ch .fd-guide { font-size: 13px; }

/* 1.7.9: Showdown declarations with fewer than 3 members */
.fcl-dash .fd-sdfew { margin: 6px 0 12px; line-height: 1.7; color: var(--fd-mut); }
.fcl-dash .fd-sdfew .fd-namebtn { font-weight: 500; color: var(--fd-ink); }
.fcl-dash .fd-sdfewi { white-space: normal; }

/* 1.8.2: mobile readability: start times up front, category cards, run cards */
.fcl-dash .fd-nx { display: block; }
.fcl-dash .fd-nxh { display: flex; justify-content: space-between; align-items: flex-start; gap: 4px 12px; flex-wrap: wrap; margin-bottom: 2px; }
.fcl-dash .fd-nxh .fd-nxl { font-size: 12.5px; padding-top: 3px; }
.fcl-dash .fd-nxt { text-align: right; line-height: 1.2; }
.fcl-dash .fd-when { font-size: 16px; font-weight: 750; font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--fd-ink); }
.fcl-dash .fd-est { display: block; font-size: 11.5px; color: var(--fd-mut); white-space: nowrap; }
.fcl-dash .fd-nextup { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2px 12px; margin: 8px 0 4px; padding: 8px 12px; border-radius: 10px; background: var(--fd-bg); border-left: 4px solid var(--fd-ink); }
.fcl-dash .fd-nextup.on { border-left-color: var(--fd-on); }
.fcl-dash .fd-nextl { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; color: var(--fd-mut); }
.fcl-dash .fd-nextt { grid-row: 1 / span 2; grid-column: 2; text-align: right; }
.fcl-dash .fd-nextt .fd-when { font-size: 20px; }
.fcl-dash .fd-nextr { font-size: 13px; }
.fcl-dash .fd-nextr .fd-tag { display: inline-block; margin: 0; }

@media (max-width: 640px) {
  .fcl-dash .fd-when { font-size: 18px; }
  .fcl-dash .fd-nextt .fd-when { font-size: 22px; }
  .fcl-dash .fd-chip { font-size: 13.5px; }
  .fcl-dash .fd-uplist { max-height: 70vh; }

  /* search results: each run is a card row (day + start time on top, race details below) */
  .fcl-dash .fd-runs, .fcl-dash .fd-runs tbody { display: block; }
  .fcl-dash .fd-runs tr { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; column-gap: 10px; border-top: 1px solid var(--fd-line); padding: 6px 4px; }
  .fcl-dash .fd-runs td { display: block; border: 0; padding: 0; width: auto !important; }
  .fcl-dash .fd-runs td:nth-child(1) { grid-column: 1; grid-row: 1; font-weight: 700; color: var(--fd-ink); padding-top: 2px; }
  .fcl-dash .fd-runs td.fd-rt { grid-column: 2; grid-row: 1; text-align: right; }
  .fcl-dash .fd-runs td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; margin-top: 2px; }
  .fcl-dash .fd-runs tr.today { background: rgba(229,154,26,.10); border-radius: 8px; }
  .fcl-dash .fd-runs tr.today td { background: transparent; }
  .fcl-dash .fd-cattbl .fd-chev { margin-right: 5px; }

  /* category table: one card per category, stats as labelled chips */
  .fcl-dash .fd-cattbl thead { display: none; }
  .fcl-dash .fd-cattbl, .fcl-dash .fd-cattbl tbody { display: block; }
  .fcl-dash .fd-cattbl tr { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 9px 2px; border-bottom: 1px solid var(--fd-line); }
  .fcl-dash .fd-cattbl tr.fd-grp, .fcl-dash .fd-cattbl tr.fd-standrow { display: block; padding: 0; }
  .fcl-dash .fd-cattbl tr.fd-grp td { display: block; padding: 12px 2px 4px; }
  .fcl-dash .fd-cattbl tr.fd-standrow > td { display: block; }
  .fcl-dash .fd-cattbl td { border: 0; padding: 0; white-space: nowrap; }
  .fcl-dash .fd-cattbl tr:not(.fd-grp):not(.fd-standrow) td:first-child { flex: 1 1 100%; min-width: 0; font-weight: 650; white-space: normal; }
  .fcl-dash .fd-cattbl td[data-l] { font-size: 13px; background: var(--fd-track); border-radius: 6px; padding: 2px 7px; font-variant-numeric: tabular-nums; }
  .fcl-dash .fd-cattbl td[data-l]::before { content: attr(data-l) " "; color: var(--fd-mut); font-size: 11.5px; }
  .fcl-dash .fd-cattbl .fd-catbtn { display: block; }
  .fcl-dash .fd-cattbl .fd-low, .fcl-dash .fd-cattbl .fd-mvtag, .fcl-dash .fd-cattbl .fd-mvout { display: inline-block; margin-top: 4px; }
}

/* 1.8.3: phones: start time below the race (never off to the right), everything wraps, no sideways scrolling */
@media (max-width: 640px) {
  .fcl-dash { overflow-x: clip; max-width: 100vw; }
  .fcl-dash .fd-nxh { display: block; }
  .fcl-dash .fd-nxh .fd-nxl { padding-top: 0; }
  .fcl-dash .fd-nxt { text-align: left; white-space: normal; margin: 1px 0 4px; }
  .fcl-dash .fd-nxt .fd-est { display: inline; margin-left: 6px; }
  .fcl-dash .fd-nextup { display: block; }
  .fcl-dash .fd-nextt { text-align: left; margin: 2px 0; }
  .fcl-dash .fd-runs tr { grid-template-columns: auto minmax(0, 1fr); }
  .fcl-dash .fd-runs td.fd-rt { grid-column: 2; grid-row: 1; text-align: left; white-space: normal; }
  .fcl-dash .fd-runs td.fd-rt .fd-small { display: inline; margin-left: 6px; }
  .fcl-dash .fd-see, .fcl-dash .fd-nc, .fcl-dash .fd-mv, .fcl-dash .fd-mvtag, .fcl-dash .fd-mvout, .fcl-dash .fd-low, .fcl-dash .fd-co, .fcl-dash .fd-guide { white-space: normal; max-width: 100%; }
  .fcl-dash .fd-chip, .fcl-dash .fd-namebtn, .fcl-dash .fd-ln, .fcl-dash .fd-hith strong { overflow-wrap: anywhere; max-width: 100%; }
  .fcl-dash .fd-cattbl td[data-l] { white-space: nowrap; }
  .fcl-dash .fd-status { white-space: normal; }
  .fcl-dash .fd-days { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 4px; overflow: visible; }
  .fcl-dash .fd-day { min-width: 0; padding: 6px 2px; }
  .fcl-dash .fd-tabs { flex-wrap: wrap; max-width: 100%; }
  .fcl-dash .fd-dn { font-size: 13px; }
  .fcl-dash .fd-dd { font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: clip; max-width: 100%; }
}

/* 1.8.4: page always fits the phone screen (no zoomed-out start, no blank sides) */
html:has(body.fcl-dash-page), body.fcl-dash-page { width: 100%; min-width: 0; max-width: 100%; overflow-x: hidden; }
.fcl-dash { width: 100%; min-width: 0; }
.fcl-dash img, .fcl-dash iframe, .fcl-dash video, .fcl-dash canvas, .fcl-dash svg, .fcl-dash table { max-width: 100%; }
.fcl-dash .fd-pop { max-width: calc(100vw - 16px); }
@media (max-width: 640px) {
  .fcl-dash .fd-lang select { font-size: 16px; } /* iOS zooms in on fields under 16px and stays zoomed */
  .fcl-dash input, .fcl-dash select, .fcl-dash textarea { font-size: 16px; max-width: 100%; }
  .fcl-dash .fd-head > *, .fcl-dash .fd-card, .fcl-dash .fd-grid > * { min-width: 0; max-width: 100%; }
}

/* 1.8.7: Lion's Den patch and House of Grind tier tab after the athlete's name */
.fcl-dash .fd-bdgs { display: inline-flex; align-items: center; gap: 3px; vertical-align: middle; white-space: nowrap; margin-left: 2px; }
.fcl-dash .fd-bdg { display: inline-block; height: 22px; width: auto; vertical-align: middle; margin: 0; border: 0; box-shadow: none; }
.fcl-dash .fd-grind { height: 22px; }
.fcl-dash .fd-bnew { font-size: 9.5px; font-weight: 800; letter-spacing: .04em; color: #7a5200; background: #ffd54a; border-radius: 4px; padding: 0 3px; line-height: 1.5; margin-left: -1px; }
.fcl-dash .fd-chip + .fd-bdgs { margin-left: 4px; }
@media (max-width: 640px) { .fcl-dash .fd-bdgs { white-space: nowrap; } }
/* 1.8.9: House of Grind resident patch + tier label */
.fcl-dash .fd-gtier { font-size: 10.5px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; color: #b8963e; background: #1b1b1a; border: 1px solid #b8963e; border-radius: 4px; padding: 0 4px; line-height: 1.5; }
/* 1.9.3: FD Showdown class */
.fcl-dash .fd-cls { display: inline-block; font-size: 11px; font-weight: 700; padding: 0 7px; border-radius: 999px; line-height: 1.6; white-space: nowrap; }
.fcl-dash .fd-cls.cM { background: #e3ecfb; color: #1d4f9c; }
.fcl-dash .fd-cls.cN { background: #f1e6fb; color: #5b2a8c; }
.fcl-dash .fd-clsrk { font-size: 11.5px; font-weight: 700; color: var(--fd-ink); }
.fcl-dash .fd-clsh { margin: 10px 0 4px; font-size: 13px; }
.fcl-dash .fd-sdsw { margin: 4px 0 8px; }
@media (prefers-color-scheme: dark) { body.fcl-dash-page .fcl-dash .fd-cls.cM { background: #1d3157; color: #a9c6ff; } body.fcl-dash-page .fcl-dash .fd-cls.cN { background: #3a2452; color: #d7b8ff; } }
