.fr-fixture { padding: 7rem 1.5rem 3rem; }

.fr-fixture-grid {
  max-width: 1400px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 280px 1fr 280px;
  gap: 1.25rem;
  align-items: start;
}

.fr-fx-left { 
  display: flex; 
  flex-direction: column; 
  gap: 1rem; 
  max-height: calc(100vh - 140px);
}

.fr-fav {
  background: rgba(244, 247, 242, 0.04);
  border: 1px solid rgba(240, 169, 58, 0.2);
  border-radius: 14px;
  padding: 1rem;
}
.fr-fav-top { display: flex; align-items: center; gap: 12px; }
.fr-fav-logo {
  width: 42px; height: 42px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
}
.fr-fav-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fr-fav-label {
  display: block;
  font-family: var(--font-display); font-size: 0.7rem;
  letter-spacing: 0.05em;
  color: var(--yellow);
  font-weight: bold;
}
.fr-fav-name {
  display: block;
  font-family: var(--font-display); font-weight: 800;
  font-size: 1rem; color: var(--white);
}

.fr-form-row {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 0.85rem; padding-top: 0.85rem;
  border-top: 1px solid rgba(244, 247, 242, 0.08);
}
.fr-form-label {
  font-family: var(--font-body); font-size: 0.75rem;
  color: rgba(244, 247, 242, 0.45);
}
.fr-form-dots { display: flex; gap: 4px; }
.fr-form-dot {
  width: 20px; height: 20px; border-radius: 6px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-data); font-weight: 700; font-size: 0.65rem;
  font-style: normal;
}
.fr-form-dot.w { background: rgba(46,189,107,.2); color: var(--green); }
.fr-form-dot.l { background: rgba(229,72,77,.2); color: var(--red); }
.fr-form-dot.d { background: rgba(244,247,242,.1); color: rgba(244,247,242,.6); }

.fr-progress {
  background: rgba(244, 247, 242, 0.03);
  border: 1px solid rgba(244, 247, 242, 0.07);
  border-radius: 14px;
  padding: 0.9rem 1rem;
}
.fr-progress-head {
  display: flex; align-items: center; justify-content: space-between;
  font-family: var(--font-body); font-size: 0.8rem;
  color: rgba(244, 247, 242, 0.6);
  margin-bottom: 8px;
}
.fr-progress-head .v {
  font-family: var(--font-data); font-weight: 700; color: var(--yellow);
}
.fr-progress-bar {
  height: 5px; border-radius: 3px;
  background: rgba(244, 247, 242, 0.08);
  overflow: hidden;
}
.fr-progress-fill {
  height: 100%; border-radius: 3px;
  background: linear-gradient(90deg, var(--yellow), color-mix(in srgb, var(--yellow) 70%, white));
  transition: width 0.3s ease;
}
.fr-progress-note {
  display: block; margin-top: 6px;
  font-family: var(--font-body); font-size: 0.7rem;
  color: rgba(244, 247, 242, 0.35);
}

.fr-fx-list { 
  display: flex; 
  flex-direction: column; 
  gap: 6px; 
  overflow-y: auto;
  flex: 1;
  padding-right: 4px;
}
.fr-fx-list::-webkit-scrollbar { width: 5px; }
.fr-fx-list::-webkit-scrollbar-track { background: transparent; }
.fr-fx-list::-webkit-scrollbar-thumb { 
  background: rgba(244,247,242,.14); 
  border-radius: 3px; 
}
.fr-fx-item {
  position: relative;
  display: block;
  padding: 0.7rem 0.85rem;
  background: rgba(244, 247, 242, 0.03);
  border: 1px solid rgba(244, 247, 242, 0.07);
  border-radius: 11px;
  text-decoration: none;
  transition: border-color .15s ease, background .15s ease;
}
.fr-fx-item:hover { border-color: rgba(240,169,58,.3); }
.fr-fx-item.is-active {
  border-color: var(--yellow);
  background: rgba(240, 169, 58, 0.08);
}
.fr-fx-item.is-locked { opacity: .55; }
.fr-fx-time {
  display: block;
  font-family: var(--font-data); font-size: 0.68rem;
  color: rgba(244, 247, 242, 0.4);
  margin-bottom: 5px;
}
.fr-fx-teams { display: flex; flex-direction: column; gap: 3px; }
.fr-fx-t {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--font-body); font-weight: 500;
  font-size: 0.8rem; color: var(--white);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fr-fx-t img { width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; }
