.op-rail{
  border-left:1px solid rgba(138,167,255,.18);
  background:rgba(5,11,24,.48);
  padding:12px 8px;
  position:sticky;
  top:0;
  height:100vh;
  overflow-y:auto;
  overflow-x:visible;
  min-width:68px;
  width:68px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  z-index:60;
}

.rail-btn{
  position:relative;
  width:64px;
  min-height:64px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:18px;
  border:1px solid rgba(138,167,255,.18);
  background:rgba(12,22,48,.86);
  color:#eef3ff;
  cursor:pointer;
  overflow:visible;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
}

.rail-btn:hover,
.rail-btn:focus-visible{
  border-color:rgba(138,167,255,.28);
}

.rail-btn-primary{
  background:rgba(18,36,78,.96);
}

.rail-sep{
  width:36px;
  height:1px;
  background:rgba(138,167,255,.18);
  margin:6px 0;
}

.rail-btn .rail-icon{
  width:22px;
  height:22px;
  stroke:currentColor;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  color:#eef3ff;
  opacity:.96;
}

.rail-btn .rail-tip{
  position:absolute;
  right:calc(100% + 12px);
  top:50%;
  transform:translateY(-50%) translateX(8px);
  white-space:nowrap;
  padding:9px 12px;
  border-radius:12px;
  border:1px solid rgba(138,167,255,.18);
  background:rgba(7,17,31,.96);
  color:#eef3ff;
  font-size:12px;
  font-weight:700;
  letter-spacing:.01em;
  box-shadow:0 18px 50px rgba(0,0,0,.28);
  opacity:0;
  pointer-events:none;
  transition:opacity .14s ease, transform .14s ease;
  z-index:30;
}

.rail-btn:hover .rail-tip,
.rail-btn:focus-visible .rail-tip{
  opacity:1;
  transform:translateY(-50%) translateX(0);
}

.rail-btn:hover .rail-icon,
.rail-btn:focus-visible .rail-icon{
  color:#6ea8ff;
}

.rail-btn-primary .rail-icon{
  color:#fff;
}

.rail-btn-primary:hover .rail-icon,
.rail-btn-primary:focus-visible .rail-icon{
  color:#fff;
}

.panel-rail-tooltip{
  position:fixed !important;
  left:0;
  top:0;
  transform:translate3d(0,0,0);
  background:rgba(7,16,31,.98);
  color:#eef3ff;
  border:1px solid rgba(138,167,255,.24);
  border-radius:10px;
  padding:6px 10px;
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(0,0,0,.28);
  pointer-events:none;
  opacity:0;
  visibility:hidden;
  transition:opacity .08s ease, visibility .08s ease;
  z-index:2147483647 !important;
}

.panel-rail-tooltip.is-visible{
  opacity:1;
  visibility:visible;
}

.rail-btn::before,
.rail-btn::after{
  content:none !important;
  display:none !important;
}

@media (max-width:980px){
  .op-rail{
    position:relative;
    top:auto;
    height:auto;
    width:auto;
    min-width:0;
    border-left:none;
    margin-top:18px;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:flex-start;
  }

  .rail-btn{
    width:56px;
    min-height:56px;
  }

  .rail-btn .rail-tip{
    display:none;
  }
}
