/* GNOSI league standings — #view-league + embedded hub tab */
#view-league .gn-standings-root *,
#view-league .gnst-popup *,
#view-league .gn-standings-placeholder *,
#view-league-overview .lgo-standings-embed .gn-standings-root *,
#view-league-overview .lgo-standings-embed .gnst-popup *,
#view-league-overview .lgo-standings-embed .gn-standings-placeholder * {
  box-sizing: border-box;
}
#view-league #leagueBody, #view-league-overview .lgo-standings-embed {
  background: #06080e;
}
#view-league .gn-standings-root, #view-league-overview .lgo-standings-embed .gn-standings-root {
  display: flex;
  flex-direction: column;
  background: #06080e;
  font-family: 'Barlow Condensed', sans-serif;
  overflow: visible;
  padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
  position: relative;
  z-index: 1;
}
#view-league .gnst-flag-line, #view-league-overview .lgo-standings-embed .gnst-flag-line { height: 4px; flex-shrink: 0; }

#view-league .gnst-league-hdr, #view-league-overview .lgo-standings-embed .gnst-league-hdr { display: none; }

#view-league .gnst-breadcrumb, #view-league-overview .lgo-standings-embed .gnst-breadcrumb {
  display: flex; align-items: center; gap: 4px;
  padding: 4px 14px 5px; border-bottom: 1px solid #161c2e;
  flex-shrink: 0; overflow-x: auto;
}
#view-league .gnst-bc-item, #view-league-overview .lgo-standings-embed .gnst-bc-item { font-size: 11px; font-weight: 400; color: var(--txt2); white-space: nowrap; }
#view-league .gnst-bc-item.active, #view-league-overview .lgo-standings-embed .gnst-bc-item.active { color: #c8d0dc; font-weight: 600; }
#view-league .gnst-bc-sep, #view-league-overview .lgo-standings-embed .gnst-bc-sep { font-size: 8px; color: var(--txt3); }

#view-league .gnst-filter-bar, #view-league-overview .lgo-standings-embed .gnst-filter-bar {
  display: flex; align-items: center;
  padding: 6px 10px 6px 14px;
  border-bottom: 1px solid #161c2e;
  flex-shrink: 0; gap: 8px;
  flex-wrap: wrap;
}
#view-league .gnst-pill-group, #view-league-overview .lgo-standings-embed .gnst-pill-group { display: flex; gap: 0; border: 1px solid #161c2e; border-radius: 22px; overflow: hidden; flex-shrink: 0; }
#view-league .gnst-gpill, #view-league-overview .lgo-standings-embed .gnst-gpill {
  font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700;
  padding: 5px 10px; border: none; background: transparent; color: var(--txt2);
  cursor: pointer; white-space: nowrap; transition: all 0.2s;
  border-right: 1px solid #161c2e;
}
#view-league .gnst-gpill:last-child, #view-league-overview .lgo-standings-embed .gnst-gpill:last-child { border-right: none; }
#view-league .gnst-gpill.active, #view-league-overview .lgo-standings-embed .gnst-gpill.active { background: #00e676; color: #000; }

#view-league .gnst-count-group, #view-league-overview .lgo-standings-embed .gnst-count-group { display: flex; gap: 0; border: 1px solid #161c2e; border-radius: 22px; overflow: hidden; flex-shrink: 0; }
#view-league .gnst-cpill, #view-league-overview .lgo-standings-embed .gnst-cpill {
  font-family: 'IBM Plex Mono', monospace; font-size: 9px; font-weight: 700;
  padding: 5px 8px; border: none; background: transparent; color: var(--txt2);
  cursor: pointer; white-space: nowrap; transition: all 0.2s;
  border-right: 1px solid #161c2e;
}
#view-league .gnst-cpill:last-child, #view-league-overview .lgo-standings-embed .gnst-cpill:last-child { border-right: none; }
#view-league .gnst-cpill.active, #view-league-overview .lgo-standings-embed .gnst-cpill.active { background: rgba(0,230,118,0.15); color: #00e676; }
#view-league .gnst-cpill.inf, #view-league-overview .lgo-standings-embed .gnst-cpill.inf { font-size: 14px; padding: 2px 8px; line-height: 1.6; }