.fr-fx-badge {
  position: absolute; top: 8px; right: 8px; font-size: 14px;
}
.fr-fx-badge.done { color: var(--green); }
.fr-fx-badge.locked { color: rgba(229,72,77,.7); }

.fr-fx-main {
  background: rgba(244, 247, 242, 0.03);
  border: 1px solid rgba(244, 247, 242, 0.07);
  border-radius: 16px;
  padding: 1.25rem;
}

.fr-mh {
  display: grid; grid-template-columns: 1fr auto 1fr;
  align-items: center; gap: 1rem;
  margin-bottom: 0.5rem;
}
.fr-mh-team {
  display: flex; align-items: center; gap: 10px;
}
.fr-mh-team:last-child { flex-direction: row-reverse; }
.fr-mh-team img { width: 32px; height: 32px; object-fit: contain; }
.fr-mh-team span {
  font-family: var(--font-display); font-weight: 800;
  font-size: 0.95rem; color: var(--white);
}
.fr-mh-mid { text-align: center; }
.fr-mh-time {
  display: block;
  font-family: var(--font-data); font-weight: 700;
  font-size: 1.35rem; color: var(--yellow); line-height: 1;
}
.fr-mh-date {
  font-family: var(--font-body); font-size: 0.72rem;
  color: rgba(244, 247, 242, 0.45);
}
.fr-mh-status { text-align: center; margin-bottom: 1rem; }
.fr-countdown, .fr-lock {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 0.8rem;
  color: rgba(244, 247, 242, 0.55);
}
.fr-countdown .v { font-family: var(--font-data); font-weight: 700; color: var(--white); }
.fr-lock { color: var(--red); }

.fr-pitch2 {
  position: relative;
  background:
    repeating-linear-gradient(180deg,
      rgba(255,255,255,.035) 0, rgba(255,255,255,.035) 5%,
      transparent 5%, transparent 10%),
    linear-gradient(180deg, #1d7644 0%, #16613a 50%, #1d7644 100%);
  border-radius: 14px;
  border: 1px solid rgba(244, 247, 242, 0.12);
  aspect-ratio: 72 / 105;
  max-height: 800px;
  margin: 0 auto;
  width: 100%;
}

.fr-pitch2.is-locked { pointer-events: none; opacity: .8; cursor: not-allowed;}

.fr-pitch2.is-locked .fr-slot {
  pointer-events: none;
}
.fr-pitch2.is-locked .fr-slot-remove {
  display: none !important;
}

.fr-pitch2::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(180deg,
    rgba(255,255,255,.03) 0, rgba(255,255,255,.03) 10%,
    transparent 10%, transparent 20%);
  pointer-events: none;
}
.fr-pitch2-lines { 
  position: absolute; 
  inset: 12px; 
  pointer-events: none; 
  z-index: 1; 
  overflow: hidden; 
  border-radius: 14px; 
}

.fr-slot.is-picked {
  cursor: default;
}

.fr-p2-center { position: absolute; top: 50%; left: 0; right: 0; height: 1.5px; background: rgba(255,255,255,.22); }

.fr-p2-circle {
  position: absolute; top: 50%; left: 50%;
  width: 22%; aspect-ratio: 1; transform: translate(-50%,-50%);
  border: 1.5px solid rgba(255,255,255,.22); border-radius: 50%;
}

.fr-p2-box {
  position: absolute; left: 50%; transform: translateX(-50%);
  width: 56%; height: 16%;
  border: 1.5px solid rgba(255,255,255,.22);
}

.fr-p2-box.top { top: 0; border-top: none; }
.fr-p2-box.bottom { bottom: 0; border-bottom: none; }

.fr-p2-goal {
  position: absolute; left: 50%; transform: translateX(-50%);
  width: 24%; height: 6%;
  border: 1.5px solid rgba(255,255,255,.22);
}

.fr-p2-goal.top { top: 0; border-top: none; }
.fr-p2-goal.bottom { bottom: 0; border-bottom: none; }

.fr-half {
  position: absolute; left: 0; right: 0; z-index: 2;
}

