  /* ===== AI 助理悬浮按钮（每个界面常驻） ===== */
  .ai-fab { position: fixed; right: 14px; bottom: 76px; z-index: 50;
    width: 54px; height: 54px; border-radius: 17px;
    background: #fff; border: 1.5px solid #6FA8FF; box-shadow: 0 6px 20px rgba(47,107,255,.18);
    display: flex; align-items: center; justify-content: center;
    transition: transform .25s cubic-bezier(.4,.2,.2,1), right .25s cubic-bezier(.4,.2,.2,1), width .25s, opacity .2s;
    cursor: pointer; overflow: hidden;
  }
  .ai-fab .ic { width: 36px; height: 36px; border-radius: 50%; background: #fff; position: relative;
    display: flex; align-items: center; justify-content: center; }
  .ai-fab .ic::before { content:''; position:absolute; inset:0; border: 2px solid #3A86F0; border-radius: 50%; }
  /* 头部圆 */
  .ai-fab .hd { position: absolute; top: 5px; left: 50%; transform: translateX(-50%);
    width: 16px; height: 16px; border-radius: 50%; border: 2px solid #3A86F0; background: #fff; }
  /* 耳机 */
  .ai-fab .hp { position: absolute; left: 3px; top: 13px; width: 5px; height: 11px;
    border: 2px solid #3A86F0; border-right: none; border-radius: 4px 0 0 4px; }
  .ai-fab .hp.r { left: auto; right: 3px; border: 2px solid #3A86F0; border-left: none; border-radius: 0 4px 4px 0; }
  /* 收起态：贴右边缘，只露出右半圆 */
  .ai-fab.collapsed { right: -30px; width: 42px; }
  .ai-fab.collapsed .ic { transform: translateX(13px); }
  /* hover/触摸时展开 */
  .ai-fab:hover, .ai-fab:active, .ai-fab.expand { right: 14px; width: 54px; }
  .ai-fab.collapsed:hover .ic, .ai-fab.collapsed.expand .ic { transform: translateX(0); }

  /* ===== 底部 Tab 栏 ===== */
  .tabbar { position: absolute; left: 0; right: 0; bottom: 0; height: 64px; background: rgba(255,255,255,.96);
    backdrop-filter: blur(8px); border-top: 1px solid var(--border); display: flex; padding-bottom: 8px; }
  .tabbar .tb { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; color: var(--t2); font-size: 10px; cursor: pointer; }
  .tabbar .tb .ic { width: 24px; height: 24px; display:flex; align-items:center; justify-content:center; }
  .tabbar .tb .ic svg { width: 22px; height: 22px; }
  .tabbar .tb.on { color: var(--accent); font-weight: 600; }
