/** variaveis para as cores do tema claro e escuro **/
:root {
  --shadow-small: 0px 0px 5px rgba(0, 0, 0, 0.14);
  --shadow-medium: 0px 0px 5px rgba(0, 0, 0, 0.17);
	--bg-color:#f9f9f9;
	--sc-color:#ebeeef;
	--pen-buttonfocus:#1ac783;
	--pen-borderfocus: 3px solid #0b9b7a;
	--red-buttoncolor:rgba(255, 77, 79, 0.99);
	--red-bordercolor: 3px solid rgba(237,36,72,0.99);
	--txt-color:#0c0c0d;
	--icn-color:#f9f9f9;
	--ts-color:#474d55;
	--shake-bgcolor:#c8dce8;
	--shake-borderColor: 2px solid #a1b2ba;
	--borderBottonColor: #d2dadb;
}
[data-theme="dark"]{
  --shadow-small: 0px 1px 3px rgba(0, 0, 0, 0.86);
--shadow-medium: 0px 4px 5px rgba(0, 0, 0, 1);
	--bg-color:#070708;
	--sc-color:#1a1b1f;
	--pen-buttonfocus:#08406e;
	--pen-borderfocus: 3px solid #04215c;
	--red-buttoncolor:rgba(136,10,49,0.99);
		--red-bordercolor: 3px solid rgba(94,7,43,0.99);
	--txt-color:#e4e4e7;
	--icn-color:#e5e6e9;
	--ts-color:#d8dce0;
		--shake-bgcolor:#203845;
		--shake-borderColor: 2px solid #161e28;
		--borderBottonColor: #0e1111;
}
@property --angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes spin {
	from{
	--angle: 0deg;
	} to {
  --angle: 360deg;
	}
}
body {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	overflow-x: hidden;
	background-color:var(--bg-color);
	transition: all 0.5s ease-in-out;
	font-family: 'Poppins', sans-serif;
}
.moldura{
	width: 100%;
	height: 100%
}
.header {
	display: flex;
	align-items: center;
	gap: 5vh;
}
.titulo {
	margin-left: 2%;
	color: var(--txt-color);
	transition: all 0.6s ease-in-out;
}
.headerButton {
	all: unset;
	width: 30px;
	height: 30px;
	display:flex;
	align-items: center;
	justify-content: center;
	border-bottom:3px solid var(--borderBottonColor);
	background-color: var(--sc-color);
	color: var(--txt-color);
	border-radius: 100%;
	z-index: 5; 
	transition: all 0.5s ease-in-out;
	box-shadow: var(--shadow-medium);
}
.footerButton {
	all: unset;
	position: fixed;
	bottom: 1dvh;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 40px;
	background-color: var(--sc-color);
	color: var(--txt-color);
	border-bottom:3px solid var(--borderBottonColor);
	border-radius: 100%;
	z-index: 11;
	transition: all 0.5s ease-in-out;
	box-shadow: var(--shadow-medium);
}
.footerButton:active {
	transform: translateX(-50%) scale(0.5);
  color: var(--sc-color);
}
.footerButton--focus{
	bottom: 10dvh;
	background-color: var(--pen-buttonfocus);
	border-bottom: var(--pen-borderfocus);
}
.footerButton--hidden{
	opacity: 0;
	pointer-events: none;
}
.footerButton i {
	left: 50%;
	position: relative;
	transform: translateX(-50%);
}
.mensagem {
	font-size: 14px;
	position: fixed;
	color: var(--txt-color);
	bottom: 2%;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 5;
	animation: fadeIn 1s ease forwards;
}
.mensagemVazio {
	font-size: 18px;
	color: var(--txt-color);
	text-align: center;
	white-space: nowrap;
	z-index: 5;
	animation: fadeIn 1s ease forwards;
}
.mensagem.desaparecer{
	animation: fadeOut 0.7s ease forwards;
}
.botaoLixeira{
	all: unset;
	width: 35px;
	height: 35px;
	position: absolute;
	right: -12vw;
	top: 0;
	right: 10px;
	transform: translateX(0);
	border-radius: 100%;
	background-color: var(--red-buttoncolor);
	border-bottom: var(--red-bordercolor);
	opacity: 1;
	pointer-events: auto;
	transition: all 0.5s ease-in-out;
	box-shadow: var(--shadow-medium);
}
.botaoLixeira.oculto {
	top: 25%;
	width: 4vw;
	height: 2vh;
	transform: translateX(75%);
	border-radius: 40%;
	opacity: 0;
	display: block;
	pointer-events: none;
}
.botaoLixeira i {
	transition: all 0.5s ease-in-out;
	position: relative;
	left: 30%;
	color: var(--icn-color);
}
.botaoLixeira.oculto i {
	transform: scale(0.5) rotate(-30deg);
}
.notaDiv{
	display: flex;
	align-items: center;
	position: relative;
	transition: all 0.5s ease-in-out;
}
.notaDiv +.notaDiv{
	margin-top: 1vh;
}
.notaFundo {
	background: var(--sc-color);
	color: var(--txt-color);
	box-shadow: var(--shadow-small);
	width: 93dvw;
	min-height: 1dvh;
	max-height: 10dvh;
	border-bottom:3px solid var(--borderBottonColor);
	overflow-wrap: break-word;
	overflow-y: auto;
	margin-left: 1vh;
	padding-top: 8px;
	padding-bottom: 8px;
	position: relative;
	transform: translate(0% 0%);
	border-radius: 13px;
	padding-left: 8px;
	user-select: none;
	transition: all 0.5s ease-in-out;
}
.notaFundo:active{
	transform: scale(0.9);
}
.notaFundo.mini {
	width: 80dvw;
	border-radius: 15px;
}
.notaFadeIn {
	opacity: 0;
	transform: translateY(-20%);
}
.notaFadeOut{
	transform: translateX(-100%);
	opacity: 0;
}
.listaNotas {
	overflow-y: auto;
	margin: 0 auto;
	width: 100dvw;
	height: 80dvh;
	overflow-x: hidden;
	display: flex;
	flex-direction: column;
}
.inputNotas {
	z-index: 1000;
  position: fixed;
  bottom: 0;
  margin-bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 80dvw;
  padding: 12px 16px;
  font-size: 16px;
  border: none;
  border-bottom:3px solid var(--borderBottonColor);
  z-index: 9;
  outline: none;
  color: var(--txt-color);
  background: var(--sc-color);
  box-shadow: var(--shadow-medium);
  border-radius: 12px;
  scrollbar-width: thin;
  scrollbar-color: #666 transparent;
}

