body.site-theme-worldcup {
  --bg: #06191a;
  --bg-soft: #082420;
  --panel: rgba(7, 25, 24, .86);
  --panel-2: rgba(9, 34, 31, .94);
  --card: rgba(255,255,255,.055);
  --card-bg: linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
  --line: rgba(255, 218, 83, .16);
  --line-strong: rgba(255, 218, 83, .34);
  --brand: #63f7a7;
  --accent: #ffd956;
  --gold: #ffd956;
  --text: #f6fff9;
  --muted: #b6d3c3;
  --muted-2: #7ba193;
  --hero-glow: rgba(255, 217, 86, .18);
  --shadow: 0 28px 90px rgba(0, 31, 28, .42);
  --ground-main: #063f29;
  --ground-soft: #08723d;
  --ground-accent: #18a45a;
  --hill-1: transparent;
  --hill-2: transparent;
  --hill-3: transparent;
  --stadium-blue: #063a74;
  --stadium-green: #086735;
  --stadium-gold: #ffda57;
  position: relative;
  isolation: isolate;
  background:
    linear-gradient(180deg, rgba(0, 10, 24, .34), rgba(0, 8, 14, .18) 36%, rgba(0, 24, 14, .34) 100%),
    url("/assets/worldcup-stadium-bg.png") center bottom / cover fixed no-repeat !important;
}

body.light.site-theme-worldcup {
  --bg: #e7fbff;
  --bg-soft: #f7fff8;
  --panel: rgba(255,255,255,.9);
  --panel-2: rgba(255,255,255,.98);
  --card-bg: linear-gradient(180deg, rgba(255,255,255,.9), rgba(255, 251, 222, .62));
  --line: rgba(0, 134, 87, .16);
  --line-strong: rgba(255, 196, 47, .34);
  --brand: #009f5d;
  --accent: #e7b900;
  --text: #05251f;
  --muted: #496e63;
  --muted-2: #78978d;
  --hero-glow: rgba(255, 209, 79, .22);
  --shadow: 0 24px 76px rgba(0, 105, 74, .14);
  --ground-main: #58b852;
  --ground-soft: #78ca5e;
  --ground-accent: #a7e678;
  --stadium-blue: #2e8fd6;
  --stadium-green: #1fa467;
  --stadium-gold: #f6cc36;
}

body.site-theme-worldcup::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(0, 10, 24, .34), rgba(0, 8, 14, .18) 36%, rgba(0, 24, 14, .34) 100%),
    url("/assets/worldcup-stadium-bg.png") center bottom / cover no-repeat;
}

body.site-theme-worldcup #landingPage,
body.site-theme-worldcup #archivePage,
body.site-theme-worldcup main {
  background: transparent !important;
}

body.light.site-theme-worldcup #landingPage,
body.light.site-theme-worldcup #archivePage,
body.light.site-theme-worldcup main {
  background: transparent !important;
}

body.site-theme-worldcup #archivePage::after {
  display: none !important;
}

body.site-theme-worldcup .global-bg {
  position: fixed !important;
  inset: 0 !important;
  z-index: 0 !important;
  background:
    linear-gradient(180deg, rgba(0, 10, 24, .34), rgba(0, 8, 14, .18) 36%, rgba(0, 24, 14, .34) 100%),
    url("/assets/worldcup-stadium-bg.png") center bottom / cover no-repeat !important;
}

body.site-theme-worldcup .bg-top,
body.site-theme-worldcup .bg-bottom,
body.site-theme-worldcup .grid-overlay,
body.site-theme-worldcup .night-sky,
body.site-theme-worldcup .day-sky,
body.site-theme-worldcup .landscape {
  display: none !important;
}

body.site-theme-worldcup .hero-ground {
  display: none !important;
}

body.site-theme-worldcup .ground {
  box-shadow: none !important;
}

body.site-theme-worldcup .worldcup-ball {
  --ball-x: 0px;
  --ball-y: 0px;
  --ball-scale: 1;
  --ball-rotate: 0deg;
  --ball-size: clamp(52px, 5.2vw, 78px);
  position: fixed;
  left: 50%;
  top: 50%;
  width: var(--ball-size);
  height: var(--ball-size);
  z-index: 1200;
  border: 0;
  border-radius: 50%;
  padding: 0;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
  touch-action: manipulation;
  user-select: none;
  -webkit-user-select: none;
  -webkit-tap-highlight-color: transparent;
  transform:
    translate(-50%, -50%)
    translate3d(var(--ball-x), var(--ball-y), 0)
    scale(var(--ball-scale))
    rotate(var(--ball-rotate));
  transition: filter .18s ease;
  background: url("/assets/worldcup-ball.png") center / contain no-repeat;
  box-shadow: none;
  filter: drop-shadow(0 13px 22px rgba(0,0,0,.34));
  will-change: transform, filter;
  animation: worldcupBallIdle 2.8s ease-in-out infinite;
}

body.site-theme-worldcup .worldcup-ball:hover {
  filter: drop-shadow(0 14px 26px rgba(0,0,0,.36)) brightness(1.06);
}

body.site-theme-worldcup .worldcup-ball.is-physics,
body.site-theme-worldcup .worldcup-ball.is-kicked {
  animation: none;
  filter: drop-shadow(0 20px 34px rgba(0,0,0,.42)) brightness(1.06);
}

body.site-theme-worldcup .worldcup-ball.is-returning {
  animation: worldcupBallIdle 2.8s ease-in-out infinite;
}

body.site-theme-worldcup .worldcup-ball-shadow {
  --ball-x: 0px;
  --ball-y: 0px;
  position: fixed;
  left: 50%;
  top: calc(50% + clamp(28px, 3.8vw, 42px));
  width: clamp(42px, 4.6vw, 62px);
  height: clamp(10px, 1.2vw, 16px);
  z-index: 1199;
  border-radius: 50%;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.38), rgba(0,0,0,.08) 55%, transparent 72%);
  transform: translate(-50%, -50%) translate3d(calc(var(--ball-x) * .86), calc(var(--ball-y) * .92), 0);
  transition: opacity .18s ease;
  will-change: transform, opacity;
  animation: worldcupBallShadowIdle 2.8s ease-in-out infinite;
}

