:root {
  --red-dark: #4b0000;
  --red: #850000;
  --yellow: #ffe31b;
  --blue: #183db8;
  --blue-light: #4670f0;
  --panel: rgba(2, 5, 9, 0.84);
  --panel-light: rgba(21, 27, 36, 0.9);
}

* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }

body {
  min-height: 100vh;
  overflow-x: hidden;
  color: #fff;
  background: #111;
  font-family: "VT323", "Courier New", monospace;
}

body::before {
  position: fixed;
  inset: -12px;
  z-index: -2;
  content: "";
  background-image: var(--game-background, url("/images/background/back4.jpg"));
  background-position: center;
  background-size: cover;
  filter: blur(2px) saturate(0.75) brightness(0.58);
  transform: scale(1.08);
}

body::after {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  background:
    linear-gradient(rgba(5, 8, 12, 0.18), rgba(5, 8, 12, 0.62)),
    repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.12) 0, rgba(0, 0, 0, 0.12) 1px, transparent 1px, transparent 3px);
}

button, input { font: inherit; }

.game-shell {
  width: min(100%, 1040px);
  min-height: 100vh;
  margin: 0 auto;
  border-inline: 2px solid #151515;
  background: rgba(0, 0, 0, 0.13);
  box-shadow: 0 0 55px rgba(0, 0, 0, 0.82);
}

