:root { font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: #122236; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--background); }
.next { --background: #071f33; --mast: #061827; --accent: #dbff39; --link: #124b7c; --soft: #eff6dd; --button: #183a56; --shell-text: white; }
.junior { --background: #fff5e7; --mast: #ffe7ad; --accent: #ffd250; --link: #0736a4; --soft: #f0f4ff; --button: #123ba4; --shell-text: #1a2440; }
a { color: var(--link); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible { outline: 3px solid #ef6a11; outline-offset: 3px; }
.wrap { width: min(1120px, calc(100% - 32px)); margin-inline: auto; }
.mast { background: var(--mast); color: var(--shell-text); }
.top { min-height: 64px; display: flex; align-items: center; justify-content: space-between; gap: 12px; font-weight: 850; letter-spacing: .06em; }
.top img { width: 46px; height: 46px; object-fit: contain; background: white; padding: 3px; border-radius: 8px; display: block; }
.tabs { display: flex; gap: 8px; margin: 16px 0 10px; }
.tabs a, .jump a { text-align: center; padding: 11px 16px; text-decoration: none; font-weight: 700; border-radius: 10px; background: #f5f7fc; }
.tabs a[aria-current] { background: var(--accent); color: #17202a; }
.demo { font-size: .85rem; color: var(--shell-text); margin: 0 0 12px; }
.hero { display: flex; align-items: center; gap: clamp(16px, 4vw, 46px); padding: clamp(16px, 3vw, 26px); border-radius: 18px; color: white; background: linear-gradient(120deg,#082a49,#0d5065); }
.junior .hero { background: linear-gradient(120deg,#fff,#ffe0f0); color: #10369c; border: 1px solid #ffd3e9; }
.league-logo { flex: 0 0 clamp(90px, 22vw, 168px); background: white; border-radius: 12px; padding: 10px; }
.league-logo img { display: block; width: 100%; height: clamp(65px, 15vw, 104px); object-fit: contain; }
.eyebrow { font-weight: 800; letter-spacing: .07em; color: var(--accent); }
.junior .eyebrow { color: #9d1459; }
h1 { margin: 0; font-size: clamp(1.75rem, 5vw, 3.25rem); line-height: 1.05; }
main > h1 { color: var(--shell-text); margin: 20px 0; }
h2 { font-size: clamp(1.1rem, 3vw, 1.5rem); margin: 0 0 10px; line-height: 1.2; }
h3 { margin: 12px 0 6px; }
p { margin: 6px 0; }
.lead-grid, .manager-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 12px; }
.panel { background: white; padding: clamp(13px, 2.8vw, 24px); border-radius: 15px; margin: 12px 0; scroll-margin-top: 16px; }
.lead-grid > .panel, .manager-grid > .panel { min-width: 0; margin: 0; }
.countdown { display: inline-block; padding: 5px 9px; margin-top: 8px; border-radius: 7px; font-weight: 750; background: var(--accent); color: #152229; }
.pause { font-size: .88rem; }
.ticker { overflow: hidden; padding: 9px 8px; margin-top: 8px; border-radius: 7px; background: var(--soft); white-space: nowrap; }
.ticker span { display: inline-block; min-width: 100%; animation: scroll 19s linear infinite; }
.ticker:hover span, .ticker-panel:focus-within .ticker span { animation-play-state: paused; }
.pause:has(input:checked) + .ticker { white-space: normal; }
.pause:has(input:checked) + .ticker span { animation: none; }
@keyframes scroll { from { transform: translateX(100%); } to { transform: translateX(-100%); } }
.jump { display: flex; gap: 8px; margin: 12px 0; }
.table-scroll { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; white-space: nowrap; }
th, td { text-align: left; padding: 9px 11px; border-bottom: 1px solid #e2e8ef; }
thead th { background: #edf3fa; }
.points { font-weight: 850; background: var(--soft); }
.note, small { color: #4d5d6d; font-size: .88rem; }
.matches, .teams { display: grid; gap: 9px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.match, .team, .news { background: #f5f8fb; border: 1px solid #e5eaf0; border-radius: 11px; padding: 12px; }
.match-score { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 6px; margin: 6px 0; }
.match-score > :last-child { text-align: right; }
.match-score b { padding: 2px 7px; border-radius: 5px; background: var(--accent); }
.meta { color: #41576b; font-size: .8rem; }
.team img { width: 100%; height: 90px; object-fit: contain; background: white; border-radius: 8px; padding: 8px; }
.team h3 { margin-top: 5px; }
.team-link { display: block; color: inherit; text-decoration: none; }
.team-link:hover { border-color: var(--link); }
.team-link:hover h3 { text-decoration: underline; }
.profile-back { display: inline-block; margin-bottom: 12px; color: var(--shell-text); }
.team-hero { min-height: 155px; }
.team-photo {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  min-height: 220px;
  aspect-ratio: 16 / 7;
  margin: 0;
  border: 1px solid #dce5ed;
  border-radius: 10px;
  background: #f5f8fb;
  color: #41576b;
}
.team-photo img { width: clamp(90px, 18vw, 165px); height: auto; object-fit: contain; }
.team-photo figcaption { padding-inline: 12px; text-align: center; }
.roster th:first-child, .roster td:first-child { width: 72px; }
.news { display: flex; align-items: center; gap: 12px; }
.news img { width: 70px; height: 70px; object-fit: contain; background: white; padding: 6px; border-radius: 8px; }
form { display: grid; gap: 12px; }
form label { display: grid; gap: 5px; }
input:not([type=checkbox]), select, textarea, button { font: inherit; min-height: 44px; border: 1px solid #9ba9b6; border-radius: 7px; padding: 8px; }
input:not([type=checkbox]), select, textarea { width: 100%; background: white; color: #122236; }
button { cursor: pointer; background: var(--button); color: white; font-weight: 750; }
.set-fields { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px; }
.alert, .success { border-radius: 9px; padding: 12px; background: #fff0e6; color: #672d16; }
.success { background: #e3f6db; color: #214f22; }
.footer { display: flex; justify-content: space-between; align-items: center; gap: 15px; padding-block: 12px 24px; color: var(--shell-text); }
.footer a { color: inherit; }
@media (max-width: 720px) {
  .wrap { width: calc(100% - 24px); }
  .lead-grid, .manager-grid { grid-template-columns: 1fr; }
  .matches { grid-template-columns: 1fr; }
  .teams { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .jump { position: fixed; z-index: 1; inset: auto 0 0; margin: 0; gap: 4px; padding: 6px 6px calc(6px + env(safe-area-inset-bottom)); background: var(--mast); }
  .jump a { padding: 10px 4px; flex: 1; min-height: 44px; font-size: .88rem; }
  .footer { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
  th, td { padding-inline: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .ticker { white-space: normal; }
  .ticker span { animation: none; }
}
