/* ZimPrem Fantasy — Wave 64 flagship identity.
   Visual-only layer. No scores, rankings, player facts or gameplay state are manufactured here. */

.fantasy-shell-v12 {
  --zf-ink:#020604;
  --zf-deep:#040b07;
  --zf-forest:#07140d;
  --zf-forest-2:#0b2115;
  --zf-panel:#091810;
  --zf-panel-2:#0d2016;
  --zf-gold:#e1b64a;
  --zf-gold-bright:#f1cf72;
  --zf-gold-soft:rgba(225,182,74,.1);
  --zf-line:rgba(255,255,255,.09);
  --zf-line-strong:rgba(255,255,255,.16);
  --zf-muted:rgba(245,247,245,.52);
  background:
    radial-gradient(760px 430px at 82% -5%,rgba(225,182,74,.08),transparent 72%),
    linear-gradient(180deg,#020604 0%,#040b07 44%,#020604 100%)!important;
}

/* Brand: understated, football-first, premium. */
.fantasy-shell-v12 .fantasy-brand-mark-v12 {
  position:relative;
  overflow:hidden;
  color:var(--zf-gold-bright)!important;
  border:1px solid rgba(225,182,74,.58)!important;
  border-radius:0!important;
  background:linear-gradient(145deg,#153a24,#07120c 72%)!important;
  background-image:none!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 12px 28px rgba(0,0,0,.32)!important;
  transform:none!important;
}
.fantasy-shell-v12 .fantasy-brand-mark-v12::after {
  content:"";
  position:absolute;
  inset:6px;
  border:1px solid rgba(225,182,74,.13);
  transform:rotate(45deg) scale(.66);
  pointer-events:none;
}
.fantasy-shell-v12 .fantasy-brand-mark-v12 + span > span:first-child,
.fantasy-shell-v12 .fantasy-brand-mark-v12 + span > strong:first-child {
  font-style:normal;
  letter-spacing:-.03em;
  text-transform:none;
}
.fantasy-shell-v12 .fantasy-brand-mark-v12 + span > span:last-child {
  color:var(--zf-gold)!important;
  letter-spacing:.22em!important;
  text-shadow:none!important;
}

/* Shell chrome: calm, dense and editorial. */
.fantasy-shell-v12 .fantasy-sidebar-v12 {
  background:linear-gradient(180deg,rgba(225,182,74,.025),transparent 22rem),#030906!important;
  border-right-color:var(--zf-line)!important;
}
.fantasy-shell-v12 .fantasy-mobile-header-v12,
.fantasy-shell-v12 .fantasy-mobile-nav-v12 {
  background:rgba(2,6,4,.97)!important;
  border-color:rgba(225,182,74,.13)!important;
}
.fantasy-shell-v12 .fantasy-nav-link-v12 {
  min-height:48px!important;
  border-radius:0!important;
  border-left:2px solid transparent!important;
  letter-spacing:.01em;
}
.fantasy-shell-v12 .fantasy-nav-link-v12[data-active="true"] {
  color:#fff!important;
  background:linear-gradient(90deg,rgba(225,182,74,.11),transparent 94%)!important;
  border-left-color:var(--zf-gold)!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 .fantasy-nav-link-v12[data-active="true"] svg {color:var(--zf-gold-bright)!important;}
.fantasy-shell-v12 .fantasy-manager-card-v12,
.fantasy-shell-v12 .fantasy-sidebar-gameweek-v12 {
  border-radius:0!important;
  background:rgba(255,255,255,.012)!important;
  border-color:var(--zf-line)!important;
}

/* Football/Fantasy bridge and manager-action bars recede into the product. */
.fantasy-shell-v12 .fantasy-truth-strip-v12 {
  background:#030906!important;
  border-color:var(--zf-line)!important;
}
.fantasy-shell-v12 .fantasy-truth-strip-v12 strong {color:var(--zf-gold-bright)!important;}
.fantasy-shell-v12 .fantasy-next-action-v12 {
  background:linear-gradient(90deg,rgba(225,182,74,.085),rgba(225,182,74,.025) 62%,transparent)!important;
  border-color:rgba(225,182,74,.18)!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 .fantasy-next-action-v12 span,
.fantasy-shell-v12 .fantasy-next-action-v12 a {color:var(--zf-gold-bright)!important;}

/* Flagship cover treatment shared by dashboard and deeper Fantasy pages. */
.fantasy-shell-v12 .fantasy-page-header-v12 {
  isolation:isolate;
  position:relative;
  min-height:clamp(300px,31vw,430px)!important;
  margin-bottom:18px!important;
  padding:clamp(32px,5vw,72px) clamp(22px,5vw,72px)!important;
  align-items:flex-end!important;
  background:
    linear-gradient(90deg,rgba(2,6,4,.99) 0%,rgba(2,6,4,.82) 43%,rgba(2,6,4,.34) 73%,rgba(2,6,4,.8) 100%),
    linear-gradient(0deg,#020604 0%,transparent 36%),
    url('/visuals/fantasy-rivalry-lines.svg') 84% 46%/min(78vw,980px) auto no-repeat,
    #0d2a1a!important;
  border:0!important;
  border-bottom:1px solid rgba(225,182,74,.22)!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 .fantasy-page-header-v12::before {
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  background:radial-gradient(circle at 79% 38%,rgba(225,182,74,.14),transparent 10rem);
  pointer-events:none;
}
.fantasy-shell-v12 .fantasy-page-header-v12 h1 {
  max-width:12ch!important;
  font-size:clamp(3.6rem,7.5vw,8.4rem)!important;
  line-height:.82!important;
  letter-spacing:-.075em!important;
  text-wrap:balance;
  text-shadow:0 18px 48px rgba(0,0,0,.4);
}
.fantasy-shell-v12 .fantasy-page-header-v12 p:first-child {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  margin-bottom:15px!important;
  padding:0 10px;
  border:1px solid rgba(225,182,74,.28);
  background:rgba(2,6,4,.55);
  color:var(--zf-gold-bright)!important;
}
.fantasy-shell-v12 .fantasy-header-copy-v12 {
  max-width:56ch!important;
  margin-top:16px!important;
  font-size:clamp(.9rem,1.2vw,1.06rem)!important;
  line-height:1.75!important;
  color:rgba(245,247,245,.68)!important;
}
.fantasy-shell-v12 .fantasy-header-action-v12 {align-self:flex-end;}
.fantasy-shell-v12 .fantasy-header-action-v12 a[href="/fantasy/pick-team"] {
  min-height:54px!important;
  padding-inline:22px!important;
  background:var(--zf-gold)!important;
  color:#111!important;
  box-shadow:0 18px 50px rgba(225,182,74,.12)!important;
  font-size:12px!important;
}

/* Homepage/onboarding hero follows the same language rather than a second neon identity. */
.fantasy-shell-v12 .fantasy-home-hero,
.fantasy-shell-v12 .fantasy-home-manager-strip {
  border-radius:0!important;
  border-color:rgba(225,182,74,.2)!important;
  background:
    linear-gradient(100deg,rgba(3,10,6,.99),rgba(8,28,17,.9)),
    url('/visuals/fantasy-rivalry-lines.svg') right center/760px auto no-repeat!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 .fantasy-home-hero::after {display:none!important;}
.fantasy-shell-v12 .fantasy-home-hero h1 span,
.fantasy-shell-v12 .fantasy-home-manager-strip [class*="text-[#e7bd52]"],
.fantasy-shell-v12 .fantasy-home-manager-strip [class*="text-[#d8ad3d]"] {color:var(--zf-gold-bright)!important;text-shadow:none!important;}
.fantasy-shell-v12 .fantasy-home-pitch-card,
.fantasy-shell-v12 .fantasy-onboard-card {
  border-radius:0!important;
  border-color:var(--zf-line)!important;
  background:linear-gradient(145deg,#0a1b12,#050d09)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* Broadcast-like freshness status. */
.fantasy-shell-v12 section[aria-label="Fantasy data freshness"] {
  margin-bottom:18px!important;
  padding:15px 18px!important;
  background:linear-gradient(90deg,#07130d,#040a07)!important;
  border-color:var(--zf-line)!important;
}

/* Dashboard metrics: turn the top row into a real scoreboard. */
.fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:0!important;
  margin-bottom:18px!important;
  border:1px solid var(--zf-line)!important;
  background:#050c08!important;
}
.fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > * {
  min-height:132px!important;
  padding:18px!important;
  border:0!important;
  border-right:1px solid var(--zf-line)!important;
  border-bottom:1px solid var(--zf-line)!important;
  background:transparent!important;
}
.fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > :nth-child(-n+4) {
  min-height:178px!important;
  background:linear-gradient(180deg,rgba(225,182,74,.035),transparent 72%)!important;
}
.fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > :nth-child(-n+4) strong {
  margin-top:8px!important;
  font-size:clamp(3.1rem,5.6vw,6rem)!important;
  line-height:.88!important;
  letter-spacing:-.065em!important;
}
.fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > :first-child strong {color:var(--zf-gold-bright)!important;}
.fantasy-shell-v12 .fantasy-metric-v12 {border-radius:0!important;box-shadow:none!important;}

/* The current gameweek strip reads as deadline theatre, not another card. */
.fantasy-shell-v12 .fantasy-content-v12 > section.mb-3.overflow-hidden.border.border-\[\#d8ad3d\]\/24 {
  position:relative;
  margin-bottom:18px!important;
  border:1px solid rgba(225,182,74,.24)!important;
  background:linear-gradient(90deg,rgba(4,13,8,.97),rgba(8,32,18,.86))!important;
  overflow:hidden;
}
.fantasy-shell-v12 .fantasy-content-v12 > section.mb-3.overflow-hidden.border.border-\[\#d8ad3d\]\/24 h2 {
  font-size:clamp(2.2rem,4.6vw,5.4rem)!important;
  line-height:.9!important;
  letter-spacing:-.055em!important;
}

/* My Team becomes the centrepiece. */
.fantasy-shell-v12 .fantasy-content-v12 > .mt-3.grid.gap-3.\32xl\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(320px\,\.55fr\)\] {
  gap:18px!important;
  grid-template-columns:minmax(0,1.65fr) minmax(290px,.35fr)!important;
}
.fantasy-shell-v12 .fantasy-content-v12 > .mt-3.grid.gap-3.\32xl\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(320px\,\.55fr\)\] > section:first-child {
  border-color:rgba(225,182,74,.16)!important;
  background:#041009!important;
}
.fantasy-shell-v12 .fantasy-pitch-v12 {
  min-height:650px!important;
  padding:34px 20px!important;
  border-radius:0!important;
  border:0!important;
  background:
    linear-gradient(rgba(255,255,255,.5),rgba(255,255,255,.5)) center 50%/calc(100% - 60px) 1px no-repeat,
    radial-gradient(circle at center,transparent 0 72px,rgba(255,255,255,.46) 73px 74px,transparent 75px),
    repeating-linear-gradient(90deg,rgba(255,255,255,.018) 0 12.5%,rgba(0,0,0,.022) 12.5% 25%),
    linear-gradient(180deg,#11804b,#0d653c)!important;
  box-shadow:inset 0 18px 70px rgba(0,0,0,.12),inset 0 -32px 80px rgba(0,0,0,.2)!important;
}
.fantasy-shell-v12 .fantasy-player-card-v12 {
  min-width:94px!important;
  min-height:120px!important;
  padding:10px 7px!important;
  border:1px solid rgba(255,255,255,.15)!important;
  border-top-color:rgba(225,182,74,.34)!important;
  border-radius:10px 10px 4px 4px!important;
  background:linear-gradient(180deg,rgba(9,25,15,.98),rgba(2,7,4,.96))!important;
  box-shadow:0 18px 35px rgba(0,0,0,.32)!important;
}
.fantasy-shell-v12 .fantasy-player-card-v12::before {display:none!important;}
.fantasy-shell-v12 .fantasy-player-card-v12:hover,
.fantasy-shell-v12 .fantasy-player-card-v12:focus-within,
.fantasy-shell-v12 .fantasy-player-card-v12[data-selected="true"] {
  transform:translateY(-3px)!important;
  border-color:rgba(225,182,74,.58)!important;
  box-shadow:0 20px 40px rgba(0,0,0,.36)!important;
}
.fantasy-shell-v12 .fantasy-bench-v12 {
  padding:14px!important;
  border-radius:0!important;
  background:#030b07!important;
  border-color:var(--zf-line)!important;
}

/* Market, fixture and content rails: no generic glossy cards. */
.fantasy-shell-v12 .fantasy-content-v12 article,
.fantasy-shell-v12 .fantasy-content-v12 aside > section {
  border-radius:0!important;
  border-color:var(--zf-line)!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 .fantasy-content-v12 aside.space-y-3 > section {
  background:linear-gradient(180deg,#0a1810,#06100b)!important;
}
.fantasy-shell-v12 .fantasy-content-v12 aside.space-y-3 > section:first-child {border-top:2px solid rgba(225,182,74,.46)!important;}

/* Gold is the action colour; no neon treatment. */
.fantasy-shell-v12 main a[class*="bg-[#d8ad3d]"],
.fantasy-shell-v12 main button[class*="bg-[#d8ad3d]"] {
  background:var(--zf-gold)!important;
  color:#111!important;
  box-shadow:none!important;
}
.fantasy-shell-v12 :focus-visible {outline-color:rgba(225,182,74,.82)!important;}

/* Mobile is an intentional game surface, not desktop compressed. */
@media (max-width:1023px) {
  .fantasy-shell-v12 .fantasy-page-header-v12 {min-height:360px!important;}
  .fantasy-shell-v12 .fantasy-content-v12 > .mt-3.grid.gap-3.\32xl\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(320px\,\.55fr\)\] {grid-template-columns:1fr!important;}
  .fantasy-shell-v12 .fantasy-pitch-v12 {min-height:570px!important;}
}

@media (max-width:767px) {
  .fantasy-shell-v12 .fantasy-content-v12 {padding:0 12px 110px!important;background:transparent!important;}
  .fantasy-shell-v12 .fantasy-page-header-v12 {
    min-height:410px!important;
    margin-inline:-12px!important;
    padding:34px 18px 28px!important;
    background:
      linear-gradient(180deg,rgba(2,6,4,.25),rgba(2,6,4,.98) 76%),
      url('/visuals/fantasy-rivalry-lines.svg') 72% 7%/650px auto no-repeat,
      #0d2a1a!important;
  }
  .fantasy-shell-v12 .fantasy-page-header-v12 h1 {max-width:8.8ch!important;font-size:clamp(4rem,19vw,6.2rem)!important;}
  .fantasy-shell-v12 .fantasy-header-action-v12,
  .fantasy-shell-v12 .fantasy-header-action-v12 > div {width:100%;}
  .fantasy-shell-v12 .fantasy-header-action-v12 a[href="/fantasy/pick-team"] {flex:1;min-height:56px!important;justify-content:center;}
  .fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    margin-inline:-12px!important;
    border-left:0!important;
    border-right:0!important;
  }
  .fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > * {min-height:112px!important;padding:14px!important;}
  .fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > :nth-child(-n+4) {min-height:146px!important;}
  .fantasy-shell-v12 .fantasy-content-v12 > .grid.grid-cols-2.md\:grid-cols-4.xl\:grid-cols-8 > :nth-child(-n+4) strong {font-size:clamp(2.65rem,13vw,4rem)!important;}
  .fantasy-shell-v12 .fantasy-content-v12 > .mt-3.grid.gap-3.\32xl\:grid-cols-\[minmax\(0\,1\.45fr\)_minmax\(320px\,\.55fr\)\] {margin-inline:-12px!important;gap:12px!important;}
  .fantasy-shell-v12 .fantasy-pitch-v12 {min-height:520px!important;padding:18px 4px!important;}
  .fantasy-shell-v12 .fantasy-player-card-v12 {min-width:0!important;min-height:98px!important;padding:7px 3px!important;}
  .fantasy-shell-v12 .fantasy-mobile-nav-v12 {
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    border:1px solid rgba(225,182,74,.18)!important;
    background:rgba(3,9,6,.98)!important;
    box-shadow:0 18px 55px rgba(0,0,0,.48)!important;
  }
  .fantasy-shell-v12 .fantasy-mobile-nav-v12 a {min-height:66px!important;position:relative;}
  .fantasy-shell-v12 .fantasy-mobile-nav-v12 a[data-active="true"] {color:var(--zf-gold-bright)!important;background:rgba(225,182,74,.07)!important;}
  .fantasy-shell-v12 .fantasy-mobile-nav-v12 a[data-active="true"]::before {
    content:"";
    position:absolute;
    top:0;
    left:28%;
    right:28%;
    height:2px;
    background:var(--zf-gold)!important;
    box-shadow:none!important;
  }
  .fantasy-shell-v12 .fantasy-mobile-nav-v12 a:nth-child(2) {background:linear-gradient(180deg,rgba(225,182,74,.08),transparent)!important;}
}

@media (prefers-reduced-motion:reduce) {
  .fantasy-shell-v12 *,
  .fantasy-shell-v12 *::before,
  .fantasy-shell-v12 *::after {
    scroll-behavior:auto!important;
    transition-duration:.01ms!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
  }
}