.fr-half.home { 
  top: 5%; 
  height: 45%; 
}
.fr-half.away { 
  bottom: 5%; 
  height: 45%; 
}

.fr-formations {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 1rem;
  align-items: center;
  margin-bottom: 0.75rem;
}

.fr-fm-side { display: flex; align-items: center; gap: 8px; }
.fr-fm-side:last-child { justify-content: flex-end; }
.fr-fm-label {
  display: flex; align-items: center; gap: 6px;
  font-family: var(--font-body); font-size: 0.75rem;
  color: rgba(244, 247, 242, 0.5);
}
.fr-fm-label img { width: 24px; height: 24px; object-fit: contain; }
.fr-fm-select {
  padding: 6px 28px 6px 10px;
  background: rgba(244, 247, 242, 0.05);
  border: 1px solid rgba(244, 247, 242, 0.12);
  border-radius: 8px;
  font-family: var(--font-data); font-weight: 700; font-size: 0.78rem;
  color: var(--white);
  cursor: pointer; appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%23F0A93A' d='M5 6L0 0h10z'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 10px center;
}
.fr-fm-select:disabled { opacity: .5; cursor: not-allowed; }
.fr-fm-select option { background: #16211c; }

.fr-zone.is-over {
  background: rgba(240,169,58,.12);
  border-color: rgba(240,169,58,.5);
}
.fr-zone.is-target {
  border-color: rgba(255,255,255,.25);
}
.fr-zone-label {
  position: absolute; left: 8px; top: 4px;
  font-family: var(--font-data); font-size: 0.6rem;
  letter-spacing: .08em;
  color: rgba(255,255,255,.25);
  pointer-events: none;
}

.fr-slot {
  position: absolute;
  width: 72px;
  transform: translate(-50%, -50%);
  display: flex; flex-direction: column; align-items: center; gap: 2px;
}

.fr-slot-jersey {
  position: relative;
  width: 42px; height: 46px;
  display: flex; align-items: center; justify-content: center;
}

.fr-slot-jersey svg {
  width: 42px;
  height: 46px;
  display: block;
  position: relative;
  z-index: 2;
}

.fr-slot-photo {
  width: 42px;
  height: 46px;
  object-fit: cover;
  object-position: top center;
  display: block;
}

.fr-slot-jnum {
  position: absolute; top: 46%; left: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-data); font-weight: 800; font-size: 0.82rem;
  color: #fff;
  text-shadow: 0 0 3px rgba(0,0,0,.9);
  pointer-events: none;
}

.fr-slot.is-picked .fr-slot-photo,
.fr-slot.is-over .fr-slot-photo {
  border-color: var(--yellow);
}

.fr-slot:active { cursor: grabbing; }
.fr-slot-badge {
  width: 34px; height: 34px; border-radius: 50%;
  background: var(--yellow); color: var(--black);
  border: 2px solid var(--white);
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-data); font-weight: 700; font-size: 0.78rem;
  box-shadow: 0 3px 10px rgba(0,0,0,.35);
}
.fr-slot.away .fr-slot-badge { background: var(--white); color: var(--black); }
.fr-slot.gk .fr-slot-badge { background: var(--green); }
.fr-slot-name {
  display: flex; align-items: center; gap: 4px;
  font-family: var(--font-body); font-weight: 600;
  font-size: 0.6rem; color: var(--white);
  line-height: 1.1;
  max-width: 100%;
  background: rgba(0,0,0,.6);
  padding:2px 4px;
  border-radius: 4px;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
}

.fr-result-picker {
  margin-bottom: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(244,247,242,.08);
}
.fr-result-opts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 8px;
}
.fr-result-opt {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  padding: 10px 6px;
  background: rgba(244,247,242,.04);
  border: 1.5px solid rgba(244,247,242,.08);
  border-radius: 10px;
  cursor: pointer;
  transition: all .12s ease;
}
.fr-result-opt:hover { border-color: rgba(240,169,58,.35); }
.fr-result-opt.is-on {
  background: rgba(240,169,58,.12);
  border-color: var(--yellow);
}
.fr-result-opt-label {
  font-family: var(--font-data);
  font-weight: 800;
  font-size: 1.1rem;
  color: var(--white);
}
.fr-result-opt.is-on .fr-result-opt-label { color: var(--yellow); }
.fr-result-opt-sub {
  font-family: var(--font-body);
  font-size: 0.68rem;
  color: rgba(244,247,242,.5);
  text-align: center;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.fr-result-mismatch {
  margin: 10px 0 0;
  padding: 8px 12px;
  background: rgba(240, 169, 58, 0.1);
  border: 1px solid rgba(240, 169, 58, 0.25);
  border-radius: 8px;
  font-family: var(--font-body);
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--yellow);
}

