:root {
    /* color */
    --color-black: #636362;
    --color-white: #ffffff;
    --color-blue: #5DD1F8;
    --color-yellow: #FFF8C7;
    --color-pink: #FFBEE3;
    --color-purple:#D7B3E5;
  
    /* size */
    --base-space: 8px;
    --size-button: 60px;
    --size-border: 4px;
    --size-thumbnail: 100px;
    --font-size: 20px;
  
  /* annimation */
  --annimation-durarion: 300ms;
  }
  
  
  body {
    height: 100vh;
    background-color: var(--color-purple);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }
  
  .logo {
    cursor: pointer;
    transition: transform var(--annimation-durarion) ease;
    padding: calc(var(--base-space)*2);
  }
  
  .btn {
    background-color: transparent;
    border: none;
    outline: none;
    cursor: pointer;
    transition: transform var(--annimation-durarion) ease;
    margin-right: var(--base-space);
  }
  
  
  .logo:hover,
  .btn:hover {
    transform: scale(1.1);
  }
  
  .buttons{
    display: flex;
    align-items: center;
  }
  
  .typeBtn {
    font-size: var(--button-font-size); 
    padding: calc(var(--base-space)*2);
    border-radius: var(--size-border);
    background-color: var(--color-black);
    color: var(--color-white);
  }
  
  .colorBtn {
    font-size: var(--button-font-size); 
    padding: calc(var(--base-space)*2);
    border-radius: var(--size-border);
  }
  
  .blue {
    background-color: var(--color-blue);
  }
  
  .yellow {
    background-color: var(--color-yellow);
  }
  
  .pink {
    background-color: var(--color-pink);
  }
  
  .items {
    list-style: none;
    padding-left: 0;
    width: 60%;
    height: 60%;
    overflow-y: scroll;
  }
  /* overflow-y 컨텐츠 내에서만 스크롤이 되게 하는 명령어 */

  @keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.item {
    background-color: var(--color-white);
    display: flex;
    align-items: center;
    margin-bottom: var(--base-space);
    opacity: 0; 
    animation: fadeIn 0.5s ease-in-out forwards;
}

  
  .item_thumbnail {
    width: var(--size-thumbnail);
    height: var(--size-thumbnail);
    padding: var(--base-space);
  }
  
  .item_description {
    margin-left: var(--base-space);
    font-size: var(--font-size);
  }
  

  /* 다크 모드 */
.dark-mode {
  background-color: var(--color-black);
  color: var(--color-white);
}

.dark-mode .item {
  background-color: #444;
  color: var(--color-white);
}

.dark-mode .typeBtn {
  background-color: #555;
  color: var(--color-white);
}

/* 다크 모드 토글 버튼 */
.dark-mode-toggle {
  position: fixed;
  top: 20px;
  right: 20px;
  width: 40px;
  height: 20px;
  background-color: var(--color-pink);
  border-radius: 20px;
  display: flex;
  align-items: center;
  padding: 2px;
  cursor: pointer;
}

.dark-mode-toggle input {
  display: none; 
}

.dark-mode-toggle .slider {
  width: 16px;
  height: 16px;
  background-color: var(--color-white);
  border-radius: 50%;
  transition: 0.3s;
}

/* 다크 모드일 때 스위치 스타일 변경 */
.dark-mode input:checked + .slider {
  transform: translateX(20px);
  background-color: var(--color-yellow);
}

/* 다크 모드일 때 토글 배경 변경 */
.dark-mode .dark-mode-toggle {
  background-color: #444;
}



/* 반응형형 */
@media screen and (max-width: 1024px) {
  .items {
      width: 80%; 
      height: auto;
      max-height: 500px;
  }
  
  .item {
      flex-direction: column;
      align-items: center;
      text-align: center;
      padding: 10px;
  }
  
  .item_thumbnail {
      width: 80px; 
      height: 80px;
  }

  .item_description {
      font-size: 16px; 
  }
}

@media screen and (max-width: 600px) {
  
  .buttons {
      flex-wrap: wrap; 
      justify-content: center;
      gap: 5px;
  }
  
  .btn {
      font-size: 14px;
      padding: 10px 15px;
  }

 
  .dark-mode-toggle {
      top: 10px;
      right: 10px;
      width: 30px;
      height: 15px;
  }

  .dark-mode-toggle .slider {
      width: 12px;
      height: 12px;
  }

 
  .items {
      width: 90%;
      max-height: 400px;
  }

  .item_thumbnail {
      width: 60px;
      height: 60px;
  }

  .item_description {
      font-size: 14px;
  }
}

  