@charset "UTF-8";/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2020 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}
.animate__animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-duration: var(--animate-duration);
  animation-duration: var(--animate-duration);
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.animate__animated.animate__infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.animate__animated.animate__repeat-1 {
  -webkit-animation-iteration-count: 1;
  animation-iteration-count: 1;
  -webkit-animation-iteration-count: var(--animate-repeat);
  animation-iteration-count: var(--animate-repeat);
}
.animate__animated.animate__repeat-2 {
  -webkit-animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(1 * 2);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2);
}
.animate__animated.animate__repeat-3 {
  -webkit-animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(1 * 3);
  -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3);
}
.animate__animated.animate__delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
  -webkit-animation-delay: var(--animate-delay);
  animation-delay: var(--animate-delay);
}
.animate__animated.animate__delay-2s {
  -webkit-animation-delay: calc(1s * 2);
  animation-delay: calc(1s * 2);
  -webkit-animation-delay: calc(var(--animate-delay) * 2);
  animation-delay: calc(var(--animate-delay) * 2);
}
.animate__animated.animate__delay-3s {
  -webkit-animation-delay: calc(1s * 3);
  animation-delay: calc(1s * 3);
  -webkit-animation-delay: calc(var(--animate-delay) * 3);
  animation-delay: calc(var(--animate-delay) * 3);
}
.animate__animated.animate__delay-4s {
  -webkit-animation-delay: calc(1s * 4);
  animation-delay: calc(1s * 4);
  -webkit-animation-delay: calc(var(--animate-delay) * 4);
  animation-delay: calc(var(--animate-delay) * 4);
}
.animate__animated.animate__delay-5s {
  -webkit-animation-delay: calc(1s * 5);
  animation-delay: calc(1s * 5);
  -webkit-animation-delay: calc(var(--animate-delay) * 5);
  animation-delay: calc(var(--animate-delay) * 5);
}
.animate__animated.animate__faster {
  -webkit-animation-duration: calc(1s / 2);
  animation-duration: calc(1s / 2);
  -webkit-animation-duration: calc(var(--animate-duration) / 2);
  animation-duration: calc(var(--animate-duration) / 2);
}
.animate__animated.animate__fast {
  -webkit-animation-duration: calc(1s * 0.8);
  animation-duration: calc(1s * 0.8);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8);
}
.animate__animated.animate__slow {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
}
.animate__animated.animate__slower {
  -webkit-animation-duration: calc(1s * 3);
  animation-duration: calc(1s * 3);
  -webkit-animation-duration: calc(var(--animate-duration) * 3);
  animation-duration: calc(var(--animate-duration) * 3);
}
@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }

  .animate__animated[class*='Out'] {
    opacity: 0;
  }
}
/* Attention seekers  */
@-webkit-keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
@keyframes bounce {
  from,
  20%,
  53%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}
.animate__bounce {
  -webkit-animation-name: bounce;
  animation-name: bounce;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}