.fr-slot-remove {
  position: absolute; top: -5px; right: 2px;
  width: 15px; height: 15px; border-radius: 50%;
  background: var(--red); color: var(--white);
  border: none; cursor: pointer;
  font-size: 10px; line-height: 1;
  display: none; align-items: center; justify-content: center;
}

.fr-slot-pos {
  font-family: var(--font-data); font-size: 0.55rem;
  letter-spacing: .05em;
  color: rgba(255,255,255,.45);
}

.fr-slot.is-empty .fr-slot-jersey svg .body {
  fill: rgba(255,255,255,.07);
  stroke: rgba(255,255,255,.35);
  stroke-dasharray: 4 3;
}

.fr-slot.is-filled { cursor: grab; }
.fr-slot.is-filled:active { cursor: grabbing; }

.fr-slot.is-empty .fr-slot-jersey svg .body-left,
.fr-slot.is-empty .fr-slot-jersey svg .body-right {
  fill: rgba(255,255,255,.07) !important;
  stroke: rgba(255,255,255,.35);
  stroke-dasharray: 4 3;
}

.fr-slot-num {
  flex-shrink: 0;
  background: var(--yellow);
  color: var(--black);
  font-family: var(--font-data); font-weight: 800; font-size: 0.55rem;
  padding: 1px 4px;
  border-radius: 3px;
}

.fr-slot.is-over .fr-slot-jersey {
  transform: scale(1.12);
  filter: drop-shadow(0 0 10px rgba(240,169,58,.8));
}

.fr-slot.is-target .fr-slot-jersey svg .body {
  stroke: var(--yellow);
  fill: rgba(240,169,58,.14);
}
.fr-slot-jersey { transition: transform .12s ease, filter .12s ease; }

.fr-slot-remove {
  position: absolute; top: -3px; right: -2px; z-index: 3;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--red); color: #fff; border: none;
  font-size: 10px; line-height: 1; cursor: pointer;
  display: none; align-items: center; justify-content: center;
}
.fr-slot.is-filled:hover .fr-slot-remove { display: flex; }

.fr-slot.is-empty .fr-slot-name { color: rgba(255,255,255,.35); }

.fr-slot.is-empty { cursor: pointer; }
.fr-slot.is-empty.is-picked {
  cursor: default;
}
.fr-slot:hover .fr-slot-remove { display: flex; }

.fr-actions {
  display: flex; align-items: center; justify-content: space-between;
  gap: 1rem; margin-top: 1rem;
}
.fr-actions-badge {
  display: none;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--green);
}
.fr-actions-badge.is-on { display: inline-block; }

.fr-fx-right { max-height: calc(100vh - 140px); display: flex; flex-direction: column; }

.fr-fx-right.is-summary { overflow-y: auto; }

.fr-pool-tabs {
  display: grid; grid-template-columns: 1fr 1fr; gap: 5px;
  margin-bottom: 0.85rem;
}
.fr-pool-tab {
  display: flex; align-items: center; justify-content: center; gap: 6px;
  padding: 8px 6px;
  background: rgba(244, 247, 242, 0.04);
  border: 1px solid rgba(244, 247, 242, 0.08);
  border-radius: 9px;
  font-family: var(--font-body); font-weight: 600; font-size: 0.72rem;
  color: rgba(244, 247, 242, 0.6);
  cursor: pointer;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  transition: all .15s ease;
}
.fr-pool-tab img { width: 15px; height: 15px; object-fit: contain; flex-shrink: 0; }
.fr-pool-tab.is-active {
  background: rgba(240,169,58,.12);
  border-color: rgba(240,169,58,.4);
  color: var(--yellow);
}

