.nebo {
    --nb-r: 20px;
    --nb-w: 20px;
    --nb-h: 20px;

    /* Fine-tuned radiuses */
    --nb-cor1-rw: var(--nb-r);
    --nb-cor1-rh: var(--nb-r);
    --nb-cor2-rw: var(--nb-r);
    --nb-cor2-rh: var(--nb-r);
    --nb-curve-rw: var(--nb-r);
    --nb-curve-rh: var(--nb-r);

    --_nb-smooth: 98%;

    /* Curve positions list */
    --_nb-curve-pos-tl: 0 0;
    --_nb-curve-pos-tr: 100% 0;
    --_nb-curve-pos-bl: 0 100%;
    --_nb-curve-pos-br: 100% 100%;

    /* Setting default curve position (bottom right corner) */
    --_nb-curve-pos: var(--_nb-curve-pos-br);

    --_nb-mask-image:
      linear-gradient(to bottom, #000, #000),
      linear-gradient(to bottom, #000, #000),
      linear-gradient(to bottom, #000, #000),
      linear-gradient(to bottom, #000, #000),
      radial-gradient(closest-side at center, #000 var(--_nb-smooth), transparent 100%),
      radial-gradient(closest-side at center, #000 var(--_nb-smooth), transparent 100%),
      radial-gradient(farthest-side at var(--_nb-curve-pos), transparent var(--_nb-smooth), #000 100%);

    --_nb-mask-size:
      100% calc(100% - var(--nb-h) - var(--nb-cor1-rh) - var(--nb-curve-rh) - var(--nb-cor2-rh)),
      calc(100% - var(--nb-cor1-rw)) calc(100% - var(--nb-h) - var(--nb-curve-rh) - var(--nb-cor2-rh)),
      calc(100% - var(--nb-w) - var(--nb-curve-rw) - var(--nb-cor1-rw)) calc(100% - var(--nb-cor2-rh)),
      calc(100% - var(--nb-w) - var(--nb-cor1-rw) - var(--nb-curve-rw) - var(--nb-cor2-rw)) 100%,
      calc(var(--nb-cor1-rw) * 2) calc(var(--nb-cor1-rh) * 2),
      calc(var(--nb-cor2-rw) * 2) calc(var(--nb-cor2-rh) * 2),
      calc(var(--nb-curve-rw) + 0.5px) calc(var(--nb-curve-rh) + 0.5px);

    /* Masks positions list */
    --_nb-mask-position-tl:
      100% 100%,
      100% 100%,
      100% 100%,
      100% 100%,
      0 calc(var(--nb-h) + var(--nb-curve-rh) + var(--nb-cor2-rh)),
      calc(var(--nb-w) + var(--nb-cor1-rw) + var(--nb-curve-rw)) 0,
      calc(var(--nb-w) + var(--nb-cor1-rw)) calc(var(--nb-h) + var(--nb-cor2-rh));

    --_nb-mask-position-tr:
      0 100%,
      0 100%,
      0 100%,
      0 100%,
      100% calc(var(--nb-h) + var(--nb-curve-rh) + var(--nb-cor2-rh)),
      calc(100% - var(--nb-w) - var(--nb-curve-rw) - var(--nb-cor1-rw)) 0,
      calc(100% - var(--nb-w) - var(--nb-cor1-rw)) calc(var(--nb-h) + var(--nb-cor2-rh));

    --_nb-mask-position-bl:
      100% 0,
      100% 0,
      100% 0,
      100% 0,
      0 calc(100% - var(--nb-h) - var(--nb-curve-rh) - var(--nb-cor2-rh)),
      calc(var(--nb-w) + var(--nb-curve-rw) + var(--nb-cor1-rw)) 100%,
      calc(var(--nb-w) + var(--nb-cor1-rw)) calc(100% - var(--nb-h) - var(--nb-cor2-rh));

    --_nb-mask-position-br:
      0 0,
      0 0,
      0 0,
      0 0,
      100% calc(100% - var(--nb-h) - var(--nb-curve-rh) - var(--nb-cor2-rh)),
      calc(100% - var(--nb-w) - var(--nb-curve-rw) - var(--nb-cor1-rw)) 100%,
      calc(100% - var(--nb-w) - var(--nb-cor1-rw)) calc(100% - var(--nb-h) - var(--nb-cor2-rh));

    /* Setting default mask position (bottom right corner) */
    --_nb-mask-position: var(--_nb-mask-position-br);

    mask-image: var(--_nb-mask-image);
    mask-size: var(--_nb-mask-size);
    mask-position: var(--_nb-mask-position);
    mask-repeat: no-repeat;
  }

  .nebo--tl {
    --_nb-curve-pos: var(--_nb-curve-pos-tl);
    --_nb-mask-position: var(--_nb-mask-position-tl);
  }

  .nebo--tr {
    --_nb-curve-pos: var(--_nb-curve-pos-tr);
    --_nb-mask-position: var(--_nb-mask-position-tr);
  }

  .nebo--bl {
    --_nb-curve-pos: var(--_nb-curve-pos-bl);
    --_nb-mask-position: var(--_nb-mask-position-bl);
  }

  .nebo--br {
    --_nb-curve-pos: var(--_nb-curve-pos-br);
    --_nb-mask-position: var(--_nb-mask-position-br);
  }

  .nebo--trl {
    --_nb-curve-pos: var(--_nb-curve-pos-tr);
    --_nb-mask-position: var(--_nb-mask-position-tr);
    --nb-w: 100px;
    --nb-h: 10px;
  }