/* Sidebar (desktop) */
  .sidebar-card{
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
    border: 1px solid var(--bs-border-color);
    border-radius: .75rem;
  }
  .sidebar-title{
    position:relative;
    font-weight:700;
    font-size:1.25rem;
    color: var(--bs-emphasis-color);
    padding:1rem 1rem .75rem;
    margin:0;
  }
  .sidebar-title::before,
  .sidebar-title::after{
    content:"";
    position:absolute;
    top:50%;
    width:28px;
    border-top:3px dotted var(--bs-border-color);
    transform:translateY(-50%);
  }
  .sidebar-title::before{ left:.75rem }
  .sidebar-title::after{ right:.75rem }

  .topic-item{
    background: var(--bs-tertiary-bg);
    border: 0;
    border-top: 1px solid var(--bs-border-color);
    padding:.65rem 1rem;
  }
  .topic-item:first-child{ border-top:0 }
  .hash{ font-weight:700; margin-right:.4rem }
  .count{ color: var(--bs-secondary-color); font-weight:600 }

  /* Mobile trigger box */
  .menu-box{
    padding:.7rem 1rem;
    border:1px solid var(--bs-border-color);
    border-radius:.5rem;
    background: var(--bs-body-bg);
    color: var(--bs-emphasis-color);
  }
  .menu-box:hover{ background: var(--bs-tertiary-bg) }
  .menu-icon{ font-size:1.2rem; line-height:1 }

  /* Offcanvas (mobile) — now theme-aware */
  .offcanvas-dark{
    background: var(--bs-body-bg);
    color: var(--bs-body-color);
  }
  .offcanvas-dark .list-group-item{
    background: transparent;
    border-color: var(--bs-border-color);
    color: var(--bs-body-color);
    padding:.8rem 1rem;
  }
  .offcanvas-dark .list-group-item .count{
    color: var(--bs-secondary-color);
  }
  .offcanvas-dark .list-group-item + .list-group-item{ border-top-width:1px }