.fr-pool { display: none; overflow-y: auto; flex: 1; padding-right: 4px; }
.fr-pool.is-active { display: block; }
.fr-pool::-webkit-scrollbar { width: 5px; }
.fr-pool::-webkit-scrollbar-track { background: transparent; }
.fr-pool::-webkit-scrollbar-thumb { background: rgba(244,247,242,.14); border-radius: 3px; }

.fr-pool-group { margin-bottom: 0.9rem; }
.fr-pool-group-title {
  display: block;
  font-family: var(--font-data); font-size: 0.62rem;
  letter-spacing: .1em; 
  color: rgba(244, 247, 242, 0.35);
  margin-bottom: 5px; padding-left: 2px;
}

.fr-player-chip {
  display: flex; align-items: center; gap: 8px;
  padding: 6px 8px;
  background: rgba(244, 247, 242, 0.04);
  border: 1px solid rgba(244, 247, 242, 0.07);
  border-radius: 8px;
  margin-bottom: 4px;
  cursor: grab;
  transition: all .12s ease;
}

.fr-slot-selecting .fr-player-chip:not(.is-used) {
  cursor: pointer;
}

.fr-player-chip:hover {
  border-color: rgba(240,169,58,.35);
  background: rgba(240,169,58,.06);
}
.fr-player-chip:active { cursor: grabbing; }
.fr-player-chip.is-used { opacity: .3; pointer-events: none; }
.fr-player-chip.is-dragging { opacity: .4; }
.fr-chip-num {
  width: 22px; flex-shrink: 0; text-align: center;
  font-family: var(--font-data); font-weight: 700; font-size: 0.72rem;
  color: var(--yellow);
}
.fr-chip-name {
  flex: 1;
  font-family: var(--font-body); font-size: 0.78rem;
  color: var(--white);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.fr-chip-injury { font-size: 12px; color: var(--red); flex-shrink: 0; }

.fr-score-picker {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 2rem;
  padding: 1.5rem 0;
  margin-bottom: 0.5rem;
  border-bottom: 1px solid rgba(244,247,242,.08);
}

.fr-score-side {
  flex: 1;
  max-width: 140px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.fr-score-logo {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
}

.fr-score-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }

.fr-score-team {
  font-family: var(--font-body);
  font-weight: 600;
  font-size: 0.8rem;
  color: var(--white);
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.fr-score-ctrl {
  display: flex;
  align-items: center;
  gap: 8px;
}

.fr-score-sep {
  align-self: center;
  font-family: var(--font-data);
  font-size: 1.5rem;
  color: rgba(244,247,242,.3);
}

.fr-score-ctrl button {
  width: 26px; height: 26px; border-radius: 7px;
  background: rgba(244,247,242,.06);
  border: 1px solid rgba(244,247,242,.1);
  color: var(--white); cursor: pointer;
  font-size: 1.1rem;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.fr-score-ctrl button:hover { background: rgba(240,169,58,.15); border-color: rgba(240,169,58,.35); }
.fr-score-val {
  min-width: 34px; text-align: center;
  font-family: var(--font-data); font-weight: 700; font-size: 1.85rem;
  color: var(--yellow);
}
.fr-score-sep {
  font-family: var(--font-data); font-size: 1.5rem;
  color: rgba(244,247,242,.3); padding-bottom: 6px;
}

.fr-range { margin-bottom: 1rem; }
.fr-range-label {
  display: block;
  font-family: var(--font-data); font-size: 0.72rem; font-weight: 600;
  color: rgba(244, 247, 242, 0.6);
  margin-bottom: 7px;
}
.fr-range-opts { display: flex; flex-wrap: wrap; gap: 5px; }
.fr-range-opt {
  padding: 6px 12px;
  background: rgba(244,247,242,.04);
  border: 1px solid rgba(244,247,242,.08);
  border-radius: 8px;
  font-family: var(--font-data); font-weight: 600; font-size: 0.75rem;
  color: rgba(244, 247, 242, 0.65);
  cursor: pointer;
  transition: all .12s ease;
}
.fr-range-opt:hover { border-color: rgba(240,169,58,.35); }
.fr-range-opt.is-on {
  background: var(--yellow); border-color: var(--yellow); color: var(--black);
}

.fr-modal-overlay.is-open { display: flex; }
.fr-modal-wide { max-width: 720px; }
.fr-team-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  margin: 1.5rem 0; max-height: 420px; overflow-y: auto; padding-right: 4px;
}
.fr-team-grid::-webkit-scrollbar { width: 6px; }
.fr-team-grid::-webkit-scrollbar-track { background: transparent; }
.fr-team-grid::-webkit-scrollbar-thumb { background: rgba(244,247,242,.15); border-radius: 3px; }
.fr-team-card {
  display: flex; flex-direction: column; align-items: center; gap: 10px;
  padding: 1.15rem .75rem;
  background: rgba(244,247,242,.04);
  border: 1.5px solid rgba(244,247,242,.08);
  border-radius: 12px; cursor: pointer;
  transition: all .15s ease;
}
.fr-team-card:hover { border-color: rgba(240,169,58,.4); transform: translateY(-2px); }
.fr-team-card.is-selected { border-color: var(--yellow); background: rgba(240,169,58,.1); }
.fr-team-logo { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; }
.fr-team-logo img { max-width: 100%; max-height: 100%; object-fit: contain; }
.fr-team-name {
  font-family: var(--font-body); font-weight: 600; font-size: 0.82rem;
  color: var(--white); text-align: center; line-height: 1.2;
}

.fr-slot.is-picked .fr-slot-jersey {
  transform: scale(1.15);
  filter: drop-shadow(0 0 10px var(--yellow));
}
.fr-slot.is-picked .fr-slot-jersey svg .body {
  stroke: var(--black);
  stroke-width: 1.5;
}

.fr-slot.is-empty.is-picked .fr-slot-jersey svg .body {
  stroke: rgba(186, 153, 153, 0.113);
  stroke-width: 1.5;
  fill: rgba(217, 214, 238, 0.44);
}

.fr-fx-list .fr-fx-item.is-active {
  pointer-events: none;
  cursor: default;
}

#frMainSubmit:disabled {
  background: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.05) !important;
  color: rgba(255, 255, 255, 0.3) !important;
  cursor: not-allowed;
  box-shadow: none !important;
  transform: none !important;
}