.visorTimer {
  background: var(--sc-color);
  border-radius: 14px;
  padding: 20px;
  width: 80%;
  max-width: 280px;
  position: relative;
  margin: 20px auto;
  text-align: center;
  box-shadow: var(--shadow-medium);
  transition: all 0.5s ease-in-out;
  border-bottom:3px solid var(--borderBottonColor);
}
.visorTimer:active{
	transform: scale(0.9);
	box-shadow: var(--shadow-small);
}
.visorTimer--focus{
	z-index: 1000; /* teste */
	animation: VTFocusAnimation 2s ease-in-out infinite;
}
.visorTimer::after {
  content: "";
  position: absolute;
  top: 50%;
  left: -2%;
  transform: translateY(-50%);
  width: 0;
  height: 100%;
  background-color: var(--bg-color);
  border-top-right-radius: 18px;
  border-bottom-right-radius: 18px;
  transition: all 0.5s ease-in-out;
}
.visorTimer.visorTimer--reveal::after {
  width: 48px; 
}
.visorP:active{
	transform: scale(0.9);
	color: var(--sc-color);
}
.visorTimer--edit{
	corner-top-right-shape: scoop;
  border-top-right-radius: 15px ;
}
.switch{
	all:unset;
	display:flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	position: absolute;
	left: 0;
	opacity: 0;
	top: 50%;
	border-bottom:3px solid var(--borderBottonColor);
	transform: translateY(-50%);
	z-index: 2;
	background-color: var(--sc-color);
	width: 27px;
	height: 52px;
	padding: 10px 5px;
	border-radius: 18px;
	pointer-events: none;
}
.switch::after{
	content: "";
	position:absolute;
	top:50%;
	left:50%;
	z-index: 3;
	transform: translate(-50%, -50%);
	width: 80%;
	height: 1px;
	background-color: var(--ts-color);
}
.switch i {
	color: var(--ts-color);
	z-index: 1001;
	transition: all 0.9s ease-in-out;
}
.switch::before{
	content: "";
	width: 30px;
	z-index: 2;
	height: 30px;
	border-radius: 15px;
	position: absolute;
	background-color: var(--red-buttoncolor);
	top:25%;
	left:50%;
	transform: translate(-50%, -50%);
	transition: all 0.5s ease-in-out;
}
.switch--ativo::before{
	top:75%;
}
.switch:not(.switch--ativo) i:first-child { color: var(--bg-color); }
.switch.switch--ativo i:last-child { color: var(--bg-color); }
.switch:active {
	box-shadow: var(--shadow-small);
	background-color: var(--bg-color);
}
.switch--reveal{
	animation: slideFadeInSwitch 0.6s ease-in-out forwards;
	pointer-events: auto;
}
.visorP {
  font-size: 2rem;
  font-weight: bold;
  color: var(--txt-color);
  margin: 0;
  font-family: monospace;
  transition: all 0.5s ease-in-out;
}