body.site-theme-worldcup .worldcup-ball-shadow.is-physics,
body.site-theme-worldcup .worldcup-ball-shadow.is-kicked {
  animation: none;
  opacity: .42;
}

@keyframes worldcupBallIdle {
  0%, 100% {
    transform:
      translate(-50%, -50%)
      translate3d(var(--ball-x), calc(var(--ball-y) - 3px), 0)
      scale(var(--ball-scale))
      rotate(var(--ball-rotate));
  }
  50% {
    transform:
      translate(-50%, -50%)
      translate3d(var(--ball-x), calc(var(--ball-y) + 5px), 0)
      scale(var(--ball-scale))
      rotate(calc(var(--ball-rotate) + 5deg));
  }
}

@keyframes worldcupBallShadowIdle {
  0%, 100% { opacity: .34; transform: translate(-50%, -50%) translate3d(calc(var(--ball-x) * .86), calc(var(--ball-y) * .92), 0) scaleX(.9); }
  50% { opacity: .46; transform: translate(-50%, -50%) translate3d(calc(var(--ball-x) * .86), calc(var(--ball-y) * .92 + 4px), 0) scaleX(1.08); }
}

@media (max-width: 720px) {
  body.site-theme-worldcup .worldcup-ball {
    --ball-size: clamp(48px, 14vw, 70px);
  }
}

body.site-theme-worldcup .worldcup-sound-toggle {
  position: fixed;
  right: 22px;
  bottom: 22px;
  z-index: 1300;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 217, 86, .34);
  color: #fff8d4;
  background:
    linear-gradient(135deg, rgba(0, 159, 93, .32), rgba(0, 83, 156, .22)),
    rgba(5, 21, 25, .88);
  box-shadow: 0 14px 34px rgba(0,0,0,.28), inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter: blur(14px);
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: transform .18s ease, filter .18s ease, background .18s ease, border-color .18s ease;
}

body.site-theme-worldcup .worldcup-sound-toggle:hover {
  transform: translateY(-2px);
  filter: brightness(1.08);
}

body.site-theme-worldcup .worldcup-sound-toggle.is-on {
  color: #08231c;
  border-color: rgba(255, 242, 156, .64);
  background: linear-gradient(135deg, #27d676 0%, #ffe05f 100%);
}

body.site-theme-worldcup .worldcup-sound-toggle.is-disabled {
  opacity: .48;
  cursor: not-allowed;
}

body.site-theme-worldcup .sound-icon {
  position: relative;
  width: 26px;
  height: 26px;
  display: block;
}

body.site-theme-worldcup .sound-core {
  position: absolute;
  left: 3px;
  top: 9px;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: currentColor;
}

body.site-theme-worldcup .sound-core::after {
  content: "";
  position: absolute;
  left: 6px;
  top: -5px;
  width: 0;
  height: 0;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 11px solid currentColor;
}

body.site-theme-worldcup .sound-wave {
  position: absolute;
  border: 2px solid currentColor;
  border-left: 0;
  border-top-color: transparent;
  border-bottom-color: transparent;
  border-radius: 0 50% 50% 0;
  opacity: .22;
}

body.site-theme-worldcup .sound-wave.w1 {
  left: 15px;
  top: 7px;
  width: 7px;
  height: 12px;
}

body.site-theme-worldcup .sound-wave.w2 {
  left: 17px;
  top: 4px;
  width: 10px;
  height: 18px;
}

body.site-theme-worldcup .worldcup-sound-toggle:not(.is-on)::after {
  content: "";
  position: absolute;
  width: 28px;
  height: 2px;
  border-radius: 999px;
  background: currentColor;
  transform: rotate(-42deg);
  opacity: .86;
}

body.site-theme-worldcup .worldcup-sound-toggle.is-on .sound-wave {
  opacity: .78;
  animation: worldcupSoundWave 1.4s ease-in-out infinite;
}

body.site-theme-worldcup .worldcup-sound-toggle.is-on .sound-wave.w2 {
  animation-delay: .16s;
}

@keyframes worldcupSoundWave {
  0%, 100% { transform: scaleX(.82); opacity: .42; }
  50% { transform: scaleX(1.14); opacity: .88; }
}

@media (max-width: 720px) {
  body.site-theme-worldcup .worldcup-sound-toggle {
    right: 16px;
    bottom: 16px;
    width: 44px;
    height: 44px;
  }
}

body.site-theme-worldcup .worldcup-intro {
  position: fixed;
  inset: 0;
  z-index: 2400;
  pointer-events: none;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(ellipse at 50% 48%, rgba(255, 218, 83, .24), transparent 32%),
    radial-gradient(ellipse at 50% 92%, rgba(0, 159, 93, .3), transparent 44%),
    linear-gradient(180deg, rgba(1, 8, 22, .82), rgba(1, 16, 18, .74));
  animation: worldcupIntroOverlay 6.1s ease forwards;
}

body.site-theme-worldcup .intro-stadium-glow {
  position: absolute;
  left: 50%;
  top: 54%;
  width: min(980px, 88vw);
  height: min(420px, 42vh);
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16);
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.16), transparent 58%),
    linear-gradient(90deg, rgba(0, 159, 93, .18), rgba(255, 218, 83, .18), rgba(0, 83, 156, .18));
  transform: translate(-50%, -50%) scale(.2);
  opacity: 0;
  animation: worldcupIntroGlow 5.4s cubic-bezier(.16,.88,.22,1) forwards;
}