.fr-loader-spinner {
  width: 40px;
  height: 40px;
  border: 4px solid rgba(255, 255, 255, 0.1);
  border-left-color: #F0A93A;
  border-radius: 50%;
  animation: spinLoader 0.8s linear infinite;
}

@keyframes spinLoader {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

@keyframes pulseLogo {
  0%, 100% { transform: scale(1); opacity: 0.9; }
  50% { transform: scale(1.08); opacity: 1; }
}

.fr-actions-right {
  display: flex;
  align-items: center;
  gap: 10px;
}

#frStatsClear:disabled,
#frClearAll:disabled {
  opacity: .4;
  cursor: not-allowed;
  pointer-events: none;
}

.fr-tour { position: fixed; inset: 0; z-index: 9999; }
.fr-tour[hidden] { display: none; }

.fr-tour-mask {
  position: absolute; inset: 0;
  background: rgba(8, 13, 11, .82);
  backdrop-filter: blur(2px);
}

.fr-tour-hole {
  position: fixed;
  border-radius: 14px;
  box-shadow: 0 0 0 9999px rgba(8, 13, 11, .82);
  border: 2px solid var(--yellow);
  pointer-events: none;
  z-index: 9999;
  transition: none;
}

.fr-tour-card {
  position: fixed;
  z-index: 10001;
  width: 340px;
  background: #16211c;
  border: 1px solid rgba(240,169,58,.25);
  border-radius: 14px;
  padding: 1.25rem;
  box-shadow: 0 20px 50px rgba(0,0,0,.6);
  transition: none;
}

.fr-tour-step {
  display: block;
  font-family: var(--font-data); font-size: .65rem;
  letter-spacing: .1em; color: var(--yellow);
  margin-bottom: 6px;
}
.fr-tour-title {
  font-family: var(--font-display); font-weight: 800;
  font-size: 1.05rem; color: var(--white); margin: 0 0 8px;
}
.fr-tour-text {
  font-family: var(--font-body); font-size: .85rem; line-height: 1.5;
  color: rgba(244,247,242,.7); margin: 0;
}
.fr-tour-img {
  width: 100%; border-radius: 10px; margin-top: 12px;
  border: 1px solid rgba(244,247,242,.08);
}
.fr-tour-img[hidden] { display: none; }

