#ga-svg .ga-link-path {
      pointer-events: stroke;
      cursor: pointer;
      stroke-linecap: round;
      stroke-linejoin: round;
      transition: stroke .16s ease, stroke-width .16s ease, stroke-opacity .16s ease, filter .16s ease;
    }

    #ga-svg .ga-link-hit {
      pointer-events: stroke;
      cursor: pointer;
      fill: none !important;
      stroke: transparent !important;
      stroke-opacity: 0 !important;
    }

    #ga-svg .ga-link-path:hover {
      stroke-opacity: 1 !important;
      stroke-width: 1.95 !important;
      filter: drop-shadow(0 0 4px rgba(79, 127, 168, .22));
    }

    #ga-svg .ga-link-path.is-active {
      stroke: #f59e0b !important;
      stroke-width: 2.6 !important;
      stroke-opacity: 1 !important;
      filter: drop-shadow(0 0 10px rgba(245, 158, 11, .35));
    }

    #ga-svg-heads .ga-link-head {
      opacity: 1;
      filter: drop-shadow(0 0 2px rgba(255, 255, 255, .12));
    }

    #ganttOut .p6-sum-bar,
    #ganttOut .p6-act-bar,
    #ganttOut .p6-ms {
      z-index: 10 !important;
    }

    #ganttOut .p6-side-lbl {
      z-index: 12 !important;
    }

    #ganttOut .p6-row.ga-link-pred,
    #ganttOut .p6-row.ga-link-succ {
      position: relative;
    }

    #ganttOut .p6-row.ga-link-pred .p6-left,
    #ganttOut .p6-row.ga-link-pred .p6-right,
    #ganttOut .p6-row.ga-link-succ .p6-left,
    #ganttOut .p6-row.ga-link-succ .p6-right {
      box-shadow: inset 0 0 0 1px rgba(245, 158, 11, .16);
    }

    #ganttOut .p6-row.ga-link-pred::before,
    #ganttOut .p6-row.ga-link-succ::before {
      content: '';
      position: absolute;
      inset: 2px auto 2px 0;
      width: 3px;
      border-radius: 999px;
      z-index: 2;
    }

    #ganttOut .p6-row.ga-link-pred::before {
      background: linear-gradient(180deg, #22c55e, #16a34a);
    }

    #ganttOut .p6-row.ga-link-succ::before {
      background: linear-gradient(180deg, #f59e0b, #f97316);
    }

    #ganttOut .p6-row.ga-link-pred .p6-act-bar,
    #ganttOut .p6-row.ga-link-succ .p6-act-bar,
    #ganttOut .p6-row.ga-link-pred .p6-sum-bar,
    #ganttOut .p6-row.ga-link-succ .p6-sum-bar {
      filter: drop-shadow(0 0 10px rgba(245, 158, 11, .14));
    }

    #ga-link-badge {
      position: fixed;
      z-index: 2147483000;
      min-width: 280px;
      max-width: min(520px, calc(100vw - 24px));
      pointer-events: auto;
      transform: translate(-50%, -115%);
      background: linear-gradient(180deg, rgba(9, 20, 40, .98), rgba(5, 14, 30, .98));
      border: 1px solid rgba(245, 158, 11, .28);
      border-radius: 12px;
      box-shadow: 0 18px 44px rgba(0, 0, 0, .32), 0 0 0 1px rgba(255, 255, 255, .03) inset;
      padding: 10px 12px;
      backdrop-filter: blur(10px);
    }

    #ga-link-badge[hidden] {
      display: none !important;
    }

    #ga-link-badge .ga-link-rel {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      margin-bottom: 7px;
      font-size: 10px;
      font-weight: 800;
      letter-spacing: .6px;
      text-transform: uppercase;
      color: #fbbf24;
    }

    #ga-link-badge .ga-link-rel .ga-link-type {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 34px;
      height: 20px;
      padding: 0 8px;
      border-radius: 999px;
      background: rgba(245, 158, 11, .12);
      border: 1px solid rgba(245, 158, 11, .22);
      color: #fbbf24;
    }

    #ga-link-badge .ga-link-pair {
      display: grid;
      grid-template-columns: minmax(120px, 1fr) auto minmax(120px, 1fr);
      gap: 10px;
      align-items: start;
      font-size: 12px;
      line-height: 1.45;
    }

    #ga-link-badge .ga-link-name {
      display: block;
      width: 100%;
      appearance: none;
      border: 0;
      background: transparent;
      padding: 0;
      min-width: 0;
      color: #e5eefc;
      font: inherit;
      font-weight: 700;
      white-space: normal;
      overflow: visible;
      text-overflow: clip;
      overflow-wrap: anywhere;
      cursor: pointer;
      text-align: left;
    }

    #ga-link-badge .ga-link-name:hover,
    #ga-link-badge .ga-link-name:focus-visible {
      text-decoration: underline;
      outline: none;
      filter: brightness(1.2);
    }

    #ga-link-badge .ga-link-name.pred {
      color: #86efac;
    }

    #ga-link-badge .ga-link-name.succ {
      color: #fde68a;
      text-align: right;
    }

    #ga-link-badge .ga-link-arrow {
      color: #8eacc9;
      font-size: 12px;
      opacity: .9;
    }

    #ganttOut .p6-row.ga-link-jump .p6-left,
    #ganttOut .p6-row.ga-link-jump .p6-right {
      animation: gaLinkJumpPulse 1.55s ease both !important;
    }

    @keyframes gaLinkJumpPulse {
      0% {
        box-shadow: inset 0 0 0 0 rgba(245, 158, 11, 0), 0 0 0 rgba(245, 158, 11, 0)
      }

      24% {
        box-shadow: inset 0 0 0 2px rgba(245, 158, 11, .9), 0 0 18px rgba(245, 158, 11, .28)
      }

      100% {
        box-shadow: inset 0 0 0 0 rgba(245, 158, 11, 0), 0 0 0 rgba(245, 158, 11, 0)
      }
    }