body.site-theme-worldcup .intro-title {
  position: relative;
  z-index: 4;
  max-width: min(980px, 92vw);
  text-align: center;
  font-size: clamp(2.2rem, 8vw, 6.7rem);
  line-height: .92;
  font-weight: 1000;
  letter-spacing: .02em;
  color: #fffdf0;
  text-transform: uppercase;
  text-shadow:
    0 0 18px rgba(255, 218, 83, .32),
    0 14px 38px rgba(0,0,0,.46);
}

body.site-theme-worldcup .intro-title span {
  display: inline-block;
  transform: translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot)) scale(.16);
  opacity: 0;
  animation: worldcupIntroLetter 5.75s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: calc(.32s + var(--i) * .045s);
}

body.site-theme-worldcup .intro-title span.is-space {
  width: .34em;
}

body.site-theme-worldcup .intro-ribbon {
  position: absolute;
  z-index: 5;
  left: 50%;
  top: calc(50% + clamp(74px, 12vw, 142px));
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 242, 156, .34);
  color: #06231c;
  background: linear-gradient(135deg, #26d976, #ffe05f);
  box-shadow: 0 18px 44px rgba(0,0,0,.34);
  font-weight: 950;
  transform: translate(-50%, 80px) scale(.65);
  opacity: 0;
  animation: worldcupIntroRibbon 5.7s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: 1.35s;
}

body.site-theme-worldcup .intro-ribbon span,
body.site-theme-worldcup .intro-ribbon strong {
  font-size: clamp(.86rem, 2.2vw, 1.2rem);
}

body.site-theme-worldcup .intro-star {
  position: absolute;
  z-index: 3;
  width: clamp(18px, 3vw, 34px);
  height: clamp(18px, 3vw, 34px);
  background: linear-gradient(135deg, #fff8b8, #ffd956);
  clip-path: polygon(50% 0%, 62% 34%, 98% 35%, 69% 56%, 79% 91%, 50% 70%, 21% 91%, 31% 56%, 2% 35%, 38% 34%);
  filter: drop-shadow(0 0 18px rgba(255, 218, 83, .52));
  opacity: 0;
  animation: worldcupIntroStar 5.2s cubic-bezier(.2,.86,.2,1) forwards;
}

body.site-theme-worldcup .intro-star.s1 { left: 12%; top: 24%; --sx: 42vw; --sy: 16vh; animation-delay: .2s; }
body.site-theme-worldcup .intro-star.s2 { left: 84%; top: 22%; --sx: -38vw; --sy: 18vh; animation-delay: .35s; }
body.site-theme-worldcup .intro-star.s3 { left: 18%; top: 76%; --sx: 31vw; --sy: -26vh; animation-delay: .48s; }
body.site-theme-worldcup .intro-star.s4 { left: 78%; top: 72%; --sx: -28vw; --sy: -24vh; animation-delay: .62s; }
body.site-theme-worldcup .intro-star.s5 { left: 50%; top: 13%; --sx: 0vw; --sy: 34vh; animation-delay: .1s; }

body.site-theme-worldcup .intro-trophy,
body.site-theme-worldcup .intro-mini-trophy {
  position: absolute;
  z-index: 4;
  width: clamp(68px, 9vw, 112px);
  height: clamp(86px, 11vw, 142px);
  transform: translate(-50%, -50%) scale(.2) rotate(-22deg);
  opacity: 0;
  animation: worldcupIntroTrophy 5.8s cubic-bezier(.16,.9,.2,1) forwards;
}

body.site-theme-worldcup .intro-trophy {
  left: 50%;
  top: calc(50% - clamp(120px, 16vw, 180px));
  animation-delay: .72s;
}

body.site-theme-worldcup .intro-mini-trophy {
  width: clamp(42px, 6vw, 72px);
  height: clamp(54px, 7vw, 92px);
  z-index: 3;
}

body.site-theme-worldcup .intro-mini-trophy.t1 {
  left: 18%;
  top: 58%;
  animation-delay: .45s;
}

body.site-theme-worldcup .intro-mini-trophy.t2 {
  left: 82%;
  top: 58%;
  animation-delay: .58s;
}

body.site-theme-worldcup .intro-trophy span,
body.site-theme-worldcup .intro-mini-trophy span {
  position: absolute;
  left: 22%;
  top: 8%;
  width: 56%;
  height: 62%;
  border-radius: 42% 42% 22% 22%;
  background:
    linear-gradient(135deg, rgba(255,255,255,.66), transparent 18%),
    linear-gradient(135deg, #fff5a8 0%, #ffd956 42%, #d39b17 100%);
  box-shadow: inset -9px -12px 18px rgba(87, 55, 0, .28), 0 0 24px rgba(255, 218, 83, .28);
}

body.site-theme-worldcup .intro-trophy span::before,
body.site-theme-worldcup .intro-trophy span::after,
body.site-theme-worldcup .intro-mini-trophy span::before,
body.site-theme-worldcup .intro-mini-trophy span::after {
  content: "";
  position: absolute;
  top: 12%;
  width: 42%;
  height: 42%;
  border: 6px solid #f0c23a;
  border-radius: 50%;
}

body.site-theme-worldcup .intro-trophy span::before,
body.site-theme-worldcup .intro-mini-trophy span::before {
  left: -34%;
  border-right: 0;
}

body.site-theme-worldcup .intro-trophy span::after,
body.site-theme-worldcup .intro-mini-trophy span::after {
  right: -34%;
  border-left: 0;
}

body.site-theme-worldcup .intro-trophy::before,
body.site-theme-worldcup .intro-mini-trophy::before {
  content: "";
  position: absolute;
  left: 41%;
  top: 62%;
  width: 18%;
  height: 20%;
  background: linear-gradient(180deg, #f5cb3d, #b87910);
}

body.site-theme-worldcup .intro-trophy::after,
body.site-theme-worldcup .intro-mini-trophy::after {
  content: "";
  position: absolute;
  left: 26%;
  bottom: 6%;
  width: 48%;
  height: 14%;
  border-radius: 8px 8px 4px 4px;
  background: linear-gradient(135deg, #fff0a0, #c48713);
}

@keyframes worldcupIntroOverlay {
  0% { opacity: 0; }
  10%, 78% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

@keyframes worldcupIntroGlow {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.2); }
  30%, 72% { opacity: 1; transform: translate(-50%, -50%) scale(1); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.28); }
}

@keyframes worldcupIntroLetter {
  0% { opacity: 0; transform: translate3d(var(--from-x), var(--from-y), 0) rotate(var(--rot)) scale(.16); filter: blur(8px); }
  32% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1.08); filter: blur(0); }
  48%, 76% { opacity: 1; transform: translate3d(0, 0, 0) rotate(0deg) scale(1); filter: blur(0); }
  100% { opacity: 0; transform: translate3d(0, -42vh, 0) rotate(-10deg) scale(.72); filter: blur(5px); }
}