.fr-tour-actions {
  display: flex; align-items: center; justify-content: space-between;
  gap: 10px; margin-top: 1.15rem;
}
.fr-tour-skip {
  background: none; border: none; padding: 0;
  font-family: var(--font-body); font-size: .8rem;
  color: rgba(244,247,242,.45); cursor: pointer;
  text-decoration: underline;
}
.fr-tour-skip:hover { color: var(--white); }

.fr-tour-trigger {
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; padding: 6px 10px;
  font-family: var(--font-body); font-size: .8rem;
  color: rgba(244,247,242,.5); cursor: pointer;
  border-radius: 8px; transition: all .15s ease;
}
.fr-tour-trigger:hover { color: var(--yellow); background: rgba(240,169,58,.08); }

body.fr-tour-open .fr-tour-focus {
  position: relative;
  z-index: 9999;
  border-radius: 14px;
}

.fr-week-nav { display: flex; align-items: center; gap: 10px;}
.fr-week-nav strong {
  font-family: var(--font-body); font-weight: 600;
  color: rgba(244,247,242,.75);  text-align: center;
}
.fr-week-arrow {
  display: flex; align-items: center; justify-content: center;
  width: 26px; height: 26px;
  border-radius: 50%;
  background: rgba(244,247,242,.06);
  border: 1px solid rgba(244,247,242,.1);
  color: rgba(244,247,242,.6);
  text-decoration: none;
  cursor: pointer;
  transition: all .15s ease;
}

.fr-week-arrow:hover {
  background: rgba(240,169,58,.14);
  border-color: rgba(240,169,58,.35);
  color: var(--yellow);
}

.fr-week-arrow iconify-icon { font-size: 15px; }

.fr-week-arrow.is-off {
  opacity: .3;
  cursor: pointer;
  pointer-events: auto;
}
.fr-week-arrow.is-off:hover {
  background: rgba(244,247,242,.06);
  border-color: rgba(244,247,242,.1);
  color: rgba(244,247,242,.6);
  opacity: .5;
}
.fr-week-countdown {
  margin-top: 1.25rem;
  padding: 1rem;
  background: rgba(240,169,58,.06);
  border: 1px solid rgba(240,169,58,.2);
  border-radius: 12px;
  text-align: center;
}
.fr-week-countdown[hidden] { display: none; }
.fr-week-cd-label {
  display: block;
  font-family: var(--font-body); font-size: .78rem;
  color: rgba(244,247,242,.5); margin-bottom: 6px;
}
.fr-week-cd-value {
  font-family: var(--font-data); font-weight: 800; font-size: 1.6rem;
  color: var(--yellow); letter-spacing: .05em;
}

.fr-sum-head {
  display: flex; align-items: center; justify-content: space-between;
  padding-bottom: .85rem; margin-bottom: .85rem;
  border-bottom: 1px solid rgba(244,247,242,.08);
}
.fr-sum-title {
  font-family: var(--font-display); font-weight: 800;
  font-size: .95rem; color: var(--white);
}
.fr-sum-spent {
  font-family: var(--font-data); font-size: .7rem;
  color: rgba(244,247,242,.45);
}

.fr-sum-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.fr-fx-right::-webkit-scrollbar { width: 5px; }
.fr-fx-right::-webkit-scrollbar-track { background: transparent; }
.fr-fx-right::-webkit-scrollbar-thumb { background: rgba(244,247,242,.14); border-radius: 3px; }

.fr-sum-row {
  padding: .7rem .8rem;
  background: rgba(244,247,242,.03);
  border: 1px solid rgba(244,247,242,.07);
  border-radius: 10px;
}
.fr-sum-row.is-win  { border-color: rgba(46,189,107,.3); background: rgba(46,189,107,.06); }
.fr-sum-row.is-lose { border-color: rgba(229,72,77,.25); background: rgba(229,72,77,.05); }
.fr-sum-row.is-off  { opacity: .5; }

