/* navbar.css - 悬浮按钮菜单栏样式 *//* 悬浮菜单按钮 */.floating-menu-btn {  position: fixed;  top: 20px;  right: 20px;  width: 50px;  height: 50px;  border-radius: 50%;  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);  color: white;  border: none;  cursor: pointer;  z-index: 1000;  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);  display: flex;  align-items: center;  justify-content: center;  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);  overflow: hidden;  outline: none;}.floating-menu-btn:hover {  transform: scale(1.1);  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.2);}.floating-menu-btn:active {  transform: scale(0.95);}.floating-menu-btn .menu-icon {  position: relative;  width: 20px;  height: 20px;  transition: transform 0.3s ease;}.floating-menu-btn.active .menu-icon {  transform: rotate(45deg);}.floating-menu-btn .menu-icon span {  position: absolute;  width: 100%;  height: 2px;  background: white;  border-radius: 1px;  transition: all 0.3s ease;  left: 0;}.floating-menu-btn .menu-icon span:nth-child(1) {  top: 4px;}.floating-menu-btn .menu-icon span:nth-child(2) {  top: 9px;  opacity: 1;}.floating-menu-btn .menu-icon span:nth-child(3) {  top: 14px;}.floating-menu-btn.active .menu-icon span:nth-child(1) {  transform: rotate(45deg);  top: 9px;}.floating-menu-btn.active .menu-icon span:nth-child(2) {  opacity: 0;  transform: translateX(-20px);}.floating-menu-btn.active .menu-icon span:nth-child(3) {  transform: rotate(-45deg);  top: 9px;}/* 菜单遮罩层 */.menu-overlay {  position: fixed;  top: 0;  left: 0;  right: 0;  bottom: 0;  background: rgba(0, 0, 0, 0.4);  z-index: 999;  opacity: 0;  visibility: hidden;  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);  backdrop-filter: blur(2px);}.menu-overlay.active {  opacity: 1;  visibility: visible;}/* 悬浮菜单内容 */.floating-menu {  position: fixed;  top: 85px;  right: 20px;  width: 260px;  background: white;  border-radius: 12px;  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);  z-index: 1000;  opacity: 0;  visibility: hidden;  transform: translateY(-10px) scale(0.95);  transform-origin: top right;  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);  overflow: hidden;}.floating-menu.active {  opacity: 1;  visibility: visible;  transform: translateY(0) scale(1);}.floating-menu::before {  content: '';  position: absolute;  top: -8px;  right: 20px;  width: 16px;  height: 16px;  background: white;  transform: rotate(45deg);  box-shadow: -4px -4px 10px rgba(0, 0, 0, 0.04);}.menu-header {  padding: 20px;  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);  color: white;  text-align: center;}.menu-header h3 {  margin: 0;  font-size: 1.2rem;  font-weight: 600;  line-height: 1.4;}.menu-header p {  margin: 5px 0 0 0;  font-size: 0.85rem;  opacity: 0.9;  line-height: 1.4;}.menu-body {  padding: 15px 0;}.menu-item {  display: block;  padding: 12px 20px;  color: #525f7f;  text-decoration: none;  font-weight: 500;  transition: all 0.3s ease;  position: relative;  border-left: 3px solid transparent;  font-size: 0.95rem;  line-height: 1.4;}.menu-item:hover {  background: rgba(94, 114, 228, 0.05);  color: #5e72e4;  padding-left: 25px;  border-left-color: #5e72e4;}.menu-item::before {  content: '';  position: absolute;  left: 20px;  top: 50%;  transform: translateY(-50%);  width: 6px;  height: 6px;  background: #5e72e4;  border-radius: 50%;  opacity: 0;  transition: all 0.3s ease;}.menu-item:hover::before {  opacity: 1;  left: 15px;}.menu-item.active {  background: rgba(94, 114, 228, 0.1);  color: #5e72e4;  border-left-color: #5e72e4;}.menu-divider {  height: 1px;  background: #e9ecef;  margin: 10px 20px;}/* 响应式调整 */@media (max-width: 768px) {  .floating-menu-btn {    top: 15px;    right: 15px;    width: 46px;    height: 46px;  }    .floating-menu {    top: 75px;    right: 15px;    width: calc(100vw - 30px);    max-width: 280px;  }    .floating-menu::before {    right: 15px;  }    .menu-header {    padding: 15px 20px;  }    .menu-header h3 {    font-size: 1.1rem;  }    .menu-header p {    font-size: 0.8rem;  }    .menu-item {    padding: 10px 20px;    font-size: 0.9rem;  }}/* 动画延迟（菜单项依次出现） */.menu-item {  opacity: 0;  transform: translateX(10px);  animation: menuItemFadeOut 0.3s ease forwards;}.floating-menu.active .menu-item {  animation: menuItemFadeIn 0.3s ease forwards;}.floating-menu.active .menu-item:nth-child(1) { animation-delay: 0.1s; }.floating-menu.active .menu-item:nth-child(2) { animation-delay: 0.15s; }.floating-menu.active .menu-item:nth-child(3) { animation-delay: 0.2s; }.floating-menu.active .menu-item:nth-child(4) { animation-delay: 0.25s; }.floating-menu.active .menu-item:nth-child(5) { animation-delay: 0.3s; }.floating-menu.active .menu-item:nth-child(6) { animation-delay: 0.35s; }@keyframes menuItemFadeIn {  from {    opacity: 0;    transform: translateX(10px);  }  to {    opacity: 1;    transform: translateX(0);  }}@keyframes menuItemFadeOut {  from {    opacity: 1;    transform: translateX(0);  }  to {    opacity: 0;    transform: translateX(10px);  }}