@import url("https://fonts.googleapis.com/css2?family=Alice&family=Bubblegum+Sans&family=Crimson+Pro&family=Gabarito&family=Geologica&family=Kalam&family=Lora&family=Luckiest+Guy&family=Rajdhani&family=Sniglet&family=Sora&family=Mulish&family=Ceviche+One&family=Vollkorn&family=Merienda&family=Raleway+Dots&family=Kenia&family=DM+Sans&family=Caudex&family=Playfair+Display&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400..900;1,6..96,400..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: "Lato", sans-serif;
}
body {
  display: flex;
  height: 100vh;
  background: #f5f5f5;
}

.navbar {
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #b6a5e8;
  background: radial-gradient(
    circle,
    rgba(182, 165, 232, 1) 0%,
    rgba(240, 240, 240, 1) 100%
  );
  position: absolute;
  height: 72px;
  width: 100%;
}

.logo {
  width: 120px;
  height: 70px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.logo img {
  width: 100%;
}

/* Prompt Section Styling */
.prompt-section {
  position: relative;
  width: 100%;
  height: 60px;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  background: transparent;
}

/* Wrapper to control animations */
.prompt-wrapper {
  position: relative;
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Hide all prompts by default */
.prompt-wrapper p {
  position: absolute;
  opacity: 0;
  transform: translateY(30px);
  transition: all 0.8s ease-in-out;
  font-size: 18px;
  color: #333;
  margin: 0;
  width: 100%;
  text-align: center;
  font-family: "Bodoni Moda", serif;
  font-style: italic;
}

/* Show the active prompt */
.prompt-wrapper p.active {
  opacity: 1;
  transform: translateY(0);
}

/* Style the fading-out prompt */
.prompt-wrapper p.exit {
  opacity: 0;
  transform: translateY(-30px);
}

/* Default GitHub button styles */
.github-link a {
  width: 44px;
  height: 44px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  overflow: hidden;
  transition: box-shadow 0.8s ease-in-out, transform 0.8s ease-in-out;
}

/* Pulsing highlight */
.github-pulse {
  animation: githubPulse 2s ease-in-out infinite;
  box-shadow: 0 0 10px #6e40c9, 0 0 10px #6e40c9, 0 0 10px #6e40c9;
}

@keyframes githubPulse {
  0% {
    transform: scale(1);
    box-shadow: 0 0 5px rgba(110, 64, 201, 0.3),
      0 0 10px rgba(110, 64, 201, 0.3);
  }
  50% {
    transform: scale(1.03);
    box-shadow: 0 0 20px rgba(140, 95, 245, 0.7),
      0 0 35px rgba(140, 95, 245, 0.5);
  }
  100% {
    transform: scale(1);
    box-shadow: 0 0 5px rgba(110, 64, 201, 0.3),
      0 0 10px rgba(110, 64, 201, 0.3);
  }
}

.github-link {
  display: flex;
  align-items: center;
  gap: 12px;
}
.github-link a img {
  width: 44px;
  height: 44px;
}

/* Left Panel */
.panel {
  margin-top: 72px;
  min-width: 380px;
  width: 380px;
  background: #fff;
  border-right: 1px solid #ddd;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  transition: all 0.3s ease;

  /* sidebar for small screens where it shrinks at the bottom when dragged in y direction */
}
@media (max-width: 768px) {
  .panel.closed {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
    height: 72px;
    margin-top: 96px;
    top: calc(100vh - 168px);
  }

  .panel.open {
    position: absolute;
    left: 50%;
    height: calc(100% - 96px);
    transform: translateX(-50%);
    margin-top: 96px;
    z-index: 10;
  }
}

/* Toggle Buttons */
.toggle-buttons {
  display: flex;
  margin-bottom: 16px;
  position: relative;
}
.toggle-buttons button {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  flex: 1;
  padding: 16px;
  border: none;
  cursor: pointer;
  background-color: white;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
  transition: background 0.2s;
}

.toggle-buttons button img {
  width: 24px;
}

.toggle-buttons button.active {
  color: #8e4fdb;
}

.toggle-buttons button.active img {
  /* turn svg #8e4fdb; */
  filter: invert(39%) sepia(83%) saturate(249%) hue-rotate(236deg)
    brightness(95%) contrast(90%);
}

#scissors-animation-container {
  position: absolute;
  height: 30px;
  width: 30px;
  left: 14px;
  bottom: -15px;
  rotate: 90deg;
  transition: all 0.6s ease-in-out;
}

#scissors-animation-container img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.1s; /* Smooth fade */
}

#scissors-animation-container img.active {
  opacity: 1;
}

#scissors-animation-container.rotate {
  transform: rotate(-450deg); /* Counterclockwise rotation */
}

/* Scrollable content area */
.content {
  flex: 1;
  padding: 16px;
  overflow-y: auto;
}

/* Fonts */
.font-item {
  display: flex;
  flex-direction: column;
  margin-bottom: 12px;
}
.font-item input {
  padding: 8px;
  border: none;
  text-align: center;
  border-radius: 6px;
  font-size: 16px;
}

.font-item input:focus {
  outline: none;
}

/* Images */
.image-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}
.image-grid img {
  width: 100%;
  cursor: pointer;
  border-radius: 6px;
  transition: transform 0.2s;
}
.image-grid img:hover {
  transform: scale(1.05);
}

#dragDropArea {
  height: 10rem;
  border: 1px dashed #ccc;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  flex-direction: column;
}

/* Canvas area */
#root {
  margin-top: 72px;
  flex: 1;
  background: #eaeaea;
  display: flex;
  justify-content: center;
  align-items: center;
}
