:root {
  --safe-zone: calc(var(--tg-content-safe-area-inset-top) + var(--tg-safe-area-inset-top) + 10px);
}

body {
  background-color: #12124E;
  color: #fff;
  overflow: hidden;
  margin: 0;
  height: var(--tg-viewport-stable-height);
  width: 100vw;
}

.fade-in {
  animation: fadeIn 0.4s ease forwards;
}

.fade-out {
  animation: fadeOut 0.4s ease forwards;
}

.push-effect {
  -webkit-tap-highlight-color: transparent;
  position: relative;
  transition: transform 0.1s ease, box-shadow 0.1s ease;
  cursor: pointer;
  user-select: none;
}

.push-effect:active {
  transform: translateY(2px) scale(0.98);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1) !important;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: scale(0.95);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@keyframes fadeOut {
  from {
    opacity: 1;
    transform: scale(1);
  }

  to {
    opacity: 0;
    transform: scale(0.95);
  }
}

.transcription-container {
  display: flex;
  position: fixed;
  flex-direction: column;
  height: 80vh;
  width: -webkit-fill-available;
  left: 0;
  bottom: 0;
  border-radius: 3vmin 3vmin 0 0;
  background: #24245b;
  backdrop-filter: blur(200px);
  z-index: 2;
  justify-content: flex-start;
  align-items: center;
  padding-top: 2vmin;
  padding-left: 1vmin;
  padding-right: 1vmin;
  transform: translateY(100%);
  transition: transform 0.3s ease-out, height 0.3s ease-out;
  overflow: hidden;
  touch-action: none;
}

.transcription-container.visible {
  transform: translateY(0);
}

.move-line {
  width: 20vw;
  height: 0.5vmin;
  padding: 0.5vmin;
  border-radius: 5vmin;
  background: rgba(255, 255, 255, 0.32);
  margin-bottom: 2vmin;
  cursor: grab;
  touch-action: none;
}

.move-line:active {
  cursor: grabbing;
}

.title-container {
  padding: 4vmin 0 0 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90vw;
  cursor: grab;
}

h2.title {
  color: rgb(255 255 255 / 50%);
  margin: 0;
  font-size: 4vmin;
}

.transcription-text {
  display: block;
  font-family: 'Golos Text', sans-serif;
  font-size: 4vmin;
  white-space: pre-line;
  margin-top: 15px;
  text-align: left;
  padding-bottom: 5vh;
  width: 90vw;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
  line-height: 1.6;
}

.transcription-text::-webkit-scrollbar {
  width: 1vmin;
}

.transcription-text::-webkit-scrollbar-thumb {
  background-color: rgba(255, 255, 255, 0.2);
  border-radius: 1vmin;
}

@keyframes slideUp {
  from {
    transform: translateY(100%);
  }

  to {
    transform: translateY(0);
  }
}

@keyframes slideDown {
  from {
    transform: translateY(0);
  }

  to {
    transform: translateY(100%);
  }
}

.ellipsis-menu-container {
  position: absolute;
  display: none;
  background: white;
  height: 38vmin;
  width: 41vmin;
  border-radius: 4vmin 0.5vmin 4vmin 4vmin;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: 5vmin;
}

.line,
.del-line {
  color: black;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-direction: row;
  width: 85%;
}

.del-line {
  border-top: 1px solid gray;
  padding-top: 2vmin;
}

.line-text {
  font-family: 'Golos Text', sans-serif;
  font-size: 3vmin;
  font-weight: 500;
}