/* 统一悬浮导航组件 */
.fn-btn{
  position:fixed;
  z-index:99999;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:8px 14px;
  background:rgba(249,246,240,0.92);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  border:1px solid rgba(201,168,124,0.55);
  border-radius:10px;
  box-shadow:0 4px 16px rgba(26,26,26,0.12);
  font-size:14px;
  font-weight:600;
  color:#2E2E2E;
  letter-spacing:1px;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  touch-action:manipulation;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  transition:box-shadow .2s ease,background .2s ease;
}
.fn-btn:hover{ background:rgba(249,246,240,1); box-shadow:0 6px 20px rgba(26,26,26,0.18); }
.fn-btn .fn-arrow{ font-size:12px; opacity:.7; }
.fn-btn.fn-dragging{ cursor:grabbing; box-shadow:0 8px 24px rgba(26,26,26,0.22); }

.fn-menu{
  position:fixed;
  z-index:99998;
  min-width:180px;
  background:rgba(249,246,240,0.97);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(201,168,124,0.35);
  border-radius:12px;
  box-shadow:0 12px 36px rgba(26,26,26,0.18);
  padding:8px 0;
  list-style:none;
  margin:0;
  display:none;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
}
.fn-menu.open{ display:block; }
.fn-menu li{ position:relative; }
.fn-menu li > a{
  display:block;
  padding:10px 18px;
  font-size:14px;
  font-weight:500;
  color:#2E2E2E;
  text-decoration:none;
  letter-spacing:.5px;
  white-space:nowrap;
}
.fn-menu li > a:hover{ background:rgba(232,213,181,0.6); color:#1A1A1A; }
.fn-menu .fn-has-sub > a::after{ content:' ▾'; font-size:12px; opacity:.6; }
.fn-menu .fn-sub{
  display:none;
  list-style:none;
  margin:0;
  padding:0 0 0 14px;
}
.fn-menu .fn-has-sub.fn-open > .fn-sub{ display:block; }
.fn-menu .fn-sub a{ font-size:13px; color:#6B6B6B; padding:8px 18px; }

/* PC 端：默认固定右上角 */
@media (min-width:769px){
  .fn-btn{ top:16px; right:24px; }
}
/* 移动端：默认贴右中，可拖动 */
@media (max-width:768px){
  .fn-btn{ right:12px; top:50%; transform:translateY(-50%); }
}
/* 拖动后清除默认定位与 transform */
.fn-btn.fn-dragged{ transform:none; }