/* Floating aside panel */
.floating-aside {
    position: fixed;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    width: 270px;
    background: #525e75;
    color: #ffffff;
    padding: 18px 20px;
    font-size: 1rem;
    border-radius: 10px;
    text-align: left;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    z-index: 3000;
    opacity: 0.92;
    transition: opacity .25s ease;
}
.floating-aside:hover { opacity: 1; }

/* Scroll to top button */
#pageUpBtn {
  position: fixed;
  bottom: 30px;
  right: 30px;
  width: 40px;
  height: 40px;
  background: #525e75;
  color: #fff;
  border: none;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 9999;
}
#pageUpBtn.show { opacity: 0.85; visibility: visible; }
#pageUpBtn:hover { opacity: 1; }

main { font-size:1.14rem; line-height:1.6; }
.caption { text-align:left; }
