/* Extracted site styles */
html {
  scroll-behavior: smooth;
  /* 항상 수직 스크롤바 공간을 예약해 페이지 전환 시 레이아웃 이동 방지 */
  overflow-y: scroll;
}
body {
  background-color: #0f0f0f;
  color: #e5e5e5;
  font-family: 'Poppins', sans-serif;
}
a {
  color: inherit;
  text-decoration: none;
}
.nav-link.active {
  border-bottom: 2px solid #60a5fa;
  color: #60a5fa;
}
.nav-link:hover {
  color: #93c5fd;
}
.smooth-sticky {
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
/* scrollbar styles (webkit) */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #1f1f1f;
}
::-webkit-scrollbar-thumb {
  background: #404040;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #525252;
}

/* Previously used per-block commands scrollbar removed so the page uses a single global scrollbar. */
/* If you need a dedicated scrollbar again, reintroduce .commands-scroll with max-height and overflow-y. */

/* Keep layout consistent between pages that have an aside and those that don't
   by using an invisible placeholder aside on pages where you don't want visible widgets. */

/* Ensure the main left content column matches the available width when an aside
   (20rem) is present so pages visually line up exactly. This enforces consistency
   across all pages that use the same main/aside layout. */
@media (min-width: 1024px) {
  /* No forced calc-based widths — individual pages can center content with utility classes. */
}
