/* floating.css — 悬浮通知条 / 模式提示 / 进房审批条（源文件行 1215-1257，保持原顺序） */
  /* ===== 悬浮通知条 ===== */
  .floating-notice{
    position:fixed;top:12px;left:50%;transform:translateX(-50%) translateY(-80px);
    background:var(--surface);border:1px solid var(--border);
    border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;
    box-shadow:0 8px 30px rgba(0,0,0,.5);z-index:2600;
    max-width:90vw;min-width:280px;cursor:pointer;
    transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;
    opacity:0;
  }
  .floating-notice.show{transform:translateX(-50%) translateY(0);opacity:1}
  .floating-notice .fn-avatar{
    width:38px;height:38px;border-radius:50%;flex-shrink:0;
    display:flex;align-items:center;justify-content:center;
    font-size:14px;font-weight:700;color:#fff;
  }
  .floating-notice .fn-body{flex:1;min-width:0}
  .floating-notice .fn-top{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-dim)}
  .floating-notice .fn-name{font-size:13px;font-weight:700;color:var(--text)}
  .floating-notice .fn-preview{font-size:13px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}
  .floating-notice .fn-close{
    width:24px;height:24px;border-radius:50%;border:none;background:transparent;
    color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center;
    font-size:12px;flex-shrink:0;
  }
  .floating-notice .fn-close:hover{background:rgba(255,255,255,.1);color:var(--text)}

  /* 加入房间侧的模式提示 */
  .join-mode-hint{
    font-size:11px;color:var(--text-dim);text-align:center;
    padding:6px 10px;background:rgba(255,255,255,.04);border-radius:8px;
    margin:6px 0 0;line-height:1.4;
  }
  .join-mode-hint i{color:var(--primary);margin-right:4px}

  /* ===== 进房请求审批条（对方在其他房间时需同意） ===== */
  .wakeup-bar{
    position:fixed;top:12px;left:50%;transform:translateX(-50%) translateY(-90px);
    background:var(--surface);border:1px solid var(--border);
    border-radius:12px;padding:10px 14px;display:flex;align-items:center;gap:10px;
    box-shadow:0 8px 30px rgba(0,0,0,.55);z-index:2700;
    max-width:92vw;min-width:300px;
    transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;opacity:0;pointer-events:none;