.botaoDiv{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1vh;
}
.botaoTimer {
  width: 70px;
  aspect-ratio: 1.9;
  background: var(--sc-color);
  color: var(--txt-color);
  border: none;
  border-radius: 14px;
  cursor: pointer;
  font-size: 15px;
  border-bottom:3px solid var(--borderBottonColor);
  transition: 0.5s;
  z-index: 1;
  -webkit-tap-highlight-color:transparent;
  box-shadow: var(--shadow-medium);
}
@property --duration {
  syntax: "<time>";
  inherits: true;
  initial-value: 0s;
}
.botaoTimer.ring--animation{
	position: relative;
	z-index: 1;
	box-shadow: var(--shadow-medium);
	transform-style: preserve-3d;
	border:none;
}
.botaoTimer.ring--animation.minimizado::after{
	content: "";
	position: absolute;
	width: 21px;
  aspect-ratio: 1.0;
  border-radius: 100%;
  pointer-events: none;
  top: 50%;
  left:50%;
  transform: translate3d(-50%, -50%, -1px);
  z-index: 0;
}

.botaoTimer.minimizado {
	padding: 0;
	pointer-events: none;
	width: 15px;
	aspect-ratio: 1.0;
	border-radius: 100%;
}
.botaoTimer:active {
  transform: scale(0.92);
  color: var(--sc-color);
}
.headerButton:active {
  transform: scale(0.22);
  color: var(--sc-color);
}
.botaoLixeira:active {
  transform: scale(0.01);
  color: var(--sc-color);
}
.inputNotas::-webkit-scrollbar {
  width: 6px;
}

.inputNotas::-webkit-scrollbar-track {
  background: transparent;
}

.inputNotas::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 10px;
  transition: background 0.3s ease;
}

.inputNotas:hover::-webkit-scrollbar-thumb {
  background: #888;
}
.timestampDiv::-webkit-scrollbar {
  width: 2px;
  height: 2px;
}

.timestampDiv::-webkit-scrollbar-track {
  background: transparent;
}

.timestampDiv::-webkit-scrollbar-thumb {
  background: #bec0c2;
  border-radius: 10px;
  transition: background 0.3s ease;
}

