.univ-wrapper{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:32px;
  padding:16px 0 40px;
}

.univ-map{
  width:100%;
  max-width:760px;
  position:relative;
  cursor:default;
}

.univ-svg{
  width:100%;
  height:auto;
  display:block;
  overflow:visible;
}

.univ-bg-line{
  stroke:rgba(61,169,255,.10);
  stroke-width:1;
  stroke-linecap:round;
}

.univ-anim-line{
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-dasharray:210;
  stroke-dashoffset:210;
  transition:stroke-dashoffset .5s cubic-bezier(.4,0,.2,1);
}
.univ-anim-line.is-active{
  stroke-dashoffset:0;
}

.univ-center-circle{
  fill:rgba(10,13,20,.95);
  stroke:rgba(61,169,255,.30);
  stroke-width:1.5;
  transition:stroke .35s,stroke-width .35s;
}
.univ-center-ring--1{
  fill:none;
  stroke:rgba(61,169,255,.12);
  stroke-width:1;
  transition:stroke .35s;
}
.univ-center-ring--2{
  fill:none;
  stroke:rgba(61,169,255,.06);
  stroke-width:1;
  animation:univRingPulse 4s ease-in-out infinite;
}
.univ-center-ring--3{
  fill:none;
  stroke:rgba(61,169,255,.03);
  stroke-width:1;
  animation:univRingPulse 4s ease-in-out infinite 1.3s;
}
@keyframes univRingPulse{
  0%,100%{opacity:.4;transform-origin:380px 260px;transform:scale(1);}
  50%{opacity:1;transform-origin:380px 260px;transform:scale(1.04);}
}

.univ-center-text{
  fill:var(--accent);
  font-family:var(--font-display);
  font-weight:700;
  font-size:10px;
  letter-spacing:2px;
  text-transform:uppercase;
}
.univ-center-text--2{
  opacity:.6;
}

.univ-node{
  cursor:pointer;
  transition:filter .3s;
}
.univ-node-bg{
  fill:rgba(61,169,255,.04);
  opacity:0;
  transition:opacity .3s;
}
.univ-node.is-active .univ-node-bg{
  opacity:1;
}
.univ-node-circle{
  fill:rgba(10,13,20,.88);
  stroke:rgba(61,169,255,.18);
  stroke-width:1;
  transition:stroke .3s,stroke-width .3s,fill .3s;
}
.univ-node.is-active .univ-node-circle{
  stroke:var(--node-color,var(--accent));
  stroke-width:2;
  fill:rgba(10,13,20,.92);
}
.univ-node-icon{
  stroke:rgba(61,169,255,.55);
  transition:stroke .3s;
}
.univ-node.is-active .univ-node-icon{
  stroke:var(--node-color,var(--accent));
}

.univ-node-label{
  fill:rgba(255,255,255,.35);
  font-family:var(--font-body);
  font-size:8.5px;
  font-weight:700;
  letter-spacing:1.5px;
  text-transform:uppercase;
  transition:fill .3s;
}
.univ-node.is-active .univ-node-label{
  fill:var(--node-color,var(--accent));
}

.univ-node:hover .univ-node-circle{
  stroke:rgba(61,169,255,.40);
}
.univ-node:hover .univ-node-icon{
  stroke:rgba(61,169,255,.80);
}
.univ-node:hover .univ-node-label{
  fill:rgba(255,255,255,.65);
}

.univ-info{
  max-width:520px;
  text-align:center;
  padding:24px 32px;
  background:rgba(255,255,255,.025);
  border:1px solid rgba(61,169,255,.10);
  border-radius:18px;
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  transform:translateY(8px);
  transition:opacity .35s ease,transform .35s ease;
  pointer-events:none;
}
.univ-info.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}
.univ-info__title{
  font-family:var(--font-display);
  font-size:20px;
  font-weight:700;
  margin-bottom:10px;
  transition:color .3s;
}
.univ-info__desc{
  font-size:14px;
  color:var(--text-dim);
  line-height:1.7;
}

@media(max-width:700px){
  .univ-map{max-width:100%;}
  .univ-info{padding:18px 20px;}
  .univ-info__title{font-size:17px;}
}
