.sidebar { width: 220px; background: var(--bg-secondary); border-right: 1px solid var(--border-color); display: flex; flex-direction: column; padding: 16px 0; transition: width 0.25s ease; &.collapsed { width: 64px; .sidebar-user-card { margin: 0 8px 8px; padding: 8px 0; justify-content: center; .user-meta { display: none; } } .nav-menu, .sidebar-footer { padding: 0 8px; } .nav-label { display: none; } .nav-item { justify-content: center; padding: 10px; gap: 0; } } } .sidebar-user-card { margin: 0 12px 10px; padding: 10px; border: 1px solid var(--border-color); border-radius: 12px; background: var(--bg-secondary); display: flex; align-items: center; gap: 10px; min-height: 56px; .user-avatar { width: 36px; height: 36px; border-radius: 10px; overflow: hidden; background: linear-gradient(135deg, var(--primary), var(--primary-hover)); display: flex; align-items: center; justify-content: center; flex-shrink: 0; img { width: 100%; height: 100%; object-fit: cover; } span { color: #fff; font-size: 14px; font-weight: 600; } } .user-meta { min-width: 0; } .user-name { font-size: 13px; color: var(--text-primary); font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .user-wxid { margin-top: 2px; font-size: 11px; color: var(--text-tertiary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } } .nav-menu { flex: 1; display: flex; flex-direction: column; gap: 4px; padding: 0 12px; } .nav-item { display: flex; align-items: center; gap: 12px; padding: 10px 12px; border-radius: 9999px; color: var(--text-secondary); text-decoration: none; transition: all 0.2s ease; white-space: nowrap; border: none; background: transparent; cursor: pointer; font-family: inherit; &:hover { background: var(--bg-tertiary); color: var(--text-primary); } &.active { background: var(--primary); color: white; } } .nav-icon { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; flex-shrink: 0; } .nav-label { font-size: 14px; font-weight: 500; } .sidebar-footer { padding: 0 12px; border-top: 1px solid var(--border-color); padding-top: 12px; margin-top: 8px; display: flex; flex-direction: column; gap: 4px; } .collapse-btn { display: flex; align-items: center; justify-content: center; width: 100%; padding: 8px; border: none; background: transparent; color: var(--text-tertiary); cursor: pointer; border-radius: 9999px; transition: all 0.2s ease; margin-top: 4px; &:hover { background: var(--bg-tertiary); color: var(--text-primary); } } // 繁花如梦主题:侧边栏毛玻璃 + 激活项用主品牌色 [data-theme="blossom-dream"] .sidebar { background: rgba(255, 255, 255, 0.6); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-right: 1px solid rgba(255, 255, 255, 0.4); } [data-theme="blossom-dream"][data-mode="dark"] .sidebar { background: rgba(34, 30, 36, 0.75); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-right: 1px solid rgba(255, 255, 255, 0.06); } // 激活项:主品牌色纵向微渐变 [data-theme="blossom-dream"] .nav-item.active { background: linear-gradient(180deg, #D4849A 0%, #C4748A 100%); } // 深色激活项:用藕粉色,背景深灰底 + 粉色文字/图标(高阶玩法) [data-theme="blossom-dream"][data-mode="dark"] .nav-item.active { background: rgba(209, 158, 187, 0.15); color: #D19EBB; border: 1px solid rgba(209, 158, 187, 0.2); }