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

body {
   position: relative;
   font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
   display: flex;
   justify-content: center;
   align-items: center;
   height: 100vh;
   background: linear-gradient(135deg, #00D4FF 0%, #001014 100%);
}

nav {
   width: 3rem;
   height: 3rem;
   background: #001014;
   margin: 10px;
   border-radius: 100%;
   aspect-ratio: 1;
   display: flex;
   justify-content: center;
   align-items: center;
   color: white;
   font-size: 1.5rem;
   padding: 10px;
   position: fixed;
   top: 0;
   right: 0;
   z-index: 1000;
   transition: all 300ms;

   &:hover {
      background: #0ea5e9
   }
}

main {
   justify-content: center;
   align-items: center;
   background: white;
   border-radius: 10px;
   padding: 15px;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
   width: clamp(300px, 80%, 500px);
   display: flex;
   flex-direction: column;
   transition: all 300ms ease-in-out;
   gap: 15px;
}

h1 {
   font-size: 1.8rem;
}

input[type="text"] {
   height: 2.5rem;
   width: 100%;
   color: black;
   background: #fbfdff;
   border-radius: 8px;
   padding: 10px;
   border: 2px solid #00bfff33;
   /* text-align: center; */
   margin-bottom: 10px;
   font-size: 1em;
   outline: none;

   &:hover {
      border: 2px solid #00bfff65;
   }
}

.controls {
   display: flex;
   justify-content: space-between;
   width: 100%;
   gap: 10px;
}

.controls button {
   padding: 12px 20px;
   flex: 1;
   cursor: pointer;
   border-radius: 8px;
   outline: 0;
   border: none;
   color: white;
   transition: all 0.3s ease-in-out, transform 0.2s ease;
   box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);

   &:hover {
      transform: translateY(-2px);
   }
}

.controls button:nth-child(1) {
   background: linear-gradient(135deg, #00D4FF 0%, #00BFFF 100%);

   &:hover {
      background: linear-gradient(135deg, #00BFFF 0%, #001014 100%);
   }
}

.controls button:nth-child(2) {
   background: linear-gradient(135deg, #FF6B6B 0%, #FF4C4C 100%);

   &:hover {
      background: linear-gradient(135deg, #FF4C4C 0%, #001014 100%);
   }
}

.controls button:nth-child(3) {
   background: linear-gradient(135deg, #FFDD59 0%, #FFB400 100%);

   &:hover {
      background: linear-gradient(135deg, #FFB400 0%, #001014 100%);
   }
}

.toast-container {
   position: absolute;
   right: 20px;
   top: 20px;
   z-index: 1000;
   display: flex;
   flex-direction: column;
   gap: 10px;
   justify-content: baseline;
   align-items: flex-end;
   pointer-events: none;
}

.toast {
   padding: 10px 15px;
   border-radius: 5px;
   color: white;
   min-width: 200px;
   transform-origin: top right;
   display: flex;
   align-items: center;
   justify-content: space-between;
   gap: 20px;
   box-shadow: 0 4px 24px 0 rgba(0, 0, 0, 0.18), 0 1.5px 6px 0 rgba(0, 0, 0, 0.12);

   &:hover {
      box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.22), 0 3px 12px 0 rgba(0, 0, 0, 0.16);
      transition: box-shadow 0.2s cubic-bezier(.4, 0, .2, 1);
      cursor: pointer;
   }
}

.toast.success {
   background: #00BFFF;
}

.toast.error {
   background: #FF4C4C;
}

.toast.info {
   background: #FFB400;
}

.toast-close {
   background: transparent;
   border: none;
   color: white;
   cursor: pointer;
   pointer-events: all;
}

.remove {
   animation: fadeOut 0.5s forwards;
}

.show {
   animation: entrance 0.5s forwards;
}

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

   100% {
      opacity: 0;
      transform: scale(0);
      padding: 0;
      margin: 0;
      overflow: hidden;
   }
}

@keyframes entrance {
   0% {
      opacity: 0;
      transform: scale(0);
   }

   100% {
      opacity: 1;
      transform: scale(1);
   }
}