/* Custom Styles for AI News Hub */
@layer utilities {
  .cat-pill {
    background-color: #111827;
    border-color: #1f293d;
    color: #94a3b8;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
  }
  .cat-pill:hover, .cat-pill:active {
    border-color: #3b82f6;
    color: #f1f5f9;
  }
  .active-cat {
    background: linear-gradient(135deg, #2563eb, #3b82f6) !important;
    border-color: #60a5fa !important;
    color: #ffffff !important;
    box-shadow: 0 4px 14px rgba(37, 99, 235, 0.35);
  }
  
  /* Hide scrollbar for Chrome, Safari and Opera */
  .no-scrollbar::-webkit-scrollbar {
    display: none;
  }
  /* Hide scrollbar for IE, Edge and Firefox */
  .no-scrollbar {
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
  }
}

/* Card Glow Effect on Hover & Touch */
.news-card {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-tap-highlight-color: transparent;
}
@media (hover: hover) {
  .news-card:hover {
    transform: translateY(-2px);
    border-color: rgba(59, 130, 246, 0.4);
    box-shadow: 0 10px 25px -5px rgba(15, 23, 42, 0.8), 0 0 15px rgba(59, 130, 246, 0.08);
  }
}
.news-card:active {
  transform: scale(0.995);
}

/* Category Badge Colors */
.badge-llm { background-color: rgba(147, 51, 234, 0.15); color: #c084fc; border: 1px solid rgba(147, 51, 234, 0.3); }
.badge-3d { background-color: rgba(6, 182, 212, 0.15); color: #22d3ee; border: 1px solid rgba(6, 182, 212, 0.3); }
.badge-security { background-color: rgba(239, 68, 68, 0.15); color: #f87171; border: 1px solid rgba(239, 68, 68, 0.3); }
.badge-agent { background-color: rgba(245, 158, 11, 0.15); color: #fbbf24; border: 1px solid rgba(245, 158, 11, 0.3); }
.badge-media { background-color: rgba(16, 185, 129, 0.15); color: #34d399; border: 1px solid rgba(16, 185, 129, 0.3); }
.badge-audio { background-color: rgba(236, 72, 153, 0.15); color: #f472b6; border: 1px solid rgba(236, 72, 153, 0.3); }
.badge-robot { background-color: rgba(249, 115, 22, 0.15); color: #fb923c; border: 1px solid rgba(249, 115, 22, 0.3); }
.badge-hardware { background-color: rgba(99, 102, 241, 0.15); color: #818cf8; border: 1px solid rgba(99, 102, 241, 0.3); }
.badge-tools { background-color: rgba(20, 184, 166, 0.15); color: #2dd4bf; border: 1px solid rgba(20, 184, 166, 0.3); }
.badge-community { background-color: rgba(168, 85, 247, 0.15); color: #c084fc; border: 1px solid rgba(168, 85, 247, 0.3); }
.badge-default { background-color: rgba(100, 116, 139, 0.15); color: #94a3b8; border: 1px solid rgba(100, 116, 139, 0.3); }

/* Custom Scrollbar for Desktop */
::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
::-webkit-scrollbar-track {
  background: #0b0f19;
}
::-webkit-scrollbar-thumb {
  background: #1f293d;
  border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
  background: #3b82f6;
}

/* Mobile Safe Area & Touch Enhancements */
@supports (padding: env(safe-area-inset-bottom)) {
  body {
    padding-bottom: env(safe-area-inset-bottom);
  }
}

/* ============================================================
   Font Size Scaling (1단계: 보통 / 2단계: 크게 / 3단계: 더 크게)
   ============================================================ */
.font-size-btn {
  color: #94a3b8;
  user-select: none;
}
.font-size-btn:hover {
  color: #f1f5f9;
  background-color: #1e293b;
}
.active-font-btn {
  background-color: #2563eb !important;
  color: #ffffff !important;
  font-weight: 600;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* 2단계: 크게 (Large) */
.font-size-large .news-card {
  padding: 1.25rem 1.5rem !important;
}
.font-size-large .news-card h3 {
  font-size: 1.125rem !important; /* 18px */
  line-height: 1.4 !important;
}
.font-size-large .news-card h4 {
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.5 !important;
}
.font-size-large .news-card p {
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.65 !important;
}
.font-size-large .news-card li {
  font-size: 0.875rem !important; /* 14px */
  line-height: 1.6 !important;
}
.font-size-large .news-card .text-\[11px\] {
  font-size: 0.8125rem !important; /* 13px */
}

/* 3단계: 더 크게 (X-Large) */
.font-size-xlarge .news-card {
  padding: 1.5rem 1.75rem !important;
}
.font-size-xlarge .news-card h3 {
  font-size: 1.3rem !important; /* ~21px */
  line-height: 1.4 !important;
}
.font-size-xlarge .news-card h4 {
  font-size: 1.0625rem !important; /* 17px */
  line-height: 1.5 !important;
}
.font-size-xlarge .news-card p {
  font-size: 1.0625rem !important; /* 17px */
  line-height: 1.7 !important;
}
.font-size-xlarge .news-card li {
  font-size: 1rem !important; /* 16px */
  line-height: 1.65 !important;
}
.font-size-xlarge .news-card .text-\[11px\] {
  font-size: 0.875rem !important; /* 14px */
}

