

/* Readability baseline ---------------------------------------------------- */
.theme-btn,
.theme-header .theme-btn,
.theme-home .theme-btn,
.theme-footer .theme-btn,
.route-experience-page .theme-btn {
  font-size: 15px !important;
  min-height: 48px !important;
  padding-inline: 24px !important;
}


label,
.xp-auth-card label > span,
.xp-account-card label,
.admin-experience-main label,
.admin-login-card label {
  font-size: 14px;
}


.admin-login-card label {
  color: rgba(255, 255, 255, 0.82) !important;
  font-size: 15px !important;
  letter-spacing: 0.055em !important;
}


.admin-login-card > span,
.admin-login-secondary {
  font-size: 14px !important;
}


.admin-login-input input {
  font-size: 16px !important;
}


.admin-login-submit {
  font-size: 17px !important;
  min-height: 56px !important;
}


.admin-login-experience {
  background-image:
    linear-gradient(90deg, rgba(3, 6, 10, 0.16), rgba(3, 6, 10, 0.75) 56%, rgba(3, 6, 10, 0.98)),
    url('/images/fmm-pages/auth-arena-hd.webp') !important;
  background-position: center !important;
  background-size: cover !important;
}


.admin-experience-main {
  background-image:
    linear-gradient(90deg, rgba(3, 6, 10, 0.97), rgba(3, 6, 10, 0.87)),
    url('/images/fmm-pages/admin-command-hd.webp') !important;
  background-position: center top !important;
  background-size: cover !important;
}


.xp-auth-art {
  background-image:
    linear-gradient(180deg, rgba(3, 6, 10, 0.13), rgba(3, 6, 10, 0.96)),
    linear-gradient(90deg, rgba(3, 6, 10, 0.12), rgba(3, 6, 10, 0.58)),
    url('/images/fmm-pages/auth-arena-hd.webp') !important;
}


/* The legacy top-left arrows are superseded by header links and breadcrumbs. */
.route-experience-content :is(.home-arrow-circle, .homeup-arrow-circle, .homecreateacc-arrow-circle),
.site-experience-main > :is(.home-arrow-circle, .homeup-arrow-circle, .homecreateacc-arrow-circle) {
  display: none !important;
}


.route-experience-content .dashboard-arrow-circle {
  background: rgba(255, 255, 255, 0.055) !important;
  border: 1px solid var(--ff-border-strong) !important;
  border-radius: 9px !important;
  color: transparent !important;
  display: inline-flex !important;
  font-size: 0 !important;
  height: 42px !important;
  left: auto !important;
  margin: 0 0 16px !important;
  position: relative !important;
  top: auto !important;
  width: auto !important;
}


.route-experience-content .dashboard-arrow-circle::after {
  color: #fff;
  content: 'Back to list';
  font-family: var(--ff-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.05em;
  padding: 0 15px;
  text-transform: uppercase;
}


/* Shared async and pagination -------------------------------------------- */
.xp-async-state {
  align-items: center;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.025));
  border: 1px solid var(--ff-border);
  border-radius: 15px;
  color: var(--ff-muted);
  display: flex;
  font-family: var(--ff-body);
  gap: 13px;
  justify-content: center;
  min-height: 150px;
  padding: 24px;
  text-align: left;
}


.xp-async-state.is-compact { min-height: 84px; }

.xp-async-state > svg { color: var(--ff-red); font-size: 21px; }

.xp-async-state.is-error { justify-content: flex-start; }

.xp-async-state.is-error > div { display: grid; gap: 4px; }

.xp-async-state.is-error strong { color: #fff; }

.xp-async-state.is-error button {
  align-items: center;
  background: rgba(223, 17, 27, 0.12) !important;
  border: 1px solid rgba(223, 17, 27, 0.42) !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 14px !important;
  font-weight: 900;
  gap: 7px;
  margin-left: auto;
  min-height: 40px;
  padding: 0 14px !important;
  text-transform: uppercase;
}


.xp-spin { animation: ffSpin 0.85s linear infinite; }


.xp-pagination {
  align-items: center;
  border-top: 1px solid var(--ff-border);
  color: var(--ff-muted);
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  margin-top: 0;
  padding: 17px 18px;
}


.xp-pagination > div { align-items: center; display: flex; gap: 9px; }

.xp-pagination button {
  align-items: center;
  background: rgba(255, 255, 255, 0.055) !important;
  border: 1px solid var(--ff-border) !important;
  border-radius: 8px !important;
  color: #fff !important;
  display: inline-flex;
  height: 38px;
  justify-content: center;
  padding: 0 !important;
  width: 38px;
}

.xp-pagination button:disabled { cursor: not-allowed; opacity: 0.36; }

.xp-pagination strong { color: #fff; font-family: var(--ff-display); font-size: 13px; }


.admin-table-skeleton { display: grid; gap: 0; }

.admin-table-skeleton-row {
  border-bottom: 1px solid var(--ff-border);
  display: grid;
  gap: 15px;
  grid-auto-flow: column;
  grid-auto-columns: minmax(100px, 1fr);
  padding: 17px;
}

.admin-table-skeleton-row span {
  animation: ffSkeleton 1.15s ease-in-out infinite alternate;
  background: rgba(255, 255, 255, 0.075);
  border-radius: 6px;
  height: 18px;
}


/* Account center --------------------------------------------------------- */
.xp-account-shell {
  color: var(--ff-text);
  display: grid;
  gap: 22px;
  margin: 0 auto;
  max-width: 1260px;
  padding: 0 0 72px;
  width: 100%;
}


.xp-account-nav {
  align-items: center;
  backdrop-filter: blur(14px);
  background: rgba(7, 11, 17, 0.91);
  border: 1px solid var(--ff-border);
  border-radius: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 8px;
}


.xp-account-nav a {
  align-items: center;
  border: 1px solid transparent;
  border-radius: 9px;
  color: rgba(255, 255, 255, 0.67) !important;
  display: inline-flex;
  font-family: var(--ff-display);
  font-size: 14px;
  font-weight: 900;
  gap: 9px;
  min-height: 43px;
  padding: 0 15px;
  text-transform: uppercase;
}

.xp-account-nav a:hover,
.xp-account-nav a.is-active {
  background: rgba(223, 17, 27, 0.13);
  border-color: rgba(223, 17, 27, 0.38);
  color: #fff !important;
}

.xp-account-nav a svg { color: var(--ff-red); }


.xp-profile-overview,
.xp-wallet-summary,
.xp-account-card {
  backdrop-filter: blur(17px);
  background: linear-gradient(180deg, rgba(16, 24, 34, 0.94), rgba(7, 12, 18, 0.95));
  border: 1px solid var(--ff-border);
  border-radius: 18px;
  box-shadow: 0 28px 72px rgba(0, 0, 0, 0.34);
}


.xp-profile-overview {
  align-items: center;
  display: grid;
  gap: 28px;
  grid-template-columns: 180px minmax(0, 1fr);
  padding: 28px;
  position: relative;
  overflow: hidden;
}

.xp-profile-overview::after,
.xp-wallet-summary::after {
  background: linear-gradient(90deg, var(--ff-red), var(--ff-blue));
  bottom: 0;
  content: '';
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
}

.xp-profile-overview h2,
.xp-wallet-summary h2,
.xp-account-card h2,
.xp-account-card h3 {
  color: #fff;
  font-family: var(--ff-display);
  font-weight: 900;
  letter-spacing: -0.025em;
  line-height: 1;
  margin: 7px 0 0;
  text-transform: uppercase;
}

.xp-profile-overview h2 { font-size: clamp(35px, 4vw, 54px); }

.xp-profile-overview p,
.xp-wallet-summary p,
.xp-account-card p { color: var(--ff-muted); line-height: 1.65; }


.xp-profile-avatar-wrap { position: relative; text-align: center; }

.xp-profile-avatar-wrap > img {
  background: rgba(255,255,255,.04);
  border: 2px solid rgba(223, 17, 27, 0.56);
  border-radius: 18px;
  height: 156px;
  object-fit: cover;
  width: 156px;
}

.xp-profile-avatar-wrap > label {
  align-items: center;
  background: #0b1119;
  border: 1px solid var(--ff-border-strong);
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--ff-display);
  font-size: 12px;
  font-weight: 900;
  gap: 7px;
  margin-top: -15px;
  min-height: 38px;
  padding: 0 12px;
  position: relative;
  text-transform: uppercase;
}

.xp-profile-avatar-wrap > input { display: none; }

.xp-profile-badges { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }

.xp-profile-badges span {
  align-items: center;
  background: rgba(255,255,255,.05);
  border: 1px solid var(--ff-border);
  border-radius: 999px;
  color: rgba(255,255,255,.74);
  display: inline-flex;
  font-size: 12px;
  gap: 7px;
  padding: 8px 11px;
}

.xp-profile-badges svg { color: var(--ff-green); }


.xp-account-grid { display: grid; gap: 20px; grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr); }

.xp-account-card { padding: 25px; }

.xp-account-card-heading {
  align-items: flex-start;
  border-bottom: 1px solid var(--ff-border);
  display: flex;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 18px;
}

.xp-account-card-heading > svg { color: var(--ff-red); font-size: 24px; }

.xp-account-card-heading span,
.xp-profile-share > span {
  color: var(--ff-red);
  font-family: var(--ff-display);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.xp-account-card-heading h2 { font-size: clamp(28px, 3vw, 39px); }

.xp-account-card-heading h3,
.xp-profile-share h3 { font-size: 28px; }


.xp-form-grid { display: grid; gap: 16px; grid-template-columns: repeat(2, minmax(0, 1fr)); }

.xp-form-grid .is-wide { grid-column: 1 / -1; }

.xp-form-grid label,
.xp-form-stack label {
  color: rgba(255,255,255,.75);
  display: grid;
  font-family: var(--ff-display);
  font-size: 14px;
  font-weight: 900;
  gap: 8px;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.xp-form-grid :is(input, select, textarea),
.xp-form-stack input {
  background: rgba(0,0,0,.3) !important;
  border: 1px solid var(--ff-border-strong) !important;
  border-radius: 10px !important;
  color: #fff !important;
  font-family: var(--ff-body) !important;
  font-size: 15px !important;
  min-height: 50px;
  padding: 12px 14px !important;
  text-transform: none;
}

.xp-form-stack { display: grid; gap: 16px; margin-bottom: 20px; }

.xp-profile-form > .theme-btn,
.xp-settings-form > .theme-btn { margin-top: 20px; }


.xp-profile-share { align-content: start; display: grid; gap: 13px; }

.xp-profile-share code {
  background: rgba(0,0,0,.33);
  border: 1px solid var(--ff-border);
  border-radius: 9px;
  color: rgba(255,255,255,.74);
  overflow-wrap: anywhere;
  padding: 13px;
}

.xp-profile-share button,
.xp-profile-share a,
.xp-session-list button {
  align-items: center;
  background: rgba(255,255,255,.055) !important;
  border: 1px solid var(--ff-border-strong) !important;
  border-radius: 9px !important;
  color: #fff !important;
  display: inline-flex;
  font-family: var(--ff-display);
  font-size: 14px !important;
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  min-height: 44px;
  padding: 0 14px !important;
  text-transform: uppercase;
}


.xp-settings-form > section { border-bottom: 1px solid var(--ff-border); padding: 19px 0; }

.xp-settings-form > section:first-of-type { padding-top: 0; }

.xp-settings-form > section h3 { align-items: center; display: flex; font-size: 21px; gap: 9px; margin-bottom: 14px; }

.xp-settings-form > section h3 svg { color: var(--ff-red); }

.xp-toggle-row {
  align-items: center;
  background: rgba(255,255,255,.027);
  border: 1px solid var(--ff-border);
  border-radius: 11px;
  display: flex !important;
  gap: 20px;
  justify-content: space-between;
  margin-top: 10px;
  padding: 15px;
  text-transform: none !important;
}

.xp-toggle-row > div { display: grid; gap: 4px; }

.xp-toggle-row strong { color: #fff; font-family: var(--ff-body); font-size: 15px; }

.xp-toggle-row small { color: var(--ff-muted); font-family: var(--ff-body); font-size: 13px; line-height: 1.45; }

.xp-toggle-row input { accent-color: var(--ff-red); height: 20px; min-height: auto !important; width: 20px; }

.xp-field-note { font-size: 13px; margin: 12px 0 0; }


.xp-session-list { display: grid; gap: 10px; }

.xp-session-list article {
  align-items: center;
  background: rgba(255,255,255,.027);
  border: 1px solid var(--ff-border);
  border-radius: 11px;
  display: grid;
  gap: 12px;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  padding: 13px;
}

.xp-session-list article > svg { color: var(--ff-blue); font-size: 21px; }

.xp-session-list article > div { display: grid; gap: 4px; }

.xp-session-list article strong { color: #fff; font-size: 14px; }

.xp-session-list article span { color: var(--ff-muted); font-size: 12px; overflow-wrap: anywhere; }

.xp-session-list button { color: #ff7880 !important; min-height: 38px; }


.xp-wallet-summary {
  align-items: center;
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  padding: 26px;
  position: relative;
}

.xp-wallet-summary h2 { font-size: clamp(40px, 5vw, 62px); }

.xp-wallet-table-wrap { overflow-x: auto; }

.xp-wallet-table-wrap table {
  border-collapse: collapse;
  color: #fff;
  min-width: 800px;
  width: 100%;
}

.xp-wallet-table-wrap th,
.xp-wallet-table-wrap td { border-bottom: 1px solid var(--ff-border); font-size: 13px; padding: 14px; text-align: left; }

.xp-wallet-table-wrap th { color: var(--ff-muted); font-family: var(--ff-display); letter-spacing: .06em; text-transform: uppercase; }

.xp-ledger-direction { border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 900; padding: 6px 9px; text-transform: uppercase; }

.xp-ledger-direction.is-credit { background: rgba(53,212,93,.1); color: #6ff18a; }

.xp-ledger-direction.is-debit { background: rgba(223,17,27,.12); color: #ff7981; }

.xp-table-empty { align-items: center; color: var(--ff-muted); display: flex; gap: 8px; justify-content: center; padding: 28px; }


/* Affiliate league ------------------------------------------------------- */
.xp-affiliate-league-shell { display: grid; gap: 20px; margin: 0 auto; max-width: 1320px; padding-bottom: 70px; }

.xp-affiliate-league-summary,
.xp-affiliate-league-panel,
.xp-affiliate-league-empty {
  backdrop-filter: blur(16px);
  background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95));
  border: 1px solid var(--ff-border);
  border-radius: 18px;
  box-shadow: 0 28px 72px rgba(0,0,0,.34);
}

.xp-affiliate-league-summary { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(0,1fr) auto; padding: 26px; }

.xp-affiliate-league-summary h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(36px,4vw,54px); line-height: .95; margin: 8px 0 0; text-transform: uppercase; }

.xp-affiliate-league-summary p { color: var(--ff-muted); line-height: 1.6; max-width: 760px; }

.xp-affiliate-league-stats { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(105px,1fr)); }

.xp-affiliate-league-stats article { background: rgba(255,255,255,.035); border: 1px solid var(--ff-border); border-radius: 12px; min-width: 118px; padding: 14px; }

.xp-affiliate-league-stats svg { color: var(--ff-red); }

.xp-affiliate-league-stats strong { color: #fff; display: block; font-family: var(--ff-display); font-size: 24px; margin-top: 14px; text-transform: uppercase; }

.xp-affiliate-league-stats span { color: var(--ff-muted); font-size: 11px; text-transform: uppercase; }

.xp-affiliate-league-panel { overflow: hidden; }

.xp-affiliate-league-toolbar { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; gap: 12px; justify-content: space-between; padding: 16px; }

.xp-affiliate-league-toolbar label { align-items: center; background: rgba(0,0,0,.3); border: 1px solid var(--ff-border); border-radius: 9px; display: flex; flex: 1; max-width: 520px; padding-left: 13px; }

.xp-affiliate-league-toolbar label svg { color: var(--ff-red); }

.xp-affiliate-league-toolbar input { background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 46px; width: 100%; }

.xp-affiliate-league-toolbar button { align-items: center; background: rgba(255,255,255,.055) !important; border: 1px solid var(--ff-border-strong) !important; border-radius: 9px !important; color: #fff !important; display: inline-flex; font-size: 14px !important; font-weight: 900; gap: 8px; min-height: 46px; padding: 0 15px !important; text-transform: uppercase; }

.xp-affiliate-league-table-wrap { overflow-x: auto; }

.xp-affiliate-league-table { border-collapse: collapse; color: #fff; min-width: 800px; width: 100%; }

.xp-affiliate-league-table th,
.xp-affiliate-league-table td { border-bottom: 1px solid var(--ff-border); padding: 14px 16px; text-align: left; }

.xp-affiliate-league-table th { background: rgba(255,255,255,.035); color: var(--ff-muted); font-family: var(--ff-display); font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }

.xp-member-cell { align-items: center; display: flex; gap: 11px; }

.xp-member-cell img { border: 1px solid rgba(223,17,27,.4); border-radius: 9px; height: 42px; object-fit: cover; width: 42px; }

.xp-rank-chip { color: var(--ff-gold); font-family: var(--ff-display); font-weight: 900; }

.xp-affiliate-league-empty { align-items: center; display: flex; flex-direction: column; min-height: 320px; padding: 44px; text-align: center; }

.xp-affiliate-league-empty > svg { color: var(--ff-red); font-size: 40px; }

.xp-affiliate-league-empty h2 { color: #fff; font-family: var(--ff-display); font-size: 36px; margin: 16px 0 0; text-transform: uppercase; }

.xp-affiliate-league-empty p { color: var(--ff-muted); max-width: 570px; }


/* Simplified guide ------------------------------------------------------- */
.xp-guide-shell { display: grid; gap: 22px; margin: 0 auto; max-width: 1320px; padding-bottom: 72px; }

.xp-guide-intro,
.xp-guide-workspace,
.xp-guide-scoring {
  backdrop-filter: blur(16px);
  background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95));
  border: 1px solid var(--ff-border);
  border-radius: 18px;
  box-shadow: 0 28px 72px rgba(0,0,0,.32);
}

.xp-guide-intro { align-items: center; display: grid; gap: 25px; grid-template-columns: minmax(0,1fr) auto; padding: 27px; }

.xp-guide-intro h2,
.xp-guide-scoring h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(34px,4vw,51px); line-height: .96; margin: 8px 0 0; text-transform: uppercase; }

.xp-guide-intro p,
.xp-guide-scoring p,
.xp-guide-detail p { color: var(--ff-muted); line-height: 1.65; }

.xp-guide-principles { display: grid; gap: 9px; }

.xp-guide-principles span { align-items: center; background: rgba(255,255,255,.04); border: 1px solid var(--ff-border); border-radius: 10px; color: rgba(255,255,255,.76); display: flex; font-size: 13px; gap: 9px; min-height: 43px; padding: 0 13px; }

.xp-guide-principles svg { color: var(--ff-red); }

.xp-guide-workspace { display: grid; grid-template-columns: minmax(280px,.42fr) minmax(0,1fr); overflow: hidden; }

.xp-guide-nav { border-right: 1px solid var(--ff-border); display: grid; padding: 10px; }

.xp-guide-nav button { align-items: center; background: transparent !important; border: 1px solid transparent !important; border-radius: 10px !important; color: rgba(255,255,255,.6) !important; display: grid; font-size: 13px !important; gap: 11px; grid-template-columns: 30px 22px minmax(0,1fr); min-height: 60px; padding: 8px 12px !important; text-align: left; }

.xp-guide-nav button > span { color: rgba(255,255,255,.32); font-family: var(--ff-display); }

.xp-guide-nav button svg { color: var(--ff-red); }

.xp-guide-nav button strong { font-family: var(--ff-display); font-size: 14px; text-transform: uppercase; }

.xp-guide-nav button:hover,
.xp-guide-nav button.is-active { background: rgba(223,17,27,.11) !important; border-color: rgba(223,17,27,.34) !important; color: #fff !important; }

.xp-guide-detail { padding: clamp(25px,4vw,50px); }

.xp-guide-detail-icon { align-items: center; background: rgba(223,17,27,.13); border: 1px solid rgba(223,17,27,.4); border-radius: 13px; color: var(--ff-red); display: flex; font-size: 27px; height: 58px; justify-content: center; width: 58px; }

.xp-guide-detail > span { color: var(--ff-red); display: block; font-family: var(--ff-display); font-size: 12px; font-weight: 900; letter-spacing: .1em; margin-top: 25px; }

.xp-guide-detail h3 { color: #fff; font-family: var(--ff-display); font-size: clamp(31px,4vw,48px); line-height: .97; margin: 8px 0 0; text-transform: uppercase; }

.xp-guide-detail ol { color: rgba(255,255,255,.78); display: grid; gap: 12px; line-height: 1.55; margin: 22px 0 26px; padding-left: 22px; }

.xp-guide-detail li::marker { color: var(--ff-red); font-weight: 900; }

.xp-guide-scoring { align-items: center; display: grid; gap: 28px; grid-template-columns: minmax(0,.8fr) minmax(0,1.2fr); padding: 27px; }

.xp-guide-score-grid { display: grid; gap: 9px; grid-template-columns: repeat(4,minmax(0,1fr)); }

.xp-guide-score-grid article { background: rgba(255,255,255,.035); border: 1px solid var(--ff-border); border-radius: 11px; padding: 13px; }

.xp-guide-score-grid strong { color: var(--ff-green); display: block; font-family: var(--ff-display); font-size: 25px; }

.xp-guide-score-grid span { color: var(--ff-muted); display: block; font-size: 11px; line-height: 1.35; margin-top: 5px; }


/* Editorial / blog center ------------------------------------------------ */
.xp-editorial-shell,
.xp-article-shell,
.xp-article-not-found { margin: 0 auto; max-width: 1320px; padding-bottom: 72px; }

.xp-editorial-toolbar {
  align-items: center;
  backdrop-filter: blur(16px);
  background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95));
  border: 1px solid var(--ff-border);
  border-radius: 17px;
  display: grid;
  gap: 26px;
  grid-template-columns: minmax(0,1fr) minmax(260px,.45fr);
  padding: 25px;
}

.xp-editorial-toolbar h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(34px,4vw,50px); line-height: .96; margin: 8px 0 0; text-transform: uppercase; }

.xp-editorial-toolbar p { color: var(--ff-muted); line-height: 1.6; }

.xp-editorial-toolbar label { align-items: center; background: rgba(0,0,0,.3); border: 1px solid var(--ff-border); border-radius: 10px; display: flex; padding-left: 13px; }

.xp-editorial-toolbar label svg { color: var(--ff-red); }

.xp-editorial-toolbar input { background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 50px; width: 100%; }

.xp-featured-story {
  background: linear-gradient(180deg, rgba(16,24,34,.95), rgba(7,12,18,.96));
  border: 1px solid var(--ff-border);
  border-radius: 18px;
  display: grid;
  gap: 0;
  grid-template-columns: minmax(0,1.1fr) minmax(360px,.9fr);
  margin-top: 21px;
  overflow: hidden;
}

.xp-featured-story-image { min-height: 440px; overflow: hidden; }

.xp-featured-story-image img { height: 100%; object-fit: cover; width: 100%; }

.xp-featured-story > div:last-child { align-content: center; display: grid; padding: clamp(26px,4vw,48px); }

.xp-featured-story > div:last-child > span { color: var(--ff-red); font-family: var(--ff-display); font-size: 12px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }

.xp-featured-story h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(36px,4.2vw,56px); line-height: .95; margin: 10px 0 0; text-transform: uppercase; }

.xp-featured-story p { color: var(--ff-muted); line-height: 1.68; }

.xp-featured-story small { align-items: center; color: rgba(255,255,255,.48); display: flex; gap: 7px; }

.xp-featured-story a,
.xp-story-card a,
.xp-article-not-found a { align-items: center; color: var(--ff-red) !important; display: inline-flex; font-family: var(--ff-display); font-size: 14px; font-weight: 900; gap: 8px; margin-top: 20px; text-transform: uppercase; }

.xp-story-grid { display: grid; gap: 17px; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 20px; }

.xp-story-card { background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95)); border: 1px solid var(--ff-border); border-radius: 15px; overflow: hidden; padding-bottom: 20px; }