@keyframes worldcupIntroRibbon {
  0% { opacity: 0; transform: translate(-50%, 80px) scale(.65); }
  32%, 74% { opacity: 1; transform: translate(-50%, 0) scale(1); }
  100% { opacity: 0; transform: translate(-50%, 70px) scale(.82); }
}

@keyframes worldcupIntroStar {
  0% { opacity: 0; transform: translate3d(0, 0, 0) rotate(0deg) scale(.2); }
  34%, 72% { opacity: 1; transform: translate3d(var(--sx), var(--sy), 0) rotate(270deg) scale(1); }
  100% { opacity: 0; transform: translate3d(calc(var(--sx) * 1.35), calc(var(--sy) * 1.25 - 28vh), 0) rotate(520deg) scale(.35); }
}

@keyframes worldcupIntroTrophy {
  0% { opacity: 0; transform: translate(-50%, -50%) translate3d(0, 46vh, 0) scale(.2) rotate(-22deg); }
  35% { opacity: 1; transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(1.08) rotate(4deg); }
  52%, 76% { opacity: 1; transform: translate(-50%, -50%) translate3d(0, 0, 0) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -50%) translate3d(0, -46vh, 0) scale(.65) rotate(18deg); }
}

@media (max-width: 720px) {
  body.site-theme-worldcup .intro-title {
    font-size: clamp(2rem, 13vw, 4.6rem);
    max-width: 96vw;
  }

  body.site-theme-worldcup .intro-ribbon {
    top: calc(50% + 116px);
  }
}

body.site-theme-worldcup .worldcup-intro.is-image-intro {
  background:
    radial-gradient(ellipse at 50% 54%, rgba(255, 223, 74, .2), transparent 30%),
    radial-gradient(ellipse at 50% 78%, rgba(0, 159, 93, .22), transparent 50%),
    linear-gradient(180deg, rgba(0, 7, 22, .91), rgba(1, 17, 24, .88) 52%, rgba(0, 36, 29, .9));
  backdrop-filter: blur(2px) saturate(.82);
  -webkit-backdrop-filter: blur(2px) saturate(.82);
  animation: worldcupImageIntroOverlay 6.35s ease forwards;
}

body.site-theme-worldcup .is-image-intro .intro-image-stage {
  position: relative;
  width: min(1040px, 92vw);
  height: min(620px, 78vh);
  transform-style: preserve-3d;
  isolation: isolate;
  filter: saturate(1.08);
}

body.site-theme-worldcup .is-image-intro .intro-image-stage::before {
  content: "";
  position: absolute;
  z-index: 0;
  left: 50%;
  top: 55%;
  width: min(980px, 88vw);
  height: min(430px, 48vh);
  border: 1px solid rgba(255, 245, 166, .22);
  border-radius: 50%;
  background:
    radial-gradient(ellipse at 50% 50%, rgba(255,255,255,.18), transparent 54%),
    linear-gradient(90deg, rgba(0, 159, 93, .2), rgba(255, 218, 83, .22), rgba(0, 83, 156, .18));
  box-shadow:
    0 0 80px rgba(255, 218, 83, .18),
    inset 0 0 70px rgba(255,255,255,.08);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.24);
  animation: worldcupImageIntroHalo 5.8s cubic-bezier(.16,.88,.22,1) forwards;
}

body.site-theme-worldcup .is-image-intro .intro-image-stage::after {
  content: "";
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 71%;
  width: min(680px, 74vw);
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255, 244, 168, .76), rgba(55, 223, 118, .72), transparent);
  filter: blur(.3px);
  opacity: 0;
  transform: translateX(-50%) scaleX(.2);
  animation: worldcupImageIntroLine 5.8s ease forwards;
}

body.site-theme-worldcup .is-image-intro .intro-light-sweep {
  position: absolute;
  z-index: 8;
  left: -24%;
  top: 8%;
  width: 30%;
  height: 84%;
  border-radius: 999px;
  background: linear-gradient(100deg, transparent, rgba(255,255,255,.36), transparent);
  filter: blur(10px);
  opacity: 0;
  transform: rotate(16deg);
  animation: worldcupImageIntroSweep 5.9s ease forwards;
}

body.site-theme-worldcup .is-image-intro .intro-stadium-beam {
  position: absolute;
  z-index: 2;
  top: -14%;
  width: min(420px, 46vw);
  height: 104%;
  opacity: 0;
  border-radius: 999px;
  mix-blend-mode: screen;
  filter: blur(12px);
  transform-origin: 50% 0%;
  background:
    radial-gradient(ellipse at 50% 0%, rgba(255,255,255,.42), transparent 18%),
    linear-gradient(180deg, rgba(255, 245, 168, .34), rgba(68, 225, 141, .14) 42%, transparent 78%);
}

body.site-theme-worldcup .is-image-intro .beam-left {
  left: 4%;
  transform: rotate(28deg) translateY(-20%);
  animation: worldcupImageIntroBeamLeft 6.15s ease forwards;
}

body.site-theme-worldcup .is-image-intro .beam-right {
  right: 4%;
  transform: rotate(-28deg) translateY(-20%);
  animation: worldcupImageIntroBeamRight 6.15s ease forwards;
}

