/* VSEOK.PRO identity: one controlled center, connected operating nodes. */
.vseok-logo-mark {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
  color: #fff;
  contain: paint;
}

.vseok-logo-network {
  transform-box: view-box;
  transform-origin: 32px 32px;
}

.vseok-logo-links {
  fill: none !important;
  stroke: #9de8ff !important;
  stroke-width: 1.15 !important;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .48;
}

.vseok-logo-nodes circle {
  stroke: rgba(255, 255, 255, .72) !important;
  stroke-width: .55 !important;
}

.vseok-logo-nodes-outer circle {
  fill: #c7f7ff !important;
}

.vseok-logo-nodes-inner circle {
  fill: #80e5ff !important;
}

.vseok-logo-signal {
  fill: #fff !important;
  stroke: none !important;
  opacity: 0;
  transform-box: fill-box;
  transform-origin: center;
  animation: vseok-logo-signal 4.8s ease-in-out infinite;
}

.vseok-logo-signal-b { animation-delay: 1.6s; }
.vseok-logo-signal-c { animation-delay: 3.2s; }

.vseok-logo-core-halo {
  fill: rgba(96, 224, 255, .22) !important;
  stroke: rgba(184, 244, 255, .58) !important;
  stroke-width: .75 !important;
  transform-box: fill-box;
  transform-origin: center;
  animation: vseok-logo-breathe 3.8s cubic-bezier(.4, 0, .2, 1) infinite;
}

.vseok-logo-core {
  fill: #eefcff !important;
  stroke: rgba(255, 255, 255, .92) !important;
  stroke-width: .7 !important;
}

.vseok-logo-core-text {
  fill: #073b70 !important;
  stroke: none !important;
  font-family: "Segoe UI Variable Display", "Segoe UI", Arial, sans-serif;
  font-size: 11.6px;
  font-weight: 850;
  letter-spacing: -.7px;
}

.public-brand-mark,
.sidebar-brand-mark,
.mobile-topbar-brand {
  overflow: hidden;
}

.public-brand-mark .vseok-logo-mark,
.sidebar-brand-mark .vseok-logo-mark,
.mobile-topbar-brand .vseok-logo-mark {
  width: 100%;
  height: 100%;
}

.public-app:has(.vseok-landing-v2) .public-brand-mark .vseok-logo-mark,
.public-app:has(.vseok-connect-page) .public-brand-mark .vseok-logo-mark,
.v2-footer .public-brand-mark .vseok-logo-mark {
  width: 31px;
  height: 31px;
}

.authenticated-app .sidebar-brand-mark .vseok-logo-mark {
  width: 30px;
  height: 30px;
}

.authenticated-app .mobile-topbar-brand .vseok-logo-mark {
  width: 26px;
  height: 26px;
}

@keyframes vseok-logo-signal {
  0%, 66%, 100% { opacity: 0; transform: scale(.55); }
  74% { opacity: .95; transform: scale(1.12); }
  84% { opacity: 0; transform: scale(1.75); }
}

@keyframes vseok-logo-breathe {
  0%, 100% { opacity: .58; transform: scale(.93); }
  50% { opacity: .96; transform: scale(1.08); }
}

@media (prefers-reduced-motion: reduce) {
  .vseok-logo-signal,
  .vseok-logo-core-halo {
    animation: none !important;
  }
}

@media (max-width: 620px) {
  .public-app:has(.vseok-landing-v2) .public-brand-mark .vseok-logo-mark,
  .public-app:has(.vseok-connect-page) .public-brand-mark .vseok-logo-mark {
    width: 28px;
    height: 28px;
  }
}