.timestampDiv:hover::-webkit-scrollbar-thumb {
  background: #888;
}
.timestamp {
	width: 80dvw;
	height: 2dvh;
	border-bottom: 1px solid var(--ts-color);
	font-size: 15px;
	line-height: 2dvh;
	padding: 1dvh 5px 1dvh 5px;
	text-align: center;
	transition: all 0.5s ease-in-out;
}
.timestampDiv {
	overflow-y: auto;
	margin: 0 auto;
	margin-top: 2vh;
	width: 95dvw;
	height: 65dvh;
	color: var(--txt-color);
	overflow-x: hidden;
	gap: 5px;
	display: flex;
	align-items: center;
	flex-direction: column;
	scrollbar-width: thin;
  scrollbar-color: #666 transparent;
}
@keyframes notaBalançar {
  0% { transform: scale(0.9) rotate(0deg);
  }
  50% {
  	transform: scale(0.9) rotate(-1deg); 
  	background-color:var(--shake-bgcolor);
  	border-bottom:var(--shake-borderColor);
  }
  75% {
  transform: scale(0.9) rotate(1deg);
  background-color:var(--shake-bgcolor);
  border-bottom: var(--shake-borderColor);
  }
  100% { transform: scale(0.9) rotate(0deg);
  }
}

.notaFundo.balançando {
  animation: notaBalançar 2s ease-in-out;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}

@keyframes piscar-sutil {
  0%, 100% {
    background-color: var(--sc-color);
    border-bottom:var(--borderBottonColor);
    box-shadow: none;
    transform: translateY(0);
  }
  50% {
    background-color: var(--red-buttoncolor);
    border-bottom: var(--red-bordercolor);
    box-shadow: 0 6px 16px rgba(255,77,79,0.16);
    transform: translateY(-1px);
  }
}
@keyframes so-piscar {
  0%, 100% {
    background-color: var(--sc-color);
    box-shadow: none;
  }
  50% {
    background-color: var(--red-buttoncolor);
    box-shadow: 0 6px 16px rgba(255,77,79,0.16);
  }
}
@keyframes VTFocusAnimation {
  0%, 100% {
  	box-shadow: var(--shadow-medium);
  }
  50% {
    box-shadow: 0 0 20px var(--red-buttoncolor);
  }
}


