/* ============================================================
   커스텀 컴포넌트 (2026 게이밍 테마 연동)
   - 포인트: #00d1ff(일렉트릭 블루), #a855f7(비비드 퍼플)
   - 글래스: backdrop-filter + 1px solid rgba(255,255,255,0.1)
   ============================================================ */

:root {
  --custom-electric: #00d1ff;
  --custom-electric-hover: #33dbff;
  --custom-purple: #a855f7;
  --custom-purple-hover: #c084fc;
  --custom-glass: rgba(15, 20, 32, 0.65);
  --custom-glass-border: 1px solid rgba(255, 255, 255, 0.1);
}

.nav-btn {
  background: var(--custom-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--custom-glass-border);
  color: #00d1ff;
  font-weight: 500;
  height: 40px;
  width: 100px;
  margin-left: 10px;
  margin-right: 10px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.nav-btn:hover, .nav-btn:focus, .nav-btn:active:focus {
  background: rgba(0, 209, 255, 0.15);
  border-color: rgba(0, 209, 255, 0.4);
  color: var(--custom-electric-hover);
  animation: jelly 0.5s;
}

.search-btn {
  background: var(--custom-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--custom-glass-border);
  color: var(--custom-electric);
  font-weight: 500;
  height: 40px;
  width: 100px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.search-btn:hover, .search-btn:focus, .search-btn:active:focus {
  background: rgba(0, 209, 255, 0.15);
  border-color: rgba(0, 209, 255, 0.4);
  color: var(--custom-electric-hover);
  animation: jelly 0.5s;
}

.icon-btn {
  background: unset;
  border: none;
  color: #e8ecf1;
}

.icon-btn:hover, .icon-btn:focus, .icon-btn:active:focus {
  border: none;
  color: var(--custom-electric);
  animation: jelly 0.5s;
}

.user-btn {
  background: linear-gradient(135deg, var(--custom-electric), #0099cc);
  border: 1px solid rgba(0, 209, 255, 0.4);
  color: #0a0e17;
  font-weight: 500;
  height: 40px;
  width: 100px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.user-btn:hover, .user-btn:focus, .user-btn:active:focus {
  background: linear-gradient(135deg, var(--custom-electric-hover), #00aadd);
  border-color: var(--custom-electric);
  color: #0a0e17;
  box-shadow: 0 0 20px rgba(0, 209, 255, 0.35);
  animation: jelly 0.5s;
}

.post-btn {
  background: var(--custom-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--custom-glass-border);
  color: var(--custom-electric);
  font-weight: 500;
  height: 40px;
  width: 100px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.post-btn:hover, .post-btn:focus, .post-btn:active:focus {
  background: rgba(0, 209, 255, 0.15);
  border-color: rgba(0, 209, 255, 0.4);
  color: var(--custom-electric-hover);
  animation: jelly 0.5s;
}

.edit-btn {
  background: linear-gradient(135deg, var(--custom-electric), #0099cc);
  border: 1px solid rgba(0, 209, 255, 0.4);
  color: #0a0e17;
  font-weight: 500;
  height: 40px;
  width: 100px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.edit-btn:hover, .edit-btn:focus, .edit-btn:active:focus {
  background: linear-gradient(135deg, var(--custom-electric-hover), #00aadd);
  border-color: var(--custom-electric);
  color: #0a0e17;
  box-shadow: 0 0 20px rgba(0, 209, 255, 0.35);
  animation: jelly 0.5s;
}

.del-btn {
  background: rgba(239, 68, 68, 0.25);
  border: 1px solid rgba(239, 68, 68, 0.5);
  color: #fca5a5;
  font-weight: 500;
  height: 40px;
  width: 100px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.del-btn:hover, .del-btn:focus, .del-btn:active:focus {
  background: rgba(239, 68, 68, 0.4);
  border-color: #ef4444;
  color: #fecaca;
  animation: jelly 0.5s;
}

.select-btn {
  background: var(--custom-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--custom-glass-border);
  color: var(--custom-electric);
  font-weight: 500;
  margin: 0 30px;
  height: 40px;
  width: 130px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.select-btn:hover, .select-btn:focus, .select-btn:active:focus {
  background: rgba(0, 209, 255, 0.15);
  border-color: rgba(0, 209, 255, 0.4);
  color: var(--custom-electric-hover);
  animation: jelly 0.5s;
}

.selected-btn {
  background: rgba(0, 209, 255, 0.2);
  border: 1px solid rgba(0, 209, 255, 0.5);
  color: var(--custom-electric);
  font-weight: 500;
  margin: 0 30px;
  height: 40px;
  width: 130px;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
}

.selected-btn:hover, .selected-btn:focus, .selected-btn:active:focus {
  background: rgba(0, 209, 255, 0.25);
  border-color: var(--custom-electric);
  color: var(--custom-electric-hover);
  animation: jelly 0.5s;
}

@keyframes jelly {
  25% { transform: scale(0.9, 1.1); }
  50% { transform: scale(1.1, 0.9); }
  75% { transform: scale(0.95, 1.05); }
}

/* 글래스모피즘 가입/로그인 폼 */
.user-form {
  width: max-content;
  max-width: 100%;
  background: var(--custom-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: var(--custom-glass-border);
  border-radius: 16px;
  padding: 2rem 2.5rem;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3);
}

.user-form > div > label,
.user-form .form-label {
  font-weight: 500;
  color: #e8ecf1;
}

.user-form > div > input,
.user-form .form-control {
  width: 100%;
  min-width: 280px;
  background: rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(255, 255, 255, 0.1);
  color: #e8ecf1;
}

.user-form > div > input::placeholder,
.user-form .form-control::placeholder {
  color: #8b95a5;
}

.user-form > div > input:focus,
.user-form .form-control:focus {
  border-color: var(--custom-electric);
  box-shadow: 0 0 0 0.2rem rgba(0, 209, 255, 0.2);
}

.error-input {
  border-color: rgba(239, 68, 68, 0.7) !important;
}

.error-div {
  color: #fca5a5;
  font-size: 0.875rem;
}

.nav-link.active {
  font-weight: 700;
  color: var(--custom-electric) !important;
}

.small-img {
  width: 30px;
  height: 30px;
}

.notice-tr {
  background: rgba(168, 85, 247, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.08);
}