.fr-sum-main { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.fr-sum-label {
  font-family: var(--font-body); font-size: .78rem;
  color: rgba(244,247,242,.6);
}
.fr-sum-value {
  font-family: var(--font-data); font-weight: 700; font-size: .82rem;
  color: var(--white);
}

.fr-sum-sim, .fr-sum-result {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: 6px; padding-top: 6px;
  border-top: 1px solid rgba(244,247,242,.05);
}
.fr-sum-pts { font-family: var(--font-data); font-size: .68rem; color: rgba(244,247,242,.35); }
.fr-sum-pts .win  { color: var(--green); }
.fr-sum-pts .lose { color: var(--red); }
.fr-sum-actual { font-family: var(--font-body); font-size: .7rem; color: rgba(244,247,242,.5); }
.fr-sum-earned { font-family: var(--font-data); font-weight: 800; font-size: .85rem; }
.is-win  .fr-sum-earned { color: var(--green); }
.is-lose .fr-sum-earned { color: var(--red); }

.fr-switch { position: relative; display: inline-flex; cursor: pointer; }
.fr-switch input { position: absolute; opacity: 0; width: 0; height: 0; }
.fr-switch-track {
  width: 34px; height: 18px; border-radius: 9px;
  background: rgba(229,72,77,.3);
  display: flex; align-items: center; padding: 2px;
  transition: background .15s ease;
}
.fr-switch-thumb {
  width: 14px; height: 14px; border-radius: 50%;
  background: #fff; transition: transform .15s ease;
}
.fr-switch input:checked + .fr-switch-track { background: rgba(46,189,107,.45); }
.fr-switch input:checked + .fr-switch-track .fr-switch-thumb { transform: translateX(16px); }

.fr-sum-total {
  display: flex; align-items: center; justify-content: space-between;
  margin-top: .85rem; padding: .8rem;
  background: rgba(240,169,58,.08);
  border: 1px solid rgba(240,169,58,.25);
  border-radius: 10px;
  font-family: var(--font-body); font-size: .8rem;
  color: rgba(244,247,242,.6);
}
.fr-sum-total strong {
  font-family: var(--font-data); font-weight: 800; font-size: 1.1rem;
  color: var(--yellow);
}
.fr-sum-total.is-final strong { color: var(--green); }

.fr-sum-empty {
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  padding: 2.5rem 1rem; text-align: center;
}
.fr-sum-empty iconify-icon { font-size: 34px; color: rgba(244,247,242,.2); }
.fr-sum-empty p {
  font-family: var(--font-body); font-size: .82rem;
  color: rgba(244,247,242,.4); margin: 0;
}

.fr-sum-divider {
  height: 1px; background: rgba(244,247,242,.08);
  margin: 1.25rem 0;
}

.fr-ms-head {
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-bottom: 1rem;
}
.fr-ms-team img { width: 28px; height: 28px; object-fit: contain; }
.fr-ms-score {
  font-family: var(--font-data); font-weight: 800; font-size: 1.35rem;
  color: var(--white);
}

.fr-ms-row { margin-bottom: .7rem; }
.fr-ms-label {
  display: block; text-align: center;
  font-family: var(--font-body); font-size: .68rem;
  color: rgba(244,247,242,.4); margin-bottom: 4px;
}
.fr-ms-bar-wrap { display: flex; align-items: center; gap: 8px; }
.fr-ms-val {
  font-family: var(--font-data); font-size: .72rem; font-weight: 700;
  color: var(--white); min-width: 34px; text-align: center;
}
.fr-ms-bar {
  flex: 1; height: 5px; border-radius: 3px; overflow: hidden;
  display: flex; background: rgba(244,247,242,.06);
}
.fr-ms-fill.home { background: var(--yellow); }
.fr-ms-fill.away { background: rgba(244,247,242,.35); }

.fr-slot.is-real .fr-slot-jersey { pointer-events: none; }

.fr-slot.is-correct .fr-slot-photo {
  filter: brightness(0.5) saturate(0.6);
}

.fr-slot-tick {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  z-index: 3;
  font-size: 22px;
  color: var(--green);
  filter: drop-shadow(0 1px 3px rgba(0,0,0,.6));
}

.fr-slot.is-correct .fr-slot-jersey {
  position: relative;
}

.fr-slot.is-correct .fr-slot-name {
  background: rgba(46,189,107,.2);
  color: var(--green);
}

.fr-lineup-pending {
  position: absolute; top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  text-align: center;
  font-family: var(--font-body); font-size: .8rem;
  color: rgba(244,247,242,.4);
  padding: 1rem;
  background: rgba(0,0,0,.3);
  border-radius: 10px;
}