/* ─────────────────────────────────────────
   BLOG SIDEBAR — Contents TOC + AI buttons
   Floating fixed-position panel, right gutter.
   Hidden on viewports < 1024 px.
   ───────────────────────────────────────── */
.article-sidebar{
  position:fixed;
  top:120px;
  right:32px;
  width:220px;
  z-index:50;
  display:none;
  opacity:0;
  transition:opacity .25s ease;
  pointer-events:none;
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:20px 18px;
  max-height:calc(100vh - 140px);
  overflow-y:auto;
}
.article-sidebar::-webkit-scrollbar{width:4px}
.article-sidebar::-webkit-scrollbar-track{background:transparent}
.article-sidebar::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}
.article-sidebar.visible{opacity:1;pointer-events:auto}

@media(min-width:1024px) and (max-width:1279px){
  .article-sidebar{display:block;right:24px;width:180px}
}
@media(min-width:1280px){
  .article-sidebar{display:block;right:40px;width:240px}
}
@media(min-width:1440px){
  .article-sidebar{right:48px;width:260px}
}

.sidebar-label{
  font-family:'Space Mono',monospace;
  font-size:.65rem;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--text-tertiary);
  margin-bottom:14px;
  padding-bottom:14px;
  border-bottom:1px solid var(--border);
}
.sidebar-toc{
  list-style:none;
  padding:0;
  margin:0 0 24px;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.sidebar-toc a{
  display:block;
  font-size:.78rem;
  line-height:1.4;
  color:var(--text-secondary);
  text-decoration:none;
  padding:6px 0 6px 12px;
  border-left:2px solid transparent;
  transition:color .15s ease, border-color .15s ease;
}
.sidebar-toc a:hover{color:var(--text);border-left-color:var(--border)}
.sidebar-toc a.active{color:var(--accent);font-weight:600;border-left-color:var(--accent)}

.sidebar-divider{height:1px;background:var(--border);margin:0 0 16px}

.sidebar-ai-buttons{display:flex;flex-direction:column;gap:8px}
.sidebar-ai-btn{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  background:#fafafa;
  border:1px solid var(--border);
  border-radius:8px;
  text-decoration:none;
  color:var(--text);
  font-size:.82rem;
  font-weight:600;
  transition:border-color .15s ease, background .15s ease, transform .15s ease;
  position:relative;
}
.sidebar-ai-btn:hover{border-color:var(--text);background:#ffffff;transform:translateY(-1px)}
.sidebar-ai-btn-logo{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.sidebar-ai-btn-logo svg{width:100%;height:100%}
.sidebar-ai-btn-label{flex:1}
.sidebar-ai-btn-external{width:12px;height:12px;color:var(--text-tertiary);flex-shrink:0}
.sidebar-ai-btn-external svg{width:100%;height:100%}