.botaoTimer.minimizado.iniciar.piscando {
  animation: piscar-sutil 1.3s ease-in-out infinite;
  will-change: background-color, box-shadow, transform;
}
@media (prefers-reduced-motion: reduce) {
  .piscando {
    animation: none;
    background-color: var(--sc-color);
  }
  .ring--animation::after{
  	animation: none;
  }
}
@keyframes slideFadeIn {
  0% {
    opacity: 0;
    transform: translateX(-60px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideFadeInSwitch {
  0% {
    opacity: 0;
    transform: translate(-30px, -50%);
  }
  100% {
    opacity: 1;
    transform: translateX(0 , -50%);
  }
}
@keyframes slideFadeOutSwitch {
  0% {
    opacity: 1;
    transform: translate(0, -50%);
  }
  100% {
    opacity: 0;
    transform: translateX(-30px , -50%);
  }
}
.timestamp {
  animation: slideFadeIn 0.4s ease-out forwards;
}
.aparecer {
  animation: slideFadeIn 0.7s ease-out forwards;
}
@keyframes slideFadeOut {
  0% {
    opacity: 1;
    transform: translateX(0);
  }
  100% {
    opacity: 0;
    transform: translateX(60px);
  }
}
.timestamp.desaparecer {
  animation: slideFadeOut 0.25s ease forwards;
}
.desaparecer {
  animation: slideFadeOut 0.7s ease forwards;
}
@keyframes fadeIn{
  0% { 
    opacity: 0;
  }
  100% { 
    opacity: 1;
  }
}
@keyframes fadeOut{
  0% { 
    opacity: 1;
  }
  100% { 
    opacity: 0;
  }
}

.timestampInfo {
  animation: fadeIn 1s ease forwards;
  animation-iteration-count: 1;
  font-size: 15px;
  position: fixed;
  bottom: 2dvh;
}

.timestampInfoFadeOut {
  animation: fadeOut 1s ease forwards;
  font-size: 15px;
  position: fixed;
  bottom: 2dvh;
}

.oculto {
	display: none; 
	pointer-events: none;
	opacity: 0;
}
.botaoDeCriacao.oculto{
	animation: fadeOut 1s ease forwards;
}
.botaoDeCriacao{
	animation: fadeIn 1s ease forwards;
}
.timestampDiv.oculto{
	animation: fadeOut 1s ease forwards;
}
.timestampDiv{
	animation: fadeIn 1s ease forwards;
}

.nowBar {
  position: relative;
  width: 40dvw;
  height: 6dvh;
  background-color: var(--sc-color);
  color: var(--txt-color);
  line-height: 6dvh;
  z-index: 8;
  font-size: 22px;
  text-indent: 15px;
  border-radius: 50px;
  text-align: center;
  border-bottom:3px solid var(--borderBottonColor);
  box-shadow: var(--shadow-medium);
  top: -10%;
  left: 50%;
  transform: translateX(-50%) scale(0);
  opacity: 0;
  pointer-events: none;
  transition: background-color 0.5s ease-in-out, color 0.5s ease-in-out, box-shadow 1s ease-in-out;
}

.nowBar.nowBar--centro {
  animation:
  apareceCentro 3.5s ease forwards,
  someCentro 1.5s ease-out forwards 3.5s;
  opacity: 1;
  position: fixed;
  pointer-events: auto;
}

.nowBar.nowBar--minimizado {
  left: 0%;
  top: 0%;
  transform: translateX(0);
  line-height: 4dvh;
  font-size: 14px;
  width: 22dvw;
  height: 4dvh;
  opacity: 1;
  pointer-events: auto;
  animation: slideFadeIn 0.7s ease-out forwards;
}

.nowBar.nowBar--oculto {
  opacity: 0;
  pointer-events: none;
  /* Anima a saída */
  transition: opacity 0.7s ease, transform 0.3s ease;
}

.nowBar.piscando::after {
  content: "";
  position: absolute;
  background-color: var(--red-buttoncolor);
  animation: so-piscar 1.3s ease-in-out infinite;
  border-radius: 100%;
}
.nowBar.ring--animation::after {
  content: "";
  position: absolute;
  border-radius: 100%;
}

.nowBar.nowBar--centro::after {
  width: 22px;
  height: 22px;
  top: calc(50% - 11px);
  left: 13%;
}

.nowBar.nowBar--minimizado::after {
  width: 14px;
  height: 14px;
  top: calc(50% - 7px);
  left: 12%;
}

@keyframes apareceCentro {
  0% {
    top: -10%;
    transform: translateX(-50%) scale(0);
  }
  50% {
    top: 2%;
    transform: translateX(-50%) scale(1.3);
  }
  100% {
    top: 2%;
    transform: translateX(-50%) scale(1);
  }
}

@keyframes someCentro {
  0% {
    top: 2%;
    transform: translateX(-50%) scale(1);
  }
  100% {
    top: -10%;
    transform: translateX(-50%) scale(0);
  }
}

/* experimental */
.editMenu{
	z-index: 9;
  position: fixed;
  display: flex;
  bottom: 0;
  margin-bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 50dvw;
  height: 5dvh;
  padding: 12px 16px;
  font-size: 16px;
  border: none;
  justify-content: center;
  gap: 4dvh;
  align-items: center;
  border-bottom:3px solid var(--borderBottonColor);
  outline: none;
  color: var(--txt-color);
  background: var(--sc-color);
  box-shadow: var(--shadow-medium);
  border-radius: 12px;

}
.inputEditValue {
	all:unset;
	font-family: 'Poppins', Sans-Serif;
	background-color: var(--bg-color);
	color: var(--txt-color);
	border-bottom: var(--borderBottonColor);
	box-shadow: var(--shadow-small);
	z-index: 10;
	text-align: center;
  width: 15dvw;
  font-size: 30px;
  height: 6dvh;
  border-radius: 10px;
  transition: all 0.6s ease-in-out;
}
.inputEditValue:focus{
	transform: scale(1.02);
	border: 3px solid var(--shake-bgcolor);
}
.inputEditValue:active{
	transform: scale(1.05);
}
.inputEditValue::placeholder{
	transition: all 0.6s ease-in-out;
	opacity: 0.4;
	transform: translateY(0);
}
.inputEditValue:focus::placeholder {
	transform: translateY(-5%);
	opacity: 0;
}

.mEditDiv {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  gap: 15px;
  padding: 25px 35px;
  color: var(--txt-color);
  background: var(--sc-color);
  box-shadow: var(--shadow-medium);
  border-radius: 12px;
  z-index: 9;
  border-bottom: var(--borderBottonColor);
}
.mEditDiv::before,
.mEditDiv::after {
  content: "";
  position: fixed;
  width: 5px;
  height: 5px;
  background: var(--txt-color);
  border-radius: 50%;
}

.mEditDiv::before {
  top: calc(50% - 5px);
  left: 50%;
  transform: translateX(-50%);
}

.mEditDiv::after {
  top: calc(50% + 4px);
  left: 50%;
  transform: translateX(-50%);
}

.editDisplay {
  width: 90px;
  height: 80px;
  z-index: 10;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.2rem;
  font-weight: bold;
  background: var(--bg-color);
  color: var(--txt-color);
  box-shadow: var(--shadow-small);
  border-radius: 8px;
  user-select: none;
  touch-action: none;
  border-bottom: var(--borderBottonColor);
  font-family: 'Poppins', Sans-Serif;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.editDisplay:active {
  transform: scale(1.20);
  transition: transform 0.2s, background-color 0.1s;
}
/* ===== OVERLAY BASE ===== */
.overlay {
  position: fixed;
  inset: 0;
  z-index: 8;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(4px);
  transition: all 1s ease-in-out;
  animation: overlayIn 0.25s ease forwards;
}

/* ===== TIPOS ===== */

/* input: suave, não intimida */
.overlay--input {
  background: rgba(0, 0, 0, 0.25);
  backdrop-filter: blur(3px);
}

/* timer: pesado, chama atenção */
.overlay--timer {
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.65);
  backdrop-filter: blur(6px);
  animation: overlayPulse 1.2s ease-in-out infinite;
}

/* ===== SAÍDA ===== */
.overlay--hidden {
  pointer-events: none;
  animation: overlayOut 0.5s ease-in-out forwards;
}

/* ===== ANIMAÇÕES ===== */

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

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

@keyframes overlayPulse {
  0% {
    opacity: 0.6;
    z-index: 11;
  }
  50% {
    opacity: 0.85;
    z-index: 11;
  }
  100% {
    opacity: 0.6;
    z-index: 11;
  }
}
.timerFinishedScreen {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: fixed;
  z-index: 11;
  opacity: 0.8;
  top: 0;
  gap: 5dvw;
  height: 100dvh;
  width: 100dvw;
  background: linear-gradient(to bottom, #000000, #181818, #000000);
  background-size: 100% 200%;
  animation: gradientDescend 3s linear infinite alternate;
}

@keyframes gradientDescend {
  0% {
    background-position: 0% 0%;
    opacity: 0.8;
  }
  100% {
    background-position: 0% 100%;
    opacity: 1;
  }
}

.timerFinishedScreen--hidden{
	opacity: 0;
	pointer-events: none;
	animation: none;
}
.screenTip{
  color: white;
  z-index: 7;
}
.screenArrow {
  position: relative;
  width: 0;
  z-index: 7;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 15px solid white;
  filter: drop-shadow(0 0 2px rgba(0,0,0,0.2));
  animation: arrowUp 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

.screenArrow::after {
  content: "";
  position: absolute;
  left: -10px;
  top: 20px; 
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 15px solid white;
  opacity: 0.6;
  animation: arrowUp 2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  animation-delay: 0.15s; 
}

@keyframes arrowUp {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  20% {
    transform: translateY(-40%);
    opacity: 1;
  }
  45% {
    transform: translateY(-20%);
    opacity: 1;
  }
  100% {
    transform: translateY(-150%);
    opacity: 0;
  }
}
.ring--animation {
  position: relative;
}

.ring--animation::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 100%;
  background: conic-gradient(
    var(--red-buttoncolor) 0deg,
    var(--red-buttoncolor) var(--angle),
    var(--bg-color) var(--angle),
    var(--bg-color) 360deg
  );
  animation: spin var(--duration, 10s) linear forwards;
}

.ring--paused::after {
  animation-play-state: paused;
}