.animate__flash {
  -webkit-animation-name: flash;
  animation-name: flash;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
@-webkit-keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes rubberBand {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__rubberBand {
  -webkit-animation-name: rubberBand;
  animation-name: rubberBand;
}
@-webkit-keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
@keyframes shakeX {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(-10px, 0, 0);
    transform: translate3d(-10px, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(10px, 0, 0);
    transform: translate3d(10px, 0, 0);
  }
}
.animate__shakeX {
  -webkit-animation-name: shakeX;
  animation-name: shakeX;
}
@-webkit-keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
@keyframes shakeY {
  from,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
}
.animate__shakeY {
  -webkit-animation-name: shakeY;
  animation-name: shakeY;
}
@-webkit-keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
@keyframes headShake {
  0% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  6.5% {
    -webkit-transform: translateX(-6px) rotateY(-9deg);
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    -webkit-transform: translateX(5px) rotateY(7deg);
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    -webkit-transform: translateX(-3px) rotateY(-5deg);
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    -webkit-transform: translateX(2px) rotateY(3deg);
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}
.animate__headShake {
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-name: headShake;
  animation-name: headShake;
}
@-webkit-keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
@keyframes swing {
  20% {
    -webkit-transform: rotate3d(0, 0, 1, 15deg);
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    -webkit-transform: rotate3d(0, 0, 1, -10deg);
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    -webkit-transform: rotate3d(0, 0, 1, 5deg);
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    -webkit-transform: rotate3d(0, 0, 1, -5deg);
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 0deg);
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.animate__swing {
  -webkit-transform-origin: top center;
  transform-origin: top center;
  -webkit-animation-name: swing;
  animation-name: swing;
}
@-webkit-keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes tada {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__tada {
  -webkit-animation-name: tada;
  animation-name: tada;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes wobble {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  15% {
    -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__wobble {
  -webkit-animation-name: wobble;
  animation-name: wobble;
}
@-webkit-keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
@keyframes jello {
  from,
  11.1%,
  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    -webkit-transform: skewX(6.25deg) skewY(6.25deg);
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }

  88.8% {
    -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.animate__jello {
  -webkit-animation-name: jello;
  animation-name: jello;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
/* Back entrances */
@-webkit-keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInDown {
  0% {
    -webkit-transform: translateY(-1200px) scale(0.7);
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInDown {
  -webkit-animation-name: backInDown;
  animation-name: backInDown;
}
@-webkit-keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInLeft {
  0% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInLeft {
  -webkit-animation-name: backInLeft;
  animation-name: backInLeft;
}
@-webkit-keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInRight {
  0% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInRight {
  -webkit-animation-name: backInRight;
  animation-name: backInRight;
}
@-webkit-keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes backInUp {
  0% {
    -webkit-transform: translateY(1200px) scale(0.7);
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }
}
.animate__backInUp {
  -webkit-animation-name: backInUp;
  animation-name: backInUp;
}
/* Back exits */
@-webkit-keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutDown {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(700px) scale(0.7);
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutDown {
  -webkit-animation-name: backOutDown;
  animation-name: backOutDown;
}
@-webkit-keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutLeft {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(-2000px) scale(0.7);
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutLeft {
  -webkit-animation-name: backOutLeft;
  animation-name: backOutLeft;
}
@-webkit-keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutRight {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateX(0px) scale(0.7);
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateX(2000px) scale(0.7);
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutRight {
  -webkit-animation-name: backOutRight;
  animation-name: backOutRight;
}
@-webkit-keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
@keyframes backOutUp {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
    opacity: 1;
  }

  20% {
    -webkit-transform: translateY(0px) scale(0.7);
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    -webkit-transform: translateY(-700px) scale(0.7);
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}
.animate__backOutUp {
  -webkit-animation-name: backOutUp;
  animation-name: backOutUp;
}
/* Bouncing entrances  */
@-webkit-keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(1.03, 1.03, 1.03);
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    -webkit-transform: scale3d(0.97, 0.97, 0.97);
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}
.animate__bounceIn {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceIn;
  animation-name: bounceIn;
}
@-webkit-keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInDown {
  -webkit-animation-name: bounceInDown;
  animation-name: bounceInDown;
}
@-webkit-keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInLeft {
  -webkit-animation-name: bounceInLeft;
  animation-name: bounceInLeft;
}
@-webkit-keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInRight {
  -webkit-animation-name: bounceInRight;
  animation-name: bounceInRight;
}
@-webkit-keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__bounceInUp {
  -webkit-animation-name: bounceInUp;
  animation-name: bounceInUp;
}
/* Bouncing exits  */
@-webkit-keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
@keyframes bounceOut {
  20% {
    -webkit-transform: scale3d(0.9, 0.9, 0.9);
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    -webkit-transform: scale3d(1.1, 1.1, 1.1);
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.animate__bounceOut {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: bounceOut;
  animation-name: bounceOut;
}
@-webkit-keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutDown {
  20% {
    -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}
.animate__bounceOutDown {
  -webkit-animation-name: bounceOutDown;
  animation-name: bounceOutDown;
}
@-webkit-keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutLeft {
  -webkit-animation-name: bounceOutLeft;
  animation-name: bounceOutLeft;
}
@-webkit-keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}
.animate__bounceOutRight {
  -webkit-animation-name: bounceOutRight;
  animation-name: bounceOutRight;
}
@-webkit-keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
@keyframes bounceOutUp {
  20% {
    -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}
.animate__bounceOutUp {
  -webkit-animation-name: bounceOutUp;
  animation-name: bounceOutUp;
}
/* Fading entrances  */
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}
@-webkit-keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}
@-webkit-keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInDownBig {
  -webkit-animation-name: fadeInDownBig;
  animation-name: fadeInDownBig;
}
@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}
@-webkit-keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInLeftBig {
  -webkit-animation-name: fadeInLeftBig;
  animation-name: fadeInLeftBig;
}
@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}
@-webkit-keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInRightBig {
  -webkit-animation-name: fadeInRightBig;
  animation-name: fadeInRightBig;
}
@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}
@-webkit-keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInUpBig {
  -webkit-animation-name: fadeInUpBig;
  animation-name: fadeInUpBig;
}
@-webkit-keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopLeft {
  -webkit-animation-name: fadeInTopLeft;
  animation-name: fadeInTopLeft;
}
@-webkit-keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInTopRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInTopRight {
  -webkit-animation-name: fadeInTopRight;
  animation-name: fadeInTopRight;
}
@-webkit-keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomLeft {
  -webkit-animation-name: fadeInBottomLeft;
  animation-name: fadeInBottomLeft;
}
@-webkit-keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__fadeInBottomRight {
  -webkit-animation-name: fadeInBottomRight;
  animation-name: fadeInBottomRight;
}
/* Fading exits */
@-webkit-keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
.animate__fadeOut {
  -webkit-animation-name: fadeOut;
  animation-name: fadeOut;
}
@-webkit-keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__fadeOutDown {
  -webkit-animation-name: fadeOutDown;
  animation-name: fadeOutDown;
}
@-webkit-keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, 2000px, 0);
    transform: translate3d(0, 2000px, 0);
  }
}
.animate__fadeOutDownBig {
  -webkit-animation-name: fadeOutDownBig;
  animation-name: fadeOutDownBig;
}
@-webkit-keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__fadeOutLeft {
  -webkit-animation-name: fadeOutLeft;
  animation-name: fadeOutLeft;
}
@-webkit-keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(-2000px, 0, 0);
    transform: translate3d(-2000px, 0, 0);
  }
}
.animate__fadeOutLeftBig {
  -webkit-animation-name: fadeOutLeftBig;
  animation-name: fadeOutLeftBig;
}
@-webkit-keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__fadeOutRight {
  -webkit-animation-name: fadeOutRight;
  animation-name: fadeOutRight;
}
@-webkit-keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(2000px, 0, 0);
    transform: translate3d(2000px, 0, 0);
  }
}
.animate__fadeOutRightBig {
  -webkit-animation-name: fadeOutRightBig;
  animation-name: fadeOutRightBig;
}
@-webkit-keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__fadeOutUp {
  -webkit-animation-name: fadeOutUp;
  animation-name: fadeOutUp;
}
@-webkit-keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(0, -2000px, 0);
    transform: translate3d(0, -2000px, 0);
  }
}
.animate__fadeOutUpBig {
  -webkit-animation-name: fadeOutUpBig;
  animation-name: fadeOutUpBig;
}
@-webkit-keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, -100%, 0);
    transform: translate3d(-100%, -100%, 0);
  }
}
.animate__fadeOutTopLeft {
  -webkit-animation-name: fadeOutTopLeft;
  animation-name: fadeOutTopLeft;
}
@-webkit-keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, -100%, 0);
    transform: translate3d(100%, -100%, 0);
  }
}
.animate__fadeOutTopRight {
  -webkit-animation-name: fadeOutTopRight;
  animation-name: fadeOutTopRight;
}
@-webkit-keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 100%, 0);
    transform: translate3d(100%, 100%, 0);
  }
}
.animate__fadeOutBottomRight {
  -webkit-animation-name: fadeOutBottomRight;
  animation-name: fadeOutBottomRight;
}
@-webkit-keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  to {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 100%, 0);
    transform: translate3d(-100%, 100%, 0);
  }
}
.animate__fadeOutBottomLeft {
  -webkit-animation-name: fadeOutBottomLeft;
  animation-name: fadeOutBottomLeft;
}
/* Flippers */
@-webkit-keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
@keyframes flip {
  from {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  40% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }

  50% {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  80% {
    -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  to {
    -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
}
.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  -webkit-animation-name: flip;
  animation-name: flip;
}
@-webkit-keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInX {
  from {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInX;
  animation-name: flipInX;
}
@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}
.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}
@-webkit-keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutX {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutX {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-animation-name: flipOutX;
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}
@-webkit-keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
@keyframes flipOutY {
  from {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }

  30% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.animate__flipOutY {
  -webkit-animation-duration: calc(1s * 0.75);
  animation-duration: calc(1s * 0.75);
  -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipOutY;
  animation-name: flipOutY;
}
/* Lightspeed */
@-webkit-keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(20deg);
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(-5deg);
    transform: skewX(-5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInRight {
  -webkit-animation-name: lightSpeedInRight;
  animation-name: lightSpeedInRight;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes lightSpeedInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    -webkit-transform: skewX(-20deg);
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: skewX(5deg);
    transform: skewX(5deg);
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__lightSpeedInLeft {
  -webkit-animation-name: lightSpeedInLeft;
  animation-name: lightSpeedInLeft;
  -webkit-animation-timing-function: ease-out;
  animation-timing-function: ease-out;
}
@-webkit-keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutRight {
  -webkit-animation-name: lightSpeedOutRight;
  animation-name: lightSpeedOutRight;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
@-webkit-keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}
.animate__lightSpeedOutLeft {
  -webkit-animation-name: lightSpeedOutLeft;
  animation-name: lightSpeedOutLeft;
  -webkit-animation-timing-function: ease-in;
  animation-timing-function: ease-in;
}
/* Rotating entrances */
@-webkit-keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateIn {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -200deg);
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateIn {
  -webkit-animation-name: rotateIn;
  animation-name: rotateIn;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownLeft {
  -webkit-animation-name: rotateInDownLeft;
  animation-name: rotateInDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInDownRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInDownRight {
  -webkit-animation-name: rotateInDownRight;
  animation-name: rotateInDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpLeft {
  from {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpLeft {
  -webkit-animation-name: rotateInUpLeft;
  animation-name: rotateInUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
@keyframes rotateInUpRight {
  from {
    -webkit-transform: rotate3d(0, 0, 1, -90deg);
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.animate__rotateInUpRight {
  -webkit-animation-name: rotateInUpRight;
  animation-name: rotateInUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Rotating exits */
@-webkit-keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 200deg);
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.animate__rotateOut {
  -webkit-animation-name: rotateOut;
  animation-name: rotateOut;
  -webkit-transform-origin: center;
  transform-origin: center;
}
@-webkit-keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 45deg);
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownLeft {
  -webkit-animation-name: rotateOutDownLeft;
  animation-name: rotateOutDownLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutDownRight {
  -webkit-animation-name: rotateOutDownRight;
  animation-name: rotateOutDownRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
@-webkit-keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, -45deg);
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.animate__rotateOutUpLeft {
  -webkit-animation-name: rotateOutUpLeft;
  animation-name: rotateOutUpLeft;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
}
@-webkit-keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    -webkit-transform: rotate3d(0, 0, 1, 90deg);
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.animate__rotateOutUpRight {
  -webkit-animation-name: rotateOutUpRight;
  animation-name: rotateOutUpRight;
  -webkit-transform-origin: right bottom;
  transform-origin: right bottom;
}
/* Specials */
@-webkit-keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
@keyframes hinge {
  0% {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    -webkit-transform: rotate3d(0, 0, 1, 80deg);
    transform: rotate3d(0, 0, 1, 80deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    -webkit-transform: rotate3d(0, 0, 1, 60deg);
    transform: rotate3d(0, 0, 1, 60deg);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    -webkit-transform: translate3d(0, 700px, 0);
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.animate__hinge {
  -webkit-animation-duration: calc(1s * 2);
  animation-duration: calc(1s * 2);
  -webkit-animation-duration: calc(var(--animate-duration) * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  -webkit-animation-name: hinge;
  animation-name: hinge;
  -webkit-transform-origin: top left;
  transform-origin: top left;
}
@-webkit-keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    -webkit-transform: scale(0.1) rotate(30deg);
    transform: scale(0.1) rotate(30deg);
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
  }

  50% {
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
  }

  70% {
    -webkit-transform: rotate(3deg);
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__jackInTheBox {
  -webkit-animation-name: jackInTheBox;
  animation-name: jackInTheBox;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes rollIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__rollIn {
  -webkit-animation-name: rollIn;
  animation-name: rollIn;
}
/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@-webkit-keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.animate__rollOut {
  -webkit-animation-name: rollOut;
  animation-name: rollOut;
}
/* Zooming entrances */
@-webkit-keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}
.animate__zoomIn {
  -webkit-animation-name: zoomIn;
  animation-name: zoomIn;
}
@-webkit-keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInDown {
  -webkit-animation-name: zoomInDown;
  animation-name: zoomInDown;
}
@-webkit-keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInLeft {
  -webkit-animation-name: zoomInLeft;
  animation-name: zoomInLeft;
}
@-webkit-keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInRight {
  -webkit-animation-name: zoomInRight;
  animation-name: zoomInRight;
}
@-webkit-keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomInUp {
  -webkit-animation-name: zoomInUp;
  animation-name: zoomInUp;
}
/* Zooming exits */
@-webkit-keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    -webkit-transform: scale3d(0.3, 0.3, 0.3);
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}
.animate__zoomOut {
  -webkit-animation-name: zoomOut;
  animation-name: zoomOut;
}
@-webkit-keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutDown {
  -webkit-animation-name: zoomOutDown;
  animation-name: zoomOutDown;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
@-webkit-keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}
.animate__zoomOutLeft {
  -webkit-animation-name: zoomOutLeft;
  animation-name: zoomOutLeft;
  -webkit-transform-origin: left center;
  transform-origin: left center;
}
@-webkit-keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}
.animate__zoomOutRight {
  -webkit-animation-name: zoomOutRight;
  animation-name: zoomOutRight;
  -webkit-transform-origin: right center;
  transform-origin: right center;
}
@-webkit-keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.animate__zoomOutUp {
  -webkit-animation-name: zoomOutUp;
  animation-name: zoomOutUp;
  -webkit-transform-origin: center bottom;
  transform-origin: center bottom;
}
/* Sliding entrances */
@-webkit-keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInDown {
  from {
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInDown {
  -webkit-animation-name: slideInDown;
  animation-name: slideInDown;
}
@-webkit-keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInLeft {
  from {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInLeft {
  -webkit-animation-name: slideInLeft;
  animation-name: slideInLeft;
}
@-webkit-keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInRight {
  from {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInRight {
  -webkit-animation-name: slideInRight;
  animation-name: slideInRight;
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.animate__slideInUp {
  -webkit-animation-name: slideInUp;
  animation-name: slideInUp;
}
/* Sliding exits */
@-webkit-keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
@keyframes slideOutDown {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
  }
}
.animate__slideOutDown {
  -webkit-animation-name: slideOutDown;
  animation-name: slideOutDown;
}
@-webkit-keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
@keyframes slideOutLeft {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
}
.animate__slideOutLeft {
  -webkit-animation-name: slideOutLeft;
  animation-name: slideOutLeft;
}
@-webkit-keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
@keyframes slideOutRight {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
}
.animate__slideOutRight {
  -webkit-animation-name: slideOutRight;
  animation-name: slideOutRight;
}
@-webkit-keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
@keyframes slideOutUp {
  from {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    -webkit-transform: translate3d(0, -100%, 0);
    transform: translate3d(0, -100%, 0);
  }
}
.animate__slideOutUp {
  -webkit-animation-name: slideOutUp;
  animation-name: slideOutUp;
}
/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties {
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
    *, :before, :after, ::backdrop {
      --tw-rotate-x: initial;
      --tw-rotate-y: initial;
      --tw-rotate-z: initial;
      --tw-skew-x: initial;
      --tw-skew-y: initial;
      --tw-border-style: solid;
      --tw-leading: initial;
      --tw-font-weight: initial;
      --tw-outline-style: solid;
      --tw-blur: initial;
      --tw-brightness: initial;
      --tw-contrast: initial;
      --tw-grayscale: initial;
      --tw-hue-rotate: initial;
      --tw-invert: initial;
      --tw-opacity: initial;
      --tw-saturate: initial;
      --tw-sepia: initial;
      --tw-drop-shadow: initial;
      --tw-drop-shadow-color: initial;
      --tw-drop-shadow-alpha: 100%;
      --tw-drop-shadow-size: initial;
      --tw-backdrop-blur: initial;
      --tw-backdrop-brightness: initial;
      --tw-backdrop-contrast: initial;
      --tw-backdrop-grayscale: initial;
      --tw-backdrop-hue-rotate: initial;
      --tw-backdrop-invert: initial;
      --tw-backdrop-opacity: initial;
      --tw-backdrop-saturate: initial;
      --tw-backdrop-sepia: initial;
      --tw-ease: initial;
    }
  }
}

@layer theme {
  :root, :host {
    --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
      "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
      "Courier New", monospace;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --ease-out: cubic-bezier(0, 0, .2, 1);
    --ease-in-out: cubic-bezier(.4, 0, .2, 1);
    --default-transition-duration: .15s;
    --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    --default-font-family: var(--font-sans);
    --default-mono-font-family: var(--font-mono);
  }
}

@layer base {
  *, :after, :before, ::backdrop {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  ::file-selector-button {
    box-sizing: border-box;
    border: 0 solid;
    margin: 0;
    padding: 0;
  }

  html, :host {
    -webkit-text-size-adjust: 100%;
    tab-size: 4;
    line-height: 1.5;
    font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
    font-feature-settings: var(--default-font-feature-settings, normal);
    font-variation-settings: var(--default-font-variation-settings, normal);
    -webkit-tap-highlight-color: transparent;
  }

  hr {
    height: 0;
    color: inherit;
    border-top-width: 1px;
  }

  abbr:where([title]) {
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted;
  }

  h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit;
  }

  a {
    color: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    -webkit-text-decoration: inherit;
    text-decoration: inherit;
  }

  b, strong {
    font-weight: bolder;
  }

  code, kbd, samp, pre {
    font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);
    font-feature-settings: var(--default-mono-font-feature-settings, normal);
    font-variation-settings: var(--default-mono-font-variation-settings, normal);
    font-size: 1em;
  }

  small {
    font-size: 80%;
  }

  sub, sup {
    vertical-align: baseline;
    font-size: 75%;
    line-height: 0;
    position: relative;
  }

  sub {
    bottom: -.25em;
  }

  sup {
    top: -.5em;
  }

  table {
    text-indent: 0;
    border-color: inherit;
    border-collapse: collapse;
  }

  :-moz-focusring {
    outline: auto;
  }

  progress {
    vertical-align: baseline;
  }

  summary {
    display: list-item;
  }

  ol, ul, menu {
    list-style: none;
  }

  img, svg, video, canvas, audio, iframe, embed, object {
    vertical-align: middle;
    display: block;
  }

  img, video {
    max-width: 100%;
    height: auto;
  }

  button, input, select, optgroup, textarea {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  ::file-selector-button {
    font: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    letter-spacing: inherit;
    color: inherit;
    opacity: 1;
    background-color: #0000;
    border-radius: 0;
  }

  :where(select:is([multiple], [size])) optgroup {
    font-weight: bolder;
  }

  :where(select:is([multiple], [size])) optgroup option {
    padding-inline-start: 5.333333vw;
  }

  ::file-selector-button {
    margin-inline-end: 1.066667vw;
  }

  ::placeholder {
    opacity: 1;
  }

  @supports (not ((-webkit-appearance: -apple-pay-button))) or (contain-intrinsic-size: 1px) {
    ::placeholder {
      color: currentColor;
    }

    @supports (color: color-mix(in lab, red, red)) {
      ::placeholder {
        color: color-mix(in oklab, currentcolor 50%, transparent);
      }
    }
  }

  textarea {
    resize: vertical;
  }

  ::-webkit-search-decoration {
    -webkit-appearance: none;
  }

  ::-webkit-date-and-time-value {
    min-height: 1lh;
    text-align: inherit;
  }

  ::-webkit-datetime-edit {
    display: inline-flex;
  }

  ::-webkit-datetime-edit-fields-wrapper {
    padding: 0;
  }

  ::-webkit-datetime-edit {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-year-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-month-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-day-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-hour-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-minute-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-second-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-millisecond-field {
    padding-block: 0;
  }

  ::-webkit-datetime-edit-meridiem-field {
    padding-block: 0;
  }

  ::-webkit-calendar-picker-indicator {
    line-height: 1;
  }

  :-moz-ui-invalid {
    box-shadow: none;
  }

  button, input:where([type="button"], [type="reset"], [type="submit"]) {
    appearance: button;
  }

  ::file-selector-button {
    appearance: button;
  }

  ::-webkit-inner-spin-button {
    height: auto;
  }

  ::-webkit-outer-spin-button {
    height: auto;
  }

  [hidden]:where(:not([hidden="until-found"])) {
    display: none !important;
  }
}

@layer components;

@layer utilities {
  .collapse {
    visibility: collapse;
  }

  .visible {
    visibility: visible;
  }

  .absolute {
    position: absolute;
  }

  .fixed {
    position: fixed;
  }

  .relative {
    position: relative;
  }

  .static {
    position: static;
  }

  .container {
    width: 100%;
  }

  @media (min-width: 40rem) {
    .container {
      max-width: 40rem;
    }
  }

  @media (min-width: 48rem) {
    .container {
      max-width: 48rem;
    }
  }

  @media (min-width: 64rem) {
    .container {
      max-width: 64rem;
    }
  }

  @media (min-width: 80rem) {
    .container {
      max-width: 80rem;
    }
  }

  @media (min-width: 96rem) {
    .container {
      max-width: 96rem;
    }
  }

  .block {
    display: block;
  }

  .flex {
    display: flex;
  }

  .hidden {
    display: none;
  }

  .inline {
    display: inline;
  }

  .inline-block {
    display: inline-block;
  }

  .list-item {
    display: list-item;
  }

  .table {
    display: table;
  }

  .table-cell {
    display: table-cell;
  }

  .table-row {
    display: table-row;
  }

  .flex-1 {
    flex: 1;
  }

  .flex-shrink {
    flex-shrink: 1;
  }

  .transform {
    transform: var(--tw-rotate-x, ) var(--tw-rotate-y, ) var(--tw-rotate-z, ) var(--tw-skew-x, ) var(--tw-skew-y, );
  }

  .resize {
    resize: both;
  }

  .flex-col {
    flex-direction: column;
  }

  .flex-row {
    flex-direction: row;
  }

  .flex-wrap {
    flex-wrap: wrap;
  }

  .justify-between {
    justify-content: space-between;
  }

  .justify-center {
    justify-content: center;
  }

  .justify-end {
    justify-content: flex-end;
  }

  .border {
    border-style: var(--tw-border-style);
    border-width: 1px;
  }

  .text-\[12px\] {
    font-size: 3.2vw;
  }

  .text-\[13px\] {
    font-size: 3.466667vw;
  }

  .text-\[14px\] {
    font-size: 3.733333vw;
  }

  .text-\[15px\] {
    font-size: 4vw;
  }

  .leading-none {
    --tw-leading: 1;
    line-height: 1;
  }

  .font-bold {
    --tw-font-weight: var(--font-weight-bold);
    font-weight: var(--font-weight-bold);
  }

  .font-semibold {
    --tw-font-weight: var(--font-weight-semibold);
    font-weight: var(--font-weight-semibold);
  }

  .outline {
    outline-style: var(--tw-outline-style);
    outline-width: 1px;
  }

  .blur {
    --tw-blur: blur(2.133333vw);
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .filter {
    filter: var(--tw-blur, ) var(--tw-brightness, ) var(--tw-contrast, ) var(--tw-grayscale, ) var(--tw-hue-rotate, ) var(--tw-invert, ) var(--tw-saturate, ) var(--tw-sepia, ) var(--tw-drop-shadow, );
  }

  .backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
    backdrop-filter: var(--tw-backdrop-blur, ) var(--tw-backdrop-brightness, ) var(--tw-backdrop-contrast, ) var(--tw-backdrop-grayscale, ) var(--tw-backdrop-hue-rotate, ) var(--tw-backdrop-invert, ) var(--tw-backdrop-opacity, ) var(--tw-backdrop-saturate, ) var(--tw-backdrop-sepia, );
  }

  .transition {
    transition-property: color, background-color, border-color, outline-color, text-decoration-color, fill, stroke, --tw-gradient-from, --tw-gradient-via, --tw-gradient-to, opacity, box-shadow, transform, translate, scale, rotate, filter, -webkit-backdrop-filter, backdrop-filter, display, content-visibility, overlay, pointer-events;
    transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
    transition-duration: var(--tw-duration, var(--default-transition-duration));
  }

  .ease-in-out {
    --tw-ease: var(--ease-in-out);
    transition-timing-function: var(--ease-in-out);
  }

  .ease-out {
    --tw-ease: var(--ease-out);
    transition-timing-function: var(--ease-out);
  }
}

:root {
  --vt-c-white: #fff;
  --vt-c-white-soft: #f8f8f8;
  --vt-c-white-mute: #f2f2f2;
  --vt-c-black: #181818;
  --vt-c-black-soft: #222;
  --vt-c-black-mute: #282828;
  --vt-c-indigo: #2c3e50;
  --vt-c-divider-light-1: #3c3c3c4a;
  --vt-c-divider-light-2: #3c3c3c1f;
  --vt-c-divider-dark-1: #545454a6;
  --vt-c-divider-dark-2: #5454547a;
  --vt-c-text-light-1: var(--vt-c-indigo);
  --vt-c-text-light-2: #3c3c3ca8;
  --vt-c-text-dark-1: var(--vt-c-white);
  --vt-c-text-dark-2: #ebebeba3;
  --color-background: var(--vt-c-white);
  --color-background-soft: var(--vt-c-white-soft);
  --color-background-mute: var(--vt-c-white-mute);
  --color-border: var(--vt-c-divider-light-2);
  --color-border-hover: var(--vt-c-divider-light-1);
  --color-heading: var(--vt-c-text-light-1);
  --color-text: var(--vt-c-text-light-1);
  --section-gap: 42.666667vw;
  --theme-primary-color: #229778;
  --theme-secondary-background-color: #272d39;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: var(--vt-c-black);
    --color-background-soft: var(--vt-c-black-soft);
    --color-background-mute: var(--vt-c-black-mute);
    --color-border: var(--vt-c-divider-dark-2);
    --color-border-hover: var(--vt-c-divider-dark-1);
    --color-heading: var(--vt-c-text-dark-1);
    --color-text: var(--vt-c-text-dark-2);
  }
}

*, :before, :after {
  box-sizing: border-box;
  margin: 0;
  font-weight: normal;
}

body {
  color: var(--color-text);
  background: var(--color-background);
  text-rendering: optimizelegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen, Ubuntu, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
  font-size: 4vw;
  line-height: 1.6;
  transition: color .5s, background-color .5s;
}

.van-image {
  box-sizing: border-box;
  display: inline-block;
  position: relative;
  overflow: hidden;
}

.van-image__img {
  object-fit: cover;
  vertical-align: middle;
  border: 0;
  width: 100%;
  height: 100%;
  display: block;
}

.van-image__loading, .van-image__error {
  color: #969799;
  background-color: #111114;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  font-size: 3.733333vw;
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
}

.van-image__loading-icon, .van-image__error-icon {
  margin-bottom: 2.133333vw;
  font-size: 8.533333vw;
}

.van-progress {
  background: #ebedf0;
  border-radius: 26.666667vw;
  position: relative;
  overflow: hidden;
}

.van-progress__portion {
  border-radius: inherit;
  background: #1989fa;
  height: 100%;
  transition: all .3s;
  position: absolute;
  left: 0;
}

.van-progress__pivot {
  box-sizing: border-box;
  color: #fff;
  text-align: center;
  word-break: keep-all;
  background-color: #1989fa;
  border-radius: 1em;
  min-width: 3.6em;
  padding: 0 1.333333vw;
  font-size: 2.666667vw;
  line-height: 1.6;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

.van-icon {
  font-variant: normal;
  -webkit-text-decoration: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
  text-rendering: optimizelegibility;
  text-transform: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-family: vant-icon;
  font-style: normal;
  font-weight: normal;
  display: inline-block;
}

.van-button {
  box-sizing: border-box;
  text-align: center;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-text-size-adjust: 100%;
  border-radius: 0.533333vw;
  height: 11.733333vw;
  margin: 0;
  padding: 0;
  font-size: 4.266667vw;
  line-height: 1.2;
  transition: opacity .2s;
  display: inline-block;
  position: relative;
}

.van-cell {
  box-sizing: border-box;
  color: #323233;
  background-color: #fff;
  width: 100%;
  padding: 2.666667vw 4.266667vw;
  font-size: 3.733333vw;
  line-height: 6.4vw;
  display: flex;
  position: relative;
}

.van-tabs {
  position: relative;
}

.van-tabs__wrap, .van-tabs__nav {
  background: #fff;
  display: flex;
  position: relative;
}

.van-tab {
  box-sizing: border-box;
  color: #646566;
  cursor: pointer;
  flex: 1;
  justify-content: center;
  align-items: center;
  min-width: 0;
  padding: 0 1.333333vw;
  font-size: 3.733333vw;
  line-height: 11.733333vw;
  display: flex;
  position: relative;
}

.van-tab--active {
  color: #323233;
  font-weight: 500;
}

.modal-fade-enter-active, .modal-fade-leave-active {
  transition: all .3s cubic-bezier(.23, 1, .32, 1);
}

.modal-fade-enter-from {
  opacity: 0;
  transform: scale(.95) translateY(2.666667vw);
}

.modal-fade-enter-to, .modal-fade-leave-from {
  opacity: 1;
  transform: scale(1) translateY(0);
}

.modal-fade-leave-to {
  opacity: 0;
  transform: scale(.95) translateY(2.666667vw);
}

.modal-slide-up-enter-active, .modal-slide-up-leave-active {
  transition: all .3s cubic-bezier(.23, 1, .32, 1);
}

.modal-slide-up-enter-from {
  opacity: 0;
  transform: translateY(100%);
}

.modal-slide-up-enter-to, .modal-slide-up-leave-from {
  opacity: 1;
  transform: translateY(0);
}

.modal-slide-up-leave-to {
  opacity: 0;
  transform: translateY(100%);
}

.modal-scale-enter-active {
  transition: all .25s cubic-bezier(.175, .885, .32, 1.275);
}

.modal-scale-leave-active {
  transition: all .2s cubic-bezier(.55, .055, .675, .19);
}

.modal-scale-enter-from {
  opacity: 0;
  transform: scale(.1);
}

.modal-scale-enter-to, .modal-scale-leave-from {
  opacity: 1;
  transform: scale(1);
}

.modal-scale-leave-to {
  opacity: 0;
  transform: scale(.1);
}

.modal-fade-enter-active .van-overlay, .modal-slide-up-enter-active .van-overlay, .modal-scale-enter-active .van-overlay, .modal-fade-leave-active .van-overlay, .modal-slide-up-leave-active .van-overlay, .modal-scale-leave-active .van-overlay {
  transition: opacity .3s;
}

@media (max-width: 768px) {
  .modal-fade-enter-active, .modal-fade-leave-active, .modal-slide-up-enter-active, .modal-slide-up-leave-active, .modal-scale-enter-active, .modal-scale-leave-active {
    transition-duration: .25s;
  }

  .modal-fade-enter-from, .modal-fade-leave-to {
    transform: scale(.95) translateY(1.333333vw);
  }
}

.flex {
  align-items: center;
  display: flex;
}

.flex-1 {
  flex: 1;
}

@property --tw-rotate-x {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-y {
  syntax: "*";
  inherits: false
}

@property --tw-rotate-z {
  syntax: "*";
  inherits: false
}

@property --tw-skew-x {
  syntax: "*";
  inherits: false
}

@property --tw-skew-y {
  syntax: "*";
  inherits: false
}

@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-leading {
  syntax: "*";
  inherits: false
}

@property --tw-font-weight {
  syntax: "*";
  inherits: false
}

@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}

@property --tw-blur {
  syntax: "*";
  inherits: false
}

@property --tw-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-invert {
  syntax: "*";
  inherits: false
}

@property --tw-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-color {
  syntax: "*";
  inherits: false
}

@property --tw-drop-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}

@property --tw-drop-shadow-size {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-blur {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-brightness {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-contrast {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-grayscale {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-hue-rotate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-invert {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-opacity {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-saturate {
  syntax: "*";
  inherits: false
}

@property --tw-backdrop-sepia {
  syntax: "*";
  inherits: false
}

@property --tw-ease {
  syntax: "*";
  inherits: false
}

/* 移动端基础样式重置 */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  /* 禁止字体大小调整 */
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  /* 移除GPU硬件加速，避免影响fixed定位 */
  /* -webkit-transform: translateZ(0); */
  /* transform: translateZ(0); */
  /* 优化触摸滚动 */
  -webkit-overflow-scrolling: touch;
}
html,
body {
  /* 页面滚动模式下，不限制高度 */
  /* height: 100%; */
  width: 100%;
  font-family:
    -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB',
    'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  font-size: 3.733333vw;
  line-height: 1.5;
  /* 统一使用深色背景 */
  background-color: #111114;
  color: #ffffff;
  /* 关键：页面滚动模式下，应该允许页面滚动 */
  overflow: visible;
}

/* 新增：页面滚动模式支持 */
html.page-scroll-mode,
body.page-scroll-mode {
  /* 页面滚动模式下，允许页面级滚动 */
  overflow: visible !important;
  height: auto !important;
  min-height: 100vh;
  /* 关键：确保页面可以扩展高度 */
  max-height: none !important;
  /* 关键：确保body不设置position: fixed */
  position: static !important;
  /* 确保背景颜色正确 */
  background-color: #111114 !important;
  /* 禁用移动端的拖拽滚动回弹效果 */
  overscroll-behavior: none !important;
  /* 禁用触摸滚动的惯性 */
  -webkit-overflow-scrolling: auto !important;
}

/* 新增：页面滚动模式下的应用容器 */
#app.page-scroll-mode {
  overflow: visible !important;
  height: auto !important;
  /* 关键：确保应用容器可以扩展高度 */
  max-height: none !important;
  /* 确保背景颜色正确 */
  background-color: #111114 !important;
}
#app.page-scroll-mode .mobile-container {
  /* 页面滚动模式下，移除容器滚动限制 */
  overflow: visible !important;
  height: auto !important;
  min-height: 100vh;
  /* 关键：确保移动端容器可以扩展高度 */
  max-height: none !important;
  /* 禁用移动端的拖拽滚动回弹效果 */
  overscroll-behavior: none !important;
  /* 确保背景颜色正确 */
  background-color: #111114 !important;
}

/* 新增：确保页面滚动模式下fixed元素正常工作 */
.page-scroll-mode {
  /* 页面滚动模式下，确保fixed元素相对于视口定位 */
  transform: none !important;
}

/* 特殊元素可以覆盖背景颜色 */
.page-scroll-mode .page-header,
.page-scroll-mode .page-footer,
.page-scroll-mode .custom-tabbar {
  background-color: var(--theme-secondary-background-color) !important;
}
#app {
  width: 100%;
  /* 页面滚动模式下，不应该设置overflow-y: auto */
  /* overflow-y: auto; */
  background: #111114;
  /* 优化滚动性能 */
  -webkit-overflow-scrolling: touch;
  /* PC端居中显示 */
  display: flex;
  justify-content: center;
  align-items: flex-start;
}

/* 移动端容器 - 页面滚动模式 */
.mobile-container {
  width: 100%;
  /* 统一使用深色背景，与#app保持一致 */
  background-color: #111114;
  /* 移动端背景色 */
  /* 移除position: relative，避免创建新的定位上下文 */
  /* position: relative; */
  /* 移除isolation: isolate，避免影响fixed元素定位 */
  /* isolation: isolate; */
  /* 页面滚动模式下，移除所有滚动限制 */
  overflow: visible;
  min-height: auto;
  /* 页面滚动模式下，不限制高度 */
  /* height: 100vh; */
}

/* 页面滚动模式下的移动端容器 */
.page-scroll-mode .mobile-container {
  /* 页面滚动模式下，移除高度和滚动限制 */
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
}

/* 页面滚动模式下不需要隐藏滚动条 */

/* Safari专用：禁用双重滚动 */
@supports (-webkit-touch-callout: none) {
body {
    /* 移除position: fixed，这是错误的设置 */
    /* position: fixed; */
    /* 页面滚动模式下，应该允许页面滚动 */
    overflow: visible;
    width: 100%;
    /* 页面滚动模式下，不限制高度 */
    /* height: 100%; */
}

  /* 新增：页面滚动模式下的Safari处理 */
body.page-scroll-mode {
    overflow: visible !important;
    height: auto !important;
    /* 关键：页面滚动模式下，body不设置position: fixed，避免影响fixed元素 */
}

  /* 确保内容可以正常滚动 */
.page-content,
  [data-scroll-container],
  .sidebar-content {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
}

  /* 侧边栏特殊处理：完全绕过body限制 */
.sidebar {
    position: fixed !important;
    top: var(--sidebar-top-offset, 15%) !important;
    right: 0 !important;
    bottom: auto !important;
    height: auto !important;
    max-height: var(--sidebar-max-height, 70vh) !important;
    transform: translateX(100%) !important;
    transition: transform 0.3s ease !important;
    z-index: 10000 !important;
}
.sidebar.sidebar-open {
    transform: translateX(0) !important;
}
.sidebar .sidebar-content {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
}
}

/* 移动端软键盘弹起时的样式调整 */
body.keyboard-open {
  /* 页面滚动模式下，不需要限制高度 */
  /* height: var(--initial-height, 100vh); */
  height: auto;
  /* 页面滚动模式下，不应该阻止页面滚动 */
  /* overflow: hidden; */
}
body.keyboard-open .mobile-container {
  /* 页面滚动模式下，不需要限制高度 */
  /* height: var(--initial-height, 100vh); */
  height: auto;
  /* 页面滚动模式下，不应该使用容器滚动 */
  /* overflow-y: auto; */
  position: fixed;
  top: 0;
  left: 50%;
  /* 移除transform，避免影响fixed元素定位 */
  /* transform: translateX(-50%); */
  /* 使用left: 50%和margin-left: -50%来居中 */
  margin-left: -50%;
}

/* 防止iOS Safari地址栏变化导致的布局跳动 */
@supports (-webkit-touch-callout: none) {
.mobile-container {
    /* iOS Safari特殊处理 - 页面滚动模式下不需要限制高度 */
    /* min-height: -webkit-fill-available; */
    position: relative;
}
}

/* PC端适配 */
@media screen and (min-width: 768px) {
#app {
    /* 移除居中对齐，让容器占满全宽 */
    justify-content: stretch;
    align-items: stretch;
    padding: 0;
    /* 移除边距 */
    /* 页面滚动模式下，不应该设置overflow-y: auto */
    /* overflow-y: auto; */
    background: #111114;
}
.mobile-container {
    /* PC端全屏显示 */
    width: 100%;
    height: 100vh;
    border-radius: 0;
    /* 移除圆角 */
    box-shadow: none;
    /* 移除阴影 */
    border: none;
    /* 移除边框 */
    overflow: visible;
}

  /* PC端fixed元素自适应 */
.mobile-container :deep(.van-nav-bar--fixed),
  .mobile-container :deep([style*='position: fixed']),
  .mobile-container :deep(.fixed-element) {
    width: 100% !important;
    left: 0 !important;
    transform: none !important;
    z-index: 999;
}
}

/* 平板和大屏幕适配 - 移除宽度限制 */
@media screen and (min-width: 768px) {
  /* 平板和PC端都使用全屏宽度，无需额外限制 */
}

/* 阻止用户选择文本 */
* {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* 输入框例外，允许选择 */
input,
textarea {
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  user-select: text;
}

/* 移除点击高亮 */
* {
  -webkit-tap-highlight-color: transparent;
  -webkit-focus-ring-color: transparent;
  outline: none;
}

/* 移除iOS默认样式 */
input,
button,
textarea {
  -webkit-appearance: none;
  appearance: none;
  border-radius: 0;
}

/* 修复iOS Safari底部安全区域 */
.safe-area-bottom {
  padding-bottom: env(safe-area-inset-bottom);
}

/* 修复iOS Safari顶部安全区域 */
.safe-area-top {
  padding-top: env(safe-area-inset-top);
}

/* 1px边框解决方案 */
.hairline-border::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 200%;
  height: 200%;
  border: 1px solid #ebedf0;
  /* 移除transform，避免影响fixed元素定位 */
  /* transform: scale(0.5); */
  /* 使用width和height来替代transform */
  width: 100%;
  height: 100%;
  /* transform-origin: 0 0; */
  pointer-events: none;
}

/* 响应式字体大小 */
@media screen and (max-width: 320px) {
html {
    font-size: 3.466667vw;
}
}
@media screen and (min-width: 414px) and (max-width: 767px) {
html {
    font-size: 4vw;
}
}

/* PC端保持14px字体 */
@media screen and (min-width: 768px) {
html {
    font-size: 3.733333vw;
}
}

/* 遮罩层 - 独立控制 */
.base-modal-mask[data-v-81f964f4] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 13.333333vw 0; /* 增加顶部padding为关闭按钮留空间 */
  box-sizing: border-box;
  backdrop-filter: blur(1.333333vw);
  background: rgba(0, 0, 0, 0.5);
}
.base-modal-mask.mask-closing[data-v-81f964f4] {
  background: transparent;
  transition: background-color 0.1s ease;
}

/* 弹窗内容容器 - 只负责动画 */
.base-modal-mask-fade-enter-active[data-v-81f964f4],
.base-modal-mask-fade-leave-active[data-v-81f964f4] {
  transition: opacity 0.25s ease;
}
.base-modal-mask-fade-enter-from[data-v-81f964f4],
.base-modal-mask-fade-leave-to[data-v-81f964f4] {
  opacity: 0;
}
.base-modal-mask-fade-enter-to[data-v-81f964f4],
.base-modal-mask-fade-leave-from[data-v-81f964f4] {
  opacity: 1;
}
.base-modal-wrapper[data-v-81f964f4] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* 弹窗内容容器 */
.base-modal-content[data-v-81f964f4] {
  position: relative;
  border-radius: 3.2vw;
  max-height: 95vh; /* 增加最大高度 */
}

/* 外部关闭按钮 */
.modal-close-external[data-v-81f964f4] {
  position: absolute;
  top: -8vw;
  right: 5.333333vw;
  width: 6.4vw;
  height: 6.4vw;
  z-index: 1000; /* 提高层级，确保在弹窗内容上方 */
  cursor: pointer;
  transition: all 0.3s ease;
}
.modal-close-external[data-v-81f964f4]:hover {
  transform: scale(1.1);
}
.modal-close-external[data-v-81f964f4]:active {
  transform: scale(0.95);
}
.close-btn-circle[data-v-81f964f4] {
  width: 100%;
  height: 100%;
  background: transparent;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(1.066667vw);
  border: 0.533333vw solid rgba(200, 200, 200, 0.5);
}
.close-icon[data-v-81f964f4] {
  color: #999999;
  font-size: 4.8vw;
  font-weight: bold;
}

/* 弹窗主体 */
.base-modal[data-v-81f964f4] {
  background: rgba(29, 29, 35, 0.65);
  border-radius: 3.2vw;
  position: relative;
  z-index: 1; /* 确保低于关闭按钮 */
}

/* 深色主题支持 */
@media (prefers-color-scheme: dark) {
.base-modal[data-v-81f964f4] {
    background: rgba(29, 29, 35, 0.65);
    color: #ffffff;
}
}
/* 头部 */
.modal-header[data-v-81f964f4] {
  position: relative;
  padding: 5.333333vw 5.333333vw 0 5.333333vw;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.modal-title[data-v-81f964f4] {
  margin: 0;
  font-size: 5.066667vw;
  font-weight: 600;
  color: #323233;
  flex: 1;
  text-align: center;
}
@media (prefers-color-scheme: dark) {
.modal-title[data-v-81f964f4] {
    color: #ffffff;
}
}
/* 移除了内部关闭按钮样式，现在使用外部关闭按钮 */
/* 内容区域 */
/* 底部操作区域 */
.modal-footer[data-v-81f964f4] {
  padding: 0 5.333333vw 5.333333vw 5.333333vw;
  border-top: 1px solid #ebedf0;
  margin-top: 5.333333vw;
}
@media (prefers-color-scheme: dark) {
.modal-footer[data-v-81f964f4] {
    border-top-color: #333;
}
}

/* 移动端优化 */
@media (max-width: 768px) {
.base-modal-mask[data-v-81f964f4] {
    padding: 5.333333vw 0; /* 减少移动端padding */
}
.base-modal-content[data-v-81f964f4] {
    max-height: 98vh; /* 移动端允许更大高度 */
    padding: 0 6.133333vw; /* 添加左右边距 */
}
.modal-header[data-v-81f964f4] {
    padding: 4vw 4vw 0 4vw;
}
.modal-footer[data-v-81f964f4] {
    padding: 0 4vw 4vw 4vw;
}
.modal-title[data-v-81f964f4] {
    font-size: 4.266667vw;
}
}
/* 滚动条样式 */
.base-modal-content[data-v-81f964f4]::-webkit-scrollbar {
  width: 1.066667vw;
}
.base-modal-content[data-v-81f964f4]::-webkit-scrollbar-track {
  background: transparent;
}
.base-modal-content[data-v-81f964f4]::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.2);
  border-radius: 0.533333vw;
}
.base-modal-content[data-v-81f964f4]::-webkit-scrollbar-thumb:hover {
  background: rgba(0, 0, 0, 0.3);
}
/* 自定义Tabbar样式 */
.custom-tabbar[data-v-93f16a25] {
  --tabbar-content-height: 16vw;
  height: calc(var(--tabbar-content-height) + constant(safe-area-inset-bottom)) !important;
  height: calc(var(--tabbar-content-height) + env(safe-area-inset-bottom, 0px)) !important;
  min-height: var(--tabbar-content-height);
  background: var(--theme-secondary-background-color);
  box-shadow: 0px -1.066667vw 5.333333vw 0px rgba(0, 0, 0, 0.3);
  padding-bottom: constant(safe-area-inset-bottom);
  padding-bottom: env(safe-area-inset-bottom, 0px);
  box-sizing: border-box;
  overflow: visible !important;
  /* 关键：确保在页面滚动模式下也能正确固定 */
  position: fixed !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  /* 关键：确保不受父元素影响 */
  transform: none !important;
  /* 关键：确保宽度正确 */
  width: 100% !important;
  max-width: 100% !important;
}

/* 覆盖Vant默认样式和CSS变量 */
.custom-tabbar[data-v-93f16a25] {
  --van-tabbar-height: calc(var(--tabbar-content-height) + env(safe-area-inset-bottom, 0px));
  --van-tabbar-background: var(--theme-secondary-background-color);
  --van-tabbar-item-active-color: var(--theme-primary-color);
}
[data-v-93f16a25] .van-tabbar-item {
  color: #999999;
  font-size: 3.2vw;
  height: 100%;
  padding: 2.133333vw 0 1.6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  overflow: visible;
  /* 移除 overflow: hidden，让波纹完整显示 */
}
[data-v-93f16a25] .van-hairline--top-bottom:after {
  border-width: inherit;
}
[data-v-93f16a25] .van-tabbar-item--active {
  color: var(--theme-primary-color);
  background-color: var(--theme-secondary-background-color);
}
[data-v-93f16a25] .van-tabbar-item__icon {
  margin-bottom: 1px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
[data-v-93f16a25] .van-tabbar-item__text {
  margin-top: 0.533333vw;
  font-size: 3.2vw;
  line-height: 1.1;
  font-weight: 600;
  position: relative;
  z-index: 2;
}

/* 自定义图标样式 */
.tab-icon[data-v-93f16a25] {
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.tab-icon svg[data-v-93f16a25] {
  width: 100%;
  height: 100%;
  transition: all 0.3s ease;
}
.tab-icon.active[data-v-93f16a25] {
  transform: scale(1.1);
}
.tab-icon.active svg[data-v-93f16a25] {
  transform: scale(1.1);
}

/* 徽章样式 */
[data-v-93f16a25] .van-tabbar-item.center-tab-item {
  z-index: 3;
  padding-top: 0;
  padding-bottom: 0;
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item::before {
  content: '';
  position: absolute;
  top: -3.2vw;
  left: 50%;
  width: 16vw;
  height: 16vw;
  border-radius: 50%;
  background: var(--theme-secondary-background-color);
  box-shadow: 0 -0.533333vw 2.666667vw rgba(0, 0, 0, 0.18);
  transform: translateX(-50%);
  z-index: 0;
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item::after {
  display: none;
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .van-tabbar-item__icon {
  margin-bottom: 0;
  transform: translateY(-2.666667vw);
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .van-tabbar-item__text {
  margin-top: 1.6vw;
  transform: translateY(-2.133333vw);
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .tab-icon {
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .tab-icon.active,[data-v-93f16a25] .van-tabbar-item.center-tab-item .tab-icon.active svg {
  transform: none;
}
[data-v-93f16a25] .van-badge {
  background: rgba(238, 10, 36, 1);
}

/* 小红点样式 */
[data-v-93f16a25] .van-badge--dot {
  background: rgba(255, 69, 58, 1);
  width: 2.133333vw;
  height: 2.133333vw;
}

/* 游戏主题色彩 */
[data-v-93f16a25] .van-tabbar-item--active .van-tabbar-item__text {
  color: var(--theme-primary-color);
}

/* 响应式适配 */
@media (max-width: 360px) {
[data-v-93f16a25] .van-tabbar-item__text {
    font-size: 2.933333vw;
}
.tab-icon[data-v-93f16a25] {
}
.tab-icon svg[data-v-93f16a25] {
    width: 100%;
    height: 100%;
}
.custom-tabbar[data-v-93f16a25] {
    --tabbar-content-height: 16vw;
    height: calc(var(--tabbar-content-height) + constant(safe-area-inset-bottom)) !important;
    height: calc(var(--tabbar-content-height) + env(safe-area-inset-bottom, 0px)) !important;
    --van-tabbar-height: calc(var(--tabbar-content-height) + env(safe-area-inset-bottom, 0px));
    padding-top: 0;
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item::before {
    top: -2.666667vw;
    width: 14.4vw;
    height: 14.4vw;
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .van-tabbar-item__icon {
    transform: translateY(-2.4vw);
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .van-tabbar-item__text {
    margin-top: 1.333333vw;
    transform: translateY(-1.866667vw);
}
[data-v-93f16a25] .van-tabbar-item.center-tab-item .tab-icon {
}
}

/* 波纹效果样式 */
[data-v-93f16a25] .ripple-effect {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  transform: scale(0);
  opacity: 1;
  animation: ripple-animation-93f16a25 0.6s ease-out forwards;
  z-index: 10;
  /* 提高层级确保波纹在最上层 */
}
@keyframes ripple-animation-93f16a25 {
0% {
    transform: scale(0);
    opacity: 1;
}
50% {
    transform: scale(0.8);
    opacity: 0.7;
}
100% {
    transform: scale(1.5);
    opacity: 0;
}
}

/* 暗色主题适配 */
@media (prefers-color-scheme: dark) {
.custom-tabbar[data-v-93f16a25] {
    background: var(--theme-secondary-background-color);
    --van-tabbar-background: var(--theme-secondary-background-color);
    border-top-color: rgba(255, 255, 255, 0.05);
}
}

.base-page-layout[data-v-773f4d8f] {
  /* 页面滚动布局 - 简化版本 */
  background: #111114;
  color: #ffffff;
  /* 关键：不设置任何高度和滚动限制 */
  /* 让浏览器完全控制滚动 */
  /* min-height: 100vh; */
}

/* 头部区域 - 固定在视口顶部 */
.page-header[data-v-773f4d8f] {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: #111114 !important;
  box-shadow: 0 0.533333vw 2.133333vw rgba(0, 0, 0, 0.1) !important;
  transform: none !important;
}

/* 主要内容区域 - 页面滚动 */
.page-content[data-v-773f4d8f] {
  /* 页面滚动模式下，内容自然展开 */
  padding: 2.666667vw;
  /* 关键：不设置任何overflow、height、min-height等限制 */
  /* 让内容自然流动，浏览器处理滚动 */
  /* 关键：确保内容有足够高度触发滚动和工具栏缩小 */
  min-height: 120vh;
  /* 关键：为固定头部留出空间 */
  padding-top: 17.333333vw;
  /* 关键：为固定底部导航栏留出空间 */
  padding-bottom: calc(26.666667vw + env(safe-area-inset-bottom, 0px));
}

/* 底部导航区域 - 固定在视口底部 */
.page-footer[data-v-773f4d8f] {
  position: static !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}
/* 游戏展示区域 */
.game-showcase[data-v-519a8adf] {
  display: flex;
  gap: 2.133333vw;
  height: 52.266667vw;
}

/* 主游戏轮播 */
.main-game[data-v-519a8adf] {
  flex: 2;
  position: relative;
  border-radius: 2.666667vw;
  overflow: hidden;
  background: #2a2a2a;
}
.main-game .main-swipe[data-v-519a8adf] {
  height: 100%;
  border-radius: 2.666667vw;
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe__track {
  height: 100%;
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe-item {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--theme-primary-color);
}
.main-game .main-swipe img[data-v-519a8adf] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe__indicators {
  bottom: 3.2vw;
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe__indicators .van-swipe__indicator {
  background: rgba(255, 255, 255, 0.4);
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe__indicators .van-swipe__indicator--active {
  background: rgba(255, 255, 255, 0.9);
}

/* 侧边游戏 */
.side-games[data-v-519a8adf] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.133333vw;
}
.side-game[data-v-519a8adf] {
  flex: 1;
  border-radius: 1.866667vw;
  overflow: hidden;
  background: var(--theme-primary-color);
}
.side-game img[data-v-519a8adf] {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 1.866667vw;
  transition: transform 0.3s ease;
}
.side-game:hover img[data-v-519a8adf] {
  transform: scale(1.05);
}

/* 响应式适配 */
@media screen and (max-width: 480px) {
.game-showcase[data-v-519a8adf] {
    height: 52.266667vw;
    gap: 2.133333vw;
}
.side-games[data-v-519a8adf] {
    gap: 2.133333vw;
}
.main-game .main-swipe[data-v-519a8adf] .van-swipe__indicators {
    bottom: 2.133333vw;
}
}
@media screen and (max-width: 360px) {
.game-showcase[data-v-519a8adf] {
    height: 46.933333vw;
    gap: 2.133333vw;
    margin: 2.133333vw 0;
}
.side-games[data-v-519a8adf] {
    gap: 1.6vw;
}
}
[data-v-519a8adf] .van-swipe {
  transform: none !important;
}
.game-floating-menu[data-v-80f35127] {
  position: fixed;
  top: max(3.2vw, env(safe-area-inset-top));
  left: 3.2vw;
  z-index: 1000006;
}
.menu-toggle[data-v-80f35127] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.066667vw;
  width: 10.666667vw;
  height: 10.666667vw;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 50%;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.68);
  box-shadow: 0 1.6vw 4.8vw rgba(0, 0, 0, 0.35);
  backdrop-filter: blur(2.666667vw);
}
.menu-toggle span[data-v-80f35127] {
  width: 4.266667vw;
  height: 0.533333vw;
  border-radius: 266.4vw;
  background: currentColor;
}
.menu-dropdown[data-v-80f35127] {
  display: flex;
  flex-direction: column;
  gap: 1.066667vw;
  min-width: 35.2vw;
  margin-top: 2.133333vw;
  padding: 2.133333vw;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 2.133333vw;
  background: rgba(13, 14, 18, 0.94);
  box-shadow: 0 3.2vw 7.466667vw rgba(0, 0, 0, 0.48);
  backdrop-filter: blur(3.2vw);
}
.menu-item[data-v-80f35127] {
  display: flex;
  align-items: center;
  gap: 2.666667vw;
  width: 100%;
  min-height: 9.6vw;
  padding: 1.866667vw 2.666667vw;
  border: 0;
  border-radius: 1.6vw;
  color: #ffffff;
  background: transparent;
  font-size: 3.466667vw;
  font-weight: 600;
  text-align: left;
}
.menu-item[data-v-80f35127]:active {
  background: rgba(255, 255, 255, 0.1);
}
.menu-item.disabled[data-v-80f35127] {
  opacity: 0.45;
}
.tabbar-icon[data-v-80f35127],
.reload-icon[data-v-80f35127] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.333333vw;
  height: 5.333333vw;
  color: var(--theme-primary-color);
  flex: 0 0 5.333333vw;
}
.tabbar-icon[data-v-80f35127] svg,
.reload-icon svg[data-v-80f35127] {
  width: 5.333333vw;
  height: 5.333333vw;
}
.item-text[data-v-80f35127] {
  line-height: 1;
}
.game-floating-dropdown-enter-active[data-v-80f35127],
.game-floating-dropdown-leave-active[data-v-80f35127] {
  transition: opacity 0.16s ease, transform 0.16s ease;
}
.game-floating-dropdown-enter-from[data-v-80f35127],
.game-floating-dropdown-leave-to[data-v-80f35127] {
  opacity: 0;
  transform: translateY(-1.066667vw);
}

.game-webview-container[data-v-34817c5a] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100vw;
  height: 100vh;
  height: 100dvh;
  z-index: 1000003;
  /* 确保在最上层，高于所有弹窗 */
  background: #000;
  overscroll-behavior: none;
  -webkit-overflow-scrolling: auto;
  /* **全屏竖屏模式的关键样式** */
}
.game-webview-container.force-portrait[data-v-34817c5a] {
  /* 基础设置 - 强制占满全屏 */
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  top: 0 !important;
  left: 0 !important;
  transform: none !important;
  overflow: hidden !important;
  /* **全屏竖屏模式：禁止所有旋转，占满全屏** */
}
.game-webview-container.force-portrait .game-webview-overlay[data-v-34817c5a] {
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  /* 改为 flex-start，防止居中布局影响全屏 */
  align-items: stretch !important;
  /* 改为 stretch，让iframe伸展占满 */
  overflow: hidden !important;
}
.game-webview-container.force-portrait .game-iframe[data-v-34817c5a] {
  /* 全屏竖屏模式：基础设置 */
  border: none !important;
  background: #000 !important;
  transform: none !important;
  position: static !important;
  /* 改为 static，让flex布局生效 */
  /* 禁止所有可能的旋转 */
  -webkit-transform: none !important;
  -moz-transform: none !important;
  -ms-transform: none !important;
  -o-transform: none !important;
  /* 禁止游戏自动旋转 */
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  /* 禁止缩放和滚动 */
  overflow: hidden !important;
  zoom: 1 !important;
  -webkit-user-scalable: no !important;
  -moz-user-scalable: no !important;
  user-scalable: no !important;
  /* **全屏竖屏模式：占满整个屏幕** */
  width: 100vw !important;
  height: 100vh !important;
  min-width: 100vw !important;
  min-height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  /* 强制flex占满父容器 */
  flex: 1 !important;
  /* 确保在全屏时不有边距 */
  margin: 0 !important;
  padding: 0 !important;
  top: 0 !important;
  left: 0 !important;
}
.game-webview-container.force-portrait[data-v-34817c5a] {
  /* **全屏模式下的响应式处理** */
  /* 竖屏时占满全屏 */
}
@media (orientation: portrait) {
.game-webview-container.force-portrait .game-iframe[data-v-34817c5a] {
    width: 100vw !important;
    height: 100vh !important;
}
}
.game-webview-container.force-portrait[data-v-34817c5a] {
  /* 横屏时仍然占满全屏（全屏+竖屏锁定的情况下） */
}
@media (orientation: landscape) {
.game-webview-container.force-portrait .game-iframe[data-v-34817c5a] {
    width: 100vw !important;
    height: 100vh !important;
}
}
.game-webview-container.force-portrait[data-v-34817c5a] {
  /* 移动端特殊处理 */
}
@media (max-width: 768px) {
.game-webview-container.force-portrait .game-iframe[data-v-34817c5a] {
    /* 禁止所有可能的变形 */
    transform: none !important;
    -webkit-transform: none !important;
    -moz-transform: none !important;
    -ms-transform: none !important;
    transition: none !important;
    /* 全屏竖屏模式：确保占满全屏 */
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
}
}
.game-webview-container[data-v-34817c5a] {
  /* **非强制竖屏模式 - 自动适应屏幕方向** */
}
.game-webview-container[data-v-34817c5a]:not(.force-portrait) {
  /* 自动适应横屏和竖屏 */
  transform: none;
}
.game-webview-container:not(.force-portrait) .game-webview-overlay[data-v-34817c5a] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.game-webview-container:not(.force-portrait) .game-iframe[data-v-34817c5a] {
  width: 100%;
  height: 100%;
  flex: 1;
}
.game-webview-overlay[data-v-34817c5a] {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: #000;
  overflow: hidden;
  overscroll-behavior: none;
}
.game-webview-header[data-v-34817c5a] {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1000004;
  /* 头部按钮在最上层 */
  padding: 4vw;
  flex-shrink: 0;
  /* 头部绝对定位，不占用空间 */
  display: flex;
  justify-content: flex-end;
  /* 按钮左对齐 */
  align-items: center;
  gap: 2.666667vw;
  /* 按钮间间距 */
}
.close-button[data-v-34817c5a],
.fullscreen-button[data-v-34817c5a],
.exit-fullscreen-button[data-v-34817c5a] {
  width: 10.666667vw;
  height: 10.666667vw;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  color: #fff;
  backdrop-filter: blur(2.666667vw);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 0.533333vw 2.133333vw rgba(0, 0, 0, 0.3);
}
.close-button[data-v-34817c5a]:hover,
.fullscreen-button[data-v-34817c5a]:hover,
.exit-fullscreen-button[data-v-34817c5a]:hover {
  background: rgba(0, 0, 0, 0.8);
  transform: scale(1.05);
  box-shadow: 0 1.066667vw 3.2vw rgba(0, 0, 0, 0.4);
}
.close-button[data-v-34817c5a]:active,
.fullscreen-button[data-v-34817c5a]:active,
.exit-fullscreen-button[data-v-34817c5a]:active {
  transform: scale(0.95);
}
.game-iframe[data-v-34817c5a] {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  border: none;
  background: #000;
  overscroll-behavior: none;
  /* **全屏+竖屏模式下，iframe默认占满整个屏幕** */
  flex: 1;
  /* 使用flex布局自动填充空间 */
  /* 确保在所有情况下都不会有间隙 */
  margin: 0;
  padding: 0;
  /* 禁止默认的滚动条 */
  overflow: hidden;
}

/* 强制竖屏模式下的iframe样式 */
.force-portrait .game-iframe[data-v-34817c5a] {
  width: 100%;
  height: 100vh;
}

/* **iOS Safari专用处理** */
@supports not ((-webkit-touch-callout: none) and (not (translate: none))) {
  /* 非-iOS设备的处理 */
}
/* iOS Safari强制竖屏处理 */
@media screen and (max-device-width: 812px) and (-webkit-min-device-pixel-ratio: 2) {
.game-webview-container.force-portrait[data-v-34817c5a] {
    /* iOS设备上的特殊处理 */
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    z-index: 999999 !important;
}
.game-webview-container.force-portrait .game-iframe[data-v-34817c5a] {
    /* 确保在iOS上的正确显示 */
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    border: none !important;
    /* 禁止iOS的自动缩放 */
    -webkit-user-scalable: no !important;
    user-scalable: no !important;
    -webkit-touch-callout: none !important;
    -webkit-tap-highlight-color: transparent !important;
}
}
/* 移动端优化 */
@media (max-width: 768px) {
.game-webview-header[data-v-34817c5a] {
    padding: 3.2vw;
}
.close-button[data-v-34817c5a] {
    width: 9.6vw;
    height: 9.6vw;
}
}
@media (max-width: 375px) {
.game-webview-header[data-v-34817c5a] {
    padding: 2.666667vw;
}
.close-button[data-v-34817c5a] {
    width: 8.533333vw;
    height: 8.533333vw;
}
}
/* 过渡动画 */
.game-webview-enter-active[data-v-34817c5a],
.game-webview-leave-active[data-v-34817c5a] {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.game-webview-enter-from[data-v-34817c5a] {
  opacity: 0;
  transform: scale(0.95);
}
.game-webview-leave-to[data-v-34817c5a] {
  opacity: 0;
  transform: scale(1.05);
}
/* 游戏分类样式 */
.game-categories[data-v-5f5f53b4] {
  margin-bottom: 4vw;
  margin-top: -1.333333vw;
  z-index: 100;
  /* 粘性标签栏容器 */
}
.game-categories .sticky-tab-header[data-v-5f5f53b4] {
  position: sticky;
  top: 0;
  z-index: 100;
  background: #111114;
  margin-top: -1.333333vw;
  margin-left: -1px;
  margin-bottom: 2.133333vw;
  padding-top: 2.133333vw;
  padding-bottom: 0px;
  transition: background 0.3s ease, box-shadow 0.3s ease;
}
.game-categories .sticky-tab-header.is-sticky[data-v-5f5f53b4] {
  box-shadow: 0 0.533333vw 2.666667vw rgba(0, 0, 0, 0.38);
  background: #111114;
}
.game-categories .sticky-tab-header[data-v-5f5f53b4]::before {
  content: "";
  position: absolute;
  top: -2.666667vw;
  left: 0;
  right: 0;
  height: 4vw;
  background: #111114;
  z-index: -1;
}
.game-categories[data-v-5f5f53b4] {
  /* 标签导航栏 */
}
.game-categories[data-v-5f5f53b4] .van-sticky .tab-item,
.game-categories[data-v-5f5f53b4] .van-sticky .category-name {
  color: #ffffff;
}
.game-categories[data-v-5f5f53b4] .van-sticky .category-icon {
  color: #ffffff;
  filter: brightness(0) invert(1);
}
.game-categories[data-v-5f5f53b4] .van-sticky .category-icon.van-icon {
  color: #ffffff;
  filter: none;
}
.game-categories .tab-nav[data-v-5f5f53b4] {
  position: relative;
  display: flex;
  gap: 2.133333vw;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  color: #272d39;
  padding: 1px 0;
}
.game-categories .tab-nav[data-v-5f5f53b4]::-webkit-scrollbar {
  display: none;
}
.game-categories[data-v-5f5f53b4] {
  /* 单个标签项 */
}
.game-categories .tab-active-indicator[data-v-5f5f53b4] {
  position: absolute;
  box-sizing: border-box;
  top: 0;
  left: 0;
  z-index: 0;
  border-radius: 1.6vw;
  background: var(--theme-primary-color);
  pointer-events: none;
  transition: transform 0.34s cubic-bezier(0.2, 0.8, 0.2, 1), width 0.34s cubic-bezier(0.2, 0.8, 0.2, 1), opacity 0.2s ease;
}
.game-categories .tab-item[data-v-5f5f53b4] {
  position: relative;
  z-index: 1;
  background: #272d39;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1.6vw;
  flex: none;
  color: rgba(255, 255, 255, 0.7);
  font-size: 3.733333vw;
  padding: 0px 2.666667vw;
  height: 6.933333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
  cursor: pointer;
}
.game-categories .tab-item.tab-active[data-v-5f5f53b4] {
  background: transparent;
  color: rgb(255, 255, 255);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  border-color: transparent;
}
.game-categories .tab-item[data-v-5f5f53b4]:active {
  transform: scale(0.95);
}
.game-categories[data-v-5f5f53b4] {
  /* Tab标题内容样式 */
}
.game-categories .category-tab-content[data-v-5f5f53b4] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
}
.game-categories .category-tab-content .category-icon[data-v-5f5f53b4] {
  font-size: 4.266667vw;
  max-width: 4.266667vw;
  max-height: 4.266667vw;
  width: 4.266667vw;
  height: 4.266667vw;
  min-width: 4.266667vw;
  flex-shrink: 0;
  object-fit: contain;
  /* Vant图标样式 */
}
.game-categories .category-tab-content .category-icon.van-icon[data-v-5f5f53b4] {
  font-size: 4.266667vw;
  color: inherit;
}
.game-categories .category-tab-content .category-name[data-v-5f5f53b4] {
  font-size: 3.733333vw;
  font-weight: 500;
}
.game-categories[data-v-5f5f53b4] {
  /* 分类内容区域 */
}
.game-categories .category-content[data-v-5f5f53b4] {
  padding: 2.133333vw 0;
  /* 热门游戏标题 */
}
.game-categories .category-content .popular-header[data-v-5f5f53b4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 4.266667vw;
  padding: 2.133333vw 2.666667vw;
  background: #272d39;
  border-radius: 1.6vw;
}
.game-categories .category-content .popular-header .popular-title[data-v-5f5f53b4] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
  padding-left: 1px;
}
.game-categories .category-content .popular-header .popular-title[data-v-5f5f53b4] .van-image {
  width: 4.266667vw;
  height: 5.6vw;
}
.game-categories .category-content .popular-header .popular-title .title-text[data-v-5f5f53b4] {
  position: relative;
  display: inline-flex;
  align-items: center;
  font-size: 4.266667vw;
  font-weight: bold;
  color: #ffffff;
  margin-left: 1.066667vw;
  padding-left: 2.133333vw;
}
.game-categories .category-content .popular-header .popular-title .title-text[data-v-5f5f53b4]::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 50%;
  background: #ffffff;
  transform: translateY(-50%);
}
.game-categories .category-content .popular-header .filter-options[data-v-5f5f53b4] {
  display: flex;
  gap: 2.133333vw;
  align-items: center;
}
.game-categories .category-content .popular-header .filter-options .all-filter[data-v-5f5f53b4] {
  background: rgba(29, 29, 35, 0.4);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0 3.733333vw;
  min-width: 16.533333vw;
  height: 7.466667vw;
  border-radius: 1.066667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.066667vw;
  font-size: 3.466667vw;
  color: #999999;
  cursor: pointer;
  transition: all 0.3s ease;
}
.game-categories .category-content .popular-header .filter-options .all-filter[data-v-5f5f53b4]:hover {
  color: rgba(255, 255, 255, 0.9);
}
.game-categories .category-content .popular-header .filter-options .all-filter[data-v-5f5f53b4]:active {
  transform: scale(0.95);
}
.game-categories .category-content .popular-header .filter-options .all-filter.active[data-v-5f5f53b4] {
  color: rgb(255, 255, 255);
}
.game-categories .category-content .popular-header .filter-options .all-filter[data-v-5f5f53b4] .van-image {
  width: 2.4vw;
  height: 3.733333vw;
}
.game-categories .category-content .popular-header .filter-options .filter-btn[data-v-5f5f53b4] {
  background: rgba(0, 0, 0, 0.2);
  border: 1px solid rgba(255, 255, 255, 0.08);
  padding: 0;
  width: 7.466667vw;
  height: 7.466667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.066667vw;
  font-size: 3.466667vw;
  cursor: pointer;
  transition: all 0.3s ease;
}
.game-categories .category-content .popular-header .filter-options .filter-btn[data-v-5f5f53b4]:active {
  transform: scale(0.95);
}
.game-categories .category-content .popular-header .filter-options .filter-btn[data-v-5f5f53b4] .van-image {
  width: 2.666667vw;
  height: 4.266667vw;
}
.game-categories .category-content[data-v-5f5f53b4] {
  /* 游戏容器 */
}
.game-categories .category-content .games-container .swipe-container[data-v-5f5f53b4] {
  /* 确保Swipe容器有正确的尺寸 */
  width: 100%;
  overflow: hidden;
}
.game-categories .category-content .games-container .swipe-container .games-swipe[data-v-5f5f53b4] {
  width: 100%;
  will-change: transform;
}
.game-categories .category-content .games-container[data-v-5f5f53b4] {
  /* 游戏网格布局 */
}
.game-categories .category-content .games-container .games-grid[data-v-5f5f53b4] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.333333vw;
  justify-items: center;
}
.game-categories .category-content .games-container .games-grid.all-view[data-v-5f5f53b4] {
  max-width: 100%;
}
.game-categories .category-content .games-container .games-grid[data-v-5f5f53b4] {
  /* 单分类模式样式 */
}
.game-categories .category-content .games-container .games-grid.single-category[data-v-5f5f53b4] {
  max-width: 100%;
  /* 单分类模式显示所有游戏 */
}
.game-categories .category-content .games-container .games-grid[data-v-5f5f53b4] {
  /* 空收藏提示样式 */
}
.game-categories .category-content .games-container .games-grid .empty-favorite[data-v-5f5f53b4] {
  grid-column: 1/-1;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 53.333333vw;
  padding: 5.333333vw;
}
.game-categories .category-content .games-container .games-grid .empty-favorite .empty-message[data-v-5f5f53b4] {
  text-align: center;
  color: #999999;
}
.game-categories .category-content .games-container .games-grid .empty-favorite .empty-message p[data-v-5f5f53b4] {
  margin: 2.133333vw 0;
  font-size: 3.733333vw;
  line-height: 1.5;
}
.game-categories .category-content .games-container .games-grid .empty-favorite .empty-message p[data-v-5f5f53b4]:first-child {
  font-size: 4.266667vw;
  font-weight: 500;
  color: #666666;
}
.game-categories .category-content .games-container .games-grid[data-v-5f5f53b4] {
  /* Swipe页面特殊样式 */
}
.game-categories .category-content .games-container .games-grid.swipe-page[data-v-5f5f53b4] {
  /* 确保在Swipe中正常显示 */
  width: 100%;
  min-height: 53.333333vw;
  /* 防止网格布局影响滑动 */
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.333333vw;
  justify-items: center;
  will-change: transform;
  transform: translateZ(0);
}
.game-categories .category-content .games-container .games-grid .game-card[data-v-5f5f53b4] {
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  width: 29.6vw;
  height: 41.333333vw;
  transform: translateZ(0);
}
@media (max-width: 480px) {
.game-categories .category-content .games-container .games-grid .game-card[data-v-5f5f53b4] {
    height: auto;
    aspect-ratio: 111/155;
}
}
.game-categories .category-content .games-container .games-grid .game-card[data-v-5f5f53b4]:hover {
  transform: translateZ(0) scale(1.05);
}
.game-categories .category-content .games-container .games-grid .game-card[data-v-5f5f53b4]:active {
  transform: translateZ(0) scale(0.98);
  transition: transform 0.1s ease;
}
.game-categories .category-content .games-container .games-grid .game-card .game-tag-image[data-v-5f5f53b4] {
  width: 8vw;
  height: 8vw;
  max-width: 8.533333vw;
  max-height: 8.533333vw;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image[data-v-5f5f53b4] {
  position: relative;
  background-color: rgba(7, 24, 51, 0.3);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 1.333333vw;
  overflow: hidden;
  width: 29.6vw;
  height: 41.333333vw;
  margin-bottom: 2.133333vw;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image[data-v-5f5f53b4]::before {
  content: "";
  position: absolute;
  inset: -1.6vw;
  background-image: inherit;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  filter: blur(2.133333vw);
  opacity: 0.7;
  z-index: 0;
  pointer-events: none;
  transform: scale(1.08);
  transition: opacity 0.35s ease;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image.is-loaded[data-v-5f5f53b4]::before {
  opacity: 0;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image[data-v-5f5f53b4]::after {
  display: none;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .frosted-overlay[data-v-5f5f53b4] {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0)), rgba(7, 24, 51, 0.48);
  z-index: 3;
  pointer-events: none;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .frosted-overlay.loaded[data-v-5f5f53b4] {
  opacity: 0;
  visibility: hidden;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-image-item[data-v-5f5f53b4] {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag[data-v-5f5f53b4] {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  color: white;
  border-radius: 3.2vw;
  font-size: 2.666667vw;
  font-weight: bold;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag[data-v-5f5f53b4] .van-image {
  width: 8.8vw;
  height: 8.8vw;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag span[data-v-5f5f53b4] {
  position: absolute;
  top: 1.066667vw;
  left: 0;
  color: white;
  font-size: 2.666667vw;
  font-weight: bold;
  transform: rotate(-45deg);
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag.tag-new span[data-v-5f5f53b4] {
  color: #00ff00;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag.tag-hot span[data-v-5f5f53b4] {
  color: #ff4444;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag.hot-corner-tag[data-v-5f5f53b4] {
  top: 1.066667vw;
  left: 0;
  padding: 0 2.666667vw 0 2.133333vw;
  height: 5.333333vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ff3434;
  border-radius: 0 2.666667vw 2.666667vw 0;
  z-index: 10;
}
.game-categories .category-content .games-container .games-grid .game-card .game-image .game-tag.hot-corner-tag span[data-v-5f5f53b4] {
  position: static;
  transform: none;
  color: #ffffff;
  font-size: 2.666667vw;
  font-weight: 700;
  line-height: 1;
}

/* VanImage组件通用样式 */
[data-v-5f5f53b4] .van-image {
  display: block;
}
[data-v-5f5f53b4] .van-image__img {
  object-fit: inherit;
  animation: gameImageFadeIn-5f5f53b4 0.15s ease;
}
@keyframes gameImageFadeIn-5f5f53b4 {
from {
    opacity: 0;
}
to {
    opacity: 1;
}
}
[data-v-5f5f53b4] .van-image__loading {
  background-color: transparent;
}
[data-v-5f5f53b4] .van-image__error {
  background-color: transparent;
  color: #666;
  font-size: 3.2vw;
}
.game-total[data-v-5f5f53b4] {
  text-align: center;
  width: 100%;
}
.game-total .total-text[data-v-5f5f53b4] {
  font-family: Alibaba PuHuiTi 3;
  font-weight: normal;
  font-size: 3.2vw;
  color: #999999;
  line-height: 6.4vw;
}
.game-total .more[data-v-5f5f53b4] {
  font-family: Alibaba PuHuiTi 3;
  font-weight: normal;
  font-size: 3.2vw;
  color: var(--theme-primary-color);
  cursor: pointer;
  transition: all 0.3s ease;
  padding: 1.066667vw 2.133333vw;
  border-radius: 1.066667vw;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.066667vw;
  margin-top: 1.066667vw;
}
.game-total .more[data-v-5f5f53b4]:hover {
  background-color: rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.9);
}
.game-total .more[data-v-5f5f53b4]:active {
  transform: scale(0.95);
  background-color: rgba(255, 255, 255, 0.2);
}
.game-total .more .more-icon[data-v-5f5f53b4] {
  font-size: 3.2vw;
  transition: transform 0.3s ease;
}
.game-total .more.expanded .more-icon[data-v-5f5f53b4] {
  transform: rotate(180deg);
}

/* 响应式适配 */
@media (max-width: 360px) {
.game-categories .category-tab-content[data-v-5f5f53b4] {
    gap: 1.6vw;
}
.game-categories .category-tab-content .category-icon[data-v-5f5f53b4] {
    font-size: 3.733333vw;
}
.game-categories .category-tab-content .category-name[data-v-5f5f53b4] {
    font-size: 3.466667vw;
}
}
.bonus-section[data-v-d25ac9c4] {
  --bonus-amount-color: #ebc11b;
  background: #272d39;
  color: #ffffff;
  padding: 2.4vw 2.133333vw 3.733333vw;
  border-radius: 3.2vw;
  margin-bottom: 2.133333vw;
  min-height: 13.866667vw;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 4.266667vw;
  cursor: pointer;
}
.bonus-section .withdraw-section[data-v-d25ac9c4] .van-image {
  width: 4.266667vw;
  height: 4.266667vw;
}
.bonus-section .withdraw-section[data-v-d25ac9c4] .van-button__text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.333333vw;
}
.bonus-info[data-v-d25ac9c4] {
  flex: 1;
  max-width: calc(100% - 40vw);
  min-width: 0;
}
.bonus-info .bonus-actions[data-v-d25ac9c4] {
  background: linear-gradient();
  width: fit-content;
  max-width: 100%;
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  min-height: 4.266667vw;
  margin-top: 0;
  padding: 0 2.133333vw;
  background: rgb(19, 20, 27);
  color: #ffffff;
  border-radius: 5.333333vw;
  line-height: 1;
}
.bonus-info .bonus-actions[data-v-d25ac9c4] .van-image {
  width: 2.666667vw;
  height: 2.666667vw;
}
.bonus-info .bonus-actions[data-v-d25ac9c4] .van-button__text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.8vw;
}
.bonus-info .bonus-actions--progress[data-v-d25ac9c4] {
  width: 100%;
}
.bonus-text[data-v-d25ac9c4] {
  margin-bottom: 0.8vw;
}
.bonus-label[data-v-d25ac9c4] {
  color: #ffffff;
  font-size: 3.2vw;
  margin-right: 2.133333vw;
}
.bonus-amount[data-v-d25ac9c4] {
  color: var(--bonus-amount-color);
  font-size: 3.2vw;
  font-weight: bold;
}
.deposit-btn[data-v-d25ac9c4] {
  background: rgb(19, 20, 27) !important;
  border: none !important;
  color: #ffffff !important;
  font-size: 2.666667vw !important;
  padding: 0 !important;
  border-radius: 5.333333vw !important;
  height: 4.266667vw !important;
  min-height: 4.266667vw !important;
}

/* Unlocked按钮样式已移除 */
.withdraw-btn[data-v-d25ac9c4] {
  background: linear-gradient(to bottom, color-mix(in srgb, var(--theme-primary-color) 75%, #ffffff), var(--theme-primary-color)) !important;
  border: none !important;
  color: white !important;
  font-weight: bold !important;
  width: 29.866667vw;
  height: 9.6vw;
  border-radius: 13.333333vw !important;
  font-size: 3.466667vw !important;
  transition: all 0.3s ease !important;
}
.withdraw-btn.withdraw-btn--disabled[data-v-d25ac9c4] {
  background: #666666 !important;
  color: #999999 !important;
  cursor: not-allowed !important;
  opacity: 0.6 !important;
}
.withdraw-btn[data-v-d25ac9c4]:not(.withdraw-btn--disabled):hover {
  transform: translateY(-0.533333vw);
  box-shadow: 0 1.066667vw 3.2vw color-mix(in srgb, var(--theme-primary-color) 30%, transparent);
}
.withdraw-btn[data-v-d25ac9c4]:not(.withdraw-btn--disabled):active {
  transform: translateY(0);
}
.withdraw-section[data-v-d25ac9c4] .van-button.withdraw-btn.withdraw-btn--disabled,
.withdraw-btn.withdraw-btn--disabled[data-v-d25ac9c4] {
  background: linear-gradient(to bottom, color-mix(in srgb, var(--theme-primary-color) 75%, #ffffff), var(--theme-primary-color)) !important;
  background-image: linear-gradient(to bottom, color-mix(in srgb, var(--theme-primary-color) 75%, #ffffff), var(--theme-primary-color)) !important;
  color: #ffffff !important;
  opacity: 0.6 !important;
}
.unlocked-content[data-v-d25ac9c4] {
  display: flex;
  flex-direction: column;
  gap: 0.8vw;
  height: 4.8vw;
  width: 100%;
}
.progress-container[data-v-d25ac9c4] {
  display: flex;
  flex-direction: column;
  gap: 0.533333vw;
  width: 100%;
}
.progress-info[data-v-d25ac9c4] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 2.133333vw;
}
.progress-text[data-v-d25ac9c4] {
  color: #ffffff;
}
.progress-percentage[data-v-d25ac9c4] {
  color: var(--theme-primary-color);
  font-weight: bold;
}

/* VanImage组件通用样式 */
[data-v-d25ac9c4] .van-image {
  display: block;
}
[data-v-d25ac9c4] .van-image__img {
  object-fit: inherit;
}
[data-v-d25ac9c4] .van-image__loading {
  background-color: transparent;
}
[data-v-d25ac9c4] .van-image__error {
  background-color: transparent;
  color: #666;
  font-size: 3.2vw;
}.notice-bar-container[data-v-215662f8] {
  width: 90%;
  display: flex;
  align-items: center;
}
.notice-bar[data-v-215662f8] {
  flex: 1;
  height: 8vw;
  overflow: hidden;
  position: relative;
}
.notice-bar.clickable[data-v-215662f8] {
  cursor: pointer;
}
.notice-content[data-v-215662f8] {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}
.card-wrapper[data-v-215662f8] {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
}
.notice-card[data-v-215662f8] {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  overflow: hidden;
  color: #fff;
  font-size: 2.666667vw;
  font-weight: 400;
  white-space: nowrap;
  overflow: hidden;
}
.notice-card.notice[data-v-215662f8] {
  color: #fff;
}
.notice-card.reward[data-v-215662f8] {
  color: #fff;
  font-weight: 400;
}
.notice-card.placeholder[data-v-215662f8] {
  color: #fff;
  background: rgba(0, 0, 0, 0.05);
}
.notice-card.placeholder .notice-card-text[data-v-215662f8] {
  padding-left: 0;
  animation: none;
}
.notice-card-text[data-v-215662f8] {
  display: inline-block;
  min-width: max-content;
  padding-left: 100%;
  animation: notice-scroll-215662f8 linear infinite;
  animation-duration: calc(var(--653fe93a) * 1s);
}
@keyframes notice-scroll-215662f8 {
from {
    transform: translateX(0);
}
to {
    transform: translateX(-100%);
}
}
@media (max-width: 480px) {
.notice-bar[data-v-215662f8] {
    height: 8vw;
}
.notice-card[data-v-215662f8] {
    font-size: 3.2vw;
}
}
@media (max-width: 360px) {
.notice-card[data-v-215662f8] {
    font-size: 2.933333vw;
}
}.jackpot-rolling-number[data-v-42b0e7b1] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--jackpot-number-color);
  font-family: var(--jackpot-font-family);
  font-size: var(--jackpot-font-size);
  font-weight: var(--jackpot-font-weight);
  line-height: var(--jackpot-digit-height);
  text-shadow: var(--jackpot-text-shadow);
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.jackpot-rolling-currency[data-v-42b0e7b1] {
  color: var(--jackpot-currency-color);
  flex-shrink: 0;
  height: var(--jackpot-digit-height);
  line-height: var(--jackpot-digit-height);
  margin-right: var(--jackpot-currency-gap);
  font-family: var(--jackpot-currency-font-family);
}
.jackpot-rolling-digits[data-v-42b0e7b1] {
  display: inline-flex;
  align-items: center;
  gap: var(--jackpot-digit-gap);
  height: var(--jackpot-digit-height);
}
.jackpot-rolling-character[data-v-42b0e7b1] {
  position: relative;
  display: inline-block;
  height: var(--jackpot-digit-height);
}
.jackpot-rolling-digit[data-v-42b0e7b1] {
  width: var(--jackpot-digit-width);
  overflow: hidden;
}
.jackpot-rolling-separator[data-v-42b0e7b1] {
  width: auto;
  min-width: calc(var(--jackpot-digit-width) * 0.45);
  overflow: visible;
}
.jackpot-rolling-stack[data-v-42b0e7b1] {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  will-change: transform;
}
.is-animated .jackpot-rolling-stack[data-v-42b0e7b1] {
  transition: transform var(--jackpot-duration) cubic-bezier(0.22, 0.75, 0.26, 1);
}
.jackpot-rolling-value[data-v-42b0e7b1] {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: var(--jackpot-digit-height);
  line-height: var(--jackpot-digit-height);
}
.jackpot-rolling-separator-text[data-v-42b0e7b1] {
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--jackpot-digit-height);
  line-height: var(--jackpot-digit-height);
}
@media (max-width: 768px) {
.jackpot-rolling-number.is-mobile-compact[data-v-42b0e7b1] {
    --jackpot-font-size: 3.2vw !important;
    --jackpot-digit-width: 2.933333vw !important;
    --jackpot-digit-height: 4.8vw !important;
    --jackpot-digit-gap: 1px !important;
}
}
/* 触发按钮 */
.sidebar-trigger[data-v-6fd2d696] {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 99999;
  pointer-events: all;
  cursor: pointer;
  /* 确保按钮始终可见和可点击 */
}
.sidebar-trigger[data-v-6fd2d696]::before {
  content: "";
  position: fixed;
  top: -2.666667vw;
  left: -2.666667vw;
  right: -2.666667vw;
  bottom: -2.666667vw;
  background: transparent;
  pointer-events: all;
}
.trigger-btn[data-v-6fd2d696] {
  width: 5.866667vw;
  height: 34.666667vw;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: all;
  user-select: none;
  /* SVG容器样式 */
}
.trigger-btn .drawer-svg[data-v-6fd2d696] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.trigger-btn .drawer-svg svg[data-v-6fd2d696] {
  color: var(--trigger-color, var(--theme-primary-color));
  width: 100%;
  height: 100%;
  display: block;
  /* 保持SVG的宽高比，确保内容不被裁剪 */
  object-fit: contain;
}
.trigger-btn .drawer-svg[data-v-6fd2d696] svg path,
.trigger-btn .drawer-svg[data-v-6fd2d696] svg rect,
.trigger-btn .drawer-svg[data-v-6fd2d696] svg circle,
.trigger-btn .drawer-svg[data-v-6fd2d696] svg ellipse,
.trigger-btn .drawer-svg[data-v-6fd2d696] svg polygon,
.trigger-btn .drawer-svg[data-v-6fd2d696] svg polyline {
  fill: var(--trigger-color, var(--theme-primary-color));
  stroke: var(--trigger-color, var(--theme-primary-color));
}
.trigger-btn[data-v-6fd2d696]:active {
  transform: scale(0.98);
}
.trigger-btn[data-v-6fd2d696]:hover {
  opacity: 0.8;
}
.trigger-icon-img[data-v-6fd2d696] {
  width: 2.133333vw;
  height: 2.666667vw;
  filter: brightness(0) invert(1);
  /* 使图片变成白色 */
  transform: rotate(0deg);
  /* 箭头向右 */
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}

/* 遮罩层 */
.sidebar-overlay[data-v-6fd2d696] {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.85);
  z-index: 9998;
  backdrop-filter: blur(0.533333vw);
  pointer-events: all;
}

/* 侧边栏主体 */
.sidebar[data-v-6fd2d696] {
  --sidebar-top-offset: clamp(14.933333vw, 10vh, 23.466667vw);
  --sidebar-bottom-offset: calc(3.2vw + env(safe-area-inset-bottom, 0px));
  --sidebar-max-height: min(192vw, calc(100vh - var(--sidebar-top-offset) - var(--sidebar-bottom-offset)));
  position: fixed;
  top: var(--sidebar-top-offset);
  right: -1px;
  bottom: auto;
  width: 32.533333vw;
  height: auto;
  max-height: var(--sidebar-max-height);
  background: #000000;
  border: 1px solid var(--theme-primary-color);
  border-right: none;
  border-radius: 4vw 0 4vw 4vw;
  z-index: 10000;
  transform: translateX(100%);
  transition: transform 0.3s ease;
  display: flex;
  flex-direction: column;
  pointer-events: all;
  overscroll-behavior: contain;
  /* Safari 兼容性优化 */
  -webkit-transform: translateX(100%);
  will-change: transform;
}
.sidebar.sidebar-open[data-v-6fd2d696] {
  transform: translateX(0);
  -webkit-transform: translateX(0);
}
.sidebar.sidebar-closed[data-v-6fd2d696] {
  transform: translateX(100%);
  -webkit-transform: translateX(100%);
}
@supports (height: 100dvh) {
.sidebar[data-v-6fd2d696] {
    --sidebar-top-offset: clamp(14.933333vw, 10dvh, 23.466667vw);
    --sidebar-max-height: min(192vw, calc(100dvh - var(--sidebar-top-offset) - var(--sidebar-bottom-offset)));
}
}
/* 更多按钮 - 浮动在侧边栏底部 */
.more-btn[data-v-6fd2d696] {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 5.333333vw;
  background: var(--theme-primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border-radius: 0 0 0 3.466667vw;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: all;
}
.more-btn[data-v-6fd2d696]:hover {
  background: var(--theme-primary-color);
  opacity: 0.9;
  transform: translateY(-1px);
}
.more-btn[data-v-6fd2d696]:active {
  transform: translateY(0);
  background: var(--theme-primary-color);
  opacity: 0.8;
}
.more-btn .more-arrow[data-v-6fd2d696] {
  width: 2.133333vw;
  height: 2.133333vw;
  border-right: 0.533333vw solid #ffffff;
  border-bottom: 0.533333vw solid #ffffff;
  transform: rotate(45deg);
  animation: bounceArrow-6fd2d696 2s infinite;
  transition: transform 0.3s ease;
}
.more-btn:hover .more-arrow[data-v-6fd2d696] {
  transform: rotate(45deg) scale(1.1);
}

/* 侧边栏左侧关闭按钮 */
.sidebar-more-btn-enter-active[data-v-6fd2d696],
.sidebar-more-btn-leave-active[data-v-6fd2d696] {
  transition: opacity 0.28s ease;
}
.sidebar-more-btn-enter-from[data-v-6fd2d696],
.sidebar-more-btn-leave-to[data-v-6fd2d696] {
  opacity: 0;
}
.sidebar-more-btn-enter-to[data-v-6fd2d696],
.sidebar-more-btn-leave-from[data-v-6fd2d696] {
  opacity: 1;
}
.sidebar-close-trigger[data-v-6fd2d696] {
  position: absolute;
  left: -6.133333vw;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10001;
  pointer-events: all;
  cursor: pointer;
  /* 确保按钮始终可见和可点击 */
}
.sidebar-close-trigger[data-v-6fd2d696]::before {
  content: "";
  position: absolute;
  top: -2.666667vw;
  left: -2.666667vw;
  right: -2.666667vw;
  bottom: -2.666667vw;
  background: transparent;
  pointer-events: all;
}
.close-trigger-btn[data-v-6fd2d696] {
  width: 6.666667vw;
  height: 34.666667vw;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.3s ease;
  pointer-events: all;
  user-select: none;
  /* SVG容器样式 */
}
.close-trigger-btn .drawer-svg[data-v-6fd2d696] {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.close-trigger-btn .drawer-svg svg[data-v-6fd2d696] {
  width: 100%;
  height: 100%;
  display: block;
  /* 保持SVG的宽高比，确保内容不被裁剪 */
  object-fit: contain;
}
.close-trigger-btn[data-v-6fd2d696]:active {
  transform: scale(0.98);
}
.close-trigger-btn[data-v-6fd2d696]:hover {
  opacity: 0.8;
}
.close-trigger-icon-img[data-v-6fd2d696] {
  width: 2.133333vw;
  height: 2.666667vw;
  filter: brightness(0) invert(1);
  /* 使图片变成白色 */
  transform: rotate(180deg);
  /* 箭头向左 */
  transition: transform 0.3s ease;
  position: relative;
  z-index: 1;
}

/* 侧边栏头部 */
.sidebar-header[data-v-6fd2d696] {
  background: var(--theme-primary-color);
  padding: 4vw 5.333333vw;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 4vw 0 0 0;
  flex-shrink: 0;
}

/* 侧边栏内容 */
.sidebar-content[data-v-6fd2d696] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.666667vw;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 0;
  position: relative;
  min-height: 0;
  padding: 1.333333vw 0;
  /* Safari 滚动优化 */
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y !important;
  /* 强制允许垂直滚动，覆盖继承的限制 */
  will-change: scroll-position;
  /* 确保可以接收触摸事件 */
  pointer-events: all;
}
.sidebar-content.has-more-btn[data-v-6fd2d696] {
  margin-bottom: 5.333333vw;
}
.sidebar-content[data-v-6fd2d696]::-webkit-scrollbar {
  display: none;
}
.sidebar-content[data-v-6fd2d696] {
  /* 自定义滚动条样式 */
}
@keyframes bounceArrow-6fd2d696 {
0%, 20%, 50%, 80%, 100% {
    transform: rotate(45deg) translate(0, 0);
}
40% {
    transform: rotate(45deg) translate(-0.533333vw, -0.533333vw);
}
60% {
    transform: rotate(45deg) translate(-1px, -1px);
}
}

/* 侧边栏选项 */
.sidebar-item[data-v-6fd2d696] {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 1.866667vw;
  cursor: pointer;
  transition: all 0.3s ease;
  border-radius: 3.2vw;
  min-height: 16vw;
  box-shadow: 0 0.533333vw 2.133333vw rgba(0, 0, 0, 0.2);
  /* Safari 触摸优化 */
  -webkit-tap-highlight-color: transparent;
  touch-action: auto !important;
  /* 强制允许所有触摸手势，包括滚动 */
  pointer-events: all;
}
.sidebar-item[data-v-6fd2d696]:hover {
  transform: translateY(-0.533333vw);
  box-shadow: 0 1.066667vw 3.2vw rgba(0, 0, 0, 0.3);
}
.sidebar-item[data-v-6fd2d696]:active {
  transform: translateY(0);
  box-shadow: 0 0.533333vw 1.6vw rgba(0, 0, 0, 0.2);
}
.item-content[data-v-6fd2d696] {
  text-align: center;
  width: 100%;
  position: relative;
}
.item-content img[data-v-6fd2d696] {
  max-width: 29.866667vw;
}

/* JACKPOT数字叠加层样式 */
.jackpot-overlay[data-v-6fd2d696] {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 2;
}

/* JACKPOT项特殊样式 */
.sidebar-item.jackpot-item[data-v-6fd2d696] {
  position: relative;
  overflow: visible;
  min-height: 20.8vw;
}
.sidebar-item.jackpot-item:hover .jackpot-overlay[data-v-6fd2d696] {
  transform: scale(1.05);
  transition: transform 0.2s ease;
}
.sidebar-item.jackpot-item .item-content[data-v-6fd2d696] {
  overflow: visible;
}

/* 移动端适配 */
@media (max-width: 768px) {
.sidebar[data-v-6fd2d696] {
    --sidebar-top-offset: clamp(12.8vw, 12vh, 19.2vw);
    --sidebar-max-height: min(149.333333vw, calc(72vh - env(safe-area-inset-bottom, 0px)));
}
@supports (height: 100dvh) {
.sidebar[data-v-6fd2d696] {
      --sidebar-top-offset: clamp(12.8vw, 12dvh, 19.2vw);
      --sidebar-max-height: min(149.333333vw, calc(72dvh - env(safe-area-inset-bottom, 0px)));
}
}
.trigger-btn[data-v-6fd2d696],
  .close-trigger-btn[data-v-6fd2d696] {
    width: 5.866667vw;
    height: 34.666667vw;
}
.trigger-icon-img[data-v-6fd2d696],
  .close-trigger-icon-img[data-v-6fd2d696] {
    width: 2.133333vw;
    height: 2.666667vw;
}
.sidebar-item[data-v-6fd2d696] {
    margin: 0 1.866667vw;
    min-height: 13.333333vw;
}
.sidebar-close-trigger[data-v-6fd2d696] {
    left: -6.133333vw;
}
}
/* 无UI组件，无需样式 */

[data-v-e24471b7] .page-header {
  background: #272d39 !important;
}
.user-header[data-v-e24471b7] {
  padding: 1.6vw 2.666667vw 1.066667vw;
}
.home-content[data-v-e24471b7] {
  display: flex;
  flex-direction: column;
  /* 页面滚动模式下，不限制高度 */
  /* min-height: 120vh !important; */
  /* height: 120vh !important; */
}
.home-content .info-notice[data-v-e24471b7] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
  margin-bottom: 2.133333vw;
  margin-top: 2.133333vw;
  color: #ffffff;
  font-size: 3.733333vw;
  border-radius: 1.333333vw;
  padding: 0 2.666667vw;
  border: 1px solid color-mix(in srgb, var(--theme-primary-color) 30%, transparent);
}
.home-content .info-notice .notice-text[data-v-e24471b7] {
  width: 90%;
}
.home-content .info-notice .van-image[data-v-e24471b7] {
  width: 4.266667vw;
  height: 3.733333vw;
}
.home-content .info-notice[data-v-e24471b7] .van-image__img {
  width: 4.266667vw;
  height: 3.733333vw;
}

/* 加载状态容器 */
.loading-container[data-v-e24471b7] {
  padding: 1.333333vw 0 26.666667vw;
}
.home-skeleton[data-v-e24471b7] {
  display: flex;
  flex-direction: column;
  gap: 2.666667vw;
}
.skeleton-block[data-v-e24471b7],
.skeleton-line[data-v-e24471b7],
.skeleton-pill[data-v-e24471b7],
.skeleton-card[data-v-e24471b7],
.skeleton-dot[data-v-e24471b7] {
  position: relative;
  overflow: hidden;
  background: color-mix(in srgb, var(--theme-primary-color) 14%, rgba(255, 255, 255, 0.08));
}
.skeleton-block[data-v-e24471b7]::after,
.skeleton-line[data-v-e24471b7]::after,
.skeleton-pill[data-v-e24471b7]::after,
.skeleton-card[data-v-e24471b7]::after,
.skeleton-dot[data-v-e24471b7]::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.16), transparent);
  animation: skeletonShimmer-e24471b7 1.35s ease-in-out infinite;
}
.skeleton-showcase[data-v-e24471b7] {
  display: flex;
  gap: 2.133333vw;
  height: 52.266667vw;
}
.skeleton-main-banner[data-v-e24471b7] {
  flex: 2;
  border-radius: 2.666667vw;
}
.skeleton-side-banners[data-v-e24471b7] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2.133333vw;
}
.skeleton-side-banners .skeleton-block[data-v-e24471b7] {
  flex: 1;
  border-radius: 1.866667vw;
}
.skeleton-notice[data-v-e24471b7],
.skeleton-bonus[data-v-e24471b7] {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 2.133333vw;
}

/* 主要内容区域 - 移除内部滚动，依赖BasePageLayout */
.main-content-area[data-v-e24471b7] {
  padding: 1.333333vw 0 26.666667vw 0;
  /* 默认padding，没有消息时 */
  /* 有消息时的padding */
}
.main-content-area.has-messages[data-v-e24471b7] {
  padding: 4.266667vw 0 26.666667vw 0;
}
.balance-section[data-v-e24471b7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 0.533333vw;
}
.balance-left[data-v-e24471b7] {
  display: flex;
  align-items: center;
  gap: 3.2vw;
}
.user-avatar[data-v-e24471b7] {
  display: flex;
  align-items: center;
}
.user-avatar[data-v-e24471b7] .van-image {
  width: 32vw;
  height: 8vw;
}
.game-entry-mask[data-v-e24471b7] {
  position: fixed;
  inset: 0;
  z-index: 1000002;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  background: #000000;
}
.game-entry-content[data-v-e24471b7] {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4.8vw;
  width: 100%;
  padding-top: max(19.2vw, env(safe-area-inset-top));
}
.game-entry-logo[data-v-e24471b7] {
  justify-content: center;
}
.game-entry-logo[data-v-e24471b7] .van-image {
  width: 40vw;
  height: 10.133333vw;
}
.game-entry-text[data-v-e24471b7] {
  color: rgba(255, 255, 255, 0.86);
  font-size: 3.733333vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}
.game-entry-mask-enter-active[data-v-e24471b7],
.game-entry-mask-leave-active[data-v-e24471b7] {
  transition: opacity 0.2s ease;
}
.game-entry-mask-enter-from[data-v-e24471b7],
.game-entry-mask-leave-to[data-v-e24471b7] {
  opacity: 0;
}
.skeleton-notice[data-v-e24471b7] {
  gap: 2.133333vw;
  height: 8vw;
  padding: 0 2.666667vw;
}
.skeleton-bonus[data-v-e24471b7] {
  justify-content: space-between;
  min-height: 17.066667vw;
  padding: 2.666667vw 3.2vw;
}
.skeleton-dot[data-v-e24471b7] {
  width: 4.8vw;
  height: 4.8vw;
  flex: 0 0 4.8vw;
  border-radius: 50%;
}
.skeleton-line[data-v-e24471b7] {
  width: 100%;
  height: 2.666667vw;
  border-radius: 266.4vw;
}
.skeleton-line-short[data-v-e24471b7] {
  width: 21.866667vw;
  margin-bottom: 2.4vw;
}
.skeleton-line-medium[data-v-e24471b7] {
  width: 34.133333vw;
}
.skeleton-pill[data-v-e24471b7] {
  width: 19.2vw;
  height: 6.4vw;
  border-radius: 266.4vw;
}
.skeleton-tabs[data-v-e24471b7] {
  display: flex;
  gap: 2.133333vw;
  padding: 0.533333vw 0;
}
.skeleton-grid[data-v-e24471b7] {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.133333vw;
}
.skeleton-card[data-v-e24471b7] {
  aspect-ratio: 1/1.26;
  border-radius: 2.133333vw;
}
@keyframes skeletonShimmer-e24471b7 {
100% {
    transform: translateX(100%);
}
}
.balance-info[data-v-e24471b7] {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.866667vw;
}
.balance-info .balance-info-left[data-v-e24471b7] {
  text-align: right;
}
.balance-amount[data-v-e24471b7] {
  font-size: 3.2vw;
  color: #cccccc;
  font-weight: bold;
}
.balance-level[data-v-e24471b7] {
  font-size: 3.2vw;
  color: #999999;
  display: flex;
  align-items: center;
  font-weight: 600;
  gap: 1.066667vw;
}
.balance-level[data-v-e24471b7] .van-image {
  width: 3.2vw;
  height: 3.2vw;
}
.balance-right[data-v-e24471b7] {
  display: flex;
  gap: 2.666667vw;
  align-items: center;
}
.header-user-avatar[data-v-e24471b7] {
  width: 12.8vw;
  height: 12.8vw;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  position: relative;
  cursor: pointer;
  user-select: none;
}
.header-user-avatar[data-v-e24471b7]:active {
  transform: scale(0.96);
}
.header-user-avatar .avatar-img[data-v-e24471b7] {
  width: 11.2vw;
  height: 11.2vw;
  border-radius: 50%;
  overflow: hidden;
  border: none;
  background: #1d1d23;
}
.header-user-avatar[data-v-e24471b7] .avatar-img .van-image__img {
  width: 11.2vw;
  height: 11.2vw;
}
.header-vip-badge[data-v-e24471b7] {
  width: 7.68vw;
  height: 2.986667vw;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 0.8vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
.header-vip-badge[data-v-e24471b7] .van-image {
  position: absolute;
  inset: 0;
  width: 7.68vw;
  height: 2.986667vw;
  z-index: -1;
}
.header-vip-badge .vip-level-number[data-v-e24471b7] {
  position: absolute;
  right: 1.6vw;
  top: 50%;
  color: #000000;
  font-size: 2.133333vw;
  font-weight: 700;
  line-height: 1;
  transform: translateY(-50%);
}
.more-btn[data-v-e24471b7] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.more-btn .kuang-bg[data-v-e24471b7] {
  position: absolute;
  top: 10.133333vw;
  left: 50%;
  min-width: 24vw;
  min-height: 6.4vw;
  width: max-content;
  padding: 0.8vw 3.2vw;
  box-sizing: border-box;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: floatUpDown-e24471b7 1.5s ease-in-out infinite;
  cursor: pointer;
  transition: transform 0.2s ease;
}
.more-btn .kuang-bg[data-v-e24471b7]:active {
  transform: translateX(-50%) scale(0.95);
}
.more-btn .kuang-bg .kuang-text[data-v-e24471b7] {
  font-size: 3.2vw;
  color: #ffffff;
  font-weight: bold;
  position: relative;
  z-index: 11;
  white-space: nowrap;
  line-height: 1;
}
.more-btn .kuang[data-v-e24471b7] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: fill;
  pointer-events: none;
}
.more-btn[data-v-e24471b7] .van-image {
  width: 5.333333vw;
  height: 5.333333vw;
}
.notification-btn[data-v-e24471b7] {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 8vw;
  height: 8vw;
  padding: 0.8vw;
  border-radius: 50%;
  border: 0.4vw solid color-mix(in srgb, var(--theme-primary-color) 44%, rgba(255, 255, 255, 0.18));
  background: color-mix(in srgb, var(--theme-primary-color) 10%, rgba(255, 255, 255, 0.02));
  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.04);
  overflow: hidden;
}
.notification-btn .top-email-icon[data-v-e24471b7] {
  width: 5.333333vw;
  height: 5.333333vw;
  display: flex;
  align-items: center;
  justify-content: center;
  transform-origin: center;
}
.notification-btn .top-email-icon svg[data-v-e24471b7] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.notification-btn .top-email-icon.breathing[data-v-e24471b7] {
  animation: emailBreathing-e24471b7 3s ease-in-out infinite;
}
@keyframes emailBreathing-e24471b7 {
0% {
    transform: scale(1);
    opacity: 1;
}
15% {
    transform: scale(1.15);
    opacity: 0.9;
}
30% {
    transform: scale(1);
    opacity: 1;
}
45% {
    transform: scale(1.15);
    opacity: 0.9;
}
60% {
    transform: scale(1);
    opacity: 1;
}
100% {
    transform: scale(1);
    opacity: 1;
}
}
@keyframes floatUpDown-e24471b7 {
0% {
    transform: translate(-50%, 0px);
}
50% {
    transform: translate(-50%, -1.333333vw);
}
100% {
    transform: translate(-50%, 0px);
}
}
.notification-btn[data-v-e24471b7] .van-badge--top-right {
  top: 1.333333vw;
  right: 1.333333vw;
}
.notification-btn[data-v-e24471b7] .van-badge .van-badge__wrapper {
  position: relative;
}
.notification-btn[data-v-e24471b7] .van-badge .van-badge__content {
  background: #ff4444;
  border: 0.533333vw solid #ffffff;
  box-shadow: 0 0.533333vw 1.066667vw rgba(0, 0, 0, 0.2);
}

/* 公告栏 */
.notification-btn[data-v-e24471b7] {
  overflow: visible;
  transform-origin: center;
}
.notification-btn[data-v-e24471b7] .van-badge__wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notification-btn[data-v-e24471b7] .van-badge--top-right {
  top: 0;
  right: 0;
  transform: translate(50%, -50%);
}
.notification-btn[data-v-e24471b7] .van-badge__content {
  min-width: 2.133333vw;
  width: 2.133333vw;
  height: 2.133333vw;
}
.notice-bar[data-v-e24471b7] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
  cursor: pointer;
}
.notice-bar .notice-bar-left[data-v-e24471b7] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
  flex: 1;
}
.notice-bar .notice-bar-left .email-icon[data-v-e24471b7] {
  width: 3.733333vw;
  height: 3.2vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
.notice-bar .notice-bar-left .email-icon svg[data-v-e24471b7] {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.notice-bar .notice-bar-left .notice-bar-right-text-title[data-v-e24471b7] {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 3.2vw;
  opacity: 0.8;
}
.bonus-tag[data-v-e24471b7] {
  background: var(--theme-primary-color);
  color: white;
  padding: 1px 3.2vw;
  border-radius: 4vw;
  font-size: 2.666667vw;
  display: flex;
  align-items: center;
  gap: 1.066667vw;
}
.bonus-tag[data-v-e24471b7] .van-image {
  width: 2.133333vw;
  height: 1.866667vw;
}

/* SSE状态栏样式 */
.sse-status-bar[data-v-e24471b7] {
  background: rgba(34, 151, 120, 0.1);
  padding: 2.133333vw 2.666667vw;
  margin: 2.666667vw 0;
  border-radius: 1.6vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 2.933333vw;
  border: 1px solid rgba(34, 151, 120, 0.2);
}
.sse-status-left[data-v-e24471b7] {
  display: flex;
  align-items: center;
  gap: 2.133333vw;
}
.sse-status-label[data-v-e24471b7] {
  color: var(--theme-primary-color);
  font-weight: bold;
}
.sse-status-value[data-v-e24471b7] {
  background: var(--theme-primary-color);
  color: white;
  padding: 0.533333vw 1.6vw;
  border-radius: 1.066667vw;
  font-size: 2.666667vw;
  font-weight: bold;
}
.sse-status-right[data-v-e24471b7] {
  display: flex;
  align-items: center;
}
.sse-status-info[data-v-e24471b7] {
  color: var(--theme-primary-color);
  font-size: 2.666667vw;
}

/* 最新消息样式 */
.latest-messages[data-v-e24471b7] {
  background: rgba(29, 29, 35, 0.8);
  margin: 2.666667vw 0;
  border-radius: 2.133333vw;
  padding: 3.2vw;
  border: 1px solid rgba(34, 151, 120, 0.3);
}
.latest-messages-title[data-v-e24471b7] {
  color: var(--theme-primary-color);
  font-size: 3.733333vw;
  font-weight: bold;
  margin-bottom: 2.666667vw;
  text-align: center;
}
.message-item[data-v-e24471b7] {
  background: rgba(17, 17, 20, 0.6);
  border-radius: 1.6vw;
  padding: 2.666667vw;
  margin-bottom: 2.133333vw;
  border-left: 0.8vw solid var(--theme-primary-color);
}
.message-item[data-v-e24471b7]:last-child {
  margin-bottom: 0;
}
.message-header[data-v-e24471b7] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 1.6vw;
}
.message-type[data-v-e24471b7] {
  background: var(--theme-primary-color);
  color: white;
  padding: 0.533333vw 2.133333vw;
  border-radius: 3.2vw;
  font-size: 2.666667vw;
  font-weight: bold;
  text-transform: uppercase;
}
.message-time[data-v-e24471b7] {
  color: #999;
  font-size: 2.666667vw;
}
.message-title[data-v-e24471b7] {
  color: #ffffff;
  font-size: 3.2vw;
  font-weight: bold;
  margin-bottom: 1.066667vw;
}
.message-content[data-v-e24471b7] {
  color: #cccccc;
  font-size: 2.933333vw;
  line-height: 1.4;
  margin-bottom: 1.066667vw;
}
.message-amount[data-v-e24471b7] {
  color: #ddab40;
  font-size: 2.933333vw;
  font-weight: bold;
}

/* 奖金区域样式已移至BonusSection组件 */
/* VanImage组件通用样式 */
[data-v-e24471b7] .van-image {
  display: block;
}
[data-v-e24471b7] .van-image__img {
  object-fit: inherit;
}
[data-v-e24471b7] .van-image__loading {
  background-color: transparent;
}
[data-v-e24471b7] .van-image__error {
  background-color: transparent;
  color: #666;
  font-size: 3.2vw;
}
.legal-notice[data-v-e24471b7] {
  padding: 2.666667vw;
}
.legal-notice p[data-v-e24471b7] {
  color: rgb(153, 153, 153);
  font-size: 3.2vw;
  line-height: 1.6;
  margin: 0;
}
.custom-back-top[data-v-e24471b7] {
  --van-floating-bubble-size: 13.333333vw;
  --van-floating-bubble-background: var(--theme-primary-color);
  --van-floating-bubble-color: #ffffff;
  --van-floating-bubble-z-index: 1200;
  box-shadow: 0 1.066667vw 3.2vw color-mix(in srgb, var(--theme-primary-color) 30%, transparent);
}
.dev-account-reset[data-v-e24471b7] {
  position: fixed;
  right: 4.266667vw;
  bottom: 46.933333vw;
  z-index: 1201;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.066667vw;
  width: 15.466667vw;
  height: 9.066667vw;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 4.533333vw;
  color: #ffffff;
  background: #d94841;
  box-shadow: 0 1.6vw 4.266667vw rgba(217, 72, 65, 0.36);
  font-size: 3.2vw;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}
.dev-account-reset[data-v-e24471b7]:active {
  transform: scale(0.96);
}
.toTop[data-v-e24471b7] {
  display: flex;
  color: #fff;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 13.333333vw;
  height: 13.333333vw;
  font-size: 2.933333vw;
  line-height: 1.1;
  text-align: center;
}

/* 说明弹窗样式 */
.withdrawal-info-modal[data-v-e24471b7] {
  background: transparent;
}
.info-container[data-v-e24471b7] {
  background: linear-gradient(135deg, #2c2c34 0%, #1d1d23 100%);
  border-radius: 4.266667vw;
  padding: 6.4vw;
  box-shadow: 0 2.133333vw 8.533333vw rgba(0, 0, 0, 0.3);
}
.info-content[data-v-e24471b7] {
  margin-bottom: 6.4vw;
}
.info-item[data-v-e24471b7] {
  display: flex;
  align-items: center;
  margin-bottom: 4.266667vw;
}
.info-item[data-v-e24471b7]:last-child {
  margin-bottom: 0;
}
.star-icon[data-v-e24471b7] {
  color: #ffd700;
  font-size: 4.266667vw;
  margin-right: 3.2vw;
  flex-shrink: 0;
}
.info-text[data-v-e24471b7] {
  color: #ffffff;
  font-size: 3.2vw;
  font-family: "AlibabaPuHuiTi_3_55_Regular", sans-serif;
  line-height: 1.4;
}
.info-footer[data-v-e24471b7] {
  text-align: center;
}
.deposit-btn[data-v-e24471b7] {
  background: var(--theme-primary-color);
  border: none;
  border-radius: 6.666667vw;
  color: #ffffff;
  font-size: 3.733333vw;
  font-family: "AlibabaPuHuiTi_3_85_Bold", sans-serif;
  font-weight: bold;
  padding: 1.333333vw 8.533333vw;
  cursor: pointer;
  transition: all 0.3s ease;
}
.deposit-btn[data-v-e24471b7]:hover {
  transform: translateY(-0.533333vw);
}
.deposit-btn[data-v-e24471b7]:active {
  transform: translateY(0);
}

/* 移动端适配 */
@media (max-width: 375px) {
.info-container[data-v-e24471b7] {
    padding: 5.333333vw;
}
.info-title[data-v-e24471b7] {
    font-size: 3.2vw;
}
.info-text[data-v-e24471b7] {
    font-size: 3.733333vw;
}
.deposit-btn[data-v-e24471b7] {
    font-size: 3.733333vw;
    padding: 1.333333vw 8.533333vw;
}
}