body.site-theme-worldcup .is-image-intro .intro-impact-burst {
  position: absolute;
  z-index: 3;
  left: 50%;
  top: 53%;
  width: min(760px, 82vw);
  aspect-ratio: 1 / .36;
  border-radius: 50%;
  border: 1px solid rgba(255, 246, 162, .58);
  background:
    radial-gradient(ellipse at center, rgba(255,255,255,.24), rgba(255, 218, 83, .18) 24%, rgba(0, 159, 93, .13) 52%, transparent 72%);
  box-shadow:
    0 0 48px rgba(255, 218, 83, .32),
    inset 0 0 56px rgba(255,255,255,.16);
  opacity: 0;
  transform: translate(-50%, -50%) scale(.18);
  animation: worldcupImageIntroImpact 6.15s cubic-bezier(.16,.9,.2,1) forwards;
}

body.site-theme-worldcup .is-image-intro .intro-gold-dust {
  position: absolute;
  z-index: 7;
  left: 50%;
  top: 54%;
  width: clamp(8px, 1.4vw, 16px);
  aspect-ratio: 1;
  opacity: 0;
  background: linear-gradient(135deg, #fff8b8, #ffd642 58%, #e4a40d);
  clip-path: polygon(50% 0%, 61% 34%, 98% 35%, 68% 56%, 79% 91%, 50% 72%, 21% 91%, 32% 56%, 2% 35%, 39% 34%);
  filter: drop-shadow(0 0 10px rgba(255, 218, 83, .72));
  animation: worldcupImageIntroDust 6.1s ease forwards;
}

body.site-theme-worldcup .is-image-intro .intro-gold-dust.d1 { --dx: -360px; --dy: -130px; animation-delay: .02s; }
body.site-theme-worldcup .is-image-intro .intro-gold-dust.d2 { --dx: -250px; --dy: 90px; animation-delay: .08s; }
body.site-theme-worldcup .is-image-intro .intro-gold-dust.d3 { --dx: -80px; --dy: -190px; animation-delay: .14s; }
body.site-theme-worldcup .is-image-intro .intro-gold-dust.d4 { --dx: 120px; --dy: -170px; animation-delay: .04s; }
body.site-theme-worldcup .is-image-intro .intro-gold-dust.d5 { --dx: 270px; --dy: 78px; animation-delay: .12s; }
body.site-theme-worldcup .is-image-intro .intro-gold-dust.d6 { --dx: 365px; --dy: -120px; animation-delay: .18s; }

body.site-theme-worldcup .is-image-intro img {
  pointer-events: none;
  user-select: none;
}

body.site-theme-worldcup .is-image-intro .intro-trophy-img {
  position: absolute;
  z-index: 4;
  left: 50%;
  top: 2%;
  width: clamp(132px, 14vw, 215px);
  height: auto;
  opacity: 0;
  transform-origin: center bottom;
  filter:
    drop-shadow(0 0 20px rgba(255, 222, 82, .45))
    drop-shadow(0 26px 34px rgba(0,0,0,.36));
  animation: worldcupImageIntroTrophy 6s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .12s;
}

body.site-theme-worldcup .is-image-intro .intro-mini-trophy-img {
  position: absolute;
  z-index: 2;
  top: 57%;
  width: clamp(66px, 7vw, 112px);
  height: auto;
  opacity: 0;
  filter:
    drop-shadow(0 0 16px rgba(255, 222, 82, .36))
    drop-shadow(0 18px 24px rgba(0,0,0,.32));
}

body.site-theme-worldcup .is-image-intro .intro-mini-left {
  left: 7%;
  animation: worldcupImageIntroMiniLeft 5.9s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .34s;
}

body.site-theme-worldcup .is-image-intro .intro-mini-right {
  right: 7%;
  animation: worldcupImageIntroMiniRight 5.9s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .42s;
}

body.site-theme-worldcup .is-image-intro .intro-title-img,
body.site-theme-worldcup .is-image-intro .intro-ribbon-img {
  position: absolute;
  z-index: 5;
  left: 50%;
  height: auto;
  opacity: 0;
  object-fit: contain;
  filter:
    drop-shadow(0 0 22px rgba(255, 218, 83, .38))
    drop-shadow(0 18px 28px rgba(0,0,0,.38));
}

body.site-theme-worldcup .is-image-intro .intro-line-copa {
  top: 34%;
  width: min(500px, 56vw);
  animation: worldcupImageIntroFromLeft 6s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .18s;
}

body.site-theme-worldcup .is-image-intro .intro-line-mundo {
  top: 48%;
  width: min(790px, 82vw);
  animation: worldcupImageIntroFromRight 6s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .3s;
}

body.site-theme-worldcup .is-image-intro .intro-line-year {
  top: 62%;
  width: min(430px, 52vw);
  animation: worldcupImageIntroFromBottom 6s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .42s;
}

body.site-theme-worldcup .is-image-intro .intro-ribbon-img {
  z-index: 6;
  top: 78%;
  width: min(300px, 48vw);
  animation: worldcupImageIntroRibbonImg 5.85s cubic-bezier(.16,.9,.2,1) forwards;
  animation-delay: .88s;
}

@keyframes worldcupImageIntroOverlay {
  0% { opacity: 0; }
  8%, 82% { opacity: 1; }
  100% { opacity: 0; visibility: hidden; }
}

@keyframes worldcupImageIntroHalo {
  0% { opacity: 0; transform: translate(-50%, -50%) scale(.24) rotate(-10deg); }
  28%, 76% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.2) rotate(5deg); }
}

@keyframes worldcupImageIntroLine {
  0%, 18% { opacity: 0; transform: translateX(-50%) scaleX(.2); }
  34%, 76% { opacity: .95; transform: translateX(-50%) scaleX(1); }
  100% { opacity: 0; transform: translateX(-50%) scaleX(.72); }
}

