 /* 显眼的“工具集合”按钮 */
 @keyframes pulse {
   0% {
     box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.4), 0 6px 20px rgba(255, 105, 180, 0.6);
   }

   70% {
     box-shadow: 0 0 0 12px rgba(255, 255, 255, 0), 0 6px 20px rgba(255, 105, 180, 0.6);
   }

   100% {
     box-shadow: 0 0 0 0 rgba(255, 255, 255, 0), 0 6px 20px rgba(255, 105, 180, 0.6);
   }
 }

 .fab {
   position: fixed;
   top: 80px;
   right: 20px;
   padding: 11px 25px;
   background: linear-gradient(135deg, #ff7eb3, #ff758c, #ff9a6c);
   border-radius: 50px;
   font-size: 18px;
   font-weight: bold;
   color: white;
   cursor: pointer;
   z-index: 1000;
   box-shadow:
     0 6px 20px rgba(255, 105, 180, 0.6),
     0 0 0 4px rgba(255, 255, 255, 0.2);
   transition: all 0.3s ease;
   animation: pulse 2s infinite;
   -webkit-user-select: none;
   user-select: none;
 }

 .fab:hover {
   transform: scale(1.08);
   box-shadow:
     0 8px 25px rgba(255, 105, 180, 0.8),
     0 0 0 6px rgba(255, 255, 255, 0.3);
   animation: none;
 }

 .fab:active {
   transform: scale(0.98);
 }

 /* 菜单容器 */
 .tools-menu {
   position: fixed;
   top: 140px;
   right: 20px;
   width: 280px;
   max-height: 0;
   overflow: hidden;
   opacity: 0;
   visibility: hidden;
   transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
   z-index: 999;
 }

 .tools-menu.open {
   max-height: 500px;
   opacity: 1;
   visibility: visible;
 }

 .menu-panel {
   background: rgba(255, 255, 255, 0.12);
   -webkit-backdrop-filter: blur(5px);
   backdrop-filter: blur(5px);
   border-radius: 20px;
   padding: 20px;
   border: 1px solid rgba(0, 0, 0, 0.1);
 }

 .menu-title {
   font-size: 16px;
   font-weight: 700;
   margin-bottom: 14px;
   color: #111;
   text-align: center;
 }

 .tool-list {
   list-style: none;
 }

 .tool-item {
   display: flex;
   align-items: center;
   padding: 14px 18px;
   border-radius: 14px;
   background: rgba(255, 255, 255, 0.5);
   margin-bottom: 10px;
   cursor: pointer;
   color: #111;
   text-decoration: none;
   transition: all 0.2s ease;
 }

 .tool-item:last-child {
   margin-bottom: 0;
 }

 .tool-item:hover {
   background: rgba(255, 255, 255, 0.22);
   transform: translateX(4px);
 }

 .tool-icon {
   margin-right: 14px;
   font-size: 20px;
   width: 28px;
   text-align: center;
 }

 .loading,
 .error {
   padding: 14px;
   text-align: center;
   color: rgba(255, 255, 255, 0.8);
   font-size: 14px;
 }

 .error {
   color: #ff9e9e;
 }