#view-league .gnst-view-toggle, #view-league-overview .lgo-standings-embed .gnst-view-toggle { display: flex; gap: 3px; flex-shrink: 0; margin-left: auto; }
#view-league .gnst-vtbtn, #view-league-overview .lgo-standings-embed .gnst-vtbtn {
  width: 28px; height: 28px; border-radius: 7px;
  border: 1px solid #161c2e; background: transparent;
  cursor: pointer; display: flex; align-items: center; justify-content: center;
  transition: all 0.2s; color: var(--txt2); font-size: 13px;
}
#view-league .gnst-vtbtn.active, #view-league-overview .lgo-standings-embed .gnst-vtbtn.active { background: rgba(0,230,118,0.12); border-color: rgba(0,230,118,0.4); color: #00e676; }

#view-league .gnst-mode-label, #view-league-overview .lgo-standings-embed .gnst-mode-label {
  padding: 3px 14px; border-bottom: 1px solid #0d1018;
  flex-shrink: 0; display: flex; align-items: center; gap: 6px;
}
#view-league .gnst-ml-text, #view-league-overview .lgo-standings-embed .gnst-ml-text { font-size: 9px; font-weight: 400; color: var(--txt2); letter-spacing: 0.02em; }
#view-league .gnst-ml-val , #view-league-overview .lgo-standings-embed .gnst-ml-val  { font-size: 10px; font-weight: 600; color: #00e676; letter-spacing: 0.01em; }

#view-league .gnst-col-hdr, #view-league-overview .lgo-standings-embed .gnst-col-hdr {
  display: flex; align-items: center;
  padding: 4px 10px; border-bottom: 1px solid #161c2e; flex-shrink: 0;
}
#view-league .gnst-col-hdr .th, #view-league-overview .lgo-standings-embed .gnst-col-hdr .th { font-family: 'IBM Plex Mono', monospace; font-size: 8px; font-weight: 700; color: var(--txt3); text-align: center; flex-shrink: 0; }
#view-league .gnst-col-hdr .th.pos , #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.pos  { width: 18px; }
#view-league .gnst-col-hdr .th.team, #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.team { text-align: left; flex: 1; }
#view-league .gnst-col-hdr .th.num , #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.num  { width: 22px; }
#view-league .gnst-col-hdr .th.diff, #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.diff { width: 28px; }
#view-league .gnst-col-hdr .th.gls , #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.gls  { width: 48px; }
#view-league .gnst-col-hdr .th.pts , #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.pts  { width: 26px; color: #e8ecf4; }
#view-league .gnst-col-hdr .th.gnosi, #view-league-overview .lgo-standings-embed .gnst-col-hdr .th.gnosi { width: 34px; color: #00e676; text-align: right; }

/* Single scroll: page/window — avoids fighting hero collapse */
#view-league .gnst-scroll, #view-league-overview .lgo-standings-embed .gnst-scroll { flex: none; overflow: visible; padding-bottom: 12px; }
#view-league .gnst-scroll.view-expanded .exp, #view-league-overview .lgo-standings-embed .gnst-scroll.view-expanded .exp { display: flex; }

#view-league .gnst-zone-sep, #view-league-overview .lgo-standings-embed .gnst-zone-sep,
#view-league-overview .lgo-hub-hero .gnst-zone-sep { display: flex; align-items: center; gap: 8px; padding: 4px 10px 2px; }
#view-league .gnst-zone-sep-line, #view-league-overview .lgo-standings-embed .gnst-zone-sep-line,
#view-league-overview .lgo-hub-hero .gnst-zone-sep-line { flex: 1; height: 1px; }
#view-league .gnst-zone-sep-lbl, #view-league-overview .lgo-standings-embed .gnst-zone-sep-lbl,
#view-league-overview .lgo-hub-hero .gnst-zone-sep-lbl { font-size: 9px; font-weight: 600; letter-spacing: 0.08em; white-space: nowrap; }

/* World Cup 2026 — ομαδικοί όμιλοι */
#view-league .gnst-group-sep .gnst-zone-sep-line,
#view-league-overview .lgo-standings-embed .gnst-group-sep .gnst-zone-sep-line {
  background: linear-gradient(90deg, #0e1f5644 0%, #D2051544 25%, #00a65144 50%, #ffd85c44 75%, #0e1f5644 100%);
}
#view-league .gnst-group-sep .gnst-zone-sep-lbl,
#view-league-overview .lgo-standings-embed .gnst-group-sep .gnst-zone-sep-lbl {
  color: #ffd85c;
}