.xp-story-card > div { height: 220px; overflow: hidden; }

.xp-story-card img { height: 100%; object-fit: cover; transition: transform .3s ease; width: 100%; }

.xp-story-card:hover img { transform: scale(1.035); }

.xp-story-card > :not(div) { margin-left: 19px; margin-right: 19px; }

.xp-story-card > span { color: var(--ff-red); display: block; font-family: var(--ff-display); font-size: 11px; font-weight: 900; letter-spacing: .07em; margin-top: 18px; text-transform: uppercase; }

.xp-story-card h3 { color: #fff; font-family: var(--ff-display); font-size: 26px; line-height: 1; margin-bottom: 0; text-transform: uppercase; }

.xp-story-card p { color: var(--ff-muted); font-size: 14px; line-height: 1.55; }

.xp-editorial-empty,
.xp-article-not-found { align-items: center; background: var(--ff-panel); border: 1px solid var(--ff-border); border-radius: 17px; display: flex; flex-direction: column; margin-top: 20px; min-height: 300px; padding: 40px; text-align: center; }

.xp-editorial-empty svg,
.xp-article-not-found > svg { color: var(--ff-red); font-size: 38px; }

.xp-editorial-empty h3,
.xp-article-not-found h2 { color: #fff; font-family: var(--ff-display); font-size: 34px; margin: 14px 0 0; text-transform: uppercase; }

.xp-editorial-empty p,
.xp-article-not-found p { color: var(--ff-muted); }


.xp-article-header { background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95)); border: 1px solid var(--ff-border); border-radius: 18px; padding: clamp(28px,5vw,62px); text-align: center; }

.xp-article-header h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(43px,6vw,78px); line-height: .92; margin: 10px auto 0; max-width: 1040px; text-transform: uppercase; }

.xp-article-header > p:not(.xp-eyebrow) { color: var(--ff-muted); font-size: 17px; line-height: 1.65; margin: 22px auto 0; max-width: 820px; }

.xp-article-header > div { color: rgba(255,255,255,.52); display: flex; flex-wrap: wrap; gap: 18px; justify-content: center; margin-top: 24px; }

.xp-article-header > div span { align-items: center; display: inline-flex; gap: 7px; }

.xp-article-hero { border: 1px solid var(--ff-border); border-radius: 17px; height: min(56vw,650px); margin: 20px 0; overflow: hidden; }

.xp-article-hero img { height: 100%; object-fit: cover; width: 100%; }

.xp-article-layout { align-items: start; display: grid; gap: 20px; grid-template-columns: 270px minmax(0,1fr); }

.xp-article-layout > aside,
.xp-article-content { background: linear-gradient(180deg, rgba(16,24,34,.94), rgba(7,12,18,.95)); border: 1px solid var(--ff-border); border-radius: 16px; }

.xp-article-layout > aside { display: grid; gap: 5px; padding: 16px; position: sticky; top: 104px; }

