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

body {
   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;
      /* color: #001014; */
   }
}

main {
   text-align: center;
   background: white;
   padding: 25px;
   border-radius: 16px;
   box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
   width: 350px;
   min-width: fit-content;
   display: flex;
   flex-direction: column;
   gap: 20px;
}

h1 {
   font-size: 2em;
}

.counter-display {
   font-size: 2rem;
   font-weight: bold;
   color: #333;
   display: flex;
   align-items: center;
   justify-content: center;
   background: #f8f9fa;
   border-radius: 8px;
   border: 3px solid #e9ecef;
}

.controls {
   display: flex;
   gap: 15px;
   justify-content: center;
   flex-wrap: wrap;
}

button {
   padding: 12px 20px;
   font-size: 1.1em;
   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);
   }
}

#increment {
   background: linear-gradient(135deg, #00D4FF 0%, #00BFFF 100%);

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

#decrement {
   background: linear-gradient(135deg, #FF6B6B 0%, #FF4C4C 100%);

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

#reset {
   background: linear-gradient(135deg, #FFDD59 0%, #FFB400 100%);

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

@media (max-width: 480px) {
   main {
      grid-template-columns: repeat(3, minmax(6rem, 8rem));
      grid-template-rows: repeat(3, minmax(6rem, 8rem));
      gap: 1rem;
      padding: 1rem;
   }
}