:root { font-size: 15px; }
.next {
  --accent: #d9fa42;
  --accent-ink: #365b13;
  --background: #0a1d2c;
  --shell-text: #f0f6fa;
  --soft: #f0f6dc;
  --line: #dce5eb;
}
.junior {
  --accent: #ffdc65;
  --accent-ink: #9e155d;
  --background: #fff3e6;
  --shell-text: #22294e;
  --soft: #fff1d1;
  --line: #f1dce0;
}
.wrap { width: min(1152px, calc(100% - 48px)); }
.mast { border-bottom: 1px solid #9baec04d; }
.top { min-height: 60px; letter-spacing: .095em; }
.top img { width: 43px; height: 43px; }
.top .site-return {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid currentColor;
  border-radius: 8px;
  color: var(--shell-text);
  font-size: 1rem;
  font-weight: 750;
  letter-spacing: normal;
  text-decoration: none;
  white-space: nowrap;
}
.top .site-return:hover { text-decoration: underline; }
@media (max-width: 540px) {
  .top .mast-title { display: none; }
}
main { position: relative; }
.tabs { margin-top: 18px; }
.tabs a { padding: 8px 18px; border-radius: 8px; }
.demo { position: absolute; top: 10px; right: 0; font-size: 11px; font-weight: 700; letter-spacing: .08em; }
.hero {
  position: relative;
  overflow: hidden;
  min-height: 187px;
  padding: 25px 32px;
  isolation: isolate;
  background: linear-gradient(105deg,#0e3048 28%,#0e4e60 84%);
  border: 1px solid #4ca8b844;
  border-radius: 16px;
}
.junior .hero {
  background: linear-gradient(107deg,#fffaf0 20%,#ffe2f2 87%);
  border-color: #efc8dd;
}
.hero-copy, .league-logo { position: relative; z-index: 1; }
.hero-copy h1 { font-size: clamp(29px, 4.7vw, 55px); letter-spacing: -.035em; }
.hero-copy > p:last-child { margin-top: 8px; }
.league-logo { flex-basis: 158px; padding: 9px; box-shadow: 0 7px 18px #0a1b2d22; }
.league-logo img { height: 106px; }
.hero-decor {
  position: absolute;
  z-index: -1;
  top: -130px;
  bottom: -130px;
  right: 5%;
  width: 220px;
  transform: rotate(28deg);
  border-right: 20px solid #d9fa42;
  background: linear-gradient(90deg,#77d2d000 30%,#2cc2c6a8);
}
.hero-decor::after {
  content: "";
  position: absolute;
  top: 0; bottom: 0; right: -64px; width: 22px;
  background: #73dfdb52;
}
.junior .hero-decor {
  border-color: #ffb8d7;
  background: linear-gradient(90deg,#ffe2f200 25%,#ffb7cb90);
}
.junior .hero-decor::after { background: #ffdc65; }
.lead-grid { grid-template-columns: .8fr 1.2fr; }
.panel { border: 1px solid var(--line); padding: 17px 21px; border-radius: 12px; }
.panel h2 { display: flex; gap: 9px; align-items: center; }
.panel h2::before {
  content: "";
  background: var(--accent);
  border-radius: 3px;
  width: 6px;
  height: 21px;
  flex-shrink: 0;
}
.next-tour a, .news a { font-weight: 700; }
.pause { color: #41576b; }
.jump a { padding-block: 7px; }
thead th { font-size: 13px; }
th, td { padding-block: 7px; }
tbody tr:nth-child(even) { background: #f8fafb; }
.points { font-variant-numeric: tabular-nums; }
#table > a { font-size: 13px; }
.match, .team, .news { border: 1px solid var(--line); background: #f8fafb; }
.match-score span { font-weight: 700; }
.meta { font-weight: 650; }
.team { display: grid; grid-template-columns: 72px 1fr; grid-template-rows: 1fr 1fr; column-gap: 13px; align-items: center; }
.team img { width: 72px; height: 64px; grid-row: 1 / 3; border: 1px solid var(--line); }
.team h3 { align-self: end; margin: 0; }
.team p { align-self: start; margin: 0; font-size: 13px; color: #41576b; }
.news h3 { margin-top: 0; }
.footer { border-top: 1px solid #9baec05c; font-size: 13px; }
@media (max-width: 720px) {
  .wrap { width: calc(100% - 24px); }
  .demo { position: static; font-size: 10px; }
  .hero { padding: 16px; min-height: 143px; }
  .league-logo { flex-basis: 88px; }
  .league-logo img { height: 73px; }
  .hero-copy > p:last-child { font-size: 13px; }
  .hero-decor { opacity: .45; right: -62px; }
  .lead-grid { grid-template-columns: 1fr; }
  .panel { padding: 13px; }
  .team { grid-template-columns: 1fr; gap: 3px; }
  .team img { width: 100%; grid-row: auto; }
}
.team-link { display: grid; }
.profile-back { margin-block: 3px 13px; font-weight: 700; }
.team-hero { min-height: 152px; }
.team-photo {
  border-color: var(--line);
  background: linear-gradient(135deg, #f9fbfd, #edf3f7);
}
.junior .team-photo { background: linear-gradient(135deg, #fff9eb, #faedf5); }
.team-photo img {
  box-sizing: content-box;
  padding: 18px;
  background: white;
  border-radius: 14px;
  border: 1px solid var(--line);
}
#roster table { margin-top: 10px; }

.team-photo-real { padding: 0; }
.team-photo-real img { width: 100%; height: 100%; max-width: none; max-height: none; object-fit: contain; }
.fixture-filter { display: flex; gap: 12px; align-items: end; flex-wrap: wrap; margin-bottom: 12px; }
.fixture-filter label { margin: 0; }
#manage-fixture details, #manage-news details { padding: 10px 0; border-bottom: 1px solid #e2e8ef; }
#manage-fixture summary, #manage-news summary { cursor: pointer; }
details pre { white-space: pre-wrap; overflow-wrap: anywhere; }
.ticker-item { font-weight: inherit; }
.ticker-item:not([hidden]) ~ .ticker-item:not([hidden])::before { content: " · "; }
#manage-team details { padding: 10px 0; border-bottom: 1px solid #e2e8ef; }
#manage-team summary { cursor: pointer; }
.roster-photo {
    border-radius: 50%;
    object-fit: cover;
    margin-right: .6rem;
    vertical-align: middle;
}

.league-social, .league-partners {
  margin-block: 16px;
  padding: clamp(13px, 2vw, 21px);
  border: 1px solid var(--line);
  border-radius: 12px;
}
.league-social { color: var(--shell-text); }
.next .league-social { border-color: #39556a; }
.league-social h2, .league-partners h2 { margin: 0 0 12px; }
.league-social-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  max-width: 680px;
}
.league-social-card {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 64px;
  padding: 9px;
  border: 1px solid #e2cedb;
  border-radius: 9px;
  background: #fff;
  color: inherit;
  text-decoration: none;
  line-height: 1.2;
}
.next .league-social-card { background: #16354b; border-color: #4b6678; }
.league-social-card:hover strong { text-decoration: underline; }
.league-social-card:focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
.league-social-card small { display: block; color: inherit; font-size: .8rem; margin-top: 4px; }
.league-social-card img, .league-vk-badge {
  width: 38px; height: 38px; flex: none; border-radius: 50%; object-fit: cover;
}
.league-vk-badge {
  display: grid; place-items: center; background: #0065dc; color: #fff;
  font-size: .86rem; font-weight: 850;
}
.league-social-arrow { margin-inline: auto 2px; }
.league-partners { background: #fff; color: #142a3b; }
.league-partner-logos {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 12px;
  list-style: none; margin: 0; padding: 0;
}
.league-partner-logos li {
  display: grid; place-items: center; flex: 0 0 calc((100% - 48px) / 5);
  min-width: 0; height: 62px; padding: 2px;
}
.league-partner-logos img { max-width: min(100%, 156px); max-height: 57px; object-fit: contain; }
@media (max-width: 540px) {
  .league-social-card { padding: 7px; gap: 6px; font-size: .93rem; }
  .league-social-card img, .league-vk-badge { width: 28px; height: 28px; }
  .league-social-arrow { display: none; }
  .league-partner-logos li { flex-basis: calc((100% - 24px) / 3); height: 48px; }
  .league-partner-logos img { max-height: 44px; }
}
