Chat { position: absolute; top: 100px; left: 200px; bottom: 200px; width: 600px; justify-content: flex-end; font-family: Poppins; flex-direction: column; align-items: stretch; gap: 10px; .output { box-shadow: none; padding: 2px; border-radius: 12px; flex-grow: 1; flex-direction: column; justify-content: flex-end; align-items: stretch; gap: 5px; min-height: 256px; max-height: 256px; overflow-y: scroll; } &:not(.open) { .output { ChatEntry { opacity: 0; &.temporary { animation: temporaryMessageFadeOut 4s forwards; } } } } .input-container { color: white; .textentry { align-items: flex-start; white-space: normal; background-color: transparent; border: none; color: #fff; font-size: 15px; font-weight: 500; width: 100%; max-width: 100%; transition: all 0.1s ease; transform: translateY(10px); border-radius: 12px; overflow: hidden; } } &.open { pointer-events: all; .input-container { transform: translateY(0); .textentry { background-color: rgba(30,30,40,0.8); box-shadow: 0 4px 20px rgba(0,0,0,0.25); backdrop-filter: blur(15px); transform: translateY(0px); } } .output { background: linear-gradient( to top, rgba(10,10,20,0.9) 0%, rgba(10,10,20,0.6) 100% ); box-shadow: 0 10px 30px rgba(0,0,0,0.3); backdrop-filter: blur(15px); } } } @keyframes temporaryMessageFadeOut { 0%, 90% { opacity: 1; } 100% { opacity: 0; } }