/* sidenav.css —— 左侧悬浮分组导航 */
.side-nav {
  position: fixed; left: 10px; top: 50%; transform: translateY(-50%);
  z-index: 40; width: 118px;
  display: flex; flex-direction: column; gap: 4px;
  background: rgba(21,23,41,.82); backdrop-filter: blur(6px);
  border: 1px solid var(--border); border-radius: 12px;
  padding: 8px 6px;
  max-height: calc(100vh - 160px); overflow-y: auto;
}
.side-nav::-webkit-scrollbar { width: 4px; }
.side-nav::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }

.sn-item {
  display: flex; align-items: center; gap: 6px;
  background: transparent; border: none; border-radius: 8px;
  color: var(--text-dim); font-size: 12px; cursor: pointer;
  padding: 7px 9px; text-align: left; transition: all .13s;
}
.sn-item .sn-name {
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0;
}
.sn-item i { font-style: normal; font-size: 10px; opacity: .75; }
.sn-item:hover { color: var(--text); background: rgba(255,255,255,.05); }
.sn-item.on { color: var(--accent); }
.sn-item.cur { color: var(--accent); background: rgba(230,180,90,.13); font-weight: 600; }

/* 主内容为悬浮侧栏让位(窄屏/配方视图收起侧栏) */
main { margin-left: 142px; }
main.no-side { margin-left: 0; }
@media (max-width: 960px) {
  .side-nav { display: none; }
  main { margin-left: 0; }
}