.system-bar {
  height: 34px;
  border-block: 2px solid #111;
  background: linear-gradient(#999, #535353);
  box-shadow: inset 0 1px #d8d8d8;
}

.version {
  display: inline-flex;
  height: 30px;
  margin-left: 7px;
  padding: 0 12px;
  align-items: center;
  border: 2px solid #181818;
  color: #111;
  background: linear-gradient(#aaa, #626262);
  font-size: 21px;
  line-height: 1;
  box-shadow: inset 1px 1px #ddd, 2px 2px 0 rgba(0, 0, 0, 0.45);
}

.system-date {
  display: flex;
  padding-right: 8px;
  align-items: center;
  justify-content: space-between;
  color: #111;
  font-size: 20px;
}

.title-bar {
  display: flex;
  min-height: 82px;
  padding: 14px 18px;
  align-items: center;
  justify-content: center;
  border-bottom: 4px solid #2b0000;
  background: linear-gradient(90deg, var(--red-dark), var(--red), var(--red-dark));
  text-align: center;
  box-shadow: inset 0 2px #c32121, inset 0 -2px #240000;
}

.title-bar h1 {
  margin: 0;
  color: var(--yellow);
  font-family: "Press Start 2P", "Courier New", monospace;
  font-size: clamp(20px, 4vw, 38px);
  line-height: 1.35;
  letter-spacing: 1px;
  text-shadow: 4px 4px 0 #4a0000, 0 0 8px rgba(255, 227, 27, 0.24);
}

.team-themed-title {
  color: var(--team-header-text);
  background: var(--team-header-bg);
  box-shadow: inset 0 2px rgba(255, 255, 255, .36), inset 0 -3px rgba(0, 0, 0, .42);
}

.team-themed-title h1,
.player-heading.team-themed-title h1,
.player-heading.team-themed-title > span {
  color: var(--team-header-text);
  text-shadow: 3px 3px 0 rgba(0, 0, 0, .48);
}

.home-screen,
.team-screen,
.season-screen,
.fixture-screen,
.squad-screen,
.player-screen,
.save-screen {
  display: flex;
  min-height: calc(100vh - 116px);
  padding: 40px 34px 32px;
  flex-direction: column;
  align-items: center;
}

.game-mark {
  display: grid;
  width: 104px;
  height: 104px;
  margin-bottom: 15px;
  place-items: center;
  border: 5px double #fff;
  border-radius: 50%;
  color: #fff;
  background: linear-gradient(135deg, #d91d2b 0 46%, #fff 46% 54%, #d91d2b 54%);
  font-family: "Press Start 2P", monospace;
  font-size: 31px;
  text-shadow: 3px 3px 0 #650000;
  box-shadow: 5px 6px 0 rgba(0, 0, 0, 0.5);
}

.home-league-logo {
  width: 154px;
  height: 102px;
  margin-bottom: 18px;
  border: 3px solid #111;
  object-fit: cover;
  object-position: center;
  background: #fff;
  box-shadow: 5px 6px 0 rgba(0, 0, 0, 0.55), inset 0 0 0 2px #aaa;
}

.home-screen h2 {
  margin-bottom: 12px;
  color: var(--yellow);
  font-family: "Press Start 2P", "Courier New", monospace;
  font-size: clamp(23px, 3.7vw, 38px);
  line-height: 1.35;
}

.home-tagline {
  margin: 0 0 25px;
  color: #fff;
  font-size: clamp(23px, 3vw, 31px);
  line-height: 1.05;
  text-align: center;
  text-shadow: 3px 3px 0 #000, 0 0 9px #000;
}

h2 {
  margin: 0 0 44px;
  font-size: clamp(36px, 6vw, 58px);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-shadow: 3px 3px 0 #000, 0 0 12px #000;
}

.main-menu {
  display: grid;
  width: min(100%, 680px);
  grid-template-columns: repeat(2, 1fr);
  border-top: 2px solid var(--blue);
  border-left: 2px solid var(--blue);
  box-shadow: 9px 10px 0 rgba(0, 0, 0, 0.28);
}

.menu-option {
  display: flex;
  min-height: 112px;
  padding: 24px 18px;
  align-items: center;
  justify-content: center;
  border: 0;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  color: #fff;
  background: var(--panel);
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-shadow: 3px 3px 0 #000;
  cursor: pointer;
}

.menu-option-primary {
  min-height: 100px;
  grid-column: 1 / -1;
  border-color: var(--yellow);
  color: #140000;
  background: linear-gradient(#fff238, #f3bd00);
  font-family: "Press Start 2P", "Courier New", monospace;
  font-size: clamp(20px, 2.8vw, 30px);
  text-shadow: 2px 2px 0 rgba(255, 255, 255, 0.4);
  animation: new-game-glow 1.8s steps(2, end) infinite;
}

.menu-option-primary:hover,
.menu-option-primary:focus-visible {
  color: #fff;
  background: #8b0000;
  text-shadow: 3px 3px 0 #260000;
}

@keyframes new-game-glow {
  0%, 100% { box-shadow: inset 0 0 0 0 #fff; }
  50% { box-shadow: inset 0 0 0 4px #fff; }
}

.home-features {
  margin: 21px 0 0;
  padding: 8px 14px;
  border-block: 1px solid rgba(255, 227, 27, 0.58);
  color: var(--yellow);
  background: rgba(0, 0, 0, 0.68);
  font-size: clamp(17px, 2.4vw, 23px);
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

@media (prefers-reduced-motion: reduce) {
  .menu-option-primary { animation: none; }
}

.menu-option:hover,
.menu-option:focus-visible {
  z-index: 1;
  outline: 3px solid var(--yellow);
  outline-offset: -5px;
  color: var(--yellow);
  background: rgba(85, 0, 0, 0.9);
}

.status {
  min-height: 31px;
  margin: 24px 0 0;
  color: #fff7a8;
  font-size: 23px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.footer {
  margin-top: auto;
  padding-top: 28px;
  color: rgba(255, 255, 255, 0.76);
  font-size: 20px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.team-screen { align-items: stretch; }
.team-screen h2 { margin-bottom: 10px; }

.screen-intro {
  margin: 0 0 26px;
  color: #eee;
  font-size: 25px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

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

.league-panel {
  border: 2px solid var(--blue);
  background: var(--panel);
  box-shadow: 7px 8px 0 rgba(0, 0, 0, 0.35);
}

.league-panel h3 {
  margin: 0;
  padding: 13px 18px;
  border-bottom: 2px solid var(--blue);
  color: var(--yellow);
  background: rgba(80, 0, 0, 0.9);
  font-family: "Press Start 2P", monospace;
  font-size: 17px;
  line-height: 1.4;
  text-align: center;
}

.team-list {
  display: grid;
  margin: 0;
  padding: 8px;
  gap: 4px;
  list-style: none;
}

.team-option { display: block; }

.team-option > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.team-row {
  display: flex;
  min-height: 49px;
  padding: 5px 10px;
  align-items: center;
  gap: 10px;
  border: 1px solid transparent;
  color: #fff;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
  text-shadow: 2px 2px 0 #000;
}

.team-badge {
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  object-fit: contain;
  filter: drop-shadow(2px 2px 0 rgba(0, 0, 0, 0.6));
}

.team-placeholder {
  display: grid;
  place-items: center;
  border: 2px solid var(--blue-light);
  border-radius: 50% 50% 45% 45%;
  color: var(--blue-light);
  font-family: "Press Start 2P", monospace;
  font-size: 13px;
  text-shadow: none;
}

.team-name {
  display: block;
}

.team-option > input:checked + .team-row,
.team-option > input:focus-visible + .team-row,
.team-row:hover {
  border-color: var(--yellow);
  color: var(--yellow);
  background: rgba(113, 0, 0, 0.78);
}

.team-option > input:checked + .team-row .team-placeholder { border-color: var(--yellow); color: var(--yellow); }

.form-actions {
  display: flex;
  margin-top: 24px;
  gap: 14px;
  justify-content: center;
}

.action-button {
  min-width: 180px;
  padding: 12px 18px;
  border: 2px solid var(--blue);
  color: #fff;
  background: var(--panel-light);
  font-size: 25px;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  text-shadow: 2px 2px 0 #000;
}

.action-button:hover,
.action-button:focus-visible {
  outline: 2px solid var(--yellow);
  outline-offset: -5px;
  color: var(--yellow);
  background: #650000;
}

.confirmation {
  margin: 0 0 22px;
  padding: 12px 18px;
  border: 2px solid var(--yellow);
  color: var(--yellow);
  background: rgba(24, 44, 18, 0.9);
  font-size: 25px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.date-bar h1 {
  font-size: clamp(17px, 3vw, 31px);
}

.season-screen {
  align-items: center;
}

.season-screen h2 {
  margin-bottom: 12px;
}

.club-heading {
  margin: 0 0 42px;
  color: #fff;
  font-size: 27px;
  text-align: center;
  text-shadow: 2px 2px 0 #000;
}

.game-menu {
  display: grid;
  width: min(100%, 880px);
  grid-template-columns: repeat(12, 1fr);
  border-top: 2px solid var(--blue);
  border-left: 2px solid var(--blue);
  box-shadow: 9px 10px 0 rgba(0, 0, 0, 0.3);
}

.game-menu-form {
  display: contents;
}

.game-menu-option {
  display: flex;
  min-height: 158px;
  padding: 18px 14px;
  grid-column: span 3;
  align-items: center;
  justify-content: center;
  border: 0;
  border-right: 2px solid var(--blue);
  border-bottom: 2px solid var(--blue);
  color: #fff;
  background: var(--panel);
  font-size: clamp(23px, 2.5vw, 31px);
  line-height: 0.9;
  text-align: center;
  text-decoration: none;
  text-shadow: 3px 3px 0 #000;
  cursor: pointer;
}

.game-menu-option.wide-option {
  grid-column: span 4;
}

.game-menu-form + .game-menu-option,
.game-menu-form ~ .game-menu-option {
  position: relative;
}

.game-menu-option:hover,
.game-menu-option:focus-visible {
  z-index: 1;
  outline: 3px solid var(--yellow);
  outline-offset: -5px;
  color: var(--yellow);
  background: rgba(85, 0, 0, 0.9);
}

.primary-option {
  color: var(--yellow);
  background: rgba(68, 0, 0, 0.9);
}

.fixture-screen {
  align-items: stretch;
}

.fixture-screen h2 {
  margin-bottom: 10px;
}

.fixture-table {
  display: grid;
  gap: 7px;
}

.fixture-row {
  display: grid;
  min-height: 78px;
  grid-template-columns: 220px 1fr;
  border: 1px solid var(--blue);
  background: var(--panel);
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.28);
}

.friendly-row {
  border-color: var(--yellow);
  background: rgba(66, 42, 0, 0.86);
}

.fixture-meta {
  display: flex;
  padding: 9px 14px;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid var(--blue);
  font-size: 20px;
}

.fixture-meta strong {
  color: var(--yellow);
  font-weight: 400;
  font-size: 23px;
}

.fixture-clubs {
  display: grid;
  padding: 7px 14px;
  grid-template-columns: 1fr 38px 1fr;
  align-items: center;
  gap: 8px;
  font-size: 23px;
}

.fixture-club {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 9px;
  color: #fff;
  text-decoration: none;
}

.fixture-club:hover,
.fixture-club:focus-visible { color: #72dcff; outline: none; }

.away-club {
  flex-direction: row-reverse;
  text-align: right;
}

.versus {
  color: var(--yellow);
  text-align: center;
}

.fixture-result-link {
  text-decoration: none;
}

.fixture-result-link:hover,
.fixture-result-link:focus-visible {
  color: #fff;
}

.fixture-badge {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  object-fit: contain;
}

.fixture-placeholder {
  display: grid;
  place-items: center;
  border: 2px solid var(--blue-light);
  border-radius: 50%;
  color: var(--blue-light);
  font-family: "Press Start 2P", monospace;
  font-size: 11px;
}

.standings-screen {
  align-items: stretch;
  padding-top: 18px;
}

.standings-screen h2 {
  margin-bottom: 16px;
}

.league-switch {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border: 2px solid var(--blue);
  border-bottom: 0;
}

.league-switch a {
  padding: 10px;
  border-right: 2px solid var(--blue);
  color: #fff;
  background: linear-gradient(#5c5c5c, #292929);
  font-size: 23px;
  text-align: center;
  text-decoration: none;
}

.league-switch a:last-child { border-right: 0; }
.league-switch a.active { color: var(--yellow); background: #3b0074; box-shadow: inset 0 -3px var(--yellow); }
.league-switch a:hover,
.league-switch a:focus-visible { color: #72dcff; outline: none; }

.standings-table-wrap {
  overflow-x: auto;
  border: 2px solid var(--blue);
  box-shadow: 7px 7px 0 rgba(0, 0, 0, .35);
}

.standings-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  color: #fff;
  background: rgba(2, 5, 9, .9);
  font-size: 21px;
  text-align: center;
}

.standings-table th {
  padding: 10px 7px;
  border-right: 1px solid #25105b;
  border-bottom: 2px solid var(--yellow);
  color: var(--yellow);
  background: #3b0074;
  font-weight: 400;
}

.standings-table td {
  height: 45px;
  padding: 4px 7px;
  border-right: 1px solid rgba(255, 255, 255, .12);
  border-bottom: 1px solid rgba(255, 255, 255, .15);
}

.standings-table tbody tr:nth-child(even) { background: rgba(25, 40, 76, .5); }
.standings-table .managed-team-row { color: var(--yellow); background: rgba(93, 0, 0, .75); }
.standings-table tbody tr:hover { background: rgba(18, 70, 117, .8); }
.standings-table .points-cell { color: var(--yellow); font-size: 25px; }

.standings-club-cell { text-align: left; }
.standings-club-cell a {
  display: flex;
  align-items: center;
  gap: 10px;
  color: inherit;
  text-decoration: none;
}
.standings-club-cell a:hover,
.standings-club-cell a:focus-visible { color: #6dd7ff; outline: none; }
.standings-club-cell img { width: 31px; height: 31px; flex: 0 0 31px; object-fit: contain; }

.squad-title {
  min-height: 74px;
  gap: 15px;
}

.squad-title img,
.player-heading img {
  width: 54px;
  height: 54px;
  object-fit: contain;
}

.squad-title h1 { font-size: clamp(16px, 3vw, 27px); }
.squad-screen { padding-top: 16px; align-items: stretch; }

.retro-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 2px solid #111;
  border-left: 2px solid #111;
}

.retro-tabs > * {
  display: grid;
  min-height: 54px;
  padding: 7px;
  place-items: center;
  border-right: 2px solid #111;
  border-bottom: 2px solid #111;
  color: #eee;
  background: linear-gradient(#686868, #343434);
  font-size: 19px;
  line-height: .85;
  text-align: center;
  text-shadow: 2px 2px #111;
  text-decoration: none;
}

.retro-tabs > *.active {
  color: var(--yellow);
  background: linear-gradient(#4f006c, #250036);
  box-shadow: inset 0 -3px var(--yellow);
}

.squad-columns {
  display: grid;
  padding: 20px 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  border: 2px solid #111;
  border-top: 0;
  background: rgba(2, 5, 9, .83);
}

.club-statistics {
  margin: 24px auto;
  width: min(760px, calc(100% - 24px));
  border: 2px solid var(--blue);
  background: rgba(0, 0, 0, .82);
  box-shadow: 6px 6px 0 rgba(0, 0, 0, .55);
}

.club-statistics h2 {
  margin: 0;
  padding: 16px;
  color: var(--yellow);
  background: linear-gradient(#4f006c, #250036);
  border-bottom: 2px solid var(--blue);
  font-size: clamp(18px, 3vw, 28px);
  text-align: center;
}

.club-statistics dl { margin: 0; }

.club-statistics dl div {
  display: grid;
  grid-template-columns: minmax(220px, 42%) 1fr;
  border-bottom: 1px solid #33405f;
}

.club-statistics dl div:last-child { border-bottom: 0; }

.club-statistics dt,
.club-statistics dd {
  margin: 0;
  padding: 13px 16px;
  font-size: clamp(18px, 2.5vw, 24px);
}

.club-statistics dt {
  color: var(--cyan);
  border-right: 1px solid #33405f;
}

.club-statistics dd { color: #fff; }

.club-statistics-empty { margin-top: 24px; }

.squad-list { margin: 0; padding: 0; list-style: none; }
.squad-list li { border-bottom: 1px solid rgba(255, 255, 255, .08); }

.squad-list a {
  display: grid;
  min-height: 39px;
  grid-template-columns: 34px 1fr 46px;
  align-items: center;
  color: #fff;
  font-size: 23px;
  text-decoration: none;
}

.squad-list a:hover,
.squad-list a:focus-visible { color: var(--yellow); background: rgba(94, 0, 0, .75); outline: 1px solid var(--blue-light); }

.shirt-number {
  display: grid;
  height: 30px;
  place-items: center;
  border: 2px solid #07174c;
  color: #6dd7ff;
  background: #052aa0;
  font-size: 18px;
  text-shadow: 1px 1px #000;
}

.squad-player-name { padding-left: 9px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.player-heading h1 {
  font-family: "Press Start 2P", "Courier New", monospace;
  font-weight: 400;
}
.position { color: var(--yellow); text-align: center; }
.position-por { color: #ffeb24; }
.position-def { color: #6fd4ff; }
.position-med { color: #7dff8c; }
.position-del { color: #ff9b45; }

.squad-footer {
  display: grid;
  margin-top: auto;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding-top: 16px;
}

.squad-footer .action-button { width: 100%; }
.squad-transfers { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.squad-transfer-panel { border: 2px solid var(--blue); background: rgba(2, 5, 9, .92); box-shadow: 5px 5px 0 rgba(0, 0, 0, .38); }
.squad-transfer-panel h2 { margin: 0; padding: 12px; color: var(--yellow); background: #31006d; font-size: 31px; text-align: center; }
.departures-panel h2 { background: #650000; }
.squad-transfer-head, .squad-transfer-row { display: grid; min-height: 48px; padding: 8px 10px; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) 120px; align-items: center; gap: 8px; border-top: 1px solid rgba(255, 255, 255, .16); }
.squad-transfer-head { min-height: 38px; color: #bbb; background: rgba(255, 255, 255, .08); font-size: 18px; }
.squad-transfer-row { font-size: 21px; }
.squad-transfer-row:nth-child(odd) { background: rgba(30, 45, 77, .4); }
.squad-transfer-row a { overflow: hidden; color: #fff; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.squad-transfer-row a:hover { color: var(--yellow); }
.squad-transfer-row > span { overflow: hidden; color: #6ef0ec; text-overflow: ellipsis; white-space: nowrap; }
.squad-transfer-row strong { color: var(--yellow); font-weight: 400; text-align: right; }
.transfer-empty { min-height: 130px; margin: 0; padding: 30px 18px; color: #bbb; font-size: 23px; text-align: center; }

.empty-squad {
  display: grid;
  min-height: 360px;
  padding: 40px;
  place-content: center;
  gap: 10px;
  border: 2px solid var(--blue);
  background: var(--panel);
  font-size: 26px;
  text-align: center;
}

.empty-squad strong { color: var(--yellow); font-size: 38px; font-weight: 400; }

.player-heading {
  display: grid;
  min-height: 100px;
  padding: 12px 24px;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  border-bottom: 4px solid var(--blue);
  background: var(--team-header-bg, rgba(0, 0, 0, .9));
}

.player-heading h1 { margin: 0; font-size: clamp(18px, 2.7vw, 30px); font-weight: 400; line-height: 1.4; text-align: center; text-shadow: 3px 3px #000; }
.player-team-name { color: var(--yellow); font-size: 23px; text-align: right; }
.player-logo-slot {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 2px solid currentColor;
  border-radius: 50%;
  font-family: "Press Start 2P", monospace;
  font-size: 12px;
}
.player-logo-slot:has(img) { border: 0; }
.player-screen { padding-top: 10px; align-items: stretch; }
.player-tabs { grid-template-columns: repeat(3, 1fr); border-color: var(--blue); }
.player-tabs > * { min-height: 48px; border-color: var(--blue); background: rgba(36, 0, 90, .92); }

.player-summary {
  display: flex;
  min-height: 70px;
  padding: 12px 24px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 2px solid rgba(255, 255, 255, .25);
  color: var(--yellow);
  background: rgba(91, 22, 13, .82);
  font-size: 29px;
}

.player-summary strong { font-weight: 400; }
.player-summary span { color: #71f8f0; }

.player-profile-grid {
  display: grid;
  min-height: 360px;
  grid-template-columns: 1.25fr .75fr;
  background: rgba(2, 5, 9, .77);
}

.attribute-panel,
.player-data-panel { padding: 20px 25px; }
.attribute-panel { border-right: 2px solid rgba(255, 255, 255, .25); }
.attribute-panel h2,
.player-data-panel h2 { margin: 0 0 22px; color: #fff; font-size: 34px; text-align: left; }

.attribute-row {
  display: grid;
  min-height: 57px;
  grid-template-columns: 145px 45px 1fr;
  align-items: center;
  gap: 12px;
  border-bottom: 1px solid rgba(255, 255, 255, .19);
  font-size: 27px;
}

.rating { color: var(--yellow); font-weight: 400; text-align: center; }
.rating-good { color: #ff9b22; }
.rating-elite { color: #ff4d2e; }
.rating-bar { height: 15px; border: 1px solid #555; background: rgba(0, 0, 0, .65); }
.rating-bar i { display: block; height: 100%; background: linear-gradient(90deg, #1532aa, #ffe31b, #ff4925); }

.player-data-panel dl { margin: 0; }
.player-data-panel dl div { display: grid; min-height: 62px; grid-template-columns: 1fr; border-bottom: 1px solid rgba(255, 255, 255, .2); }
.player-data-panel dt { color: #bbb; font-size: 21px; }
.player-data-panel dd { margin: 0; color: var(--yellow); font-size: 28px; }

.player-position-banner {
  padding: 9px;
  border-block: 2px solid rgba(255, 255, 255, .28);
  color: #71f8f0;
  background: rgba(0, 0, 0, .78);
  font-size: 30px;
  text-align: center;
}

.player-history {
  min-height: 430px;
  padding: 30px;
  background: rgba(2, 5, 9, .82);
}

.player-history h2 {
  margin: 0 0 24px;
  color: var(--yellow);
  font-size: 34px;
  text-align: left;
}

.player-history table {
  width: 100%;
  border-collapse: collapse;
  border: 2px solid var(--blue);
  font-size: 28px;
  text-align: center;
}

.player-history th,
.player-history td {
  height: 62px;
  padding: 10px 18px;
  border: 1px solid rgba(255, 255, 255, .22);
}

.player-history th { color: #fff; background: #31006d; }
.player-history td { color: #6ef0ec; background: rgba(0, 0, 0, .72); }
.player-history .history-total td { color: var(--yellow); background: #31006d; font-weight: 700; }

.player-contract { padding: 22px; border: 2px solid var(--blue); border-top: 0; background: rgba(2, 5, 9, .88); }
.player-contract h2 { margin: 0 0 18px; color: var(--yellow); font-size: 34px; }
.player-contract dl { margin: 0 0 22px; border: 1px solid rgba(255, 255, 255, .22); }
.player-contract dl div { display: grid; min-height: 48px; padding: 8px 14px; grid-template-columns: 1fr 1fr; align-items: center; border-bottom: 1px solid rgba(255, 255, 255, .16); font-size: 23px; }
.player-contract dl div:last-child { border-bottom: 0; }
.player-contract dd { margin: 0; color: #72dcff; text-align: right; }
.contract-status { margin: 0; padding: 20px; border: 2px solid var(--yellow); color: var(--yellow); background: rgba(73, 48, 0, .82); font-size: 27px; text-align: center; }
.contract-status.owned { border-color: #55db85; color: #55db85; background: rgba(0, 65, 35, .72); }
.contract-error { border-color: #ff4d4d; color: #ff8b8b; background: rgba(95, 0, 0, .85); }
.offer-trigger { display: block; width: min(100%, 420px); margin: 18px auto 0; }
.offer-trigger[hidden] { display: none; }
.transfer-offer-form { display: grid; width: min(100%, 650px); margin: 18px auto 0; gap: 14px; text-align: center; }
.transfer-offer-form[hidden] { display: none; }
.transfer-offer-form label { color: var(--yellow); font-size: 29px; }
.transfer-offer-form input { width: 100%; padding: 12px; border: 3px solid var(--blue); color: #fff; background: #080808; font: 27px "VT323", monospace; text-align: center; }
.transfer-news-screen { align-items: stretch; padding-top: 25px; }
.transfer-news-message { display: grid; min-height: 150px; margin: 0 0 15px; padding: 28px; place-items: center; border: 3px solid var(--yellow); color: var(--yellow); background: rgba(59, 0, 116, .9); font-size: clamp(27px, 4vw, 40px); line-height: 1.2; text-align: center; text-shadow: 2px 2px #000; }
.sale-screen { min-height: calc(100vh - 116px); padding: 24px; background: rgba(0, 0, 0, .18); }
.sale-intro { margin-bottom: 18px; padding: 16px; border: 2px solid var(--blue); background: rgba(2, 5, 9, .9); text-align: center; }
.sale-intro h2, .sale-confirmation h2 { margin: 0 0 12px; color: var(--yellow); font-size: clamp(28px, 4vw, 42px); }
.sale-intro p { margin: 4px 0; font-size: 23px; }
.sale-intro strong { color: #6ef0ec; }
.sale-offers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.sale-offer-card { display: grid; min-height: 250px; padding: 16px; place-items: center; gap: 8px; border: 2px solid var(--blue); background: rgba(2, 5, 9, .93); text-align: center; box-shadow: 5px 5px 0 rgba(0, 0, 0, .4); }
.sale-club-logo { display: grid; width: 62px; height: 62px; place-items: center; color: var(--yellow); border: 2px solid #777; background: #111; font-size: 21px; }
.sale-club-logo img { width: 54px; height: 54px; object-fit: contain; }
.sale-offer-card h3 { margin: 0; color: #fff; font-size: 28px; font-weight: 400; line-height: .95; }
.sale-offer-card > strong { color: var(--yellow); font-size: 31px; font-weight: 400; }
.sale-competition { color: #6ef0ec; font-size: 21px; }
.sale-offer-card form, .sale-offer-card .action-button { width: 100%; }
.sale-decline-form { width: min(100%, 520px); margin: 18px auto 0; }
.sale-decline-form .action-button { width: 100%; }
.sale-confirmation { width: min(100%, 720px); margin: 40px auto; padding: 30px; border: 3px solid #55db85; color: #fff; background: rgba(0, 48, 29, .92); font-size: 28px; text-align: center; }
.sale-confirmation strong { color: var(--yellow); font-weight: 400; }
.sale-confirmation .action-button { display: block; margin-top: 24px; }

.hall-shell { width: min(96vw, 1380px); }
.hall-screen { padding: 24px 28px 30px; align-items: stretch; }
.hall-screen .screen-intro { margin: 0 0 18px; text-align: center; }
.hall-table-wrap { overflow-x: auto; border: 2px solid var(--blue); background: rgba(2, 5, 9, .88); }
.hall-table { width: 100%; min-width: 980px; border-collapse: collapse; font-size: 23px; }
.hall-table th { padding: 13px 10px; border-right: 1px solid #5b2a91; color: var(--yellow); background: #31006d; text-align: center; }
.hall-table td { padding: 12px 13px; border-top: 1px solid rgba(255,255,255,.16); border-right: 1px solid rgba(255,255,255,.1); color: #eee; background: rgba(0,0,0,.58); vertical-align: top; }
.hall-table td:nth-child(1),
.hall-table td:nth-child(3),
.hall-table td:nth-child(4) { text-align: center; }
.hall-table td:nth-child(1) { width: 74px; color: #6ef0ec; font-size: 30px; }
.hall-table td:nth-child(2) { width: 250px; color: #fff; }
.hall-table td:nth-child(3) { width: 110px; }
.hall-table td:nth-child(4) { width: 140px; color: var(--yellow); font-size: 30px; }
.hall-table td:nth-child(5) { line-height: 1.25; }
.hall-table .hall-rank-1 td { background: rgba(100, 72, 0, .78); }
.hall-table .hall-rank-2 td { background: rgba(66, 66, 76, .76); }
.hall-table .hall-rank-3 td { background: rgba(91, 48, 27, .76); }

.player-navigation {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  padding-top: 12px;
}

.player-navigation .action-button { width: 100%; }

.save-screen { align-items: stretch; }
.save-screen > h2 { margin-bottom: 24px; }

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

.save-card {
  display: flex;
  min-height: 265px;
  padding: 18px;
  flex-direction: column;
  gap: 7px;
  border: 2px solid var(--blue);
  background: var(--panel);
  box-shadow: 5px 6px 0 rgba(0, 0, 0, .34);
  font-size: 22px;
}

.save-card h3 {
  margin: 0 0 7px;
  color: var(--yellow);
  font-family: "Press Start 2P", monospace;
  font-size: 17px;
  line-height: 1.35;
}

.save-card > strong { font-size: 29px; font-weight: 400; }
.save-updated, .autosave-note { color: #b9c5d7; font-size: 19px; }
.recovery-label { margin-top: auto; color: #cdd6e5; font-size: 18px; text-transform: uppercase; }

.recovery-code {
  color: #70f4ef;
  font-family: "Press Start 2P", monospace;
  font-size: 27px;
  letter-spacing: 5px;
  text-shadow: 2px 2px #000;
}

.save-card form { margin-top: auto; }
.save-card-button,
.load-card button {
  width: 100%;
  padding: 9px 12px;
  border: 2px solid var(--blue-light);
  color: #fff;
  background: #323945;
  font-size: 23px;
  cursor: pointer;
}

.save-card-button:hover,
.load-card button:hover { color: var(--yellow); background: #650000; }
.autosave-card { border-color: var(--yellow); background: rgba(45, 36, 4, .86); }
.load-screen { gap: 22px; }
.load-list { display: grid; gap: 10px; }

.load-card {
  display: grid;
  min-height: 92px;
  padding: 11px 14px;
  grid-template-columns: 62px 1fr 130px;
  align-items: center;
  gap: 14px;
  border: 2px solid var(--blue);
  background: var(--panel);
}

.load-card img { width: 58px; height: 58px; object-fit: contain; }
.load-card strong { display: block; color: var(--yellow); font-size: 27px; font-weight: 400; }
.load-card small { display: block; color: #ddd; font-size: 21px; }
.recovery-panel { padding: 20px; border: 2px solid var(--yellow); background: rgba(49, 35, 0, .87); text-align: center; }
.recovery-panel h2 { margin: 0 0 8px; font-size: 37px; }
.recovery-panel p { margin: 0 0 14px; font-size: 23px; }
.recovery-panel form { display: flex; justify-content: center; gap: 10px; }

.recovery-panel input {
  width: 230px;
  padding: 10px;
  border: 3px solid var(--blue-light);
  color: var(--yellow);
  background: #090b10;
  font-family: "Press Start 2P", monospace;
  font-size: 23px;
  letter-spacing: 4px;
  text-align: center;
  text-transform: uppercase;
}

.error-message { border-color: #ff5648; background: rgba(91, 0, 0, .9); }

.search-shell { width: min(100%, 1220px); }
.search-screen { padding: 16px 12px 28px; }

.player-filters {
  display: grid;
  grid-template-columns: 1.4fr repeat(3, 1fr) 110px 90px;
  border: 2px solid #111;
  background: rgba(45, 49, 55, .94);
}

.player-filters label { display: flex; min-width: 0; flex-direction: column; border-right: 1px solid #111; }
.player-filters label span { padding: 4px 8px; color: #ddd; font-size: 18px; text-align: center; }
.player-filters input,
.player-filters select {
  min-width: 0;
  height: 43px;
  padding: 5px 8px;
  border: 2px solid #777;
  color: #fff;
  background: #191c21;
  font-size: 21px;
}

.player-filters button,
.player-filters > a {
  display: grid;
  min-height: 67px;
  padding: 7px;
  place-items: center;
  border: 0;
  border-right: 1px solid #111;
  color: #fff;
  background: linear-gradient(#686868, #303030);
  font-size: 21px;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}

.player-filters button:hover,
.player-filters > a:hover { color: var(--yellow); }
.search-summary { margin: 9px 0; color: #75f4ef; font-size: 21px; text-align: center; text-shadow: 2px 2px #000; }
.player-results-wrap { overflow-x: auto; border: 2px solid var(--blue); background: rgba(2, 5, 9, .86); }
.player-results { width: 100%; border-collapse: collapse; font-size: 20px; white-space: nowrap; }
.player-results th { padding: 5px 7px; color: var(--yellow); background: rgba(48, 48, 48, .96); font-weight: 400; text-align: left; }
.player-results td { height: 34px; padding: 3px 7px; border-top: 1px solid rgba(255, 255, 255, .08); }
.player-results tbody tr:hover { background: rgba(80, 0, 0, .72); }
.player-results td:first-child { min-width: 185px; }
.player-results td:nth-child(2) { min-width: 155px; color: #69efeb; }
.player-results td:nth-child(3) { color: #71aefe; }
.player-results td:not(:first-child):not(:nth-child(2)):not(:nth-child(3)) { text-align: center; }
.player-results a { color: #fff; text-decoration: none; }
.player-results .search-club-link { color: #69efeb; }
.player-results a:hover { color: var(--yellow); }
.player-results .search-value { color: #ff941f; text-align: right; }
.player-results .no-results { height: 150px; color: #ddd; text-align: center; }

.pagination {
  display: grid;
  margin-top: 10px;
  grid-template-columns: 150px 1fr 150px;
  align-items: center;
  gap: 8px;
}

.pagination a,
.pagination strong { padding: 9px; border: 2px solid var(--blue); color: #fff; background: var(--panel-light); font-size: 21px; font-weight: 400; text-align: center; text-decoration: none; }
.pagination a:hover { color: var(--yellow); background: #650000; }

.lineup-shell { width: min(100%, 1220px); }
.lineup-screen { padding: 12px 14px 25px; }
.lineup-confirmation { margin: 10px 0; }
.lineup-toolbar { display: grid; min-height: 58px; grid-template-columns: 180px 190px 100px 1fr; border: 2px solid #111; background: #4a4d52; }
.lineup-toolbar label { display: flex; padding: 5px 8px; flex-direction: column; font-size: 17px; }
.lineup-toolbar select { height: 27px; color: #fff; background: #171a20; font-size: 20px; }
.lineup-toolbar button { border: 0; border-left: 2px solid #111; color: #fff; background: linear-gradient(#777, #363636); font-size: 20px; cursor: pointer; }
.lineup-toolbar button:hover { color: var(--yellow); }
#lineup-status { display: grid; padding: 8px 12px; place-items: center start; color: #dffcff; font-size: 19px; }
.lineup-layout { display: grid; min-height: 660px; grid-template-columns: 39% 61%; border: 2px solid #111; border-top: 0; }
.lineup-roster { min-width: 0; background: rgba(2, 5, 9, .87); border-right: 3px solid #111; }
.lineup-roster h2, .bench-panel h2 { margin: 0; padding: 7px 10px; color: var(--yellow); background: rgba(82, 0, 0, .86); font-size: 25px; text-align: left; }
.lineup-player-list { max-height: 614px; overflow-y: auto; }
.lineup-player { display: grid; width: 100%; min-height: 36px; padding: 3px 8px; grid-template-columns: 1fr 44px 42px; align-items: center; border: 0; border-bottom: 1px solid rgba(255,255,255,.09); color: #fff; background: transparent; font-size: 20px; text-align: left; cursor: pointer; }
.lineup-player em { font-style: normal; }
.lineup-player strong { color: #6ef0ec; font-weight: 400; text-align: right; }
.lineup-player:hover, .lineup-player.selected { color: var(--yellow); background: rgba(91, 0, 0, .8); outline: 1px solid var(--blue-light); }
.lineup-player.assigned { opacity: .5; }
.lineup-player.selected { opacity: 1; }
.lineup-board { display: grid; min-width: 0; grid-template-rows: 1fr auto; background: #075c16; }
.football-pitch { position: relative; min-height: 540px; overflow: hidden; background-color: #075c16; background-image: linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.3) 49.7% 50.3%, transparent 50.3%), radial-gradient(circle at center, transparent 0 74px, rgba(255,255,255,.3) 75px 77px, transparent 78px), repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 72px, rgba(0,0,0,.035) 72px 144px); border: 2px solid rgba(255,255,255,.45); }
.football-pitch::before, .football-pitch::after { position: absolute; left: 30%; width: 40%; height: 17%; content: ""; border: 2px solid rgba(255,255,255,.32); }
.football-pitch::before { top: -2px; }
.football-pitch::after { bottom: -2px; }
.pitch-slot { display: grid; position: absolute; width: 116px; min-height: 49px; padding: 3px 5px; place-items: center; border: 1px dashed #d8ff37; color: #fff; background: rgba(0, 45, 6, .78); font-size: 17px; line-height: .9; transform: translate(-50%, -50%); cursor: pointer; text-shadow: 2px 2px #000; }
.pitch-slot strong { color: var(--yellow); font-size: 20px; font-weight: 400; }
.pitch-slot span { color: #d9e8d9; font-size: 14px; }
.pitch-slot.out-of-position { border-color: #ff8b20; background: rgba(99, 31, 0, .85); }
.bench-panel { background: rgba(2, 5, 9, .9); border-top: 3px solid #111; }
.bench-slots { display: grid; padding: 8px; grid-template-columns: repeat(7, 1fr); gap: 5px; }
.bench-slots .pitch-slot { position: static; width: auto; min-width: 0; transform: none; }
.lineup-actions { display: grid; margin-top: 10px; grid-template-columns: 1fr 1fr; gap: 8px; }
.lineup-actions .action-button { width: 100%; }

.match-shell { width: min(100%, 1120px); }
.match-scoreboard { display: grid; min-height: 112px; grid-template-columns: 1fr 205px 1fr; border-bottom: 4px solid #111; background: #060606; }
.match-scoreboard section { display: flex; padding: 18px 24px; gap: 20px; align-items: center; justify-content: space-between; color: var(--team-header-text); background: var(--team-header-bg); font-family: "Press Start 2P", monospace; box-shadow: inset 0 2px rgba(255,255,255,.3), inset 0 -3px rgba(0,0,0,.4); }
.match-scoreboard section span { font-size: clamp(15px, 2vw, 23px); line-height: 1.4; }
.match-scoreboard section strong { display: grid; width: 62px; height: 62px; flex: 0 0 62px; place-items: center; border: 3px solid #222; color: #111; background: #fff; font-size: 30px; }
.match-scoreboard > div { display: grid; padding: 12px 16px; gap: 8px; place-content: center; color: #fff; text-align: center; }
.match-scoreboard > div span { color: #69efeb; font-size: 18px; }
.match-scoreboard > div strong { color: var(--yellow); font-size: 28px; font-weight: 400; }
.match-screen { padding: 12px 18px 28px; }
.match-tabs { display: grid; grid-template-columns: repeat(3, 1fr); border: 2px solid var(--blue); }
.match-tabs span { padding: 10px; border-right: 2px solid var(--blue); color: #fff; background: #31006d; font-size: 21px; text-align: center; }
.match-tabs span:last-child { border-right: 0; }
.match-tabs span.active { color: var(--yellow); box-shadow: inset 0 -3px var(--yellow); }
.commentary-stage { min-height: 430px; padding: 22px 28px; border: 2px solid #111; border-top: 0; background: rgba(2, 5, 9, .82); }
.live-commentary { display: grid; min-height: 96px; padding: 18px 28px; place-items: center; border: 3px solid var(--blue); color: #fff; background: rgba(77, 0, 0, .92); font-size: clamp(25px, 3vw, 36px); line-height: 1.3; text-align: center; text-shadow: 2px 2px #000; }
.live-commentary.team-event { border-color: var(--event-text); color: var(--event-text); background: var(--event-bg); }
.live-commentary.event-goal { border-color: var(--event-text, var(--yellow)); color: var(--event-text, var(--yellow)); background: var(--event-bg, #a00000); }
.live-commentary.event-card { border-color: var(--event-text, #ffe31b); color: var(--event-text, #111); background: var(--event-bg, #ffe31b); }
.commentary-log { display: grid; margin: 18px 0 0; padding: 0 6px; gap: 8px; list-style: none; }
.commentary-log li { display: grid; min-height: 32px; padding: 5px 9px; grid-template-columns: 54px 1fr; gap: 8px; color: #ddd; font-size: 20px; line-height: 1.25; }
.commentary-log li strong { color: #6ef0ec; font-weight: 400; }
.commentary-log li.team-event { border-left: 4px solid var(--event-text); color: var(--event-text); background: var(--event-bg); }
.commentary-log li.team-event strong,
.commentary-log li.team-event span { color: inherit; }

@keyframes team-goal-flash {
  0%, 32%, 66%, 100% { color: var(--goal-secondary); background: var(--goal-primary); }
  16%, 49%, 83% { color: var(--goal-primary); background: var(--goal-secondary); }
}

.goal-flash { animation: team-goal-flash 1s steps(1, end); }
.match-progress { height: 24px; margin-top: 10px; border: 3px solid #777; background: #080808; }
.match-progress i { display: block; width: 0; height: 100%; background: linear-gradient(90deg, #183db8, #53c6ed, #e32736); transition: width .35s; }
.match-stats { margin-top: 12px; border: 2px solid var(--blue); background: var(--panel); }
.match-stats h2 { margin: 0; padding: 12px; color: var(--yellow); background: #31006d; font-size: 30px; }
.match-stats div { display: grid; min-height: 38px; grid-template-columns: 1fr 180px 1fr; align-items: center; border-top: 1px solid rgba(255,255,255,.15); font-size: 23px; text-align: center; }
.match-stats div strong { color: #6ef0ec; font-weight: 400; }
.match-continue { display: block; width: 100%; margin-top: 12px; }
.match-continue[hidden], .match-stats[hidden] { display: none; }

.other-results-screen { align-items: stretch; padding-top: 18px; }
.other-results-screen h2 { margin-bottom: 16px; font-size: clamp(24px, 3vw, 34px); }
.other-results-leagues { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.other-results-panel { border: 2px solid var(--blue); background: rgba(2, 5, 9, .9); box-shadow: 6px 6px 0 rgba(0, 0, 0, .35); }
.other-results-panel h3 { margin: 0; padding: 11px; color: var(--yellow); background: #3b0074; font-size: 28px; font-weight: 400; text-align: center; }
.round-label { margin: 0; padding: 7px; border-bottom: 1px solid var(--blue); color: #72dcff; font-size: 20px; text-align: center; }
.other-results-list { display: grid; }
.other-result-row { display: grid; min-height: 50px; padding: 5px 8px; grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1fr); align-items: center; gap: 6px; border-bottom: 1px solid rgba(255, 255, 255, .14); font-size: 19px; }
.other-result-row:nth-child(even) { background: rgba(25, 40, 76, .45); }
.other-result-row strong { color: var(--yellow); font-size: 23px; font-weight: 400; text-align: center; }
.other-result-team { display: flex; min-width: 0; align-items: center; gap: 6px; }
.other-result-team span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.other-result-team.away { justify-content: flex-end; text-align: right; }
.other-result-team img,
.other-result-placeholder { width: 26px; height: 26px; flex: 0 0 26px; object-fit: contain; }
.other-result-placeholder { display: grid; place-items: center; border: 1px solid #72dcff; border-radius: 50%; color: #72dcff; font-size: 13px; }
.no-results { display: grid; min-height: 235px; margin: 0; padding: 25px; place-items: center; color: #bbb; font-size: 23px; text-align: center; }

.board-confidence-screen { align-items: stretch; padding-top: 18px; }
.board-confidence-screen h2 { margin-bottom: 18px; }
.board-verdict { padding: 26px; border: 3px solid var(--blue); background: rgba(2, 5, 9, .9); text-align: center; box-shadow: 7px 7px 0 rgba(0, 0, 0, .35); }
.board-verdict > span { display: block; color: #bbb; font-size: 24px; }
.board-verdict > strong { display: block; margin: 12px 0; color: var(--confidence-color, var(--yellow)); font-family: "Press Start 2P", monospace; font-size: clamp(34px, 6vw, 62px); font-weight: 400; text-shadow: 3px 3px #000; }
.board-verdict p { min-height: 62px; margin: 22px 0 0; color: var(--confidence-color, #fff); font-size: clamp(25px, 3vw, 35px); line-height: 1.15; }
.confidence-meter { height: 28px; border: 3px solid #777; background: #090909; }
.confidence-meter i { display: block; height: 100%; background: var(--confidence-color, var(--yellow)); transition: width .4s; }
.board-verdict.furious { --confidence-color: #ff1b1b; }
.board-verdict.angry { --confidence-color: #ff5c22; }
.board-verdict.worried { --confidence-color: #ff9d21; }
.board-verdict.waiting { --confidence-color: #ffe31b; }
.board-verdict.satisfied { --confidence-color: #9cdb44; }
.board-verdict.happy { --confidence-color: #49dd83; }
.board-verdict.delighted { --confidence-color: #57f4e8; }
.board-record { display: grid; margin-top: 16px; grid-template-columns: repeat(5, 1fr); border: 2px solid var(--blue); background: rgba(2, 5, 9, .88); }
.board-record div { display: grid; min-height: 88px; padding: 9px; place-content: center; gap: 5px; border-right: 1px solid var(--blue); text-align: center; }
.board-record div:last-child { border-right: 0; }
.board-record strong { color: var(--yellow); font-size: 30px; font-weight: 400; }
.board-record span { color: #ddd; font-size: 20px; }

.season-end-shell { width: min(100%, 1080px); }
.season-end-screen { align-items: stretch; padding: 20px 24px 30px; }
.season-end-screen > h2 { margin: 0 0 12px; color: var(--yellow); font-size: clamp(28px, 4vw, 44px); }
.season-end-verdict { margin: 0 0 18px; padding: 14px; border: 2px solid var(--blue); color: #73f2ee; background: rgba(2, 5, 9, .9); font-size: clamp(22px, 3vw, 30px); text-align: center; }
.champions-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.champion-card { display: grid; min-height: 145px; padding: 18px 12px; place-content: center; gap: 14px; border: 3px solid var(--yellow); color: #fff; background: linear-gradient(145deg, rgba(91, 0, 0, .96), rgba(10, 12, 20, .96)); text-align: center; text-decoration: none; box-shadow: 6px 6px 0 rgba(0, 0, 0, .42); }
.champion-card:hover { color: var(--yellow); transform: translateY(-2px); }
.champion-card span { color: var(--yellow); font-size: 20px; }
.champion-card strong { font-family: "Press Start 2P", monospace; font-size: clamp(17px, 2vw, 23px); line-height: 1.35; }
.champion-card.copa-card { background: linear-gradient(145deg, rgba(26, 73, 25, .96), rgba(10, 12, 20, .96)); }
.season-movements { margin-top: 18px; border: 2px solid var(--blue); background: rgba(2, 5, 9, .92); }
.season-movements h3 { margin: 0; padding: 11px; color: var(--yellow); background: #31006d; font-size: 28px; font-weight: 400; text-align: center; }
.season-movements div { display: grid; min-height: 52px; padding: 9px 14px; grid-template-columns: 230px 1fr; align-items: center; gap: 12px; border-top: 1px solid rgba(255, 255, 255, .15); font-size: 21px; }
.season-movements div:nth-child(odd) { background: rgba(30, 45, 77, .45); }
.season-movements strong { color: #6ef0ec; font-weight: 400; }
.season-end-screen .form-actions { margin-top: 18px; }
.retirement-screen { min-height: calc(100vh - 116px); padding: 25px 28px 32px; }
.retirement-screen > h2 { margin: 0 0 12px; color: var(--yellow); font-size: clamp(27px, 4vw, 42px); line-height: 1.2; }
.retirement-intro { margin: 0 0 18px; color: #dffcff; font-size: 25px; text-align: center; text-shadow: 2px 2px #000; }
.retirement-list { display: grid; margin: 0; padding: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); border: 2px solid var(--blue); background: rgba(2, 5, 9, .92); list-style-position: inside; }
.retirement-list li { min-height: 48px; padding: 10px 14px; border-bottom: 1px solid rgba(255, 255, 255, .14); font-size: 23px; }
.retirement-list li:nth-child(odd) { border-right: 1px solid rgba(255, 255, 255, .14); background: rgba(30, 45, 77, .42); }
.retirement-list span { color: #6ef0ec; }
.retirement-empty { padding: 35px; border: 2px solid var(--blue); color: #ddd; background: rgba(2, 5, 9, .92); font-size: 26px; text-align: center; }
.retirement-continue { width: min(100%, 480px); margin: 20px auto 0; }
.retirement-continue .action-button { width: 100%; }

@media (max-width: 700px) {
  .home-screen, .team-screen, .season-screen, .fixture-screen { padding: 28px 18px 24px; }
  .game-mark { width: 84px; height: 84px; font-size: 24px; }
  .home-league-logo { width: 130px; height: 86px; }
  .home-tagline br { display: none; }
  h2 { margin-bottom: 30px; }
  .main-menu, .league-grid { grid-template-columns: 1fr; }
  .menu-option-primary { grid-column: 1; }
  .menu-option { min-height: 105px; }
  .form-actions { flex-direction: column; }
  .action-button { width: 100%; }
  .game-menu { grid-template-columns: 1fr; }
  .game-menu-option,
  .game-menu-option.wide-option { min-height: 100px; grid-column: 1; }
  .fixture-row { grid-template-columns: 1fr; }
  .fixture-meta { border-right: 0; border-bottom: 1px solid var(--blue); text-align: center; }
  .fixture-clubs { padding: 10px; font-size: 20px; }
  .squad-title img { display: none; }
  .retro-tabs { grid-template-columns: repeat(2, 1fr); }
  .player-tabs { grid-template-columns: 1fr; }
  .squad-columns { grid-template-columns: 1fr; gap: 0; }
  .squad-transfers { grid-template-columns: 1fr; }
  .squad-transfer-head, .squad-transfer-row { grid-template-columns: minmax(0, 1fr) minmax(0, .9fr) 105px; }
  .squad-footer, .player-navigation { grid-template-columns: 1fr; }
  .player-heading { grid-template-columns: 48px 1fr; }
  .player-team-name { grid-column: 1 / -1; text-align: center; }
  .player-heading img { width: 42px; height: 42px; }
  .player-profile-grid { grid-template-columns: 1fr; }
  .sale-offers { grid-template-columns: 1fr; }
  .attribute-panel { border-right: 0; border-bottom: 2px solid rgba(255, 255, 255, .25); }
  .player-summary { align-items: flex-start; flex-direction: column; }
  .save-grid { grid-template-columns: 1fr; }
  .load-card { grid-template-columns: 48px 1fr; }
  .load-card img { width: 44px; height: 44px; }
  .load-card button { grid-column: 1 / -1; }
  .recovery-panel form { align-items: stretch; flex-direction: column; }
  .recovery-panel input { width: 100%; }
  .player-filters { grid-template-columns: 1fr 1fr; }
  .player-filters label:first-child { grid-column: 1 / -1; }
  .pagination { grid-template-columns: 95px 1fr 95px; }
  .lineup-toolbar { grid-template-columns: 1fr 1fr; }
  #lineup-status { grid-column: 1 / -1; }
  .lineup-layout { grid-template-columns: 1fr; }
  .lineup-roster { border-right: 0; border-bottom: 3px solid #111; }
  .lineup-player-list { max-height: 320px; }
  .football-pitch { min-height: 540px; }
  .pitch-slot { width: 92px; }
  .bench-slots { grid-template-columns: repeat(2, 1fr); }
  .lineup-actions { grid-template-columns: 1fr; }
  .match-scoreboard { grid-template-columns: 1fr 82px 1fr; }
  .match-scoreboard section { padding: 8px; align-items: stretch; flex-direction: column; text-align: center; }
  .match-scoreboard section strong { width: 45px; height: 45px; margin: auto; }
  .match-scoreboard > div span { display: none; }
  .commentary-stage { min-height: 470px; padding: 9px; }
  .other-results-leagues { grid-template-columns: 1fr; }
  .other-result-row { font-size: 17px; }
  .board-record { grid-template-columns: repeat(2, 1fr); }
  .board-record div { border-bottom: 1px solid var(--blue); }
  .champions-grid { grid-template-columns: 1fr; }
  .retirement-list { grid-template-columns: 1fr; }
  .retirement-list li:nth-child(odd) { border-right: 0; }
  .season-movements div { grid-template-columns: 1fr; text-align: center; }
}