/* Standings rows — prefixed to avoid clashes */
#view-league .gnst-rowrow, #view-league-overview .lgo-standings-embed .gnst-rowrow {
  display: flex; align-items: center;
  padding: 0 10px; height: 44px;
  position: relative; cursor: pointer;
  overflow: visible;
}
#view-league .gnst-rowrow.odd , #view-league-overview .lgo-standings-embed .gnst-rowrow.odd  { background: #08090f; }
#view-league .gnst-rowrow.even, #view-league-overview .lgo-standings-embed .gnst-rowrow.even { background: #06080e; }
#view-league .gnst-rowrow::before, #view-league-overview .lgo-standings-embed .gnst-rowrow::before {
  content: ''; position: absolute; left: 0; top: 5px; bottom: 5px;
  width: 2px; border-radius: 0 2px 2px 0;
}
#view-league .gnst-rowrow.cl::before , #view-league-overview .lgo-standings-embed .gnst-rowrow.cl::before  { background: #00e676; box-shadow: 0 0 5px #00e67666; }
#view-league .gnst-rowrow.eu::before , #view-league-overview .lgo-standings-embed .gnst-rowrow.eu::before  { background: #4fc3f7; }
#view-league .gnst-rowrow.rel::before, #view-league-overview .lgo-standings-embed .gnst-rowrow.rel::before { background: #ff5252; }

#view-league .gnst-c, #view-league-overview .lgo-standings-embed .gnst-c { font-family: 'IBM Plex Mono', monospace; font-size: 9px; text-align: center; color: var(--txt2); flex-shrink: 0; }
#view-league .gnst-c.pos , #view-league-overview .lgo-standings-embed .gnst-c.pos  { width: 18px; font-weight: 700; font-size: 11px; }
#view-league .gnst-c.team, #view-league-overview .lgo-standings-embed .gnst-c.team {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  text-align: left;
  overflow: visible;
  position: relative;
  isolation: isolate;
  min-width: 0;
}
#view-league .gnst-c.team::before,
#view-league-overview .lgo-standings-embed .gnst-c.team::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 70%;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--team-c, transparent) 22%, transparent) 0%,
    color-mix(in srgb, var(--team-c, transparent) 10%, transparent) 52%,
    transparent 100%
  );
}
#view-league .gnst-c.team > *,
#view-league-overview .lgo-standings-embed .gnst-c.team > * {
  position: relative;
  z-index: 1;
}
#view-league .gnst-team-logo, #view-league-overview .lgo-standings-embed .gnst-team-logo { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
#view-league .gnst-c.team .hv2-mark,
#view-league-overview .gnst-c.team .hv2-mark,
#view-league-overview .gnst-mini-c.team .hv2-mark {
  width: 28px;
  height: 28px;
  flex-shrink: 0;
  overflow: visible;
}
#view-league .gnst-c-name, #view-league-overview .lgo-standings-embed .gnst-c-name {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13.5px;
  font-weight: 600;
  color: #e8ecf4;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}
#view-league .gnst-c.num , #view-league-overview .lgo-standings-embed .gnst-c.num  { width: 22px; font-size: 10px; }
#view-league .gnst-c.diff, #view-league-overview .lgo-standings-embed .gnst-c.diff { width: 28px; font-size: 10px; }
#view-league .gnst-c.pts , #view-league-overview .lgo-standings-embed .gnst-c.pts  { width: 26px; font-weight: 900; color: #e8ecf4; font-size: 13px; }
#view-league .gnst-c.gnosi, #view-league-overview .lgo-standings-embed .gnst-c.gnosi { width: 34px; font-weight: 700; text-align: right; font-size: 11px; }
#view-league .gnst-pos-chg, #view-league-overview .lgo-standings-embed .gnst-pos-chg { font-size: 6px; position: absolute; left: 10px; top: 2px; }

#view-league .exp, #view-league-overview .lgo-standings-embed .exp {
  display: none;
  align-items: center; gap: 7px;
  padding: 7px 10px 8px 28px;
  border-bottom: 1px solid #0a0c14;
  flex-wrap: nowrap; overflow: hidden;
}
#view-league .exp.odd , #view-league-overview .lgo-standings-embed .exp.odd  { background: #050709; }
#view-league .exp.even, #view-league-overview .lgo-standings-embed .exp.even { background: #040608; }

