14-Let’s-Build-a-Professional-Portfolio-Website-Tailwind-CSS/src/input.css
@import "tailwindcss";

@theme {
  --color-primary: hsl(0deg 0% 14%);
  --color-secondary: hsl(0deg 0% 18%);
  --color-accent: hsl(3deg 74% 65%);
  --color-text: hsl(0deg 0% 100%);
}

/*
  The default border color has changed to `currentColor` in Tailwind CSS v4,
  so we've added these compatibility styles to make sure everything still
  looks the same as it did with Tailwind CSS v3.

  If we ever want to remove these styles, we need to add an explicit border
  color utility to any element that depends on these defaults.
*/
@layer base {
  *,
  ::after,
  ::before,
  ::backdrop,
  ::file-selector-button {
    border-color: var(--color-gray-200, currentColor);
  }

  img {
    @apply rounded-sm h-full object-cover;
  }
}

@layer components {
  .nav {
    @apply flex flex-col gap-6 fixed rounded top-0 right-0 bg-accent/40 backdrop-blur-lg p-24 z-20 scale-y-0 origin-bottom transition-transform duration-300;
  }

  .nav.open {
    @apply scale-y-100 origin-top;
  }

  .nav--link {
    @apply py-2 text-lg relative transition-colors hover:text-secondary before:content-[''] before:absolute before:w-2/4 before:h-px hover:before:origin-left before:bg-secondary before:left-0 before:bottom-0 before:scale-x-0 hover:before:scale-x-100 before:origin-right before:transition-transform;
  }

  .hamburger {
    @apply fixed bg-accent py-5 top-[30px] right-2/4 translate-x-2/4 h-8 w-12 z-30 rounded cursor-pointer before:content-[''] before:h-0.5 before:w-2/3 before:bg-text before:absolute before:top-4 before:left-2 after:content-[''] after:h-0.5 after:w-1/3 after:bg-text after:absolute after:top-6 after:left-2 before:transition after:transition;
  }

  .hamburger.close {
    @apply before:rotate-45 before:translate-y-1 after:w-2/3 after:-rotate-45 after:-translate-y-1;
  }

  .before {
    @apply before:absolute before:content-['']  before:rounded-full before:bg-accent;
  }

  .after {
    @apply after:absolute after:content-['']  after:rounded-full after:bg-accent;
  }
}
