@charset "UTF-8";

/* Extra Small (XS, <576px) - 작은 모바일 디바이스 */
@media (max-width: 575.98px) {
  .responsive-text {
    font-size: 14px; /* 작은 화면에서 가독성을 위해 고정 크기 */
  }
}

/* Small (SM, 576px ~ 767px) - 일반 모바일 디바이스 */
@media (min-width: 576px) and (max-width: 767.98px) {
  .responsive-text {
    font-size: 16px;
  }
}

/* Medium (MD, 768px ~ 991px) - 태블릿 */
@media (min-width: 768px) and (max-width: 991.98px) {
  .responsive-text {
    font-size: 18px;
  }
}

/* Large (LG, 992px ~ 1199px) - 작은 데스크톱 */
@media (min-width: 992px) and (max-width: 1199.98px) {
  .responsive-text {
    font-size: 20px;
  }
}

/* Extra Large (XL, 1200px ~ 1399px) - 일반 데스크톱 */
@media (min-width: 1200px) and (max-width: 1399.98px) {
  .responsive-text {
    font-size: 22px;
  }
}

/* Extra Extra Large (XXL, ≥1400px) - 대형 디스플레이 */
@media (min-width: 1400px) {
  .responsive-text {
    font-size: 24px;
  }
}

/* 고해상도 디바이스 (Retina, 4K 등) */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .responsive-text {
    font-size: calc(1rem + 0.5vmin); /* 고해상도에서 더 선명한 텍스트 */
  }
}

.hide { display: none;}

.red { color: #f00; }
.blue { color: #00f; }

.bold { font-weight: bold; }

.blink-hard {
  animation: hard-blink 1s steps(2, start) infinite;
}

@keyframes hard-blink {
  to { visibility: hidden; }
}
.blink-smooth {
  animation: smooth-blink 1.5s infinite;
}

@keyframes smooth-blink {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

input:focus:not([type="checkbox"]):not([type="radio"]),
select:focus,
textarea:focus {
    background-color: #FAEB78 !important; /* 또는 #f5f5dc */
/*    outline: none;*/
/*    transition: background-color 0.3s ease;*/
}

.red { color: red; }
.blue { color: blue; }
.yellow { color: yellow; }
.border_1px { border: 1px solid #000; }