.xp-article-layout > aside > span { align-items: center; color: #fff; display: flex; font-family: var(--ff-display); font-size: 13px; font-weight: 900; gap: 8px; margin-bottom: 7px; text-transform: uppercase; }

.xp-article-layout > aside a { border-radius: 8px; color: var(--ff-muted) !important; font-size: 13px; padding: 9px; }

.xp-article-layout > aside a:hover { background: rgba(223,17,27,.1); color: #fff !important; }

.xp-article-content { padding: clamp(25px,4vw,48px); }

.xp-article-content section + section { border-top: 1px solid var(--ff-border); margin-top: 34px; padding-top: 34px; }

.xp-article-content h3 { color: #fff; font-family: var(--ff-display); font-size: clamp(30px,3vw,42px); line-height: 1; text-transform: uppercase; }

.xp-article-content h4 { color: #fff; font-size: 22px; margin-top: 28px; }

.xp-article-content p { color: rgba(245,247,251,.78); font-size: 16px; line-height: 1.8; white-space: pre-line; }

.xp-article-content img { border: 1px solid var(--ff-border); border-radius: 13px; display: block; margin: 25px 0; max-height: 620px; object-fit: cover; width: 100%; }


/* Consolidated administration ------------------------------------------- */
.admin-workspace { display: grid; gap: 20px; max-width: 1660px; width: 100%; }

.admin-page-heading > div > span {
  color: var(--ff-red);
  display: block;
  font-family: var(--ff-display);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .11em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.admin-page-heading h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(34px,4vw,52px); line-height: .95; margin: 0; text-transform: uppercase; }

.admin-primary-action {
  align-items: center;
  background: linear-gradient(135deg,#bd0710,#ff2632) !important;
  border: 1px solid rgba(255,73,84,.5) !important;
  border-radius: 9px !important;
  color: #fff !important;
  display: inline-flex;
  font-family: var(--ff-display);
  font-size: 15px !important;
  font-weight: 900;
  gap: 8px;
  min-height: 48px;
  padding: 0 17px !important;
  text-transform: uppercase;
}

.admin-inline-metrics { display: grid; gap: 12px; grid-template-columns: repeat(4,minmax(0,1fr)); }

.admin-inline-metrics article { background: linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025)); border: 1px solid var(--ff-border); border-radius: 13px; min-height: 104px; padding: 16px; }

.admin-inline-metrics span { color: var(--ff-muted); display: block; font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }

.admin-inline-metrics strong { color: #fff; display: block; font-family: var(--ff-display); font-size: 25px; line-height: 1; margin-top: 18px; text-transform: uppercase; }

.admin-table-panel { background: rgba(7,12,18,.95); border: 1px solid var(--ff-border); border-radius: 16px; box-shadow: 0 28px 72px rgba(0,0,0,.32); overflow: hidden; }

.admin-table-toolbar { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; flex-wrap: wrap; gap: 10px; padding: 15px; }

.admin-table-search { align-items: center; background: rgba(0,0,0,.3); border: 1px solid var(--ff-border); border-radius: 9px; display: flex; flex: 1 1 300px; max-width: 540px; padding-left: 12px; }

.admin-table-search svg { color: var(--ff-red); }

.admin-table-search input { background: transparent !important; border: 0 !important; box-shadow: none !important; min-height: 44px !important; width: 100%; }

.admin-table-toolbar > label:not(.admin-table-search) { margin-left: 0; }

.admin-table-toolbar select { min-height: 46px !important; min-width: 145px; }

.admin-table-toolbar button { min-height: 46px !important; }

.admin-data-table-scroll { overflow-x: auto; }

.admin-data-table { min-width: 900px; }

.admin-cell-stack { display: grid; gap: 3px; }

.admin-cell-stack small,
.admin-cell-note { color: var(--ff-muted); display: block; font-size: 11px; margin-top: 3px; }

.admin-fight-cell { align-items: center; display: grid; gap: 10px; grid-template-columns: 48px minmax(0,1fr) 48px; min-width: 250px; }

.admin-fight-cell img { background: rgba(255,255,255,.04); border: 1px solid var(--ff-border); border-radius: 9px; height: 48px; object-fit: cover; width: 48px; }

.admin-fight-cell > div { display: grid; gap: 3px; }

.admin-fight-cell strong { line-height: 1.2; }

.admin-fight-cell small { color: var(--ff-muted); }

.admin-actions-column { min-width: 190px; }

.admin-row-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 6px; }

.admin-row-actions :is(a,button) { align-items: center; background: rgba(255,255,255,.055) !important; border: 1px solid var(--ff-border) !important; border-radius: 8px !important; color: #fff !important; display: inline-flex; height: 38px; justify-content: center; min-height: 38px !important; padding: 0 11px !important; }

.admin-row-actions .is-icon { padding: 0 !important; width: 38px; }

.admin-row-actions .is-secondary { color: #7fc5ff !important; }

.admin-row-actions .is-danger { color: #ff7580 !important; }

.admin-status-badge.is-live { background: rgba(53,212,93,.1); border-color: rgba(53,212,93,.35); color: #6ff18a; }

.admin-status-badge.is-upcoming { background: rgba(22,143,230,.1); border-color: rgba(22,143,230,.36); color: #72c3ff; }

.admin-status-badge.is-past,
.admin-status-badge.is-finished { background: rgba(255,255,255,.05); color: rgba(255,255,255,.68); }

.admin-status-badge.is-draft { background: rgba(249,180,22,.1); border-color: rgba(249,180,22,.34); color: #ffd06b; }

.admin-empty-table { color: var(--ff-muted); padding: 36px; text-align: center; }


.admin-modal-backdrop { align-items: center; backdrop-filter: blur(12px); background: rgba(0,0,0,.74); display: flex; inset: 0; justify-content: center; padding: 22px; position: fixed; z-index: 11000; }

.admin-inspector-modal { background: linear-gradient(180deg,rgba(17,25,35,.99),rgba(7,12,18,.99)); border: 1px solid var(--ff-border-strong); border-radius: 17px; box-shadow: 0 32px 90px rgba(0,0,0,.6); max-height: calc(100vh - 44px); max-width: 720px; overflow: auto; width: 100%; }

.admin-inspector-modal > header { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; justify-content: space-between; padding: 18px; }

.admin-inspector-modal > header span { color: var(--ff-red); font-family: var(--ff-display); font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }

.admin-inspector-modal > header h3 { color: #fff; font-family: var(--ff-display); font-size: 28px; margin: 4px 0 0; text-transform: uppercase; }

.admin-inspector-modal > header button { font-size: 24px !important; height: 40px; min-height: 40px !important; padding: 0 !important; width: 40px; }

.admin-inspector-fighters { align-items: center; display: grid; gap: 16px; grid-template-columns: 1fr auto 1fr; padding: 22px; }

.admin-inspector-fighters article { align-items: center; display: flex; flex-direction: column; gap: 10px; text-align: center; }

.admin-inspector-fighters img { border: 1px solid var(--ff-border); border-radius: 14px; height: 170px; object-fit: cover; width: 100%; }

.admin-inspector-fighters > span { color: var(--ff-red); font-family: var(--ff-display); font-size: 22px; font-weight: 900; }

.admin-inspector-modal dl { display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0; padding: 0 22px 22px; }

.admin-inspector-modal dl > div { background: rgba(255,255,255,.035); border: 1px solid var(--ff-border); border-radius: 10px; padding: 12px; }

.admin-inspector-modal dt { color: var(--ff-muted); font-size: 11px; text-transform: uppercase; }

.admin-inspector-modal dd { color: #fff; margin: 6px 0 0; }

.admin-inspector-modal > footer { border-top: 1px solid var(--ff-border); display: flex; flex-wrap: wrap; gap: 8px; padding: 17px; }

.admin-inspector-modal > footer :is(a,button) { align-items: center; background: rgba(255,255,255,.055) !important; border: 1px solid var(--ff-border) !important; border-radius: 8px !important; color: #fff !important; display: inline-flex; font-size: 14px !important; font-weight: 900; gap: 8px; min-height: 43px; padding: 0 14px !important; text-transform: uppercase; }

.admin-inspector-modal > footer button { color: #ff7580 !important; }


.admin-scoring-layout { display: grid; gap: 18px; grid-template-columns: minmax(390px,.62fr) minmax(0,1.38fr); }

.admin-rule-editor { align-self: start; background: linear-gradient(180deg,rgba(16,24,34,.96),rgba(7,12,18,.97)); border: 1px solid var(--ff-border); border-radius: 16px; padding: 20px; position: sticky; top: 112px; }

.admin-rule-editor > header { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; justify-content: space-between; margin-bottom: 18px; padding-bottom: 16px; }

.admin-rule-editor > header span { color: var(--ff-red); font-family: var(--ff-display); font-size: 11px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }

.admin-rule-editor > header h3 { color: #fff; font-family: var(--ff-display); font-size: 27px; margin: 5px 0 0; text-transform: uppercase; }

.admin-rule-editor > header svg { color: var(--ff-red); font-size: 25px; }

.admin-rule-form-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.admin-rule-form-grid label,
.admin-rule-points label { color: rgba(255,255,255,.72); display: grid; font-family: var(--ff-display); font-size: 13px; font-weight: 900; gap: 7px; text-transform: uppercase; }

.admin-rule-form-grid .is-wide { grid-column: 1/-1; }

.admin-rule-points { border-top: 1px solid var(--ff-border); display: grid; gap: 10px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 18px; padding-top: 18px; }

.admin-rule-points h4 { color: #fff; font-family: var(--ff-display); grid-column: 1/-1; margin: 0 0 3px; text-transform: uppercase; }

.admin-rule-points label { align-items: center; background: rgba(255,255,255,.025); border: 1px solid var(--ff-border); border-radius: 9px; display: grid; grid-template-columns: minmax(0,1fr) 82px; padding: 8px 10px; text-transform: none; }

.admin-rule-points input { min-height: 40px !important; padding: 8px !important; text-align: center; }

.admin-active-toggle { align-items: flex-start; background: rgba(223,17,27,.07); border: 1px solid rgba(223,17,27,.3); border-radius: 10px; display: flex !important; gap: 11px; margin-top: 16px; padding: 13px; text-transform: none !important; }

.admin-active-toggle input { accent-color: var(--ff-red); height: 20px; min-height: auto !important; width: 20px; }

.admin-active-toggle span { display: grid; gap: 3px; }

.admin-active-toggle strong { color: #fff; }

.admin-active-toggle small { color: var(--ff-muted); line-height: 1.4; }

.admin-rule-editor > footer { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 17px; }

.admin-rule-editor > footer button { min-height: 46px !important; }

.admin-rule-editor > footer .is-secondary { background: rgba(255,255,255,.055) !important; }


/* Crisp reward imagery --------------------------------------------------- */
.xp-rewards-visual img,
.xp-reward-hero img,
.fights-rewards-page img[src*='rewards-fighter-panel'],
.fights-experience-page img[src*='rewards-fighter-panel'] {
  filter: none !important;
  image-rendering: auto;
  object-position: center;
}


/* Responsive ------------------------------------------------------------- */
@media (max-width: 1180px) {
  .xp-story-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-scoring-layout { grid-template-columns: 1fr; }
  .admin-rule-editor { position: static; }
  .xp-guide-score-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


@media (max-width: 900px) {
  .xp-profile-overview,
  .xp-affiliate-league-summary,
  .xp-guide-intro,
  .xp-guide-scoring,
  .xp-editorial-toolbar,
  .xp-featured-story,
  .xp-article-layout,
  .xp-account-grid { grid-template-columns: 1fr; }
  .xp-profile-overview { text-align: center; }
  .xp-profile-badges { justify-content: center; }
  .xp-affiliate-league-stats { width: 100%; }
  .xp-guide-workspace { grid-template-columns: 1fr; }
  .xp-guide-nav { border-bottom: 1px solid var(--ff-border); border-right: 0; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xp-featured-story-image { min-height: 320px; }
  .xp-article-layout > aside { position: static; }
  .admin-inline-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


@media (max-width: 640px) {
  .theme-btn,
  .theme-header .theme-btn,
  .theme-home .theme-btn,
  .theme-footer .theme-btn,
  .route-experience-page .theme-btn { font-size: 14px !important; padding-inline: 17px !important; }
  .xp-account-shell,
  .xp-affiliate-league-shell,
  .xp-guide-shell,
  .xp-editorial-shell,
  .xp-article-shell { padding-bottom: 44px; }
  .xp-profile-overview { grid-template-columns: 1fr; padding: 20px; }
  .xp-account-card,
  .xp-wallet-summary,
  .xp-affiliate-league-summary,
  .xp-guide-intro,
  .xp-guide-scoring,
  .xp-editorial-toolbar { padding: 18px; }
  .xp-account-nav { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xp-account-nav a { justify-content: center; padding: 0 9px; }
  .xp-form-grid,
  .admin-rule-form-grid,
  .admin-rule-points,
  .admin-inspector-modal dl { grid-template-columns: 1fr; }
  .xp-form-grid .is-wide,
  .admin-rule-form-grid .is-wide,
  .admin-rule-points h4 { grid-column: auto; }
  .xp-wallet-summary { align-items: flex-start; flex-direction: column; gap: 18px; }
  .xp-session-list article { grid-template-columns: 32px minmax(0,1fr); }
  .xp-session-list button { grid-column: 1/-1; }
  .xp-affiliate-league-stats,
  .xp-guide-nav,
  .xp-story-grid,
  .admin-inline-metrics { grid-template-columns: 1fr; }
  .xp-guide-score-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .xp-featured-story-image { min-height: 230px; }
  .xp-story-card > div { height: 200px; }
  .xp-article-header { padding: 26px 18px; }
  .xp-article-hero { height: 65vw; }
  .xp-article-content { padding: 21px; }
  .admin-page-heading { align-items: flex-start; flex-direction: column; }
  .admin-table-toolbar { align-items: stretch; flex-direction: column; }
  .admin-table-search { max-width: none; }
  .admin-inspector-fighters { grid-template-columns: 1fr; }
  .admin-inspector-fighters > span { margin: -3px 0; }
  .xp-pagination { align-items: flex-start; flex-direction: column; gap: 12px; }
}


/* ==========================================================================
   Synced frontend v3.1 — public journeys, fight room, and admin workspaces
   ========================================================================== */

/* Globally readable action typography */
button,
input[type='button'],
input[type='submit'],
.admin-experience-main :is(button,a[class*='action'],a[class*='button']),
.route-experience-content :is(button,a[class*='btn'],a[class*='button']) {
  font-size: max(14px, 0.875rem);
}


/* FAQ centre ------------------------------------------------------------- */
.xp-faq-page,
.xp-create-thread-page,
.xp-community-directory,
.xp-public-profile-shell {
  color: var(--ff-text);
  margin: 0 auto;
  max-width: 1280px;
  padding: 18px 0 72px;
  width: 100%;
}

.xp-faq-intro {
  align-items: end;
  background:
    linear-gradient(90deg, rgba(5,10,17,.96), rgba(5,10,17,.72)),
    url('/images/fmm-pages/community-arena-hd.webp') center/cover;
  border: 1px solid var(--ff-border);
  border-radius: 20px;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0,1fr) minmax(280px,.55fr);
  min-height: 320px;
  overflow: hidden;
  padding: clamp(28px,5vw,64px);
  position: relative;
}

.xp-faq-intro::after { background: radial-gradient(circle at 88% 50%,rgba(223,17,27,.27),transparent 18rem); content:''; inset:0; pointer-events:none; position:absolute; }

.xp-faq-intro span,
.xp-create-thread-copy > span { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }

.xp-faq-intro h1,
.xp-faq-intro h2,
.xp-create-thread-copy h1 { color:#fff; font-family:var(--ff-display); font-size:clamp(42px,6vw,76px); line-height:.92; margin:10px 0 16px; text-transform:uppercase; }

.xp-faq-intro p,
.xp-create-thread-copy p { color:var(--ff-muted); font-size:16px; line-height:1.7; margin:0; max-width:700px; }

.xp-faq-search { align-items:center; backdrop-filter:blur(14px); background:rgba(0,0,0,.44); border:1px solid var(--ff-border-strong); border-radius:12px; display:flex; gap:10px; padding:0 15px; }

.xp-faq-search svg { color:var(--ff-red); }

.xp-faq-search input { background:transparent!important; border:0!important; box-shadow:none!important; color:#fff!important; font-size:16px!important; min-height:58px!important; width:100%; }

.xp-faq-layout { align-items:start; display:grid; gap:20px; grid-template-columns:280px minmax(0,1fr); margin-top:22px; }

.xp-faq-aside { background:linear-gradient(180deg,rgba(17,25,35,.96),rgba(7,12,18,.98)); border:1px solid var(--ff-border); border-radius:16px; display:grid; gap:12px; padding:22px; position:sticky; top:105px; }

.xp-faq-aside svg { color:var(--ff-red); font-size:26px; }

.xp-faq-aside strong { color:#fff; font-family:var(--ff-display); font-size:24px; text-transform:uppercase; }

.xp-faq-aside p { color:var(--ff-muted); line-height:1.55; margin:0; }

.xp-faq-list { display:grid; gap:10px; }

.xp-faq-item { background:linear-gradient(180deg,rgba(16,24,34,.96),rgba(7,12,18,.97)); border:1px solid var(--ff-border); border-radius:13px; overflow:hidden; }

.xp-faq-item > button { align-items:center; background:transparent!important; border:0!important; color:#fff!important; display:flex; font-family:var(--ff-display); font-size:18px!important; font-weight:900; justify-content:space-between; min-height:68px; padding:16px 19px!important; text-align:left; text-transform:uppercase; width:100%; }

.xp-faq-item > button svg { color:var(--ff-red); flex:0 0 auto; }

.xp-faq-item > div { border-top:1px solid var(--ff-border); color:rgba(245,247,251,.76); line-height:1.75; padding:18px 20px 22px; }

.xp-inline-notice,
.admin-inline-notice { border:1px solid var(--ff-border); border-radius:10px; color:var(--ff-muted); margin:14px 0; padding:13px 15px; }

.admin-inline-notice.is-success { background:rgba(53,212,93,.08); border-color:rgba(53,212,93,.35); color:#86f59b; }

.admin-inline-notice.is-error,
.xp-inline-notice { background:rgba(223,17,27,.08); border-color:rgba(223,17,27,.34); color:#ff9ca3; }


/* Community directory --------------------------------------------------- */
.xp-community-command { align-items:end; background:linear-gradient(90deg,rgba(4,8,14,.97),rgba(4,8,14,.55)),url('/images/fmm-pages/community-arena-hd.webp') center/cover; border:1px solid var(--ff-border); border-radius:20px; display:flex; gap:24px; justify-content:space-between; min-height:280px; padding:clamp(28px,5vw,58px); }

.xp-community-command > div > span { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

.xp-community-command h1 { color:#fff; font-family:var(--ff-display); font-size:clamp(42px,6vw,70px); line-height:.92; margin:9px 0 13px; text-transform:uppercase; }

.xp-community-command p { color:var(--ff-muted); line-height:1.65; margin:0; max-width:680px; }

.xp-community-toolbar { align-items:center; background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:14px; display:flex; flex-wrap:wrap; gap:10px; margin:18px 0; padding:13px; }

.xp-community-toolbar label { align-items:center; background:rgba(0,0,0,.3); border:1px solid var(--ff-border); border-radius:9px; display:flex; flex:1 1 300px; gap:9px; padding:0 12px; }

.xp-community-toolbar label svg { color:var(--ff-red); }

.xp-community-toolbar input { background:transparent!important; border:0!important; box-shadow:none!important; min-height:46px!important; width:100%; }

.xp-community-toolbar select { min-height:46px!important; min-width:180px; }

.xp-community-grid { display:grid; gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.xp-thread-card { align-items:center; background:linear-gradient(145deg,rgba(17,26,36,.97),rgba(7,12,18,.98)); border:1px solid var(--ff-border); border-radius:15px; color:#fff!important; display:grid; gap:14px; grid-template-columns:58px minmax(0,1fr) auto; min-height:128px; padding:17px; transition:border-color .2s ease,transform .2s ease; }

.xp-thread-card:hover { border-color:rgba(223,17,27,.55); transform:translateY(-2px); }

.xp-thread-avatar { align-items:center; background:linear-gradient(135deg,#1d2b3b,#8f0710); border:1px solid var(--ff-border-strong); border-radius:12px; display:flex; font-family:var(--ff-display); font-size:19px; font-weight:900; height:58px; justify-content:center; width:58px; }

.xp-thread-avatar { overflow:hidden; position:relative; }

.xp-thread-avatar img { height:100%; object-fit:cover; width:100%; }

.xp-thread-avatar svg { color:#fff; }

.xp-thread-copy { display:grid; gap:6px; min-width:0; }

.xp-thread-copy h3 { color:#fff; font-family:var(--ff-display); font-size:22px; line-height:1.05; margin:0; overflow:hidden; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }

.xp-thread-copy p { color:var(--ff-muted); display:-webkit-box; font-size:13px; line-height:1.5; margin:0; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:2; }

.xp-thread-copy span { color:rgba(255,255,255,.48); font-size:11px; }

.xp-thread-card > svg { color:var(--ff-red); }

.xp-community-empty,
.xp-empty-card { background:var(--ff-panel); border:1px dashed var(--ff-border-strong); border-radius:15px; color:var(--ff-muted); grid-column:1/-1; padding:42px; text-align:center; }


/* Thread creation -------------------------------------------------------- */
.xp-create-thread-page { align-items:stretch; display:grid; gap:20px; grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr); }

.xp-create-thread-copy { background:linear-gradient(180deg,rgba(4,8,14,.2),rgba(4,8,14,.95)),url('/images/fmm-pages/community-arena-hd.webp') center/cover; border:1px solid var(--ff-border); border-radius:18px; display:flex; flex-direction:column; justify-content:flex-end; min-height:580px; padding:clamp(28px,4vw,48px); }

.xp-create-thread-form { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.98)); border:1px solid var(--ff-border); border-radius:18px; display:grid; gap:17px; padding:clamp(24px,4vw,42px); }

.xp-create-thread-form label { color:rgba(255,255,255,.76); display:grid; font-family:var(--ff-display); font-size:14px; font-weight:900; gap:8px; text-transform:uppercase; }

.xp-create-thread-form :is(input,textarea) { background:rgba(0,0,0,.34)!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-size:16px!important; width:100%; }

.xp-create-thread-form textarea { min-height:260px; resize:vertical; }


/* Reset and plan selection ---------------------------------------------- */
.xp-reset-page { background:#04070b; color:#fff; min-height:100vh; padding:24px; }

.xp-reset-panel { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr); margin:0 auto; max-width:1300px; min-height:calc(100vh - 48px); overflow:hidden; }

.xp-reset-art { background:linear-gradient(180deg,rgba(3,6,10,.1),rgba(3,6,10,.9)),url('/images/fmm-pages/auth-arena-hd.webp') center/cover; border:1px solid var(--ff-border); border-radius:20px 0 0 20px; min-height:650px; position:relative; }

.xp-reset-art-overlay { bottom:0; left:0; padding:clamp(30px,5vw,60px); position:absolute; right:0; }

.xp-reset-copy h1 { font-family:var(--ff-display); font-size:clamp(48px,6vw,80px); line-height:.9; margin:12px 0; text-transform:uppercase; }

.xp-reset-copy p { color:var(--ff-muted); font-size:16px; line-height:1.65; max-width:590px; }

.xp-reset-form { align-content:center; background:linear-gradient(180deg,#101821,#070b11); border:1px solid var(--ff-border); border-left:0; border-radius:0 20px 20px 0; display:grid; gap:17px; padding:clamp(30px,5vw,58px); }

.xp-reset-form h2 { color:#fff; font-family:var(--ff-display); font-size:38px; line-height:1; margin:7px 0 0; text-transform:uppercase; }

.xp-reset-form > p { color:var(--ff-muted); line-height:1.55; }

.xp-reset-form label { color:rgba(255,255,255,.78); display:grid; font-family:var(--ff-display); font-size:14px; font-weight:900; gap:8px; text-transform:uppercase; }

.xp-reset-form input { background:rgba(0,0,0,.35)!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-size:16px!important; min-height:54px!important; }

.xp-reset-success { align-items:center; display:flex; flex-direction:column; gap:12px; text-align:center; }

.xp-reset-success svg { color:var(--ff-green); font-size:46px; }

.xp-plan-backdrop { align-items:center; backdrop-filter:blur(13px); background:rgba(0,0,0,.8); display:flex; inset:0; justify-content:center; overflow:auto; padding:28px; position:fixed; z-index:15000; }

.xp-plan-selection { background:linear-gradient(180deg,#111a24,#070b11); border:1px solid var(--ff-border-strong); border-radius:20px; box-shadow:0 40px 120px rgba(0,0,0,.75); max-width:1080px; padding:clamp(24px,4vw,46px); width:100%; }

.xp-plan-header { align-items:start; display:flex; gap:20px; justify-content:space-between; }

.xp-plan-header h2 { color:#fff; font-family:var(--ff-display); font-size:clamp(38px,5vw,56px); margin:8px 0 0; text-transform:uppercase; }

.xp-plan-account { align-items:center; background:rgba(255,255,255,.045); border:1px solid var(--ff-border); border-radius:10px; color:var(--ff-muted); display:flex; gap:8px; padding:10px 13px; }

.xp-plan-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:24px; }

.xp-plan-card-head { background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025)); border:1px solid var(--ff-border); border-radius:15px; display:grid; gap:12px; padding:22px; }

.xp-plan-card-head h3 { color:#fff; font-family:var(--ff-display); font-size:32px; margin:0; text-transform:uppercase; }

.xp-plan-card-head p { color:var(--ff-muted); line-height:1.55; margin:0; }

.xp-plan-badge { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; text-transform:uppercase; }

.xp-plan-loading { color:var(--ff-muted); padding:30px; text-align:center; }


/* Checkout --------------------------------------------------------------- */
.xp-checkout-page { background:#04070b; min-height:100vh; }

.xp-checkout-background { background:linear-gradient(90deg,rgba(3,6,10,.98),rgba(3,6,10,.66)),url('/images/fmm-pages/rewards-arena-hd.webp') center/cover; border-bottom:1px solid var(--ff-border); min-height:340px; }

.xp-checkout-shell { margin:-190px auto 0; max-width:1200px; padding:0 0 80px; position:relative; }

.xp-checkout-heading { color:#fff; margin-bottom:24px; max-width:720px; }

.xp-checkout-heading h1 { font-family:var(--ff-display); font-size:clamp(45px,6vw,74px); line-height:.9; margin:10px 0; text-transform:uppercase; }

.xp-checkout-heading p { color:rgba(255,255,255,.74); font-size:16px; line-height:1.6; }

.xp-checkout-grid { align-items:start; display:grid; gap:20px; grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr); }

.xp-checkout-form,
.xp-checkout-summary { background:linear-gradient(180deg,rgba(17,25,35,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:17px; box-shadow:0 34px 90px rgba(0,0,0,.48); padding:clamp(22px,4vw,38px); }

.xp-checkout-form-title h2,
.xp-checkout-summary h2 { color:#fff; font-family:var(--ff-display); font-size:32px; margin:5px 0; text-transform:uppercase; }

.xp-checkout-form-title p { color:var(--ff-muted); }

.xp-checkout-form label { color:rgba(255,255,255,.72); display:grid; font-family:var(--ff-display); font-size:13px; font-weight:900; gap:8px; text-transform:uppercase; }

.xp-checkout-form :is(input,select) { background:rgba(0,0,0,.34)!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-size:16px!important; min-height:52px!important; width:100%; }

.xp-checkout-card-preview { aspect-ratio:1.68; background:linear-gradient(135deg,#151e29,#940912 58%,#27050a); border:1px solid rgba(255,255,255,.18); border-radius:16px; color:#fff; display:flex; flex-direction:column; justify-content:space-between; margin-bottom:20px; padding:22px; }

.xp-checkout-order { display:grid; gap:12px; }

.xp-checkout-order > div { align-items:center; border-bottom:1px solid var(--ff-border); color:var(--ff-muted); display:flex; justify-content:space-between; padding:12px 0; }

.xp-checkout-order strong { color:#fff; }

.xp-checkout-divider { border-top:1px solid var(--ff-border); margin:18px 0; }

.xp-checkout-secure,
.xp-checkout-terms { color:var(--ff-muted); font-size:12px; line-height:1.5; }

.xp-checkout-submit { margin-top:18px; width:100%; }


/* Dashboard details and prediction room --------------------------------- */
.xp-dashboard-profile h1 { font-size:clamp(48px,6vw,76px)!important; }

.xp-dashboard-profile p:not(.xp-eyebrow) { font-size:17px!important; line-height:1.65!important; }

.xp-dashboard-profile-meta span { font-size:15px!important; min-height:42px; }

.xp-dashboard-profile-meta span:first-child { font-weight:800; }

.xp-dashboard-detail-view { background:radial-gradient(circle at 85% 9%,rgba(223,17,27,.19),transparent 26rem),#04070b; min-height:100vh; padding:112px max(22px,calc((100vw - 1320px)/2)) 70px; }

.xp-dashboard-back { align-items:center; background:rgba(255,255,255,.055)!important; border:1px solid var(--ff-border)!important; border-radius:9px!important; color:#fff!important; display:inline-flex; font-family:var(--ff-display); font-size:15px!important; font-weight:900; gap:8px; margin:0 0 18px; min-height:44px; padding:0 15px!important; text-transform:uppercase; }

.xp-fight-entry { color:#fff; }

.xp-fight-entry-hero { background-position:center!important; background-size:cover!important; border:1px solid var(--ff-border); border-radius:19px; min-height:430px; overflow:hidden; padding:clamp(28px,5vw,60px); position:relative; }

.xp-fight-entry-light { background:linear-gradient(90deg,rgba(4,8,14,.98),rgba(4,8,14,.49),rgba(4,8,14,.88)); inset:0; position:absolute; }

.xp-fight-entry-grid { align-items:end; display:grid; gap:28px; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); min-height:310px; position:relative; z-index:1; }

.xp-fight-entry-copy h1 { font-family:var(--ff-display); font-size:clamp(42px,6vw,72px); line-height:.9; margin:10px 0; text-transform:uppercase; }

.xp-fight-entry-copy h1 em { color:var(--ff-red); font-style:normal; }

.xp-fight-entry-copy p { color:rgba(255,255,255,.73); font-size:16px; line-height:1.6; max-width:620px; }

.xp-fight-entry-meta { display:flex; flex-wrap:wrap; gap:9px; margin-top:20px; }

.xp-fight-entry-meta span { align-items:center; backdrop-filter:blur(8px); background:rgba(0,0,0,.38); border:1px solid var(--ff-border); border-radius:8px; display:inline-flex; font-size:13px; gap:7px; padding:9px 11px; }

.xp-fight-entry-fighters { align-items:end; display:grid; grid-template-columns:1fr auto 1fr; }

.xp-fight-entry-fighters article { display:grid; gap:9px; text-align:center; }

.xp-fight-entry-fighters img { height:260px; object-fit:contain; object-position:bottom; width:100%; }

.xp-fight-entry-fighters strong { font-family:var(--ff-display); font-size:20px; text-transform:uppercase; }

.xp-fight-entry-fighters > span { background:var(--ff-red); border-radius:50%; display:grid; font-family:var(--ff-display); font-weight:900; height:42px; margin:0 -10px 35px; place-items:center; position:relative; width:42px; z-index:2; }

.xp-entry-pass { background:linear-gradient(145deg,rgba(17,26,36,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:16px; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) minmax(280px,.45fr); margin-top:18px; padding:clamp(22px,4vw,36px); }

.xp-entry-balance,
.xp-entry-price { background:rgba(255,255,255,.04); border:1px solid var(--ff-border); border-radius:12px; padding:18px; }

.xp-entry-balance span,
.xp-entry-price span { color:var(--ff-muted); display:block; font-size:11px; font-weight:900; text-transform:uppercase; }

.xp-entry-balance strong,
.xp-entry-price strong { color:#fff; display:block; font-family:var(--ff-display); font-size:32px; margin-top:8px; text-transform:uppercase; }

.xp-entry-checklist { display:grid; gap:10px; }

.xp-entry-checklist li { color:var(--ff-muted); line-height:1.5; }

.xp-entry-warning { background:rgba(247,181,27,.08); border:1px solid rgba(247,181,27,.33); border-radius:10px; color:#ffd879; padding:12px; }

.xp-detail-empty { background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:16px; color:var(--ff-muted); padding:40px; text-align:center; }


.xp-prediction-room { color:#fff; margin:0 auto; max-width:1360px; }

.xp-prediction-header { background:linear-gradient(90deg,rgba(4,8,14,.98),rgba(4,8,14,.53)),url('/images/fmm-experience/fighter-duel-arena.webp') center/cover; border:1px solid var(--ff-border); border-radius:18px; min-height:260px; padding:clamp(26px,4vw,46px); position:relative; }

.xp-prediction-header h1 { font-family:var(--ff-display); font-size:clamp(40px,5vw,66px); line-height:.9; margin:9px 0; text-transform:uppercase; }

.xp-prediction-header p { color:var(--ff-muted); max-width:660px; }

.xp-prediction-progress { background:rgba(255,255,255,.09); border-radius:999px; height:7px; margin-top:25px; max-width:560px; overflow:hidden; }

.xp-prediction-progress span { background:linear-gradient(90deg,var(--ff-red),#ff5660); display:block; height:100%; }

.xp-prediction-lock { align-items:center; background:rgba(0,0,0,.4); border:1px solid var(--ff-border); border-radius:9px; display:inline-flex; font-size:13px; gap:8px; margin-top:13px; padding:9px 12px; }

.xp-prediction-layout { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) 330px; margin-top:18px; }

.xp-prediction-builder,
.xp-prediction-summary { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.98)); border:1px solid var(--ff-border); border-radius:16px; }

.xp-prediction-builder { overflow:hidden; }

.xp-round-tabs { border-bottom:1px solid var(--ff-border); display:flex; gap:5px; overflow-x:auto; padding:12px; }

.xp-round-tabs button { background:rgba(255,255,255,.045)!important; border:1px solid var(--ff-border)!important; border-radius:8px!important; color:var(--ff-muted)!important; font-family:var(--ff-display); font-size:13px!important; font-weight:900; min-height:40px; min-width:76px; padding:0 12px!important; text-transform:uppercase; }

.xp-round-tabs button.is-active { background:rgba(223,17,27,.14)!important; border-color:rgba(223,17,27,.55)!important; color:#fff!important; }

.xp-round-card { padding:clamp(20px,4vw,34px); }

.xp-round-card-heading { align-items:center; display:flex; justify-content:space-between; }

.xp-round-card-heading h2 { font-family:var(--ff-display); font-size:34px; margin:0; text-transform:uppercase; }

.xp-round-fighters { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:20px; }

.xp-round-fighters > article { background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:13px; padding:18px; }

.xp-round-fighters h3 { font-family:var(--ff-display); font-size:22px; margin:0 0 15px; text-transform:uppercase; }

.xp-metric-grid { display:grid; gap:10px; }

.xp-metric-row { align-items:center; display:grid; gap:10px; grid-template-columns:minmax(0,1fr) 92px; }

.xp-metric-row span { color:var(--ff-muted); font-size:13px; }

.xp-metric-row input { background:rgba(0,0,0,.36)!important; border:1px solid var(--ff-border)!important; color:#fff!important; min-height:43px!important; text-align:center; width:100%; }

.xp-round-outcome { border-top:1px solid var(--ff-border); margin-top:22px; padding-top:22px; }

.xp-segmented-choice { display:flex; flex-wrap:wrap; gap:8px; }

.xp-segmented-choice button { background:rgba(255,255,255,.045)!important; border:1px solid var(--ff-border)!important; border-radius:9px!important; color:#fff!important; min-height:43px; padding:0 14px!important; }

.xp-segmented-choice button.is-active { background:rgba(223,17,27,.15)!important; border-color:rgba(223,17,27,.55)!important; }

.xp-ko-toggle { align-items:center; display:flex; gap:9px; margin-top:14px; }

.xp-round-navigation { border-top:1px solid var(--ff-border); display:flex; justify-content:space-between; padding:16px; }

.xp-prediction-summary { padding:20px; position:sticky; top:105px; }

.xp-prediction-summary-title h2 { font-family:var(--ff-display); font-size:29px; margin:5px 0; text-transform:uppercase; }

.xp-prediction-summary > ul { display:grid; gap:9px; list-style:none; margin:18px 0; padding:0; }

.xp-prediction-summary > ul li { align-items:center; background:rgba(255,255,255,.035); border:1px solid var(--ff-border); border-radius:9px; color:var(--ff-muted); display:flex; justify-content:space-between; padding:11px; }

.xp-submit-predictions { width:100%; }

.xp-prediction-back { margin-bottom:12px; }


/* My fights and fight records ------------------------------------------- */
.xp-my-fights-page .xp-page-main { padding-top:28px; }

.xp-fight-card-grid { display:grid; gap:16px; grid-template-columns:repeat(3,minmax(0,1fr)); }

.xp-my-fight-card { background:linear-gradient(180deg,rgba(16,24,34,.96),rgba(7,12,18,.98)); border:1px solid var(--ff-border); border-radius:15px; display:grid; gap:13px; overflow:hidden; padding-bottom:16px; }

.xp-my-fight-card > a { margin:0 15px; }

.xp-wallet-callout { align-items:center; background:linear-gradient(90deg,rgba(18,27,38,.98),rgba(91,7,13,.86)),url('/images/fmm-pages/rewards-arena-hd.webp') center/cover; border:1px solid var(--ff-border); border-radius:16px; display:grid; gap:18px; grid-template-columns:auto minmax(0,1fr) auto; margin-top:22px; padding:24px; }

.xp-wallet-callout > svg { color:var(--ff-gold); font-size:38px; }

.xp-wallet-callout h2 { color:#fff; font-family:var(--ff-display); font-size:32px; margin:4px 0; text-transform:uppercase; }

.xp-wallet-callout p { color:var(--ff-muted); margin:0; }

.xp-fight-record-page { background:#04070b; min-height:100vh; }

.xp-fight-record-hero { background-position:center!important; background-size:cover!important; border-bottom:1px solid var(--ff-border); min-height:510px; padding:145px 0 60px; position:relative; }

.xp-fight-record-hero::before { background:linear-gradient(90deg,rgba(3,6,10,.98),rgba(3,6,10,.46),rgba(3,6,10,.9)); content:''; inset:0; position:absolute; }

.xp-fight-record-layout { align-items:end; display:grid; gap:30px; grid-template-columns:minmax(0,1fr) minmax(360px,.75fr); position:relative; z-index:1; }

.xp-record-copy h1 { color:#fff; font-family:var(--ff-display); font-size:clamp(48px,7vw,86px); line-height:.87; margin:10px 0; text-transform:uppercase; }

.xp-record-copy p { color:rgba(255,255,255,.72); font-size:16px; line-height:1.6; max-width:670px; }

.xp-record-meta { display:flex; flex-wrap:wrap; gap:9px; }

.xp-record-meta span { background:rgba(0,0,0,.4); border:1px solid var(--ff-border); border-radius:8px; padding:9px 11px; }

.xp-record-fighters { align-items:end; display:grid; grid-template-columns:1fr auto 1fr; }

.xp-record-fighters article { display:grid; gap:8px; text-align:center; }

.xp-record-fighters img { height:300px; object-fit:contain; object-position:bottom; width:100%; }

.xp-record-fighters strong { font-family:var(--ff-display); font-size:21px; text-transform:uppercase; }

.xp-record-fighters > span { background:var(--ff-red); border-radius:50%; display:grid; font-family:var(--ff-display); height:44px; margin:0 -8px 40px; place-items:center; width:44px; z-index:2; }

.xp-fight-record-grid { display:grid; gap:18px; grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr); }

.xp-record-summary,
.xp-record-scoreboard,
.xp-record-prediction-cta { background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:16px; padding:24px; }

.xp-record-summary h2,
.xp-record-scoreboard h2,
.xp-record-prediction-cta h2 { color:#fff; font-family:var(--ff-display); font-size:31px; margin:6px 0; text-transform:uppercase; }

.xp-record-metrics { display:grid; gap:10px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:18px; }

.xp-record-metrics article { background:rgba(255,255,255,.035); border:1px solid var(--ff-border); border-radius:10px; padding:14px; }

.xp-record-metrics span { color:var(--ff-muted); display:block; font-size:11px; text-transform:uppercase; }

.xp-record-metrics strong { color:#fff; display:block; font-family:var(--ff-display); font-size:23px; margin-top:7px; }

.xp-record-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:20px; }


/* Public player profile -------------------------------------------------- */
.xp-public-profile-hero { align-items:center; background:linear-gradient(90deg,rgba(4,8,14,.97),rgba(4,8,14,.55)),url('/images/fmm-pages/profile-arena-hd.webp') center/cover; border:1px solid var(--ff-border); border-radius:20px; display:grid; gap:28px; grid-template-columns:150px minmax(0,1fr) auto; min-height:340px; padding:clamp(28px,5vw,58px); }

.xp-public-profile-avatar { align-items:center; background:linear-gradient(135deg,#1b2d40,#9f0912); border:2px solid rgba(255,255,255,.22); border-radius:20px; display:flex; font-family:var(--ff-display); font-size:44px; font-weight:900; height:150px; justify-content:center; overflow:hidden; width:150px; }

.xp-public-profile-avatar img { height:100%; object-fit:cover; width:100%; }

.xp-kicker { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }

.xp-public-profile-hero h1 { color:#fff; font-family:var(--ff-display); font-size:clamp(46px,6vw,76px); line-height:.9; margin:9px 0; text-transform:uppercase; }

.xp-public-profile-hero p { color:var(--ff-muted); font-size:16px; line-height:1.6; max-width:650px; }

.xp-profile-badges { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }

.xp-profile-badges span { align-items:center; background:rgba(0,0,0,.34); border:1px solid var(--ff-border); border-radius:8px; display:inline-flex; gap:7px; padding:9px 11px; }

.xp-public-profile-stats { display:grid; gap:12px; grid-template-columns:repeat(4,minmax(0,1fr)); margin:18px 0; }

.xp-public-profile-stats article { background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:13px; display:grid; gap:8px; padding:18px; }

.xp-public-profile-stats svg { color:var(--ff-red); }

.xp-public-profile-stats span { color:var(--ff-muted); font-size:11px; text-transform:uppercase; }

.xp-public-profile-stats strong { color:#fff; font-family:var(--ff-display); font-size:28px; text-transform:uppercase; }

.xp-profile-fight-section { background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:17px; padding:clamp(20px,4vw,34px); }

.xp-profile-fight-section > header { align-items:end; display:flex; gap:18px; justify-content:space-between; }

.xp-profile-fight-section > header span { color:var(--ff-red); font-family:var(--ff-display); font-size:11px; font-weight:900; text-transform:uppercase; }

.xp-profile-fight-section h2 { color:#fff; font-family:var(--ff-display); font-size:34px; margin:5px 0; text-transform:uppercase; }

.xp-profile-fight-section p { color:var(--ff-muted); margin:0; }

.xp-profile-fight-grid { display:grid; gap:13px; grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:20px; }

.xp-profile-fight-card { background:rgba(255,255,255,.035); border:1px solid var(--ff-border); border-radius:13px; color:#fff!important; overflow:hidden; padding:15px; }

.xp-profile-fight-card > div { align-items:end; background:radial-gradient(circle at 50% 100%,rgba(223,17,27,.18),transparent 70%); display:grid; grid-template-columns:1fr auto 1fr; height:150px; margin:-15px -15px 13px; overflow:hidden; }

.xp-profile-fight-card img { height:145px; object-fit:contain; object-position:bottom; width:100%; }

.xp-profile-fight-card > div span { background:var(--ff-red); border-radius:50%; display:grid; font-family:var(--ff-display); height:34px; margin-bottom:20px; place-items:center; width:34px; }

.xp-profile-fight-card small { color:var(--ff-red); font-family:var(--ff-display); font-weight:900; text-transform:uppercase; }

.xp-profile-fight-card h3 { font-family:var(--ff-display); font-size:21px; margin:7px 0; text-transform:uppercase; }

.xp-profile-fight-card p { font-size:12px; }


/* Administration content desk ------------------------------------------ */
.admin-content-layout { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1.42fr) minmax(340px,.58fr); }

.admin-content-editor { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:16px; padding:20px; position:sticky; top:104px; }

.admin-content-editor header { border-bottom:1px solid var(--ff-border); margin-bottom:18px; padding-bottom:16px; }

.admin-content-editor header span { color:var(--ff-red); font-family:var(--ff-display); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.admin-content-editor header h3 { color:#fff; font-family:var(--ff-display); font-size:29px; margin:6px 0; text-transform:uppercase; }

.admin-content-editor header p { color:var(--ff-muted); margin:0; }

.admin-content-editor form { display:grid; gap:15px; }

.admin-content-editor label:not(.admin-checkbox-line) { color:rgba(255,255,255,.73); display:grid; font-family:var(--ff-display); font-size:13px; font-weight:900; gap:7px; text-transform:uppercase; }

.admin-content-editor :is(input,textarea) { background:rgba(0,0,0,.34)!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-size:15px!important; min-width:0; width:100%; }

.admin-content-editor textarea { min-height:220px; resize:vertical; }

.admin-checkbox-line { align-items:center; background:rgba(255,255,255,.035); border:1px solid var(--ff-border); border-radius:9px; color:var(--ff-muted); display:flex; gap:10px; padding:12px; }

.admin-checkbox-line input { accent-color:var(--ff-red); height:20px; min-height:auto!important; width:20px; }

.admin-editor-actions,
.admin-heading-actions { display:flex; flex-wrap:wrap; gap:8px; }

.admin-action-secondary { align-items:center; background:rgba(255,255,255,.055)!important; border:1px solid var(--ff-border)!important; border-radius:9px!important; color:#fff!important; display:inline-flex; font-family:var(--ff-display); font-size:14px!important; font-weight:900; gap:8px; min-height:46px; padding:0 15px!important; text-transform:uppercase; }

.admin-content-description { color:var(--ff-muted)!important; line-height:1.45; max-width:450px; min-width:260px; }

.admin-empty-table { display:grid; gap:5px; }

.admin-empty-table strong { color:#fff; font-family:var(--ff-display); font-size:18px; text-transform:uppercase; }

.admin-status-badge { align-items:center; background:rgba(255,255,255,.05); border:1px solid var(--ff-border); border-radius:999px; display:inline-flex; font-size:11px!important; font-weight:900; gap:6px; min-height:30px!important; padding:0 10px!important; text-transform:uppercase; }

.admin-status-badge.is-completed { background:rgba(53,212,93,.1); border-color:rgba(53,212,93,.3); color:#78ef8e; }


/* Create fight ----------------------------------------------------------- */
.admin-create-fight-page { position:relative; }

.admin-create-fight-page::before { background:radial-gradient(circle at 84% 7%,rgba(223,17,27,.2),transparent 25rem); content:''; inset:-35px; pointer-events:none; position:absolute; }

.admin-create-fight-layout { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1.35fr) minmax(350px,.65fr); }

.admin-create-fight-layout > main { display:grid; gap:16px; }

.admin-create-fight-layout > aside { display:grid; gap:14px; position:sticky; top:105px; }

.admin-form-card { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:16px; padding:20px; }

.admin-form-card > header { align-items:start; border-bottom:1px solid var(--ff-border); display:flex; gap:13px; margin-bottom:19px; padding-bottom:16px; }

.admin-form-card > header > span { align-items:center; background:rgba(223,17,27,.13); border:1px solid rgba(223,17,27,.4); border-radius:9px; color:#fff; display:flex; font-family:var(--ff-display); font-weight:900; height:38px; justify-content:center; width:38px; }

.admin-form-card h3 { color:#fff; font-family:var(--ff-display); font-size:26px; margin:0; text-transform:uppercase; }

.admin-form-card p { color:var(--ff-muted); margin:4px 0 0; }

.admin-form-grid { display:grid; gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.admin-form-grid label { color:rgba(255,255,255,.74); display:grid; font-family:var(--ff-display); font-size:13px; font-weight:900; gap:7px; min-width:0; text-transform:uppercase; }

.admin-form-grid label.is-wide { grid-column:1/-1; }

.admin-form-grid :is(input,select,textarea) { background:rgba(0,0,0,.34)!important; border:1px solid var(--ff-border)!important; box-sizing:border-box; color:#fff!important; font-size:15px!important; min-width:0!important; width:100%!important; }

.admin-form-grid textarea { resize:vertical; }

.admin-toggle-grid { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.admin-toggle-grid label { align-items:start; background:rgba(255,255,255,.035); border:1px solid var(--ff-border); border-radius:11px; display:flex; gap:11px; padding:14px; }

.admin-toggle-grid input { accent-color:var(--ff-red); height:21px; min-height:auto!important; width:21px; }

.admin-toggle-grid span { display:grid; gap:4px; }

.admin-toggle-grid strong { color:#fff; }

.admin-toggle-grid small { color:var(--ff-muted); line-height:1.45; }

.admin-fight-visual-card { background-position:center!important; background-size:cover!important; border:1px solid var(--ff-border-strong); border-radius:17px; min-height:390px; overflow:hidden; padding:20px; }

.admin-fight-visual-card > span { color:var(--ff-red); font-family:var(--ff-display); font-size:11px; font-weight:900; text-transform:uppercase; }

.admin-fight-visual-card > h3 { color:#fff; font-family:var(--ff-display); font-size:30px; margin:8px 0 13px; text-transform:uppercase; }

.admin-fight-visual-card > div { align-items:end; display:grid; grid-template-columns:1fr auto 1fr; min-height:240px; }

.admin-fight-visual-card article { display:grid; gap:6px; text-align:center; }

.admin-fight-visual-card img { height:220px; object-fit:contain; object-position:bottom; width:100%; }

.admin-fight-visual-card article strong { color:#fff; font-family:var(--ff-display); text-transform:uppercase; }

.admin-fight-visual-card b { background:var(--ff-red); border-radius:50%; display:grid; height:38px; margin-bottom:32px; place-items:center; width:38px; }

.admin-fight-visual-card > small { align-items:center; color:var(--ff-muted); display:flex; gap:7px; }

.admin-upload-stack { display:grid; gap:8px; }

.admin-upload-stack label { align-items:center; background:rgba(255,255,255,.04); border:1px solid var(--ff-border); border-radius:10px; cursor:pointer; display:grid; gap:11px; grid-template-columns:30px minmax(0,1fr); padding:12px; }

.admin-upload-stack svg { color:var(--ff-red); font-size:22px; }

.admin-upload-stack span { display:grid; gap:3px; }

.admin-upload-stack strong { color:#fff; }

.admin-upload-stack small { color:var(--ff-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.admin-create-submit { justify-content:center; width:100%; }

.admin-success-panel { align-items:center; background:rgba(53,212,93,.07); border:1px solid rgba(53,212,93,.3); border-radius:14px; display:flex; gap:20px; justify-content:space-between; padding:18px; }

.admin-success-panel span { color:#7eed94; display:block; font-size:11px; text-transform:uppercase; }

.admin-success-panel strong { color:#fff; display:block; font-family:var(--ff-display); font-size:25px; text-transform:uppercase; }

.admin-success-panel p { color:var(--ff-muted); margin:4px 0 0; }

.admin-success-panel > div:last-child { display:flex; flex-wrap:wrap; gap:8px; }

.admin-success-panel a { background:rgba(255,255,255,.06); border:1px solid var(--ff-border); border-radius:8px; color:#fff!important; font-size:13px; font-weight:900; padding:10px 12px; text-transform:uppercase; }


/* Official scoring centre ------------------------------------------------ */
.admin-score-center { max-width:1500px; }

.admin-score-hero { background:linear-gradient(90deg,rgba(4,8,14,.98),rgba(4,8,14,.49)),url('/images/fmm-experience/fighter-duel-panel.webp') center/cover; border:1px solid var(--ff-border); border-radius:17px; min-height:240px; padding:28px; }

.admin-score-hero h3 { color:#fff; font-family:var(--ff-display); font-size:clamp(36px,5vw,60px); line-height:.9; margin:8px 0; text-transform:uppercase; }

.admin-score-hero p { color:var(--ff-muted); max-width:720px; }

.admin-score-toolbar { align-items:center; background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:13px; display:flex; flex-wrap:wrap; gap:10px; justify-content:space-between; padding:14px; }

.admin-score-form { display:grid; gap:15px; }

.admin-score-rounds { display:grid; gap:13px; }

.admin-score-round { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:15px; padding:18px; }

.admin-score-round > header { align-items:center; border-bottom:1px solid var(--ff-border); display:flex; justify-content:space-between; margin-bottom:15px; padding-bottom:13px; }

.admin-score-round h4 { color:#fff; font-family:var(--ff-display); font-size:24px; margin:0; text-transform:uppercase; }

.admin-score-fighter-columns { display:grid; gap:14px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.admin-score-fighter-columns > article { background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:11px; padding:14px; }

.admin-score-fighter-columns h5 { color:#fff; font-family:var(--ff-display); font-size:19px; margin:0 0 12px; text-transform:uppercase; }

.admin-score-fighter-columns label { color:var(--ff-muted); display:grid; font-size:12px; gap:6px; margin-top:9px; }

.admin-score-fighter-columns input,
.admin-score-round select { background:rgba(0,0,0,.35)!important; border:1px solid var(--ff-border)!important; color:#fff!important; min-width:0!important; width:100%!important; }

.admin-score-ko { align-items:center; display:flex!important; gap:8px!important; }

.admin-score-ko input { accent-color:var(--ff-red); height:20px; min-height:auto!important; width:20px!important; }

.admin-score-submit { justify-content:center; min-height:58px!important; width:100%; }


/* Prevent scoring forms from exceeding the viewport. */
.admin-scoring-layout,
.admin-rule-editor,
.admin-rule-form-grid,
.admin-rule-points,
.admin-rule-form-grid label,
.admin-rule-points label { min-width:0; }

.admin-rule-form-grid :is(input,select,textarea),
.admin-rule-points input { box-sizing:border-box; max-width:100%; min-width:0!important; width:100%!important; }


@media (max-width: 1080px) {
  .xp-faq-layout,
  .xp-create-thread-page,
  .xp-reset-panel,
  .xp-checkout-grid,
  .xp-fight-entry-grid,
  .xp-entry-pass,
  .xp-prediction-layout,
  .xp-fight-record-layout,
  .xp-fight-record-grid,
  .admin-content-layout,
  .admin-create-fight-layout { grid-template-columns:1fr; }
  .xp-faq-aside,
  .xp-prediction-summary,
  .admin-content-editor,
  .admin-create-fight-layout > aside { position:static; }
  .xp-reset-art { border-radius:20px 20px 0 0; min-height:460px; }
  .xp-reset-form { border-left:1px solid var(--ff-border); border-radius:0 0 20px 20px; }
  .xp-checkout-shell { margin-top:-130px; }
  .xp-fight-card-grid,
  .xp-profile-fight-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .xp-public-profile-hero { grid-template-columns:130px minmax(0,1fr); }
  .xp-public-profile-hero > a { grid-column:1/-1; justify-self:start; }
  .xp-public-profile-avatar { height:130px; width:130px; }
}


@media (max-width: 720px) {
  .xp-faq-intro,
  .xp-community-grid,
  .xp-plan-grid,
  .xp-round-fighters,
  .xp-fight-card-grid,
  .xp-profile-fight-grid,
  .xp-public-profile-stats,
  .admin-form-grid,
  .admin-toggle-grid,
  .admin-score-fighter-columns { grid-template-columns:1fr; }
  .xp-faq-intro,
  .xp-community-command { align-items:flex-start; display:flex; flex-direction:column; min-height:auto; }
  .xp-thread-card { grid-template-columns:48px minmax(0,1fr); }
  .xp-thread-avatar { height:48px; width:48px; }
  .xp-thread-card > svg { display:none; }
  .xp-checkout-shell { margin-top:-90px; padding-inline:14px; }
  .xp-fight-entry-fighters img,
  .xp-record-fighters img { height:200px; }
  .xp-entry-pass,
  .xp-wallet-callout { grid-template-columns:1fr; }
  .xp-record-metrics { grid-template-columns:1fr; }
  .xp-public-profile-hero { grid-template-columns:1fr; text-align:center; }
  .xp-public-profile-avatar { margin:auto; }
  .xp-public-profile-hero > a { justify-self:center; }
  .xp-profile-badges { justify-content:center; }
  .xp-profile-fight-section > header,
  .admin-success-panel { align-items:flex-start; flex-direction:column; }
  .admin-form-grid label.is-wide { grid-column:auto; }
  .admin-score-toolbar { align-items:stretch; flex-direction:column; }
  .xp-dashboard-detail-view { padding:92px 14px 48px; }
}


/* Markup-aligned overrides for recovery and prediction journeys ---------- */
.xp-reset-page {
  align-items:stretch;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);
  margin:0 auto;
  max-width:1400px;
}

.xp-reset-page > .xp-reset-art { border-radius:20px 0 0 20px; min-height:calc(100vh - 48px); }

.xp-reset-page > .xp-reset-art .xp-reset-copy { bottom:0; left:0; padding:clamp(30px,5vw,60px); position:absolute; right:0; z-index:2; }

.xp-reset-page > .xp-reset-panel {
  align-content:center;
  background:linear-gradient(180deg,#101821,#070b11);
  border:1px solid var(--ff-border);
  border-left:0;
  border-radius:0 20px 20px 0;
  display:grid;
  min-height:calc(100vh - 48px);
  overflow:visible;
  padding:clamp(30px,5vw,58px);
}

.xp-reset-panel > section { display:grid; gap:13px; }

.xp-reset-panel > section > h2 { color:#fff; font-family:var(--ff-display); font-size:38px; line-height:1; margin:6px 0; text-transform:uppercase; }

.xp-reset-panel > .xp-auth-logo { margin-bottom:28px; }

.xp-reset-panel > .xp-auth-logo img { height:auto; width:82px; }

.xp-reset-form { background:transparent; border:0; border-radius:0; display:grid; gap:15px; padding:0; }

.xp-reset-form label > div { align-items:center; background:rgba(0,0,0,.35); border:1px solid var(--ff-border); border-radius:9px; display:flex; gap:9px; padding:0 12px; }

.xp-reset-form label > div > svg { color:var(--ff-red); }

.xp-reset-form label > div input { background:transparent!important; border:0!important; box-shadow:none!important; flex:1; padding-inline:2px!important; }

.xp-reset-form label > div button { background:transparent!important; border:0!important; color:var(--ff-muted)!important; min-height:42px!important; padding:0 4px!important; }


.xp-fight-entry-hero {
  align-items:end;
  background-image:linear-gradient(90deg,rgba(4,8,14,.98),rgba(4,8,14,.48),rgba(4,8,14,.9)),var(--fight-bg);
  display:grid;
  gap:30px;
  grid-template-columns:minmax(0,1.1fr) minmax(350px,.9fr);
}

.xp-fight-entry-copy,
.xp-fight-entry-fighters { position:relative; z-index:2; }

.xp-fight-entry-copy h1 span { color:var(--ff-red); }

.xp-fight-entry-fighters figure { display:grid; gap:8px; margin:0; text-align:center; }

.xp-fight-entry-fighters figcaption { color:#fff; font-family:var(--ff-display); font-size:20px; font-weight:900; text-transform:uppercase; }

.xp-fight-entry-fighters > strong { background:var(--ff-red); border-radius:50%; display:grid; font-family:var(--ff-display); height:42px; margin:0 -10px 35px; place-items:center; position:relative; width:42px; z-index:2; }

.xp-fight-entry-grid { align-items:start; grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr); min-height:0; }

.xp-entry-checklist { background:linear-gradient(145deg,rgba(17,26,36,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:16px; padding:clamp(22px,4vw,36px); }

.xp-entry-checklist h2 { color:#fff; font-family:var(--ff-display); font-size:34px; margin:8px 0 16px; text-transform:uppercase; }

.xp-entry-checklist ul { display:grid; gap:12px; list-style:none; margin:0; padding:0; }

.xp-entry-checklist li { align-items:start; background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:10px; display:grid; gap:10px; grid-template-columns:20px minmax(0,1fr); padding:13px; }

.xp-entry-checklist li > svg { color:var(--ff-green); margin-top:3px; }

.xp-entry-checklist li span { display:grid; gap:3px; }

.xp-entry-checklist li strong { color:#fff; }

.xp-entry-checklist li small { color:var(--ff-muted); line-height:1.45; }

.xp-entry-pass { display:grid; grid-template-columns:1fr; margin-top:0; }

.xp-entry-pass > span { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.xp-entry-price { align-items:end; display:grid; gap:8px; grid-template-columns:auto auto 1fr; }

.xp-entry-price > svg { color:var(--ff-gold); font-size:24px; }

.xp-entry-price strong { margin:0; }

.xp-entry-price small { color:var(--ff-muted); padding-bottom:4px; }


.xp-prediction-header { background-image:linear-gradient(90deg,rgba(4,8,14,.98),rgba(4,8,14,.53)),var(--prediction-bg); }

.xp-prediction-header h1 span { color:var(--ff-red); }

.xp-prediction-progress { background:transparent; border-radius:0; display:grid; gap:7px; height:auto; overflow:visible; }

.xp-prediction-progress > span { background:transparent; color:#fff; font-family:var(--ff-display); font-size:13px; height:auto; text-transform:uppercase; }

.xp-prediction-progress > div { background:rgba(255,255,255,.09); border-radius:999px; height:7px; overflow:hidden; }

.xp-prediction-progress > div i { background:linear-gradient(90deg,var(--ff-red),#ff5660); display:block; height:100%; }

.xp-prediction-progress small { color:var(--ff-muted); }

.xp-round-card-heading > div > span { color:var(--ff-red); font-family:var(--ff-display); font-size:12px; font-weight:900; text-transform:uppercase; }

.xp-round-card-heading > p { color:var(--ff-muted); }

.xp-round-fighters { align-items:end; grid-template-columns:1fr auto 1fr; }

.xp-round-fighters figure { background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:13px; display:grid; margin:0; overflow:hidden; padding:12px; text-align:center; }

.xp-round-fighters img { height:190px; object-fit:contain; object-position:bottom; width:100%; }

.xp-round-fighters figcaption { color:#fff; font-family:var(--ff-display); font-size:20px; font-weight:900; text-transform:uppercase; }

.xp-round-fighters > strong { background:var(--ff-red); border-radius:50%; display:grid; font-family:var(--ff-display); height:40px; margin-bottom:28px; place-items:center; width:40px; }

.xp-metric-row { grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr); }

.xp-metric-row label { color:var(--ff-muted); display:grid; font-size:12px; gap:6px; }

.xp-metric-row > div { display:grid; text-align:center; }

.xp-metric-row > div strong { color:#fff; font-family:var(--ff-display); font-size:20px; }

.xp-metric-row > div small { color:var(--ff-muted); font-size:10px; }

.xp-round-outcome > span { color:#fff; display:block; font-family:var(--ff-display); font-size:16px; font-weight:900; margin-bottom:10px; text-transform:uppercase; }

.xp-prediction-summary-title { align-items:center; border-bottom:1px solid var(--ff-border); display:flex; gap:11px; margin-bottom:16px; padding-bottom:14px; }

.xp-prediction-summary-title > svg { color:var(--ff-gold); font-size:28px; }

.xp-prediction-summary-title span { color:var(--ff-red); font-family:var(--ff-display); font-size:11px; font-weight:900; text-transform:uppercase; }

.xp-prediction-summary label { color:var(--ff-muted); display:grid; font-family:var(--ff-display); font-size:12px; font-weight:900; gap:7px; margin-top:13px; text-transform:uppercase; }

.xp-prediction-summary :is(select,input) { background:rgba(0,0,0,.36)!important; border:1px solid var(--ff-border)!important; color:#fff!important; min-height:48px!important; width:100%; }

.xp-prediction-lock { align-items:flex-start; display:grid; grid-template-columns:20px minmax(0,1fr); }

.xp-prediction-lock span { display:grid; gap:3px; }

.xp-prediction-lock strong { color:#fff; }

.xp-prediction-lock small { color:var(--ff-muted); line-height:1.4; }


@media (max-width:1080px) {
  .xp-reset-page,
  .xp-fight-entry-hero { grid-template-columns:1fr; }
  .xp-reset-page > .xp-reset-art { border-radius:20px 20px 0 0; min-height:460px; }
  .xp-reset-page > .xp-reset-panel { border-left:1px solid var(--ff-border); border-radius:0 0 20px 20px; min-height:auto; }
}

@media (max-width:720px) {
  .xp-reset-page { padding:12px; }
  .xp-fight-entry-grid,
  .xp-round-fighters,
  .xp-metric-row { grid-template-columns:1fr; }
  .xp-round-fighters > strong { margin:0 auto; }
  .xp-metric-row > div { padding:5px 0; }
}



/* Final readability and legacy navigation cleanup */
.admin-quick-action strong,
.admin-command-card strong {
  font-size: 16px !important;
  line-height: 1.25 !important;
}

.admin-quick-action small,
.admin-command-card small {
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.route-experience-content > i.fa-arrow-circle-left,
.admin-experience-main i.fa-arrow-circle-left,
.admin-experience-main .fa-arrow-circle-left {
  display: none !important;
}


/* Backend-authoritative fight leaderboard / completed fight room */
.xp-fight-board{width:min(1320px,calc(100% - 40px));margin:0 auto 70px;padding-top:24px;color:#f6f8fb}
.xp-fight-board-hero{position:relative;overflow:hidden;min-height:390px;border:1px solid rgba(255,255,255,.13);border-radius:20px;background:linear-gradient(90deg,rgba(2,8,15,.98) 0%,rgba(2,8,15,.76) 48%,rgba(2,8,15,.3) 100%),var(--board-bg) center/cover no-repeat;display:grid;grid-template-columns:minmax(0,1fr) minmax(400px,.85fr);align-items:end;padding:52px;box-shadow:0 32px 80px rgba(0,0,0,.4)}
.xp-fight-board-hero:after{content:"";position:absolute;inset:auto 0 0;height:42%;background:linear-gradient(0deg,rgba(234,23,40,.17),transparent);pointer-events:none}
.xp-fight-board-copy,.xp-fight-board-fighters{position:relative;z-index:1}
.xp-fight-board-copy h1{margin:10px 0 14px;font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:clamp(42px,5vw,76px);line-height:.94;text-transform:uppercase}
.xp-fight-board-copy h1 span{color:#ed1c2f}
.xp-fight-board-copy>p:not(.xp-eyebrow){max-width:680px;color:#b8c1cd;font-size:16px;line-height:1.7}
.xp-fight-board-status{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.xp-fight-board-status span{display:inline-flex;align-items:center;gap:8px;padding:10px 13px;border:1px solid rgba(255,255,255,.11);border-radius:999px;background:rgba(3,9,16,.7);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}
.xp-fight-board-fighters{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:10px}
.xp-fight-board-fighters figure{margin:0;text-align:center}
.xp-fight-board-fighters img{width:100%;height:290px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 20px rgba(0,0,0,.55))}
.xp-fight-board-fighters figcaption{margin-top:-12px;font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:19px;text-transform:uppercase}
.xp-fight-board-fighters>strong{align-self:center;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ed1c2f;box-shadow:0 0 35px rgba(237,28,47,.52);font-size:16px}
.xp-fight-board-summary{display:grid;grid-template-columns:repeat(3,1fr) minmax(190px,.8fr);gap:12px;margin:16px 0}
.xp-fight-board-summary article,.xp-fight-board-summary button{min-height:112px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:linear-gradient(145deg,rgba(18,27,38,.96),rgba(6,11,18,.96));padding:20px}
.xp-fight-board-summary article span{display:block;color:#8e99a8;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.xp-fight-board-summary article strong{display:block;margin:5px 0;font-size:30px}
.xp-fight-board-summary article small{color:#aeb7c4}
.xp-fight-board-summary button{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;font-size:14px;font-weight:900;text-transform:uppercase;cursor:pointer}
.xp-fight-board-summary button:hover{border-color:#ed1c2f}
.xp-fight-board-table-wrap{border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(6,12,20,.96);overflow:hidden}
.xp-fight-board-table-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 26px;border-bottom:1px solid rgba(255,255,255,.09)}
.xp-fight-board-table-heading span{color:#ed1c2f;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.09em}
.xp-fight-board-table-heading h2{margin:4px 0 0;font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:30px;text-transform:uppercase}
.xp-fight-board-table-heading a{color:#fff;font-size:13px;font-weight:800;text-decoration:none}
.xp-fight-board-scroll{overflow-x:auto}
.xp-fight-board-table{width:100%;border-collapse:collapse;min-width:760px}
.xp-fight-board-table th{padding:13px 20px;background:#0d151f;color:#8692a2;font-size:11px;text-align:left;text-transform:uppercase;letter-spacing:.07em}
.xp-fight-board-table td{padding:16px 20px;border-top:1px solid rgba(255,255,255,.07);color:#dce2ea}
.xp-fight-board-table tr.is-current-player{background:linear-gradient(90deg,rgba(237,28,47,.19),rgba(237,28,47,.035))}
.xp-fight-board-player{display:flex;align-items:center;gap:12px}
.xp-fight-board-player img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.16)}
.xp-fight-board-player span{display:flex;flex-direction:column}
.xp-fight-board-player small{color:#8995a5;margin-top:3px}
.xp-fight-board-empty{padding:70px 24px;text-align:center}
.xp-fight-board-empty>svg{font-size:38px;color:#ed1c2f}
.xp-fight-board-empty h3{font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:28px;text-transform:uppercase;margin:14px 0 7px}
.xp-fight-board-empty p{max-width:620px;margin:0 auto;color:#9ca7b5;line-height:1.6}
.is-spinning{animation:xpSpin .8s linear infinite}

@media(max-width:900px){.xp-fight-board{width:min(100% - 24px,1320px)}.xp-fight-board-hero{grid-template-columns:1fr;padding:30px;min-height:0}.xp-fight-board-fighters img{height:210px}.xp-fight-board-summary{grid-template-columns:1fr 1fr}.xp-fight-board-summary button{grid-column:1/-1;min-height:70px}}
@media(max-width:600px){.xp-fight-board-hero{padding:24px 18px}.xp-fight-board-fighters img{height:150px}.xp-fight-board-fighters>strong{width:44px;height:44px}.xp-fight-board-summary{grid-template-columns:1fr}.xp-fight-board-summary button{grid-column:auto}.xp-fight-board-table-heading{align-items:flex-start;gap:12px;flex-direction:column}}


/* Restored fights, joined leagues, and public league roster */
.xp-hidden-fight-actions{display:flex;gap:10px;padding:14px}
.xp-hidden-fight-actions .theme-btn{flex:1}
.xp-team-creator{display:flex;align-items:center;gap:20px;padding:22px;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:rgba(5,11,18,.74)}
.xp-team-creator img{width:100px;height:100px;border-radius:14px;object-fit:cover}
.xp-team-creator span{color:#ed1c2f;font-size:11px;font-weight:900;text-transform:uppercase}
.xp-team-creator h2{margin:5px 0;font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:30px;text-transform:uppercase}
.xp-team-creator p{margin:0;color:#9ca7b5}
.xp-team-member-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.xp-team-member-grid article{padding:18px;border:1px solid rgba(255,255,255,.1);border-radius:15px;background:linear-gradient(145deg,#111a25,#070c13);text-align:center}
.xp-team-member-grid img{width:100%;height:220px;border-radius:11px;object-fit:cover;object-position:top}
.xp-team-member-grid span{display:block;margin-top:15px;color:#ed1c2f;font-size:10px;font-weight:900;text-transform:uppercase}
.xp-team-member-grid h3{margin:6px 0 12px;font-family:var(--font-display,"Arial Narrow",sans-serif);font-size:22px;text-transform:uppercase}
.xp-team-member-grid a{color:#fff;font-size:12px;font-weight:800;text-decoration:none}
.xp-team-member-grid a svg{margin-left:5px}
@media(max-width:900px){.xp-team-member-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.xp-hidden-fight-actions{flex-direction:column}.xp-team-member-grid{grid-template-columns:1fr}.xp-team-creator{align-items:flex-start;flex-direction:column}}


/* Community thread detail — routed, themed, and array-safe. */
.xp-thread-detail-page{width:min(1180px,calc(100% - 40px));margin:0 auto;padding:34px 0 90px;color:#f5f7fb}
.xp-thread-detail-hero{min-height:360px;border:1px solid rgba(255,255,255,.12);border-radius:20px;background-size:cover;background-position:center;display:flex;align-items:flex-end;justify-content:space-between;gap:30px;padding:48px;overflow:hidden;box-shadow:0 28px 80px rgba(0,0,0,.38)}
.xp-thread-detail-hero>div{max-width:770px}
.xp-thread-detail-hero>div>span,.xp-thread-replies>header span,.xp-thread-reply-card>span,.xp-thread-origin-card>div>span{font-family:var(--fmm-display-font,Impact,sans-serif);font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:#ff2638}
.xp-thread-detail-hero h1{margin:12px 0 14px;font-family:var(--fmm-display-font,Impact,sans-serif);font-size:clamp(42px,6vw,78px);line-height:.96;letter-spacing:.015em;text-transform:uppercase}
.xp-thread-detail-hero p{max-width:740px;margin:0;color:#c7cdd8;font-size:17px;line-height:1.65}
.xp-thread-detail-meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:25px;color:#9fa8b7;font-size:14px}
.xp-thread-detail-meta span{display:flex;align-items:center;gap:7px}
.xp-thread-detail-hero>a{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;border:1px solid rgba(255,255,255,.18);border-radius:10px;padding:14px 17px;color:#fff;font-weight:800;text-decoration:none;background:rgba(4,8,14,.68)}
.xp-thread-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;margin-top:24px}
.xp-thread-origin-card,.xp-thread-replies,.xp-thread-reply-card,.xp-thread-rules-card{border:1px solid rgba(255,255,255,.1);border-radius:16px;background:linear-gradient(145deg,rgba(18,25,35,.96),rgba(5,10,17,.98));box-shadow:0 20px 48px rgba(0,0,0,.2)}
.xp-thread-origin-card{display:flex;gap:20px;padding:26px}
.xp-thread-origin-card>img{width:66px;height:66px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,38,56,.72)}
.xp-thread-origin-card p{margin:10px 0 14px;color:#e5e8ee;font-size:17px;line-height:1.72}
.xp-thread-origin-card small{color:#848f9e}
.xp-thread-replies{margin-top:24px;padding:26px}
.xp-thread-replies>header{display:flex;justify-content:space-between;margin-bottom:18px}
.xp-thread-replies h2{margin:7px 0 0;font-family:var(--fmm-display-font,Impact,sans-serif);font-size:31px;text-transform:uppercase}
.xp-thread-replies>article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:15px;padding:20px 0;border-top:1px solid rgba(255,255,255,.08)}
.xp-thread-replies>article>img{width:52px;height:52px;border-radius:50%;object-fit:cover;background:#101722}
.xp-thread-replies article header{display:flex;justify-content:space-between;gap:14px;color:#fff}
.xp-thread-replies article time{color:#7f8a99;font-size:12px}
.xp-thread-replies article p{margin:10px 0;color:#c8ced8;line-height:1.65}
.xp-thread-replies article footer button{border:0;background:transparent;color:#aeb7c5;font-size:13px;font-weight:800;cursor:pointer}
.xp-thread-replies article footer button:hover{color:#ff3345}
.xp-thread-no-replies{display:grid;place-items:center;gap:7px;padding:45px 20px;color:#98a3b2;text-align:center;border-top:1px solid rgba(255,255,255,.08)}
.xp-thread-no-replies svg{font-size:31px;color:#ff2638}
.xp-thread-reply-card{position:sticky;top:100px;padding:25px}
.xp-thread-reply-card h2{margin:7px 0;font-family:var(--fmm-display-font,Impact,sans-serif);font-size:31px;text-transform:uppercase}
.xp-thread-reply-card>p{margin:0 0 18px;color:#959fad;line-height:1.55}
.xp-thread-reply-card form{display:grid;gap:10px}
.xp-thread-reply-card textarea{width:100%;resize:vertical;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:#080d14;color:#fff;padding:14px;font:inherit;line-height:1.55}
.xp-thread-reply-card form small{justify-self:end;color:#687484}
.xp-thread-reply-card form button,.xp-thread-reply-card>a{display:flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:9px;padding:14px 16px;background:#ed182d;color:#fff;font-weight:900;font-size:14px;text-decoration:none;cursor:pointer}
.xp-thread-reply-card form button:disabled{opacity:.48;cursor:not-allowed}
.xp-thread-reply-card>a{margin-top:12px;background:transparent;border:1px solid rgba(255,255,255,.14)}
.xp-thread-rules-card{display:flex;gap:14px;margin-top:16px;padding:19px}
.xp-thread-rules-card>svg{flex:0 0 auto;color:#ff2638;font-size:22px}
.xp-thread-rules-card strong{color:#fff}
.xp-thread-rules-card p{margin:6px 0 9px;color:#8792a1;font-size:13px;line-height:1.55}
.xp-thread-rules-card a{color:#fff;font-size:13px;font-weight:800}
.xp-thread-detail-layout>aside{min-width:0}
@media(max-width:900px){.xp-thread-detail-layout{grid-template-columns:1fr}.xp-thread-reply-card{position:static}.xp-thread-detail-hero{align-items:flex-start;flex-direction:column;padding:34px}.xp-thread-detail-page{width:min(100% - 24px,1180px)}}
@media(max-width:600px){.xp-thread-detail-hero{min-height:320px;padding:25px}.xp-thread-detail-hero h1{font-size:39px}.xp-thread-detail-meta{display:grid}.xp-thread-origin-card{padding:20px}.xp-thread-replies{padding:20px}.xp-thread-replies>article{grid-template-columns:42px 1fr}.xp-thread-replies>article>img{width:42px;height:42px}.xp-thread-replies article header{display:grid;gap:3px}}


/* Backend-authoritative per-fight leaderboard */
.xp-fight-leaderboard-panel{overflow:hidden;border:1px solid rgba(255,255,255,.11);border-radius:22px;background:#080d13;box-shadow:0 22px 70px rgba(0,0,0,.34)}

.xp-fight-leaderboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;min-height:330px;padding:38px 42px;background:linear-gradient(90deg,rgba(3,8,14,.98) 0%,rgba(3,8,14,.82) 48%,rgba(7,11,17,.55) 100%),radial-gradient(circle at 78% 35%,rgba(235,19,42,.28),transparent 32%),var(--leaderboard-bg) center/cover no-repeat}

.xp-fight-leaderboard-hero:after{content:"";position:absolute;inset:auto 0 0;height:1px;background:linear-gradient(90deg,transparent,#e9162f,transparent)}

.xp-fight-leaderboard-copy{position:relative;z-index:1;max-width:690px}
.xp-fight-leaderboard-copy h2{margin:7px 0 12px;font-family:var(--font-condensed,Impact,sans-serif);font-size:clamp(2rem,4vw,4rem);line-height:.96;letter-spacing:.02em;text-transform:uppercase;color:#fff}
.xp-fight-leaderboard-copy>p{max-width:660px;color:#b8c1cd;font-size:1rem;line-height:1.65}

.xp-fight-leaderboard-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.xp-fight-leaderboard-badges span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:999px;background:rgba(6,11,18,.72);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:#e7edf5}

.xp-fight-leaderboard-fighters{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:13px;min-height:255px}
.xp-fight-leaderboard-fighters figure{min-width:0;margin:0;text-align:center}
.xp-fight-leaderboard-fighters img{width:100%;height:225px;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 18px 22px rgba(0,0,0,.65))}
.xp-fight-leaderboard-fighters figcaption{margin-top:-8px;font-family:var(--font-condensed,Impact,sans-serif);font-size:1.05rem;text-transform:uppercase;color:#fff}
.xp-fight-leaderboard-fighters>strong{align-self:center;display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(255,255,255,.22);border-radius:50%;background:#e9162f;color:#fff;font-family:var(--font-condensed,Impact,sans-serif);font-size:1rem}

.xp-fight-leaderboard-body{padding:28px}
.xp-fight-leaderboard-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}
.xp-fight-leaderboard-heading span{font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:#ed1b35}
.xp-fight-leaderboard-heading h3{margin:3px 0 0;font-family:var(--font-condensed,Impact,sans-serif);font-size:1.7rem;text-transform:uppercase;color:#fff}
.xp-fight-leaderboard-heading button{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid rgba(255,255,255,.14);border-radius:8px;background:#111821;color:#fff;font-size:.82rem;font-weight:800;cursor:pointer}

.xp-fight-leaderboard-table-wrap{overflow-x:auto}
.xp-fight-leaderboard-table{width:100%;border-collapse:collapse;min-width:720px}
.xp-fight-leaderboard-table th{padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.12);color:#778393;font-size:.72rem;text-align:left;text-transform:uppercase;letter-spacing:.09em}
.xp-fight-leaderboard-table td{padding:14px;border-bottom:1px solid rgba(255,255,255,.07);color:#cdd5df;font-size:.9rem}
.xp-fight-leaderboard-table tbody tr:hover{background:rgba(255,255,255,.025)}
.xp-fight-leaderboard-table td>strong{color:#fff}
.xp-fight-rank{display:inline-flex;align-items:center;gap:6px;font-weight:900;color:#d5dde7}
.xp-fight-rank.rank-1{color:#f6c74c}
.xp-fight-rank.rank-2{color:#c9d0dc}
.xp-fight-rank.rank-3{color:#d29257}
.xp-fight-player-cell{display:flex;align-items:center;gap:11px}
.xp-fight-player-cell img{width:40px;height:40px;border-radius:50%;border:1px solid rgba(255,255,255,.16);object-fit:cover;background:#151c25}
.xp-fight-player-cell strong{color:#fff}
.xp-fight-leaderboard-empty{display:grid;place-items:center;min-height:210px;padding:32px;text-align:center;border:1px dashed rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.02)}
.xp-fight-leaderboard-empty svg{font-size:2rem;color:#e9162f}
.xp-fight-leaderboard-empty h3{margin:12px 0 6px;color:#fff}
.xp-fight-leaderboard-empty p{margin:0;max-width:560px;color:#8994a2}

@media(max-width:900px){.xp-fight-leaderboard-hero{grid-template-columns:1fr;padding:30px 24px}.xp-fight-leaderboard-fighters{max-width:620px;width:100%;margin:10px auto 0}.xp-fight-leaderboard-body{padding:22px}}

@media(max-width:560px){.xp-fight-leaderboard-fighters img{height:155px}.xp-fight-leaderboard-fighters>strong{width:40px;height:40px}.xp-fight-leaderboard-heading{align-items:flex-start;flex-direction:column}.xp-fight-leaderboard-copy h2{font-size:2.4rem}}


/* Referral leaderboard */
.xp-referral-table-panel{overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:#090e15}
.xp-referral-table-wrap{overflow-x:auto}
.xp-referral-table{width:100%;min-width:680px;border-collapse:collapse}
.xp-referral-table th{padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.1);color:#768291;font-size:.73rem;text-align:left;text-transform:uppercase;letter-spacing:.09em}
.xp-referral-table td{padding:16px 18px;border-bottom:1px solid rgba(255,255,255,.065);color:#cbd3dd}
.xp-referral-table tbody tr:hover{background:rgba(255,255,255,.025)}
.xp-referral-rank{display:inline-flex;align-items:center;gap:6px;font-weight:900}
.xp-referral-rank.rank-1{color:#f4c64d}
.xp-referral-rank.rank-2{color:#cbd1db}
.xp-referral-rank.rank-3{color:#d4945e}
.xp-referral-player{display:flex;align-items:center;gap:12px}
.xp-referral-player img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid rgba(255,255,255,.16);background:#151c25}
.xp-referral-player strong,.xp-referral-table td>strong{color:#fff}
.xp-referral-status{display:inline-flex;padding:6px 9px;border-radius:999px;background:rgba(44,196,112,.12);color:#61d998;font-size:.72rem;font-weight:900;text-transform:uppercase}
.xp-referral-cta{display:flex;align-items:center;justify-content:space-between;gap:28px;margin:34px 0 20px;padding:34px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(120deg,#0b1119,rgba(91,8,21,.5)),url('/images/fmm-experience/fighter-duel-panel.webp') right center/auto 100% no-repeat}
.xp-referral-cta h2{margin:5px 0;color:#fff;font-family:var(--font-condensed,Impact,sans-serif);font-size:2rem;text-transform:uppercase}
.xp-referral-cta p{max-width:660px;color:#aeb7c2}
@media(max-width:760px){.xp-referral-cta{align-items:flex-start;flex-direction:column;background:linear-gradient(120deg,#0b1119,rgba(91,8,21,.72)),url('/images/fmm-experience/fighter-duel-panel.webp') center/cover no-repeat}}


/* v3.2 real-fight practice arena ----------------------------------------- */
.practice-arena-page,.practice-leaderboard-page,.fight-calendar-page{background:#04080d;color:#fff;min-height:100vh}
.practice-hero-scorecard{background:linear-gradient(145deg,rgba(14,22,31,.97),rgba(21,9,15,.94));border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 28px 70px rgba(0,0,0,.42);display:grid;gap:10px;max-width:440px;padding:24px;transform:rotate(-1deg)}
.practice-hero-scorecard>span{color:var(--ff-red);font-family:var(--ff-display);font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.practice-hero-scorecard>strong{font-family:var(--ff-display);font-size:54px;line-height:.9;text-transform:uppercase}
.practice-hero-scorecard>div{align-items:center;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);border-radius:9px;display:flex;justify-content:space-between;padding:12px 14px}
.practice-hero-scorecard b{font-size:13px;text-transform:uppercase}
.practice-hero-scorecard em{color:#72d6ff;font-size:12px;font-style:normal;font-weight:800}
.practice-hero-scorecard small{color:var(--ff-muted);line-height:1.55}
.practice-loading{align-items:center;background:rgba(255,255,255,.035);border:1px solid var(--ff-border);border-radius:14px;color:var(--ff-muted);display:flex;justify-content:center;min-height:180px;padding:32px}
.practice-fight-strip{display:grid;gap:14px;grid-template-columns:repeat(4,minmax(0,1fr))}
.practice-fight-strip>button{background:linear-gradient(180deg,rgba(16,25,35,.98),rgba(6,11,17,.98));border:1px solid var(--ff-border);border-radius:14px;color:#fff;cursor:pointer;display:grid;gap:8px;min-width:0;padding:13px;text-align:left;transition:.2s ease}
.practice-fight-strip>button:hover,.practice-fight-strip>button.is-active{border-color:rgba(234,25,40,.82);box-shadow:0 0 0 1px rgba(234,25,40,.25),0 22px 46px rgba(0,0,0,.28);transform:translateY(-3px)}
.practice-fight-strip>button>div{align-items:end;background:radial-gradient(circle at 50% 100%,rgba(225,22,42,.18),transparent 64%);border-radius:10px;display:grid;grid-template-columns:1fr auto 1fr;height:118px;overflow:hidden}
.practice-fight-strip img{height:112px;max-width:100%;object-fit:contain;object-position:bottom}
.practice-fight-strip>button>div span{align-self:center;background:var(--ff-red);border-radius:999px;font-family:var(--ff-display);font-size:12px;padding:8px 7px}
.practice-fight-strip small{color:#62c9ff;font-family:var(--ff-display);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.practice-fight-strip strong{font-family:var(--ff-display);font-size:18px;line-height:1.05;text-transform:uppercase}
.practice-fight-strip em{color:var(--ff-muted);font-size:11px;font-style:normal}
.practice-builder-section{margin:32px 0}
.practice-builder-heading{align-items:center;background:linear-gradient(90deg,rgba(11,17,25,.98),rgba(16,8,13,.9)),url('/images/fmm-experience/fighter-duel-panel.webp') center/cover;border:1px solid var(--ff-border);border-radius:18px 18px 0 0;display:flex;justify-content:space-between;min-height:230px;overflow:hidden;padding:30px}
.practice-builder-heading h2{font-family:var(--ff-display);font-size:clamp(36px,4vw,58px);line-height:.94;margin:6px 0;text-transform:uppercase}
.practice-builder-heading h2 span{color:var(--ff-red)}
.practice-builder-heading>div:first-child>p:last-child{color:var(--ff-muted);max-width:650px}
.practice-faceoff{align-items:end;display:flex;height:190px;min-width:360px}
.practice-faceoff img{filter:drop-shadow(0 20px 22px rgba(0,0,0,.5));height:190px;object-fit:contain;width:155px}
.practice-faceoff svg{align-self:center;color:var(--ff-red);font-size:34px}
.practice-prediction-form{align-items:start;background:#070c12;border:1px solid var(--ff-border);border-radius:0 0 18px 18px;border-top:0;display:grid;gap:18px;grid-template-columns:310px minmax(0,1fr);padding:18px}
.practice-outcome-panel{background:linear-gradient(180deg,rgba(18,27,38,.98),rgba(8,13,19,.98));border:1px solid var(--ff-border);border-radius:14px;display:grid;gap:13px;padding:20px;position:sticky;top:105px}
.practice-outcome-panel>span{color:var(--ff-red);font-family:var(--ff-display);font-size:23px;text-transform:uppercase}
.practice-outcome-panel label,.practice-round-card label{color:var(--ff-muted);display:grid;font-family:var(--ff-display);font-size:11px;font-weight:900;gap:6px;letter-spacing:.06em;text-transform:uppercase}
.practice-outcome-panel input,.practice-outcome-panel select,.practice-round-card input,.practice-round-card select{background:#05090e;border:1px solid rgba(255,255,255,.13);border-radius:8px;color:#fff;font-family:Arial,sans-serif;font-size:14px;min-height:42px;padding:10px 11px;width:100%}
.practice-integrity-note{align-items:flex-start;background:rgba(53,159,215,.08);border:1px solid rgba(91,199,255,.18);border-radius:10px;display:flex;gap:10px;margin-top:4px;padding:12px}
.practice-integrity-note svg{color:#62c9ff;margin-top:3px}
.practice-integrity-note span{display:grid;gap:4px}
.practice-integrity-note strong{font-size:12px;text-transform:uppercase}
.practice-integrity-note small{color:var(--ff-muted);line-height:1.45}
.practice-round-list{display:grid;gap:13px}
.practice-round-card{background:linear-gradient(180deg,rgba(14,22,31,.98),rgba(8,13,19,.98));border:1px solid var(--ff-border);border-radius:13px;overflow:hidden}
.practice-round-card>header{align-items:center;background:rgba(255,255,255,.025);border-bottom:1px solid var(--ff-border);display:grid;gap:12px;grid-template-columns:1fr 210px 120px;padding:13px 16px}
.practice-round-card>header>strong{font-family:var(--ff-display);font-size:24px;text-transform:uppercase}
.practice-round-card>header label{align-items:center;display:flex;gap:8px}
.practice-round-card>header select{min-height:36px;padding:7px}
.practice-ko-toggle input{height:17px;min-height:0;width:17px}
.practice-round-fighters{display:grid;grid-template-columns:1fr 1fr}
.practice-round-fighters section{display:grid;gap:10px;padding:16px}
.practice-round-fighters section+section{border-left:1px solid var(--ff-border)}
.practice-round-fighters h3{font-family:var(--ff-display);font-size:20px;margin:0;text-transform:uppercase}
.practice-round-fighters label{align-items:center;display:grid;grid-template-columns:1fr 95px}
.practice-round-fighters input{text-align:center}
.practice-submit{justify-self:end;margin-top:5px;min-width:270px}
.practice-result-section{align-items:center;background:radial-gradient(circle at 10% 50%,rgba(18,154,220,.17),transparent 35%),radial-gradient(circle at 95% 50%,rgba(234,25,40,.18),transparent 38%),#0a1017;border:1px solid var(--ff-border);border-radius:18px;display:grid;gap:28px;grid-template-columns:330px 1fr;margin:32px 0;padding:28px}
.practice-result-score{align-items:center;border-right:1px solid var(--ff-border);display:flex;gap:18px}
.practice-result-score>svg{color:#42db8b;font-size:54px}
.practice-result-score>span{display:grid}
.practice-result-score small{color:var(--ff-muted);font-family:var(--ff-display);text-transform:uppercase}
.practice-result-score strong{font-family:var(--ff-display);font-size:68px;line-height:.9}
.practice-result-score em{color:#62c9ff;font-size:12px;font-style:normal;font-weight:800}
.practice-result-copy h2{font-family:var(--ff-display);font-size:36px;margin:5px 0;text-transform:uppercase}
.practice-result-copy>p:not(.xp-eyebrow){color:var(--ff-muted);margin-bottom:16px}
.practice-leaderboard-card{background:linear-gradient(180deg,rgba(15,23,33,.98),rgba(6,11,17,.98));border:1px solid var(--ff-border);border-radius:18px;margin:28px 0;overflow:hidden}
.practice-leaderboard-card>header{align-items:center;border-bottom:1px solid var(--ff-border);display:flex;justify-content:space-between;padding:20px 22px}
.practice-leaderboard-card>header span{color:var(--ff-red);font-family:var(--ff-display);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.practice-leaderboard-card>header h2{font-family:var(--ff-display);font-size:30px;margin:4px 0 0;text-transform:uppercase}
.practice-leaderboard-card>header button{align-items:center;background:rgba(255,255,255,.05);border:1px solid var(--ff-border);border-radius:8px;color:#fff;cursor:pointer;display:flex;height:38px;justify-content:center;width:38px}
.practice-board-head,.practice-board-table article{align-items:center;display:grid;gap:12px;grid-template-columns:70px minmax(240px,1fr) 120px 120px;padding:12px 22px}
.practice-board-head{color:var(--ff-muted);font-family:var(--ff-display);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.practice-board-table article{border-top:1px solid rgba(255,255,255,.07);min-height:70px}
.practice-board-table article.is-podium{background:linear-gradient(90deg,rgba(234,25,40,.07),transparent)}
.practice-board-rank{font-family:var(--ff-display);font-size:21px}
.practice-board-player{align-items:center;display:flex;gap:11px;min-width:0}
.practice-board-player img{background:#111821;border:1px solid var(--ff-border);border-radius:50%;height:42px;object-fit:cover;width:42px}
.practice-board-player>span{display:grid;min-width:0}
.practice-board-player strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.practice-board-player small{color:var(--ff-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.practice-board-table article>span:nth-last-child(2){color:#62c9ff;font-weight:800}
.practice-board-table article>strong:last-child{color:#42db8b;font-size:18px}
.practice-board-loading,.practice-board-empty{align-items:center;color:var(--ff-muted);display:flex;justify-content:center;min-height:150px;padding:26px}
.practice-board-empty{flex-direction:column;gap:7px;text-align:center}
.practice-board-empty svg{color:var(--ff-gold);font-size:34px}
.practice-leaderboard-card>footer{border-top:1px solid var(--ff-border);padding:14px 22px;text-align:right}
.practice-leaderboard-card>footer a,.practice-back-link{color:#fff;font-family:var(--ff-display);font-size:12px;font-weight:900;text-transform:uppercase}
.practice-back-link{align-items:center;display:inline-flex;gap:8px;margin-bottom:12px}
.practice-leaderboard-page .practice-leaderboard-card{margin-top:8px}


/* v3.2 fight calendar ---------------------------------------------------- */
.fight-calendar-layout{align-items:stretch;display:grid;gap:18px;grid-template-columns:minmax(0,1fr) 280px}
.fight-calendar-panel,.fight-calendar-summary{background:linear-gradient(180deg,rgba(15,23,33,.98),rgba(7,12,18,.98));border:1px solid var(--ff-border);border-radius:17px}
.fight-calendar-panel{overflow:hidden}
.fight-calendar-panel>header{align-items:center;border-bottom:1px solid var(--ff-border);display:flex;justify-content:space-between;padding:18px 20px}
.fight-calendar-panel>header strong{font-family:var(--ff-display);font-size:27px;text-transform:uppercase}
.fight-calendar-panel>header button{align-items:center;background:rgba(255,255,255,.05);border:1px solid var(--ff-border);border-radius:8px;color:#fff;cursor:pointer;display:flex;height:38px;justify-content:center;width:38px}
.fight-calendar-weekdays,.fight-calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}
.fight-calendar-weekdays{border-bottom:1px solid var(--ff-border);color:var(--ff-muted);font-family:var(--ff-display);font-size:10px;font-weight:900;letter-spacing:.1em;text-align:center;text-transform:uppercase}
.fight-calendar-weekdays span{padding:11px}
.fight-calendar-grid>button,.fight-calendar-grid>.is-empty{aspect-ratio:1.35;min-height:78px}
.fight-calendar-grid>button{background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);color:#fff;cursor:pointer;display:grid;gap:4px;padding:12px;position:relative;text-align:left}
.fight-calendar-grid>button:hover{background:rgba(255,255,255,.035)}
.fight-calendar-grid>button.has-fights{background:radial-gradient(circle at 85% 20%,rgba(234,25,40,.18),transparent 48%)}
.fight-calendar-grid>button.is-selected{background:linear-gradient(145deg,rgba(234,25,40,.24),rgba(17,35,50,.78));box-shadow:inset 0 0 0 1px var(--ff-red)}
.fight-calendar-grid>button strong{font-family:var(--ff-display);font-size:20px}
.fight-calendar-grid>button i{background:var(--ff-red);border-radius:50%;box-shadow:0 0 12px rgba(234,25,40,.75);height:7px;position:absolute;right:12px;top:14px;width:7px}
.fight-calendar-grid>button small{align-self:end;color:var(--ff-muted);font-size:10px}
.fight-calendar-summary{display:flex;flex-direction:column;padding:22px}
.fight-calendar-summary>span{color:var(--ff-red);font-family:var(--ff-display);font-size:11px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.fight-calendar-summary h3{font-family:var(--ff-display);font-size:34px;line-height:1;margin:8px 0;text-transform:uppercase}
.fight-calendar-summary>p{color:var(--ff-muted);line-height:1.55;margin-bottom:18px}
.fight-calendar-summary>div{align-items:center;border-top:1px solid var(--ff-border);display:flex;justify-content:space-between;padding:13px 0}
.fight-calendar-summary>div b{font-family:var(--ff-display);font-size:29px}
.fight-calendar-summary>div small{color:var(--ff-muted);text-transform:uppercase}
.fight-calendar-summary>button{background:transparent;border:1px solid rgba(234,25,40,.5);border-radius:8px;color:#fff;cursor:pointer;font-family:var(--ff-display);font-size:11px;font-weight:900;margin-top:auto;padding:11px;text-transform:uppercase}
.fight-calendar-toolbar{align-items:center;display:flex;gap:10px;justify-content:flex-end;margin-bottom:14px}
.fight-calendar-toolbar label{align-items:center;background:#080d13;border:1px solid var(--ff-border);border-radius:9px;display:flex;gap:9px;min-height:44px;padding:0 13px}
.fight-calendar-toolbar svg{color:var(--ff-red)}
.fight-calendar-toolbar input,.fight-calendar-toolbar select{background:transparent;border:0;color:#fff;font-size:13px;min-width:230px;outline:0}
.fight-calendar-toolbar select{min-width:170px}
.fight-calendar-toolbar option{background:#0a1119}
.fight-calendar-list .xp-fight-timeline{display:grid;gap:9px}


@media(max-width:1100px){.practice-fight-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-faceoff{display:none}.practice-prediction-form{grid-template-columns:260px minmax(0,1fr)}.fight-calendar-layout{grid-template-columns:1fr}.fight-calendar-summary{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.fight-calendar-summary>span,.fight-calendar-summary h3,.fight-calendar-summary>p,.fight-calendar-summary>button{grid-column:1/-1}.fight-calendar-summary>div{display:grid;text-align:center}}

@media(max-width:760px){.practice-fight-strip{grid-template-columns:1fr}.practice-builder-heading{min-height:0;padding:24px}.practice-prediction-form{grid-template-columns:1fr}.practice-outcome-panel{position:static}.practice-round-card>header{grid-template-columns:1fr}.practice-round-card>header label{display:grid}.practice-round-fighters{grid-template-columns:1fr}.practice-round-fighters section+section{border-left:0;border-top:1px solid var(--ff-border)}.practice-result-section{grid-template-columns:1fr}.practice-result-score{border-bottom:1px solid var(--ff-border);border-right:0;padding-bottom:20px}.practice-board-head{display:none}.practice-board-table article{grid-template-columns:45px minmax(0,1fr) 75px}.practice-board-table article>strong:last-child{grid-column:3}.practice-board-table article>span:nth-last-child(2){display:none}.fight-calendar-grid>button,.fight-calendar-grid>.is-empty{aspect-ratio:auto;min-height:58px}.fight-calendar-grid>button{padding:8px}.fight-calendar-grid>button small{display:none}.fight-calendar-panel>header strong{font-size:21px}.fight-calendar-weekdays span{font-size:8px;padding:8px 2px}.fight-calendar-summary{grid-template-columns:1fr}.fight-calendar-toolbar{align-items:stretch;flex-direction:column}.fight-calendar-toolbar label,.fight-calendar-toolbar input,.fight-calendar-toolbar select{min-width:0;width:100%}}


/* Frontend repair v3.3 — complete manual score entry and prediction review */
.admin-score-hero { align-items:center; display:grid; gap:24px; grid-template-columns:minmax(210px,1fr) minmax(180px,.65fr) minmax(210px,1fr); overflow:hidden; }

.admin-score-hero > article { align-items:center; display:grid; gap:8px; grid-template-columns:104px minmax(0,1fr); min-width:0; }

.admin-score-hero > article:last-child { grid-template-columns:minmax(0,1fr) 104px; text-align:right; }

.admin-score-hero > article:last-child img { grid-column:2; grid-row:1/3; }

.admin-score-hero > article:first-child img { grid-row:1/3; }

.admin-score-hero img { background:rgba(255,255,255,.04); border:1px solid var(--ff-border); border-radius:14px; height:112px; object-fit:contain; object-position:center bottom; width:104px; }

.admin-score-hero article strong { color:#fff; font-family:var(--ff-display); font-size:clamp(24px,3vw,38px); line-height:.92; text-transform:uppercase; }

.admin-score-hero article span { color:var(--ff-muted); font-family:var(--ff-display); font-size:10px; letter-spacing:.1em; text-transform:uppercase; }

.admin-score-hero > div { display:grid; gap:5px; justify-items:center; text-align:center; }

.admin-score-hero > div span { color:var(--ff-red); font-family:var(--ff-display); font-size:11px; letter-spacing:.12em; text-transform:uppercase; }

.admin-score-hero > div strong { background:var(--ff-red); border:4px solid #090e14; border-radius:50%; color:#fff; display:grid; font-family:var(--ff-display); height:58px; place-items:center; width:58px; }

.admin-score-hero > div small { color:var(--ff-muted); max-width:210px; }

.admin-score-workspace-grid { align-items:start; display:grid; gap:18px; grid-template-columns:minmax(0,1fr) 360px; margin-top:18px; }

.admin-score-toolbar > label { display:grid; flex:1 1 420px; gap:7px; }

.admin-score-toolbar > label > span { color:rgba(255,255,255,.75); font-family:var(--ff-display); font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }

.admin-score-toolbar input { background:rgba(0,0,0,.35)!important; border:1px solid var(--ff-border)!important; color:#fff!important; width:100%!important; }

.admin-score-toolbar button,
.admin-round-remove { align-items:center; background:rgba(255,255,255,.06); border:1px solid var(--ff-border); border-radius:9px; color:#fff; cursor:pointer; display:inline-flex; font-family:var(--ff-display); font-size:12px; font-weight:900; gap:7px; min-height:43px; padding:0 13px; text-transform:uppercase; }

.admin-score-toolbar button:disabled,
.admin-round-remove:disabled { cursor:not-allowed; opacity:.4; }

.admin-score-manual-note { align-items:flex-start; background:rgba(22,143,230,.08); border:1px solid rgba(22,143,230,.26); border-radius:12px; display:flex; gap:12px; padding:14px; }

.admin-score-manual-note > svg { color:#62c9ff; flex:0 0 auto; margin-top:3px; }

.admin-score-manual-note span { display:grid; gap:4px; }

.admin-score-manual-note strong { color:#fff; font-family:var(--ff-display); text-transform:uppercase; }

.admin-score-manual-note small { color:var(--ff-muted); line-height:1.5; }

.admin-score-round > header { gap:12px; }

.admin-round-number { align-items:center; color:var(--ff-muted); display:flex; font-family:var(--ff-display); font-size:11px; font-weight:900; gap:10px; text-transform:uppercase; }

.admin-round-number input { background:rgba(0,0,0,.35)!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-family:var(--ff-display); font-size:20px!important; min-height:42px; text-align:center; width:88px!important; }

.admin-round-remove { background:rgba(223,17,27,.08); border-color:rgba(223,17,27,.28); color:#ff8d95; }

.admin-score-fighter-columns > section { background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:12px; min-width:0; padding:15px; }

.admin-score-fighter-heading { align-items:end; border-bottom:1px solid var(--ff-border); display:flex; gap:10px; justify-content:space-between; margin-bottom:13px; padding-bottom:12px; }

.admin-score-fighter-heading strong { color:#fff; font-family:var(--ff-display); font-size:22px; line-height:1; text-transform:uppercase; }

.admin-score-fighter-heading span { color:var(--ff-red); font-family:var(--ff-display); font-size:9px; letter-spacing:.09em; text-transform:uppercase; }

.admin-official-field-grid { display:grid; gap:10px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.admin-official-field-grid label { align-items:center; background:rgba(0,0,0,.18); border:1px solid rgba(255,255,255,.065); border-radius:9px; display:grid; gap:8px; grid-template-columns:minmax(0,1fr) 86px; margin:0; padding:9px; }

.admin-official-field-grid label > span { color:rgba(255,255,255,.74); display:grid; font-size:11px; line-height:1.25; }

.admin-official-field-grid label small { color:var(--ff-red); font-family:var(--ff-display); font-size:9px; letter-spacing:.08em; }

.admin-official-field-grid input { background:#05090e!important; border:1px solid var(--ff-border)!important; color:#fff!important; font-family:var(--ff-display); font-size:18px!important; min-height:42px; padding:8px!important; text-align:center; width:100%!important; }

.admin-score-submit { align-items:center; background:var(--ff-panel); border:1px solid var(--ff-border); border-radius:13px; display:flex; gap:16px; justify-content:space-between; padding:14px; }

.admin-score-submit > div { align-items:flex-start; display:flex; gap:10px; }

.admin-score-submit > div > svg { color:#50df83; margin-top:4px; }

.admin-score-submit span { display:grid; gap:3px; }

.admin-score-submit strong { color:#fff; font-family:var(--ff-display); text-transform:uppercase; }

.admin-score-submit small { color:var(--ff-muted); line-height:1.4; }

.admin-score-submit > button { align-items:center; background:var(--ff-red); border:0; border-radius:9px; color:#fff; cursor:pointer; display:inline-flex; flex:0 0 auto; font-family:var(--ff-display); font-size:13px; font-weight:900; gap:8px; min-height:48px; padding:0 17px; text-transform:uppercase; }

.admin-score-submit > button:disabled { cursor:not-allowed; opacity:.55; }

.admin-fight-predictions { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border); border-radius:15px; max-height:calc(100vh - 122px); overflow:hidden; position:sticky; top:102px; }

.admin-fight-predictions > header { align-items:center; border-bottom:1px solid var(--ff-border); display:flex; justify-content:space-between; padding:16px; }

.admin-fight-predictions > header span { color:var(--ff-red); font-family:var(--ff-display); font-size:9px; letter-spacing:.1em; text-transform:uppercase; }

.admin-fight-predictions > header h3 { color:#fff; font-family:var(--ff-display); font-size:23px; margin:3px 0 0; text-transform:uppercase; }

.admin-fight-predictions > header button { background:rgba(255,255,255,.05); border:1px solid var(--ff-border); border-radius:8px; color:#fff; cursor:pointer; display:grid; height:38px; place-items:center; width:38px; }

.admin-prediction-count { align-items:center; background:rgba(22,143,230,.07); border-bottom:1px solid var(--ff-border); display:grid; gap:8px; grid-template-columns:24px auto 1fr; padding:12px 16px; }

.admin-prediction-count svg { color:#62c9ff; }

.admin-prediction-count strong { color:#fff; font-family:var(--ff-display); font-size:21px; }

.admin-prediction-count span { color:var(--ff-muted); font-size:11px; }

.admin-fight-prediction-list { max-height:calc(100vh - 285px); overflow:auto; padding:10px; }

.admin-fight-prediction-list article { background:rgba(255,255,255,.025); border:1px solid var(--ff-border); border-radius:11px; margin-bottom:9px; padding:11px; }

.admin-prediction-player { align-items:center; display:grid; gap:9px; grid-template-columns:38px minmax(0,1fr) auto; }

.admin-prediction-player img { border:1px solid var(--ff-border); border-radius:50%; height:38px; object-fit:cover; width:38px; }

.admin-prediction-player > span { display:grid; min-width:0; }

.admin-prediction-player strong { color:#fff; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.admin-prediction-player small { color:var(--ff-muted); font-size:9px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

.admin-prediction-player em { font-style:normal; }

.admin-fight-prediction-list dl { display:grid; gap:5px; grid-template-columns:repeat(2,minmax(0,1fr)); margin:10px 0 0; }

.admin-fight-prediction-list dl > div { background:rgba(0,0,0,.2); border-radius:7px; padding:7px; }

.admin-fight-prediction-list dt { color:var(--ff-muted); font-family:var(--ff-display); font-size:8px; letter-spacing:.07em; text-transform:uppercase; }

.admin-fight-prediction-list dd { color:#fff; font-size:11px; margin:3px 0 0; overflow:hidden; text-overflow:ellipsis; text-transform:capitalize; white-space:nowrap; }

.admin-fight-prediction-list article footer { border-top:1px solid var(--ff-border); display:flex; gap:10px; justify-content:space-between; margin-top:9px; padding-top:9px; }

.admin-fight-prediction-list article footer span { color:var(--ff-muted); display:grid; font-size:8px; text-transform:uppercase; }

.admin-fight-prediction-list article footer strong { color:#fff; font-size:12px; }

.admin-predictions-empty { align-items:center; color:var(--ff-muted); display:flex; flex-direction:column; gap:7px; min-height:230px; padding:25px; text-align:center; }

.admin-predictions-empty svg { color:#62c9ff; font-size:30px; }

.admin-predictions-empty strong { color:#fff; font-family:var(--ff-display); text-transform:uppercase; }


@media(max-width:1180px){
  .admin-score-workspace-grid { grid-template-columns:1fr; }
  .admin-fight-predictions { max-height:none; position:static; }
  .admin-fight-prediction-list { max-height:520px; }
}

@media(max-width:760px){
  .admin-score-hero { grid-template-columns:1fr; text-align:center; }
  .admin-score-hero > article,
  .admin-score-hero > article:last-child { grid-template-columns:78px minmax(0,1fr); text-align:left; }
  .admin-score-hero > article:last-child img { grid-column:1; }
  .admin-score-hero img { height:84px; width:78px; }
  .admin-score-fighter-columns,
  .admin-official-field-grid { grid-template-columns:1fr; }
  .admin-score-round > header,
  .admin-score-submit { align-items:stretch; flex-direction:column; }
  .admin-score-submit > button { justify-content:center; width:100%; }
}


/* Affiliate account, promotion, and campaign repair ---------------------- */
.admin-dashboard-warning {
  align-items: center;
  background: rgba(247, 181, 27, 0.08);
  border: 1px solid rgba(247, 181, 27, 0.34);
  border-radius: 13px;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin: 0 0 20px;
  padding: 14px 16px;
}

.admin-dashboard-warning > div { display: grid; gap: 3px; }

.admin-dashboard-warning strong { color: #fff; font-family: var(--ff-display); font-size: 16px; text-transform: uppercase; }

.admin-dashboard-warning span { color: var(--ff-muted); font-size: 13px; }

.admin-dashboard-warning button {
  align-items: center;
  background: rgba(255,255,255,.06);
  border: 1px solid var(--ff-border-strong);
  border-radius: 9px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 auto;
  font-family: var(--ff-display);
  font-weight: 900;
  gap: 8px;
  min-height: 42px;
  padding: 0 14px;
  text-transform: uppercase;
}

.admin-dashboard-warning button:disabled { cursor: not-allowed; opacity: .55; }


.affiliate-create-promotion {
  color: var(--ff-text);
  display: grid;
  gap: 18px;
  margin: 0 auto;
  max-width: 1180px;
  width: 100%;
}

.affiliate-create-header,
.affiliate-create-form,
.affiliate-settings-card,
.affiliate-promotion-link-card,
.affiliate-promotion-next-step {
  background: linear-gradient(145deg, rgba(16,24,34,.98), rgba(7,12,18,.98));
  border: 1px solid var(--ff-border);
  border-radius: 17px;
  box-shadow: 0 22px 65px rgba(0,0,0,.24);
}

.affiliate-create-header {
  align-items: stretch;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(250px,.72fr) minmax(430px,1.28fr);
  overflow: hidden;
  padding: 18px;
}

.affiliate-create-identity {
  align-items: center;
  background: rgba(255,255,255,.035);
  border: 1px solid var(--ff-border);
  border-radius: 13px;
  display: flex;
  gap: 14px;
  padding: 16px;
}

.affiliate-create-identity > img {
  border: 2px solid rgba(223,17,27,.58);
  border-radius: 50%;
  height: 78px;
  object-fit: cover;
  width: 78px;
}

.affiliate-create-identity > span { display: grid; gap: 4px; min-width: 0; }

.affiliate-create-identity small,
.affiliate-create-identity em {
  align-items: center;
  color: var(--ff-muted);
  display: flex;
  font-size: 11px;
  font-style: normal;
  gap: 6px;
}

.affiliate-create-identity small { color: #ff7f87; font-family: var(--ff-display); letter-spacing: .08em; text-transform: uppercase; }

.affiliate-create-identity strong { color: #fff; font-family: var(--ff-display); font-size: 25px; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-create-fight-summary {
  align-items: center;
  background: radial-gradient(circle at 50% 50%, rgba(223,17,27,.16), transparent 58%), #070b11;
  border: 1px solid var(--ff-border);
  border-radius: 13px;
  display: grid;
  gap: 12px;
  grid-template-columns: minmax(120px,1fr) 110px minmax(120px,1fr);
  min-height: 184px;
  overflow: hidden;
  padding: 12px 18px 0;
}

.affiliate-create-fight-summary figure { align-self: end; display: grid; margin: 0; min-width: 0; text-align: center; }

.affiliate-create-fight-summary figure img { height: 132px; margin: 0 auto; max-width: 145px; object-fit: contain; width: 100%; }

.affiliate-create-fight-summary figcaption { color: #fff; font-family: var(--ff-display); font-size: 15px; line-height: 1; overflow: hidden; padding: 7px 0 10px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-create-fight-summary > div { display: grid; gap: 5px; text-align: center; }

.affiliate-create-fight-summary > div span { color: #ff747d; font-family: var(--ff-display); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

.affiliate-create-fight-summary > div strong { color: #fff; font-family: var(--ff-display); font-size: 46px; font-style: italic; line-height: 1; }

.affiliate-create-fight-summary > div small { color: var(--ff-muted); font-size: 10px; line-height: 1.35; }

.affiliate-create-form { padding: 22px; }

.affiliate-create-form-heading {
  align-items: flex-start;
  border-bottom: 1px solid var(--ff-border);
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 20px;
  padding-bottom: 18px;
}

.affiliate-create-form-heading p { color: #ff7079; font-family: var(--ff-display); font-size: 10px; letter-spacing: .12em; margin: 0 0 4px; text-transform: uppercase; }

.affiliate-create-form-heading h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(27px,3vw,38px); margin: 0; text-transform: uppercase; }

.affiliate-create-form-heading > span { align-items: flex-start; color: var(--ff-muted); display: flex; font-size: 12px; gap: 8px; line-height: 1.5; max-width: 390px; }

.affiliate-create-form-heading > span svg { color: #62c9ff; flex: 0 0 auto; margin-top: 3px; }

.affiliate-create-field-grid { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.affiliate-create-field-grid > label {
  align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--ff-border);
  border-radius: 11px;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(0,1fr) minmax(150px,.75fr);
  margin: 0;
  padding: 12px;
}

.affiliate-create-field-grid label > span { align-items: flex-start; color: #fff; display: grid; font-family: var(--ff-display); font-size: 14px; gap: 4px; grid-template-columns: 18px 1fr; text-transform: uppercase; }

.affiliate-create-field-grid label > span svg { color: var(--ff-red); margin-top: 2px; }

.affiliate-create-field-grid label > span small { color: var(--ff-muted); font-family: var(--ff-body); font-size: 10px; font-weight: 400; grid-column: 2; text-transform: none; }

.affiliate-create-field-grid input,
.affiliate-settings-field-grid input,
.affiliate-settings-field-grid textarea,
.affiliate-settings-control input,
.affiliate-settings-control select {
  background: rgba(1,4,8,.78) !important;
  border: 1px solid var(--ff-border-strong) !important;
  border-radius: 9px !important;
  color: #fff !important;
  font-size: 15px !important;
  min-height: 47px;
  outline: none;
  padding: 11px 12px !important;
  width: 100% !important;
}

.affiliate-create-field-grid input:focus,
.affiliate-settings-field-grid input:focus,
.affiliate-settings-field-grid textarea:focus,
.affiliate-settings-control input:focus,
.affiliate-settings-control select:focus { border-color: rgba(223,17,27,.75) !important; box-shadow: 0 0 0 3px rgba(223,17,27,.12); }

.affiliate-create-capacity-note {
  align-items: center;
  background: rgba(22,143,230,.07);
  border: 1px solid rgba(22,143,230,.28);
  border-radius: 12px;
  display: flex;
  gap: 13px;
  margin-top: 16px;
  padding: 14px 16px;
}

.affiliate-create-capacity-note > svg { color: #62c9ff; font-size: 20px; }

.affiliate-create-capacity-note > span { display: grid; gap: 4px; }

.affiliate-create-capacity-note strong { color: #fff; font-family: var(--ff-display); font-size: 17px; text-transform: uppercase; }

.affiliate-create-capacity-note small { color: var(--ff-muted); line-height: 1.45; }

.affiliate-create-submit { justify-content: center; margin: 18px 0 0 auto; min-width: 260px; }

.affiliate-create-submit:disabled { cursor: not-allowed; opacity: .55; }


.affiliate-promotion-link-card { align-items: center; display: grid; gap: 18px; grid-template-columns: minmax(220px,.7fr) minmax(350px,1.3fr); padding: 20px; }

.affiliate-promotion-owner { align-items: center; display: flex; gap: 13px; min-width: 0; }

.affiliate-promotion-owner img { border: 2px solid rgba(223,17,27,.54); border-radius: 50%; height: 72px; object-fit: cover; width: 72px; }

.affiliate-promotion-owner > span { display: grid; min-width: 0; }

.affiliate-promotion-owner small { color: #ff747d; font-family: var(--ff-display); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }

.affiliate-promotion-owner strong { color: #fff; font-family: var(--ff-display); font-size: 24px; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-promotion-owner em { color: var(--ff-muted); font-size: 11px; font-style: normal; }

.affiliate-promotion-url,
.affiliate-referral-url {
  align-items: center;
  background: rgba(0,0,0,.34);
  border: 1px solid var(--ff-border);
  border-radius: 11px;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0,1fr) auto;
  padding: 10px;
}

.affiliate-promotion-url > span,
.affiliate-referral-url > span { color: rgba(255,255,255,.78); font-family: ui-monospace,SFMono-Regular,Menlo,monospace; font-size: 12px; overflow: hidden; padding-left: 5px; text-overflow: ellipsis; white-space: nowrap; }

.affiliate-promotion-url button,
.affiliate-referral-url button {
  align-items: center;
  background: var(--ff-red);
  border: 0;
  border-radius: 8px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--ff-display);
  font-weight: 900;
  gap: 7px;
  min-height: 42px;
  padding: 0 14px;
  text-transform: uppercase;
}

.affiliate-promotion-stat-grid { display: grid; gap: 14px; grid-template-columns: repeat(4,minmax(0,1fr)); }

.affiliate-promotion-stat-grid article {
  align-items: center;
  background: linear-gradient(150deg,rgba(18,27,38,.98),rgba(8,13,19,.98));
  border: 1px solid var(--ff-border);
  border-radius: 14px;
  display: grid;
  gap: 12px;
  grid-template-columns: 45px minmax(0,1fr);
  min-height: 128px;
  padding: 17px;
}

.affiliate-promotion-stat-grid article > svg { color: var(--ff-red); font-size: 26px; }

.affiliate-promotion-stat-grid article > span { display: grid; }

.affiliate-promotion-stat-grid small { color: var(--ff-muted); font-family: var(--ff-display); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.affiliate-promotion-stat-grid strong { color: #fff; font-family: var(--ff-display); font-size: 33px; line-height: 1.1; }

.affiliate-promotion-stat-grid em { color: var(--ff-muted); font-size: 10px; font-style: normal; }

.affiliate-promotion-next-step { align-items: center; display: flex; gap: 24px; justify-content: space-between; margin-bottom: 34px; padding: 22px; }

.affiliate-promotion-next-step > div { display: grid; gap: 5px; }

.affiliate-promotion-next-step p { color: #ff747d; font-family: var(--ff-display); font-size: 10px; letter-spacing: .1em; margin: 0; text-transform: uppercase; }

.affiliate-promotion-next-step h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(25px,3vw,36px); margin: 0; text-transform: uppercase; }

.affiliate-promotion-next-step span { color: var(--ff-muted); line-height: 1.5; }


.affiliate-past-promotion-grid { display: grid; gap: 16px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.affiliate-past-promotion-card {
  background: linear-gradient(150deg,rgba(17,25,35,.99),rgba(7,11,17,.99));
  border: 1px solid var(--ff-border);
  border-radius: 15px;
  color: var(--ff-text);
  overflow: hidden;
}

.affiliate-past-promotion-media {
  align-items: end;
  background: radial-gradient(circle at 50% 55%,rgba(223,17,27,.18),transparent 52%),#070b10;
  display: grid;
  grid-template-columns: minmax(0,1fr) 80px minmax(0,1fr);
  min-height: 205px;
  overflow: hidden;
  padding: 10px 14px 0;
}

.affiliate-past-promotion-media figure { display: grid; margin: 0; min-width: 0; text-align: center; }

.affiliate-past-promotion-media img { height: 160px; margin: 0 auto; max-width: 170px; object-fit: contain; width: 100%; }

.affiliate-past-promotion-media figcaption { color: #fff; font-family: var(--ff-display); font-size: 14px; overflow: hidden; padding: 7px 0 11px; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-past-promotion-media > div { align-self: center; display: grid; gap: 3px; text-align: center; }

.affiliate-past-promotion-media > div span { color: #ff747d; font-family: var(--ff-display); font-size: 9px; text-transform: uppercase; }

.affiliate-past-promotion-media > div strong { color: #fff; font-family: var(--ff-display); font-size: 36px; font-style: italic; }

.affiliate-past-promotion-media > div small { color: var(--ff-green); font-family: var(--ff-display); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }

.affiliate-past-promotion-copy { border-top: 1px solid var(--ff-border); padding: 16px; }

.affiliate-past-promotion-copy > p { align-items: center; color: #ff7c84; display: flex; font-family: var(--ff-display); font-size: 10px; gap: 7px; margin: 0 0 6px; text-transform: uppercase; }

.affiliate-past-promotion-copy h3 { color: #fff; font-family: var(--ff-display); font-size: 24px; margin: 0 0 12px; text-transform: uppercase; }

.affiliate-past-promotion-copy > div { color: var(--ff-muted); display: flex; flex-wrap: wrap; font-size: 11px; gap: 10px 15px; margin-bottom: 14px; }

.affiliate-past-promotion-copy > div span { align-items: center; display: flex; gap: 5px; }

.affiliate-past-promotion-copy .theme-btn { justify-content: center; width: 100%; }

.affiliate-past-unavailable { color: var(--ff-muted); display: block; font-size: 11px; text-align: center; }

.affiliate-past-pagination { align-items: center; display: flex; gap: 14px; justify-content: center; margin-top: 24px; }

.affiliate-past-pagination button {
  align-items: center;
  background: rgba(255,255,255,.055);
  border: 1px solid var(--ff-border);
  border-radius: 9px;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--ff-display);
  font-weight: 900;
  gap: 7px;
  min-height: 43px;
  padding: 0 14px;
  text-transform: uppercase;
}

.affiliate-past-pagination button:disabled { cursor: not-allowed; opacity: .35; }

.affiliate-past-pagination span { color: var(--ff-muted); font-size: 12px; }

.affiliate-past-pagination strong { color: #fff; }


.affiliate-settings-shell { display: grid; gap: 34px; }

.affiliate-settings-shell > .xp-page-section { margin-bottom: 0; }

.affiliate-settings-card { color: var(--ff-text); padding: 22px; }

.affiliate-profile-form { display: grid; gap: 21px; }

.affiliate-avatar-editor { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; gap: 17px; padding-bottom: 20px; }

.affiliate-avatar-editor > div { position: relative; }

.affiliate-avatar-editor img { border: 2px solid rgba(223,17,27,.58); border-radius: 50%; height: 104px; object-fit: cover; width: 104px; }

.affiliate-avatar-editor label {
  align-items: center;
  background: var(--ff-red);
  border: 2px solid #0a1018;
  border-radius: 50%;
  bottom: 0;
  color: #fff;
  cursor: pointer;
  display: grid;
  font-size: 0;
  height: 34px;
  place-items: center;
  position: absolute;
  right: 0;
  width: 34px;
}

.affiliate-avatar-editor label svg { font-size: 14px; }

.affiliate-avatar-editor input { display: none; }

.affiliate-avatar-editor > span { display: grid; }

.affiliate-avatar-editor small { color: #ff747d; font-family: var(--ff-display); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; }

.affiliate-avatar-editor strong { color: #fff; font-family: var(--ff-display); font-size: clamp(28px,3vw,38px); line-height: 1; text-transform: uppercase; }

.affiliate-avatar-editor em { color: var(--ff-muted); font-size: 12px; font-style: normal; margin-top: 4px; }

.affiliate-settings-field-grid { display: grid; gap: 13px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.affiliate-settings-field-grid > label,
.affiliate-settings-control { display: grid; gap: 7px; margin: 0; }

.affiliate-settings-field-grid > label > span,
.affiliate-settings-control > span { color: rgba(255,255,255,.78); font-family: var(--ff-display); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }

.affiliate-settings-field-grid .is-wide { grid-column: 1/-1; }

.affiliate-settings-field-grid textarea { min-height: 122px; resize: vertical; }

.affiliate-settings-submit-row { align-items: center; border-top: 1px solid var(--ff-border); display: flex; gap: 18px; justify-content: space-between; padding-top: 18px; }

.affiliate-settings-submit-row > span { align-items: center; color: var(--ff-muted); display: flex; font-size: 11px; gap: 8px; }

.affiliate-settings-submit-row > span svg { color: #62c9ff; }

.affiliate-settings-two-column { display: grid; gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.affiliate-settings-two-column .affiliate-settings-card { display: flex; flex-direction: column; gap: 15px; }

.affiliate-settings-card-heading { align-items: center; border-bottom: 1px solid var(--ff-border); display: flex; gap: 12px; padding-bottom: 14px; }

.affiliate-settings-card-heading > svg { color: var(--ff-red); font-size: 25px; }

.affiliate-settings-card-heading > span { display: grid; }

.affiliate-settings-card-heading small { color: var(--ff-muted); font-family: var(--ff-display); font-size: 9px; letter-spacing: .09em; text-transform: uppercase; }

.affiliate-settings-card-heading h2 { color: #fff; font-family: var(--ff-display); font-size: 28px; margin: 0; text-transform: uppercase; }

.affiliate-settings-card > p { color: var(--ff-muted); line-height: 1.55; margin: 0; }

.affiliate-settings-control select option { background: #101722; color: #fff; }

.affiliate-settings-card > .theme-btn { justify-content: center; margin-top: auto; width: 100%; }

.affiliate-settings-card > .theme-btn:disabled,
.affiliate-settings-submit-row .theme-btn:disabled { cursor: not-allowed; opacity: .5; }

.affiliate-payout-balance { background: rgba(53,212,93,.06); border: 1px solid rgba(53,212,93,.23); border-radius: 11px; display: grid; padding: 13px; }

.affiliate-payout-balance span { color: var(--ff-muted); font-family: var(--ff-display); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }

.affiliate-payout-balance strong { color: #fff; font-family: var(--ff-display); font-size: 38px; line-height: 1; }

.affiliate-payout-balance small { color: #74e996; font-size: 10px; }

.affiliate-referral-card { display: grid; gap: 16px; margin-bottom: 50px; }

.affiliate-referral-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }


@media (max-width: 1020px) {
  .affiliate-create-header,
  .affiliate-promotion-link-card { grid-template-columns: 1fr; }
  .affiliate-promotion-stat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .affiliate-past-promotion-grid { grid-template-columns: 1fr; }
}

@media (max-width: 760px) {
  .admin-dashboard-warning,
  .affiliate-create-form-heading,
  .affiliate-promotion-next-step,
  .affiliate-settings-submit-row { align-items: stretch; flex-direction: column; }
  .admin-dashboard-warning button,
  .affiliate-promotion-next-step .theme-btn,
  .affiliate-settings-submit-row .theme-btn { justify-content: center; width: 100%; }
  .affiliate-create-header,
  .affiliate-create-form,
  .affiliate-settings-card { padding: 15px; }
  .affiliate-create-fight-summary { grid-template-columns: minmax(90px,1fr) 60px minmax(90px,1fr); padding-inline: 7px; }
  .affiliate-create-fight-summary figure img { height: 112px; }
  .affiliate-create-fight-summary > div strong { font-size: 34px; }
  .affiliate-create-field-grid,
  .affiliate-settings-field-grid,
  .affiliate-settings-two-column { grid-template-columns: 1fr; }
  .affiliate-create-field-grid > label { grid-template-columns: 1fr; }
  .affiliate-create-submit { margin-left: 0; width: 100%; }
  .affiliate-promotion-stat-grid { grid-template-columns: 1fr; }
  .affiliate-promotion-url,
  .affiliate-referral-url { grid-template-columns: 1fr; }
  .affiliate-promotion-url button,
  .affiliate-referral-url button { justify-content: center; }
  .affiliate-past-promotion-media { grid-template-columns: minmax(90px,1fr) 58px minmax(90px,1fr); min-height: 180px; padding-inline: 6px; }
  .affiliate-past-promotion-media img { height: 135px; }
  .affiliate-past-pagination { align-items: stretch; flex-direction: column; text-align: center; }
  .affiliate-past-pagination button { justify-content: center; }
  .affiliate-avatar-editor { align-items: flex-start; }
  .affiliate-referral-actions { flex-direction: column; }
  .affiliate-referral-actions .theme-btn { justify-content: center; width: 100%; }
}


.affiliate-league-invite-card {
  align-items: center;
  background: linear-gradient(145deg, rgba(16,24,34,.98), rgba(7,12,18,.98));
  border: 1px solid var(--ff-border);
  border-radius: 16px;
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(220px,.7fr) minmax(360px,1.3fr);
  padding: 20px;
}

.affiliate-league-owner { align-items: center; display: flex; gap: 13px; min-width: 0; }

.affiliate-league-owner img { border: 2px solid rgba(223,17,27,.55); border-radius: 50%; height: 72px; object-fit: cover; width: 72px; }

.affiliate-league-owner > span { display: grid; min-width: 0; }

.affiliate-league-owner small { color: #ff747d; font-family: var(--ff-display); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }

.affiliate-league-owner strong { color: #fff; font-family: var(--ff-display); font-size: 24px; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-league-owner em { color: var(--ff-muted); font-size: 11px; font-style: normal; }

.affiliate-league-toolbar {
  align-items: center;
  background: rgba(255,255,255,.025);
  border: 1px solid var(--ff-border);
  border-radius: 12px;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 17px;
  padding: 10px;
}

.affiliate-league-toolbar label { align-items: center; display: flex; flex: 1; gap: 9px; margin: 0; }

.affiliate-league-toolbar label > svg { color: var(--ff-red); margin-left: 5px; }

.affiliate-league-toolbar input { background: transparent; border: 0; color: #fff; font-size: 14px; min-height: 42px; outline: 0; width: 100%; }

.affiliate-league-toolbar > span { align-items: center; color: var(--ff-muted); display: flex; font-size: 11px; gap: 7px; padding-right: 8px; }

.affiliate-league-member-grid { display: grid; gap: 12px; grid-template-columns: repeat(2,minmax(0,1fr)); }

.affiliate-league-member-grid article {
  align-items: center;
  background: linear-gradient(150deg,rgba(17,25,35,.98),rgba(8,13,19,.98));
  border: 1px solid var(--ff-border);
  border-radius: 13px;
  display: grid;
  gap: 12px;
  grid-template-columns: 58px minmax(0,1fr) auto;
  padding: 13px;
}

.affiliate-league-member-grid img { border: 1px solid var(--ff-border-strong); border-radius: 50%; height: 58px; object-fit: cover; width: 58px; }

.affiliate-league-member-grid article > span { display: grid; min-width: 0; }

.affiliate-league-member-grid small { color: #ff747d; font-family: var(--ff-display); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }

.affiliate-league-member-grid strong { color: #fff; font-family: var(--ff-display); font-size: 18px; overflow: hidden; text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }

.affiliate-league-member-grid em { color: var(--ff-muted); font-size: 10px; font-style: normal; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.affiliate-league-member-grid article > div { color: var(--ff-muted); font-size: 10px; text-align: right; }

.affiliate-league-actions-panel {
  align-items: center;
  background: linear-gradient(135deg,rgba(223,17,27,.14),rgba(11,17,25,.98) 48%);
  border: 1px solid rgba(223,17,27,.28);
  border-radius: 16px;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 50px;
  padding: 22px;
}

.affiliate-league-actions-panel > div:first-child { align-items: flex-start; display: flex; gap: 14px; }

.affiliate-league-actions-panel > div:first-child > svg { color: var(--ff-red); font-size: 27px; margin-top: 5px; }

.affiliate-league-actions-panel > div:first-child > span { display: grid; gap: 3px; }

.affiliate-league-actions-panel small { color: #ff747d; font-family: var(--ff-display); font-size: 9px; letter-spacing: .1em; text-transform: uppercase; }

.affiliate-league-actions-panel h2 { color: #fff; font-family: var(--ff-display); font-size: clamp(24px,3vw,34px); margin: 0; text-transform: uppercase; }

.affiliate-league-actions-panel p { color: var(--ff-muted); line-height: 1.5; margin: 0; }

.affiliate-league-actions-panel > div:last-child { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 9px; }

@media (max-width: 900px) {
  .affiliate-league-invite-card { grid-template-columns: 1fr; }
  .affiliate-league-member-grid { grid-template-columns: 1fr; }
  .affiliate-league-actions-panel { align-items: stretch; flex-direction: column; }
}

@media (max-width: 620px) {
  .affiliate-league-toolbar { align-items: stretch; flex-direction: column; }
  .affiliate-league-member-grid article { grid-template-columns: 52px minmax(0,1fr); }
  .affiliate-league-member-grid img { height: 52px; width: 52px; }
  .affiliate-league-member-grid article > div { grid-column: 2; text-align: left; }
  .affiliate-league-actions-panel > div:last-child { flex-direction: column; }
  .affiliate-league-actions-panel .theme-btn { justify-content: center; width: 100%; }
}


.public-affiliate-promotion-grid { display:grid; gap:16px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.public-affiliate-promotion-grid > article { background:linear-gradient(150deg,rgba(17,25,35,.99),rgba(7,11,17,.99)); border:1px solid var(--ff-border); border-radius:15px; overflow:hidden; }

.public-affiliate-promotion-media { align-items:end; background:radial-gradient(circle at 50% 55%,rgba(223,17,27,.18),transparent 54%),#070b10; display:grid; grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr); min-height:215px; overflow:hidden; padding:10px 12px 0; }

.public-affiliate-promotion-media figure { display:grid; margin:0; min-width:0; text-align:center; }

.public-affiliate-promotion-media img { height:165px; margin:0 auto; max-width:175px; object-fit:contain; width:100%; }

.public-affiliate-promotion-media figcaption { color:#fff; font-family:var(--ff-display); font-size:14px; overflow:hidden; padding:7px 0 11px; text-overflow:ellipsis; text-transform:uppercase; white-space:nowrap; }

.public-affiliate-promotion-media > div { align-self:center; display:grid; text-align:center; }

.public-affiliate-promotion-media span { color:#ff747d; font-family:var(--ff-display); font-size:9px; text-transform:uppercase; }

.public-affiliate-promotion-media strong { color:#fff; font-family:var(--ff-display); font-size:38px; font-style:italic; }

.public-affiliate-promotion-media small { color:var(--ff-muted); font-family:var(--ff-display); font-size:9px; text-transform:uppercase; }

.public-affiliate-promotion-copy { border-top:1px solid var(--ff-border); padding:16px; }

.public-affiliate-promotion-copy p { color:#ff747d; font-family:var(--ff-display); font-size:9px; letter-spacing:.1em; margin:0 0 5px; text-transform:uppercase; }

.public-affiliate-promotion-copy h2 { color:#fff; font-family:var(--ff-display); font-size:25px; margin:0 0 14px; text-transform:uppercase; }

.public-affiliate-promotion-copy .theme-btn { justify-content:center; width:100%; }

.public-affiliate-join-panel { align-items:center; background:linear-gradient(135deg,rgba(223,17,27,.14),rgba(10,16,24,.98) 50%); border:1px solid rgba(223,17,27,.28); border-radius:16px; display:flex; gap:24px; justify-content:space-between; margin-bottom:50px; padding:22px; }

.public-affiliate-join-panel p { color:#ff747d; font-family:var(--ff-display); font-size:9px; letter-spacing:.1em; margin:0; text-transform:uppercase; }

.public-affiliate-join-panel h2 { color:#fff; font-family:var(--ff-display); font-size:clamp(25px,3vw,36px); margin:3px 0; text-transform:uppercase; }

.public-affiliate-join-panel span { color:var(--ff-muted); }

@media(max-width:900px){.public-affiliate-promotion-grid{grid-template-columns:1fr}}

@media(max-width:650px){.public-affiliate-join-panel{align-items:stretch;flex-direction:column}.public-affiliate-join-panel .theme-btn{justify-content:center;width:100%}.public-affiliate-promotion-media{grid-template-columns:minmax(85px,1fr) 56px minmax(85px,1fr);padding-inline:5px}.public-affiliate-promotion-media img{height:135px}}



/* fmm-ver2 public correction: /mock-game visual redesign while preserving local scoring behavior */
.mock-game-experience-page .xp-hero-description{max-width:790px}
.mock-hero-scorecard strong{font-size:clamp(44px,5vw,70px)!important}
.mock-selector-panel{display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:22px}
.mock-selector-panel button{background:linear-gradient(180deg,rgba(16,25,35,.98),rgba(6,11,17,.98));border:1px solid var(--ff-border);border-radius:18px;color:#fff;cursor:pointer;display:grid;gap:8px;padding:26px;text-align:left;transition:.22s ease}
.mock-selector-panel button:hover,.mock-selector-panel button.is-active{border-color:rgba(234,25,40,.85);box-shadow:0 24px 70px rgba(0,0,0,.36),0 0 0 1px rgba(234,25,40,.22);transform:translateY(-3px)}
.mock-selector-panel span{font-family:var(--ff-display);font-size:clamp(30px,4vw,52px);line-height:.9;text-transform:uppercase}
.mock-selector-panel small{color:var(--ff-muted);font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mock-prediction-shell{grid-template-columns:300px minmax(0,1fr)!important}
.mock-outcome-panel .practice-submit{justify-self:stretch;margin-top:10px;min-width:0}
.mock-round-card>header{grid-template-columns:1fr 88px 88px!important}
.mock-toggle-button{background:rgba(234,25,40,.12);border:1px solid rgba(234,25,40,.35);border-radius:9px;color:#fff;cursor:pointer;font-family:var(--ff-display);font-weight:900;min-height:38px;text-transform:uppercase}
.mock-toggle-button:hover{background:rgba(234,25,40,.24)}
.mock-fighter-card label span{align-items:center;display:flex;justify-content:space-between}
.mock-fighter-card label em{color:#62c9ff;font-style:normal}
.mock-result-shell{grid-template-columns:310px minmax(0,1fr)!important}
.mock-score-output{grid-column:1/-1;overflow-x:auto;width:100%}
.mock-faceoff img{border-radius:16px;object-fit:cover;width:160px}
@media(max-width:980px){.mock-prediction-shell,.mock-result-shell{grid-template-columns:1fr!important}.mock-selector-panel{grid-template-columns:1fr}.mock-round-card>header{grid-template-columns:1fr 76px 76px!important}.mock-faceoff{display:none!important}}
@media(max-width:720px){.mock-round-fighters{grid-template-columns:1fr!important}.mock-round-fighters section+section{border-left:0!important;border-top:1px solid var(--ff-border)}}



/* Final public route fixes ------------------------------------------------ */
.xp-article-shell,.xp-article-not-found{width:min(1120px,calc(100% - 40px));margin:0 auto;color:#fff}
.xp-article-header{background:linear-gradient(180deg,rgba(16,24,34,.96),rgba(7,12,18,.97));border:1px solid var(--ff-border);border-radius:18px;padding:clamp(26px,5vw,54px);box-shadow:0 26px 80px rgba(0,0,0,.38)}
.xp-article-header h2{font-family:var(--ff-display);font-size:clamp(42px,6vw,76px);line-height:.92;margin:8px 0 0;text-transform:uppercase}
.xp-article-header>p:not(.xp-eyebrow){color:var(--ff-muted);font-size:18px;line-height:1.65;max-width:820px}
.xp-article-header>div{align-items:center;border-top:1px solid var(--ff-border);display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;padding-top:18px}
.xp-article-header span,.xp-article-header a{align-items:center;color:rgba(255,255,255,.7);display:inline-flex;font-size:13px;font-weight:800;gap:8px;text-transform:uppercase}
.xp-article-header a{color:#fff}
.xp-article-image{border:1px solid var(--ff-border);border-radius:18px;margin:22px 0;max-height:560px;overflow:hidden}
.xp-article-image img{display:block;height:100%;max-height:560px;object-fit:cover;width:100%}
.xp-article-toc{background:rgba(255,255,255,.04);border:1px solid var(--ff-border);border-radius:15px;display:flex;flex-wrap:wrap;gap:10px;margin-bottom:22px;padding:16px}
.xp-article-toc strong,.xp-article-toc a{align-items:center;display:inline-flex;gap:8px}
.xp-article-toc strong{color:#fff;font-family:var(--ff-display);font-size:13px;text-transform:uppercase}
.xp-article-toc a{background:rgba(0,0,0,.26);border:1px solid rgba(255,255,255,.08);border-radius:999px;color:rgba(255,255,255,.74);font-size:12px;padding:8px 12px}
.xp-article-content{background:linear-gradient(180deg,rgba(16,24,34,.94),rgba(7,12,18,.96));border:1px solid var(--ff-border);border-radius:18px;box-shadow:0 26px 76px rgba(0,0,0,.34);padding:clamp(24px,4vw,46px)}
.xp-article-content section+section{border-top:1px solid var(--ff-border);margin-top:30px;padding-top:30px}
.xp-article-content h3{font-family:var(--ff-display);font-size:clamp(30px,4vw,46px);line-height:1;margin:0 0 14px;text-transform:uppercase}
.xp-article-content h4{color:#fff;font-family:var(--ff-display);font-size:24px;margin:24px 0 8px;text-transform:uppercase}
.xp-article-content p{color:rgba(245,247,251,.78);font-size:17px;line-height:1.82}
.xp-article-content img{border:1px solid var(--ff-border);border-radius:15px;margin:18px 0;max-height:480px;object-fit:cover;width:100%}
.xp-article-not-found{align-items:center;background:linear-gradient(180deg,rgba(16,24,34,.96),rgba(7,12,18,.98));border:1px solid var(--ff-border);border-radius:18px;display:grid;justify-items:center;min-height:360px;padding:38px;text-align:center}
.xp-article-not-found svg{color:var(--ff-red);font-size:46px}
.xp-article-not-found h2{font-family:var(--ff-display);font-size:42px;text-transform:uppercase}
.xp-article-not-found a{color:#fff;font-family:var(--ff-display);font-weight:900;text-transform:uppercase}


/* Final admin-only source alignment pass */
.admin-experience-main .admin-route-metrics { display: none !important; }

.admin-experience-main .admin-route-frame,
.admin-experience-main .admin-route-content { margin: 0 !important; max-width: none !important; padding: 0 !important; }

.admin-experience-main .admin-route-hero { display: none !important; }


.admin-workspace { display: grid; gap: 18px; margin: 0 auto; max-width: 1540px; width: 100%; }

.admin-page-heading h2 { color: #fff !important; font-family: var(--ff-display, var(--admin-display)); font-size: clamp(32px,3.3vw,48px); letter-spacing: -.03em; line-height: .96; margin: 0; text-transform: uppercase; }

.admin-page-heading > div > span { color: var(--ff-red,#df111b); display: inline-block; font-family: var(--ff-display, var(--admin-display)); font-size: 11px; font-weight: 900; letter-spacing: .13em; margin-bottom: 9px; text-transform: uppercase; }

.admin-heading-actions :is(a,button),
.admin-primary-action,
.admin-action-secondary,
.admin-action-danger { align-items:center; border-radius: 10px !important; display:inline-flex; gap:8px; font-family: var(--ff-display, var(--admin-display)); font-size: 12px; font-weight: 900; justify-content:center; letter-spacing:.045em; min-height:44px; padding:0 14px !important; text-transform:uppercase; }

.admin-action-danger { background:rgba(223,17,27,.12)!important; border:1px solid rgba(223,17,27,.48)!important; color:#ff7480!important; }

.admin-inline-notice { border-radius: 12px; font-weight: 800; padding: 13px 15px; }

.admin-inline-notice.is-error { background: rgba(223,17,27,.12); border:1px solid rgba(223,17,27,.38); color:#ff7c86; }

.admin-inline-notice.is-success { background: rgba(53,212,93,.1); border:1px solid rgba(53,212,93,.34); color:#88f3a0; }

.admin-filter-tabs { align-items:center; display:flex; flex-wrap:wrap; gap:7px; }

.admin-filter-tab { background:rgba(255,255,255,.045)!important; border:1px solid var(--ff-border,var(--admin-border))!important; border-radius:999px!important; color:rgba(255,255,255,.7)!important; font-family:var(--ff-display,var(--admin-display))!important; font-size:11px!important; font-weight:900!important; min-height:38px!important; padding:0 13px!important; text-transform:uppercase; }

.admin-filter-tab.is-active { background:linear-gradient(135deg,#b90610,#f32532)!important; border-color:rgba(255,71,82,.58)!important; color:#fff!important; }


.admin-fight-cell { align-items:center; display:flex; gap:12px; min-width:280px; }

.admin-fight-cell > span { display:flex; flex:0 0 auto; }

.admin-fight-cell img { background:#080d14; border:1px solid rgba(255,255,255,.13); border-radius:50%; height:48px; object-fit:cover; width:48px; }

.admin-fight-cell img + img { margin-left:-13px; }

.admin-fight-cell strong { color:#fff; display:block; font-family:var(--ff-display,var(--admin-display)); font-size:15px; text-transform:uppercase; }

.admin-fight-cell small { color:var(--ff-muted,var(--admin-muted)); display:block; font-size:12px; margin-top:3px; }

.admin-fights-workspace .admin-inline-metrics { margin-bottom: 2px; }

.admin-fights-table th:last-child,
.admin-fights-table td:last-child { min-width: 330px; }

.admin-cell-stack strong { color:#fff; }

.admin-cell-stack small { color:var(--ff-muted,var(--admin-muted)); }


.admin-shadow-choice-panel { background: rgba(249,180,22,.08); border-color: rgba(249,180,22,.32); }

.admin-success-panel button { background:rgba(255,255,255,.06); border:1px solid var(--ff-border,var(--admin-border)); border-radius:8px; color:#fff!important; font-size:13px; font-weight:900; min-height:42px; padding:0 12px; text-transform:uppercase; }


.admin-predictions-redesign { gap: 20px; }

.admin-score-hero { align-items: stretch; background: linear-gradient(135deg,rgba(18,26,38,.98),rgba(7,12,18,.98)); border: 1px solid var(--ff-border,var(--admin-border)); border-radius: 18px; display: grid; gap: 16px; grid-template-columns: minmax(0,1fr) 150px minmax(0,1fr); overflow: hidden; padding: 18px; }

.admin-score-hero article { align-items:end; background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02)); border:1px solid var(--ff-border,var(--admin-border)); border-radius:15px; display:grid; min-height:260px; overflow:hidden; padding:16px; position:relative; text-align:center; }

.admin-score-hero article:first-child { background: radial-gradient(circle at 50% 20%,rgba(223,17,27,.22),rgba(255,255,255,.03)); }

.admin-score-hero article:last-child { background: radial-gradient(circle at 50% 20%,rgba(22,143,230,.22),rgba(255,255,255,.03)); }

.admin-score-hero img { bottom:0; height:235px; left:50%; object-fit:contain; position:absolute; transform:translateX(-50%); width:90%; z-index:1; }

.admin-score-hero strong,
.admin-score-hero span { position:relative; z-index:2; }

.admin-score-hero strong { color:#fff; font-family:var(--ff-display,var(--admin-display)); font-size:28px; line-height:1; text-shadow:0 12px 28px rgba(0,0,0,.75); text-transform:uppercase; }

.admin-score-hero span { color:var(--ff-muted,var(--admin-muted)); font-size:12px; font-weight:900; letter-spacing:.08em; margin-top:6px; text-transform:uppercase; }

.admin-score-hero > div { align-items:center; background:rgba(0,0,0,.25); border:1px solid var(--ff-border,var(--admin-border)); border-radius:15px; display:grid; justify-items:center; padding:14px; text-align:center; }

.admin-score-hero b { align-items:center; background:var(--ff-red,#df111b); border-radius:50%; color:#fff; display:flex; font-family:var(--ff-display,var(--admin-display)); font-size:28px; height:74px; justify-content:center; width:74px; }

.admin-score-hero small,
.admin-score-hero em { color:var(--ff-muted,var(--admin-muted)); font-style:normal; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }


.admin-score-entry-grid { display:grid; gap:18px; grid-template-columns:repeat(2,minmax(0,1fr)); }

.admin-score-fighter-panel { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border,var(--admin-border)); border-radius:18px; overflow:hidden; }

.admin-score-fighter-panel.is-red { box-shadow: inset 4px 0 0 rgba(223,17,27,.9); }

.admin-score-fighter-panel.is-blue { box-shadow: inset 4px 0 0 rgba(22,143,230,.9); }

.admin-score-fighter-panel > header { border-bottom:1px solid var(--ff-border,var(--admin-border)); padding:18px 20px; }

.admin-score-fighter-panel > header span { color:var(--ff-red,#df111b); font-family:var(--ff-display,var(--admin-display)); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }

.admin-score-fighter-panel > header h3 { color:#fff; font-family:var(--ff-display,var(--admin-display)); font-size:30px; line-height:1; margin:6px 0 4px; text-transform:uppercase; }

.admin-score-fighter-panel > header p { color:var(--ff-muted,var(--admin-muted)); margin:0; }

.admin-score-fighter-panel > div { display:grid; gap:12px; padding:16px; }

.admin-score-metric { align-items:stretch; background:rgba(255,255,255,.035); border:1px solid var(--ff-border,var(--admin-border)); border-radius:14px; display:grid; gap:12px; grid-template-columns:minmax(0,1.25fr) minmax(110px,.75fr); padding:12px; }

.admin-score-metric.is-red { border-color:rgba(223,17,27,.28); }

.admin-score-metric.is-blue { border-color:rgba(22,143,230,.28); }

.admin-score-increment { align-items:flex-start!important; background:rgba(0,0,0,.22)!important; border:1px solid rgba(255,255,255,.12)!important; border-radius:12px!important; color:#fff!important; display:grid!important; gap:5px!important; justify-content:stretch!important; min-height:86px!important; padding:13px!important; text-align:left!important; width:100%!important; }

.admin-score-increment strong { color:#fff; font-family:var(--ff-display,var(--admin-display)); font-size:clamp(18px,1.5vw,24px); line-height:1; text-transform:uppercase; }

.admin-score-increment span { color:#fff; font-family:var(--ff-display,var(--admin-display)); font-size:clamp(26px,2.4vw,38px); line-height:.95; }

.admin-score-increment small { color:var(--ff-muted,var(--admin-muted)); font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }

.admin-score-metric label { display:grid; gap:7px; margin:0!important; }

.admin-score-metric label span { color:var(--ff-muted,var(--admin-muted)); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.admin-score-metric input { font-family:var(--ff-display,var(--admin-display))!important; font-size:28px!important; font-weight:900!important; min-height:86px!important; text-align:center; }

.admin-score-actions-bar { align-items:center; background:rgba(7,12,18,.96); border:1px solid var(--ff-border,var(--admin-border)); border-radius:16px; display:flex; flex-wrap:wrap; gap:10px; padding:14px; position:sticky; bottom:16px; z-index:20; }

.admin-score-actions-bar > span { color:var(--ff-muted,var(--admin-muted)); font-weight:900; margin-left:auto; text-transform:uppercase; }

.admin-video-modal,
.admin-score-select-modal { background:linear-gradient(180deg,rgba(16,24,34,.98),rgba(7,12,18,.99)); border:1px solid var(--ff-border-strong,var(--admin-border-strong)); border-radius:18px; box-shadow:0 34px 90px rgba(0,0,0,.55); color:#fff; max-width:540px; padding:24px; position:relative; width:min(92vw,540px); }

.admin-video-modal header { display:grid; gap:6px; justify-items:start; margin-bottom:18px; }

.admin-video-modal header svg { color:var(--ff-red,#df111b); font-size:24px; }

.admin-video-modal header span,
.admin-score-select-modal header span { color:var(--ff-red,#df111b); font-family:var(--ff-display,var(--admin-display)); font-size:11px; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }

.admin-video-modal h3,
.admin-score-select-modal h3 { color:#fff; font-family:var(--ff-display,var(--admin-display)); font-size:30px; line-height:1; margin:0; text-transform:uppercase; }

.admin-video-modal p { color:var(--ff-muted,var(--admin-muted)); margin:0; }

.admin-video-modal form { display:grid; gap:12px; }

.admin-modal-close,
.admin-score-select-modal header button { background:rgba(255,255,255,.07)!important; border:1px solid var(--ff-border,var(--admin-border))!important; border-radius:50%!important; color:#fff!important; height:38px; position:absolute; right:14px; top:14px; width:38px; }

.admin-score-select-modal > div { display:grid; gap:10px; grid-template-columns:1fr 1fr; margin-top:18px; }

.admin-score-select-modal > div button { background:linear-gradient(135deg,#b90610,#f32532)!important; border:1px solid rgba(255,71,82,.58)!important; border-radius:12px!important; color:#fff!important; font-family:var(--ff-display,var(--admin-display)); font-size:18px; font-weight:900; min-height:72px; text-transform:uppercase; }


@media (max-width: 1100px) {
  .admin-score-entry-grid,
  .admin-score-hero { grid-template-columns:1fr; }
  .admin-score-hero > div { order:-1; }
  .admin-score-actions-bar { position:static; }
}

@media (max-width: 760px) {
  .admin-score-metric { grid-template-columns:1fr; }
  .admin-fights-table th:last-child,
  .admin-fights-table td:last-child { min-width: 220px; }
}


/* Phase 5 bulk fight management controls */
.admin-bulk-actions {
  align-items: center;
  background: rgba(255, 255, 255, .035);
  border-bottom: 1px solid var(--ff-border, var(--admin-border));
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 12px 15px;
}


.admin-bulk-actions span {
  color: var(--ff-muted, var(--admin-muted));
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}


.admin-danger-action {
  align-items: center;
  background: linear-gradient(135deg, rgba(223, 17, 27, .92), rgba(255, 70, 82, .92)) !important;
  border: 1px solid rgba(255, 88, 98, .5) !important;
  border-radius: 999px !important;
  color: #fff !important;
  display: inline-flex;
  font-size: 12px !important;
  font-weight: 900 !important;
  gap: 8px;
  min-height: 42px !important;
  padding: 0 15px !important;
  text-transform: uppercase;
}


.admin-danger-action:disabled {
  cursor: not-allowed;
  opacity: .45;
}


.admin-row-check {
  align-items: center;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
}


.admin-row-check input {
  accent-color: #df111b;
  height: 18px;
  width: 18px;
}


.fmm-contest-card.is-pro-wrestling {
  background: radial-gradient(circle at 18% 12%, rgba(249, 180, 22, .18), transparent 34%), linear-gradient(180deg, rgba(18, 13, 26, .98), rgba(8, 10, 18, .98));
  border-color: rgba(249, 180, 22, .35);
}


.fmm-contest-card.is-pro-wrestling .fmm-category-pill {
  background: rgba(249, 180, 22, .14);
  color: #ffd36f;
}


/* Guide page final premium shell */
.xp-guide-page-shell {
  background:
    radial-gradient(circle at 16% 8%, rgba(223,17,27,.18), transparent 28rem),
    radial-gradient(circle at 84% 18%, rgba(26,128,255,.13), transparent 32rem),
    linear-gradient(180deg, #05080d 0%, #08101a 52%, #05070b 100%);
  min-height: 100vh;
  padding: 102px min(5vw, 64px) 64px;
}

.xp-guide-page-shell .xp-guide-intro,
.xp-guide-page-shell .xp-guide-workspace,
.xp-guide-page-shell .xp-guide-scoring {
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.07), rgba(255,255,255,.026));
  border-color: rgba(255,255,255,.115);
}

.xp-guide-page-shell .xp-guide-eyebrow {
  align-items: center;
  color: #ff3b45;
  display: inline-flex;
  font-family: var(--ff-display);
  font-size: 12px;
  font-weight: 900;
  gap: 8px;
  letter-spacing: .1em;
  margin: 0 0 10px;
  text-transform: uppercase;
}

@media (max-width: 780px) {
  .xp-guide-page-shell { padding: 82px 14px 44px; }
}


/* Phase: admin fight registry duplicate/type controls. */
.admin-fight-toolbar {
  align-items: center;
  gap: 10px;
}

.admin-registry-view-tabs {
  background: rgba(249,180,22,.06);
  border-color: rgba(249,180,22,.22);
}

.admin-registry-view-tabs .admin-filter-tab.is-active {
  background: linear-gradient(135deg,#a56a00,#f3a51f)!important;
  border-color: rgba(249,180,22,.56)!important;
}

.admin-fights-table .admin-fight-cell small + small {
  color: rgba(255,255,255,.45);
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 10px;
  max-width: 240px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

