.fgl-social-dock{
  --social-size:56px;
  --social-accent:#2aabee;
  position:fixed;
  left:58px;
  top:50%;
  z-index:92;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:12px;
  transform:translateY(-50%);
  pointer-events:none;
  animation:fgl-social-dock-in .85s cubic-bezier(.16,1,.3,1) .3s both;
}
.fgl-social-dock-line{
  width:1px;
  height:30px;
  display:block;
  background:linear-gradient(180deg,transparent,rgba(112,226,255,.48));
  opacity:.62;
}
.fgl-social-dock-line-bottom{transform:rotate(180deg)}
.fgl-social-dock-list{display:grid;gap:10px}
.fgl-social-dock-link{
  position:relative;
  width:var(--social-size);
  height:var(--social-size);
  display:flex;
  align-items:center;
  color:#fff;
  pointer-events:auto;
  outline:none;
  isolation:isolate;
}
.fgl-social-dock-icon{
  position:relative;
  z-index:3;
  width:var(--social-size);
  height:var(--social-size);
  flex:0 0 var(--social-size);
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:
    radial-gradient(circle at 30% 22%,rgba(255,255,255,.22),transparent 30%),
    linear-gradient(145deg,rgba(36,178,241,.96),rgba(22,128,205,.95));
  box-shadow:
    0 16px 42px rgba(0,0,0,.34),
    0 0 0 6px rgba(42,171,238,.07),
    0 0 34px rgba(42,171,238,.22),
    inset 0 1px 0 rgba(255,255,255,.28);
  transition:transform .32s cubic-bezier(.16,1,.3,1),box-shadow .32s ease,border-color .32s ease;
  overflow:hidden;
}
.fgl-social-dock-icon::after{
  content:"";
  position:absolute;
  inset:-35%;
  background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.22) 46%,transparent 60%);
  transform:translateX(-85%) rotate(12deg);
  transition:transform .6s cubic-bezier(.16,1,.3,1);
}
.fgl-social-dock-icon svg{width:26px;height:26px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));transform:translate(-1px,1px)}
.fgl-social-dock-orbit{
  position:absolute;
  z-index:1;
  inset:-7px;
  border-radius:999px;
  border:1px solid rgba(76,207,255,.26);
  box-shadow:0 0 22px rgba(42,171,238,.12);
  animation:fgl-social-orbit-pulse 2.8s ease-in-out infinite;
}
.fgl-social-dock-orbit::before{
  content:"";
  position:absolute;
  width:5px;
  height:5px;
  top:2px;
  left:50%;
  border-radius:50%;
  background:#aeeeff;
  box-shadow:0 0 10px #55d4ff;
  transform:translateX(-50%);
}
.fgl-social-dock-copy{
  position:absolute;
  z-index:2;
  left:calc(var(--social-size) - 8px);
  top:50%;
  min-width:176px;
  padding:10px 15px 10px 22px;
  border:1px solid rgba(88,208,255,.2);
  border-left:0;
  border-radius:0 16px 16px 0;
  background:linear-gradient(90deg,rgba(9,18,29,.96),rgba(9,13,21,.92));
  box-shadow:18px 18px 50px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.06);
  backdrop-filter:blur(18px);
  opacity:0;
  transform:translate(-10px,-50%) scaleX(.9);
  transform-origin:left center;
  transition:opacity .25s ease,transform .35s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
  white-space:nowrap;
}
.fgl-social-dock-copy strong{display:block;font-size:12px;line-height:1.15;letter-spacing:.01em;color:#f7fbff}
.fgl-social-dock-copy small{display:block;margin-top:4px;font-size:10px;line-height:1.2;color:#7fdcff;letter-spacing:.025em}
.fgl-social-dock-link:hover .fgl-social-dock-icon,
.fgl-social-dock-link:focus-visible .fgl-social-dock-icon{
  transform:translateX(3px) scale(1.07);
  border-color:rgba(255,255,255,.32);
  box-shadow:0 18px 48px rgba(0,0,0,.36),0 0 0 7px rgba(42,171,238,.09),0 0 42px rgba(42,171,238,.42),inset 0 1px 0 rgba(255,255,255,.3);
}
.fgl-social-dock-link:hover .fgl-social-dock-icon::after,
.fgl-social-dock-link:focus-visible .fgl-social-dock-icon::after{transform:translateX(85%) rotate(12deg)}
.fgl-social-dock-link:hover .fgl-social-dock-copy,
.fgl-social-dock-link:focus-visible .fgl-social-dock-copy{opacity:1;transform:translate(0,-50%) scaleX(1)}
.fgl-social-dock-link:focus-visible{outline:none}
.fgl-social-dock-link:focus-visible .fgl-social-dock-icon{outline:2px solid rgba(151,231,255,.9);outline-offset:4px}
@keyframes fgl-social-dock-in{
  from{opacity:0;transform:translate(-20px,-50%)}
  to{opacity:1;transform:translate(0,-50%)}
}
@keyframes fgl-social-orbit-pulse{
  0%,100%{transform:scale(.96);opacity:.46}
  50%{transform:scale(1.08);opacity:1}
}
@media(max-width:1180px){
  .fgl-social-dock{left:18px}
  .fgl-social-dock-copy{min-width:164px}
}
@media(max-width:760px){
  .fgl-social-dock{
    --social-size:48px;
    left:12px;
    top:auto;
    bottom:calc(20px + env(safe-area-inset-bottom));
    transform:none;
    gap:0;
    animation:fgl-social-dock-in-mobile .7s cubic-bezier(.16,1,.3,1) .35s both;
  }
  .fgl-social-dock-line{display:none}
  .fgl-social-dock-icon svg{width:22px;height:22px}
  .fgl-social-dock-copy{display:none}
  .fgl-social-dock-orbit{inset:-5px}
}
@keyframes fgl-social-dock-in-mobile{
  from{opacity:0;transform:translateY(18px) scale(.92)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@media(prefers-reduced-motion:reduce){
  .fgl-social-dock,.fgl-social-dock-orbit{animation:none!important}
  .fgl-social-dock-icon,.fgl-social-dock-icon::after,.fgl-social-dock-copy{transition:none!important}
}