@keyframes worldcupImageIntroSweep {
  0%, 18% { opacity: 0; transform: translateX(0) rotate(16deg); }
  30% { opacity: .85; }
  58% { opacity: .18; }
  100% { opacity: 0; transform: translateX(168vw) rotate(16deg); }
}

@keyframes worldcupImageIntroBeamLeft {
  0%, 12% { opacity: 0; transform: rotate(28deg) translateY(-20%) translateX(-14%); }
  28% { opacity: .56; transform: rotate(18deg) translateY(0) translateX(4%); }
  48%, 72% { opacity: .38; transform: rotate(24deg) translateY(1%) translateX(0); }
  100% { opacity: 0; transform: rotate(34deg) translateY(-8%) translateX(-18%); }
}

@keyframes worldcupImageIntroBeamRight {
  0%, 12% { opacity: 0; transform: rotate(-28deg) translateY(-20%) translateX(14%); }
  28% { opacity: .56; transform: rotate(-18deg) translateY(0) translateX(-4%); }
  48%, 72% { opacity: .38; transform: rotate(-24deg) translateY(1%) translateX(0); }
  100% { opacity: 0; transform: rotate(-34deg) translateY(-8%) translateX(18%); }
}

@keyframes worldcupImageIntroImpact {
  0%, 24% { opacity: 0; transform: translate(-50%, -50%) scale(.18); filter: blur(12px); }
  33% { opacity: .95; transform: translate(-50%, -50%) scale(1); filter: blur(0); }
  39% { opacity: .34; transform: translate(-50%, -50%) scale(1.16); filter: blur(3px); }
  70% { opacity: .2; transform: translate(-50%, -50%) scale(1.08); filter: blur(5px); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(1.36); filter: blur(14px); }
}

@keyframes worldcupImageIntroDust {
  0%, 25% { opacity: 0; transform: translate(-50%, -50%) scale(.2) rotate(0deg); }
  34% { opacity: 1; transform: translate(calc(-50% + var(--dx) * .58), calc(-50% + var(--dy) * .58)) scale(1) rotate(160deg); }
  58% { opacity: .72; transform: translate(calc(-50% + var(--dx) * .86), calc(-50% + var(--dy) * .84)) scale(.76) rotate(330deg); }
  100% { opacity: 0; transform: translate(calc(-50% + var(--dx)), calc(-50% + var(--dy) - 120px)) scale(.26) rotate(620deg); }
}

@keyframes worldcupImageIntroTrophy {
  0% { opacity: 0; transform: translate(-50%, -72vh) scale(.54) rotate(-12deg); filter: blur(6px) brightness(.8) drop-shadow(0 0 18px rgba(255,218,83,.26)); }
  28% { opacity: 1; transform: translate(-50%, 0) scale(1.08) rotate(3deg); filter: blur(0) brightness(1.36) drop-shadow(0 0 30px rgba(255,218,83,.62)); }
  44%, 76% { opacity: 1; transform: translate(-50%, 0) scale(1) rotate(0deg); filter: blur(0) brightness(1) drop-shadow(0 0 20px rgba(255,218,83,.45)); }
  88% { opacity: .96; transform: translate(-50%, -8vh) scale(.96) rotate(4deg); filter: blur(1px) brightness(1.8) drop-shadow(0 0 38px rgba(255,245,166,.74)); }
  100% { opacity: 0; transform: translate(-50%, -76vh) scale(.58) rotate(12deg); filter: blur(9px) brightness(2.4) drop-shadow(0 0 18px rgba(255,218,83,.26)); }
}

@keyframes worldcupImageIntroMiniLeft {
  0% { opacity: 0; transform: translate(-120vw, 20vh) scale(.34) rotate(-30deg); filter: blur(7px) brightness(.8); }
  32% { opacity: .9; transform: translate(0, -50%) scale(.72) rotate(-8deg); filter: blur(0) brightness(1.28); }
  44%, 72% { opacity: .72; transform: translate(0, -50%) scale(.68) rotate(0deg); filter: blur(0) brightness(1); }
  100% { opacity: 0; transform: translate(-72vw, -74vh) scale(.26) rotate(-26deg); filter: blur(7px) brightness(2.1); }
}

@keyframes worldcupImageIntroMiniRight {
  0% { opacity: 0; transform: translate(120vw, 18vh) scale(.34) rotate(30deg); filter: blur(7px) brightness(.8); }
  32% { opacity: .9; transform: translate(0, -50%) scale(.72) rotate(8deg); filter: blur(0) brightness(1.28); }
  44%, 72% { opacity: .72; transform: translate(0, -50%) scale(.68) rotate(0deg); filter: blur(0) brightness(1); }
  100% { opacity: 0; transform: translate(72vw, -74vh) scale(.26) rotate(26deg); filter: blur(7px) brightness(2.1); }
}

@keyframes worldcupImageIntroFromLeft {
  0% { opacity: 0; transform: translate(-112vw, -50%) scale(.74) rotate(-7deg); filter: blur(9px) brightness(.8); }
  30% { opacity: 1; transform: translate(-50%, -50%) scale(1.05) rotate(1deg); filter: blur(0) brightness(1.35) drop-shadow(0 0 28px rgba(255, 244, 166, .56)); }
  44%, 76% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); filter: blur(0) brightness(1) drop-shadow(0 18px 28px rgba(0,0,0,.38)); }
  88% { opacity: .92; transform: translate(-50%, -54%) scale(.96) rotate(-2deg); filter: blur(1px) brightness(1.75) drop-shadow(0 0 38px rgba(255, 246, 170, .76)); }
  100% { opacity: 0; transform: translate(-50%, -76vh) scale(.64) rotate(-8deg); filter: blur(10px) brightness(2.35) drop-shadow(0 0 22px rgba(255, 246, 170, .44)); }
}