#view-league .exp-lbl, #view-league-overview .lgo-standings-embed .exp-lbl { font-size: 9px; font-weight: 400; color: #3a4a5a; letter-spacing: 0.02em; white-space: nowrap; flex-shrink: 0; }
#view-league .exp-div, #view-league-overview .lgo-standings-embed .exp-div { width: 1px; height: 14px; background: #161c2e; flex-shrink: 0; }
#view-league .exp-stat-val, #view-league-overview .lgo-standings-embed .exp-stat-val { font-family: 'IBM Plex Mono', monospace; font-size: 12px; font-weight: 900; }
#view-league .exp-stat-lbl, #view-league-overview .lgo-standings-embed .exp-stat-lbl { font-size: 8px; font-weight: 400; color: var(--txt2); letter-spacing: 0.02em; }
#view-league .exp-next, #view-league-overview .lgo-standings-embed .exp-next { display: flex; align-items: center; gap: 4px; flex: 1; min-width: 0; }
#view-league .exp-next-team, #view-league-overview .lgo-standings-embed .exp-next-team { font-size: 12px; font-weight: 500; color: #c8d0dc; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
#view-league .exp-next-date, #view-league-overview .lgo-standings-embed .exp-next-date { font-size: 10px; font-weight: 400; color: var(--txt2); white-space: nowrap; }

#view-league .dots-wrap, #view-league-overview .lgo-standings-embed .dots-wrap { display: flex; gap: 3px; flex-wrap: nowrap; align-items: center; }
#view-league .dot-btn, #view-league-overview .lgo-standings-embed .dot-btn {
  border-radius: 50%; border: none; cursor: pointer; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'IBM Plex Mono', monospace; font-weight: 900;
  transition: transform 0.15s, box-shadow 0.15s;
  -webkit-tap-highlight-color: transparent; outline: none;
  position: relative; z-index: 1;
}
#view-league .dot-btn.w, #view-league-overview .lgo-standings-embed .dot-btn.w { background: rgba(0,230,118,0.2); color: #00e676; }
#view-league .dot-btn.d, #view-league-overview .lgo-standings-embed .dot-btn.d { background: rgba(255,210,0,0.2); color: #FFD700; }
#view-league .dot-btn.l, #view-league-overview .lgo-standings-embed .dot-btn.l { background: rgba(255,82,82,0.2); color: #ff5252; }
#view-league .dot-btn.w.open, #view-league-overview .lgo-standings-embed .dot-btn.w.open { background: #00e676; color: #000; box-shadow: 0 0 8px #00e676; z-index: 5; }
#view-league .dot-btn.d.open, #view-league-overview .lgo-standings-embed .dot-btn.d.open { background: #FFD700; color: #000; box-shadow: 0 0 8px #FFD700; z-index: 5; }
#view-league .dot-btn.l.open, #view-league-overview .lgo-standings-embed .dot-btn.l.open { background: #ff5252; color: #fff; box-shadow: 0 0 8px #ff5252; z-index: 5; }

#view-league .gnst-popup, #view-league-overview .lgo-standings-embed .gnst-popup {
  position: fixed; z-index: 9999;
  opacity: 0; pointer-events: none;
  transition: opacity 0.15s ease, transform 0.15s ease;
  transform: translateY(6px);
}
#view-league .gnst-popup.visible, #view-league-overview .lgo-standings-embed .gnst-popup.visible { opacity: 1; pointer-events: auto; transform: translateY(0); }
#view-league .gnst-popup-inner, #view-league-overview .lgo-standings-embed .gnst-popup-inner {
  background: #0e1220; border-radius: 12px;
  padding: 10px 14px; min-width: 130px; text-align: center;
  position: relative;
}
#view-league .gnst-pp-score, #view-league-overview .lgo-standings-embed .gnst-pp-score { font-family: 'IBM Plex Mono', monospace; font-size: 20px; font-weight: 900; line-height: 1; margin-bottom: 4px; }
#view-league .gnst-pp-opp  , #view-league-overview .lgo-standings-embed .gnst-pp-opp   { font-size: 12px; font-weight: 600; color: #e8ecf4; margin-bottom: 4px; }
#view-league .gnst-pp-meta , #view-league-overview .lgo-standings-embed .gnst-pp-meta  { display: flex; align-items: center; justify-content: center; gap: 6px; flex-wrap: wrap; }
#view-league .pp-venue, #view-league-overview .lgo-standings-embed .pp-venue { font-family: 'IBM Plex Mono', monospace; font-size: 7px; font-weight: 700; padding: 2px 6px; border-radius: 4px; }
#view-league .pp-venue.home, #view-league-overview .lgo-standings-embed .pp-venue.home { background: rgba(0,230,118,0.15); color: #00e676; }
#view-league .pp-venue.away, #view-league-overview .lgo-standings-embed .pp-venue.away { background: rgba(79,195,247,0.15); color: #4fc3f7; }
#view-league .gnst-pp-round, #view-league-overview .lgo-standings-embed .gnst-pp-round { font-size: 10px; font-weight: 400; color: var(--txt2); }

