html.v102024-training-modal-open,
html.v102024-training-modal-open body {
  overflow: hidden;
}
.v102024-training-modal[hidden] {
  display: none !important;
}
.v102024-training-modal {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  padding: 22px;
}
.v102024-training-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(30, 7, 45, .58);
  backdrop-filter: blur(8px);
}
.v102024-training-dialog {
  position: relative;
  width: min(760px, calc(100vw - 30px));
  max-height: min(760px, calc(100vh - 34px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(117, 27, 151, .18);
  border-radius: 26px;
  background: #fff;
  box-shadow: 0 34px 90px rgba(30, 5, 48, .34);
  animation: v102024TrainingIn .18s ease-out;
}
.v102024-training-dialog > header {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 26px 22px;
  color: #fff;
  background:
    radial-gradient(circle at 90% 0%, rgba(255,255,255,.16), transparent 30%),
    linear-gradient(135deg, #4d0878, #8a0aa0 58%, #df087d);
}
.v102024-training-modal-kicker {
  display: block;
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .12em;
  opacity: .84;
}
.v102024-training-dialog h2 {
  margin: 0;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.05;
  letter-spacing: -.035em;
}
.v102024-training-dialog header p {
  margin: 7px 0 0;
  color: rgba(255,255,255,.78);
  font-size: 13px;
}
.v102024-training-close {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  color: #fff;
  background: rgba(255,255,255,.12);
  font: 700 26px/1 system-ui, sans-serif;
  cursor: pointer;
}
.v102024-training-close:hover {
  background: rgba(255,255,255,.2);
}
.v102024-training-body {
  overflow: auto;
  padding: 25px 27px;
  background:
    radial-gradient(circle at 100% 0%, rgba(223,8,125,.045), transparent 25%),
    #fff;
}
.v102024-training-script {
  padding: 22px 24px;
  border: 1px solid rgba(111, 31, 144, .12);
  border-radius: 20px;
  color: #2d1737;
  background: linear-gradient(155deg, #fff, #fcf8ff);
  box-shadow: 0 10px 26px rgba(63, 16, 87, .055);
  font-size: 15px;
  line-height: 1.72;
}
.v102024-training-apply {
  margin-top: 16px;
  padding: 16px 18px;
  border-radius: 17px;
  color: #4a165f;
  background: #f7effb;
}
.v102024-training-apply b {
  display: block;
  margin-bottom: 4px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .055em;
}
.v102024-training-apply p {
  margin: 0;
  color: #70577b;
  font-size: 13px;
  line-height: 1.55;
}
.v102024-training-dialog > footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 17px 26px 21px;
  border-top: 1px solid #eee5f2;
  background: #fff;
}
.v102024-training-dialog > footer .btn {
  min-height: 44px;
}
@keyframes v102024TrainingIn {
  from { opacity: 0; transform: translateY(12px) scale(.985); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@media (max-width: 620px) {
  .v102024-training-modal { padding: 10px; }
  .v102024-training-dialog {
    width: calc(100vw - 20px);
    max-height: calc(100vh - 20px);
    border-radius: 21px;
  }
  .v102024-training-dialog > header { padding: 20px 19px; }
  .v102024-training-body { padding: 18px; }
  .v102024-training-script { padding: 18px; font-size: 14px; }
  .v102024-training-dialog > footer {
    padding: 14px 18px 18px;
    flex-direction: column-reverse;
  }
  .v102024-training-dialog > footer .btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .v102024-training-dialog { animation: none; }
}
