/* OVERLAY */
    .ov {
      position: fixed;
      inset: 0;
      z-index: 999;
      display: flex;
      align-items: center;
      justify-content: center;
      background: rgba(1, 6, 15, .92);
      backdrop-filter: blur(14px);
    }

    .ov.hidden {
      display: none;
    }

    .ov-card {
      background: rgba(7, 15, 32, .98);
      border: 1px solid var(--sk);
      border-radius: 20px;
      padding: 32px 36px;
      max-width: 520px;
      width: 92%;
      box-shadow: 0 24px 64px rgba(0, 0, 0, .5);
    }

    .ov-title {
      font-family: 'Syne', sans-serif;
      font-size: 20px;
      font-weight: 800;
      color: var(--st);
      margin-bottom: 6px;
    }

    .ov-sub {
      font-size: 12.5px;
      color: var(--mu);
      margin-bottom: 20px;
      line-height: 1.5;
    }

    .ov-steps {
      display: grid;
      gap: 7px;
    }

    .ov-step {
      display: flex;
      align-items: center;
      gap: 11px;
      padding: 10px 14px;
      border-radius: 9px;
      background: rgba(5, 12, 28, .8);
      border: 1px solid var(--sk2);
      font-size: 12px;
      color: var(--mu);
      transition: all .25s;
    }

    .ov-step .si {
      font-size: 16px;
      flex-shrink: 0;
      width: 22px;
      text-align: center;
    }

    .ov-step.active {
      color: #93c5fd;
      border-color: rgba(59, 130, 246, .3);
      background: rgba(12, 28, 62, .9);
    }

    .ov-step.active .si {
      animation: spin .9s linear infinite;
      display: inline-block;
    }

    .ov-step.done {
      color: #4ade80;
      border-color: rgba(34, 197, 94, .18);
      background: rgba(5, 18, 14, .7);
    }

    @keyframes spin {
      to {
        transform: rotate(360deg);
      }
    }