@keyframes worldcupImageIntroFromRight {
  0% { opacity: 0; transform: translate(112vw, -50%) scale(.74) rotate(7deg); filter: blur(9px) brightness(.8); }
  30% { opacity: 1; transform: translate(-50%, -50%) scale(1.05) rotate(-1deg); filter: blur(0) brightness(1.35) drop-shadow(0 0 28px rgba(255, 244, 166, .56)); }
  44%, 76% { opacity: 1; transform: translate(-50%, -50%) scale(1) rotate(0deg); filter: blur(0) brightness(1) drop-shadow(0 18px 28px rgba(0,0,0,.38)); }
  88% { opacity: .92; transform: translate(-50%, -54%) scale(.96) rotate(2deg); filter: blur(1px) brightness(1.75) drop-shadow(0 0 38px rgba(255, 246, 170, .76)); }
  100% { opacity: 0; transform: translate(-50%, -76vh) scale(.64) rotate(8deg); filter: blur(10px) brightness(2.35) drop-shadow(0 0 22px rgba(255, 246, 170, .44)); }
}

@keyframes worldcupImageIntroFromBottom {
  0% { opacity: 0; transform: translate(-50%, 76vh) scale(.6); filter: blur(9px) brightness(.8); }
  30% { opacity: 1; transform: translate(-50%, -50%) scale(1.08); filter: blur(0) brightness(1.4) drop-shadow(0 0 30px rgba(255, 244, 166, .58)); }
  44%, 76% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0) brightness(1) drop-shadow(0 18px 28px rgba(0,0,0,.38)); }
  88% { opacity: .9; transform: translate(-50%, -58%) scale(.94); filter: blur(1px) brightness(1.76) drop-shadow(0 0 36px rgba(255, 246, 170, .72)); }
  100% { opacity: 0; transform: translate(-50%, -74vh) scale(.62); filter: blur(10px) brightness(2.35) drop-shadow(0 0 22px rgba(255, 246, 170, .42)); }
}

@keyframes worldcupImageIntroRibbonImg {
  0%, 18% { opacity: 0; transform: translate(-50%, 64px) scale(.7); filter: blur(5px) brightness(.8); }
  36%, 76% { opacity: 1; transform: translate(-50%, -50%) scale(1); filter: blur(0) brightness(1); }
  88% { opacity: .92; transform: translate(-50%, -58%) scale(.92); filter: blur(1px) brightness(1.6); }
  100% { opacity: 0; transform: translate(-50%, 84px) scale(.7); filter: blur(7px) brightness(2.1); }
}

@media (max-width: 720px) {
  body.site-theme-worldcup .is-image-intro .intro-image-stage {
    width: 96vw;
    height: min(560px, 76vh);
  }

  body.site-theme-worldcup .is-image-intro .intro-trophy-img {
    top: 4%;
    width: clamp(112px, 26vw, 168px);
  }

  body.site-theme-worldcup .is-image-intro .intro-mini-trophy-img {
    width: clamp(48px, 14vw, 76px);
    top: 60%;
  }

  body.site-theme-worldcup .is-image-intro .intro-mini-left {
    left: 1%;
  }

  body.site-theme-worldcup .is-image-intro .intro-mini-right {
    right: 1%;
  }

  body.site-theme-worldcup .is-image-intro .intro-line-copa {
    top: 35%;
    width: 68vw;
  }

  body.site-theme-worldcup .is-image-intro .intro-line-mundo {
    top: 48%;
    width: 90vw;
  }

  body.site-theme-worldcup .is-image-intro .intro-line-year {
    top: 62%;
    width: 60vw;
  }

  body.site-theme-worldcup .is-image-intro .intro-ribbon-img {
    top: 78%;
    width: 52vw;
  }
}

body.site-theme-worldcup .topbar,
body.site-theme-worldcup .header,
body.site-theme-worldcup header {
  background:
    linear-gradient(90deg, rgba(0, 159, 93, .16), rgba(255, 217, 86, .09), rgba(0, 83, 156, .13)),
    rgba(5, 21, 25, .9) !important;
  border-bottom-color: rgba(255, 217, 86, .18) !important;
  backdrop-filter: blur(18px) !important;
}

body.light.site-theme-worldcup .topbar,
body.light.site-theme-worldcup .header,
body.light.site-theme-worldcup header {
  background:
    linear-gradient(90deg, rgba(0, 159, 93, .1), rgba(255, 217, 86, .12), rgba(0, 83, 156, .08)),
    rgba(255,255,255,.92) !important;
}

