/* ========================================
   BASE
======================================== */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  min-height: 100%;
  overflow-x: hidden;
    scroll-behavior: smooth;
}

body {
  font-family: Arial, sans-serif;
  background: #102483;
  color: #ffffff;
}

body.menu-open {
  overflow: hidden;
}

body.has-sticky-bar {
  padding-bottom: 90px;
}

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

img {
  display: block;
  max-width: 100%;
}

button {
  font: inherit;
}

/* ========================================
   LAYOUT
======================================== */
.site-wrapper {
  min-height: 100vh;
  background: #102483;
}

.container {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 15px;
}

.main-content {
  width: 100%;
  max-width: 1300px;
  margin: 0 auto;
  padding: 42px 44px 40px;
  background: #16268d;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 6px;
  box-shadow: 0 15px 15px rgba(0, 0, 0, 0.45);
}

/* ========================================
   TOP BUTTONS
======================================== */
.top-buttons {
  display: flex;
  justify-content: center;
  gap: 35px;
}

.top-buttons__btn {
  position: relative;
  flex: 0 0 auto;
  min-width: 285px;
  overflow: hidden;
  isolation: isolate;
  padding: 20px 40px;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  border-radius:999px;
  transition: transform 0.18s ease, box-shadow 0.18s ease, filter 0.18s ease;
}

.top-buttons__btn:hover {
  transform: translateY(-3px) scale(1.02);
  /* filter: brightness(1.08); */
}

.top-buttons__btn::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    110deg,
    transparent 0%,
    rgba(255, 255, 255, 0.36) 45%,
    transparent 75%
  );
  transform: translateX(-130%);
  animation: buttonShine 3s ease-in-out infinite;
  pointer-events: none;
}

.top-buttons__btn--orange {
  background: linear-gradient(135deg, #ffb02e 0%, #ff7a00 52%, #ffd84a 100%);
  box-shadow: 0 10px 24px rgba(255, 140, 0, 0.34);
}

.top-buttons__btn--blue {
  background: linear-gradient(135deg, #63b3ff 0%, #6b5cff 45%, #2de2ff 100%);
  box-shadow: 0 10px 24px rgba(77, 121, 255, 0.28);
    animation: demoPulse 3s ease-in-out infinite;
}

.error-page__main {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: #102483;
  color: #ffffff;
}

.error-page__box {
  width: min(520px, 100%);
  padding: 40px 24px;
  text-align: center;
  border-radius: 24px;
  background: rgba(17, 40, 97, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.error-page__box h1 {
  margin-bottom: 10px;
  font-size: 72px;
}

.error-page__box p {
  margin-bottom: 22px;
  font-size: 18px;
}

.error-page__box a {
  display: inline-flex;
  padding: 14px 26px;
  border-radius: 999px;
  background: linear-gradient(180deg, #ff3ba7 0%, #f00068 100%);
  color: #ffffff;
  font-weight: 800;
}

.plinko-toc__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.plinko-toc__item {
  list-style: none;
}

.plinko-toc__item::marker {
  content: "";
}

.plinko-toc__item + .plinko-toc__item {
  margin-top: 12px;
}

.plinko-toc__item a {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.plinko-toc__number {
  flex: 0 0 auto;
  font-weight: 900;
}

.plinko-toc__text {
  min-width: 0;
}

.plinko-toc__item--sub {
  margin-left: 34px;
  margin-top: 8px;
  font-size: 15px;
}

.plinko-toc__item--sub .plinko-toc__number {
  /* color: #24e8ff; */
  font-size: 14px;
}

.plinko-toc__item--sub .plinko-toc__text {
  font-weight: 700;
}

@keyframes demoPulse {
  0%,
  82%,
  100% {
    transform: translateY(0) scale(1);
  }

  86% {
    transform: translateY(-6px) scale(1.03);
  }

  90% {
    transform: translateY(0) scale(1);
  }

  94% {
    transform: translateY(-3px) scale(1.015);
  }
}

@keyframes buttonShine {
  0%, 55% {
    transform: translateX(-130%);
  }

  100% {
    transform: translateX(130%);
  }
}

@media (max-width: 767px) {
  .top-buttons {
    /* display: grid; */
    /* grid-template-columns: 1fr; */
    gap: 12px;
  }

  .top-buttons__btn {
    /* width: 100%; */
    /* min-width: 0; */
    /* max-width: 100%; */
    /* min-height: 54px; */
    min-width: 230px;
    padding: 14px 18px;
    font-size: 15px;
    /* border-radius: 18px; */
    white-space: normal;
    text-align: center;
  }
}
@media (max-width: 767px) {
    /* .top-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
  } */
  .top-buttons__btn {
    min-width: 230px;
    padding: 14px 18px;
    font-size: 15px;

  }
}

@media (max-width: 499px) {
  .top-buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    padding: 0 40px;
  }
  .top-buttons__btn {
    min-width: 200px;
    padding: 14px 18px;
    font-size: 15px;

  }
}
