.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);
  }