body.site-theme-worldcup .brand-mark,
body.site-theme-worldcup .logo-mark,
body.site-theme-worldcup .brand-icon {
  background: linear-gradient(135deg, #00a45f 0%, #6bea9b 48%, #ffd956 100%) !important;
  box-shadow: 0 0 26px rgba(99, 247, 167, .22) !important;
}

body.site-theme-worldcup .brand span,
body.site-theme-worldcup .brand-text span {
  color: #ffd956 !important;
}

body.site-theme-worldcup .nav-links,
body.site-theme-worldcup .language-switch,
body.site-theme-worldcup .theme-switch,
body.site-theme-worldcup .user-chip {
  border-color: rgba(255, 217, 86, .18) !important;
  background-color: rgba(255,255,255,.045) !important;
}

body.site-theme-worldcup .nav-links a.active,
body.site-theme-worldcup .nav-links a:hover,
body.site-theme-worldcup .profile-tab.active,
body.site-theme-worldcup .cloud-tab.active {
  color: #fff8cf !important;
  background: rgba(255, 217, 86, .12) !important;
  border-color: rgba(255, 217, 86, .28) !important;
}

body.site-theme-worldcup .btn.primary,
body.site-theme-worldcup .btn-primary,
body.site-theme-worldcup button.primary {
  color: #06231c !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #28c76f 0%, #ffd956 100%) !important;
  box-shadow: 0 12px 28px rgba(255, 217, 86, .13) !important;
}

body.site-theme-worldcup .btn.discord,
body.site-theme-worldcup .btn-discord {
  color: #fff !important;
  border-color: transparent !important;
  background: linear-gradient(135deg, #0758b8, #00a45f) !important;
}

body.site-theme-worldcup .btn.gold,
body.site-theme-worldcup .plan-card[data-plan="ouro"] .btn {
  color: #102014 !important;
  background: linear-gradient(135deg, #ffd956, #fff0a3) !important;
}

body.site-theme-worldcup .panel,
body.site-theme-worldcup .hero-panel,
body.site-theme-worldcup .archive-stats-card,
body.site-theme-worldcup .tools,
body.site-theme-worldcup .file-card,
body.site-theme-worldcup .trust-card,
body.site-theme-worldcup .feature-card,
body.site-theme-worldcup .step-card,
body.site-theme-worldcup .upload-card,
body.site-theme-worldcup .discord-card,
body.site-theme-worldcup .credit-card,
body.site-theme-worldcup .plan-card,
body.site-theme-worldcup .subscription-card,
body.site-theme-worldcup .payment-panel,
body.site-theme-worldcup .form-card,
body.site-theme-worldcup .status-panel,
body.site-theme-worldcup .cloud-manager-card,
body.site-theme-worldcup .cloud-terminal-shell,
body.site-theme-worldcup .modal,
body.site-theme-worldcup .locked-state,
body.site-theme-worldcup .empty-state {
  border-color: rgba(255, 217, 86, .18) !important;
  background:
    linear-gradient(135deg, rgba(0, 164, 95, .08), transparent 34%),
    linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.032)),
    var(--panel, rgba(7, 25, 24, .86)) !important;
  box-shadow: var(--shadow) !important;
}

body.light.site-theme-worldcup .panel,
body.light.site-theme-worldcup .hero-panel,
body.light.site-theme-worldcup .archive-stats-card,
body.light.site-theme-worldcup .tools,
body.light.site-theme-worldcup .file-card,
body.light.site-theme-worldcup .trust-card,
body.light.site-theme-worldcup .feature-card,
body.light.site-theme-worldcup .step-card,
body.light.site-theme-worldcup .upload-card,
body.light.site-theme-worldcup .discord-card,
body.light.site-theme-worldcup .credit-card,
body.light.site-theme-worldcup .plan-card,
body.light.site-theme-worldcup .subscription-card,
body.light.site-theme-worldcup .payment-panel,
body.light.site-theme-worldcup .form-card,
body.light.site-theme-worldcup .status-panel,
body.light.site-theme-worldcup .cloud-manager-card,
body.light.site-theme-worldcup .cloud-terminal-shell,
body.light.site-theme-worldcup .modal {
  background:
    linear-gradient(135deg, rgba(0, 159, 93, .055), transparent 36%),
    rgba(255,255,255,.9) !important;
}

body.site-theme-worldcup .file-card,
body.site-theme-worldcup .credit-card,
body.site-theme-worldcup .plan-card,
body.site-theme-worldcup .form-card,
body.site-theme-worldcup .feature-card,
body.site-theme-worldcup .step-card,
body.site-theme-worldcup .upload-card,
body.site-theme-worldcup .trust-card {
  position: relative;
  overflow: hidden;
}

body.site-theme-worldcup .file-card::before,
body.site-theme-worldcup .credit-card::before,
body.site-theme-worldcup .plan-card::before,
body.site-theme-worldcup .form-card::before,
body.site-theme-worldcup .feature-card::before,
body.site-theme-worldcup .step-card::before,
body.site-theme-worldcup .upload-card::before,
body.site-theme-worldcup .trust-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #00a45f 0 42%, #ffd956 42% 72%, #0758b8 72% 100%) !important;
  pointer-events: none;
  z-index: 2;
}

body.site-theme-worldcup input,
body.site-theme-worldcup textarea,
body.site-theme-worldcup select,
body.site-theme-worldcup .search,
body.site-theme-worldcup .status-row,
body.site-theme-worldcup .archive-stat,
body.site-theme-worldcup .file-stats span,
body.site-theme-worldcup .meta span,
body.site-theme-worldcup .cloud-meta-chip,
body.site-theme-worldcup .plus-admin-stat {
  border-color: rgba(255, 217, 86, .18) !important;
  background: rgba(255,255,255,.05) !important;
}

body.site-theme-worldcup .filter.active,
body.site-theme-worldcup .filter:hover,
body.site-theme-worldcup .badge,
body.site-theme-worldcup .pill,
body.site-theme-worldcup .kicker,
body.site-theme-worldcup .hero-badge,
body.site-theme-worldcup .eyebrow {
  color: #fff2a8 !important;
  border-color: rgba(255, 217, 86, .28) !important;
  background: rgba(255, 217, 86, .09) !important;
}

body.site-theme-worldcup h1 span,
body.site-theme-worldcup h2 span,
body.site-theme-worldcup .section-kicker,
body.site-theme-worldcup .credit-role,
body.site-theme-worldcup .form-card small {
  color: #ffd956 !important;
}

body.site-theme-worldcup .moon,
body.light.site-theme-worldcup .sun {
  box-shadow: 0 0 0 10px rgba(255, 217, 86, .08), 0 0 52px rgba(99, 247, 167, .16) !important;
}

body.site-theme-worldcup .moon::before,
body.site-theme-worldcup .moon::after,
body.light.site-theme-worldcup .sun::before,
body.light.site-theme-worldcup .sun::after {
  opacity: .22 !important;
}

body.site-theme-worldcup .flower i,
body.site-theme-worldcup .dot,
body.site-theme-worldcup .star.mint {
  background: #ffd956 !important;
  box-shadow: 0 0 16px rgba(255, 217, 86, .36) !important;
}

body.site-theme-worldcup .flower::before,
body.site-theme-worldcup .flower::after {
  background: #63f7a7 !important;
}

body.site-theme-worldcup pre,
body.site-theme-worldcup code,
body.site-theme-worldcup .cloud-terminal {
  border-color: rgba(255, 217, 86, .14) !important;
}

body.site-theme-worldcup .theme-option.selected {
  border-color: rgba(255, 217, 86, .48) !important;
}