/* Other leagues placeholder */
#view-league .gn-standings-placeholder, #view-league-overview .lgo-standings-embed .gn-standings-placeholder {
  flex: 1;
  padding: 32px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 14px;
  color: #6a7a90;
}
#view-league .gn-sp-title, #view-league-overview .lgo-standings-embed .gn-sp-title {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 22px;
  letter-spacing: 0.06em;
  color: #c8d0dc;
}
#view-league .gn-sp-btn, #view-league-overview .lgo-standings-embed .gn-sp-btn {
  margin-top: 8px;
  padding: 10px 18px;
  border-radius: 10px;
  border: 1px solid rgba(0,230,118,0.35);
  background: rgba(0,230,118,0.1);
  color: #00e676;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

/* League standings: fixed topbar + content offset (hero collapse scrolls under bar) */
body.gn-league-standings {
  --gnst-topbar-h: 48px;
  --gnst-topbar-pad: env(safe-area-inset-top, 0px);
  --gnst-topbar-total: calc(var(--gnst-topbar-h) + var(--gnst-topbar-pad));
}

body.gn-league-standings #topbar {
  position: fixed;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  max-width: 480px;
  box-sizing: border-box;
  height: var(--gnst-topbar-total);
  padding: var(--gnst-topbar-pad) 16px 0;
  border-bottom: none !important;
  background: transparent;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  transition: background 0.35s ease, box-shadow 0.35s ease;
}

body.gn-league-standings #view-league,
body.gn-league-standings #view-league-overview {
  padding-top: 0;
}

body.gn-league-standings {
  scroll-padding-top: var(--gnst-topbar-total);
}

#view-league .gnst-hero,
#view-league-overview .lgo-standings-embed .gnst-hero {
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  margin-top: 0;
  padding-top: 0;
  overflow: hidden;
}

#view-league .gnst-hero::before,
#view-league-overview .lgo-standings-embed .gnst-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url('https://images.unsplash.com/photo-1574629810360-7efbbe195018?w=800&q=60');
  background-size: cover;
  background-position: center 20%;
  opacity: 0.22;
  filter: saturate(0.55) brightness(0.85);
}

#view-league .gnst-hero::after,
#view-league-overview .lgo-standings-embed .gnst-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(ellipse 90% 70% at 18% 0%, rgba(0, 230, 118, 0.07) 0%, transparent 55%),
    linear-gradient(
      180deg,
      rgba(6, 8, 14, 0.97) 0%,
      rgba(6, 8, 14, 0.82) 14%,
      rgba(6, 8, 14, 0.38) 38%,
      rgba(6, 8, 14, 0.12) 58%,
      rgba(6, 8, 14, 0.55) 78%,
      rgba(6, 8, 14, 0.94) 100%
    );
}

#view-league .gnst-hero-body,
#view-league-overview .lgo-standings-embed .gnst-hero-body {
  display: flex;
  align-items: flex-end;
  gap: 14px;
  padding: calc(var(--gnst-topbar-total, 48px) + 10px) 18px 28px;
  min-height: calc(148px + var(--gnst-topbar-total, 48px));
  overflow: hidden;
  max-height: calc(240px + var(--gnst-topbar-total, 48px));
  transform-origin: top;
  will-change: transform;
  position: relative;
  z-index: 2;
}

#view-league .gnst-hero-info,
#view-league-overview .lgo-standings-embed .gnst-hero-info {
  flex: 1;
  min-width: 0;
  padding-bottom: 2px;
}

#view-league .gnst-hero-flag-row,
#view-league-overview .lgo-standings-embed .gnst-hero-flag-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 6px;
}

#view-league .gnst-hero-flag,
#view-league-overview .lgo-standings-embed .gnst-hero-flag {
  font-size: 24px;
  line-height: 1;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.45));
}

#view-league .gnst-hero-country,
#view-league-overview .lgo-standings-embed .gnst-hero-country {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6a7a94;
}

#view-league .gnst-hero-name,
#view-league-overview .lgo-standings-embed .gnst-hero-name {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 32px;
  letter-spacing: 0.05em;
  color: #f0f4fc;
  line-height: 0.95;
  margin-bottom: 7px;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55);
}

#view-league .gnst-hero-meta,
#view-league-overview .lgo-standings-embed .gnst-hero-meta {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  color: var(--txt2);
  letter-spacing: 0.06em;
  line-height: 1.45;
}

#view-league .gnst-flag-line,
#view-league-overview .lgo-standings-embed .gnst-flag-line {
  position: relative;
  z-index: 2;
  height: 3px;
  box-shadow: 0 0 14px rgba(255, 255, 255, 0.08);
}
